I\’m working on a Redis-like extension to HTML5 Storage objects (localStorage and sessionStorage). When thinking about implementing key expiry, there are two primary solutions: timer and data based implementations. Timer-based Expiration As John Resig brilliantly explains, when you set a timeout using setTimeout(), there is no guarantee that the callback (the function to perform after the timeout is fired)...
Read More
This post was featured in Node Weekly #43 When you have a large JS codebase that uses the AMD module pattern, like we do at Bēhance, it becomes tedious to perform certain tasks within your editor. This hurts productivity and adds up to wasted developer time in the long term. Here are some of the...
Read More
A while back, I wrote a Python script to automate compiling all of a directory’s HAML views into HTML files. Source is located here: https://github.com/mrjoelkemp/haml2html This was originally created so that designers of Rails apps could work around Adobe Edge’s lack of HAML support. Hope it helps!
Read More
One of the things that I’ve noticed for the past year is the difficulties that open source development introduces in creating a collaborative team. More specifically, folks who contribute to open source have a tendency to be talented, but need help breaking habits to make them better teammates. How bad habits form Open source development...
Read More
There is a clear behavioral difference between software developers and software engineers, though the terms are often, incorrectly interchanged. Through my own experience and observations, I hope to not only shed some light on the difference, but encourage developers (my target reader) to strive to become engineers. If you find this post helpful, feel free to...
Read More
I’m working on a Redis-like extension to HTML5 Storage objects (localStorage and sessionStorage). When thinking about implementing key expiry, there are two primary solutions: timer and data based implementations. Timer-based Expiration As John Resig brilliantly explains, when you set a timeout using setTimeout(), there is no guarantee that the callback (the function to perform after...
Read More
I wrote this helper that allows you to join two particular sides between two objects. It allows for more granular snapping functionality than that of Jquery draggable’s snap modes Goal: An object should snap to another object in a particular direction. https://github.com/mrjoelkemp/jquery.snapto When would you use this? Let’s say you have multiple canvas objects that...
Read More
Programmers, both new and experienced, have a hard time getting away from technical interviews: the “large-company” style of interview where you’re asked to work through an ambiguously-stated programming question with an interviewer who already knows a wide-range of solutions to the problem. There are pros and cons to this interview style; I personally don’t like...
Read More
After solving dozens of practice questions, I started to notice a strategy emerge for how I solve technical interview questions. This framework isn’t guaranteed to get you the job; however, the perspective will hopefully help in your practice regimen. The algorithm is roughly as follows: Repeat the problem statement a few times in your head....
Read More