ZendStudio for Eclipse

For professional PHP development, nothing beats ZendStudio in my book. Currently ZendStudio is in the process of moving from a standalone application to something build on top of Eclipse. I’m sure it might be a wise move on the long term, but there are a few things bugging me with th current version. The number one issue is shown in the screenshot to the right.

Would someone please tell either Eclipse or ZendStudio, that PHP files do not need to be build, compiled or what ever it is doing - besides wasting my time for a few minutes.

Simple Webpage Slideshow

At work we produce a few websites and have a few “web dashboards”. Wouldn’t it be nice, if public screens around the office could play a little loop mixing the websites and the dashboards together in a slideshow loop?

After an hour of javascript debugging, a nice little generic webpage slideshow was put together, and if you have a similar need a copy is now available in the lab. It’s simple, it should work in most browsers, and it probably has the least features of any slideshow out there.

A note on Tinyurl and security

It seems some websites produce horrifically long url’s and others (such as twitter) imposes some strict boundaries, which has created the need for sites such as tinyurl.com. With tinyurl you can post a long (even really long) url on the site and have a short (redirect through tinyurl) instead. It’s pretty smart, but I really don’t like being redirected to a secret destination.

On tinyurl.com they luckily have an option (if you have cookies enabled) which allows you not to auto-redirect. Instead you reach a page on tinyurl.com, are shown the destination and must click proceed to go on to the destination.

PHP4 RIP

In less than 3 months - on August 8th, 2008 - PHP4 reaches end of life. If you still haven’t updated, it’s damn well time to get migration started. PHP5 far better than the previous versions, and if it’s good enough for Yahoo, Facebook and many other huge sites, it’ll probably be a joyride for you too.

Twittering

It seems I don’t find time to do too many stories to the site currently. I do however twitter occasionally. As a convenience I’ve added the latests twitters on the site too…

Nortel VoIP: It just feels wrong

XXX Lost image XXX

I have a VoIP phone on my desk. It’s part of the Corporate VoIP solution, and in most cases it works pretty well. One of my favorite features is the ability to act as a meeting phone with the speaker on. It usually works great, but there is one thing with the speaker feature, which just feels wrong – to turn off the speaker, you press the hangup buttom. Please fix this issue in a future firmware update, and allow the speaker buttom to act as a toggle that can turn the speak both on and off.

Google App Engine

I’ve been playing a bit with the Google App Engine the past few nights. It’s one of the newest toys out of Google, and it could very well be a very important piece of infrastructure to many web developers trying to create a dotcom adventure.

Google App Engine (once they let you in) allows you to run web applications of google’s server infrastructure. With the Google App Engine you can write applications (and run these of your local machine (Mac, Linux or Windows) and even use data storage in your applications. Currently applications can only be written in Python, but Google promises support for other languages later. Once approved by Google and your application is ready for prime time, you simple deploy it, and it runs of Googles Servers.

Converting between image formats in Perl

Changing files from one format to another is quite easy with a little bit of Magick. In the example below a JPG image (test.jpg) is converted into a GIF-image (test.gif). To output in a different (ImageMagick supported) format, just change the “image->Set” line.

#!/usr/bin/perl -w
use strict;
use Image::Magick;

my $image = Image::Magick->new();

# To explicitly set image format use this instead:
# my $image = Image::Magick->new(magick=>'JPEG');

my $x = $image->Read('test.jpg');

$x = $image->Set(magick => 'GIF');
$x = $image->Write('test.gif');

exit();

CVS - Getting started

CVS is a sourcecode version control system, which is just about the best thing which can ever happen to a software project. CVS gives you the power to manage the development of your sourcecode and keep track of changes in the code.

Below there’s a few pointers to the net, where you can find lots of information about CVS and the add-on tools which supplies it. The section called “local content” is our own attempt to add something to the endless pages describing and explaing how to use CVS. Enjoy.

Fetching Image details in Perl

Image::Size is fine, if size is the only thing, which matters. Sometimes, however, it isn’t enough, and when that is the case Image::Info (again fetched from CPAN) is your friend. Point it to a file (through various methods), and it will return a hash with all the information available about the image you pointed at. Most popular formats are supported.

#!/usr/bin/perl -w
use strict;
use Image::Info;

# Just fetch the size
my $imgInfo = Image::Info::image\_info("test.jpg");

# Print out all info fetched from the image
for (keys %$imgInfo) { print " $\_ -> $imgInfo->{$\_}n"; }

exit();