Thursday, June 23, 2005

Incorrectable improvements

The NetBeans story (about how it went from usable to bondage & discipline) goes further. After wasting an inordinate amount of time, we spent some more time at work, because just throwing away the NetBeans-generated GUI programs is not going to help anybody. So we got it to import the project. And the first thing it does is pop up a message box, suggesting to delete all the .class files because they are in the source path. WHY? It is correct they are there, we put them there after careful deliberation. We value a single classpath root. Some tools (even in the SDK) expect them there. It also makes for quick visual inspection of the generated classfile. But WTF should a tool care where I put what? We found the project properties. They were hidden behind a right click at a spot they did not used to be (and we never did need them, being able to mount the jars we needed). So now NetBeans also writes metadata all over the place, in places I need to find it to delete it again. Although we cannot drop it right away, we will be looking around. Or Coyote must be so brilliant, that I’ll be able to use it for ooRexx and NetRexx.

Saturday, June 18, 2005

The sorry demise of NetBeans

Some people managed to totally destroy NetBeans usability for our project. They must have been taken over by the Borg. Let me explain. We have a fairly big application that is made more or less in Java. It is actually written in NetRexx, but that is not really the point here. For GUI development, we used NetBeans. Draw a screen, add widgets, doubleclick and add calls to our own methods. Great. This was up until NetBeans 3.6. And it was easy to add the project to NetBeans: our codebase is make and cvs (now subversion) based. Just add the classpath root to a NetBeans virtual file system, let it scan and it works.
In 4.0 and 4.1, not anymore. Not at all. This confirms my worst preconceptions about IDE’s. These people decided to just take out the extremely useful feature of virtual filesystems and make the thing totally ANT based. The new 4.1 release “is even more flexible” and adds “free form projects”. Free form, my ass. It immediately complains: cannot add project that already has a Build directory. I try now to add a “standard project” (where standard also means “ANT”). No dice, because it ‘is already owned by another project.’
I don’t want NetBeans to build my project. I just want to press F9 and compile. It does not let me anymore, and I waited patiently for 4.1 to correct the situation.
There is lots of docs going with this, touting its flexibility, though totally dense and milling on and on about ant. I already spent a lot of time on this, and it did not help. I think I have the option now to add all the packages and subpackages of the hierarchy by hand. They must have totally lost it. I already saw some complaints on the mailing list and was stricken by the sheer arrogance of those people knowing it better than those who suddenly lost their ability to work with the tool. So by moving and renaming a lot, I got NetBeans to digest the project. I edit a file, and IT GREYES OUT the compile option, probably because of some error in an ant file I don’t want in the first place.
There also seems to be a “blueprint” now for enterprise java project layout, without a doubt devised by ‘technical project manager’ people that never design or code but bestow ‘naming conventions’ upon us that do. But taking working functionality out of a tool to make people conform to your ideology is a very, very sick thing to do. So I stay at 3.6 until I find something better. Bye bye NetBeans, it has been fun while it lasted.

Monday, June 13, 2005


Write a reasonably complicated web application and the testers only complain about missing links and faulty graphics. This is great because these problems are easy to solve, if problems at all. Worse is that it takes the time that was needed to find and fix the real bug you know there must be out there.

This week saw Apple switch to Intel and Jamie Zawinski switch to Apple. Both worry me a little. I agree with Robert Cringely that the leakage of MacOSX for Intel is probably a plot to bait more switchers. For me the worriest thought though is that my main platform will be mainstream one day. The decision where to switch my primary web server to became much more complex this week, but most probably it will be a Mini Mac anyway, but I am seriously doubting MacOSX server in favour of Yellow Dog Linux; read some discouraging statistics on Mach-BSD thread forking in MacOSX Server. Not that it will ever be a high performance server anyway, but give me a break: 5 times more overhead on threading? It certainly calls for hyperthreading ;-).

Lets hope all turns out well. I am pro choice, so it would be better if Apple would just have introduced a parallel line of hardware architecture, giving people the choice to, for example, keep on buying the PPC machines for high end machines, for example with added reliability features like parity memory and a service processor. Or run OSX on IBM’s rock solid RS/6000 and other POWER hardware, so I won't have to complain in every post about how much more trust we can put in a mainframe compared to the dinky machines we trust our data with nowadays.

Wednesday, June 08, 2005

BSF und die umwertung aller werte

I was quietly working at the Mac port for Open Object Rexx and the related BSF4Rexx, when Apple dropped the bombshell of doing a "switch" for themselves, this time to Intel CPU hardware. They must know something we don't know, because switching your 64 bit OS to a 32 bit Pentium 4 (quad 3.6Ghz) does not really make any sense. Dvorak predicted the Itanium, but it turns out to be ordinary x86; we have to forego The Cell, which is a pity, or switch ourselves to Linux, which probably will run soon on it. I am glad my own stuff is all Java, it only muddles the picture a bit for the C++ ports, which are a headache anyway.

XCode 2.1 came with a new gcc 4.0, that has new compiler errors in previously compiling code; such is the price of progress. Another day, another ABI. I am still looking for a good porting guide from Linux to MacOSX, one that explains that thread_t is a structure in BSD and not a pointer, and why my files do not open when the code is compiled with Tiger, while they work when compiled in Panther. With some bad luck the Intel situation multipies these kind of problems. The advantage is that I *do* know some x86 assembly, while PPC always was a black hole of a myriad of addressing modes and load/store interleaves.

Boy, I am glad my programs are Java. And Rexx.

Wednesday, June 01, 2005

Keynote Poster

The projectmanager left and I wanted to produce a poster and did not have a lot of time. It had to at least contain the screens of our webapp and some photographs of the team, I also wanted to include most of the graphics we produced for the presentations of the product in the past year. Now I knew that doing this in Photoshop like you are supposed to would have cost me a certain amount of time, that I, also due to the deadline which was connected to the managers departure, did not have. So I tried it in Keynote, a presentation package. I figured that if I could make a slide of a high enough resolution, and then export this to PDF, the printer could plot a sharp enough poster out of it.

The big advantage here was that I could just drag and drop the material, line it up using the automated guides, crop the photographs and send relevant pieces to foreground and background, and be ready in a nick of time, compared to all the layering work that PhotoShop requires for this (combined with my relative inability to use that program well).

So I defined a 4000*4000 slide with a white background, dropped in the screenshots in the pure uncompressed tiff they were made of, dropped and cropped the photographs and dragged and dropped the pdf vector graphics from the other presentations. The titles I did with very large Zapfino and Hoefler text (200 to 300 picas), and put in some backgrounds unsing the standard geometrical figures.

The machine became a bit unresponsive when I finished up the work, and my impression is that when I started adding graphics with alpha channel there was more work to do for the machine. I exported the PDF to a standard X3 format and went to the printer, who luckily is situated just around the corner. After some initial anxiety when the Sony Vaio machine she ran PhotoShop on took several minutes to load the rather large pdf file, we printed a poster of 1 meter by 1 meter and it came out lovely and sharp, and the lady even remarked that she did not yet see a font that came out this sharp on the Epson plotter that was used. So hey presto, I know how to do it next time.