Archive for December, 2008

Palm T|X

I have been a happy user of a Palm m500 for seven years or so. I loved its simplicity and the efficiency by which appointments, ToDo items and short memos could be entered into it. It served me extremely well. However a couple of years ago it started acting up, ocassionally not responding to screen input anymore. It took me a while to find out that it was the battery that was the culprit. For some reason it had swollen up, putting additional pressure on the touch sensitive screen. I ordered a replacement battery from somewhere and things were okay again. Until a couple of weeks ago, when the same problem resurfaced. So I picked up  a second hand Palm T|X and I love it! I did need to patch the Palm T|X to support the old and trusted Graffiti instead of the newer Graffiti 2 as the latter requires more strokes to enter data. But with this patch it works beautifully.

I did consider buying an iPhone 3G as the combination of a phone together with a good calendar application that easily syncs with my Mac is very compelling. However having played a bit with both the iPhone 3G of my brother and a friend of mine I find it to be too slow to be practical. There’s is a noticeable delay switching between one application and another. Enough of a delay to annoy me, and that’s when playing with it, let alone when using it in anger. I need my PDA to be fast. When I need to enter an appointment I must be able to do that instantaneously and effectively. The iPhone 3G’s slowness and the onscreen keyboard prevent that.

Another serious concern I had was Apple’s ambiguous policy regarding certain applications for its App Store. As a developer myself it pained me to see independent and ambitious developers financially hurt due to Apple’s whimsical and unmotivated decisions. Nor do I like Apple to decide for me what applications I can and cannot use; Nullriver’s Netshare being the prime example.

Another concern, or actually an issue, with the iPhone is that Apple limits my choice of a telecom provider in The Netherlands to one! As it turns out that one is not my current provider.

Last but not least is the price. What is the sense in throwing away a perfectly good phone, switch telecom providers, get a ridiculously expensive subscription plan for two years, while I can get all I need for fraction of the price by buying a second hand Palm T|X? Well there isn’t! ;-)

Leave a Comment

Continued 2: OS X 10.5.6 update broke Eclipse shortcuts

Almost two weeks after the release of the OS X 10.5.6 update Apple still hasn’t provided a fix for the serious regression with regards to Dvorak keyboard shortcuts in Carbon based applications. Worse they haven’t even indicated that they’re working on it or provided a timeline for a fix or temporary workaround. I did open a bug report with Apple on https://bugreport.apple.com. However as these bug reports are not public it is impossible for others that have been affected by this bug to subscribe to it. Furthermore it arguably makes it difficult for Apple to track how many people have been affected by this issue. Although the thread 10.5.6 breaks Dvorak keyboard shortcuts in Eclipse on the Apple Support Forums makes it clear this issue is causing problems for many people using just as many different applications.

With Apple not taking their responsibilities I figured I’d give it another try to find a workaround. Problem is that I am no OS X developer and though I do know the basic difference between Carbon and Cocoa applications I know next to nothing on OS X application development. So all I have to go on is my intuition and hints I find on the Web.

With some of the keyboard  shortcuts working (cmd-s) and others not (cmd-c, cmd-v) I still suspect the culprit to be with an incorrect keyboard mapping instead of some logic error in a piece framework code. I my previous post I created a new Dvorak  mapping and installed it. This didn’t solve the problem as it didn’t change any of the mappings specified in the Carbon Framework. At least that’s what I suspect the reason to be.

So is there a way to adjust the mappings in the Carbon Framework? It seems there is. Hinted by references to HIToolbox in the Eclipse bug report on this issue, and a path to this part of the Carbon Framework mentioned on http://wordherd.com/keyboards/ I figured I had to replace the Dvorak mapping in:

/System/Library/Frameworks/Carbon.framework/Frameworks\
/HIToolbox.framework/Resources/English.lproj/Localized.rsrc

Using ResKnife, an open source resource editor, I had a look in Localized.rsrc and did indeed found a Dvorak KCHR resource (with ID 16300). With the form on http://wordherd.com/keyboards/ I created a layout.r using the following settings:

settings

