A good reason to switch to java 1.5 (tiger)

I was just reading something about jboss serialization and in the requirements was jdk1.5 and a link. So curious as I am, I went to look ath the link, it was a bug from sun’s implementation of the jvm. I read it, and was really amazed.

read it yourself and be amazed!

It made me wonder, I almost always develop in vm languages and You know the meaning of all the words and how they influence your program but if actually your just dependent of the vm you are running on. If that has a bug, your app 2 has a bug (if your out of luck).

So why do I use it:

Why, well because that’s what I learned and I can develop the fastest in them because of the nice intellisense of the IDE’s :$ And because I like the OO principles off course, okay I could use C++ to, but sorry at the moment there’s not so much marker for C++ developpers as there is for C# and java devs.

I lied, sorry!!

Okay, in my last post I said I was going to use one of the discussed design patterns, but because of of the lack of time (short deadline) I didn’t do it, sorry 🙁

Well that said, let me shortly explain. I was asked to develop an application to keep track of some runners. These runners would run a fixed track for a duration of 6 hours. Well I thought this was the perfect occasion to get up to date with gtk(#) and mono. I also did a fresh install of dapper drake (more on that in the near future), and installed almost everything I could find on mono from the ubuntu repositories.

I most say, development went smooth, okay I have to admit, I do know some things about the Gtk Object Model and widgets, so I had a head start. Well its far from finished, but I thought, lets blog about it 😉 And because we all like screenshots, here are some from the development.
Here’s the monodevelop, okay I know its C# and a lot of you guys are gonna throw something at me, but I did 90% of my work in VM enabled programming languages, and I like it. I have to admit the monodevelop IDE is far and I mean far from where VS.NET is, but at least there’s something. I also mailed with one of the developers a year ago and he told me that he was refactoring the whole code base to use the plugin pattern (as almost all tools do these days). The version I installed was already the refactored one, and from the plugin manager I had the option to install some plugins. I wanted to give the Version Control plugin a go, but it just draw a blank panel, hmmm, maybe I’ll check it out later.

As you can see I don’t have much at this time, but the big picture is to have 1 form with 3 tabs. First tab is for doing the CRUD on our runners. The second tab will be tab where the users can enter the number of the runner when he passes and a new record will be inserted with the timestamp to keep track of how many laps the runner has done, and also what time it took him to do all his laps.

The third pannel will be an overview panel where the user can see all the runners with their laptimes, and there will be a print option. Now about the print option, I’m not quite sure yet. I think I’m going to use OpenOffice Calc, build a template and than call that template from my mono app. Then the user can choose whether he wants to print it, send it to an email adres,… Its up to him.

The backend will be implemented using NHibernate, the hibernate buddy but than in mono/dotnet. It should work the same, as hibernate what I’ve used in several java projects already. And no matter what some managers say, it does shorten the development cycle!! And no its not a miracle tool, some things are just better done in plain Sql code.

The db will off course be mysql, what else? (okay, maybe postgre or sqllite)

In the next screenshot you will see my dear old glade-2 tool builder. How else would you build a gnome app, right?!
I hope to have it finished by the end of the weekend, otherwise I’ll be in trouble. After its finished, I’ll put it under the GPL or LGPL license and see if I can get a hold of a sourceforge pass (or maybe even gnome pass), to store it on their CVS.

doing client appz

In my day job, I mostly do enterprise java applications. Now I don’t know why, but the most enterprise java jobs I’ve done are all web based. Almost always using the MVC design pattern.

In my spare time, I also write appz both client and web applications. Because I know the most important design patterns, and I know how to implement them in a webapp, it’s rather easy to do a webapp. But for client appz I was always puzzled.

Let me give an example, in the webapp you have certain states where you can store objects that you access. You have the pageContext to store objects that should be only available for the lifetime of that page, request is from you receive the request till you flush your response,your session, as long as the user stays connected,…

But how do you do this in a client app? You only have 1 state, at least in the default appz, I think there maybe some out there where you have more, but lets forget about them.

Here are some design patters for the client (blog by J Aaron) , I’ve done MVC in client programs but not the way he describes them, I’m surely gonna do the next project using one of the described patterns, and the next will start this eveing :), forgot to make an applicatoin for somebody.

Hey I’m a pattern freak 2 🙂 (how many discussion we’ve already got about patterns, it’s really uncountable!) Check out his latest blogs, you’ll see what I mean 😉

Zimbra a collaboration suite

I already tried some collaboration suites lik groupware and such, and got my mind set on given zimbra a go. I’ve installed it on a FC4 server install, only had to get on rpm (compat-libstdc++) couldn’t get it from dags repo, but no prob.

So downloaded the tarbal, ran the install, it checked all the dependencies, everything was fine. Wait,wait,wait,… Ok set the admins username. Done… Log in on the admin web gui, add a dummy account. Finished I’ve set up my first zimbra user 🙂

Logged into the webgui using my freshly created user, made some appointments in the shared calendaring. Hmmm, would it be accessible from a client soft. Hmm let’s google the zimbra forum, hmm, wait what’s this a web calendar available. Hmmm, lets see, try my evo. Hmm nope, well I’m running dapper and its an unstable version of evo, let’s try mozilla calendar (as plugin of firefox) Hey what’s that, nice my appointment, let’s edit it, … Error put not supported. Let’s read on in the forum, okay ics calendar editing not yet supported. But what’s this, outlook and sync4j are going to be supported, but only in the NON oss version 🙁

