I've had a task since February of 2017 in Asana to see if I could figure out how to rename desktops. Desktops are what appear when you press "F3" at the top, which have the default names "Desktop 1", "Desktop 2", etc. I knew it was possible because there was an app called "TotalSpaces" that does this (among many other things). However, I wasn't a huge fan of how it accomplished it, and it also costs $20. I knew that I would have to go the SIMBL route (just like for my modifications Messages with Message Indicator), but my attempts to find the right class to hook into repetitively failed. Luckily, I finally stumbled onto a pretty convoluted method of doing it, and built it in a day or so!
I've played a fair amount of Settlers of Catan in my day, and I find that a lot of the skill in the game comes from the initial placements. Almost two years ago, I built a rough setup that randomized tiles and numbers. My plan was to screenshot the boards, and make posts on Reddit to discuss the best positions to start a discussion and improve my skills. Then, I made a post on Reddit.
For some reason, my version of Anchor completely bugs out when you start increasing the size of the text input beyond a certain point. This was making it really hard to write longer articles, so I tracked down the fix.
Back about a year ago, I made a blog post about DartDine, my final project for my Human-Computer Interaction class. It was an idea to remake the Dartmouth nutrition website which at the time (and I think still does) have an absolutely atrocious mobile interface. As part of it, I wanted to properly connect it to the API behind the site. This is that API.
I was working on a project in extracting typing from hand movement in 3D space, and needed an API for generating sentences. I found a few ones online, but most of them weren't high enough quality sentences, or weren't free. So I decided to make my own, sourcing it from random book files. Then, as a proof of concept, I figured I'd make a short game out of it. The game that I settled on pulls a random quote from one of the 7 Harry Potter books, and you have to decide which book it belongs to.
I just released my most recent tweak, Mercury, which you can check out on my Cydia repo or just look at the source on GitHub. It's an iOS version of Message Indicator for macOS that I released back in May. I've been sitting on it for over a year, and finally carved out a weekend to flesh it out a bit for release.
When I got to college a friend introduced me to a drinking game called "Ride the Bus." The rules for the full game are here, but I was interested in the final section. For that section, there are four questions. For the first card, is it red or black? For the second card, is it higher or lower than the first card? For the third card, is it in between (inclusive) or outside of the first two cards? And for the fourth card, what suit is it? You continue pulling cards until you get all four in a row right. If you get any one wrong you drink, and start over.
Google Groups are one of the products that has languished in 2014 in terms of its feature set and visual design. This means that many useful abilities like mass-deleting topics and exporting Google Groups aren't implemented. For exportation, some people have come up with clever workarounds by crawling the website. In the past I've used gggd, a fantastic Python command-line script to download full groups that I highly recommend. However, I couldn't find anything to mass delete topics...so I made one.
As many of my posts on this blog reference, my phone is jailbroken. Activator, a popular tweak allows you to link activating events (such as unlocking your phone, entering a wifi network, or pressing a sequence of buttons) to various listeners (such as setting the brightness, adjusting the volume, sending a text, or triggering Siri). However, I couldn't figure out a way of silently creating a timer. So I created TimerCL.
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.