login
Blurts on the Art of Software Development

Today | RSS | RDF | Atom | Other Tags
Categories : All | All | CI | .NET | General | Humour | Java | Personal | Reviews | Ruby | SW Eng

Did you think I was talking about that world? Well, I wasn't. I meant that the world of Gmail has stopped expanding. At least it seems that way because practically all of my "geeky" friends have been invited already.

The past few weeks, I've seen more people begging to get rid of their invites than asking to get one. What is it with geeks and counters? Is this the same phenomena that sometimes makes people try to reach 100% code coverage by any means necessary?

By the way, do you have an "@gmail.com" already? ;)

I just bumped into this page listing 100 most often misspelled words in English.

To my dissatisfaction, acquaintance wasn't one of them. I always get that one wrong.

Darn.

I've been using the 1.0 preview release of Mozilla FireFox for a couple of days now and I have to say that the new search bar rocks!

Dion has a point. I have also wondered many times why Sun hasn't provided such a simple enhancement to such an essential tool as java? (although having said that, I have to admit that I can't remember when I've compiled more than a single Java source file using the command-line tools...)

Obviously I'm talking about J2SE 5.0 a.k.a. Tiger.

What I'm wondering is, how many people have actually used Tiger "in anger" before its release? I know Cedric has, but he doesn't count...

PS. Beware of a loooooong download...

Sean Gilbertson writes in the XP Yahoo! group:

Think about the following Zen koan:

"If you meet the Buddha on the road, kill him."

One interpretation of this koan is that, if you think you have in your mind a concrete ideal of "perfection," you should kill that notion, because there is no such thing as perfection.

The most important thing you can do is try, fail, and understand why you failed. No expert can give you anything that will substitute for that experience; and too much education and reliance leads to resentment. And incidentally, failing a lot will tell you how much you love software.

Starting from the most important, life is so much easier if you like cheese. I also learned a new buzzword.

Ok. I've spent the day in a very odd mood. On the other hand, I've felt crushed, the next minute I'm feeling like it's all good, and then I realize I should probably hurt myself before 6am tomorrow morning (a go-live date for something I'm quite sure won't pan out as smoothly as it's supposed to). It's not the first time someone I know leaves this world too early but for some reason, I'm feeling this one more strongly than before. Maybe it's because Phil was such a ray of light. Always happy and eager to help others.

It's time to move on.

Phil was truly a breath of fresh air in every day.

Philippe Maquet

Since my busyness doesn't seem to stop, I'm falling back on attempting a cheap clone of Erik's linkblog...

To start with, Dan Countryman has something to tell you about pair programming. To be more specific, about what might happen if you stop pair programming.

Continuing with the XP theme, Dave Astels is telling you that your code sucks. Interestingly, someone decided to republish his blog entry in full at TSS.NET.

Still continuing with the XP theme, SDTimes has featured a small guest view on XP by Larry McCay.

Steve Maine has written up a very nice storyline about a four-part refactoring.

Rachel Davies has read Jutta Eckstein's latest and speaks highly of it.

I also picked up from TSS that some ex-BEA staffers have launched a startup for providing commercial support for open source software.

Apparently there's also some activity with regard to back-porting java.util.concurrency into Java 1.4 (something I would love to see happen for other Tiger features as well, knowing that I'll probably see Tiger in use at my current client sometime around 2006...).

I also loved seeing IBM developerWorks pushing out articles on AOP. Now if I could only make some time for using AspectJ on something...

While browsing the developerWorks site, I also spotted this. Sounds cool. Better make a note about this library's existence.

My RSS aggregator, bloglines.com, has published a web services API. Now you can poll for new messages and then fetch the blog entries. Marc Hedlund has also written an article about the new API for O'Reilly Network.

Phew. That's all folks. Now, if you'll excuse me, I have some sleeping to do...

This quote from Clarke Ching's blog made my day:

Once upon a time, a millipede met a management consultant.
(These insects do sometimes run into each other.)
...

It's not the first one to make it to the light of day, but Simon and Sam are working on Pebble Moblog, a MIDP 1.0 blogging client.

If you haven't heard about it yet, it seems like something has happened with regard to the long-lasting ruckus between EJB3 and JDO. First they were completely separate, then it started to look like there could be some synergy (sorry), then it all exploded again, and now we're apparently on the second round.

The question is how long is the race?

Cedric blogs about how he has experienced the new features of Java 5.0 after some 6 months of "beta testing".

His opinions are very much like mine, although I have read a lot more about the new features than actually used them. The only feature I disagree about are the annotations. I can't figure out why the expert group wouldn't adopt the syntax of .NET [attributes] which are, in my opinion, a lot nicer than the ones we @Have now.

First, I can't believe it took this long to come up with such a great idea.

Second, it looks like Microsoft has recently stopped using Gartner's services since their VP, Security, is throwing dirt.

Third, Google's next great venture just might be named Growser.

And finally, this is the sad truth about our industry. Either we need to learn how to breed with a USB adapter or get more women on the job.

There's a bunch of research papers and experience reports from ADC2004 available for download. Go get 'em.

I really appreciate marketing people who manage to come up with decent punchlines for products like this.

What caught my imagination from the appraisal on that page was the mention about "Tested To Be The Best". I wonder if there's an independent analyst somewhere specializing on, well, that kind of stuff... Another flash of the genius of that marketing team is "See the Champion in Action". Do I want to?

