what’s the best pictureviewer for xp/vista?

First, a bit of history:

before XP, I used acdsee on win98/win2000/nt but the person who developed this thought it was a good idea to put tons of useless features into it without thinking about the fact that an application needs a intuative userinterface, and then decided that it also needed nagscreens, banners and other irritations. So goodbye acdsee. This frankenstein is killed some time ago by it’s creator and now lives on as a zombie.

On XP i’ve been using the standard windows picture viewer, which is simple and good. It shows all my snapshots and allows me to browse and print them. In combination with explorer, you hardly need anything else.

But what about the other popular formats, most importantly png and psd (photoshop) files. Because microsoft does not seem to like them they are not supported by the standard XP viewer. And then you might want to do some simple editing, like rescale or contrast correction on a few pictures. At that moment, you realize thet you need an alternative.

Well, vista finally arrived. And with it came the brand new photo gallery and solved all my problems…not. Although png file support is ok, psd files (from microsofts big enemy adobe) is still not supported, and the edit possibilities are still minimal.

Then i tried picasa, but that is not a picture viewer, it is a digital photo album.

so my wishlist was as follows:
– at least jpg, gif, png and psd format support.
– some simple editing options,
like scale, crop, contrast/hue/brightness, rotation, flip
– a real picture viewer with explorer-like file management.

In comes irfanview. This seems like a decent picturemanager, but it has a lot of drawbacks. First, the brain of the developer and my brain seem to be so different, that nearly all defaults are wrong. If you click on something, it always does NOT do what you want.
Example: the save-floppy icon is save-as, not save as you expect. Also, try to get the picture scaled to the window automatically, but keep its ratio. This should be the default setting, but in irfanview you need 20 minutes to figure out how to do this.
Then, try to edit a picture. You need to wade through hundreds of options, none are relevant until you find out it can not do what you want.
Finaly, irfanview is incredibly slow. The XP standard viewer shows pictures on avarage 50x faster than irfanview.
Conclusion: irfanview is bloatware that needs a serious rewrite. Its an application only a mother could love.

Googling for alternatives i came across firegraphic, paperstore, thumbsplus, compupic..

Then I found xnview. XnView is a better viewer in all aspects than irfanview or acdsee. It has a better userinterface, has a lot of options and features, and they are placed in the way you would expect them, its very fast and supports a lot of fileformats. A big advantage is it’s browser screen which has a good explorer-like feel. And it’s free.
The main disadvantage is that it also tries to implent too many features and options, but it does not become completly unusable, and the defaults are well chosen. Furthermore it does not have a modern userinterface like picasa.

What is it that picture viewer developers seem to think that the number of features is more important than the usability? Do we need to wait for windows7 before we get a decent picture viewer/editor in windows? Or is there a viewer that can do simple editing and is fast and passes some simple usability criteria?

Flash memory reliability

During my trip to China a few weeks ago I met Ernst Fuld again. Ernst is CEO of the NGN, the dutch IT-professional platform. He told me that he has tried to test some usb-sticks and see if they could be written and erased so many times that they break. As you probably know, flash memory can only be written a limited number of times. Each time you erase (rewrite) the memory cell, there is a slight chance that it breaks. Normally, the memory is guaranteed to last for 100000 rewrites, but has anybody tested this on a regular usb stick?

There is a problem however. The sticks are known to use a technique called “wear levelling”. The data you write to the stick is remapped to memory area’s where the number of rewrites is the lowest. This means that you cannot test 1 cell by re-writing a small file over and over. You have to fill the WHOLE stick in order to rewrite all cells. And even if you manage to break a cell, there is also error-correction logic and bad-block remapping that will correct the error without notice. So the flash memories seem to be unbreakable.. or not!?

That’s why I wrote this simple app: Flashkiller. It’s a free download so you can test the reliability of your memory stick yourself. If you broke a usb-stick or memory card with it, please respond to this post!

May 2 update: the kingston 512mb is now @19000 rewrites and still without an error..

june 13 update: The kingston is DEAD. After 65000 writes it becomes a read-only stick. Nothing can be written any more, and when i try to write it gives an error!!!!

Een office in china?

