Why building a free service can be a disservice

Like many others, I don’t think that RSS is dead. It’s my favorite way to keep up with highly valuable content on the Web. So I’m in the market for a replacement for Google Reader, along with millions of others. As I’ve evaluated options, I’ve had to eliminate some of them because I’m not sure they’re serious about what they’re doing. This post is about my thought process and why I think entrepreneurs should challenge themselves to get serious, and signal that intent, by not building free services.

» Continue Reading (about 1500 words)

What's the lesson from daily deals sites?

I found myself in a, ahem, lively discussion with someone recently. It started when I said “there was always something wrong about the daily deals businesses (i.e. Groupon), but I’m sure they’ll teach us what’s really needed.” Turns out this person ran a local daily-deals site. Oops. My feeling is that anytime something doesn’t take root and grow into a lasting business, there’s a lesson to learn. Early social-networking sites weren’t quite a match with needs.

» Continue Reading (about 1000 words)

Model-view-controller considered harmful

In 2001 I created a PHP 4 web application framework from scratch as the backbone of a sophisticated application. Back then frameworks weren’t cool. Smarty templates were the hotness.

My framework had URL routing, templates with a capable templating syntax similar to mustache, loosely coupled and tightly cohesive object-oriented design, an elegant way to access the database without dumbing it down, and nicely separated business logic and presentation layers – among many other nice things you find in good frameworks. As the application grew more and more complex, the framework continued to serve well with only occasional enhancements. It’s still in use more than a decade later.

I mention this because I think I’ve been reasonably capable of designing maintainable systems for a long time. But the so-called MVC paradigm (model, view, controller) has never made sense to me.

Rectabular Excrusion Bracket

» Continue Reading (about 700 words)

A review of Republic Wireless's cellphone service

I’ve been trying out Republic Wireless, a startup that offers very inexpensive wireless service: $19 for unlimited talk, text, and data. In a nutshell: they resell Sprint’s network, and you agree to connect to wifi as much as possible; they use the Internet instead of the cell network when you’re on wifi. I thought for $19/month it wouldn’t hurt to give it a try. After several months, my experience has been that it isn’t worth using at all, no matter how cheap it is.

» Continue Reading (about 600 words)

The right way to do social

The technology industry moves incredibly fast, from one bubble to another. Web 2.0. Online auctions. (Remember when the Internet was filled with hundreds of eBay clones?) Social. Mobile. Location-based. Big Data. Whatever. I don’t think anyone will call me insightful for observing that the general idea of “social” had a peak in its hype cycle some time ago. I’d say three years ago was really the peak. At some point, lots of people were excited about applying social-ness to everything.

» Continue Reading (about 700 words)

Playing matchmaker for job seekers and recruiters

One of the most rewarding things you can do is help someone get a great job or hire a great person for the position they need to fill. I have traveled a lot, written books, done a bunch of consulting, and spoken widely on MySQL, other databases, open source, and so forth. I’ve gotten to know a lot of people, some I’d call good friends, and many of them are leading large organizations.

» Continue Reading (about 600 words)

What's the value of a Computer Science education?

I’ve been increasingly questioning the current model of university education in the US. Not only the value for the money, but just the entire notion that it’s a good way to learn. I got my Bachelor’s in Computer Science from UVA, which has been going through utter facepalm-worthy madness recently. It may be biasing my point of view. A friend recently sent me this: This shop was written up in the WSJ last week: http://devbootcamp.

» Continue Reading (about 400 words)

Seeing things from the user's point of view

I was discussing how to avoid surprising users and someone pointed out that what seems intuitive and rational to one person is often complete insanity for others. The mental gap between a developer and a user can often be a chasm far too wide to cross. Of all the bug reports I’ve filed against MySQL, here is my all-time favorite: select * from t where a >= 1.0order by a;

» Continue Reading (about 400 words)

When to ignore perfectly good advice

A couple of months ago I bent the ear of a friend whose opinion I really respect. She’s a totally sharp engineer who actively writes code for a living as well as managing large teams. She’s held top-level technical roles at some large and extremely respectable companies. In short, her perspective and experience is very valuable. One of my most important questions was what technologies she saw as established or emerging winners – good technologies to use as the foundation for a startup.

» Continue Reading (about 900 words)

Can we afford big data, or do we need smart data?

With the Big Data craze that’s sweeping the world of technology right now, I often ask myself whether we’re deficit-spending, so to speak, with our data consumption habits. I’ve seen repeated examples of being unwilling to get rid of data, even though it’s unused and nobody can think of a future use for it. At the same time, much Big Data processing I’ve seen is brute-force and costly: hitting a not-very-valuable nut with a giant, expensive sledgehammer.

