Posts

Finally on Vacations!!!

So, I'm finally on my vacations. I had to cite law articles to get some vacation time, but I'm finally at home, resting and recharging my batteries. I have some things to do, but things that are fun to do!!! And it was the right time to go on vacations: my mood wasn't all that good, in fact, nobody could hear another one of my comments about how things are all wrong; my car needs to go to the garage (they are able to squeeze it this week); I need to by some clothes; I need to check out some swimming pools and I need to find a new house. Many things to do while I'm on my vacations, but the one that I'm also doing is a Web Site for my family's company. It will be a simple Apache, PHP and MySQL site. What I really wanted was to make a full blow JEE5 Site, all Web 3.0 and so on. Facts are that they don't need all that bloat: they need a simple, clean and fast site. Taking into consideration the hosting costs and everything, PHP seems to be the way to go. I'l...

Creative Commons!

Today I can't help to blog about something I stumbled upon in the Web. I don't know if you haver heard about the Creative Commons initiative. If you didn't brace yourself for a trip to the world of freedom of expression and though!!! Whenever you have an idea and implement it, the idea is automatically copyrighted. This is specifically true for Music, Pictures, Films, Books and son on. The problem nowadays is that this rights are being enforce to a level that is so extreme that our children are being forced in to pirates. They are being forced into believe that copyright should exist. My humble opinion is that copyright does and should exist. But common sense should guide on what is breaking a copyright. If I'm copying a music without paying for it and redistributing it to the whole world, free of charge or not, I'm breaking a copyright. I don't think I'm breaking a copyright when I use a peace of a music, mix it with video and share it with my friends. Th...

Swing Tip: Heavy Paint Job...

Have you ever needed to make some heavy 2D rendering operation in Swing and you didn't want to block the Swing Thread? Well, I had to, several times and today I made a hack for a colleague that I would like to built upon here. My first attempt to ensure that the Swing Thread wasn't blocked was to conduct all rendering on a background thread. This obviously violated all Swing and Java2D principles. If you don't know, just Google for it, but the fact is that all rendering should be done by the Event Dispatch Thread. So, all Swing activities should also be done in that same thread. What happens if the scene you are rendering is rather complex and you don't want to hog the Even Dispatch Thread? A simple technique can be applied. The idea is to hold the context when the rendering is started. If the rendering has been going for quite some time, place an event in the Event Queue to resume it later. This allows the Event Dispatch Thread to process other events. When the renderi...

Updating my Six Year Old Laptop

Today I finally finished the update on my six year old laptop. I know it sounds crazy, but I bough a laptop back in end of 2001 and I still haven't replaced it. I put linux into it and never looked back Started with Mandrake at the time, I then made the switch to Gentoo. Since then I have always updated my system without any format like you have to do on other operating systems. I was unable to connect it to the internet for a while. This lead to a very outdated operating system. Luckily Gentoo is almost straight forward to update. The only problem is that my desktop environment is eating a little too much memory for my taste. I guess I'll need to tackle it later. On my project list is an idea to make a 3D chart on top of Java 2D. Why? Well, I already made such a chart for the company I work for, but at that time I used Java 3D. Now, there is nothing seriously wrong with Java 3D itself. Let me make it clear that it is very nice API. But to do a chart in Java 3D is an overkill. ...

WebBeans and others...

It has been some time since I blogged. I hope to do this more often. You see, I lost the internet connection in my Linux Laptop. Why? Well, my ISP decided to change its settings and didn't tell no one about it. It worked on Windows, but my laptop hasn't run Windows for over 4 years. I though it was a problem with the modem, or my configuration. I ended up buying a new modem/router. It still didn't work so I called technical support and then they told me the options that you have to use when you're not using their own modems. Why? Well, their modems have their hidden configuration options hardwired... but on to more interesting things. I came across a series of articles about Web Beans. I don't know if you know about JEE (yes, since version 5 it is JEE - Java Enterprise Edition, not J2EE) but I had a training on this subject and I liked the way they used annotations and other techniques to turn a bloated platform into a clean and simple programming model. But their e...

I'm Still Alive!!!

No, I haven't disappeared from the face of the earth. At least no yet! What happened was a drastic change in my life that led me to stop blogging about anything. Today I decided to put this small entry just to say that I'm still alive. I'm finally having some time off work to recharge batteries and get my life back together. I also hope this extra time allows me to post more things here. I have a couple of tutorials lined up. The first should be about WebServices in Java: how to call or build your one WebService following a predefined WSDL without using any libraries but the standard ones included in the Java Runtime Environment. So keep reading...

News Update...

