Category: Thoughts
-
What is good API design?
Some say that API design is one of the hardest things in programming. A few even go as far as to say you should have at least 10 years of experience to even attempt it. While I think this process can be sped up almost an order of magnitude by good mentorship, at one time or another…
-
Functional Programming is Dead, Long Live Expression-Oriented Programming
It’s funny how over time the meaning of a technical word will converge to something halfway between what the experts intended and some fuzzy notion consisting of the most easily graspable components of that idea. In this inevitable process an idea is stripped of all of its flavor and is reduced to a set of…
-
The Fresh Prince of Bell Labs
Inspired by: In Petoskey, Michigan born and raisedTinkering with gadgets I spent most of my days Chillin out, maxin, relaxing with Boole,And working on my master’s outside of the school When a couple of Nazis who were up to no good,Started making trouble in my neighborhood I got one Alfred Nobel and Uncle Sam had…
-
Program Configuration Space Complexity
Taking the Coursera Probabilistic Graphical Models course has had me thinking a lot about complexity. Lately, program state complexity in the context of testing in particular. How many discrete tests would it take to ensure every combination of inputs is correct? Let’s do some back of the napkin math and see what we come up with. Please…
-
What Microsoft MVP means to me
It wasn’t long after college that I found myself blogging about the technology I was using on a regular basis. I have pretty good writing skills and am damn good with the code so soon after I was easily breaking 10K hits per post. Having a platform to share my ideas and knowledge was exhilarating…
-
Musicians, Mechanics, and Mathematicians
Thank you all for your comments on my previous post, I appreciate the time you all took in sharing your perspectives very much. Many of you have brought up great analogies to demonstrate how you feel and in reading these responses I realized I must not have been very clear. There are some musical geniuses who…
-
Why do most programmers work so hard at pretending that they’re not doing math?
In the early days programming was considered a subdiscipline of mathematics. In fact, the very first person to write an algorithm was renowned as a mathematical genius. However, somewhere along the way we forgot. We began to think of ourselves as something different, a profession not beholden to rigor or deep understanding of the models we create. It’s easy to see…
-
2011 In Retrospect: A Year of Writing F# Professionally
For the past year I’ve been working almost entirely in F# and have found the experience to be everything I hoped it to be and better. In just six months I was able to bring a research project to fruition which has since made our company millions of dollars. F#’s terseness made algorithms a joy…
-
The Repeating History of Closed Platforms
I was one of the many that loved the iPhone AppStore platform. Consumers marveled at how we could easily buy any application we might want, vetted with a nice rating system. Developers were shocked at the ease with which it seemed possible to monetize on simple applications. The only downside seemed to be the occasional political or ambiguous AppStore…
-
Code Bubbles and the Keyboard
I was catching up on reading one of my favorite blogs today, Lambda the Ultimate, and was not disappointed in the least. At the top of the list sat Code Bubbles, a whole new take on the IDE. Code Bubbles shocked me because it’s visually manifest much of what I had in mind when I wrote almost two years…