queer as code!

New SSD: OCZ Vertex 2 SSD 120GB

My first SSD, the OCZ Apex 120GB, lasted for about 18 months. As replacement I bought another OCZ drive, this time from the Vertex series: OCZ Vertex 2 120GB. I read about the new SandForce 1200 Controller in most modern SSDs and that the Vertex drive uses firmware which is equivalent to the SandForce 1500 controller. The Agility series has the “normal” SandForce 1200 controller and lacks some writing speed in some areas.

Detailed review and comparison to other drives, in german: hardwareluxx.de

The bad minimum read spead (~1mb/s) my old ssd had is gone, as you can see in this HDTach screenshot:


Thank you Windows Home Server

About a year ago I bought a 3TB “NAS” running Windows Home Server: Acer Aspire EasyStore H341.

After a 15 minute setup per machine in my household everything gets automated daily, full backups.

Two days ago my ssd crashed with “SMART status BAD – backup and replace drive”, unable to ignore/boot, windows 7 repair tools didn’t even recognize the drive…


- Drive to the next store with the ssd replacement i wanted: 15 minutes

- New SSD: 200€

- Booting from the Home Server recovery CD, selecting which partitions to recover: 10 minutes

- All ssd partitions restored: 30 minutes (Gbit lan, yay)

- Reboot, working system (only 6h changes lost, luckily I was mostly sorting my mails)

Windows Home Server makes even complete drive failures a non-event, I really love this fine piece of working, reliable soft- and hardware!

How to install cruisecontrol/phpUnderControl in Debian Lenny

Some time ago, I posted a small tutorial how to install phpundercontrol in a fresh Debian Etch machine. As Debian Lenny is now out for some time I’d like to update this small tutorial for its changes.

The good thing: You don’t need to use backports anymore – the sun-java6-bin/sun-java6-jre packages are available in the lenny non-free tree.

Therefore, the first thing to do is check your /etc/apt/sources.list if it checks for non-free packages (does not per default).

deb http://ftp.debian.org/debian/ lenny main non-free
deb-src http://ftp.debian.org/debian/ lenny main non-free

The rest stays mostly the same:

# update apt to include non-free packages
apt-get update

# install packets (java and subversion)
apt-get install sun-java6-bin sun-java6-jre
apt-get install subversion

# add symlink from /usr/bin/java to /bin/java for the cruisecontrol start script
ln -s /usr/bin/java /bin/java

# install apache (mainly for phpmyadmin) and php5 + cli
apt-get install apache2-mpm-prefork
apt-get install php5 php5-cli php5-dev
apt-get install php-pear make

# install xdebug (needed for phpunit)
pecl install xdebug
echo "zend_extension=/usr/lib/php5/20060613+lfs/xdebug.so" >> /etc/php5/cli/php.ini

# install phpunit and phpundercontrol via pear
pear upgrade --force pear
pear channel-discover pear.phpunit.de
pear channel-discover components.ez.no
pear install phpunit/phpunit
pear install --alldeps channel://components.ez.no/Graph
pear install --alldeps channel://pear.phpunit.de/phpundercontrol-0.5.0

# get and extract cruisecontrol
apt-get install unzip wget
cd ~
wget http://freefr.dl.sourceforge.net/sourceforge/cruisecontrol/cruisecontrol-bin-2.8.3.zip
unzip cruisecontrol-bin-2.8.3.zip -d /opt
cd /opt
ln -s cruisecontrol-bin-2.8.3 cruisecontrol

# run phpundercontrol modifications against cruisecontrol
phpuc install /opt/cruisecontrol

# first testrun
cd /opt/cruisecontrol

Reading browser history with css and javascript

This small script demonstrates how to check if a user has visited a particular url with his browser using css and javascript. Simple trick, small script, but could be dangerous – and you don’t see a damn thing.

The only protection against this of which i know is NoScript or just turning off JavaScript in your browser…

Rotating dom elements with css3 and jscript/jquery animation

If you want to rotate dom elements, webkit offers you

-webkit-transform: rotate(0deg);

and firefox offers you

-moz-transform: rotate(0deg);

I hacked together a small demo rotating dom elements with css including some animation with jscript/jquery.

Seth Godin on why marketing is too important to be left to the marketing department

I just found this very inspiring and interesting talk about marketing, presented for developers by Seth Godin (held at Business of Software 2008).

Nagios: NRPE: Unable to read output error – check_apachestatus_auto.pl

Today I solved a problem I had with check_apachestatus_auto.pl executed via NRPE.

Running the command as root worked fine but, running as user “nagios” just gave no output – which translated to the error message “NRPE: Unable to read output error” on the Nagios NRPE Client.

After checking file permissions, any debug modes and logs i found… i finally got to /tmp and there was it: “……”, a temporary file created by that particular check plugin. Since i tested the plugin first as root, the file had root-only permissions, and the plugin executed as nagios just stopped somewhere while not being able to use/overwrite that file.

I deleted that particular file, and everything works fine now…

Zend Studio 7 and Zend Framework 1.9.0 released

Zend Studio 7.0 brings a host of new features and enhancements that will help you develop faster, resolve defects more quickly, and take advantage of the latest PHP technologies directly from your development environment.

