Good Mainstream SQLite Article

June 21st, 2007 by mcoyle

This article in Guardian Unlimited provides a good introduction to SQLite and the story behind it.

Since SQLite is the database used by cool stuff like Google Gears, Apple’s Core Data, and (cough) ProjectPipe, it’s great to see it get positive coverage in a mainstream news outlet.

The article is also a veritable infomercial for automated testing:

Hipp attributes much of the reliability of SQLite to his use of tests. Less than half of the program code is delivered as the database engine. The larger part consists of thousands of automated tests, which exercise the code and check that the results are as expected. “That’s the real key to keeping it working well,” he says.

One of the goals for SQLite was to keep the database library very small (under 250KB). If Dr. Hipp et al. hadn’t spent all that time writing automated tests, I’m sure that SQLite would also have a very small user base as well :)

Scratch

January 18th, 2007 by mcoyle

Scratch is a new kid-friendly visual programming environment built atop Squeak Smalltalk.

It is very intuitive, multimedia-oriented, and looks great. If you’re at all interested in getting your kids or non-technical friends/family into programming, I highly recommend checking it out.

Jabber’s 8th Birthday: The State of the Bulb

January 5th, 2007 by mcoyle

Peter Saint-Andre published a great synopsis of how the Jabber ecosystem has grown since 1999.

TurboGears 1.0

January 4th, 2007 by mcoyle

TurboGears is now at 1.0 release, and now has a new leader, Alberto Valverde. Best of luck to Alberto, and kudos to Kevin Dangoor from going from “idea” to “self-sustaining community” in less than 18 months.

The archive of the IRC chat where yesterday’s numerous announcements took place is available here. I’m sure it will be nicely summarized elsewhere by many others who are closer to the details.

There is a lot of interesting tidbits regarding TG and how it will fit into the greater Python web app ecosystem. If TG and its relation to WSGI, Pylons, Paste, CherryPy, etc. are remotely interesting to you, it’s worth a read.

My $.02: Moving forward, TurboGears is staying true to its original integration roots, by providing some glue, a tiny bit of magic, and the assurance that all of its component parts will mesh nicely together.

2007 Predictions

January 2nd, 2007 by mcoyle

Howdy folks. I hope you have had a happy and safe holidays. Now it’s back to ye olde grind, so to speak.

I’m a little bit late to the game on the ‘07 predictions, but I’ll throw my $.02 in anyway

1) General Assessment: 2007 will be just like the latter part of 2006, only more so. Feel free to stop reading here if you’re pressed for time.

3) Trend Mongering: Nothing will want be referred to as “2.0″, (even this line item). Presence-enabled apps will be the Next Big Thing heralded in 2007, but don’t expect too much this year.

4) Technology Cynicism: “Enterprisey” will become an increasingly popular derogatory term among business and IT folk alike. At the same time, the technologies and best practices that really make solutions scalable and trustworthy will continue to go mainstream (e.g. ACID databases, rigorous change management, planning for concurrency, intelligent network monitoring, etc.).

5) Data Syndication: RSS/Atom will continue to creep into the BigCo IT mainstream. There may not be pervasive hands-on adoption in the next 363 days, but once management gets a taste of data syndication, it will likely show up in 2008 budgets.

6) Browser Wars: Mozilla’s XUL will become an increasingly popular app development platform, as XMPP4Moz and Firebug are very promising signs of things to come. Time to dust off those old ActiveX/Flash arguments from a few years ago.

7) Apple: The Mac will continue to grow in market share. Apple will probably do something cool and useful related to telephony besides an iPod/cellphone device. I’m expecting Mr. Jobs to explain to the world how antiquated telephones are, in a blindingly-obvious-in-hindsight sort of way. Oh, and one more thing, Leopard’s iChat looks like it will have an Answering Machine built in. My house has one of those too. For now.

8) Programming Languages: IronPython will continue to increase its influence on the Microsoft side of the house, championing the cause of dynamicism to the masses. TurboGears, Django, Rails, etc. will all continue to cross-pollenate good ideas and kick off the occasional flame war.

9) Databases: MySQL’s perception of dominance in the Open Source database world will continue to erode, as it faces the competition of SQLite from below and PostgreSQL from above.

10) DRM: Digital Rights Management has already started to generate a lot of bad press for Microsoft and Vista. I firmly believe that the folks from Redmond will listen to their customers and adjust their DRM and activation gameplans accordingly, so that content producers and consumers both get a fair shake.

