Avoiding Blackouts with OpenWRT

I recently encountered a blackout issue with a popular baseball streaming subscription: I could not watch my city’s team on it, supposedly because I’m supposed to do so on their affiliated regional sports network. The issue with that policy, however, is that their regional sports network was only available on one IPTV provider, and it wasn’t the one I have (YouTube TV). And it certainly wasn’t a good enough reason for me to make the switch. Instead, I tried enabling a VPN connection on my computer and fudging its location to another city. Surprisingly, that’s all it took to unblock...

Continue Reading →


Compiler Enforced Best Practices

The other day, I was working on a project in ASP.NET MVC Core. I added a field to a model I was trying to pass into a view, which got created by a CreateModel function. The create factory function would take a lot of arguments, then use them to decide which subclass to return. Before my edits, this function had grown to take 16 parameters. This obviously is not great, but this was for a quick bugfix and I hadn’t allocated enough time to do a refactor of my controller, so I figured: what’s one more parameter? I was able...

Continue Reading →


The Derek Zoolander School for College Kids Who Can't Database Good

One of the most useful classes I took during my time here at Penn State was CMPSC 431W: Database Management Systems. Amazingly, this is one of two classes offered by the CS department here on databases, and it is not required to graduate. The only required class isn’t a database class, but a Java programming class that teaches students about basic SQL since one of your projects uses JDBC to connect to an extremely rudimentary database and requires basic knowledge of implicit joins and creating tables with a GUI. So, for a while, I thought databases were easy and once...

Continue Reading →


My 2016 in Music

Last year, my friend Dylan made a Facebook post showcasing what he thought were the best albums to come out in/that he discovered in 2015. I thought that was a cool idea, so here are my favorite new (or new to me) albums from 2016. If you want more info on the album, hover your mouse over the album’s tile (albums that came out prior to 2016 have their year indicated). Radiohead A Moon Shaped Pool Childish Gambino Awaken, My Love! Animal Collective Painting With A Tribe Called Quest We Got It from Here... Thank You 4 Your Service Kanye...

Continue Reading →


Solving an Android CORS Bug

In the course of developing a hybrid app with the Ionic Framework, I ran into a strange bug: the app would display data grabbed from a JSON API backend perfectly on my desktop web browser, through the ionic serve --lab command, and on the iOS Simulator. But for some strange reason, the space on the Android app where the data was supposed to go was blank on the Android emulator. After trying a number of fixes on the client side and digging through StackOverflow threads, I finally figured it out: the error was not with the client side code on...

Continue Reading →


Removing the Title Bar from iTerm2

I have recently been trying to learn Vim, and have therefore spent a great deal of time in the OS X terminal app. I soon made the upgrade to iTerm2, but started getting jealous whenever I saw some of the crazy minimalistic terminal pane setups on /r/unixporn. So I wondered: was there a way to remove the shameful title bar from iTerm2 on OS X like there was on Linux/BSD distros? The answer is yes. It’s a bit involved, but yes. It took me a bit of Googling to figure it out though, so here’s a guide. Firstly, you’ll need...

Continue Reading →


AutoTame for Bukkit

I’ve recently been crawling Bukkit’s “Plugin Request” forum to find some plugin ideas and sharpen up my Java skills, and yesterday, I made one. It’s a simple plugin called AutoTame, and it was suggested by user roumen4. Here’s the basic idea for the plugin: whenever a user spawns a wolf with a spawn-egg, the plugin will automatically tame the wolf and set its owner as the player who used the spawn egg. Here we have an open patch of area: And when we spawn a wolf, he is automatically tamed to the closest player: We can change his collar color...

Continue Reading →


This is my blog...

There will be some stuff here soon… maybe.

Continue Reading →