» Continue Reading (about 800 words)

It's not just database servers

Better performance is important in everything, not just MySQL. I don’t want to wait for my text editor to open a file or perform syntax highlighting. I don’t want to wait for my version control system to compute diffs or update my copy of the code with other peoples’ changes. I don’t want to wait for my code to compile. I don’t want to wait, period. Two tools I have enjoyed recently are Git and the Go language.

» Continue Reading (about 200 words)

Why I'm not an ACM member

I took a course on engineering ethics as part of my degree in computer science, and decided that it was very important for me to formally ascribe to a recognized code of conduct. This is not just a principle, but also an important legal matter in today’s litigious atmosphere. Court cases have literally been defended by engineers pointing to a code of ethics as their guidelines for actions and decisions.

» Continue Reading (about 500 words)

The first guest post on Xaprb blog

I got a really intriguing email today. As you might imagine, I get a lot of email offering to advertise, or trade links, or guest post, etc etc. But this is the most compelling one I’ve ever gotten: I came across your blog /blog/2009/03/13/50-things-to-know-before-migrating-oracle-to-mysql/ a few weeks ago as while conducting research for a website that I contribute to. The website aims to look at the progressive areas of early childhood psychology.

» Continue Reading (about 300 words)

Organize to resist SOPA in DC

If you’re in the DC area, there’s an emergency meeting of the DC Tech Meetup to get involved in advocating against SOPA and PIPA legislation. If you can’t make it in person, you can use the EFF’s online form to write your representatives about SOPA and PIPA. Don’t wait until it’s too late. The Internet is a vital part of our freedom. Well-intentioned legislators could damage that greatly while trying to solve problems they don’t understand fully.

» Continue Reading (about 100 words)

Oracle commercializes MySQL, sun rises in east

I’ve never objected to someone making money from MySQL. I’ve only expressed disappointment that they weren’t doing it effectively enough. As I have predicted many times, Oracle is good at this. Oracle is the number one reason I didn’t start a new career in some other database a few years ago. Oracle is making MySQL more successful not only for Oracle, but also for the users, the community, and the competition.

» Continue Reading (about 200 words)

Computer Science students, learn to write!

The single most important skill I learned in university while getting a degree in Computer Science was how to write better. Everything important you do in your professional life is about communication. The ability to write clearly and concisely, with at least approximately correct grammar, spelling, and punctuation, is vital. Despite what some people say to me on a regular basis, I am not “a natural” at this. I thought I was when I entered college.

» Continue Reading (about 500 words)

Measuring open-source success by jobs

It’s notoriously hard to measure the usage of open-source software. Software that’s open-source or free can be redistributed far and wide, so the original creators have no idea how many times it’s installed, deployed, or distributed. As a proxy, we often use downloads, but that’s woefully inadequate. I’ve recently begun trying to figure out how many job openings are mentioning various open-source projects. I think that this might be a better metric because it’s driven by the end result (usage), rather than intermediate processes (downloads, etc).

» Continue Reading (about 300 words)

How I ended my trial of Gnome 3

tl;dr version: I like XFCE better than Gnome 3. I wrote previously about trying out Gnome 3. I’ve been using it for about a month now, and it’s time for me to make a decision about whether to keep using it or revert to Gnome 2. I’m actually on vacation, which ends soon. I need to do this before vacation ends, so I can be fully productive at work. My ultimate impression of Gnome 3 is that it’s very slick, and makes significant improvements in some ways, but it’s not very usable for my purposes, and has too many self-contradictions.

» Continue Reading (about 600 words)

The bigger they are, the harder they fall

I see that a lot of people just don’t get it when they start talking about high availability, redundancy, failover, etc. This is probably not going to change, but maybe I can try anyway. Let’s think about how you can survive a massive Amazon AWS failure. You build your application to automatically move services to another part of the infrastructure that’s still up. Great! Now assume that everyone else is smart, too.

» Continue Reading (about 400 words)

Risks of running in the cloud

I think we’re beginning to see cloud computing mature a little bit. There is a long ways to go, but I am detecting more sober thinking on a wider scale. The events of last week, where many people were affected by Amazon’s outages, are helping clues sink in a little bit. There are a lot of risks that don’t go away when you use cloud platforms. There are a lot of new risks that you’ll encounter.

» Continue Reading (about 400 words)