It has been a long time since I last blogged. The reasons are many, but lets just say that things have been a little chaotic. It seems that everything has landed on top of my head: work, thesis, health, you name it... Although it might seem that I'm just ranting for nothing, lets take a look at a few examples. First I had to make a presentation to the President of the Republic. Yes, I live in a republic and we have a president. I was chosen by my former chief and the current chief to make this presentation. A 5 minute presentation that should pass the concept of the product, including a live demo of the software. In other words: you have 5 minutes to either excel at it, or be marked for the rest of your life for the worst reasons. Why do I say this? Well, all the public TV channels were there, including some private. Newspaper reports, radio reports, you name it. I even ended up with my face and my back in the public television!!! My parents were so proud ;-) On that same week I ha...

The Building, Life and the Laptop...

It is funny how things turn out some times. No matter how many plans you make, destiny will always throw a curve ball at you. You may plan it all out: what to do, when to do it, even how to do it. But the fact is that when you try to actually do it, things will blow up in your face. The last entry I made in this blog was about the building I'm currently working on. Funny thing is that it has been over a month since I blogged and the building is still under constructions. But since someone very important, like the President, is coming for the official opening the work has suddenly switched into Warp 5 Speed. You have painters working side by side with welders; technicians configuring the elevator; technicians testing the air conditioning and more. The end result is that nobody can actually get any work done in the mist of all the noise and smell of paint. On top of that the building still has no full electrical power. We didn't work for a whole morning so the power company could...

A Goodbye...

Today was my last day at my current working location. It is strange to leave a place where I have worked for 7 years and 15 days exactly. I'm not leaving the company, but the place, the friends from other departments that are staying. I will miss specially the ladies, since in our new location there won't be a single lady in the floor I'll be working: just men. I usually say that if you put too many men engineers in the same place without a single women things fall apart. I say this because the conversation level degrades... A women would make all the men automatically be more self-conscious and avoid having conversations in slang or anything worse. To all those that stay in the old location I wish the best of luck and happiness with their lives. For all those that like me will be pursuing a new adventure I wish also the best luck and happiness. For those that have left or will leave I want to say this: I understand and although I'll miss you, as friend I have to tell y...

Accepting an Offer...

This was a different week. The company I work for is moving locations and I considered their offer unacceptable. Well, they made another offer and I decided to accept it. Although I feel like I sold myself, I can't stop and think that I'm still taking a huge risk. Part of what was proposed to me still hasn't been confirmed and three years from know I'll probably be loosing money if I continue in the company. I'm still thinking if I should sign the agreement without having this confirmation. It makes the risk even greater. But with that fact aside and if things go according to the plan I'll start working on the new location next Friday. I honestly believe that things won't go according to the plan because it involves changing 80 persons from 4 different locations to a new building that is from 4 to 250Km where those persons currently work. It involves changing people's machines, bindings, pencils, lab machines that are almost never turned off, the UPS, p...

Making Life Changing Decisions...

I already ranted about this the last time I blogged and I don't want to rant any further, but it is affecting my life and I should blog about it. Facts are that I need to make a decision that will change the course of my life. I have to decide if I want to continue with my current employer or if a want to jump into the void and pursue another goal. There are many alternatives. I can simply look for another job, maybe even launch myself as a freelancer. I can even go for a PhD, but I don't want to get Piled Higher and Deeper . Just kidding. Although I love these comic strips, I haven't run against anything similar to it during my Masters. Why do I need to make a decision? Simple, I don't see my current employer step up to its responsibilities and pay for the relocation. Although it is in the Portuguese Law that the employer should pay for all the relocation costs I don't think they will. I'm saying this because they are using an option in the law to enter in agre...

The Power of the Community

It isn't new, other have already said it, but today I found another demonstration of the Power of the Community. A Community of motivated people created many successful software projects, like the GNU/Linux project. When the idea for a new project appears and a community builds up around it, the project at such a pace that commercial companies would say it is impossible. In fact, when the community that is developing an application that they will use it, magic happens. Today I was browsing through the web when I came across this set of videos on YouTube. It is about the Jokosher project. What is the Jokosher project? Well, I'll quote its home page: Jokosher is a simple yet powerful multi-track studio. With it you can create and record music, podcasts and more, all from an integrated simple environment. It may not sound that great, but this application was built like every application should. And is moving at a quick pace because of the community that surrounds it. But back,...

Finally a API for Date and Time Handling in Java

