Archive

Archive for the ‘Software’ Category

Again: I love Launchy

February 8th, 2008

Nearly a year ago I stumbled upon a post on lifehacker about Launchy. I downloaded, installed and used the tool - and I had to blog about it.

Now for everybody who does not know it until know: I love Launchy! It is THE tool that improved my whole using-a-PC-experience to most in the last year (next to using Google Reader).

launchy

Launchy creates an search index of all the shortcuts on your PC so you can start any application by pressing ALT+Space and entering a part of its name. It is also possible to open web bookmarks and do calculations. You may even extend its functionality with plugins.

It increases the speed of working with Windows a lot because you do not have to get your hands of the keyboard just to open an application.

Software, Tools, Windows

My booklist

February 8th, 2008

booksMaybe you have noticed my new booklist widget in the right sidebar. In the last years it occurred very often that somebody asked me if I know a good book on a certain topic. I recommended books to my colleagues, students and friends.

Some weeks ago I thought that it would be easier to have place where I list my favorite books so I could point to the list if somebody asks me. Now this is what I have done with the booklist.

I read all of the books in the list by myself and I really recommend them. Of course every book deals with a special topic but mostly the are related to software development.

In the future I want to do more detailed summaries and recommendations of books I just read.

.NET, Java, Software

Spring with AspectJ in Eclipse

January 11th, 2008

SpringSome weeks ago I wrote a custom JSP tag for a Spring project I am currently working on. Inside the tag I wanted to use a Spring bean. Soon I realized that this case had to be handled a bit different because the tag is instantiated by the application server and not from the Spring context. Therefore the simple standard injection mechanism did not work.

Using the Spring documentation I found out that I had to use AspectJ for dependency injection in this case. I added the @Configurable annotation to my tag class. I added the required configurations to the XML files:

1
2
<context:spring-configured />
<bean class="net.einwaller.spring.Tag" lazy-init="true" />

To get the required classes in the classpath of my application I had to add the libraries aspectjrt.jar and spring-aspects.jar. The first approach I took for weaving the aspects into my classes was load time weaving. I achieved this by adding the following to the VM arguments of my Tomcat instance:

-noverify -javaagent:pathtojar\aspectjweaver.jar

The noverify option was needed because the version of log4j caused a problem when starting the server without the option. I configured the path to my aspectjweaver.jar as an absolut path.

Having done all these steps I got my application running again but the load time weaving was a bit annoying. I was not able to change the code of my application while the server was running. The Java VM hot code replace did not work anymore. Restarting the server for every change slows down development performance a lot. So I searched for a better solution.

First I installed the AspectJ Eclipse plugin. I wanted to use the AspectJ compiler for compile time weaving of the AnnotationBeanConfigurerAspect. To do so I had to convert the project into an AspectJ project which changes the compiler and adds some project preference pages (RMB -> AspectJ Tools -> Convert to AspectJ Project).

Afterwards I had tried to add the spring-aspects.jar to the Inpath of the AspectJ Build preferences but that did not work. I moved the JAR file out of the WEB-INF/lib folder and tried to add it again - and it worked! Seems like the AspectJ plugin has some problems withe the classpath of the WTP plugin.

Now I got the shiny AspectJ markers at the top of the classes I marked with the @Configurable annotation. The application runs inside the Tomcat after removing the VM arguments for load time weaving and hot code replace works again - perfect!

Eclipse, Java, Software, Tools

Skype upgrade issues

January 7th, 2008

Today I tried to upgrade to the newest Skype version 3.6.0.244 but I had some issues. Every time I ran the installer it stopped in the middle of the process showing me the following error message:

SkypeError

I found this forum post describing how to get rid of Error code 1603. Therefore I just had to download the Windows Installer Cleanup Utility and remove the Skype Plugin Manager.

Downloads, Software, Tools

Firefox 3 Beta available

November 21st, 2007

FirefoxToday Firefox3 beta was released and I grabbed my copy from here.

I want to use it side by side with my existing Firefox 2 installation. The new version is installed automatically into a separate folder so all I had to do is to set up a separate profile.

I did this by running firefox.exe -ProfileManager from Start -> Run which opens up the the profile manager. Inside the profile manager I created a new profile (I called it “beta1″) and closed the manager.

I changed the target of the Mozilla Firefox 3 Beta 1 shortcut on my desktop to

"C:\Program Files\Mozilla Firefox 3 Beta 1\firefox.exe" -no-remote -P beta1

which starts my Firefox 3 instance with the newly created profile. The -no-remote parameter allows me to run both profiles simultaneously and links from other applications are always opened in Firefox 2.

