Using java 1.6 on OSX

Posted by Jens Jäger on February 06, 2013

Since the Java support for OSX has moved from Apple to Oracle. The old Java version are no longer shown in the oracle control panel:

But there is a command line tool for selecting the java version:

You can check if you have a specific java version installed with this command:

If 1.6 isn’t installed on your machine you can get it from here.

To use Java 1.6 in command line context add this line to your ~/.bash_profile:

Twine shipped 1

Posted by Jens Jäger on January 23, 2013

After six weeks I finally got my Twine shipped from supermechanical. Yeah.

I didn’t got it working. The problem is I have multiple routers with the same SSID here. For some reason Twine doesn’t work with this wifi setup. It’s not a big deal. I plan to use the sensor somewhere else, but it sucks that i can’t play around with it now.

Java 7 vs. C++ Speed 1

Posted by Jens Jäger on January 11, 2013

I just found this interesting benchmark results:

The benchmark compares the same algorithm implemented in different programming languages. Interesting on this result is that the Java 7 implementation of some algorithms, like mandelbrot, is as fast as the C++ implementation. In the worst case Java needs only the double amount of time.

Of course there is a price to pay. Java uses in some cases a lot more memory.

But in times where memory is available almost for nothing, there is not much space left for business software* in C++. The faster development speed that comes from garbage collection and higher level apis will easily pay for some more memory.

This is no new knowledge. Allmost all new started business software projects, I hear about, are java or sap based. I was just surprised how fast java is in the benchmark.

* business software: In this case I mean “business software” as a software running on a server, multiple users, performing some business functions in any case, often a custom development for company needs. (With this definition e.g. Microsoft Office is not business software. Something like Jira would be a buisness software with my definition.)

IntelliJ IDEA: Eclipse key bindings on OSX

Posted by Jens Jäger on January 09, 2013

With the latest release of IntelliJ IDEA 12 I decided to give it a try. As a heavy eclipse user it’s much easier for me to use the eclipse key map. Stupidly in the eclipse key map that ships with IntelliJ the ctrl-key is used instead of the cmd-key. Windows style copy and paste on the mac sucks.

Luckily Ian run into this issue before and distibuted his key map on github.

For the “go to declaration” there is a cmd + Click key binding that I use a lot in eclipse. Ian didn’t changed this key binding from ctrl to cmd. I forked his code and added this binding.

The next thing I run into was that the right click in a context menu was fishy. I found this entry on Stackoverflow to fix the problem.

I also added or changed the following keys:

Move Caret to Line End: from ctr + -> to cmd + ->
Move Caret to Line End with Selection:
Move Caret to Line Start from ctr + -> to cmd + ->
Move Caret to Line Start with Selection: ctr + < - to cmd + <- Move Caret to Next Word: from cmd + -> to alt + ->
Move Caret to Next Word with Selection: remove shift + alt + ->
Move Caret to Previous Word: cmd + < - to alt + <- Move Caret to Previous Word with Selection: remove shift + alt + <- Navigate Back: from + <- to alt + cmd + <- Navigate Forward: from + -> to alt + cmd + ->

Editor Tabs Next Tab: removed alt+cmd< - Editor Tabs Previous Tab: removed alt+cmd->

Active Tool Window, Resize, Strech to right: remove shift + cmd + ->
Active Tool Window, Resize, Strech to left: shift + cmd + < -

You can find my forked version of the keymap with all the changes in my github repo.

OSX platform encoding in Maven

Posted by Jens Jäger on December 14, 2012

By default Maven uses the operating system platform encoding for the build. On OSX this is MacRoman. This leads to warnings that the build is platform dependent:

To fix this you just have to add the following profile to your ~/.m2/setting.xml:

The activate the utf8 profile with:

When you successfully added the profile you get this fancy info message in your maven builds: