Archive for March, 2006

WS-BabyWithTheBathWater: Beyond WS and REST

0

Following up on Don Box, Tim Bray captures the essence of REST nicely in his Styles: Beyond WS and REST post:

  • You have a lot of things in the system, identified by URIs.
  • The protocol (probably HTTP) only knows one MEP: single-request, single-response, with the request directed at a URI.
  • An important subset of the requests, what HTTP calls GET, are read-only, safe, idempotent.
  • You expect to ship a lot of URIs around in the bodies of requests and responses, and use them in operations that feel like link following.

I also agree with his characterization of HTTP verbs as a red herring:

The notion that you can usefully classify systems according to whether or not they use HTTP PUT and DELETE is silly. … There are two kinds of operations against a resource in the system: those that can change its state, and those that can’t.

This is consistent with my experience; PUT and DELETE are a bit of a pain to implement and their usefulness is suspect.

Btw, “Web style”, Tim’s proposed name for REST-like services, is terrible. Even Lo-REST is better.

However, I think blindfolding and shooting all of WS-* as a style goes too far. There are some useful, if horribly implemented, concepts in there. Namely:

* Standard description of the interface. WSDL is so ugly even its mother has trouble loving it, but the idea of machine and human readable interface descriptions is a powerful one. We could have a simple one for “Web style”. We used one back in 2000 that consisted of sample input and output XML documents. Very useful, you could immediately see the expected input and output and even use the sample as a template.

* Directory of services. I would personally stand in line to shoot UDDI, but some sort of directory is a decent idea. Not for runtime semantic magic hand-waving, but for development time discovery of available services.

* Hmm… I thought there were more. The rest, now that I think about it, deserve a blindfolding. There must be more decent concepts in there. Anyone?

I .. Must .. Have .. This

0

Holy cow. Go watch this video on the Ariel Atom, an amazingly fast and fun looking car from a tiny British company. This thing is a work of art.

How To Sell A BMW

6

BMW does this thing called the Ultimate Driving Experience. Basically, they put you at the wheel of a brand new 3 series on a race track with a professional driver telling you how to drive fast. If you don’t make the tires squeal or triple your heart rate, they get upset. As the professional says, “a squealing tire is a happy tire”.

I’d driven BMW’s for some time. I am, after all, Iranian and living in Southern California. Despite the great drive, I got tired of the semi-constant problems with the interior and defected to Japanese (also had something to do with my early Supra that was my first true love…)

I have to tell you, the Ultime Driving Experience is just an excellent marketing tool. Driving a nice car fast gives you a rush, a pure joy, that’s hard to achieve and hard to forget. They don’t try to sell you – in fact, they don’t have any sales info at all. It’s about you learning to be a better driver and about a great car to get you there.

Mercedes has a similar thing. It’s a bit more “upscale”. They have fancy watches and sushi. Massages and such.

So I wait in line at the Mercedes event to try out one of the sportier models. No professional driver on this one, you wait with the hordes and go after the car in front of you has made it most of the way thru the course.

I make that bad boy squeal. Accelerator all the way down, breaks mashed in, corner as fast as I can.

But it’s not as much fun. The track is just not setup to be fast. Nobody’s telling you to go faster. You only go around the track once.

Anyway, nice car. I get to the end, get out, and … the Mercedes guy is yelling at me. What the heck are you doing with that car? Are you some sort of maniac?

I guess a Mercedes tire takes no joy in squealing.

Point is, I’m seriously going to consider BMW as my next car. Mercedes is very nice too – in fact, I quite like a lot of their cars. But their marketing event barely registered, while the BMW event brought me back to a brand I’d given up on.

Microsoft Morale Problems?

0

Take a look at the comments on this Mini Microsoft rant about the Windows Vista delay. The comments are mostly anonymous but smell of being authentic. If so, the level of internal discontent at Microsoft is surprising.

Now any large organization is going to have lots of disgruntled people, but the outpouring here is more than I would expect for a public forum. Seems there’s a lot of pent-up frustration there.

As a casual Windows user I have to say the Vista slip means nothing to me. Windows is something that comes pre-installed on the computer and I don’t think much about. I still have a Windows ME computer for the kids. Even if I’m not getting Vista on the new computer, I’m getting XP, which means MS still makes money.

Funny comment:

What’s the difference between OS X and Vista?

Microsoft employees are excited about OS X…

Amazon S3 Does BitTorrent

1

Colin Faulkingham points out that Amazon S3 supports BitTorrent with no extra effort, no extra charge. Now this is getting interesting.

Finally Upgraded to Ubuntu Server

0

I started working on the new box in Oct of 05, and today, finally, I pulled the trigger and switched over. We’re on a much faster machine now, and running Ubuntu linux with Apache 2, PHP 5, Wordpress 2.0 . Let me know if anything doesn’t work.

Amazon Offers Storage As A Web Service

0

Amazon is offering a service called S3:

Amazon S3 provides a simple web services interface that can be used to store and retrieve any amount of data, at any time, from anywhere on the web. It gives any developer access to the same highly scalable, reliable, fast, inexpensive data storage infrastructure that Amazon uses to run its own global network of web sites.

The pricing seems reasonable:

  • Pay only for what you use. There is no minimum fee, and no start-up cost.
  • $0.15 per GB-Month of storage used.
  • $0.20 per GB of data transferred.

This is a very interesting idea, turning internal infrastructure services external. I don’t think they’ll make any money off of this anytime soon, but it’s a great experiment.