Software, Web

Fonts for Code

November 8th, 2007

I did never really bother about what fonts to use for programming. The default of the the IDE was fine for me. Then I came across this article of Coding Horror about a month ago. One sentence in the conclusion of it made me think:

Please don’t use the default Courier New typeface. Be kind to your eyes.

So I took a closer look on what ClearType really means. This wikipedia article and the Microsoft page about ClearType helped a lot. I had ClearType activated on my Windows XP a very long time but I never cared if a font is designed for ClearType or not. There is a tool from Microsoft (the ClearType Tuner in PowerToys) that allows to configure ClearType exactly for your display - it improved my screen a lot.

After knowing the “plus” of ClearType I downloaded and installed the special fonts pack from Microsoft. It changes the default font in Visual Studio 2005 do Consolas which is special ClearType font. As you can see in the screenshots below it looks really bad when used without ClearType activated:

Consolas

When ClearType is activated it looks like that:

Consolas clear

I changed the font settings in my favorite IDE Eclipse to Consolas too and I am very happy with it. It is a subjective impression but I thinks it is better to my eyes ;-)

Compare it to Courier (which is the default font in Eclipse) with ClearType activated:

Courier clear

or Courier without ClearType:

Courier

There is a difference.

Fortunately there is a font called Inconsolata that is free and is very similar to Consolas which is perfect for programming under Linux.

.NET, Eclipse, Java, Linux, Software

Opera Mini 4 beta 3 released

October 26th, 2007

OperaOpera just released a new beta version of there mobile browser. Go and grab it at http://mini.opera.com/beta

I am using Opera Mini since version 3 now on every mobile phone I had in the last 3 years because it is the best in my opinion. The new version is much faster than the last version was and it seems they made a lot improvements.

I still hope they add more keyboard shortcuts for BlackBerry users (T for top and B for bottom of a page and so on) in their final release.

Blackberry, Mobile, Software

Problem of periodical Windows Explorer hangs

July 11th, 2007

Every windows user has experienced that the Windows Explorer sometimes hangs when accessing network drives of removable media. There is a kind of timeout after you can work again or in the worst case you have to kill it.I had this behavior on my notebook very often the last few weeks even when accessing local directories on my harddisk. My first guess was that it must have something to do with connected network shares because it did not happen when working offline.

I did a lot of web searches and then I came across this blog post of Mark Russinovich. There are many other articles around linking to this site talking about similar issues. Mark created some Windows tools for Sysinternals which was bought last year by Microsoft (see Wikipedia).

I did not need to use the Process Explorer to find out which process slows down my system. So I downloaded the Filemon and fired it up. After creating a filter that showed me only the Explorer process I was able to see every file access made by it. While working throgh the generated list I found something suspicious: There were many accesses to the shell32.dll and most of them looked in c:\windows\system32 for it - where it exists. The problem was that some of them tried to get it from other directories like c:\windows or my home directory. See the following screenshot:

Filemon shell32 small

When connected to the domain of my company the Z: drive is mapped to a share and defined as my home directory - this causes the explorer to search it for shell32.dll to and every time there is a problem with the network my whole systems is on wait.

I do not why the Explorer tries to search these directories for the dll file but it causes the hangs of my Windows Explorer. It seems to be a workaround to copy the shell32.dll into the windows folder.

Additionally I found some articles about the strategy how Windows searches for dll files. But it seems my behaves a bit different than described here in this MSDN article.

Software, Tools

Download of the day: Egg Timer

July 5th, 2007

eggIt happened to me more than once that while I am working on my computer I forget about something I put in the oven only minutes ago (pizza, baguette, …). When I smell it it is always to late. So I looked out for a piece of software that reminds me after a period of time to go and catch my meal.

After trying a few different tools I am happy with Egg Timer 2.02 - might be something for you too!

Downloads, Software

Really disable zip file handling of Windows XP

July 2nd, 2007

rarSome weeks ago I wrote a post about how to disable the zip file handling of Windows XP. I found out that Windows somehow re-enables this feature and I had to unregister the dll again and again. Today I got completely rid of this “feature” by deleting the zipfldr.dll file.

To do so you first have to delete the backup of this file in C:\WINDOWS\system32\dllcache. Then make sure that you do not use the Windows Explorer to list zip files and delete the file from C:\WINDOWS\system32. If the dll is loaded try to restart and delete the file from the command line.

Now I am able to register my preferred program for opening archives (which is WinRAR) as the default program for zip files.

Software, Tools