Author: Bill Karwin

  • Enabling the Success of a Software Team

    There are three “must haves” for excellent managers, which I look for when I work for a manager, and which I try to live up to when I work as a manager. I thought I’d write down these thoughts, after seeing Jeremy Cole’s blog this week with some great advice about ways to attract, motivate, […]

  • Proposals for MySQL Conference

    I submitted proposals for the MySQL Conference & Expo. SQL AntiPatterns III thought it would be a no-brainer to do a sequel of my 2007 talk, “SQL AntiPatterns”. That talk was very well attended, thanks to Jay Pipes’ endorsement in his guide to the conference. It’s not hard to come up with all-new content for […]

  • Leaving Zend

    I’ve worked at Zend for the past 13 months, heading up an open source project called the Zend Framework. Zend Framework is a library of PHP 5 classes providing simple, object-oriented solutions for most features common to modern web applications. I was the project manager as well as developing a lot of code, tests and […]

  • SHA2() patch for MySQL 5.0

    I’ve created a patch for MySQL 5.0.33 to provide a function SHA2().Download it here: It really just calls out to the OpenSSL library for the digest functions. So you have to build MySQL from source with OpenSSL support enabled. You can use the function in SQL syntax like: SELECT SHA2(‘message’, 256); The second argument […]

  • Change == Opportunity

    Bob Field posted his reactions to the recent MySQL announcement to offer two versions of the MySQL Server product: Enterprise Server and Community Server. I feel somewhat similarly; the change has the potential to give greater value to both the corporate customers of MySQL and their community users. It will be interesting to see how […]

  • Catch-22 of the Active Database

    People frequently ask if they can do fancy things in triggers, such as writing to the filesystem, sending an email, or notifying other applications of data changes. I always recommend against doing things like this. Calling an external processes from a trigger or UDF is very difficult to get right, and it is very easy […]

  • Working on SHA-2

    Several months ago, it became clear that one could crack a SHA-1 message digest. It was still a nontrivial problem, but it could be done thousands of times faster than brute-force guessing. So SHA-1 has become undesirable as a secure message digest, and U.S. federal software security standards now call for software to use SHA-256 […]