donderdag 26 februari 2009

Picture organizing software

I have used Photoshop Elements for about 4 years now, starting with PE3, and now PE6. It's nice, though not free. I primarily bought it for organizing my pictures, and have come to appreciate the many editing capabilities as well. But, I have found some pretty annoying 'features' as well:
  • By now there are some 12000 pictures in it, and the organizer is getting really slow (on my AMD Athlon64 3000+, 2GB). You use the organizer constantly, so that is a problem.
  • The tagging system is basically very good. But the interface to work with it is not. All tags are displayed in a hierarchial list. You assign tags to photo's by dragging the tag to the photo. For searching, you click a checkbox in front of the tag. If you have many tags (I have), you're constantly scrolling the tag list. You cannot easily do this with some shortcuts.
  • You cannot zoom further than 'fit in window' in the organizer itself. For that you have to start the preview (F11). Which has another problem: it is horribly slow on RAW files.
  • The editor has very many functions inherited from it's big brother Photoshop, and together with my Wacom tablet it's a fun to use. If... it would not crash about every 5 minutes. I must say, on the aforementioned PC. On my Dell - Intel laptop, this problem is not present.
  • The program is very eager at doing things automatically. Just now, I switched to it (simple Alt+Tab), and then it started 'updating...' for 2 minutes or so. No clue what needed updating though....

One thing on the upside: As of version 6, PE uses an SQLite database for it's data. So with some SQL knowledge and common sense you can do some nice things. Like moving all the pictures to another disc.

Well, if PE is starting to fail on me, let's look at all those free alternatives that have emerged lateley. After some reading on the Internet I decided to try Picasa 3 (I was already using 2 for exchange with PicasaWeb), open source My Photo Index and Microsoft Photo Gallery.

My Photo Index: Indexing the first small directory of pictures looked promising. So let's try one with (Panasonic FZ-50) RAW files in them. Hmm, it stops responding. That's not good. OK, it's open source and .Net, so theoretically I could try to fix this myself. But hey, I was working on my other hobby now.

Picasa 3: Indexing goes well, also with the RAW files. As per version 3 it also correctly recognizes multi-word tags (instead of breaking them up), that's nice. Less impressive: labels can not be ordered in a hierarchy. Let's try the search. Simple search box in the upper right corner. Type in 'cat': It matches not just on the label, but on all sorts of things. I cannot find an option to search just the labels, let alone to combine multiple labels. PE is doing far better here! Adding labels however, can be done entirely with the keyboard. I like that.

Photo Gallery: This is Microsoft, so 'My Pictures' is by default indexed. And cannot be deleted from the index either. Well, MS, not everyone saves his pictures in 'My Pictures'. Duh. However, you can add other directories as well. From here the story is pretty much the same as with Picasa. No hierarchy, no obvious way to add labels, same search-problems. File | Exit.

So, the sad conclusion is that I will have to stick to PE, or install Linux on my main machine. Since digiKam or F-Spot is said to do this very well. But that is still one bridge too far for me.

However, while writing this I have gave F-Spot a try on my secondary PC with WUBI (Ubuntu alongside Windows). Wow! Tagging with the keyboard, hierarchical tags, search on multiple tags (And + Or functionality), correct import of multi-word tags and RAW files. If you press '/', you get a Find-typing area that understands both tags and filenames. It just does as promised. Why can't all the others do this??? Maybe I should turn over to Ubuntu after all. Whooaa, I need some time & beer to get used to that!

If you have any other good ideas, please keep me and other readers posted.

dinsdag 17 februari 2009

Visual Studio extensions

Resharper is said to be very good, although it slows VS down. I don't know, because I never used it and I do not intend to pay that much money. Recently I installed two extensions that I'm very happy with. Both are free!

- CoolCommands, with info in the makers' blog, here and here. The newer PowerCommands looks a lot like it, it might be a rebranding.

- Exact Magic Studio Tools. I like the powerful Go To command the most. It's definitely something that should have been a part of the Solution Explorer all along.

Pictures backup strategy

