Clojure Cup

Incase you somehow missed the news, Clojurecup is an anual community wide hackathon for Clojure developers which occured for the first time this year. Sponsored by Deveo, AuthenticJobs, BrowserStack and others the Clojure Cup is a 48 hour sprint to the finish to build a webapp targeted to the “average internet user”.

Of Pseudotypes

Pseudotypes are a structure which have been on my mind a lot recently, mainly due to reflecting on the code which I have written over the last eight months as I’ve been mastering Clojure. It seems that a common design pattern in Clojure, and one which the community supports is to create what I’ve referred to more times than I can count on IRC as “structured maps”, maps with keys defined by the programmer, and then manipulate these maps as if they were objects in the same manner as Python and other dynamic languages which provide a “maps as objects” structure.

Of Pseudotypes And Typechecking

Typechecking at runtime is easy, and that’s what I presented last time with my post and this library. However as I noted at length, the value of a type system is not in its runtime correctness, it is in the power of such systems to indicate errors before the occur at runtime and thus allow programmers to prevent them through application of functions which are legal for the involved types.

Hypocrite

Hypocrite! First get rid of the log in your own eye; then you will see well enough to deal with the speck in your friend's eye.

Expendables Arena

I wasn’t planning to write anything about it here since it’s really an unprofessional side project at the moment, but Expendables Arena is sucking up so much of my time today and causing me to touch so many new tools that I just had to sit down and write something about it if only to get the absorbed mass of information out of my head.

Sorting for $500

It was said oft and loud in my freshman year algorithms class that the algorithms and datastructures we were covering would be hot topics for interviews and now I know why. While they may appear simple in class they prove easy to forget and relatively hard to reinvent on the spur of the moment. I thought that my personal demon of choice was depth first traversals but I was wrong. I grocked depth first work when we did it in class: but quicksort (qsort) and mergesort (msort) I never quite got straight.

The Spirit of the Assignment

I’m lazy. I used to argue that I was merely strategically lazy: that I knew enough about the problem domain to optimize out the rest of the work. Like tonight’s homework in physics, which came down to a lot of operations on vectors such as rotations by arbitrary angles (in degrees OFC) and subsequent additions and soforth. Now vector math isn’t hard at all. I’ve been doing it since high school, however it is laborious and rather easy to muck unless done carefully.

SC12 part II

This post is my second installment on my recap of SC12, as started here several weeks late.

Idle Hands

Can be amazingly productive!

Drafts and Design

Tonight was the first night in a while that I really got to sit down and hack on this website. I’m glad it was, because I had a fully-formed idea and design for a new backend feature which I just cranked out, as well as some fixes to the backend so here goes.