Wednesday, April 25, 2007

What happened to LOP?

Wouter attended me to this interesting article by Sergey Dmitriev. Blunt axe summary: Language oriented programming will allow the programmer to naturally create DSL's as the need arises. Using the OO paradigm where applicable, using other paradigms in other domains. This will keep the code look more like the design and less like the unreadable crap that we normally write. Be honest: your beautiful creations are not exactly poetry to the untrained eye, right?

There are some more articles about it primarily the one by Martin Fowler, but nothing new really since 2005.

My theory is that getting an application (damn thing) to work it is just too much fuss to use something like MSP. The potential maintenance hell will lead managers to the conclusion that sticking to skills that they have sent their programmers to trainings for will be better. Who hasn't been to that design meeting where somebody started by drawing a very familiar picture on the whiteboard and said: "This is the service layer, this is the business layer, this is the data layer ...."? After that meeting everybody takes their template design documents, SLA's, status updates... and starts filling in the name of the project.

Creativity should be done by humans, filling in templates should be done by computers. But in the end humans tend to favor familiar territory. To be perfectly honest, most of my hours are spent doing stuff that should be automated.

Anyways, it would be nice if this LOP made it's way into mainstream software development. Time to polish up those true programming skills and forget about the compiler in the back of your head that you shouldn't rely on anyway.

Friday, April 13, 2007

Subclipse annoyance

To help the unwary that will follow in my footsteps:

How to change the stored credentials for a subversion repository in Eclipse (using Subclipse)
Subclipse is a wonderfull tool that helps a bunch when working with eclipse on a svn repo. However there are annoyances. This one i lost an hour on today.

Imagine that you have a friend that starts working on your machine and checks out a project. While he's working he doesn't want to provide credentials on every commit so he checks the save-pass checkbox. Now you have a project on which all commits get done as his user. Now you want to continue working on the project after he's gone. But you don't want to assume his identity. You need to remove/change the stored credentials. And if possible you don't want to do it with a nice button or option in the menu... Don't get your hopes up :/

So you try:
  1. fiddling with the properties of the project -> no luck
  2. fiddling with the properties of the location in the repository explorer -> no luck
  3. deleting the repository and recreating it
  4. deleting the project and recreating it
  5. combinations of 3 and 4 laced with power cycles -> no luck
The problem is hinted at here http://svn.haxx.se/subusers/archive-2006-08/0030.shtml.

Another problem you're experiencing is that subclipse uses JavaHL or SVNKit for the connection. These adapters are conveniently storing credentials for you. Subclipse doesn't care and doesn't provide an interface to influence this.

If you don't want to look for the config files and "fix" it from the comfort of eclipse. You can around this by just switching interfaces from Window->Preferences->Team->SVN
(Otherwise just go on and fiddle with the authentication files as described in the link)

Well, how's that for a bit of useless information?