Grunt.js is a task runner that comes with various plugins for compiling, building, formatting, etc. within your project. I recently setup a simple deployment process using Grunt, so I thought I’d share the details.
Node.js runs on a single threaded event loop and leverages asynchronous calls for doing various things, like I/O operations. This is a powerful concept that enables gains in efficiency, but occasionally requires a bit more work on your end to deal with certain situations.
I’ve found myself doing lots of Node.js development lately and have been using Grunt for various building tasks. Once it’s integrated into a project, it makes sense to leverage it for the real-time compiling and reloading of JS/LESS/SASS files.
Today was the public launch of the Ghost blogging platform. After tinkering around for a bit, I decided to go ahead and build out a really simple theme. What better way to learn a new piece of blogging software?
It pains me to write this post in 2013, but after doing some client work recently, I’ve found that issues with PHP’s “Magic Quotes” still exist in the wild.
I ran into an issue today using the ngRepeat directive in AngularJS. I’ve created a filter for iterating over an object of objects (acting as an associative array or hash).
I’m releasing a very old PHP class that I created circa 2006 to act as a wrapper for PHP’s MySQL functions. I recently updated it to use PHP’s MySQLi extension.
I came across an article about algorithmically scaling and arranging photos in a gallery. I took a stab at it myself.
I’m 29 years old, I live in New York City, and I am a web developer. More accurately, as of today, an unemployed web developer — by choice.
I’ve released version 1.0.0 of my Crisp Persona WordPress theme. This is the theme I built while I was redeveloping this blog.
I stumbled upon CodePen’s “Shopping Cart” challenge yesterday and decided to give it a go. Check out my entry.
I ran into a situation where I needed to add a class to the “Next” and “Previous” links that WordPress places at the bottom of each post.
I’m restarting my blog. This is my attempt to reconnect with my passion and immerse myself in the latest technologies that the web has to offer.