Thursday, March 27, 2008

JBoss gear at Cafepress

Cafepress now also features some JBoss.org gear. I'd really like to have them lower shipping cost. A mouse pad for $11 costs $7 for international shipping and even a mini button for $1 costs $4 for intl. shipping. But it is nevertheless good to see the stuff up there.

Marlene is one year old

Man, this last year passed quickly. My little daughter has her first birthday today. Orlando was already singing her "happy birthday" in his comedy version.

So also a happy birthday from my side, Marlene!

Wednesday, March 26, 2008

German Groovy Book

Joachim Baumann has written a German book on Groovy. I just got my copy in the mail.
With nearly 600 pages it is a bit fat for my personal taste (one of the comments about my JBoss book was "Your examples are terse - it is obvious that you have a C background", but it basically covers everything.
Joachim has a nice casual style and the gift to sprinkle the book with citations of (famous) other works of literacy.

Check out the following weblinks for more information about it:


Congratulations, Joachim!

Cool stuff: alltop.com

I recently stumbled over a service called alltop without really knowing that this is new etc. I thought "how nice, all mac related blogs" aggregated.
Meanwhile I found an anouncement about it on the blog of Guy Kawasaki (as he is a co-founder of the company that runs that site).

Wednesday, March 19, 2008

QNote.app updated to v0.4

I just updated QNote.app to version 0.4.

Most notable change is the built in possibility to search for notes and to edit them again.

Cocoa: spotlight queries

For QNote.app I implemented a built in spotlight search.
With Spotlight it is easy to search for content on the whole computer. I just wanted to restrict it to my notes database. NSMetadataQuery knows the method setSearchScopes: for this. I set the scope to the directory just before starting the query, as I set the search predicate. Unfortunately I always ended up with at most one result, even when I knew that there would be more.

The solution to this was to directly call setSearchScopes: after initializing the query:

_query = [[NSMetadataQuery alloc] init];

// Restrict the search to our working directory
NSString *path = [@"~/Library/QNotes" stringByExpandingTildeInPath];
[_query setSearchScopes:[NSArray arrayWithObjects:path,nil]];


Now I am correctly seeing all results.

Btw.: Ars technica as a nice article about spotlight, even if it ends up in Spotlight gui bashing at the end. But the first half is a good read.


Apple also has a good overview article.

Saturday, March 08, 2008

Two little Mac OS X apps

I released two little Mac OS X apps:

  • Pinger.app: a little GUI tool that pings a remote at regular intervals to see if the network connection is ok.

  • QNote.app: a little application to create and store notes on your computer.


  • Check out the individual pages for a more detailed description.

    Both little apps are at version 0.3, so don't expect too much. I wrote them because I wanted to do some Cocoa programming and also because I needed what they do.

Thursday, March 06, 2008

iTunes remote control

I have my iTunes library on my Mac mini with an attached RAID and the big stereo attached.
When I am now working on my Macbook, I still want to hear music without always going into the server room to operate iTunes.
This is one of the reasons why I wrote the little AppleScript described in another posting.

But this solution as nice it is, is not the best. Some searching around led me to
iTRC



iTrc is a little desktop app that lets you remote control another iTunes instance. You can select the various playlists you have, search your library and have the results playing as a new playlist, jump to next and previous songs and also rate the currently playing song.

iTRC is published under the BSD license and available as source and binary.

Very nice little app!

Sunday, March 02, 2008

Use Liberation Fonts (on the Mac)

Red Hat is providing replacement fonts for some popular fonts that are used in some other operating systems and especially often in Office documents. Those fonts are called Liberation fonts and can be obtained from this page. The fonts are published on a variation of the GPLv2, that has the exception that if you embed the font in a document, the document itself will not fall under GPLv2 for this very reason (but please read the license file yourself, IANAL.


I installed them on my Mac, which is really simple to do:


  • Download liberation-fonts-ttf-3.tar.gz

  • Double click to unpack them into a folder

  • Go into the folder and read the LICENSE.txt

  • Click on the individual .ttf files to open the font collection app

  • Check in preferences if you want to install the fonts for all users or only you

  • Click on install


And you're done ... The liberation font(s) can now be used as any other font.

Saturday, March 01, 2008

EJB 3.1 first public draft available

The EJB 3.1 expert group published the first draft of the upcoming EJB 3.1 spec.

New stuff in EJB 3.1 (in relation to 3.0) is:

- no interface view for session beans: here you need no local interface anymore in order to expose the beans methods to local clients. Of course a remote interface is still needed for remote access. This no interface view is (also) convenient if you want to expose a bean as web service a la JSR-181.
- singleton session beans: Those are basically session beans that can be accessed as such by clients, that exist like singletons in the pure Java SE case
- calendar based expressions for timer creation: It is now possible to create timers where the fire date is given by a cron like syntax. The timeout method can be speficied by @Schedule. If @Schedule is augmented with the cron like date, the system will automatically create a timer for it.
- allowing to package ejbs in a .war
- asynchronous invocations of session beans: A sssion bean method marked with @Asynchronous can be be called by a client via the ususal session bean invocation semantics (remote, local, no-interface) but will run asynchronously like the onMessage() method of a MDB, but doesn't need e.g. JMS for this. It is for the client possible to retreive results via a Future object.
- a few clarifications over the old standard

This looks very promising to me.

The draft is available from the spec space at JCP.org. Unfortunately only the full spec document is available and not the simplified one as in EJB 3.0.

Article about RHQ in Red Hat press

Red Hat press is featuring an article about RHQ. It basically gives a short introduction to it.

Read it online at Red Hat press.

And don't forget to contribute :-)