The year 2014 is almost over, but looking around my developer colleagues, I see that there is still a lot of old knowledge and outdated techniques for using your Mac for (web-) development purposes. To counter this lack of information I will outline the steps I took to lift my two primary OS X systems into the new age. Gone are the days where we need to have a webserver, database system and a plethora of different packages installed on our main operating system and deal with breaking changes whenever a new OS update (Hello Yosemite!) comes along.

This post talks about setting up your own private local development server with all the needed software to start developing applications with PHP and MySQL without having to install any server software on your main operating system. The end product will also give you the means to quickly set up an identical virtual machine on any number of additional computers you might want to use for your development.

Disclaimer: As I am a heavy user of Laravel these days, this set-up will mainly center around web development and PHP.

Continue reading

phantsy

phantsy is all about places.
phollow likeminded people that have the same taste and interests, add new places or rate existing ones in order to create your personal collection of favourite places. also keep in mind: the more places you rate, the more likeminded people and recommendations phantsy can find for you! explore a trusted world. we phantsy that.

I developed phantsy in collaboration with Getdesigned GmbH. It is a Laravel PHP webapp with a modern responsive HTML5 frontend.

Give it a try. I’m happy about any feedback you can offer!

If an object is converted to an array, the result is an array whose elements are the object‘s properties. The keys are the member variable names, with a few notable exceptions: private variables have the class name prepended to the variable name; protected variables have a ‘*’ prepended to the variable name. These prepended values have null bytes on either side. This can result in some unexpected behaviour.

Source: http://www.php.net/manual/de/language.types.array.php#language.types.array.casting

No kidding? This must be one of the most stupid decisions ever in the whole language of PHP. Why pad some array keys with NULL BYTES? I mean, how can anyone ever be expected to find that out, by looking at the data the script writes out? This makes absolutely no sense whatsoever.

Just spent around an hour hunting this down!

I hope this post will save someone else the amount of hassle this has caused me.

BSS app iconLast weekend I sat down and built a surveillance system, including an iPhone webapp, for my apartment using my old iBook, an external iSight, the Webcam Software EvoCam and a set of scripts in AppleScript, PHP and some shell scripts.

The whole thing is pretty custom made but I’ll document it here anyway and with a basic understanding of the technology it should be fairly easy to reproduce with whatever hardware you have available. At the end of the post you’ll find a ZIP file with all the scripts I used in the setup.

The set up

  • The iBook has the iSight connected and pointed at the entrance door.
  • iBook is using MAMP to serve PHP scripts and produces some audible confirmation messages.
  • The iPhone webapp shows if the system is armed or not, can start or stop EvoCam, lists all the available surveillance videos and offers a link to the live video stream.
BSS CTRL center

BSS CTRL center

Read on for the whole article with a detailed explanation of all components.
Continue reading