Thursday, July 24, 2008

Path to paradise


Thou shalt study thy libraries and strive not to reinvent them without cause, that thy code may be short and readable and thy days pleasant and productive.

-- The Ten Commandments for C Programmers

Tuesday, July 22, 2008

A voice from the past ... shouting TDD!

megaphon.jpg 1972, I was not yet born when Edsger W. Dijkstra wrote The Humble Programmer [html] and promoted the following:

But one should not first make the program and then prove its correctness, because then the requirement of providing the proof would only increase the poor programmer's burden. On the contrary: the programmer should let correctness proof and program grow hand in hand. [...] If one first asks oneself what the structure of a convincing proof would be and, having found this, then constructs a program satisfying this proof's requirements, then these correctness concerns turn out to be a very effective heuristic guidance. By definition this approach is only applicable when we restrict ourselves to intellectually manageable programs, but it provides us with effective means for finding a satisfactory one among these.

If this is not an argument for Test Driven Development, I don't know what is!
[seen on jpboodhoo]

Monday, July 21, 2008

Productivity singularity vs. asymptotic inertia

befruchtung.jpg Scott Bellware:
I don't think we have a lot of productivity in software development! I think we have a lot of productivity built around the moment of creation of software, which is such an infinitely short period of time. It is relatively insignificant to what we should be concerned with, which is the massive amount of time which we spend in maintenance and extension.

Ted Neward:
Sounds kind of like having kids. The moment of creation is short and pleasurable and then you get eighteen years of maintenance!

-- Future of .NET Panel at DevTeach Toronto

Wednesday, July 16, 2008

Converting html to pdf

I wanted to put the content of the SCEA 5 Study Guide in one single pdf document.
This is what I did:

Download all the files used by the page with wget:
wget -r

Convert the downloaded html-pages into one pdf with htmldoc:
htmldoc index.html pr01.html pt01.html ch*.html pt02.html --outfile scea5-guide.pdf --footer /

On the Mac you can easily install wget and htmldoc with fink:
fink install wget htmldoc-nox

Tuesday, July 15, 2008

Size does matter after all!


The competent programmer is fully aware of the strictly limited size of his own skull.

-- Edsger W. Dijkstra,
The Humble Programmer

Monday, July 14, 2008

Java EE Testing Update

image_thumb.pngSome weeks ago I was holding my semi-annual workshop about Java EE Testing at the Software Schule Schweiz (SWS).

The workshop material can be downloaded here.

The participation of the attendees was very active and there were some interesting discussions.

The following frameworks we brought to my attention:
  • JMockit: A simple and lightweight Mocking Framework based on the Java 5 SE instrumentation feature (the java.lang.instrument package).
  • EasyGloss: a framework for simplifying unit testing of annotated classes that require injection in order to function.
  • Pitchfork: an embeddable Application-Server on top of the Springframework.

  • Thanks for the contributions! I will try to include them in the next workshops.

    Thursday, July 10, 2008

    Sophisticated Vocabulary: MVC

    My german teacher used to say:

    Those without sophisticated vocabulary will stay unredeemed!

    -- Markus Lüdin

    It is sad how the statement exposes the current state in the software industry.

    Talk to any semi-decent software developer, and he will tell you: Yeah, sure I am doing MVC! Do you think I am from the stone-age?

    Then bring in another developer and let them compare their ideas what MVC means... expect mayor differences! (to prove my point, listen to Scott and Rocky)

    To make the matter more complicated, just throw in MVP ... and what's the differenc to MVC again? Expect terms like Supervising Controller, Passive View and Presentation Model ... [having a deja-vu of Life of Brian?]

    ... ah, and don't forget my favorite: M-V-VM ... Model-View-ViewModel ... now that's almost as funny as the geeky old recursive unix acronyms. Or maybe someone has worn this t-shirt for too long?

    So do you really get the impression, that both of your developers are still talking about the same thing? I don't think so...

    And then, just to prove your utter incompetence, they start twisting the triad... what exactly is twisted/rotated? In which direction? Hmm... your only hope now is to start KISSing, maybe that will shut them up!

    MVC vs. MVP... actually it is quite simple: Phil Haack brings it to the point:
    WinMerge - [MVP.txt - mvc.txt]_3.png

    Wednesday, July 9, 2008

    Zühlke Blogstream

    logo.gif I just added a blogstream aggregating the private blogs from my fellow bloggers at Zühlke (including me) to the sidebar of my blog.

    (Yet another manifestation of a realityloop?)

    The boys from London have a pretty dominant appearance in the Zühlke-Blogosphere. Maybe I should go to London, I think I could feel comfortable there...

    The blogstream is also available as webpage or rss-stream...

    Web 2.0.1 - a realityloop feeding itself?

    Folks are staring at themselves in the monitor staring at themselves in the monitor staring at themselves in the monitor, on and on, completely trapped in a reality loop that never ends.

    -- Shannon McFarmland

    (in Invisible Monsters by Chuck Palahniuk)

    I blogged about not not getting Web 2.0.

    In the meantime I yielded to the hype... I have accounts on twitter, reddit, readbag, flickr,, Scripd ...

    But it seems I am lagging behind the hype again! The current hot new thing are sites that aggregate all that valuable Web 2.0 content!

    Sites and technologies like FriendFeed, Yahoo Pipes and Gnip are the next bubbles of coolness...

    ... so content itself seems to be available in abundance. The trick is now to aggregate and filter all this content that's floating around on the web, and then re-present it again as (new) content ...

    Welcome to the age of information-overflow!

    Time will tell how this affects us and our notions of information-consumption.
    This article has some interesting observations: Is Google Making Us Stupid?

    Here is my private manifestation of the realityloop: I export my Google Reader Shared Items to my FriendFeed which I then subscribe again in Google Reader ... senseless, but happily trapped in an endless loop ...

    Tuesday, July 8, 2008

    Grab them while they are hot ... (remember napster?)

    logo.gifJust discovered Scripd...

    The interface is really neat ... yet another trendy rails app?
    iPaper is also slick at first glance... but do you really want to read documents in your browser?

    But then again, is it really more than just riding the Web 2.0 hype? Time will tell ... and I am grabbing the interesting documents while they are still available :-)

    Monday, July 7, 2008

    Coding for the enterprise, are you?


    Very few organizations really want software. They have a problem that they want solved [...]. If they could solve the problem without software, so much the better!

    -- Tom Poppendieck,
    Hanselminutes 118

    Sunday, July 6, 2008

    Extrovert, are you?


    Never ask a man what kind of computer he drives. If its a Mac, he'll tell you. If not, why embarrass him?

    -- Tom Clancy

    Related Posts Plugin for WordPress, Blogger...