Category Archives: Software Engineering

From Wikipedia: Software engineering (SE) is the profession concerned with creating and maintaining software applications by applying technologies and practices from computer science, project management, engineering, application domains, and other fields.

Persisting Data

Why do people always want to tell you that persisting a “domain model” is a many month spanning work item if you can’t generate the code?

Sorry folks, with all due respect to model driven software engineering, but that’s totally non-sense. It’s all about developer productivity. The first object is always the hardest. But if you follow the right approach and build good APIs and use the right tools than it’s just a matter of minutes for every other domain object.

Don’t get me wrong. I also use EMF and I love it. But some statements are just plain wrong.

The Vista Experiment

Last week I received the Windows Vista Upgrade DVD that was part of my T60 which I got right after Christmas from my employer. 🙂 So I was eager to see Eclipse running on it and decided to do the upgrade and see how it goes.

Well, the upgrade went really fine. I started it on Friday night, went to bed and woke up on Saturday with the update being done and successful. However, a lot of the ThinkPad software, although claiming to support Vista, stopped working. I could solve this mostly by just reinstalling it.

A few hours later I started the Eclipse WPF port. Unfortunately, I was much slower than the regular Eclipse Win32 version. Why? Well, I think it’s really an early access preview with the first goal of get everything working. Optimization can happen later and that’s ok. However, it doesn’t matter because Eclipse 3.3 M6 really exposes all the nice Vista features. 🙂 Great job SWT team!!! I love your toolkit!

Anyway, after working for a couple of days with it I had to restore my XP image yesterday night. 🙁 Sometimes it is really just one small issue or a combination of a few that influences your workflow in a way that you simply don’t want to go.

What makes this even worse is that it’s really closed development. I really wanted to report this, to make the people aware of the problem and to help debugging it. But other than a somewhat useless support form there is no way to inform the developers. The form is IMHO useless because after a few weeks (it were actually three weeks the last time I tried it) you get a replay that software support is only available during the first four weeks after purchase.

This is closed development – be stuck to your problems and wait for a future release that happens eventually. I wish companies would start learning from themselves each other. It really doesn’t have to be that way.

Swing/AWT Sucks

Honestly, I don’t want to jump onto the latest Swing/SWT discussions. But look at the screenshot taken 5 minutes ago on my desktop. I just wanted to try a Java Web Start application. 🙁

Empty Swing Windows

I had this blank windows problem before on another machine and it was a Swing/AWT application too. In fact, it’s a real pain and it only happens to Swing applications. Some weird thing the Sun JVM is doing with the graphics driver probably. Who knows. In such cases I honestly prefer SWT over everything else. It just works.

C:>java -version
java version "1.5.0_06" Java(TM) 2 Runtime Environment,
Standard Edition (build 1.5.0_06-b05)
Java HotSpot(TM) Client VM
(build 1.5.0_06-b05, mixed mode)

The last time, I could solve the problem by upgrading the graphic cards driver. But this time I’m already on the latest version.

So come on Sun guys. What to do? I already had an eight days email conversation with the Dell hotline. Maybe you can convince them to update the graphics driver for the Inspiron 6000 notebook. Or better, can you fix Swing?

BTW, I often read and hear in this discussion that SWT is not cross-platform. Come on guys, you can’t be serious. SWT is as cross-platform as Swing. Swing wouldn’t be possible without the native code that is integrated in every JVM and must be re-implemented on every platform the JVM supports. The same is true for SWT. The native part is just not hidden in the JVM.

Isolated solutions

In this post Mike refers (and answers?) to a blog posting from John O’Shea. John is complaining about the architecture and interoperability of several Eclipse top level projects (named WTP, STP, TPTP, BIRT).

A cursory look at the architectures of many of the top level projects (WTP, STP, TPTP, BIRT etc.) shows the lack of intra-project cooperation is resulting in frameworks that simply don’t integrate with one another in they ways we all want them to.

Honestly, I partly agree with John but more from a usability point of view. Ok, that’s another topic. 😉 But I think we have to remember that all these projects are very young projects compared to the Eclipse top level project itself. You can’t expect to get everything done in release 1.0, 1.5 or even 2.0. AFAIK the first goal was to successfully establish the projects on and to create a vital user, developer and adopter community. With Callisto I’m expecting this goal marked as fixed.

I also agree that one of the next goals should be concentrating on areas where the projects can create more interoperability. But again, I have to remind that work on this topic has already started in the past. Continue reading Isolated solutions