With full support for PHP 5.3, greatly enhanced source code editing, easy debugging through  integration with Zend Server, code generation through integration with Zend Framework, and improved performance, Zend Studio maintains its position as the leading solution for professional PHP developers.

Zend Studio

New features in Zend Framework 1.9:

  • Complete support for PHP 5.3 as well as 5.2 means developers can use the latest PHP language features in their Zend Framework-based apps
  • RESTful web services: now made easier through automated routing/detection
  • Message queues: useful for offload processing (credit card transactions, media uploads), cross-platform communication, user messaging features, and more.
  • LDAP: Microsoft ActiveDirectory & Novell, plus searching, filtering, and tree features
  • RSS & Atom: consume these popular feed formats using a common API and higher performance cached HTTP
  • DBUnit support: DBUnit’s test data setup and teardown make unit testing Zend Framework applications much easier

Zend Framework 1.9 Features PHP 5.3 Readiness and New Professional Components

Downloads are running, Testsuites will show if ZF 1.9 breaks anything, and I will take the opportunity to fix some plugin issues with Zend Studio while upgrading ;)

Premade admin panel layout – Complete Liquid Admin Control Panel

I found this nice premade admin panel layout on themeforest.net, a single licence is just 15$ (10-projects licence 45$, which I bought).

Complete Liquid Admin Control Panel

Author description:

Complex Liquid Admin template that contains a login page as well as a modular content page that includes all the elements you could possibly need in your admin. From these elements you should be able to generate any required page.

Please open the preview to check out all the elements.

Liquid as oposed to a fixed size means all the screen real-estate is used in the most efficient manner possible and also eliminates compatibility issues with non-standard, very low or very high screen resolutions.

Tableless CSS coding, cross-browser compatible and very stylish. Impress your customers today !

The template includes all page .psd files as well as slices and should be Easy to customise with medium knowledge of Photoshop and CSS .

Later edit : This template also contains rectangular notification boxes (ex. positive, negative, site message etc.) like our FlexiAdmin, however the shots don’t show this. So if you need these no worries, you will find them in the download package.

I’m impressed with the details and “amount of work” you get for that small price. I’m definitely going to use this in some projects – at least in my own ;)


OCZ Apex SSD 120GB and How to move a vista boot partition to a new drive

My newest toy arrived today: OCZ Apex SSD 120Gb – a very fast Solid State Drive. The manufacturer tags it with “230mb/s read, 160mb/s write, <0.3ms access time”.

After my six hour hassle of (trying to…) moving the boot partition from my old harddrive to the new one (see the full report/steps below), I was curious about the first performance test, which I used HD Tune for.

This is the result for my old harddrive, a Samsung HD642JJ:


Raw data:

HD Tune: SAMSUNG HD642JJ Benchmark

Transfer Rate Minimum : 55.0 MB/sec
Transfer Rate Maximum : 102.8 MB/sec
Transfer Rate Average : 83.0 MB/sec
Access Time : 13.2 ms
Burst Rate : 135.3 MB/sec
CPU Usage : 4.5%
Temperature : 25°C

And this is the result for my new SSD (OZC Apex SSD 120GB):


Raw data:

HD Tune: OCZ APEX_SSD Benchmark

Transfer Rate Minimum : 1.4 MB/sec
Transfer Rate Maximum : 172.7 MB/sec
Transfer Rate Average : 138.1 MB/sec
Access Time : 0.2 ms
Burst Rate : 129.5 MB/sec
CPU Usage : 5.5%
Temperature : 44°C

As I said before, I moved my bootpartition to the new drive. These are my subjective feelings about the new system:

  • The Windows bootup isn’t that much faster, but I didn’t measure the startup time of the old harddrive. (Still too long…)
  • Applications start much faster now. I think this really is the point where the ridiculous low access time of the SSD kicks in. Zend Studio i.e. is down from ~30 secs to 12. (And I haven’t switched the projects/workspace to a new SSD partition yet!)

The application startup speed, and working with big filecount-intensive projects were the main reasons for me to try out a SSD. So far (this still is my impression after only 2-3 hours of usage) I am very satisfied with the results.

The temperature of the SSD is ~20° warmer, but I think even 44°C is not high enough to care about.

In about one month I will provide you with even more subjective feedback :)

The steps for the Vista bootpartition-move, using Acronis True Image, should be these:

  1. Boot from the Acronis True Image CD
  2. Backup your boot partition from the old drive
  3. Restore the backup to the new drive, mark the new partition active (Cloning didn’t work, because the SSD is much smaller, and the UI doesn’t let me clone just one partition)
  4. Reboot from your Vista Installation disc
  5. Repair the installation on your new drive (the log should show something about “missing bootmanager – fixed”)
  6. Boot from your new SSD
  7. If your bootpartition is not C, fix it this way: How to restore the system/boot drive letter in Windows
  8. Done. Finished. Hopefully.. (At least, you should have 2 layers of backups to restart if something screws up…)

Just two small things OCZ could improve:

  • Inform me as a customer, that there is no SATA cable in the retail box. Every other retail (SATA) harddrive I bought up to this day had at least one packed.
  • As most of the customers will be “switchers” imho, ship something to help with the partition migration process. I will happily pay some more bucks, if it just works.