Christian Heilmann

You are currently browsing the Christian Heilmann blog archives for April, 2006.

Archive for April, 2006

Cutting down on loop iterations with labels

Friday, April 28th, 2006

Just a quick reminder that you can drastically cut down on loop iterations by using the break and continue commands, and that there is an option to label loops to allow nested loops to stop their parents from iterating.

The Muffin Man Stuart Colville asked me earlier today how supported labels are in loops and breaks and I was confused at first as I had not heard or – more likely – forgotten about that feature.

A DOM scripting enhanced template for Picasa (updated)

Friday, April 28th, 2006

It took me a while to find a tool to put my pictures on the web that does not create horrible HTML code and isn’t clunky to use. Most picture packages have outgrown their usefulness over the years and have become bloated media browsers with proprietary formats.

Then I discovered Google’s Picasa and was instantly taken by its simplicity and slick interface.

I now discovered that you can “Pimp your Picasa” with own templates and created one myself.

You can download the template as a zip and unpack it to the template folder of your Picasa installation (on my PC this is c->Program Files->Picasa2->webtemplates). The template zip contains all the files in a folder called “dompreview”.

To export images, all you need to do is highlight them, press ctrl+w, choose the template and the image size and Picasa will do the rest.

The template features

  • HTML standard compliant output
  • Display of the big images in a layer above the thumbnails instead of a new page if the visitor has JavaScript enabled
  • Normal “new page” display when JavaScript is not available.

You can tweak the styles.css to your needs.

For a demo check the Santorini Picture Gallery .

The only thing I am missing a lot is that you cannot define alternative text for the images in Picasa, or am I missing something?

Update Following several requests, the large picture will now always stay in the visible area when you have to scroll the page, and not stay glued to the top. All you need to replace in already existing galleries in the dynpreview.js file.

Thar he blows – 31 yesterday

Thursday, April 27th, 2006

Together with the Chernobyl disaster, I also celebrated my birthday yesterday. The cake and the candles were last minute buys and not planned to be what they are. We had fun though.

Good-Bye Easyletter

Thursday, April 27th, 2006

I just deleted my old PHP script EasyLetter from the server. EasyLetter was meant as an easy way to offer a newsletter for your web site and send out emails. It got some good recognition after once being featured on ScreenSavers, but I chose to discontinue it for several reasons:

  • It is not spam safe and can easily be abused
  • If you want to offer newsletters, get professionals to deal with the sending and data protection – there is just too much to keep up with
  • I don’t have the time to answer problems with people’s server configurations any longer
  • RSS feeds are dead easy to offer and are voluntary, not enforced data

So please don’t bother asking me for support for EasyLetter, I will not be able to answer, sorry. I might make it open source if there is interest, but I am not at all proud of it and email spam is too annoying a subject not to leave it to professionals.

Safari, small windows and DOMcollapse

Saturday, April 22nd, 2006

I just had a lot of complaints telling me my free script DOMcollapse is crap (I sometimes wonder why I bother to offer these things as all you get is complaints, half of which caused by bad implementation /rant) as it doesn’t work in Safari in a certain situation.

The problem reproduction sounds like an old school text adventure:

For Safari only, it works in other browsers

  • collapse the open item
  • make the browser window small enough to show a vertical scrollbar
  • expand the element again.
  • the scrollbar changes, but the section is not shown – unless you resize the window a bit once more

Is there any workaround? I don’t want to do things like window.resizeTo to force a refresh… And if I have to, is there a safe object detection that only targets Safari?