Feb 11 06

I’m in the process of teaching myself how to use Git. I’ve been using SVN for the last several few years and CVS before that.

Precondition: I use the Eclipse IDE and it’s become really dear to me.

So, I asked a nerdy colleague for advice: “Dude, has EGit reached a mature state or should I learn command line Git?”
The nerd says dryly: “Using the command line invigorates your personality.”

Ouch, message understood.

Feb 11 04
  • Checkout the mojo source code
  • Run mvn install on the mojo
  • Change to the project that uses the mojo for its build
  • Run mvnDebug <whatever options> -> Maven waits for a debugger to attach before executing
  • Setup a new remote debugging configuration in Eclipse, using the plugin project for source and connecting to localhost:8000 (Maven tells you which port when you run mvnDebug)
Jan 11 17

More than a year ago I first spent time looking for the perfect in-ear headset. Since I didn’t have many choices at that time I put my decision off – until recently. I scanned the market again, read reviews without end, and finally selected four models for testing:

  1. Klipsch Image S4i
  2. Bose MIE2i
  3. Etymotic hf3
  4. V-Moda Remix Remote

And the winner is…hang on – we’re not there yet. Preconditions: I love music but I’m not an audiophile. I judge sound quality not scientifically (high, low, mid-range, etc.) but in simpler terms. I mostly listen to music from the iPhone while commuting. Hence, noise isolation is important, my neighbor’s phone babbling isn’t. I believe my ears have standard size more or less. Among the four chosen candidates price isn’t an issue for me, I’ll buy the “best” i.e. most suitable of these. I have no brand preference whatsoever. I’ve been using Sennheiser in-ear phones (no headset) for the last two years and I’m very happy with them.

I first unpacked the Klipsch buds. I put them on and was disappointed by the fit. In fact, they hurt. So, I exchanged the fittings with larger ones. They fit a little better. I later learned that it takes some getting used to (meaning they feel better after a few minutes).

Then I tried the Etys. Same story, just worse. They come packaged with the small 3-flange eartips and I had to exchange them for the regular grey 3-flange eartips. The fit was a little better, but since these go down the ear canal instead of just sitting in your ear lap, it still is a little odd and it hurts. It feels like the eartips are too long for my ear canal.

Already a bit worried – didn’t I say I thought I had standard-size ears? – I tried the Bose buds. Their “revolutionary design” promises super-comfy earphones. Really, putting them on is odd, they look terrible but they fit perfectly. You barely notice they sit in your ear. Pure comfort!

V-Moda Remixe Remote hurts my ear due to sharp edges

V-Moda Remixe Remote hurts my ear due to sharp edges

Last but no least, I tried the V-Moda. Similar story than with the first two. The “standard” eartips are the (too) small ones. That may look more stylish on the marketing photos but they hurt. The metal-edges are just too sharp. After I exchanged the eartips with the larger ones the fit was perfect – like with the Sennheisers. The eartips are large enough to keep the sharp edges away from the sensitive ear skin.

While exchanging the V-Moda eartips I noticed that the construction of the tips and the “tube” underneath it is almost exactly like with my current Sennheiser buds.

V-Moda vs. Sennheiser, where's the difference?

V-Moda vs. Sennheiser, where's the difference?

The first sound check was devastating – for the Etys. The best purest sound comes from Bose. The sound is nicely balanced and crisp clear, a delight. The V-Modas are a bit on the “heavy” side, an extremely rich and full sound. I like the bass. It’s not overly prominent but it’s strong. The Klipsch are somewhere between, very clear and nicely balanced sound. And the Etys? Well, they sound thin and shallow, a real disappointment.

→ The Etys are out, sorry.

So, I moved on to compare the various connectors. The Sennheisers traditionally had a 90° plug which I like a lot for various reasons. V-Moda and Bose (plus Etymotic for that matter) now use a 45° plug while Klipsch has a straight one. The straight plug is my least favorite. The Bose connector stays closest to the device, I guess it’s less than 45°.

Top to bottom: Klipsch, V-Moda, Bose, Sennheiser

Next test was noise isolation. I don’t say noise-canceling because for me canceling is active while isolation is passive. I said in the beginning that noise isolation is rather important for me. However, I wish it wasn’t because this requirement actually killed the Bose candidate. Due to their design they offer virtually no isolation, what a pity. V-Moda’s isolation is really good and also the Klipsch are not bad. The Etys offer nearly 100% isolation but this comes at a price (see above).

→ For Bose the game is over, soooo sorry.

Interestingly, both remaining candidates have the mic where the left and the right cord meet on chest level. Bose and Etymotic have the mic “box” dangling on the right cord around your mouth/chin. I compared both the mic quality and how easy the control buttons are to operate. To judge mic quality I made a number of recordings with the iPhone’s built-in Voice Memos app. If the room is quiet the V-Moda mic and the Klipsch mic perform equally. With background noise Klipsch filters more effectively. The Klipsch control buttons are easiest to operate both thanks to the nice tactile feedback and the button shape & size. V-Moda is close, though. It’s generally easier to use headphones which have the control panel on chest-level. You can’t see which button you touch when the control panel is right of your mouth. Besides, the Etymotic’s control panel’s buttons are ridiculously tiny (3mm in diameter).

