Accessing your Vagrant boxes through a reverse proxy

The past year we've been making increased use of Vagrant to streamline our development systems. Vagrant makes it easy to manage and provision virtual machines for each project we work on. When a new developer joins a project team, there …

Tagged , , ,

Refactoring our frontend development stack

At Code Yellow we write frontend heavy apps. This means that the browser is responsible for all the rendering, and the backend only handles API requests.

In the last few weeks we have been busy refactoring a large part of …

Tagged ,

Tangible Breakage

After spending many years coding and building software products from scratch, you know that stuff breaks (for example because of bugs or server crashes). Software is intangible, so it doesn't break like glass does. But even though it's intangible, software …

Tagged , ,

Kernel backups for Debian security updates

Two of our most important machines, both running Debian Stable, failed to boot after a routine kernel security update. In both cases, the security update itself was not the cause of the boot failure, but merely triggered latent problems (for …

Tagged , , , , ,

What your framework never told you about SQL injection protection

We've discovered that SQL injection is to this day not a fully solved problem, even in most popular frameworks. In this post, we'll explain how these frameworks fail at escaping parts of a query, culminating in the discovery of a …

Tagged , , , , , , ,

Just some days at the office

Customer Changes Requirement just before the deadline

devops 1

Non standardized environment

devops 2

Managers testing a new feature

devops 3

Typical Monday Morning

devops 4

Git push --force

devops 5

Fixing bugs on live production server

devops 6

The aftermath of a rushed release

devops 7

Thinking about targets for next year

devops 8

Realizing …

Tagged , , ,


In our organization we frequently need to execute some scripts that are either time consuming, or very heavy on the server. Most of the times these scripts needn't necessarily be executed synchronously. Therefore we use a queuing system to execute …

Tagged , , , , ,

Rapid Cordova application development

Developing Apache Cordova (aka Phonegap) applications tends to be rather painful: the long waits while compiling an application for Android and uploading it to the device (or emulator) leads to unacceptable round trip times, especially for applications with lots of …

Tagged , ,

IRC channel #CodeYellow on Freenode!

Join our IRC Channel #CodeYellow on Freenode!

Tagged , , ,

Passing variables from server to client using RequireJS

It's quite common to pass variables from server to client. Common uses are bootstrapping data, syncing config setting etc. Consider the following scenario: a single page app where a user logs in and refreshes the current page. You want the …

Tagged ,

FuelPHP released version 1.7

FuelPHP 1.7 has been released. A pretty late post, but it's been crazy busy the past few weeks. One important feature used immediately: PATCH request are now supported.

Tagged , , ,

Using Trello for our Development Workflow

This is a repost of an article I wrote a couple of weeks ago, which featured another project as an example, but we received a request to change some aspects of the original story. We decided the quick fix was …

Tagged , , ,

Migration transactions

Transactions are extremely useful...except when dealing with migrations. Read about implicit commits to understand why transactions in migrations aren't that useful.

Tagged , ,

Coding style guide



The 2 most used languages at Code Yellow are

  1. PHP
  2. Javascript

PHP has PHP-FIG which is becoming more commenly accepted. Javascript has idiomatic. For all projects we apply these rules:


Tagged ,

jQuery 1.10.1 and 2.0.2

JQuery has released not 1 but (oh joy!) 2 versions! Check out the jquery site and specifically the changelog for more details. The 2.x branch does not support IE 6, 7 or 8 (and other IE running in compatibility …

Tagged , ,