Heaps of things TODO…

Yeah, I know I’m not the only one with things to do. But man is this week packed or what?

  • Monday night a friend stopped by who I am helping out with keeping a (sweet) secret
  • Do some Salsa dancing on tuesday night (ok this is sort of relaxing)
  • Busy preparing a conference presentation which is next week, about Java user interfaces
  • Preparing a meet-up for my Master of Science, something with business rules and formal markdown
  • Not to mention the dentist, I hate that guy
  • Running two contracts simultaneously
    • Also this week marks the last week in the shorter one of the two. So deliveries to deliver
  • And I get the feeling I am forgetting something. 🙁 My schedule doesn’t mention anything… oh dear… what is it.

What it comes down to is this… I barely have time to sleep and today I already am having a hard time not taking an aspirin. So today I made it, I’ll go crash early tonight. A simple situation, I could keep on working or I can max out my time in bed tonight. Knowing myself I’d better get to sleep soon, else I’ll regret it tomorrow. 🙂

Fortunately next week I’m back on one contract again, the presentation has been given, no dentist and by then I’ll have remembered what I am forgetting right now. Anyway, for those of you who haven’t heard from me in a while… Now you know why.

Edit (5th october, 9:16 in the morning): I remember now. I promised a week ago I would have a review done last monday. Oops… next time I’ll mark it down in my calendar.

Macromedia Breeze

For one of my courses towards my M.Sc. we’re using Breeze. First time using Breeze to me. And I must say it works rather well. We’re conferencing with 5 people using web-cams.

Sound and images are a bit choppy now and then, but it’s a big improvement over using mail and or text chat programs. We’re able to talk, gesture, share files, do powerpoint presentations and scratch on a whiteboard together.

The truth about computer-science…

Normally I just don’t do it. I don’t like link blogs at all. But today Joel Spolsky posted something that is so true, it just plain hurts when you realise it. I just have to make an exception, because it aligns with my personal view perfectly.

Can Your Programming Language Do This?

This is true in the Netherlands too. All they teach/learn at comp-sci these days is Java or .NET. Such a waste, because these guys & girls get a degree without even having tasted or seen functional programming. There are exceptions. But most of the time, too bad.

Rest assured, I won’t go link whoring on this blog.

Ethical differences between Copyright and Patent

A few weeks back I finally finished my report on the ethics concerned with software copyright and software patents. The report was written in Dutch, but here is an English translation of my conclusion. Do note that perhaps some specifics do not apply to your legal zone. The report was written based on the current legislation in the Netherlands. But those details are not the point anyway, it’s about what software ownership is based on.
Continue reading “Ethical differences between Copyright and Patent”

And something I forgot…

The previous post is about something I have not blogged about before. I am stupid enough to think that besides a day job I can do a master’s degree in computer science. Isn’t that a contradiction…

Anyway that’s where this whole ethics report comes from.

Ethical differences between copyright on software and software patents…

For the past few weeks I’ve been working on a report which compares copyright and patent legislation for software on an ethical level. And let me tell you, this stuff is hard for me. I can not just compare things on a business level. I have to trace back things to the most basic level of ethics.

Guys like Rawls, Marx, Aristotle (and then some more…) all have they’re own views on ethics when it comes to business value and fruits of labor.

For instance this Marx guy has some ideas which are not that compatible with our current capitalistic ways of conducting business. While Rawls links things back to a “Early bird takes the worm” kind of thinking.

And then there is the old school. Major difficulty in making sense of Aristotle in the context of copyright and patents. My feeling is that I am missing something. The only question is what. Because the brick wall I’m running into has to do with my problems in finding the links between all this stuff. I’ve been making some mindmaps last night and they seem to have helped a bit. I have a very clear distinction between copyright and patent. Now to do the same thing with those philosophers views that are relevant to my subject matter. A task that feels daunting. And all this for a 19 page report.

Any opinions and info on this subject are very much apreciated.

Continuous Integration & Design patterns

As I mentioned in a previous blog I am doing some work related to Continuous integration in Java. It’s nothing fancy, but still people are not doing it because they are unaware of the benefits.

Yesterdag evening I had my first take on the presentation. It’s comming together quite nicely, but still I’m in doubt about the ammount of demo versus the ammount of theory. But that’ll all come together after a while.

Now for my Msc on the other hand I have to do an assignment about some game called Mankala. It’s focussed around the design of this game. It’s not my cup of thea and I think that whatever me and my colleague are going to deliver will be an overengineered piece of ehr…. work. You know the drill, a simple application burdened by it’s heavy weight enterprise design.

But on the otherhand it’s a nice short assignment on which I can brush up aquintance with the gang of four and friends. 🙂

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.)