Quick Thoughts on Go

July 26, 2015

So over the summer I've been interning at RetailMeNot in Austin, TX, working on a (hopefully) soon-to-be open-sourced project written primarily in Go, Google’s pet language. In sum, I find Go to be a pragmatic language: one designed for getting things done quickly, but not a radical language that pushes the envelope of language design.

Read More

A Look Back on the First Semester

February 1, 2015

For someone who already has several years experience with programming, through open-source, side-projects, and commercial work, what can they gain from a university computer science course?

Read More

Initial Impressions of C for Programmers (Deitel)

December 3, 2014

For Cyber Monday I purchased C for Programmers with an Introduction to C11, by Paul and Harvey Deitel. My overall impressions of this book so far are rather lukewarm, but writing a book “for programmers” is difficult because it’s hard to define what a “programmer” is. I think K&R C would’ve been closer to what I wanted, but it’s an old—though most likely still quite relevant—book by now.

Read More

Refreshed Design

September 13, 2014

I’ve updated the design of this blog, switching from Jekyll to Hakyll in the process.

I also took the chance to use a free domain from Namecheap,, and restructure this blog to be hosted under /blog instead of at the root of the site.

Read More

Software Patents for the Rest of Us

December 7, 2013

Say you’re an aspiring writer. You’ve toiled endless hours working on your book, telling the tale of a lieutenant and his betrayal of his general, picking each word carefully, giving your sentences that twist, perfectly capturing the image of the spring vista outside your window, the backdrop of your epic. You publish your book and immediately make it onto the New York Times bestseller list. Time to sit back and relax…

One day, you open your mail and see a legal notice1. Another writer, someone named William Shakespeare, says he has a patent on stories about lieutenants who betray their masters. That’s ridiculous, you say. Plots are ideas and that Shakespeare can’t patent them!2

What are your options?

Read More

Parsing & Implicit Parsing in SymPy

September 15, 2013

This is a work-in-progress and will be periodically revised to reflect changes in SymPy. Last updated: 2014-6-21

One of the annoyances of entering mathematics on the computer is the rigidity of the format the computer generally expects. In SymPy, sympify() won’t accept any of the following, though a human would:

  • 2x
  • 5 sin x
  • 6(9)
  • sin x^3 + y
  • ln sin x
  • sin^2 x
  • xyz

SymPy’s implicit parsing aims to fix this. Implicit multiplication takes care of statements like 2x, symbol splitting allows for xyz, implicit application enables sin x, and function exponentiation allows sin^2 x.

Read More