In closing, DRM will probably be the biggest technology topic of 2007, as ordinary folks quickly start to realize that fast-talking, red Corvette-driving, Aqua Velva-drenched Hollywood types should keep their zircon-encrusted pinky rings off of computer hardware specifications, instead focusing their creative attention on much more important work: Snakes on a Plane 2.

My New Favorite Quote…

November 7th, 2006 by mcoyle

…comes from this entry on The Daily WTF. Here it is:

It was a work of art, in a Jackson Pollock sort of way.

Nice.

On Interviews: You never have to ask a Navy SEAL if they can swim

October 25th, 2006 by mcoyle

Joel Spolsky has a great article on The Phone Screen, prompting me to jot down my $.02 on the topic.

In a prior life, I used to do tons of technical phone screens for everything from C# developers to Linux sysadmins. There is one concept that drives my interviewing style: You never have to ask a Navy SEAL if they can swim.

Here’s why: There are many skills, experiences, etc. that intrinsically require mastery (or at least competency) in smaller supporting skills. I’ve found that if I can validate these higher-level skills, I can reasonably assert that the candidate is competent in a cascade of supporting topics. It also allows you to sidestep the Buzzword Bingo that so many candidates feel that they need to play.

I like to ask questions that intrinsically flush out other areas of expertise (or lack thereof) in the process of being answered. For example, I never ask someone if they are proficient in [INSERT TOPIC HERE].

Rather, I ask them what they like or dislike about it, and why. If they have an opinion regarding likes and dislikes, it’s usually grounded in an understanding of the topic at hand, plus some basis for making the comparison. Plus, I’ve found that canned answers regarding opinions are easier to sniff out, because there’s no heart behind them.

The folks that eat and breathe technology have lukewarm opinions either way on very few topics.

I also ask a lot of questions about failures, bad designs, etc. I’ve found that for every big project, there are a bunch of junior folks who wait two years and then profess to be the project lead. The imposters always remember the cool stuff and the brag-worthy statistics (”we saved the customer $30M…”). However, only the genuine project leads can speak convincingly about the all-night debugging session in the office with the CIO the day before the big demo, the nasty integration details, hard-to-reproduce library conflicts, etc.

Also, here’s one more tip: I’ve found that if a candidate ever answers a question with word “Polymorphism”, they are always trying to bluff their way through the interview using big words. I know this because I never ask questions where the word “Polymorphism” by itself is a reasonable answer.

10.4.8.wow

October 4th, 2006 by mcoyle

If you haven’t seen it yet, the latest update to Mac OS X (10.4.8) includes a new feature where ctrl-mousewheel provides a full-screen zoom. It’s amazing (at least to me) how cleanly the render quality degrades as the zoom level increases. Things get blurry, but they don’t get blocky and pixelated. Thanks again, Quartz.

I think that the scroll zoom will be very much like Preview.app. It’s not the kind of feature that makes one stop what they’re doing and run out to buy a Mac, but you really miss it when working on other platforms. With a Mac, things Just Work (cough, most of the time).

Case in point, a few hours ago, I had to enter in a 15 digit number on a computer that was 10 feet away from my MacBook where I had the number up on the screen. I simply wheel-zoomed to the point where I could read it from far away, and zoomed back when I was done.

No harm, no foul. No thought involved.

But wait, you could do that with Windows/Linux/TRS-80/etc. simply by [INSERT 3 STEP PROCESS HERE]. But I firmly believe that the best technology is the stuff that you don’t notice.

Now I’m sure that there is some 19 year old rock star developer in Western Elbonia implementing that same wheel-zoom functionality in Linux (assuming it isn’t already implemented), to be folded into Ubuntu three scheduled releases from now (ditto).

The thing that’s great about the Mac is that the features a) Work Now, and b) Work Together. That is worth spending a few extra clams to me when I buy a new computer every couple of years.

But lest my advocacy be misinterpreted as elitism, believe me, when I first noticed that scroll-zoom (or any other wicked cool OS X benefit), I didn’t settle down into my best Thurston Howell the 3rd voice and ponder aloud about how the other half could possibly live.

The last thing we want as users, particularly those of us working with multiple platforms, is to have Daffy Duck jumping on Tux the Penguin’s head saying “Down, down, down. Mine, mine, mine.” Rather, the cross-proliferation of features across the Mac/Linux/Windows worlds may be bad for platform zealots, but it’s great for the rest of us.

That being said, OS X is probably the best end user experience “right now”, for most values of “right now”. Isn’t that true, Lovey?

Fall 2006 Botonomy Brochure Available

