I had no idea what the phrase “idiomatic programming” meant and it wasn’t an easy find on the web. I thought I’d define idiomatic programming for any beginners out there. Idiomatic programming means that your program contains statements that are unique to the language; i.e., you actually use the expressive power (or lack thereof –...
Read More
When hiring or speaking about our colleagues, we should strive to avoid calling someone “junior.” We should, instead, call them “less experienced.” The term “junior” has the negative connotation of being incapable (even if temporarily so) of leading projects, architecting features, and dictating standards within a team. The term “junior” evokes a ceiling instead of...
Read More
Damn you, Java! If you want to use a hash-based (particularly a HashSet or HashMap) structure with a custom object, the class to be hashed needs to override 2 methods: public int hashCode(); and public boolean equals(Object o);. This has been explained time and time again on StackOverflow. But I just want to complain a...
Read More
Here’s a guide to getting a Windows, Apache, MySQL, and PHP (WAMP) stack up and accessible via the internet on a virtualized Windows 7 environment. These instructions are specific to the VirtualBox virtualization program on OSX. Network Connection You’ll need to go to the Network settings for the virtual machine. Make sure that you’re using...
Read More
Here’s a quick way to create iterm2 key mappings for use in fish shell I wanted to map ⌥ + Left and ⌥ + Right to go backward and forward a word, respectively. I also wanted to have Option+Delete kill a word. The main idea is that you need to have those key combinations generate...
Read More
There’s been a lot of discussion around ways of minimizing the impact of Javascript load times by loading scripts only when you need them. I wrote a plugin that allows you to do just that: $.inject A little background Nicholas Zakas has spoken quite a bit about this lazy-loading optimization in one of his talks...
Read More
I built an HTML5 video jigsaw puzzle using HTML5 Video and Canvas, Coffeescript, Underscore.js, and some other awesome technologies. The source can be found here: https://github.com/mrjoelkemp/puzzle License: the source must not be used for commercial purposes. Enjoy! [embedded content]
Read More
In this article, I’ll talk about the high-level technologies and pros and cons to go from a fully client-side to server-side rendered application with a supplementary Backbone.js app on top. This article draws on about a year of experience using both techniques on production apps at YouNow. Client-side rendered apps If you’ve ever built a...
Read More
Browsers come with two very useful objects: document and window. The document object is necessary for interacting with the rendered HTML (called the Document Object Model or DOM). However, the window object is equally important. I see many up and coming Javascript programmers abuse the window object unknowingly. I’d like to shed some light on...
Read More
Here’s a simple calculator to compute the Euclidean Distance between two points. Instructions: Input the point data and click submit to see the euclidean distance! x1: y1: x2: y2: [embedded content]
Read More