Building apps with Gulp

I never quite liked JavaScript building tools. Grunt always seemed way too complicated for the simple things I wanted to accomplish. Like concatenating files and minifying them. One of the first bash commands that any Linux user learns about is cat. You can just cat a few files together and ...

Serving WebP today

WebP is both a lossless image format, like PNG, which preserves every detail of the original image, and a lossy format, like JPG, which will compress the original image down to a certain quality. WebP support in browsers such as Firefox and IE is virtually nonexistent. However if a big ...

Prototypical inheritance in JavaScript

JavaScript has its own inheritance model that is quite unique among languages. Since JavaScript has no notion of classes yet and since everything is actually an object, we will try to clear the confusion by defining a few terms: A class is a constructor function which has properties and other ...

Promises in AngularJS

Promises are quite an old concept that took off only recently in the JavaScript world. Since version 1.2 promises have become such an important part of AngularJS that they cannot be overlooked anymore. In this post we will cover the basic concepts of promises in AngularJS with a few ...

CORS Gotchas

CORS stands for Cross-Origin Resource Sharing and represents a method of accessing/sharing resources across domains. These resources can be anything from web fonts to APIs. The CORS standard is only implemented in browsers, since this is the only place where it makes sense. While this is the preferred method ...

Notes on RESTful APIs

HTTP and REST are not new, we just misused them for a long time. A proper RESTful API should consider the following principles. Resources Resources are discrete entities - like entities from the Entity-Relationship Model. The web is modeled around resources. Everything is a resource, not a web page, not an ...

ACTA, SOPA, PIPA, CISPA

It seems like the big players of the software and hardware industry are dead set to bring to life an incarnation of one of these laws. Never before in the history of computing has a piece of legislation been pushed forward so ferociously by so many significant companies. The core ...

PDO vs MySQLi performance comparison

After reading this article on Nettuts, I was curious how PDO would compare to MySQLi in a real-world scenario, perfomance-wise. So I created a benchmark to dispell the myths surrounding this dispute. MySQLi is percieved to be the better performer, since it’s the official extension supported by Oracle. In ...

Hello world

Hello world! Hell, it's about time I launched this thing. While not being perfectly polished yet, it is close enough to what I wanted so I decided to give it a go. I will post here my findings, notes and scribblings related to web development. Hopefully I'll do ...