Life at Dartmouth - Data Analysis

I realize that this blog isn't the standard one, where someone would write about how they were feeling, or reblog pictures of cute dogs (that's what I have Instagram for!). So despite the fact that this post is nearly entirely data driven and still relied on CS, it's slightly out of the norm in that it's a look at how I interact with the Dartmouth campus.

Read More

Adding Lightbox Support to Anchor

Previously, the images weren't ideal on the blog. While they were typically large enough if viewing it on a desktop computer, it didn't work great on phones, because you couldn't expand the images in any way. For Dog-a-Day, in viewing previous images I used a lightbox solution called FancyBox. They recently released their 3rd version which was mobile first, so I figured I'd add it to the blog.

Read More

Adding Captcha to Anchor

I was getting a lot of spam messages on this blog, so I decided it was long overdue to add a captcha to the form submission. Which means a fun dive into the completely undocumented world of Anchor CMS!

Read More

Venmo Deeplinking

I tried to deeplink into the Venmo app, but couldn't find a lot of public documentation on it. So I cracked the main app, and found all of the deeplinking strings, which are listed below:

Read More

Dock Spacers

Just a small thing that I found out about today and wanted to write down somewhere. Using Terminal, you can create blank spacers for the macOS dock. Simply run defaults write com.apple.dock persistent-apps -array-add '{"tile-type"="spacer-tile";}' for as many spaces as you want, and then restart the Dock with killall Dock. You can rearrange the spaces wherever you want, and can remove them just like any normal dock item.

Read More

Message Indicator

I find that I commonly open chats in Messages on my computer to make the 'unread' indicator go away. However, if there's any delay in answering them back, it's quite common that I'll simply forget to respond to the text for a while. I've already addressed this on my iPhone using a Cydia tweak (post coming eventually) that adds a gray indicator to chats if I wasn't the last person to respond. So I figured out how to port it to macOS.

Read More

Markov Messages

I was talking to a friend from college about automatically generating flavortext and death messages for a game, to keep it unique. We were talking through markov chains (here's a great resource to read up on them), and he mentioned the possibility of using your iMessage chat database from your phone.

Read More

Reading WSJ Articles

The Wall Street Journal has a bunch of super insightful articles. However, nearly all of the articles are behind a paywall. You used to be able to just google the URL, and click the top link but that’s since stopped working. This worked based on the custom referer: Google was an approved referer to bypass the paywall. There are, however, other approved referers even though Google is no longer. I know the 'Drudge Report' works, though there may be others. The easiest way I’ve found to automatically do this is to add the ‘Referer Control’ extension for Chrome, or similar solutions for other browsers.

Read More

Automatically Changing Wallpaper

A few days ago, I stumbled upon some Firewatch wallpapers for the different times of day, and wanted to have the wallpaper on my mac automatically switch through them. However, all of the solutions I found for this were overly complex, or just plain didn't work on macOS Sierra. So, here's my solution that doesn't require installing anything and is pretty easy to set up.

Read More

OnceMore

OnceMore is another Cydia tweak that I developed, and probably the one that I use and benefit from the most. It's incredibly simple: it just adds a 'Restart' button when a timer goes off. While this is a pretty minor quality of life improvement, I do a ton of things that I try and do in a set time. Whether it be workout reps, a constrained nap, or a timer for doing laundry, there are countless times when I wish I could just easily click a button and the timer would reset without having to go in, turn off the current one, and set up a new one. Additionally, if the time isn't a set minute, I would have to retrigger it with Siri.

Read More