Dit lijkt moeilijker dan dat het is. Als eerste natuurlijk de keuze van de plaats. Na ons bezoek aan Shanghai werd wel duidelijk dat het daar lastiger gaat worden: de stad is overvol, de lonen stijgen en de chinezen zijn nu vooral zelf heel ondernemend en hebben in steeds mindere mate de buitenlanders nodig. Neem dan Chengdu, de tweede stad waar we een kijkje namen. Chengdu is een van de 2nd-tier steden in China, waar op dit ogenblik de overheid hard de economische ontwikkeling aan het promoten is. En die promotie gaat samen met een mooie welkomst speech tijdens ons bezoek aan de High Tech Zone door een vertegenwoordiger van het gestaalde kader: volledig in het chinees. Gelukkig wordt de speech daarna dunnetjes overgedaan door een goed engels sprekende man die ons uitlegt wat de mogelijkheden zijn.

Continue Reading

the IE6 to IE7 upgrade

I’m using firefox as my default browser, but for testing and development i need explorer every once in a while. A couple of weeks ago, my microsoft update asked my to upgrate to IE7. So why not? well, always reluctant to install microsoft stuff, but if everybody uses IE7, i should at least test websites for this new browser.

So i installed IE7. What a bummer! I got an icon, but that was about it. Clicking the IE7 icon shows the hourglass for a fraction of a second, and then it exits immediately. So i uninstalled it and installed it again. Nope.. Then I reinstalled IE6. Works fine! Continue Reading

Acceptgiro’s printen

Even een item in het nederlands. Wat is het toch lastig om informatie te vinden over het printen van acceptgiro’s, en dan met name het berekenen van de controle getallen.

Uiteindelijk bij interpay de goede informatie gevonden:
http://www.interpay.nl/binaries/IPforms … -34971.pdf

Maar hoe werkt het nou? Vrij simpel. Alle controles worden met de bekende 11-proef (modulus-11 algoritme) uitgevoerd. Dat wil zeggen dat je elk cijfer met een weging optelt en het resultaat deelt door 11. De rest die je overhoudt trek je van 11 af en dit geeft het controle getal.

voorbeeld: (16 cijferig betalingskenmerk)
c000 0567 8901 2345 (c=het controlegetal dat we gaan berekenen)

de wegingen zijn 2 4 8 5 10 9 7 3 6 1 en die moet je vanaf rechts toepassen, en als je klaar bent begin je weer van voor af aan. Dus:

215/11 = 19 rest 6
11-6 = 5 dus controle getal (c) is 5
Indien C = 10 wordt 1 aangenomen
Indien C = 11 wordt 0 aangenomen

dus het betalingskenmerk is dan

5000 0567 8901 2345

Mserv client for windows

Already for a few years, i’m running MSERV, a great opensource mp3 jukebox which is completely client-server and has a good rating- and genre system which allows it to play random music that corresponds to the current mood, current lister etc.

You can rate numbers as superb, good, normal, bad, awful etc. and it takes this into account to play numbers more or less often, depending on your rating. Everybody can rate, so this is a good jukebox to use with a group of people.

There are a few clients available, and I’ve taken MservClient as a base to further develop the windows client. MservClient is written by Marco Schulze and Marc Klinger, and can be found here. Because I’ve changed the whole concept of MservClient, I adopted a new name: Mserv4win. Also, there is not much left from the original code of mservclient. Mserv4win takes the look and feel from winamp and puts it on top of mserv.

Continue Reading

Adding an AUX input to a Mini Cooper or BMW car stereo

I recently bought a mini cooper, because it’s such a great car. (yes, it’s the cooper-S convertible, model 2005, so the only thing it needs is the “cooper works” upgrade)

But even nowadays, a simple aux-input on the radio is not a standard option. And who listens to music without an mp3 player/ipod?

I have bought an Archos mp3 player with 20Gb disk a couple of years ago, and although it’s large and old, and it has a slow USB 1.0 port, it still functions as my music take-away. But without an input on the car radio, it’s useless.

But no worries, a bit of googling suggested a solution.

unfortunately, this did not work for me, as other people in the article suggest, it works only for *some* radio models.

So I started some experiments. First, get the radio out. The plastic cover under the steering wheel is locked by some “clicking” pins, so a hard pull will tear it down. This makes room to unscrew both torx screws on the left and right side of the radio compartment.

My radio turns out to be BMW radio, probably from Alpine.

The back reveals a few connectors:

The pin layout is described in this picture, that can be googled for:

So connecting the audio output to pin 3,4 and pin 10 was the first tryout. Cutting an old PC-USB port connecter in pieces was sufficient to get everything connected: (green=pin3 pink=pin4 white=pin10)

But no success. The problem is that the radio does not “recognise” the aux input, and the MODE key doesn’t include AUX in its options. So what is the trick?

