Just Plain Random

October 31, 2007

Announcing a new beta of Deploying Rails, or why e-mail is dead

Yesterday we released the second beta of the Deploying Rails Applications book. It has a new chapter on Windows-based deployment, and includes updates now that Capistrano 2.0 is out.

Our new online system automatically sent e-mails to all existing owners, telling them about the beta.

And all but a few hundred of these e-mails were deleted by our commercial STMP service—the vast majority never reached their intended recipients. Apparently all the commercial e-mail hosting companies are now afraid of being tagged as "bulk-mailers," and will detect folks sending large numbers of emails in a given period.

All of which sucks.

Something our customers have asked for is better notification of updates to PDFs. The new site delivers. When you log in, it tells you if any of your PDFs have been updated. You can subscribe to your personal RSS feed and receive a notification that way. But most people seem to want to receive e-mail notifications. And now, just when we get into a position to be able to do that automatically, we seem to be blocked.

So, a question. We're not a big company. We don't have the resources to be able to manage the intricacies of mass emailing in-house. And we want something automated—we need to be able to send potentially many thousands of slightly-customized emails out when a PDF gets updated. And we need to be able to do it programmatically. Does anyone know of a decent solution?

Thanks.

April 28, 2007

Drawn to the Mike

Dearelena
Our friend Daniel Steinberg keeps coming back to his audio roots. From radio, to podcasting, to audio production, he seems to be constantly drawn back to the microphone. So it's wonderful that he's chosen to enter the Public Radio talent quest with a piece that gently and poignantly illustrates how parents can continue the dreams of childhood.

Starting with Elena's voice, and segueing to his parents, he does an amazing job of capturing the dream.

If you get a chance, check if out. And, if you like it, remember to rate the entry.

March 19, 2007

Agile Mastery

I'm in London, having just finished presenting at QCon.

One of the tracks was called Reflecting on our Agile Journey - How do we reach Mastery? The more I think about that, the more the title worries me, because it seems to contain an implicit assumption—that mastery is some state that can be reached.

I think there are methodologies which can be mastered, where you can say “now I know it all.” I don't believe agility is in that camp. For me, agility is all about the journey. Along the way, we'll always be faced with forks in the road. The agile principles help us decide which to take. And we just carry on, enjoying the trip and doing our best along the way.

February 25, 2007

Some Agile History

I spent this afternoon reorganizing (ok, just organizing) my files. In the process, I came across some of the notes I made in Snowbird back in 2001.

That was when 17 mawgs[1] who cared about projects and software got together to discuss what were then called Lightweight Methodologies. XP had just taken off, and SCRUM was making waves, and we all wanted to see if there was enough common ground for us to isolate some underlying principles. In the end, I think we did something far more important—we isolated a set of four common values, and wrote them up as the Agile Manifesto.

As the conversation began to gel, I wrote down a short bullet list of things we were saying:

Am1

Soon after, we broke for lunch. Martin Fowler and I were standing at the whiteboard, trying to see if we could come up with a summary which captured the mood of the room. I noticed that as we were talking we often seemed to focus on what we didn't like as much as on the values we believed in, so we experimented with writing down our conversation that way: we prefer X over Y. Gradually folks drifted over from the lunch table and the conversation flowed. (The picture that Ward took that forms the background on the Agile Manifesto site shows the group clustered around the board). I think we sat down after lunch with five bullets on the board. By the end of the afternoon, it was down to four, plus an introduction. I copied the whiteboard into my notes too:

Am2

You can argue the implementation (I see some teams that use the word "agile" when they really mean "chaotic") , but the values still ring true to me today. I think the Agile Manifesto has helped teams around the world rethink their priorities, and in the process has helped re-humanize software development.

And that's as it should be.


[1] Middle-aged white guys

February 16, 2007

Self-organizing Stores

I'm wondering: could the same organizing principles that work for community web sites work for retail stores?

Flyingbooks
If you go into a bookstore, you'll notice that not all books are displayed the same. Some are displayed on tables at the store entrance, or at the entrance to particular sections. Some are displayed on endcaps—that narrow space at the end of a shelf. And some are displayed on shelves with their covers facing the public. And then there's the vast majority of books, coyly showing you just their spines.

And then there's the shelving itself. Some books have clear homes: a book on the Java libraries likely belongs under Java programming. But where does a book on Ruby belong? Programming languages? Web development? Next to Perl and Python? The jewelry section?

Ever wonder what determines where a book goes and how it is displayed.

The basic answer is that most large bookstores ignore the publishers shelving suggestions and decide at head office where each book goes, often based on title alone. This is why you sometimes find a book a long way from where you'd logically expect it to be.

And when it comes to displaying a book more prominently than the standard shelving, there's another simple answer. Publishers pay for promotions, and stores display the books appropriately.

Are either of these practices in the interest of the customer? Perhaps indirectly—bookstores make a lot of money from the fees they charge for promoting books, and it could be argued that those fees keep the stores in business. But in terms of serving their primary purpose, which I'd define as making it easy for customers to find and buy interesting books, I'd say that both practices are suboptimal.

Having a central department decide shelving relies on one person being able to decide the likely audience for each book under their care, and then to decide where the average reader would expect to find that book. Both can at best cater to the typical case, and are bound to lead to frustration.

The reader is also poorly served when it comes to promotional placement. Sometimes it's useful: having a table by the front door piled with the latest Harry Potter is helpful, given that you know that a large number of people will flock in to pick one up. But for the less popular books the practice again moves decisions from the consumer to some central marketing department. Publisher Xyz may want the world to know about a new book, but the world might not be interested.

Online we address these kinds of problems using various self-organizing folksonomy systems: tagging, search, top-ten lists, "readers who bought X also bought Y" and so on.

So could we do the same in the retail world? I think it might be possible.

Say you had a store where you encouraged people to reshelve things. You'd have broad sections (Computers, Photography, and so one), and some cardboard labels you could put on the shelves themselves. People could write their own labels, create their own sections, and move books as they saw fit. If someone really likes a book, they could turn it face out to show others they approve. They could even move the books onto display tables. Not sure if a Photoshop title belongs in Photography or Computers? Put a copy in both sections.

Would such a store work, or would it just be chaos? I frankly don't know. But I suspect that people felt that user-organized sites such as wikis wouldn't work, and Wikipedia and friends have proven that wrong. Flickr and del.icio.us have shown that tagging is a great tool for organizing content. And all these sites have an additional, emergent, property that would be wonderful to see in a bricks and mortar store—they allow serendipitous discoveries. You come across things that delight you that you wouldn't have thought to look for.

Wouldn't that make it worth going to a real store again?

February 08, 2007

Cheese on Toast

DO NOT TRY THIS AT HOME

I love good cheese on toast. The trick is to get a nice, thin, lightly burned top while keeping the bulk of the cheese good and gooey. The skin gives it taste, the goop texture and follow through.

Tonight I saw a trailer for a cooking show where the chef caramelized the top of a creme brulée with a blowtorch. I couldn't resist.

Lightly toast some bread. Add a really, really thin spread of marmalade (optional, but try it...). Top with grated cheese and apply the MAPP torch. You'd be surprised just how close you have to hold it to get the cheese to brown—I started waving it vaguely in the direction of the bread, but ended up playing the flame directly over it.

The result was gorgeous.

DO NOT TRY THIS AT HOME.

February 07, 2007

Don't wear the yellow trunks

Over the last few years I've grown increasingly attached to the idea that progress is in the doing of things, and not in the things that get done. We learn, we grow, and we have fun as we change things, and not when we're created something static. I wrote a short piece called Artifacting a while back, and Andy and I followed up with an IEEE article.

Now ze frank has a wonderful video podcast talking (indirectly) about the same thing. The fun's in the surfing, not naming waves.

February 05, 2007

Two Hands Bad: The Frustrations of Dreyfus Level One

A while back an interviewer asked what I would do if I had three months of free time. Without hesitation I said "I'd take piano lessons." I've been hacking away on pianos since I was a kid, but I never really learned how to play anything real.

So my wife got wind of the interview (thanks, Google), and for my birthday I got piano lessons. In fact, I got perfect piano lessons—my piano teacher is totally flexible, into theory, and can play just about anything, in any style. He sets homework to do one thing, I get sidetracked and bring back something different, and he just rolls with it and I learn from what I did. It's invigorating, and great fun.

But I'm learning first hand about the Dreyfus model.

Continue reading "Two Hands Bad: The Frustrations of Dreyfus Level One" »

January 29, 2007

My EuroRailsConf Keynote is Online

I had an emotional trip to England back in September. I was reunited with family I hadn't seen for quarter of a century. It was the fifth anniversary of 9/11. I was due to give a keynote at the European Rails Conference, and I wasn't sure what I was going to say.

Somehow all these things came together at just the right time. The keynote is now online (44 mins). In it, I talk about terrorism, risk, fear, Ruby, Rails, and hope. I think it's one of my better talks. Enjoy.

Dan Benjamin Interview

Dan interviewed me for his Hivelogic Radio show. We chatted about publishing, languages, Rails, and strange accents.

I've moved the blogs

In my annual move to divest more of my infrastructure to third parties, I've decided to switch my blog to TypePad. This wasn't an easy decision, as I really like the flexibility that RubLog gave me. However, doing this means I can switch off yet one more virtual server.

I've also taken the opportunity to split the CodeKata out into their own separate blog.

One of the nice things about the move was the ease of migrating the content. Using the RubLog libraries and xmlrpc, I got the basic stuff moved across in less than an hour. I then went through and categorized the entries, splitting out the kata as I went. All in all, a pretty seamless transition (I hope...)

The old URL is currently redirecting, but it won't do for much longer, so update your links for my blog and the kata.

April 07, 2006

E Pluribus Anum