This week there was a discussion on the Panasonic FZ Yahoo group about backup strategies for al those pictures. I also added my own. Maybe it can be of help for you too. (BTW: I have a Panasonic FZ-50. Very good camera in the niche between really compact cameras and DSLR's.)
------
I've seen a lot of nice options, yet I add my own for anyone who still
isn't satisfied.

Most solutions in this thread use synchronization. My problem with that is when you did something stupid (deleting that nice picture for example) but you notice a little while later, after the sync, your backup won't save you.

That's why I use backup software, Peters Backup (http://pbackup.sourceforge.net/), simple, free and open source. Configuring it requires you to be a little bit of a geek, but after that you're all set to go. It can make incremental and full backups. It can also save 'the history' (multiple versions) of files. I make a full backup once in a while, and incrementals every time I add new pictures (before deleting them from the memorycard). I even added a clever MSDOS script for automatically saving the previous two full
backups, and deleting the oldest. Incremental is quick, so no problem there. The format is plain and simple zip, so you can get it out anytime. The backup goes to an external USB harddisk. If you need more speed but your computercase is full, try e-Sata (external SATA).

Last but not least: At the end of the year (ok, that's should be more often) I burn the pictures to DVD and bring them to my brother who lives nearby. That gets me an off-line and off-site backup, all in full-format (even raw if I want to), something most online storages won't give you. Plus a good cup of coffee, something I have never seen in any online storage :-)

maandag 16 februari 2009

Log level Synergy service

I use the excellent tool Synergy for using my mouse & keyboard on multiple computers. It can also run as a Windows Service, see the manual.
Annoyingly, it kept showing me warnings about not finding the server side when I'm at work (it's configured to work with my home PC as the server). Here's how to set the log level for the Synergy service on Windows:
- Stop the running service.
- Start the Synergy program from the Start Menu.
- Click 'Autostart', then 'Uninstall' - that uninstalls the service.
- Set the logging level (to Error).
- Click 'Autostart', then 'Install' - that re-installs the service again.

Now the service will remember the configured logging level.

donderdag 5 februari 2009

What type?

I always get confused on how to get to the type of anything in VB.Net. So I sum it up here and now:

Let's say we have a class:
Class Relation
and an object:
myMother As Relation.

For comparison: TypeOf myMother Is Relation

For retrieving the type from the class: GetType(Relation)

For retrieving the type from the object: myMother.GetType()

woensdag 4 februari 2009

Short usage of String.Split

For some reason I don't seem to have a file in my head for the most efficient usage of the .Net String.Split method. Especially the inline declaration of the array of separators always fails. So, when I found out today I decided to note it here. For myself and everyone else:

For more than one separator:

VB: Dim SplittedStrings() As String = InputString.Split(New [Char](){";"c, ","c})


C#: String[] SplittedStrings = InputString.Split(new Char[]{';', ','});

For just one separator:

VB: Dim SplittedStrings() As String = InputString.Split(";"c)

C#: String[] SplittedStrings = InputString.Split(';');

dinsdag 3 februari 2009

Mapping of different NHibernate collection types to .Net

Today I had to create a many-to-many relationship with some attributes of its own in NHibernate. I ended up with a set construction with a composite type embedded, like shown on page 229 of Hibernate in Action.

That left me with one question: How to represent the <set> in .Net? There is no built-in Set type. However, NHibernate solved that by using the Iesi.Collection.dll, which is part of the NHibernate download. On the blog of rextang I learned this mapping:

<bag> IList
<list> IList
<set> Iesi.Collections.Iset (from the Iesi.Collections.dll assembly in the \bin folder of the NH distribution)
<map> IDictionary

And it works!

maandag 2 februari 2009

Wubi Ubuntu boots into CLI

I have a spare PC running Windows XP and Ubuntu through a Wubi installation. This evening Ubuntu wouldn't start normally. Instead, it just showed me the command line interface, starting with "(initramfs)". Not good.

Searching on the Net I stumbled upon the phrase "Ubuntu cannot be booted if Windows has not been shut down cleanly" on the WubiGuide. That made me think that indeed I had not shut down Windows properly before. So I did a checkdisk on both volumes (Windows is on E:, the Wubi files are on C:, don't ask me how I came to this odd configuration), restarted into Ubuntu and everything was fine again.