Extracurricular Activities • Apr 05, 2012 BASIC: Cross-Platform, Cross-Generational A brief history of BASIC and some reasons to believe it is still useful today as a beginner's language.
Functional Programming • Mar 13, 2012 Some Notes on Clojure Performance Laziness is amazing. As Debasish Ghosh explained on his blog, laziness lets you effectively reify and compose loops.
Embedded Systems • Feb 24, 2012 TDD Comes to Arduino I want to share an example so simple, and a list of instructions so complete, that pretty much anyone can start to do TDD in embedded.
Embedded Systems • Feb 14, 2012 How to Write Good Requirements Writing good requirements is hard. Here are some tips that will hopefully make the process more clear.
Web Apps • Feb 08, 2012 CSS3 Transitions – Spicing Up DOM Changes CSS3 transitions can be a nice addition to web applications when used properly. Here are a few tips on when and how to user them.
Developer Tools • Jan 28, 2012 Less Perplexing Terminal Multiplexing with tmux As a professional problem solver, I spend a considerable portion of my day working at a command prompt within a terminal multiplexer called tmux.
Development Practices • Jan 24, 2012 Designers Are More Valuable than Programmers Insights as to how developers practice design and an assertion of the diminishing value of the "coder" mindset.
Project & Team Management • Jan 05, 2012 Practicing ‘Agile’ Doesn’t Necessarily Make You ‘agile’ Practicing ‘Agile’ Doesn't Necessarily Make You ‘agile’
UX/Design Tools • Dec 29, 2011 Puppet + Gephi: Visualizing Infrastructure as Code Gephi can be used to effectively explore Puppet resource dependency chains by visualizing a graph of relationships created by Puppet in the DOT language.
Ruby • Dec 20, 2011 Adding Client Connections and Binary Data to em-websocket Details of a recent project to augment the em-websocket gem to support client connections and binary data transfer.
Extracurricular Activities • Dec 07, 2011 Common SSD Pitfalls Solid state drives, due to being relatively immature and expensive when compared to hard drives, an ideal setup can be difficult to attain.