Shiny New Octopress Blog

May 06, 2014

The below is a post I originally posted on my first (failed) blog. While that blog didn’t work out quite right, I hope to keep many of the same ideals at heart when continuing (and hopefully maintaining) this blog, so I decided I may as well repost it here.


It is currently 2:14am on Wednesday, October 16, 2013. “Today,” (well really yesterday) at a ScottyLabs meeting (a student organization at Carnegie Mellon (CMU) that lies at the nexus of design and technology), my interest in the group showed through enough to the point where they entrusted a few low-level permissions to help out developing the various projects they’ve been working on right now, namely [email protected]. As happens all too often, I am realizing just how much I have to learn: about technology, about college, about people, about everything.

But looking around (maybe I haven’t looked very far), I don’t see one central place where I can go to get help with all of this stuff, or at least the tech stuff. Obviously I can ask people if I really need it. The support structures are supposedly in place. In my experience, though, when you approach people for help on general topics, you get tossed back to the Internet as they say, “Google it.” While things certainly can be found on the Internet, for someone who just wants to be able to read about the answer without being overwhelmed by the details, it seems like there’s no good place to start.

What I Want

In this spirit of aggregating pieces of knowledge on the interwebs, I’d like to document my process of learning and researching. Here are a few of my goals:

Personal Reference

I want something to look back on if I can’t remember something. Say I’m wondering why in the world I even started this thing: I could look back at this post. It’s one thing to be able to find a site you had visited in your history, but it’s another to be able to read about exactly what you were using that site to do. Documentation is vastly underappreciated.


Everyone says it’s good to think about the way you think. I spent a lot of time in high school contemplating the effects of information overload due to the Internet, and I’m sure that as I start down this process, it’s only going to get deeper. In writing down my thoughts like this, I’d like to get some sort of structure to my learning so that I can keep the floodgates at bay.

Public Roadmap

If there are 300+ million people in America and 7+ billion people around the world, then statistically, there has to be someone just like me who’d like to have such a road map. If this is you, it’s my hope that these ramblings are useful.

Where to Next

So it’s getting pretty late and I’d like to get back to what I was learning about: MVC. (EDIT: It’s still late, and it’s even worse this time because I have exams this week… A+ Jake…) So hopefully, I’ll have time to keep developing this, whatever “this” is. I’ve been told that “There are only two hard things in Computer Science: cache invalidation, naming things, and off-by-one errors.” I have no idea what cache invalidation is (yet!), but the “naming things” bit is spot on.

So here goes nothing… I’m sure that in the very least it’ll be fun to look over these entries 5, 10, 20 years from now and think about how quickly things changed.

Read More

Concurrent Programming in ML: A Race

I want to call attention to what I think is a race condition in one of the code listings in the book “Concurrent Programming in ML”. The problem is that some of the data isn’t protected by a lock, which can lead to a stale read and incorrect behavior. I trace the bad behavior, and propose a fix. Continue reading

Prefer .then() over .catch()

Published on May 31, 2018

Union Types in Flow & Reason

Published on April 19, 2018