|
Tuesday, July 22, 2008
A voice from the past ... shouting TDD!
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!
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
Scott Bellware:
Ted Neward:
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!
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:
Convert the downloaded html-pages into one pdf with htmldoc:
On the Mac you can easily install wget and htmldoc with fink:
This is what I did:
Download all the files used by the page with wget:
wget -r http://java.boot.by/scea5-guide/
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!
-- Edsger W. Dijkstra, |
Monday, July 14, 2008
Java EE Testing Update
Some 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:
Thanks for the contributions! I will try to include them in the next workshops.
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:
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!
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:
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:
Wednesday, July 9, 2008
Zühlke Blogstream
I just added a blogstream aggregating the private blogs from my fellow bloggers at Zühlke (including me) to the sidebar of my blog.
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...
(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, del.icio.us, 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?)
Just 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 :-)
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?
-- Tom Poppendieck,
|
Sunday, July 6, 2008
Extrovert, are you?
-- Tom Clancy |
Subscribe to:
Posts (Atom)