Choosing A Good Password

2

I thought everybody knew this, but appears that’s not the case. Here’s how you create a good password:

Think of a sentence you won’t forget. Here’s one:

I hate thinking of passwords, it’s such a hassle.

If you really can’t think of one, pick up the closest book to you, turn to a random page, and select a random sentence.

Now, create the password as the first letter of each word in the sentence:

Ihtop,isah

There you go. That is a password that is hard to crack, but easy to remember. Because you just remember the sentence.

If you picked a sentence out of the book, you can throw in the page number into the password also.

Massive SOAP / Web Service Adoption

0

This caught my attention:

about 43% of the items on [eBay] are added via the SOAP API

I would say that is massive adoption. Surprising and impressive. Shouldn’t be very surprising I suppose, we have massive usage of our APIs (Yahoo Search Marketing). It seems if people can make money from using your APIs they will have no quarrels doing so.

Via Dare Obasanjo from the ETech conference.

Easiest Way To Get Linux: VMWare + Ubuntu Image

7

Want an easy way to get Linux up and running? I set this up in 10 minutes (minus download time) on my laptop:

  1. Grab VMWare Server. It’s now free!
  2. Install it. Pretty easy, stick with the default options.
  3. Download the pre-built Ubuntu Linux image. Uncompress it.
  4. Open the ubuntu image in VMWare.

That’s it. Now you have a Linux virtual machine running on your computer. Perfectly functional, not too bad on performance. Mine figured out networking, worked out of the box. Easiest linux install yet.

VMWare, if you’re not familiar with it, is a server virtualization technology. Basically means you can run multiple virtual machines on your single physical machine. So for example, you can run a Linux virtual machine on your windows machine, and vice versa. The two machines can communicate with each other as if they were physically separate devices. I’ve used it for years, works very well.

There are a lot of nice things about VMWare. I mainly use it to develop and test linux code on my windows machine. I’ve also used it to setup snapshots of environments that I can restore easily later, such as particular releases of my software or particular configurations of my software at a customer site. VMWare stores the state of the virtual machine as a file, so it’s very easy to capture the state of one or more machines (just grab the files) and restore then (copy them back, fire up VMWare on them). So not only virtualization, but also easy restore of state.

Crossing 37 Signals: You Need Meetings!

3

Generally speaking I quite like the 37 Signals stuff, but in reading the Meetings Are Toxic chapter of their new book Getting Real, I have to disagree. From the book:

Do you really need meetings? Meetings usually arise when a concept isn’t clear enough. Instead of resorting to a meeting, try to simplify the concept so you can discuss it via email or IM or Campfire. The goal is to avoid meetings.

When we had a 10 person startup, this was sage advice. Everybody knew each other, trusted each other, was going in the same direction. Meetings were a rare and unusal event.

When you’re in a project with hundreds of people, communication is absolutely the bottleneck. In fact the Ganssel Group quote later in the chapter addresses this.

So how do you get people to communicate?

The book has some good advice – break the project into small autonomous teams with clear direction. Reduce the need for communication. Excellent.

But what do you do when autonomous team A fundamentally disagrees with autonomous team B on some aspect of the project that spans their functions? Throw in the fact that A is convinced B are a bunch of staid, lazy morons with no idea what’s best for the company, while B has evidence that A are a gaggle of arrogant kids with no experience in this business.

Do we, as suggested by the book, simplify and discuss by IM or email?

There’s nothing more toxic than a nasty long thread of email on a contentious issue that will not by any practical stretch be solved via email.

So what do you do?

Meet. Meet in person.

We are, after all, humans. Years of evolution (or perhaps intelligent design? ;-) ) have equipped us to understand other humans by visual and physical cues to a degree hard to achieve via the written word. Impossible to achieve via a hastily written email or IM.

In fact, a recent study has been in the press for showing that our ability to ascertain the intent of an email is equal to chance. We don’t have any idea what the emotional intent of the sender was.

So, meet. Use email and IM to deal with normal communication. If a contentious issue appears, get up, right now, off your chair, gather up the minimum set of necessary people, especially the lazy morons from group B, and talk it over. You’ll be well on your way to solving the issue, if it is solvable within your means.

Instead of calling meetings toxic, have better meetings. Get together, talk it over, draw it up on the whiteboard, and move on. A meeting doesn’t have to be a slice of hell with people droning on forever. Quiet those people up or don’t invite them. Discuss the actual issues. Use it as a working session.

Take it a step further. Buy that ignorant fool from the other team lunch. It’s easy to hate that guy from IM or email. It’s easy to dislike that guy from the meeting. Then you go to lunch, talk about life, realize he has a dog, and conclude he can’t be all bad. He does have a dog after all.

How To Do Great Math

1

Now this is a funny story from Richard Feynman:

Or the time when somebody claimed that if you took aspirin and Coca-Cola you’d fall over in a dead faint directly. I told them I thought it was a lot of baloney, and offered to take aspirin and Coca-Cola together. Then they got into an argument whether you should have the aspirin before the Coke, just after the Coke, or mixed in the Coke. So I had six aspirin and three Cokes, one right after the other. First, I took two aspirins and then a Coke, then I took a Coke and two aspirins. Each time the idiots who believed it were standing around me, waiting to catch me when I fainted. But nothing happened. I do remember that I didn’t sleep very well that night, so I got up and did a lot of figuring, and worked out some of the formulas for what is called the Riemann-Zeta function.

Here’s another good one:

Physics is to math what sex is to masturbation.