In the resulting layout.r file I changed the type “uchr” to “KCHR” and its ID to 16300. Then I made a backup copy of Localized.rsrc and executed:


gkoller@Kardamom (593) $ /Developer/Tools/Rez -append -useDF -o \
/System/Library/Frameworks/Carbon.framework/Frameworks\
/HIToolbox.framework/Resources/English.lproj/Localized.rsrc \
layout.r

Another look with RezKnife revealed that the old Dvorak mapping had indeed been replaced with the new one. I restarted my computer, fired up Eclipse, and …. *damn* it still did not work.

For all I know my attempts to find a workaround are completely misdirected and naive, but I just had to try as this issue is driving me nuts. Maybe this post might give others a few hints and put them on the right track to find a solution, or more likely prevent them from wasting time on similar futile attempt. However it would be much better for Apple to step in and take their responsibility in fixing this regression!

Leave a Comment

Continued: OS X 10.5.6 update broke Eclipse shortcuts

Tried to find a workaround for the nasty Dvorak keyboard mapping bug introduced by Apple with their 10.5.6 update of OS X. I had the idea that if I could create a keyboard mapping for Dvorak myself, this might ‘trick’ OS X accepting the proper keyboard shortcuts for Carbon based apps. Looking for a tool to create such a mapping I came across the following website:

http://wordherd.com/keyboards/

Using the standard settings it was easy to create a new Dvorak layout, save it as “Dvorak Workaround.keylayout” in my Library/Keyboard Layouts directory, and select it from the Input Menu in the International System Preferences menu. Alas, this did not resolve the problem.

This might have worked if problem was in the Apple default Dvorak keyboard layout itself. However if that was the case keyboard shortcuts would have been messed up in Cocoa based applications as well. It was a long shot to begin with, but I had to try something as it is really impacting my ability to do any programming in Eclipse on my Mac.

It might be due to the holidays or the relatively low number of users impacted by this bug (who uses Dvorak?), but I find Apple slow to respond to this serious regression.

Comments (1)

OS X 10.5.6 update broke Eclipse shortcuts

This evening I installed the PyDev plugin for Eclipse to write a little Python code. Seemed to go well until I noticed that some of my keyboard shortcuts didn’t work anymore in Eclipse. Most notably copy and paste (CMD-C and CMD-V). As this was working before I figured the PyDev plugin to be the culprit. However, in a version of Eclipse without the PyDev plugin the issue was still present. 

Some Googling turned up a post on StackOverflow titled Eclipse keyboard shortcuts broken in OSX 10.5.6. Turns out that the OS X update to 10.5.6 I did a couple of days ago broke the keyboard short cuts for Eclipse. But only if you’re using Dvorak keyboard layout. Guess what I am using? Right, Dvorak!

I knew I should have waited a little longer with the update. I normally do. Not sure why I didn’t this time. Sincerely hope Apple comes out with a fix quickly.

Leave a Comment

All roads lead to FreeBSD

Well almost all …

Leave a Comment

FreeBSD on Amazon EC2

I have been seriously looking at using Amazon EC2 for a pet project of mine that I am working on. However to my dismay Amazon EC2 currently does not support FreeBSD running in its cloud. Apparently this is related to Amazon using version 3.03 of Xen as its virtualization software, whereas FreeBSD requires version 3.3 of Xen to run. What the technical details behind this requirement is I don’t know. 

Last week, during Devoxx ‘08 in Antwerp, I got the chance to ask Simone Brunozzi, Amazon Web Services Evangelist for Europe, during his presentation on Amazon Web Services, about a time line for FreeBSD support. His answer was that there was no timeline and that they are relying on the community to provide this support. He recommended I’d have  a look at OpenSolaris. I’ll certainly check it out. In fact I already installed in on my MacBook running in a VMware instance. Though I haven’t had much time yet to really dive into it.

Anyway looking for some more information regarding running FreeBSD on Amazon EC2 I came across this post by Colin Percival. In it he writes near the end:

There are still improvements which I’d like to see made to Amazon Web Services: [...] and adding support for running FreeBSD on EC2 (I’ve signed an NDA, so I can’t say much here except that we’re working on it) are at the top of my list, [...]