Went to a school production of The Wizard of Oz last night. Good fun. However, the Wizard had a slight hiccup. The line is supposed to go
Therefore, by virtue of the authority vested in me by the Universitartus Committiartum E Pluribus Unum, I hereby confer upon you the honorary degree of ThD.

Unfortunately, it came out E Pluribus Anum.

Which may well be the official motto for the wisdom of crowds…

January 28, 2006

Waterfall 2006

Andy and I have had to cut back on conferences this year, but it looks like we’re making an exception for this one.

November 28, 2005

Why We Don't Take American Express

When we first started taking credit cards, we had a menu of options. We chose to take Visa, Mastercard, and Discover. But I’d heard some merchants saying American Express were difficult to deal with, so we chose not to accept their card.

Folks have been asking us about this, so I recently went through the paperwork and signed up to become an American Express merchant. We were accepted, and everything seemed fine. Then, on the same day we received our agreement, we got a second letter, unilaterally amending that agreement. It said “if any customer disputes a Charge at your establishment claiming the transaction was fraudulent, American Express will immediately chargeback your merchant account for the full amount of the Disputed Charge without contacting your or sending you an inquiry. You will not have the opportunity to present any written substantive response to Disputed Charges…”.

We’ve never had anyone claim a fraudulent transaction against us, but we understand that cards can get stolen. We work hard with the card companies to help whenever a transaction is queried. But think about what American Express is saying.

If someone believes a transaction is fraudulent, then clearly they have a right to get their card credited immediately. That’s how all the card companies work, and we support it 100%. But then the other companies contact us and say “so-and-so says this. Do you have any records that will help in the invesigation?” We work with them to resolve the situation. By doing so, everyone benefits.

Not so with American Express. If someone makes a claim, not only do we not get told about it, but we have no ability to add any information to the situation. Everyone suffers, because no one can determine what really happened. We end up with a fraudulent transaction on our record. And we have no ability to correct the situation.

Visa and Mastercard are a pain to deal with. That’s as it should be. They want to protect the consumer. So do we. And that protection comes from transparency and the exchange of information. American Express doesn’t seem to be bothered with these details.

I spoke with managers there today. Because we don’t have a store front, they aren’t prepared to drop the clause. Instead, I dropped the card.

November 23, 2005

Weighty Matters

A link on digg gets us to a page about Germany’s new Water Bridge, an impressive aquaduct.

So, today’s Thanksgiving dinner question: what happens to the load on the bridge’s supporting columns as traffic enters an empty bridge? Do they feel additional weight? Does the load on them stay the same? (Please don’t e-mail me: just a question to get the family thinking.)

July 31, 2005

Java Rules!

February 28, 2005

Failure and Surgeons

Glenn Vanderburg pointed me at a wonderful article, The Physical Genius by Malcolm Gladwell, originally published in the New Yorker in 1999.

In the middle, Gladwell is reporting on Charles Bosk, a sociologist who interviewed doctors in an attempt to determine the factors that differentiate successful from unsuccessful surgeons. Bosk says:

"In my interviewing, I began to develop what I thought was an indicator of whether someone was going to be a good surgeon or not. It was a couple of simple questions: Have you ever made a mistake? And, if so, what was your worst mistake? The people who said, ‘Gee, I haven’t really had one,’ or, ‘I’ve had a couple of bad outcomes but they were due to things outside my control’—invariably those were the worst candidates. And the residents who said, ‘I make mistakes all the time. There was this horrible thing that happened just yesterday and here’s what it was.’ They were the best. They had the ability to rethink everything that they’d done and imagine how they might have done it differently."

Thinking about how we might have done things differently is vital if we’re to improve (or even survive, given the way the industry is trending). If you live in a rut, the next cart that comes along is likely to flatten you.

August 13, 2004

The Word DJ

This is trivial, but actualy seems to work surprisingly well. Bring up iTunes (or your audio player du jour), and type a random word into the search box. Then play all the matching tunes that it finds. For example, in my (somewhat boring) playlist, I just entered "river" and listened to three versions of Take me To the River, Somewhere Down the Crazy River, and Renée Fleming singing River Songs. Color names, animals, cities—just as long as you get a handful of matches, it doesn’t matter.

August 07, 2004

Fueling Development

Laptops need power. Fuel cells generate power. Fuel cells burn organic fuels. Many developers have excess body mass. Seems like a perfect fit…

Continue reading "Fueling Development" »

May 18, 2004

Outsourcing Article

A while back I was interviewed about outsourcing. The article appeared over the weekend in The Boston Globe. Nothing too revolutionary, but still some good solid advice from a number of contributors.

Now in Beta

  • Programming Ruby, 3rd Edition
    Third Edition, Covering Ruby 1.9, now available
My Photo

Pragmatic Stuff

Photos

  • www.flickr.com
    This is a Flickr badge showing public photos from pragdave tagged with pragdave_badge. Make your own badge here.

Site Search

  • Google Search

    The web
    PragDave