Posted on 2 Comments

Taking apart the worst app

Being a programmer since long ago, I hope I’ve acquired a few good habits when developing applications.
These days, if you’ve played in FrontPage or Dreamweaver, you’re a webmaster! And if you can write

printf("Hello World!");

you must be a programmer. Oh dear… what’s the world coming to!
Realistically, many applications out there are very badly designed. Or perhaps, not even designed at all. Just bad coding habits gone nasty. This results in problems with efficiency, security, bugs, maintainability, and so on. Naturally, this applies to SQL schemas and queries as much as it does to application code!

At the MySQL Users Conference, I’ll be doing my Confession Time: Deadly Sins in MySQL talk. That session touches on just a small selection of examples. It’s been heaps of (educational) fun at previous conferences and user group meetings.

I’m thinking about gathering a few other experienced people at the conf, and doing a BoF session on this topic. Now, I was talking on IRC (#mysql on irc.freenode.net) with various users, and devs of some popular PHP applications were actually quite willing to have their app taken apart. Or perhaps “shredded” is the more appropriate word for this venture ;-). I really applaud their willingness to not only show it all (well, the sources are already available) but also take the feedback.
So I’m thinking about using one particular (willing!) app as an example, with at least one of its developers present (brave person!). This is a bit of a challenge…. but I think it’s for the good, if the result is that more people pick up good design and coding habits! Perhaps some nice dev zone articles can come out of it, also.

Which application do you think would be an ideal candidate? And are you one of its developers?
Just post a comment to this entry, and we’ll see! Who dares…

Posted on 2 Comments

2 thoughts on “Taking apart the worst app

  1. The lead MediaWiki developer (brion) thinks he’s expected to be there to help Jimmy Wales on the technical side.

    For a possible dev zone item on when normalized data is bad (OLAP) or when caching results helps, see the MediaWiki list of categories query. That’s a quick one I did for Jimbo to present to some students.

    A more extreme example is the query to generate the table of contents for the list of all pages in Wikipedia. 1,000 table scans instead of one followed by 1,000 two record reads…

  2. Hi Arjen, http://www.phpnukefiles.com/modules.php?name=PHP-Nuke_HOWTO&page=lots-of-notice-lines.html
    I think this really tells the tale of this app.
    “If you get lots of Notice lines in your PHP-Nuke output like this:
    Notice: Use of undefined constant admin – assumed ‘admin’
    then the error level for the reporting is too high”

    This is my suggestion to you for an OSS application to pull apart for your talk.
    Kind Regards,
    GwaiLo

Comments are closed.