Keeping It Simple

  • Free Software vs. Gratis Software

    A lot of folks are unclear on the subtleties of free software and open source. Mike Hogan writes a blog article”Is Hybrid Licensing of OSS Hypocrisy?” to try to shed some light on this. With respect, I think he has missed part of it. We’re talking about two orthogonal things here. One is open-source versus…

  • I’m Speaking on SQL at OSCON

    I’m Speaking on SQL at OSCON

    Early Registration has been extended to June 23. Save up to $250! Enter my friends-of-speaker discount code “os09fos” when you register, and save an additional 20%! Just because you read my blog. Practical Object-Oriented Models in SQL Wednesday July 22, 5:20pm. SQL is from Mars, Objects are from Venus. This talk is for software developers…

  • EAV FAIL

    Photo by Mike Gogulski, used in accordance with the Creative Commons BY-SA 3.0 license The photo above illustrates (by counter-example) an important characteristic of a normalized database: each logical “type” of attribute belongs in a separate column. Just because three values happen to be numeric doesn’t mean it makes sense to SUM() them together. But if…

  • SQL Antipatterns Strike Back! Slides

    I presented my tutorial at the MySQL Conference & Expo today. I have fun preparing it and presenting it, and I got many good questions and comments from the audience. Thanks to everyone for coming and participating! I have uploaded my slides with a Creative Common 3.0 license to my SlideShare account: http://www.slideshare.net/billkarwin For those…

  • Oracle buying Sun

    Stunning news today that Oracle has offered to buy Sun Microsystems. This is sending the MySQL community reeling, as they begin their MySQL Conference & Expo today. Everyone’s talking about whether this change is good for MySQL. My first thought is: it’s not over till it’s over. These deals have a way of falling through…

  • I hate IBM System i

    In his blog, Vadim reports that a new storage pluggable engine for MySQL has appeared in the source tree, to support IBM DB2 for i as a back-end. This reminds me that I hate the IBM System i platform (aka IBM Power Systems, aka iSeries, aka AS/400). Don’t get me wrong — I’m sure it’s…

  • Virtually Speaking

    The word virtually is overused. In many cases using the word virtually simply means not. For example: I have finished virtually all of my homework. This new surgical procedure is virtually pain-free. In Modern American Usage, Bryan A. Garner counts virtually as a weasel-word. Weasel-words are so named because of the habit of weasels to…

  • Hello EclipseCon 2009

    No, I am not attending EclipseCon — but my smiling face apparently was on Tuesday. StackOverflow founder and CodingHorror blogger Jeff Atwood emailed me to let me know he displayed my StackOverflow user profile page during his keynote at EclipseCon. I don’t know what the context was in which he showed my profile. Maybe he…

  • Parrot Web Framework?

    Wondering if the following idea could be feasible: Architect a web framework that emphasizes Inversion of Control. Implement core web framework in Parrot (now that this dynamic language platform has released its 1.0). Voila! A web framework that supports any language implemented for Parrot platform. Developers write plugins in any language: Python, Ruby, PHP, Perl6,…

  • How do the Proxy, Decorator, Adaptor, and Bridge Patterns differ?

    A user recently asked: I was looking at the Proxy Pattern, and to me it seems an awful lot like the Decorator, Adaptor, and Bridge Patterns. Am I misunderstanding something? What’s the difference? Why would I use the proxy pattern veses the others? How have you used them in the past in real world projects?…

Got any book recommendations?