Google AdSense

Google AdSense

Just applied for Google AdSense. Which I think is great. When you google, do you notice the tiny adds on the right side of the search page? I do and their great. With Google AdSense you can do the same for your site. Google indexes your site and makes targeted adds available. You can then display these in a non intrusive way with a small javascript. (Do check their policy!)

ClassLoader (Java 2 Platform SE 5.0)

ClassLoader .defineClass(…)(Java 2 Platform SE 5.0)

Just been fooling around a bit. I like what the API docs say about the infamous classloader. Basicly, when I want to dynamicly load a class into my application, I can just do it myself with a custom classloader. I believe that when this classloader has been marked for collection that also all loaded classes of the custom classloader will be deleted from memory.

Would be very nice when that would be true. I can imagine some nifty tricks with this. Like injecting code into the application while the app is running. Would be very usefull, especially in distributed scenario’s. Or to enable changable runtime analysis code into a application. Perhaps it doesn’t sound usefull of the bat, but it will score you some kudos on any project anyway.

Design Patterns, Maven, Cruisecontrol, Java….

I’m doing a M.sc program with the Open Universiteit Nederland besides my day job at a consultancy company. Currently I’m running a course called Dessign Patterns (now what would that be about). Because I also have to develop some software for it in conjunction with another student, I decided to ease the exchange of information a bit.

I also think continuous integration is great, so why not combine everything and get some usefull handsone experience while at it. So I took some Maven, added some CruiseControl, mixed in Tomcat and put it on SubVersion. Fortunatly the guy working with me on this course was able to provide the Subversion bit, by plugging it into his Apache httpd. All in all it took me a weekend to read up on all the docs. Then it was a matter of just configuring it all, starting it and crossing my fingers. After some final tweaks it’s running quiet right. But I’ll probably tweak it some more.

Now why would I do all this for a simple course?

  • First, to impress the examinator.
  • Second to get some hands on experience with these tools, so that in the next project I run, someone actually has a clue about auto building software. My current project is getting along ok now, but I think it could be a lot better.
  • And third, give a tech demo for my employer, write an article about it (because there are no short and sweet articles about this subject which are understandable for managers).
  • And then finally fourth, try to do the presentation AGAIN for the Dutch Java User Group in front of say 100 people. And after all that is finished, tweak the article some more and get it published.

Phew, talk about trying something farfetched. Did I mention I also want all that articlicle to give me some extra credit for my M.sc degree?

Anyway, what all this gives me is this:

  • My collegue and I have a single point of definition of our sourcecode, called a repository. (SubVersion)
  • There is a process running which monitors the repository for changes. This process runs every 5 minutes. When either of us commits something to the repository the process picks this up and initiates a build. (The process is CruiseControl.)
  • When a build is ran a lot of things get done. First the most recent changes are updated from the repository. Second, everything gets built. Third a lot of data is gathered about the current state of the code: metrics, unit tests results, unit test failures, changelog, developer activity. Fourth, all the data is formatted to a web page and published to a well known location. Fifth, an email message gets sent to me and my collegue. (All done by Maven with exception of the publish and mail action, this is done by CruiseControl.)

And yes!! All that is ran fully automated. Sounds cool, doesn’t it? And the funny thing is that it’s all relativly easy to set up. And all tools used are open-source and available free of charge from the internet. Offcourse a lot more gets done, but hey, if I’d mention everything, then this blog would take forever to write.

(As you might have guesed, tech is great, software is even better.)

Blogging attempt nr. 2…

Hi there,

Right now I’m probably talking into the void. But hey, gotta start with something.

My name is Jeroen. I’m from the Netherlands. Things I’ll put here will most problably be related to things I read on the internet. Because I’m kind of into software development, it’ll probably be about that.