Buttons (play/pause, volume up/down): Klipsch, V-Moda, Bose (back to front)

Buttons (play/pause, volume up/down): Klipsch, V-Moda, Bose (back to front)

So, who’s the winner now? Well, I don’t know yet. My summary…

For anyone not interested in noise isolation I’d recommend the Bose buds: perfect fit, best sound, clever plug, just about acceptable controls. No wonder they have near perfect rating at Apple and Amazon.

Personally, I have a hard time deciding between V-Moda and Klipsch. V-Moda is more comfortable to wear, the sound is full with a tendency for too much bass, the plug is 45° and the controls are ok. Klipsch rates second in sound quality, best in control panel and mic but they’re a little less comfy to wear than V-Moda at first. On the other side V-Moda suffers quite a bit more from cable noise than Klipsch.

Nov 10 21

Assume entity A has a one-to-many relationship to B. So, you’d have a method like A#getBs(). However, sometimes you might/will only need the number of Bs and not the entities themselves i.e. you need the count. However, if you called A#getBs()#getSize() you’d effectively initialize the collection and thereby loading entities into memory for no reason.

Today I learned that Hibernate has an extra-lazy mode that detects such cases. It issues the proper “select count(id) from A” SQL statement instead of “select … from A” in the background: @LazyCollection(LazyCollectionOption.EXTRA)

The enum’s JavaDoc is very terse but there’s a nice article here: http://sites.google.com/a/pintailconsultingllc.com/java/hibernate-extra-lazy-collection-fetching (also stresses the difference of list vs. bag semantics). If you happen to have a copy of “Java Persistence with Hibernate” you’d find this in chapter 13.1.3 on page 567.

Nov 10 10

A couple of friends are working on something truly magnificent: spontacts, short for spontaneous contacts. Since their website http://spontacts.com/ is not yet available in English I’ll quickly outline below what Spontacts is about.

Spontacts is based on a simple idea: people want to do exciting activities in their free time. They want to play tennis, go for a hike, play card games, make music together, go dancing etc. However, only a small fraction of our leisure ideas are put into practice. Why is this?

Despite social networks, mobile phones, email etc, it is
  • Hard to find people who have time: A tennis double among friends, for example, needs to be planned weeks in advance – as it is hard to find a suitable date in a spontaneous way.
  • Hard to find suitable new leisure partners: there are numerous people who share the same leisure interest, e.g. windsurfing. But where to find them? Even more difficult: How to meet with them for an activity?
  • Hard to find the right activities on offer: there are lots of leisure activities happening in a city. Still, it is not easy to know if anyone goes jogging or plans a poker evening in my neighborhood. Similarly, there are hundreds of concerts, courses, etc. every day. They are published in event calendars which can’t be filtered according to personal interests. So which one to choose, and where to make new friends?

My friends hinted that Santa might bring us a new Spontats version with much better social network integration. One more reason to be looking forward to Santa coming to town!

Have fun!
P.S. You may also find Spontacts on Facebook: http://www.facebook.com/Spontact
Sep 10 18

As many other users I was everything but pleased when Apple replaced the nice Aqua skin in iTunes 10 with an essentially black-and-white “graphite” skin.

With the modified skins published at http://macthemes.net/forum/viewtopic.php?id=16805800 I was able to breath new life i.e. color into iTunes 10. I’m using the “Aqua, colored sidebar & v10 standard caption buttons” skin which makes iTunes 10 look more or less like it used to be.

Those who would want to fiddle around themselves could use ThemePark to edit iTunes.rsrc.

Looking for a more stylish iTunes icon I came across http://www.toffeenutdesign.com/goodies#itunesten which I really like.

Sep 10 08

When you search the Internet for answers to questions like “Why does Windows Explorer take so long to start” or “Windows Explorer takes too long to start” you’ll find thousands of hits. One I can recommend for a nice overview is here: http://ask-leo.com/why_does_windows_explorer_take_so_long_to_display_sometimes.html

As mentioned in the article the cause usually is that Windows stumbles over a remote connection i.e. a mapped network drive that became invalid or unreachable. HOWEVER, what many overlook is one very important Explorer setting:

Tools -> Folder Options -> View -> Automatically search for network folders and printers

Activating this flag may easily slow down the start of Windows Explorer by 30-40 seconds!

Aug 10 17

I recently managed to mess up my Mac mini while resetting PRAM and NVRAM. I did reset them indeed but something got corrupted because the mini would hang at the blue screen with the spinning beach ball re-appearing time and time again. Strangely I could still connect to it with SSH and file sharing worked, too.

I tried lots of things such as resetting the System Management Controller (SMC) and booting from the Snow Leopard install DVD to verify and fix permissions/disk.

I found an interesting post in the Apple forum from someone whoes log file showed the same type of errors:

Login Window Started Security Agent
Login Window - Returned from Security Agent
AuthorizationRef returned errAuthorizationDenied. Exiting.