I saw there were a lot of java projects in the source, and it uses a tomcat. Kinda curious what this runs on, I’ll report back later with some screenshots and who know maybe even some reviewing of their code 😉

tiki back online

Just to say my tiki is back online

you can find it over here

As it wasn’t the latest backup of the mysql db, some entries could be lost. If you do find something missing just send me a hint and I’ll try to fish it out of my docs or maybe even my brain 🙂

Now of to soccer practice!

btw after installing the jlibrary, I was a bit dissapointed, it isn’t nearly as far is I had hoped, but maybe I set it up wrong or something.

I’ll post a review on it later on.

Linux chooser

Just read Nicolas his post and immediately tried it, and worked for me 2. Ubuntu and Debian came out, exactly my 2 prefered distro’s (and what I’m running on most of my computers). So check it out and try the distro they tell you, you might be surprissed at how far we’ve already come.

imho for regular destkop users, linux is almost if not further than windows. By this I mean an out of the box installation. Heck we support more drivers out of the box than windows, and I do speak out of experience here, I installed a windows on a ibm work laptop and had to fetch the network drivers from the internet, before I was able to get internet to download the rest of my drivers (videocard,soundcard,…) when I popped in my ubuntu disc, everything was up and running, even glxgears ran smoothly!!

Comparing prepared versions doesn’t count if you ask me, because those are custom made and everybody can do that 2 with a linux to fit some specific needs, to bad nobody does it for linux, who knows what’ll happen when windows come with their vista. I hope to see more ubuntu laptops pop up.

content management / knowledge tree

At the moment I’m using kris his way to take notes (docbook style), and I’m using cvs to keep track of them (and also the versioning is actually nice). But because I also have to make Open Office documents (for offers,SLA,invoices,…) my cvs is getting poluted with binary stuff (I know, open office is actually xml, but the .odt file is a zip with the xml in, I’m really nog going to take it out and update it manually!!)

I always wanted to have a good content managent, let me rephrase that, document management system. But I never found one I liked. They were almost always web based and had no integration with the os itself. Well I think I may have found a project that does exactly what I want. its called jlibrary and I’m going to give it a go tonight. It’s based on the eclipse framework, so it’s platform independent but with the gui of the desktop your using.

So let’s hope it’s exactly what I hope, if so. I’ll also be putting all my knowledge documents in there, and start using it as a knowledge tree also. I know there are a lot of people out there looking for a good knowledge tree, well maybe this will fit your needs? I’m not sure yet, but I assume they work with a local cache, or I hope so, otherwise I’ve found the next thing I’m going to patch, shouldn’t be all to difficult.

Mono in rawhide

Finally the day has come, but you already knew this, right?

I for one am 100% behind the mono project. Why, well in my opinion it will open the door to a lot of new developers on the market. Let’s face it, there are a lot of companies who have invested in custom developped applications, these applications are mostly written for the microsoft platform. But a lot of companies are migrating their solutions to newer technologies, be it dotnet or java or …

If the developers were smart enough to just just the default libraries and nog use any com wrappers, it shouldn’t be to difficult to port their new solutions to linux.

Okay, it isn’t as simple as that off course, but it makes it more simple than porting a c# app to ansi C or python. Let me rephrase that, you won’t have to rewrite all your code. Maybe this will persuade some more companies to invest in linux development (mono) because they can still use it on their windows system while they are migrating.

I’m really curious if this is going to make a shift somewhere. I hope so, can’t wait to turn this freaking ms workstation into a gnome desktop!! Be it FC, ubuntu, Novel desktop,… as long as its a linux and if its gnome, even beter!

setting up chroot scp on my xen

Yesterday I tried to install a chroot scp/sftp on my xen, first of the setup_chroot.sh script failed because it couldn’t find my ld.so (a like) file. By looking in the script I found out, it checked against some possible candidates.

I’m running a debian in my xen, but also at home and at home the script ran without a glitch. So finding out which candidate was the good one, I came a cross a file like /lib/ld-linux.so-2, using dpkg –search ld-linux.so-2 if found out this file was in the libc6 package.

So in my xen I did a dpkg -L libc6 en there it was the file was called something different, so making a link (ln -s /lib/… ld-linux.so-2) it now seemed to work.

However when I logged in a test account using winscp, I got a lot of errors. But these errors will have to wait for the next night.

also in my todo, finding out what libc6 does, don’t know the package.

small bug, big problem

Friday evening I got out of my car and had to get something from the backseat. I switched the light above the backdoor and suddenly poef, every light in the car went out. I couldn’t even open the trunk, had to search through the manual to find out how I could open the trunk using my key. It seems there was a keyhole inside the VW sign.

Every electronic circuit in the car wasn’t working. The cars windows didn’t go down, all the lights weren’t working, even my mirrors weren’t heated anymore. What’s really a pain in this time of the year.

Luckely I Can go to the garage today, and let’s hope they can fix it.