September 20th, 2006 by mcoyle

We recently published our Fall 2006 Brochure. This document, available in PDF format, highlights our product and service offerings.

Here’s a short glimpse into the “Making Of” the brochure, for those of you that like that kind of thing:

As you know, our schtick is helping small teams solve large problems. So with the help of an ancient Greek, a copy of Photoshop CS2, and a few cans of Red Bull, here’s what I came up with for the first page:
brochure image

The text on that page is the first half of what will probably get morphed into our “Small Team Manifesto” or “Ode to Small Teams”, or something of the like. The punchline, so to speak, is on the last page of the brochure.

The image started out as an old woodcarving of Archimedes, the famous Greek mathemetician credited with the quote:

Give me a lever long enough and a fulcrum on which to place it, and I shall move the world.

However, our mission is not to help old Greek guys solve problems by themselves. This is where Photoshop came in. The image now has a small team (i.e. Archimedes and his oft-overlooked twin brother Floyd) moving the earth with said lever.

A couple of other production notes:

  • The document was produced with Apple’s Pages. I’ve owned Pages (versions 1 and 2) since it came out, but hadn’t spent any significant time using it prior to creating the brochure. It was a pleasure to work with.
  • Oddly enough, Pages doesn’t ship with a landscape-oriented templates but it was really easy to set up. I built the brochure as a landscape-oriented document so that it is easier to read on a laptop screen. Kudos to Seth Godin for that tip.
  • Pages plays very nicely with Adobe Illustrator, at least in my experience. This made it trivial to move our vector-based graphics into Pages.
  • Even though some of the brochure content is repurposed from the Botonomy.com and ProjectPipe.com websites, some material also flowed back the other way, thanks to the creative jolt that comes with working under a different set of constraints. Specifically, many of the graphics on the latest ProjectPipe home page were initially developed for the brochure, and then repurposed for the web.

Over the years, I have developed a bit of apprehension when it comes to using WYSIWYG tools, since many visual layout tools (at least in GUI design and HTML) are a “pay me now or pay me later” proposition where you trade instant gratification for maintenance complexity downstream. That being said, it was really nice to drag stuff around in Pages, and have the layout “just work” when it came time to ship.

Pirates of the Caribbean III, starring Cap’n Crunch (My Apple 9/12 “Showtime” Prediction)

September 7th, 2006 by mcoyle

So I guess I’ll jump on the September 12th “Showtime” Event rumor bandwagon. This is pure speculation.

I’ve had a MacBook for several weeks now, and I love it for all the typical reasons (it’s fast, runs Parallels, etc.), but there is one thing that has bugged me since the night I opened the box:

With all of their industrial design and packaging acumen, why would Apple bundle a remote control with a laptop that has a 13″ screen?

Sure, you could run the video out of the laptop to a TV. But when you paint the picture of a laptop sitting on the floor in front of a TV, tethered to both the wall (for power) and to the TV (for video), it comes across as, well, very un-Apple-like.

Tonight, I’m willing to venture a guess regarding the real reason behind the Apple Remote. But first, the backstory.

One of the things that Steve Jobs said years ago regarding phone phreaking was that he was fascinated how something as small as a telephone could control something as large as the Packet Switched Telephone Network.

So for a while now, I’ve been waiting for Apple’s Really Next Big Thing, when Steve would recall the magic of the Homebrew days (sans some phreakin’ details of course), and talk about how Small Thing X can control Large Thing Y, for some consumer-ish values of X and Y.

I am speculating that Apple will be unveiling an AirPort-like wireless router that plugs into your TV. Let’s call it “AirPort Video”.

Wait, before you get ticked off and stop reading, I realize that this type of device has been rumored for a while now. The extra twist that I haven’t come across yet is that the AirPort Video would work with the Apple Remote, by reading the RF signal from the Apple Remote and schlepping the requests over 802.11 to your Mac sitting in the other room.

So the experience of pointing an Apple Remote at a screen and having movies come out is consistent whether you are pointing at an iMac, an AirPort Video-connected TV, or even (cough) some future Apple TV.

Think about it: The smallest device that Apple makes (the Apple Remote) controlling the biggest thing out there: The consumer’s living room.

I think that this is totally congruent with Steve’s early fascination with network-based technology and Apple/Steve’s current role in the entertainment ecosystem.

It would be like a mashup of 1970s hacker Steve Jobs with his 2006 iTunes/Pixar/Disney self. Metaphorically speaking, its Pirates of the Caribbean III, starring Cap’n Crunch.