I noticed that turning the volume up and clicking on the mode key very rapidly sometimes DID give the AUX menu for a second or so. So I guessed it should be some kind of impedance/resistor pull up or pull down. So after some experiments I came up with this little thingy:

Basically, it connects the left and right channel with a resistor. To uncouple the audio lines, a small capacitor is used (220n). This seemed to work at first, but some music passages made the AUX menu go away. So I made the resistor smaller and smaller. I also tried to connect it to pin 9 and/or pin 10 as well:

Finally, the best solution for me was this schematic:

Note: Because the output impedance of the MP3 player is low (speaker output, typically 1-50 ohms) the 1k2 resistor does not have a large impact on stereo separation.

oracle vs mysql

after fiddling with mysql a bit, you normally want to use a real database. The limitations of mysql are numerous: no views, no triggers, no stored procedures and so on. For very simple applications its ok, but sql is more than just a select statement. Therefore someday you move over to oracle. Oracle software normally sucks, but their sql server rocks. Its very stable, scalable, unix oriented stuff.

Some do’s and don’ts:
– never run oracle on windows. Its not stable (even less stable than windows itself). It is just not a good combination. You need to reboot it all the time (at least daily) due to memory leaks. Prepare for the worst if you’re following this path.

– Never use other oracle software than their database server. Oracle forms? a joke. Oracle designer? sucks. Oracle installations: Always a pain. I have *NEVER* seen an oracle installation procedure without severe errors. (and that means over 7 years of oracle installtion history)

– Oracle databases are memory hungry. Start with 1Gb, then go up.

– After install, immediately tune up the server parameters. The defaults are not usable. Make your shared pool at least 500M for a 1Gb server, use large dbblocks (16k at least) If you don’t do this, only 2 users can log in

Windows installers – what’s hot and what’s not

The normal case: been busy for my latest project, and after a few days of sweat to produce the finest .exe, I dont care about installation and give the exe to everybody “to try it out”. But nowadays, that’s hardly acceptable: nobody expect an application to be “just an exe” that you need to put in a /program files directory yourself. So what’s availbale?

I’ve been using InnoSetup. From a very simple version that I’ve got a few years ago it has grown to a full blown installation program. It support scripting, is multilangual, and there are aven a lot of design tools especially created for InnoSetup. So it is the obvious choice for me. But maybe there are alternatives.

There is microsoft, with their msi “technology” which is -as usual- very complex wihout much more features. I hate steep learning curves, so after a few tries, I decided not to use it. The concept is good: instead of writing procedural code, you just define what you need installed where, and it does the job for you. But getting rid of a procedural language should make the job EASIER, not HARDER. And there are no real benefits. So goodbye msi.

Then I investigated the “usual suspects”: Wise and Installshield, the 2 top commecial installers available. Everybody with experience with both told me to skip installshield and go straigt for wise, because it was superiour. Because I had a legal version of wise 9, I tried it. But even this newest version has a windows 3.1 feeling, that you might get rid of with all kinds of patches and images, but in the end you are still stuck without normal Windows XP controls (like the green progressbar) And the wise “language” made me sick. If this is the commercial state of the art, then forget it and go straight to open source, because innosetup is way way superior over wise.

After this experience, I forgot about installshield. If this is not better than wise, it is not worth to investigate further.

And then there is NSIS. This is also open source, and is derived from the winamp installer. It is a comic farting lama counterpart of inno. It looks reasonalby good, at least as good as the wise installer, but also here you get a windows 3.1 feeling which goes away after a lot of “cosmetic” stuff.

Conclusion: Innosetup lives up to its expectations and is still my number one choice.

Simple Tabs for your webpage with php

I’ve just finished a new version of the icelandic-horses website. Because it’s a fairly large site, I decided to use tabs on top of the page, to make navigation simple and intuitive.

Just looking for what is available on the net, i found lots an lots of nice implementations, however, they all were very complex, used a lot of javascript or everything was done with images/tables. I wanted a PHP/CSS solution without images, and in fact, it turned out very simple, and looks like this:

(no javascript and only 1 image used: a transparant dot (a gif file of 1×1 pixel, transparant)

Here is the class code:

And here is the CSS. Acutally the whole “tab” look is done with borders in CSS:

And here is a sample how to use this class:

You could use separate php files for each tab-page, or use one “big” php file with all pages. With additem, you just supply the url of the page itself.
If you use separate php files, be sure to include the code above in every file (with an include)
The $curmenu var indicates which tab to highlight. Be sure to set it right, otherwise all tabls are grey