Product & Tech Blog

search
expand_more
expand_more

Dissecting Javascript clicks in UIWebView

Blog post header

In VG we make heavy use of UIWebView, almost all of our iOS apps is a mix between native code and HTML. This is nice and dandy for presenting all sorts of content – being a newspaper means tons of webpages with ads, frames, javascript menus and whatnot. Generally this

Inheriting configuration in Zend Framework 2 applications

Blog post header

When working on Zend Framework 2 applications you might come across situations where you need to differentiate the application configuration for the different application environments, be it development, staging, testing and/or production. This can be cache TTL‘s, Memcached hosts, Redis hosts, debugging levels and more. Instead of copy/pasting the complete

EditorConfig: Consistent coding style

Blog post header

If you’ve worked on more than one project in your coding career, you’ll probably have come across different coding styles. While some projects prefer an indentation of four spaces, others might prefer to only use two. Some may even use tabs. Then there’s line-endings, charsets and trailing whitespace. When you

Responsive CSS

Blog post header

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 m.domain.com or touch.domain.com. Today, browsers are found on devices of

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

Blog post header

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

Blog post header

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

Blog post header

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

Blog post header

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

Blog post header

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

Blog post header

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

Blog post header

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

Blog post header

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