Archive for the ‘Computing’ Category.

A thunder storm

Gdesklets during a thunderstorm I was lying on my couch, taking a nap, when I started to hear the distinct sound of water pouring down — lots of water pouring down — outside my window.

I’ve always liked it when it is raining heavily, it’s very cosy to sit indoor with some hot tea (or hot chocolate… umm!) and look out on the rain. It’s perfect weather to code in, too!

On the right you’ll see a small crop of a screenshot. I’ve been using gDesklets for some time now, and I have a great pile of them to the right on my desktop. They are nice eye-candy and also a little bit useful. If only Enlightenment would understand that the 12 little windows should be left out of my tab-list, then I would be really happy. I hope that DR16.7 has support for the hints sent out by the desklets — I haven’t tried it yet since it’s still in pre-release and nobody seems to have packaged it for [Debian][]. I’ve thought about using another window manager, but I’m very fond of Enlightenment, especially how it chooses to place new windows: I can predict fairly well where the new window will be opened because I’ve been using it for so long.

Hmm… I’ve been using Enlightenment from the very first time I installed GNU/Linux, so I must have been using it for five years now. Wow! That is one of the greatest things about GNU/Linux: you can keep using your programs for years because they are reliable — of course there has been updates to Enlightenment during the years, but basically it has just worked, just like my favorite program: [Emacs][] which quickly becomes your reliable, quick, familiar friend. You know that it wont suddenly stop working, you know that will display your files tomorrow as it did today. When I see people working in programs like MS Word I often have a hard time understanding why they put up with it? They want to move some text around in their huge report — Word decides to change the font during the move. They want take their finished report with then to their university department and print it there — Word decides to change the margins (or is it the papersize?) during the move, making all their efforts in avoiding poor page breaks irrelevant.

Anyway… enough ranting about the deficiencies of MS Word — I’m of course using [LaTeX][] which may look strange when you sees it for the first time, but will later save you huge amounts of time and spare you of many frustrations, and give your papers a very professional look.

During the storm I saw a funny coincidence: I have the PSI-Weather desklet running on top of the psi-alt-uptime desklet, and that gives the funny impression that Tux is being hit by the lightning. I didn’t do it on purpose — honest!

PEL Version 0.4 Released

I’ve released my favorite project — the PHP EXIF Library — once again. This time the focus is on making PEL speak other languages than English. The release notes and a summary of the changes follow.

Notes

The infrastructure for internationalisation has been put in place. Preliminary translations for Danish, German, French, and Spanish is included. Support for tags with GPS information were disabled due to conflicts with a number of normal tags.

Changes

  • Disabled the code that tries to lookup the title and description of the GPS related tags, since those tags have the same hexadecimal value as a number of other normal tags. This means that there’s no support for tags with GPS information.

  • Marked strings for translation throughout the source code.

  • Added German, French, and Spanish translations taken from libexif. The translations were made by Lutz Müller, Fabian Mandelbaum, and Arnaud Launay, respectively.

  • Added Danish translation.

  • Added new static methods Pel::tra() and Pel::fmt() which are used for interaction with Gettext. The first function simply translates its argument, the second will in addition function like sprintf() when given several arguments.

  • Updated documentation, both the doc comments in the code and the README and INSTALL files.

The PHP EXIF Library version 0.3 has been released

The latest version of PEL sports support for TIFF images and lots of other improvements. Read the announcement below, and go to the project page to download it.

Notes

Support was added for parsing TIFF images, leading to a mass renaming of files and classes to cleanup the class hierarchy. The decoding of EXIF data is now tested against known values (over 400 individual tests), this lead to the discovery of a couple of subtle bugs. The documentation has been updated and expanded.

Changes

  • Renamed all files and classes so that only EXIF specific code is labeled with Exif. So, for example, PelExifIfd is now PelIfd, since the IFD structure isn’t specific to EXIF but rather to TIFF images. The same applies to the former PelExifEntry* classes.

  • Fixed offset bug in PelDataWindow::getBytes() which caused the method to return too much data.

  • Added support for the SCENE_TYPE tag.

  • Fixed display of integer version numbers. Version “x.0″ would be
    displayed as just version “x” before.

  • Unit tests for EXIF decoding. PEL is now tested with an image from a Sony DSC V1 and one from a Canon IXUS II.

  • Changed all occurrences of include_once() to require_once() since the files are indeed required.

  • Updated documentation all over.

Hurry! PEL version 0.2 has escaped!

The PHP EXIF Library (PEL) is getting better and better, and version 0.2 was released today — go grab it if you want to play with it.

Notes

This release brings updated documentation and better support for the EXIF user comment tag and tags containing version information. The code is now tested using SimpleTest.

Changes

  • All PelExifEntry descendant classes now use setValue() and
    getValue() methods consistently.

  • Signed and unsigned numbers (bytes, shorts, longs, and rationals) are now handled correctly.

  • The SimpleTest (http://sf.net/projects/simpletest) framework is used for regression testing.

  • Added new PelExifEntryUserComment class to better support the EXIF user comment tag.

  • Added new PelExifEntryVersion class to support the EXIF tags with version information, namely the EXIF_VERSION, FLASH_PIX_VERSION, and INTEROPERABILITY_VERSION tags.

  • Updated doc comments all over.

The PHP EXIF Library was on Freshmeat

Although SourceForge is slow with their updates of the statistics on the PEL project pages, I hope a few people have taken the oppotunity to download it. And accourding to the Freshmeat PEL page, then there has indeed been several hundred visits to either the PEL homepage or one of the files available at SourceForge for download.

I realize that PEL will have a limited audience the first few months, since it’s written in the yet-to-be-released version 5 of the PHP. This version is greatly improved, and I can only encourage people to download it right away and start playing with it — and why not use PEL which uses a lot of new PHP5 features. Go download PEL and play!