Have you ever had to do real work with Dates and Times in Java? Well, I had to and still have to. For Data and Time handling the Java API includes the Date and Calendar classes, but these classes leave a lot to desire. For instance: there is no class that represents a Date without Time information, or a class that represents Time without Date. Even worst, there is no class to support Durations. Until know what I did was to create the classes that I missed. For instance: I created a Duration class that represents Durations. It is weird to have to do these things, but it is a fact of life if you want to use Java Standard APIs. But there is hope for the rest of us that really want a new and better API. JSR-310 Date and Time API is planed for Java 7 and should address these issues. They will finally create a simpler API, with all the missing parts like Durations, Date without Time and Time without Date, and so on... The problem is we are still at least a year away from Java 7 and we ne...

A Departure...

My grandfather has left this earth and went into the great adventure. He will always be in my heart and I'll never forget him. I know he is watching over us and he expects us to continue without his presence. I'll do my best to make him proud...

ARM, Symbian, Linux and the iPhone

I've been a little off-line lately due to some personal problems It involves the health and life of someone that is dear to me. This leaves me without any will our power to actually write anything. But at least I'll leave here a link to a series of articles on the story of the ARM processors, the Symbian and Linux use on Mobile Phones. And of course, the latest release from Apple the iPhone. Read on if you want to know a little about history, since my will to write is somewhere else...

Filling the Gaps in Swing...

I had this subject on my backlog for quite some time. You see, I started my days as a professional Java Developer doing Swing coding. At that time Swing was OK, a little slow, but OK. Today I believe Swing is as fast and any other GUI Toolkit for Java with the advantage of being extremely flexible. But I don't want to get into a GUI Toolkit debate here because I think there is nothing to debate: you weight the factors for the project, choose a toolkit and live with it. In the last couple of days I stumbled upon two very interesting Java Specification Requests (JSR) related to Swing The first and oldest one is the JSR 295 - Beans Binding . The second one is the JSR 296 - Swing Application Framework . I already heard about the first one a year ago and I actually thought it was dead, but there has been some progress. These JSRs fill some of the Gaps I always believed Swing had. I'll give you some details. The Beans Binding JSR finally turns Java Beans into something really useful....

Three Pages, Three Weeks, Three Radars...

Today I made some progress on my Thesis: I was able to write three more pages in just one hour. At this rate It will take me another sixty hours to finish it. Hmm.... that still seems a huge number... On another note it seems that the number three has been pursuing me all day and will continue to. Let's have a look: I passed by three police Radars on my way to Work; the promise made by the high level management of providing us with full details on a sensitive subject within three weeks saw its deadline today (no, as usual they failed one more promise; why am I so stupid to think otherwise?); I found three major errors in the source code I was changing at work (don't worry, the errors are still there, since there is no time to correct them); I passed another three police radars on my way to the University; I have written three pages of my Thesis;... What will be next? Three Speeding Tickets when I get home?

Linux Kernel Internals...

Have you ever wanted to know the Linux Kernel Internals? Well, today, while browsing the web, I came across this article . It is an interview with Jens Axboe, the hacker that launched the development of the 2.5 branch of the Linux Kernel with his rewrite of the block layer. If you ever wanted to understand a little more about how Linux works, just read the interview. It is well worth the time it takes to read it. In fact, I'm know installing the kernel 2.6.19 on my Laptop and I'm following some of his advices, specially the notes about I/O Schedulers. What do you want? My Laptop is a 6 years old machine: if I can squeeze a little more performance out of it, I will!

The Community

Today I was browsing through my usual RSS feeds and I ran into this one . It is a presentation about "How To Herd Cats and Influence People". Jono is right on the money: the community is the key to keep a project alive. In fact he is even righter when he mentions that the process should be defined, not a peace of bureaucracy that no one wants to follow, but a simply defined. I'm saying this because I'm trying to contribute to Rhythmbox and I'm having difficulties on how should I make things. You see, when I involve myself in a project I like to respect the already made decisions. For instance: I don't want to start immediately by questioning the chosen architecture. The problem is that if I don't understand the architecture it will be difficult to contribute. What's there left to do? Well, I'll choose one implementation, the one that is quicker and that doesn't seem to break the application's architecture and move ahead; submit the patch an...

Thesis Progress... or lack of...

As you already know I'm writing my Thesis. Facts are that I haven't made any progress in it and I believe I should really channel all my energies to it. It is almost the end of January and I want to end it as soon as possible. The problem is that it has been some weeks since I have written anything on the Thesis. It is not that the subject isn't interesting, but since I shot for the impossible for the given time frame I'm writing about what I wanted to achieve. Facts are that I didn't achieve my end goal and that makes me frustrated to a point that I can't write about it. I guess the rage needs to build up before I write a single line in the Thesis...