This is encouraging. It probably means it too late for me to use, but eventually we might get FreeBSD running on Amazon EC2!

Comments (2)

Twitter

Started using Twitter. For now my updates are ‘protected’ meaning you’ll have to be approved by me if you want to read my updates and follow me.

http://twitter.com/guidok

Leave a Comment

Devoxx ‘08: The Good & The Bad

This year I attended Devoxx; the largest Java conference in Europe. I had high expectations as I previously had heard many good things about JavaPolis (Devoxx’ former name). However after three days of attending presentations I returned home with mixed feelings. First the good.

The Good

A conference of this size is bound to give you a good feeling of what is going on in the Java world. It might be my pick of the presentations but I got the feeling that nothing shockingly new was happening (except for arguably JavaFX, but more on that later). Instead the focus seemed to be on consolidating that what is working for the Java developers and addressing real issues Java developers are dealing with.

For instance in Thursday’s keynote Joshua Bloch talked about enums and generics and how to use them effectively. A good thing as I have seen many situations where developers should have used enums, but opted for a more conventional solution instead. As for generics, if things get more complicated then ArrayList<String> I have to slow down and be really careful about what I do. Any tips on using generics effectively is always welcome.

A good presentation was John Ferguson Smart’s presentation on “Behavior Driven Development in Java with easyb”. Again nothing shockingly new, but it did clearly point out problems many developers have with Test Driven Development; what to test? By focussing on the required behavior that needs to be implemented and using a testing framework that allows this to be expressed easily, writing meaningful tests should be a lot easier for many developers.

There was a strong focus on running other languages then Java on the JVM. Bill Venners presented on the “Feel of Scala” though I didn’t attend that one as it had been scheduled at the same time as the presentation on easyb. Nor did I attend Charles Nutter’s and Thomas Enebo’s presentation on JRuby. However I did attend Jim Baker’s and Tobias Ivarsson’s presentation on Jython and Brian Goetz’ “Towards a Dynamic VM”. Both were great.

I was thrilled to hear Jython is alive and kicking. With all the focus on JRuby, Scala, and more recently Clojure in blogosphere, one might have gotten the impression that Jython was all but dead. Instead a release that’s compatible with Python 2.5 is imminent and they demonstrated Django running on Jython.

Dynamic languages on the JVM are already quite fast compared to their relatives written in C. However with the enhancements planned for the JVM this should improve significantly in the future. Brian Goetz’ presentation was fairly technical and as such one of the better ones. It made me well aware of all the work the JVM has to do in running dynamic languages. Knowing this made me appreciate the current speed of the dynamic language on the JVM even more.

Another thing worth mentioning was the organization of the conference. They did a great job. From registration, sending my badge to my home address, lunch, coffee, snacks, drinks, announcements. Everything was organized very well allowing me to focus on what I had came for, attending presentations and talking to people.

The Bad

Even though there were a fair number of good presentations some were really awful. Most notably IBM’s keynote presentation on Java and RFID. IBM is a large multinational. Devoxx is a huge conference with 3300 attendees. You would have figured they would have made an effort in delivering an interesting keynote. Looking at the result they did not. It was embarrassingly amateurish and clumsy.

They same holds for many other presentations. Some had potentially interesting content, but due to the way it was presented it was difficult to follow, or outright incomprehensible. I do realize it is easy for me to criticize people sitting behind my keyboard and writing a blog entry. After all I did not have to stand in front of a huge room filled with anything between 60 to 1000 people. But even so, more presenters should have done significantly better for a conference of this size. 

And last JavaFX. Not necessarily bad as the presentations on it that I did attend were well executed and interesting. However I failed to see JavaFX’ relevance for enterprise Java developers. I might be wrong, but I would expect most of the attendees to fall into this class of developers. Sun however seemed to target a different class of developers. Nice graphics, animations, sound and video is all great. However I as an enterprise Java developer am more interested in how I can construct forms, the kind of controls that are available, communication with back end systems, etc. None of that was addressed. A pity and a missed opportunity for Sun.

Leave a Comment