Recently I was co-lecturing a workshop about web application developement with CouchDB. The event took place in the scope of a Summer University, which explicitly claims to provide a setting for lecturers to improve and to try out experimental teaching concepts.
Apart from simply distributing the share of work and apart from parallelizing preparation as well as oral presentation, my impression is that lecturing in pairs has positive side effects similiar to pair programming: >> more…
After seeing it at last year’s decoded conference I wanted to have an arduino and finally got me a Lilypad – its purple, sewable, cute little sister designed to build interactive clothing. It was even more fun than I thought and I spent a whole weekend and several evenings designing, programming, debugging and sewing my first interactive shirt.

That’s how I made it…
>> more…
On Monday, I started working on a new product (well, the product is not new, I only joined) and it’s neither Java nor Grails, but .NET. Which means working with a new (also not new, but I haven’t used in in ten years) OS, a new IDE, new team, new code, …
Luckily, there’s ReSharper, a great tool for visual studio, that let’s me use all the shortcuts I know from IntelliJ IDEA.
But as all the rest is so new and exciting, be prepared for a lot of beginner’s posts about C#, Team Foundation Server, working off-site and alike.
Just found this great shortcut in subversion (introduced in 1.6):
Instead of typing the whole path to your repository root, you can simply use a caret (^). This is especially useful when switching to a branch
svn switch ^/branches/new
or merging the trunk
svn merge ^/trunk
Before that I always did svn info, copied the path, etc. etc.
In general it’s a good thing, when your IDE is able to surprise you from time to time. However I was a little scared, when IntelliJ IDEA informed me that vertex(maxX, maxX, 0); was probably wrong. Of course I knew that I was gonna replace the second maxX with maxY as soon as I would give up symmetry and calculate the second dimension, but IDEA – how could it know? It’s easy – the vertex methods parameter names are (x, y, z) – that’s why IDEA infered that “max” was probably a prefix. Clever. By the way this confirms the need to choose meaningful and consistent names, even though your IDE is the only one who will ever read and comment on your code
Once in a while it happens that you have to roll back some changes you made in a branch that was already signed off, reintegrated into the trunk and deleted. This is how it can be achieved:
1. resurrect your branch by copying the revision you want to roll back (here: 28120) to a new branch:
svn copy http://svn.domain.com/branches/new_feature@28120 http://svn.domain.com/branches/new_feature -m “restore temporarily”
2. in your local copy, undo the specific change (c -28120 is the same as -r 28120:28119):
svn merge -c -28120 http://svn.domain.com/branches/new_feature
3. the usual: build, test, commit. >> more…
I have always had the feeling that industrial processes are a bad metaphor for software development.
If creating software were like producing cars, then more people would mean more output. Somehow I have never seen that work. Ever since Fred Brooks it’s been accepted fact that there is a diminishing returns curve we are on in adding people to a project. I was surprised when I found this blog post that showed that research indicated that the optimum productivity is actually at very small team sizes (actually 4.6)
http://www.erpwiz.com/teamwork-productivity.html
This question was raised and discussed at stackoverflow recently. Having used Grails for the sixbee project I shared our experiences compared to standard J2EE application development, especially to the subquestion:
Does it really confer rapid development benefits?
Definitely, it does. Even if the scaffolding path is left early and conventions are overriden to the own needs, the start-up period is very short, as we don’t have to care for many different technologies. That kind of lightweightness makes us work not only faster, but also more precise and clean. >> more…
This is a short article I write because it would have saved me some significant time had I been able to google it (no time-travel google (yet) – find articles you will write in the future). So maybe somebody in the future will find this useful
.
What we were doing is to use a Microsoft Business Intelligence/Reporting Server to report on data in an Oracle production database.
Creating the OLAP cubes in the MS system, everything worked fine until I tried to pull in aggregate data over a date field from the database, giving me the mysterious “Not a legal OleAut date” error message that can be found in the various forums, but none in the context of OLAP cubes. >> more…
It can happen more quickly than you think… even in environments which seem to follow an architectural role model, some dusty corners remain.
We are running an MS SQL Server Reporting Services server for some internal reports on the Oracle production database. Nice enough report generator. Now, I have done more than just some MS Access in prehistoric times, and constantly feel reminded of that “put these 120 line SQL query into the puny little properties textbox and it will do what you want” type of development. Things have definitely improved over that with MS Visual Studio 2008 and the report designer, but then, without prior notice, I was struggling with Visual Basic… >> more…