Yes, there's a video as well. It's not that bad. Really.

Nokia has released the Alpha 1.1.0 release of the forthcoming Python Interpreter for Series 60 platform (registration required) dubbed Amaretto.

From a quick glance over the accompanying documents, it looks like the Python Interpreter will indeed be a quite useful piece of work with its support for multi-threading, a UI toolkit (surprise, surprise -- you didn't think you had learned all Symbian UI APIs by now, did you?), and of course the ability to interface with the underlying Symbian OS C/C++ API. The user's guide lists Bluetooth, database access, HTTP client support, and socket support for inter-process communication (processes communicate over sockets in the Symbian architecture) as ongoing work and a few items for a longer-term roadmap.

It looks like the Python Interpreter installs itself into the device as an application you can launch as any other app. Then, it asks whether you want to execute a script somewhere in the filesystem or start an interactive session (I can imagine people going "finally, a decent calculator for my Nokia" at this point...). As a small detail, the interactive session interprets three pushes of the '0'-key as an <enter>. How weird is that.

You install your Python applications to the device by compiling them into a .pyi file using a Nokia-provided tool, makepyi, and sending it to the terminal where the Python Interpreter's Application Manager recognizes the MIME type and takes control.

The Python Interpreter speaks version 2.2.2 of the language and supports the following modules: binascii, code, codeop, errno, exceptions, __future__, ipm, linecache, marshal, operator, os (partly), os.path (partly), struct, sys, thread, time, traceback, and types. More will be added, of course.

Sounds like a good start to me.

...the size of the damn thing. It better be good because it's almost as big as WebLogic.

I'll have what they're drinking :)

My copy of Pragmatic Project Automation arrived approximately a week ago. However, since I was busy writing my CruiseControl tutorial, I didn't pick it up until today. After reading the "Scheduled Builds" chapter, it struck me that I really suck at writing compared to professionals...

So, what was the lesson learned?

Check out prior art both before (I did) and after (I didn't) creating your own.

Thanks, Ron, for making my day :)

Mats Helander writes about realizing the value of the "red" in unit testing. I'm afraid I don't fully agree with Mats' analysis of "red" being more valuable than "green". From my point of view, it's the change in color that matters most, not the actual direction of the change. In other words, while the constant green gives you confidence and the occasional red gives you even more confidence, in my opinion, it's really the change of color that is the core of all this.

Dion is right on the money. I've seen way too little unit tests out there and way too much of those have been written with the "I'll have to unit test this class so let's see what public methods it has" mentality. Don't get me wrong; it's better to have decent unit tests than none at all. It's just that if you're going through the trouble writing all those tests, why not make them better while you're at it? It's the behavioral tests that give you the new insights about your design. It's the behavioral tests that give you the most confidence. It's the behavioral tests that matter most when it comes down to return on investment.

Having not blogged for a whole week, it's time to just spill it all out in one intense burst...

Read more...

The September issue of the JavaRanch Journal features a tutorial of mine, Driving on CruiseControl, which shows you step by step how to set up the open source continuous integration server, CruiseControl.

Read more...

Wait! Don't tell me. Let me keep my delusions that you're actually enjoying reading my babblings :)

I know it's been a full week since I last blogged. I've been, as usual, drained out of energy by other things such as work, and... Hmm... What was it again? ...Oh, yeah. I've written a CruiseControl tutorial for the September issue of JavaRanch Journal coming out this week, hopefully. Actually, it's just the first part of a two-part series. The second part is bound to be published in the next issue, of course.

I'd also like to extend a special "thanks" to Frank and the JR staffers for the great feedback.

I hope that didn't sound too much like I've won an Oscar or anything :D

Yeah, I know. Everyone already knows IBM is serious about Eclipse, but I couldn't figure out a better title for a puny blog entry linking to this.

I know which one I'd vote for...

Seriously. I'm not even kidding.

David has a point. Two, actually. The fact that letmeshowyouhowrealprofessionalsdoit unavoidably kills any motivation to learn within the team and that software development and psychology are inseparable.

Ok. We all know Alan is a bit out there, but at least he knows that the Finns will rule the world. Real soon. Anytime now. Wait for it. Wait. Nope, you still have to wait. Wait...

Read more...

I've got 4 of 'em to hand out. The first 4 people to comment on this blog entry with their email address will get an invite for the Google webmail thing (which is still in beta).

Read more...

...is this kind of headlines. I wonder what they're feeding to their children in that village :)

Read more...

Gavin King's Hibernate team is looking for "user stories". Unfortunately I'm still uneligible, having not used Hibernate in a real-world project (although we're working on it slowly but steadily...).

Read more...

O'Reilly has published a nice story about a team looking for the optimal architecture for their high-performance server software. If you're dealing with software that needs to serve a huge number of concurrent users, you might want to check it out. Then again, if you're writing that kind of software yourself, you also might want to check out whether someone else has done it for you already...

Johanna Rothman and Laurent Bossavit both have blogged some words on testing that you might want your whole team read and think over.

...is "peacemaker" according to BBC. I have my doubts about the result, however. You see, if a real person would've analyzed my responses, I think the diagnosis would've been a nicely put synonym for "split personality" :)