The post mentions a “corrupted authorization file” but that didn’t help me much (where is this file?). Googleing for that lead me to a blog entry labeled “LoginWindow crash” which explains things quite detailed. A second hint came from the insanelymac.com forum, thanks.

In the end you need to replace the authorization file at /private/etc/authorization with either

  • authorization~previous in the same folder
  • or the one from the OS X install disk at /Volumes/osx/private/etc/authorization
Aug 10 04

So much information on Spring OpenID is outdated so quickly…Lots of articles and blog entries describe solutions with Spring Security 2.x which is slightly different from 3.x.

I recommend sticking with the sample application at http://repo1.maven.org/maven2/org/springframework/security/spring-security-samples-openid/<your_version>/spring-security-samples-openid-<your_version>.war as a reference. Also, I found http://www.packtpub.com/article/opening-up-to-openid-with-spring-security quite helpful.

One caveat though is worth mentioning here: the Spring sample application does not work with Google and Yahoo OpenID (and probably many more). The reason is explained in the above article, just scroll down to “The OpenID user registration problem”.

For my sample application I didn’t implement registration just yet. So, when I used Google’s generic OpenID URL https://www.google.com/accounts/o8/id for the input field in openidlogin.jsp I was able to authenticate against my Google account but Spring complained as none of the user names listed in applicationContext-security.xml matched what Google returned. Quick-fix: check your application’s log file for “Verification succeeded for: https://www.google.com/acc”….That URL is the effective user name you should paste to applicationContext-security.xml.

Jul 10 17

We just returned from a friend’s wedding in Finland. The wedding is too private to be discussed in public but we spent a few days in Nagu/Nauvo afterwards that seem worth mentioning. Why? Because we feel the village is a tourist trap.

Before describing our days in Nagu I should explain why we decided to stay there in the first place. Well, the wedding took place in Helsinki and we didn’t want to drive away 100s of kilometers from Helsinki. We had 5 extra days to spend and my wife is 7 months pregnant. Hence, our options were somewhat limited. We were looking for a nice and cozy place by the water (lake or ocean) to relax.

An Internet search turned up Nagu and the Hotel Strandbo – one of the only two(?) hotels in town. It seemed like the perfect combination: small village in the archipelago, cozy hotel, harbor and beach.

What we found was a hotel that didn’t live up to its promises and a lovely village turned into a tourist beehive by

  • hordes “boat people” who used the harbor facilities (gasoline for their yacht) and near-looted the local supermarket
  • day-tourists strolling along the few usual gift shops at the harbor

Ok, enough ranting – get in touch with me if you want to more about Nagu or its Hotels and Restaurants – let’s move on to the one really positive experience: the archipelago walk ways. We picked up a brochure at the harbor that lists a number of walk ways (aka trails) in the archipelago. Each trail is nicely described and depicted with a perfect map. Since we desperately wanted to leave the beehive they were a wonderful retreat. The brochure is not available online but I scanned a few maps.

Overview

Archipelago walk ways (aka trails)

Archipelago walk ways (aka trails)

Each trail is well marked/flagged. Along the way you’ll find signs with interesting or helpful information about the are – we thoroughly enjoyed each and every trail we took (read on).

The problem with the trail brochure is that there’s no map of the greater Nagu area which would indicate how to reach the various trail heads from Nagu. The scale of the overview map is too big and the trail maps are too specific. Hence, you have to find some other map (or GPS) yourself.

Nagu

Nagu village map showing the local walk way

Nagu village map showing the local walk way

This trail is perfect to learn a bit about Nagu and its history.

Finby

Greater Nagu village area map showing the Finby walk way

Greater Nagu village area map showing the Finby walk way

Explore the “outskirts” of Nagu. Considering the size of the village the soccer field is quite impressive.

Grännäs

Grännäs walk way map

Grännäs walk way map

The Grännäs trail is special as you’ll be walking right through the forest – not on on roads or paths. Every few meters you’ll see a colored band that leads the way. At the beginning the route nearly crosses other people’s properties. I thought it very interesting but since it was very hot and humid (perfect mosquito conditions ;-) ) my wife wanted to quit after the first quarter. So we did…there where the two black arrows on the map meet. We crossed the field (yellow on the map) and followed the road westwards back to the trail head.

Along the way you cross what appears to be the perfect alternative to the busy Nagu accomodations: http://www.grannasgard.fi/

Varberget

Vargberget walk way map

Vargberget walk way map

Of all the trails we liked this the best. It’s a short but interesting hike up to Varberget (wolf hill/mountain) but the at the top there’s cool watch tower that offers a magnificent view over the archipelago. Let me know if you happen to find our comments in the guestbook on the tower…

Kasberget

The trail head is easy to find as it’s right next to the main road leading to Nagu (coming from Turku). There’s also a sign next to the road pointing to the parking – which is at the bottom of the local ski jump.

Kasberget is the highest peak in the archipelago. It’s some 65 meters if I remember correctly. Nice view at the top, romantic stroll through the forest, very interesting info boards along the way and at the top.