Finally an android emulator as fast as the iOS simulator

Android development is fairly simple, but a good simulator that comes close to the iOS simulator experience was missing until now, but with GenyMotion the wait is over.  Installation is easy, and you can set up a lot of different emulation environments.  The advantage of genymotion is that it creates a real virtual android device, so whatever you are developing with (android studio, eclipse) sees the GenyMotion emulator as a “real” connected device.

Screen Shot 2014-10-18 at 17.58.40

Continue Reading

De top van apple. Een terugblik

Het is nu meer dan een jaar geleden dat apple de iphone 5 introduceerde. Destijds bij de introductie stond de beurskeurs op een all-time high en groeiden de bergen voor apple tot in de hemel. Mijn voorspelling toen was dat het alleen maar bergafwaards kon gaan voor apple. Bekijk hier even het filmpje van destijds, september 2012:

Continue Reading

Amazon AWS EC2 vs Linode vs Digitalocean: Cloudserver showdown

I have experience with amazon’s AWS cloudservices for years now, but still have problems with EBS (=amazon network storage) performance.  It is not very fast and if you just want to run a simple LAMP server it requires a lot of work and experience to set it up the right way. But how fast is it? How does it compare to the offerings from Linode and the new kid on the block: digitalocean?  Both have their advantages: Linode has it’s standard 8 core architecture and RAID. digitalocean has fast SSD disks. But how do they stack up against amazon? Continue Reading

Laravel 4 – composer and packagist

Just released: the new Laravel version 4. The most important change is that laravel now embraces composer, the php package installer. This is good news if you want to use one of the many packagist packages available through composer, but this makes life a bit more complicatied as well. The old bundle system was a bit restricted but had one large advantage: ease of use.

What you need to keep in mind is that not all packages are structured in the way that laravel understands. For instance, you can install the original twitter bootstrap package but that leaves you with a directory structure like

But for laravel you need all img/js/css in a public directory like:

So how do we cope with this? Of course you can use the special laravel bootstrapper package, but that comes with pre-compiled bootstrap.
What we want is to configure bootstrap and then use Basset (the laravel asset compiler) to lesscompile/minimize all bootstrap resources and put the result in our laravel /public dir. But we don’t want to change anything to the bootstrap package because we want to be able to update to newer versions in the future.

Please leave a comment if you’ve found a beautiful solution to this.



Generating microsoft office documents (word, excel) on your webserver using php

Actually, this is much easier than you might think. The trick is to use the capability of excel and word to read html files

So just generate normal html, but use a content-type header line to force the browser to see this as a word or excel file: (using php)

header (“Content-type: application/msword”); or
header (“Content-type: application/”);
for word and
header (“Content-type: application/msexcel”); or
header (“Content-type: application/”);

I have never seen any difference between msword and, so if anybody knows the difference, please respond.

Then you might want to define the local filename. This can be done using the content-disposition header:

header(“Content-Disposition: filename=\”invoice_$invoicenr.xls\””);

For excel, just start generating a html table. The full table is used as excel sheet with its rows and columns.
For word, just start generating html code. It is interpreted by word. Make sure to use a FULL url path if you want to include images.

Here is an example to generate a word document:

Click here to test it.

nasty safari bug

Today I found a nasty Safari 4.0 bug. By accident, I ended up with a css line as follows:

.orange {color: !important;}

The result is… Safari skips the complete rest of the css file after this statement. Took me ages to figure this out. But if this is persistant in some Safari versions, it might come in handy to make a Safari-Hack, like:

.dummy {color: !important;} /* rest of file is ignored by Safari */

So every disadvantage has it advantages.

Find the DHCP servers on your net

How often does this go wrong: multiple dhcp servers on your subnet? Because routers, accesspoints, modems boxes ALL have dhcp servers nowadays, a double or triple dhcp server in your network is not uncommon. But tools to identify which dhcp servers are available are not easy to find. Continue Reading