Product & Tech Blog


Responsive CSS

The days when it was enough to create html stylesheets that work on one given screen width (eg 1024px) is over. As smartphones and tablets took the market, it was very common to have separate pages for such devices, like or Today, browsers are found on devices of

Using PHP’s built-in web server in Behat tests

Behat is a tool for running acceptance tests for your application. If your application is a web application you will need a web server to execute your tests. This is not likely an issue when running your tests locally since you probably have a web server running on the development

Logging the correct IP address using Apache 2.2.x

Here at VG we have loadbalancers and proxies in front of most of our webservers. This is key to being able to handle the big amounts of traffic we get. One problem that arise when traffic is being terminated this way is that the backend webserver, namely Apache will get

How To Make GoogleBot Crawl Your Backbone.js Website

If you create single page applications with Backbone.js or similiar you will end up with websites which requires JavaScript. This is not a big problem when it comes to regular user-agents, but Google will not be able to see your content. We solve this issue by using PhantomJS.

PHP: Perform HTTP requests in parallel

Ever had to request multiple HTTP-resources in your web application? Often, you need data from one request to be able to request the second – in this case there is little you can do but wait for the first to return. However, if the requests are not dependent on each

Using PHP’s built-in web server in your test suites

As of PHP-5.4.0 the CLI SAPI provides a built-in web server. The web server is designed for development purposes, and serves requests sequentially. This web server can come in really handy when the need for an httpd arises during (integration) tests. In this post I’ll use PHPUnit as the testing

WebGL DAE model viewer

3D modeling is pretty fun. I’m nowhere near an expert – in fact, I’ve only really used Sketchup. There was a time when I was really into it, making 3D-models for all sorts of PC components. The other day, I was looking at a WebGL demo made in three.js, and

Server-side Highcharts rendering

Highcharts is a fantastic tool for generating javascript-based charts. It’s flexible, fast and can be extensively customized. Recently, I had to find a way to render Highcharts as static images on the server as we wanted to attach charts in emails. The reason why we wanted to stick with Highcharts

Synergy + Norwegian keyboards

Synergy is a really cool application which lets you easily share your mouse and keyboard between multiple computers. I’ve been using it both at work and at home – having both a Linux and a Windows computer available in this manner is a pretty powerful setup. It does have a

Selenium tests

When we develop code at VG we have started to use Selenium tests for continuous integration. This allows us to easy write tests that programmatically checks that last commit didn’t break anything.

Hover state on touch devices

With an increasing number of users on tablets and smartphones, the need to take touch friendliness into consideration is greater than ever. Even though both the browsers and hardware are approaching desktop speed, there are still some issues with implementing web sites and web apps for these devices.

Capture The Flag!

A short time ago we released Capture The Flag; a set of web developer themed puzzles. There are ten levels for you to play with during easter. The toplist show the time of the ten fastest to solve the (at the time of writing) ten levels of the CTF. Maybe