Saturday, September 25, 2010

Git+SVN Screencasts

This post is part of a series on Git and Subversion. To see all the related posts, screencasts and other resources, please click here

In preparations for presenting "Living with Git and Subversion in parallel" at GearConf in a few weeks, I've been practicing a Git+SVN exercise, going through all the steps from Git-cloning a Subversion repo, to full centralized Git-SVN mirror.

While I was doing this, I figured I might as well make some more use of this, and record some screencasts as I go along. I've just posted the first three on YouTube, and collected all my various works on Git and Subversion on this page.

Feedback is much appreciated!

Update: I'll try embedding the videos here on the blog too:


Git+SVN #1: Cloning a repo



Git+SVN #2: Some commits back and forth


Git+SVN #3: Conflicts

Wednesday, September 08, 2010

Agile in a Year in 5 minutes

I recently did a lightning talk at the local Java User Group in Cologne. Topic was Agile in a Year in 5 minutes, a shortened version of the talk I did earlier at FrOSCOn. I'm gonna be doing the full talk at the Cologne JUG on the 8th of November, so be there! Well, if you're in the area, anyhow.

Sunday, September 05, 2010

Links of the Week

Some time ago, Ole Morten tried a concept called MyWeeklyLinks, but he stopped after the eighth one. I speculate this was because he defined an audience that had no need for this kind of information, namely us: his readership. We rely on Twitter, blogs and other community-driven sites (Digg, Google Reader, DZone) for the fitting stream of links we consume.

That's not to say that that weekly links is a useless practice. Remember that you, dear readers,  are "information power users": We like to stay on top of what's going on out there, we stay updated. We devote a certain amount of time for this activity. Perhaps we have no need to consume "weekly links", but we can produce it for our colleagues.

I wrote my first mail like this to the team mailing list little over a year ago, simply three links:

Hi folks, I just wanted so share some interesting resources I found the last few days:  
This is a short overview of some Java programming styles that can give nicer code (although much debate followed after the post):

> http://codemonkeyism.com/generation-java-programming-style/
JetBrains are beta'ing a new IDE for pure web developers (not Java). Perhaps something for you guys who are tired Eclipse so-and-so CSS/JavaScript features?
> http://www.jetbrains.net/confluence/display/WI/Web+IDE+EAP
Eclipse Galileo is out since June, if you haven't heard already. Some interesting features include improvements to the Compare editor, better Mac-support, a bunch of GUI/usability improvements, and Java code navigation and auto-completion. I've been running it since yesterday, and so far it seems stable enough:
> http://www.eclipse.org/galileo/
I don't know if people think such links are useful, but if you want to, I can make a tradition of sending out a handful links every week or so (?). Give me a ping if you think it's a good idea.

And tradition it became. Since then I've sent out 42 of these mails.

The way I go about this is that every time I'm reading an article or blog post (in my free time) that could be relevant for my team, I paste it into a draft mail in GMail. By lunch-time Friday, I shine it up a little and send it out.

I receive the odd feedback or comment on these, so I know that at least some colleagues are skimming through them and finding something of value. That's enough motivation to keep me going.

Friday, September 03, 2010

Visualizing Code Aesthetics

In the newest Javamagazin, there's an article by Bastian Helfert and Steffen Hohn about CodeCity, a really interesting tool for visualizing code.

I just ran it over our 300k LOC Java project, and got this model (click to see larger version):

  • Buildings are classes. 
  • Height is based on class LOC
  • Building ground-area is based on number of attributes
  • City blocks are packages.
If you actually run the program, you can interact with the model, fly around, click to see which package is which block, etc.

This is all fun and cool-looking, but does it have any practical usage, I wonder?

I think we want to work in small friendly villages, where most houses are evenly-sized, nicely sized neighborhoods, no big ugly gray parking lots, and no towering sky-scrapers.

Here I ran it again on a smaller, nicer project:
Certainly a lot easier to find your way around this neighborhood.

I know Michael Feathers has made quite a few thoughts around code aesthetics. Perhaps these kind of metrics need some more attention to help people visualize good design and technical debt?

Thursday, September 02, 2010

Speaking at GearConf 2010

After tirelessly blogging about how to work with Git and Subversion in parallel for some time now, I fired off an abstract to GearConf, as this looked like a subject that would be right up their alley (they had talks about Git and Mercurial last year). They accepted the talk a couple of days ago, so it looks like I'll be driving up to Düsseldorf on the 11-12. October.

Interestingly enough, GearConf is sharing the event with the Atlassian Software Conference Düsseldorf,. I've been up close and personal with their products before, so it'll be cool to see how far they've gotten since back in the day (when their products were already awesome).

For anyone in the area, the people behind GearConf are also arranging WebAppDays in Düsseldorf from 27-28. September. I would go there too, but I think I'm all out of conf-days for this year :)