Archive for the ‘Computing’ Category.

Mozilla FireFox 1.0 Preview Release!

I’ve been using Mozilla Firefox for quite some time now, and it has always performed great! Firefox is quick and robust and has lots of features that I would never want to be without: tabbed browsing is perhaps the best of them, but the quick search functionality comes in as a close second.

Since they have just put out a new Preview Release, (well… actually it happened 10 days ago, and they’ve already reached 2 million downloads!) I’ve decided to help them spread the word, thereby taking part in their big Gmail account give away! It’s not that I’m in a particularly big need for having a mailaccount with a 1 GiB limit, but on the other hand, I wouldn’t mind seeing for myself what it is all about.

So go download Firefox, and help take back the web! -Martin Geisler

Fun with URLs

I was looking through my AWStats statistics (which are no longer public) and took notice of the large number of strange URLs that people have tried in vain: those that generates a 404 Not Found error.

Lots of them look like they are part of some sort of silly hacking attempt by a script kiddie, while others look like genue URLs for the WikiWikiWeb, just missing the initial wiki/ prefix. So I’ve now setup redirection for those URLs, so that people are directed to the TitleSearch page, showing a search result for the URL they tried.

I hope this helps some people. -Martin Geisler

Go grab PEL version 0.6

The PHP EXIF Library (PEL) is written in pure PHP and makes it easy to read and write EXIF headers found in JPEG and TIFF images.

Before going to Switzerland I just found time to prepare a new release. Go grab it, and also remember to upgrade to PHP 5, which is now, finally, out as a stable version. Use http://dotdeb.org/ as your source of PHP 5 debs for Debian. -Martin Geisler

Notes

The interface for PelJpeg and PelTiff was changed so that one now can add new content from scratch to JPEG and TIFF images. Bugs in the loading of signed bytes and shorts were fixed, aswell as a bug where timestamps were saved in UTC time, but loaded in local time. The code that turned PelJpeg objects into bytes was fixed, and new test cases were written to test the writing and reading of PelJpeg objects to and from files. New images from Nikon models E950, E5000, and Coolscan IV have been added to the test suite, bringing the total number of tests up to more than 1000.

Changes

  • The timestamps were saved as UTC time in PelEntryTime, but loaded as local time in PelEntry. This lead to differences when one tried to load a previously saved timestamp.

  • Changed the constructors in PelJpeg, PelExif, PelTiff, and PelIfd so that one can now make new objects without filling them with data immediatly. This makes it possible to add, say, a new APP1 section with EXIF to a JPEG image lacking such information.

  • Fixed loading of signed bytes and shorts in PelConvert.

  • Renamed the isValidMarker() method into just isValid() in PelJpegMarker, so that it matches the other isValid() methods found in PelJpeg and PelTiff.

  • Added test images from Nikon models E950, E5000 and the film scanner Coolscan IV ED, and added tests that would read their contents.

  • The shell scripts could only be run from the test directory because of the use of relative paths in the require_once() statements. The scripts can now be run from any directory.

  • A stupid bug that prevented PelJpeg objects from being turned into bytes was fixed.

  • Fixed the output of PelEntryRationals::getText().

Download PEL

PEL is hosted on SourceForge:

http://prdownloads.sf.net/pel/pel-0.6.tar.bz2?download (1118 KiB)
http://prdownloads.sf.net/pel/pel-0.6.tar.gz?download (1273 KiB)
http://prdownloads.sf.net/pel/pel-0.6.zip?download (1438 KiB)

Harddisk crash

My harddisk (a Seagate Barracuda 7200, 80 GB) crashed yesterday… it just happened from one day to another. I got errors that match those described in the ReiserFS FAQ, indicating that my disk has bad blocks. When I tried to boot my computer from a RedHat 9 disk, then nothing worked — I could initiate the rescue mode, but the computer shut itself down when the rescue kernel tried to boot.

So there is either something really wrong with my harddisk, and this seems to affect the rest of the system too, or perhaps there is something wrong with the motherboard, the RAM, the CPU, or who knows what… I hate it when my system doesn’t play nice!

I have played with the thought of buying a whole new computer from the German Deltatronic. They make completely fan-less computers (fullfilling one of my long dreams: having a totally quiet computer), and by buying a whole computer that they’ve assembled and tested gives me some sort of confidence, that it will remain stable. We’ll see what I decide to do…

PEL version 0.5 released

The PHP EXIF Library (PEL) is written in pure PHP and makes it easy to read and write EXIF headers found in JPEG and TIFF images.

Notes

This release has been tested with images from a number of different camera models (from Fujifilm, Nikon, Ricoh, Sony, and Canon), leading to the discovery and fixing of a number of bugs. The API for PelJpeg::getSection() was changed slightly, making it more convenient to use. All classes and methods are now documented.

Changes

  • Some images have content following the EOI marker — this would make PEL thrown an exception. The content is now stored as a PelJpegContent object associated with the fictive marker 0x00.

  • Added code to handle images where the length of the thumbnail image is broken. PEL would previously throw an exception, but the length is now adjusted instead, and the parsing continues.

  • Fixed a number of bugs regarding the conversion back and forth between integers and bytes. These bugs affected the parsing of large integers that would overflow a signed 32 bit integer.

  • Fixed bug #976782. If an image contains two APP1 sections, PEL would crash trying to parse the second non-EXIF section. PEL will now just store a non-EXIF APP1 section as a generic PelJpegContent object.

  • Removed the PelJpegSection class. This lead to a rewrite of the PelJpeg::getSection() method, so that it now takes a PelJpegMarker as argument instead of the section number.

  • The byte order can now be specified when a PelTiff object is converted into bytes.

  • Updated documentation, PEL is now fully documented.

Download PEL

PEL is hosted on SourceForge:

http://prdownloads.sf.net/pel/pel-0.5.tar.bz2?download (354 KiB)
http://prdownloads.sf.net/pel/pel-0.5.tar.gz?download (514 KiB)
http://prdownloads.sf.net/pel/pel-0.5.zip?download (676 KiB)