August 2005 Archives

Andy Oram

AddThis Social Bookmark Button

A lot of people are asking what’s happening to media and
entertainment–especially people whose jobs hang on the answer. These
industries are changing fast under the hammer blows of Internet
marketing and sales, blogs and podcasts, and the unstoppable flow of
the larger economy. I see four possible directions the field could
turn.

Stagnation

In this scenario, nothing much new happens and current trends
continue.

In particular, the trend toward spending less time and money on
entertainment and news continues, as people turn to new pursuits such
as email and web surfing. But no new media develop online, partly due
to timidity in the larger society and partly due to a copyright regime
that places brakes on the distribution of underpromoted artists. An
economic downturn could contribute to the starvation of the
media. People could also turn from mass media to local pursuits:
community theater, dancing to live music, and so forth.

Television continues to try oddball novelties, such as cartoon shows
for adults and reality TV, but they don’t lead to a real
revitalization of the medium.

Musicians, who have been able to create fresh sounds for a few decades
by mixing genres from around the world, continue recycling old styles
and produce stunningly excellent performers but little memorable
content.

Film studios continue the trend toward making movies into little more
than static demos for games or advertisements suitable for viewing in
shopping malls.

News viewing continues to decline as news gets more and more
pessimistic and people get too anxious to view it because the facts
don’t fit their notions of the world. Literacy in general declines,
and tolerance for all the longer forms of publications with it.

Rallying

In this scenario, the dominant players–major studios and
publishers–find ways to regain some of their former success, or are
replaced by upstarts in the same industries.

New music sensations arise, along the lines of Stevie Wonder or The
Beatles. who create a mass audience across all demographics and erase
boundaries of genres.

People get interested in the world again, perhaps driven by a desire
to understand the inexplicable, such as wars in far-away places
involving cultures that view life in fundamentally different
ways. This drives new books, TV shows, and other offerings in
conventional media.

So the world of media as we have known it lasts at least a little
longer.

Amateurization

In this scenario, bloggers, podcasters, and other indie producers
working on a shoestring gain more and more of the audience. This
causes the professional stalwarts–despite their Johnny-Come-Lately
attempts to co-opt the amateur movement–to decline to the point where
they simply disappear because their income has sunk below their costs.

Performers get aggressive in generating buzz. With no sumptuously funded
organization to carry on large marketing campaigns, each performer may
depend more on a geographically local following. While this can
reduce revenue, it may also turn out to be a boon to local
performances. Perhaps it reverses the trend toward monoculture. On the
other hand, without professional marketing organizations to define
channels, perhaps genres disappear; culture becomes a soup in which
everybody tries to do a bit of everything.

News is reported by whomever is on the scene–often anonymously–so
that rumors circulate as wildly as they did in the age before mass
literacy. Occasionally a government or non-profit funds an
investigation to discover what really happened; the official account
becomes grist for yet another whirlwind of speculation.

Revitalization

In this scenario, new media grow up suited to the current age, just as
radio, film, and television grew in the twentieth century. The media
is online and highly interactive. Passive consumption is joined to a
new participation. Structures emerge for building an accurate view of
breaking news from the clashing viewpoints of multiple observers. New
opportunities for money-making are found in news and culture, perhaps
totally different from the advertising, subscription, and other models
of the past. People are re-engaged and resensitized.

chromatic

AddThis Social Bookmark Button

Related link: http://www.navicasoft.com/Newsletters/August%202005%20Newsletter.htm

Bernard Golden, a deep thinker I recommend reading, has just published his August 2005 newsletter. The big insight for me is something I’d always sort of known but wish I’d said or even thought directly — “… the viability of commercial open source vendors depends upon the existence of a vibrant community.” Go read — he has much more to say.

Nitesh Dhanjani

AddThis Social Bookmark Button

After reading Engadget’s instructions on how to setup Synergy, a client + server software for sharing a single mouse and keyboard across multiple computers, I realized that Synergy makes no attempt to authenticate connections (to the server). After reading the Synergy website, it was clear that no encryption is performed either.

The Synergy website does provide instructions on how to run the server to only listen for local connections, and helps you setup SSH to tunnel traffic securely. If anyone is running Synergy on an un-trusted network, this is _very_ important. For example, the following script (uses tcpdump and ngrep), called synergy-key.bash, shows you how easy it is to sniff keystrokes (if you are on the same network segment as that of a Synergy user):


#!/bin/bash


tcpdump -n -nn -w dump.out
./ngrep -q -I dump.out -w 'DKDN' | grep DKDN | cut -c 12

Here is a sample run:

[bash]# ./synergy-key.bash
tcpdump: listening on en0, link-type EN10MB (Ethernet), capture size 96 bytes
^C150 packets captured
150 packets received by filter
0 packets dropped by kernel
t
e
s
t
i
n
g
.
!

Within the source code, file lib/synergy/ProtocolTypes.cpp will help you understand Synergy protocol. The DKDN string (grepped for in the above script) is sent by the server to the client when the focus is on the client, and the users presses a key. Immediately following DKDN is the actual ASCII key character.

It is also possible to use a tool such as Ettercap to inject packets into the TCP connection between the Synergy client and server. Such an attack can be used to make the Synergy clients run arbitrary commands. For example, the injected payload can start up cmd.exe by injecting the keystroke equivalent of Windows Key + R and then injecting cmd.exe followed by a carriage return. Once cmd.exe is loaded, an attacker may then inject further packets to make the client install a backdoor.

I really like Synergy, but I’m disappointed that it doesn’t include any encryption or authentication mechanism. The ssh tunneling instructions are great and much appreciated, but I do believe this is going to be a hassle for the less tech savy – so much so that most people will end up skipping the instructions. However, there is hope - a quote from the Synergy FAQ:

“Future versions may provide built-in encryption and authentication.”

chromatic

AddThis Social Bookmark Button

The other day, someone forged my e-mail address and sent mail to a bunch of other people. (It happens every day.) This time, it hit a network that checked my domain’s SPF records and realized that the message came from an unauthorized server. Then it “helpfully” sent me a message delivery failure notice. I’m sorry someone sent unwanted mail, but we both know that it wasn’t me. What possible use is there in sending me the bounce message? (If you absolutely must send the bounce message, why not take a trick from the spammer, virus, and worm playbook and choose someone else on the Internet randomly? You have a non-zero chance of finding someone who cares about that message — but I don’t.)

Why haven’t all mail server administrators passed the One Question Certifcation Test for E-mail Filter Authors yet?

Kevin Shockey

AddThis Social Bookmark Button

Related link: http://www.spikesource.com/contest

Have your heard? SpikeSource is currently sponsoring an Open Testing Contest. The contest aims to promote the concept of participatory testing while at the same time help projects improve their testing process. They are even offering prizes to the projects that improve their testing the most. First, if you haven’t nominated your project, you better do it fast. The deadline is August 31st. You want to sign up right now? Ok I’ll wait.

Still not quite sure if your project is right for the competition? Ok, first, your project should be written in C/C++, Java or PHP. Second, your project must have at least 20,000 lines of code. I know what your thinking….No! You may not use that trick we all did in college. 18,000 lines of comments will not get you qualified for the competition. There are some minor details, like you should actually be a contributor to the project, and it can not be commercially backed, but the other important requirement is that your project should have less than 75% initial code coverage.

Just to be clear, I checked in Wikipedia for what code coverage means. In management speak (see my others posts here, here, here, and here), all this means is the percentage of code that is tested. Why is this important? It’s important because code coverage is the metric that SpikeSource will use to choose the winners. Winners, as in plural, you say? Oh yeah, there will be first and second prize winners in each of the three categories: Lightweight (20,000 - 50,000 lines of code), Middleweight (50,001 - 100,000 lines of code), and Heavyweight (over 100,000 lines of code). There will also be a prize for the gnarliest test. I’d definitely like to hear about that one when the prizes are awarded.

The contest will run from September through the end of the year. During that time contestants will have to submit new tests for their project. All the while, regardless of the results of the contest, you will be improving the quality of your testing and reaping the rewards of automating the process with the SpikeSource testing service. How sweet is that?

So if you are looking to start off the new year with tight code, a better quality project, and pick a cool $2,500 to boot, then head on over to the SpikeSource Open Contest Registration site and get your project nominated. If you happen to be one of the first three committers to nominate a project in your weight class, you’ll walk away with $500. I’d say that’s enough to buy some shiny new gadgets. Well what are you doing still reading? Head on over and nominate your project.

Need $2,500?

Jonathan Wellons

AddThis Social Bookmark Button

Introduction
Suppose we have a table called ‘Tree’ with only one column called ‘lemons’ (unsigned int) for a very simple application to document the productivity of our trees. Typical data might be five rows with lemons numbering 0, 1, 2, 3 and 7. Of course, there can be any number of trees and the number of lemons can span the full range of an int.

The Puzzle
Write a pure SQL program that computes the smallest non-negative integer, such that no tree has that number of lemons. In the typical data above, the answer would be 4. Just to standardize, your solution must run in MySQL 4.1.12.

Guidelines

  • Obviously, you could chain an huge tower of subqueries together

    select
    if(
        (select * from min_absent where value = 0 limit 1) is null, 0,
        if(
            (select * from min_absent where value = 1 limit 1) is null, 1,
            if(
                (select * from min_absent where value = 2 limit 1) is null, 2,
                if(
                    (select * from min_absent where value = 3 limit 1) is null, 3,
                    if(
                        (select * from min_absent where value = 4 limit 1) is null, 4,
    ...
                      )
                  )
              )
          )
      ) 

    up to the full range of an int, but this is not elegant.

  • There are also tricks involving creating new (non-temporary) tables. This requires both more permissions, that there be no table name conflicts and it is less ‘lightweight’ and clean than selects. You don’t need to do this, either.

Solution
To come in a few days if no one finds an answer.

Jacek Artymiak

AddThis Social Bookmark Button

Related link: http:www.yubnub.org

I love yubnub.org! Here are three commands I created today to make my job easier:

obsd — list matching OpenBSD man pages
nbsd — list matching NetBSD man pages
amarank — display Amazon.com Sales Rank for the given ASIN/ISBN

Go to yubnub.org and try them.

Example: obsd device
Example: nbsd device
Example: amarank 0596000278

What’s your favorite yubnub.org command?

brian d foy

AddThis Social Bookmark Button

Related link: http://www.flickr.com/groups/notestonetflix/

Too much free time on your hands? Write out a message on a sticky note and send it to a Netflix sorter. Take a picture first so you can upload it to the notesonnetflix Flickr stream.

If you don’t have enough time to do that, but still have some free time, just look at what everyone else wrote.

Derek Sivers

AddThis Social Bookmark Button

It’s so funny when I hear people being so protective of ideas. (People who want me to sign an NDA to tell me the simplest idea.)

To me, ideas are worth nothing unless executed. They are just a multiplier. Execution is worth millions.

Explanation:

AWFUL IDEA = -1
WEAK IDEA = 1
SO-SO IDEA = 5
GOOD IDEA = 10
GREAT IDEA = 15
BRILLIANT IDEA = 20

NO EXECUTION = $1
WEAK EXECUTION = $1000
SO-SO- EXECUTION = $10,000
GOOD EXECUTION = $100,000
GREAT EXECUTION = $1,000,000
BRILLIANT EXECUTION = $10,000,000

To make a business, you need to multiply the two.

The most brilliant idea, with no execution, is worth $20.
The most brilliant idea takes great execution to be worth $20,000,000.

That’s why I don’t want to hear people’s ideas.
I’m not interested until I see their execution.

Ming Chow

AddThis Social Bookmark Button

Related link: http://hardware.slashdot.org/hardware/05/08/16/197222.shtml?tid=180&tid=98&tid=3

Now this Slashdot thread is classic!

This thread title: Henrico County iBook Sale Creates iRiot

Blurb: What do you get when you combine 1000 used iBooks being sold for $50 and 1000 people desperately wanting to buy them? You get an iStampede of course! Add into the mix one guy who watches too much wrestling and one gal who re-lived her first Backstreet Boys concert by wetting herself and you’ll being looking for video of the whole thing.

But seriously, 1000 used iBooks being sold for $50? I don’t think the amount raised will cover the cost of the entire event, let alone the fracas. And what about the planning of this event? I have seen, and been a part of, plenty of events like this that have gone smoothly. What a shame!

Nitesh Dhanjani

AddThis Social Bookmark Button

I just came across webkit2png.py. It is a simple Python script (based on webkit) that can be used to take screen-shots of web pages. For example:

[bash]$ ./webkit2png-0.4.py http://www.google.com/
Fetching http://www.google.com/ ...
... done

Now, wwwgooglecom-full.png will contain a screen-shot of http://www.google.com/. Another file, wwwgooglecom-thumb.png is also created which contains a thumbnail of the screen-shot:

image

I’ve found webkit2png.py useful when I need to take screenshots of webpages (more specifically, screen-shots of visible web application vulnerabilities to hand over to clients) since the images do not contain browser UI. If it weren’t for the high false-positives that Nessus and Nikto spit out, I’d say it would be a good idea to hack these tools to automatically grab screen-shots of vulnerable web resources. However, I did alter my google_vulns.php script to do this, and it worked well.

A GUI implementation, Paparazzi!, is also available.

Anthony Baxter

AddThis Social Bookmark Button

I posted this to python-dev last week, and since I’ve not heard any screaming, I’ll publicise it a bit more widely now.

So I’m currently planning for a 2.4.2 sometime around mid September. I figure
we cut a release candidate either on the 7th or 14th, and a final a week
later.

In addition, I’d like to suggest we think about a first alpha of 2.5 sometime
during March 2006, with a final release sometime around May-June. This would
mean (assuming people are happy with this) we need to make a list of what’s
still outstanding for 2.5. There’s a bunch of accepted PEPs that are waiting
for code. Once that’s done, there will be a final 2.4.3 sometime after or
close to the 2.5 final release.

I’m working on the Python 2.5 Release PEP at the moment. This will list all the outstanding major work that remains to be done.

Anthony Baxter

AddThis Social Bookmark Button

Anyone who’s seen any of my talks beginning with PyCON 2004’s
“Scripting Language My Arse” would have seen I’ve switched to the Larry
Lessig style of lots of short, punchy slides (typically 6 per minute).
I was pleasantly surprised at OSCON to hear from a number of people who
were inspired by this to also try this format for slides for their own
technical talks.

The people who talked to me about this found that this format worked
really well for them, but that it was a bit trickier to put the talks
together this way. I thought I’d talk about a couple of ways I’ve found
to do this.

The way I did this the first time was to start with traditional (boring,
awful) slides - multiple bullet points, the works. The day before my
talk I was staring at the slides feeling a sense of impending doom.
The slides were so dull I was sure the talk was going to die, and die
very badly. This was extremely worrying, as the title of the talk (Scripting
Language, My Arse) meant that I could expect a large crowd, and I wanted
to make a good impression.

Glyph Lefkowitz and I got into a discussion about talks, presentation
formats and the like, and I recalled seeing a flash version of Lessig’s
“Free Culture” talk (available on the web
here).
This really inspired me,
and I sat down and rewrote the slides from scratch in a 2 hour frenzy,
starting with the original slides and using these for the structure.
The new format just rocked. It really freed up the talk, and the audience
seemed to enjoy it a great deal.

So that’s method #1: Write a complete set of slides in a traditional way,
where it’s easier to see what you’re doing. If you’re like me (lazy), this
is probably more work than you’d like. Writing one set of slides is enough
work as it is.

While I was putting together my tutorial and talk for OSCON, I tried a
different approach. For both of these, I had a lot of material. I also
didn’t really have a plan for how I was going to slot these together.

I tried a different approach this time - I went to the local shops and
bought about 6 packs of 5×3 inch index cards. I then wrote down every
single idea onto a different index card, and then spread them out over
the kitchen table. I then found it remarkably easy to see all the material
in a convenient-to-manipulate format. It was very easy to group the slides
that went together, string them into a coherent story and figure out ways
to link the pieces together.

There were a few other advantages to this approach. One was that I always
had a small stack of the blank cards with me - so that if I was drifting
off to sleep and had a sudden idea, I could scribble it on a card and
then figure out how to slot it in the next day. If you’re like me, you
find you’re always having random ideas and then forgetting them before
you get to put them into your talk. This fixed that mental problem with
a (very low-tech) technical workaround.

Another was that it was very easy to reorder the presentation. As good as
OpenOffice is getting, it’s still fairly painful to do massive slide
reorganisation.

This isn’t an instant solution to the problem of putting together a talk,
but I found it helped me a great deal, and index cards are remarkably cheap.

Finally, I should thank Lessig for his magnificent example - it truly inspired me to try something outside the normal style of talk, and for that I’m very grateful.

What tricks have you found for preparing presentations that work for you?

brian d foy

AddThis Social Bookmark Button

I finally got a Motorola Razr. I know I’m behind the times, but I was waiting until I wouldn’t have to pay for the phone. Amazon had a deal (and has had in the past) where I pay for the phone then get that money back as a rebate after my second month of service. T-Mobile can now officially offer the phone, and since I’ve been happy with them I went with them again.

The Razr is replacing my Nokia 3650, an ex-sexy phone. People were drooling on it when I got it, but I never really grew to like it. It’s a bulky candy bar design (remember when i said last year I liked the bulky design? Yeah, that lasted like two weeks). The Razr is everything I wanted last year: it’s a flip phone, it has bluetooth, it works with iSync, and it has a caller-id/time window. This is the phone I was describing while I looking at the Nokia. I could use it with Verizon, but right now it’s not to long after the Tour de France where Telekom T-Mobile got a place on the podium and T-Mobile hasn’t really annoyed me in the past year. It’s thinner and lighter (3.4 ounces to Nokia’s 4.6 ounces). It charges with a regular USB cable, where the 3650 needed a weird booster thingy I never figured out. It came with a 312 area code, so people won’t have to ask where 773 is.

It took me a while to start playing with the Razr though. I needed iSync 2.1 (included with Tiger, which I still needed to put on some computers) to sync over bluetooth. I updated one of my bluetooth-capable Powerbooks to Tiger. I needed to get all my address book data to it since I did a clean install. I set up a free 60-day trial of .Mac and sync from another computer to .Mac, then .Mac to my new Tiger machine. Once I had the Powerbook sorted, I paired (which Motorola calls “bonding”) the Powerbook and Razr. No problems there. I sync-ed. No problems there. Everything looks like it just worked.

Things aren’t so sexy once I opened the Razr to look at the address book. I should have known something was up when I saw Motorola called it the “phone book”. In the phone book there was a single entry for every phone number. Not a single entry per person, but one for every one of their phone numbers. Some entries showed up on five different lines in the phone book. That’s annoying (and I later fixed it by going into the Phonebook settings and changing the view to only show the primary contact. I can cycle through the numbers by right clicking the joy-wheel thing). Each entry has a little icon on the right hand side: a little house, mobile phone, or office building. That doesn’t really help me that much since some entries have multiple numbers in any of those categories. Just which cell phone entry does this little icon represent?

The horror doesn’t end there. iSync didn’t send over any of the email addresses. What the heck’s going on? Oh, and where are the postal addresses? Why is the list sorted by first name (because there is only a name field)? Why do I have to edit multiple records just to fix a person’s name? Curiously, while I’m doing this I’m listening to David Pogue rant about bad user interfaces. I want to cry.

The Nokia address book is actually pretty good. I didn’t always like it, but at least it could show me all my data. Indeed, last weekend a friend called me while he was filling out some paperwork, and I was able to scroll through my Nokia address book to give him phone number, addresses, zip codes, and all sorts of other things. The Nokia address book is good enough that I didn’t have to carry a PDA with all that other stuff.

Okay, so the Motorola phone book sucks. No biggie. I’ll just buy some Razr app that’s good. I start googling around. Not only do I not find anything to buy, but I find very few people complaining about the sucky software. Even after I figured out it is “Razr” and not “Rzor”, I didn’t have much luck. Is it like lots of other consumer technology things where people just don’t realize how bad they have it?

I’m not really a power user. I don’t care to much about listening to music, doing fancy multimedia messaging, or playing games. I just want a useable address book. I’m sure to get that sorted, and then I’ll be happy. All the other software can suck, but give me a decent address book.

Anthony Baxter

AddThis Social Bookmark Button

I thought I’d start this blog by presenting a few random highlights
from OSCON 2005. This is not meant to be an exhaustive list, and please
don’t feel that I’m slighting you if I don’t mention your talk - this is
written a week later after a long plane flight home, so my memory is
not going to be fantastic.

I didn’t get to any tutorials on Monday - in the morning I was presenting
my Effective Python Programming tute, and the afternoon was mostly spent
recovering. The response from attendees at the tutorial was pretty positive - I got a lot of good feedback over the course of the week.

Tuesday morning I saw Jim Huginin and Martin Maly’s IronPython tutorial.
This was an excellent tutorial, and covered a lot of the things I wanted
to know about FePy. I will note that seeing the demonstration of cross-language
debugging in Visual Studio (stepping through Python and C# code, being able to
set breakpoints in both, the whole ball of wax) gave me a serious case of
debugger envy. A fancy .gdbinit that lets you dump out a nice representation of Python objects really isn’t even close.

(It might seem strange that Micosoft folks were presenting at the open source conference - but IronPython is actually open source, and not in a bogus “Shared Source” kind of way, but real open source, with a decent license.)

Tuesday afternoon was Brian Capouch’s Asterisk tutorial. I already knew a
lot of the material covered, but I still got a lot out of the tutorial. My
only complaint would be that the handouts were of a bunch of configuration
type things, and didn’t include the tutorial slides. I hope the slides end
up on the web somewhere.

On to the conference proper.

Wednesday morning’s keynotes were a bit disappointing. Tim and Nat’s
Open Source Trends was fun, but it would be nice if one of them posted a
blog entry with a list of the various things that they mentioned in the
talk. The Linux talk and the Schwartz interview didn’t do much for me,
although points to Nat for really hitting Schwartz with some tough questions.

Following that, I presented my VoIP Is The New Black. Luckily, I was in
one of the E rooms downstairs. These were small enough that I could do the
talk without a mike. This was important, because for some reason, OSCON didn’t
provide wireless mikes, and my style of speaking would have resulted in me
either ripping the mike out of the desk, or throttling myself as I bounced
in a random direction and forgot about the cable.
The talk was well attended, and the material seemed to go down well. One slight positive of the less than great keynotes in the morning was that I had time to ruthlessly hack into my slides - as of the night before, I was up to around 280 slides. I know from experience that around 6 per minute is a good number to aim for, so I took the axe to the slides and got it down to 240.

Other highlights from Wednesday included r0ml’s Semasiology of Open Source
talk (lots of fun) and Conway’s latest “my solution to the huge number of
CPAN modules available for task X is to write a new module for task X” talk.
Lots of pointless evil in there. I’m a big fan of pointless evil.

I was good and refrained from heckling during Guido’s State of the Python
Union talk.

Thursday morning’s keynotes were a better lot. The comparison of TCP/IP
to Shipping Containers was a novel take on the power of standardisation.
The Origami talk was fascinating, and massive points to the conference
organisers for scheduling it. Wrapping up the keynotes we had Dick Hardt’s
Identity 2.0. While this didn’t contain a lot of material that was new to
me, the format and the presentation of the talk blew me away. This is a man
who really knows how to present. I was left slightly in awe - and well done
for acknowledging Lessig for the style pointers at the end. More people need
to do talks this way - it produces a far better talk all round.

Randal Schwartz and Tom Phoenix gave a talk on various spam-filtering
technologies that they’ve used at Stonehenge. I got a bunch of ideas from
it - I’m currently doing a lot of thinking about the pending problem of
VoIP spam (I’ll post some ideas in a future post).

Sam Ruby gave an update on the parrotbench on Parrot project from last year.
The material was good, although it was slightly let down by his presentation
format. He went into some of the evil that Guido put into Parrotbench. Never
let it be said that Guido doesn’t have a twisted and strange sense of humour.

why the lucky stiff presented his Ruby rock opera during one of the afternoon
breaks. It was initially scheduled for earlier in the day in a smaller room,
but was moved after that room became dangerously crowded. What we saw of it,
between technical snafus, was a lot of fun. I’m still not planning on switching
to Ruby. “It’s better than Perl” really doesn’t cut a lot of ice with me.

Jeff Waugh gave a survey of a bunch of interesting new toys in Gnome and
Ubuntu in his Running with Scissors talk. Again with the “post a list of
links to the software in your blog”. I’d also suggest that Jeff invests in
a watch, or at least a small travel alarm clock that he can put in front of
himself to be aware of time. I was amused to notice just how many times
Jeff swore during his talk - mostly because I’d tried very hard not to swear
at all during my talk the previous day. (I think I succeeded, but I have no
real idea - my brain tends to think in swearing. I blame Deadwood, it made
me a potty-mouth. No, really, it did. Honest.) No-one seemed upset at
the swearing, which really does show that Australians can get away with
almost anything at a US conference.

Friday morning’s keynotes were a mixed bag. The CA presentation on Ingres
was intensely crap - I don’t go to this sort of conference for a marketing
talk. The only question from the audience was (paraphrased) “Aren’t you just
dumping your old rubbish software out there as open source because no-one
will buy it?” I’m sure I wasn’t the only other person thinking that.

Danny O’Brien’s On Evil talk was extremely entertaining - but anyone who’s
read his ‘To Evil’
series at OSDir.com would have expected that.

Asa Dotzler presented his “Linux suxx0rs” blog entry as a keynote. The
entertaining bit about this talk was that I was sitting next to Jeff
Waugh at the time, and it was fun to watch him seethe and seethe and
seethe. I thought he was going to explode by the end of the talk.
Of course, there’s a major difference between Linux and Firefox. Linux
applications, in general, understand how to free X resources. It would
be nice one day if Firefox gained the same ability, rather than requiring
regular restarts to free up the hundreds of megabytes of memory that it
consumes.

Other highlights of the morning keynotes (really, they were all good on Friday)
included the Howtoons talk (really, Make magazine for kids) and the Open Source Biology talk from a guy at MIT. I want my grey goo!

Friday was a half-day. I can understand why O’Reilly does this (a lot of
people leave during the afternoon) but given the utterly insane number of
tracks during the conference, I would have probably included one more session
on the Friday and cut down the number of tracks a little.

The conference finished with Miguel de Icaza demonstrating a bunch of the
eye candy and useful bits and pieces that Novell and Gnome have been working
on. I’m not convinced that I’d use much of the eye candy, but it was still
pretty, and X getting a decent compositing system is something to be praised.
I’m also really hanging out for Beagle.

And that wrapped up the conference. All in all, it was a lot of fun. I’m
not covering the drinking or random conversations in hallways that also made
the conference useful and fun. I’m definitely considering returning next
year - particularly if it’s in Portland again. What a fun town.

chromatic

AddThis Social Bookmark Button

Related link: http://www.perlcast.com/audio/Perlcast_Interview_002_perl_testing.mp3

At YAPC::NA, Josh McAdams from Perlcast.com interviewed Ian Langworth and me about our just-released book, Perl Testing: A Developer’s Notebook. He’s released the interview as a podcast — here’s your chance to hear what it’s like to write a book and why we think that Perl is a great language for software development and testing. (There are a lot of other great interviews on the site too.)

Want more interviews? We can possibly do that…

Andy Oram

AddThis Social Bookmark Button

Related link: http://linuxworldexpo.com/live/12/events/12SFO05A

A different sort of evidence of free software’s forward march came
today at LinuxWorld. I’ll report on that here, along with some other
interest events of the past two days:

My earlier blogs from this show are:


The march to open source

Two sales people (the kind of staff most evident at LinuxWorld) from
two different companies approached me within a 24-hour period to say
they want to talk to me about making part or all of their product open
source. I was flattered to be consulted, being neither a system
designer nor a marketing expert. But before I directed them to others
I thought would have more direct experience, I had some interesting
conversations that laid out some of the issues.

The determination of a company to open-source its product is at least
as significant as the decision of a customer to use open-source
software. When a company entrusts its core value to the community, and
declares that it can make a living by doing so, the movement has a
major gain. And it’s much harder to open a proprietary product after
building a company around a proprietary model than to start out open
source. These two companies–Radiant
Data Corporation

and
Qlusters–are brave folks.

Morality versus practicality

I don’t for a moment believe that, when leaders of the free software
community met at a
summit organized by Tim
O’Reilly in 1998

and chose to promote their work as the “open source” movement, they
were abandoning ethical or moral beliefs about the value of free
software. Nor do I think anyone who supports free software believes it
lacks practical application. But somehow an unwholesome view has
arisen that there are two different positions on free software, one
saying, “We wouldn’t care if free software had no practical value,
we’d insist on it anyway” and the other saying, “Go open source and
we’ll make you rich.”

But there are certainly times when one must decide what arguments to
stress when promoting free software. I chose the moral one in my 2002
article

Why Human Rights Requires Free Software
. In talking to Radiant
Data and Qlusters, I chose a more practical approach.

These companies have to deal with investors, partners, VARs, and
customers with critical needs. Few of these will find it persuasive if
a company says they made their code base free because “We like open
source” or “We want people to cheer us.” The people on the other side
of the bargaining table want to see tangible benefits. Placed suddenly
on the front lines, therefore–asked point-blank to help a company
justify going free–I found the open source movement’s approach to be
crucial.

Law professor and FSF advisor Eben Moglen (one of whose talks I’ll discuss
later in this article) said that free software
advocates should let the “gravity of free software” attract more
people to use it. Practical arguments can bring both software
companies and their users further along.

Radiant Data Corporation

Radiant Data are the makers of a distributed, highly available
filesystem called PeerFS. Because it supports Linux, according to VP
of Sales Robert Peverley, the company would like to consider
open-sourcing the system “over beer on a Friday afternoon.” I
responded that they’ll get somewhere when they start talking about it
Wednesday mornings. But I wasn’t rushing him by any means: I
recognized that moving from a proprietary to a partial of full open
source model is a risky decision that has to be supported by a strong
business case.

First of all, does anybody want the software? Would anybody take a
second look if it were opened up? There must already be a baker’s
dozen free distributed filesystems. Well, Radiant Data thinks they
have something pretty compelling, and others have told them so
too. They are particularly proud of their locking mechanism, which
greatly reduces contention compared to other systems out there.

Second, what tangible benefits would they get by opening part or all
of it? For this question there’s a good answer too: they know there
are features they lack that the community might provide (or at least
test and comment on). For instance, all data is currently replicated
in full across all nodes in the system. It might be more efficient to
implement a RAID-5 sort of scheme; they would like to be suitable for
a Wide Area File Services solution.

So we tossed around all the models we knew of and speculated about
whether they’d work for Radiant Data: dual-licensing (a distinct
possibility, because a filesystem is tailor-made for embedded in other
applications), proprietary add-ons, support (not a good option for
them–the system works too well out of the box), parallel free and
commercial offerings, and so on. I’ll be staying in touch with
Peverley and report if the company gets to discussing it on Wednesday
mornings.

Qlusters

Qlusters’s SEMPRE product makes it easy for companies to deploy
software on multiple systems for load balancing and high availability;
they claim impressively fast failover times of a few seconds. SEMPRE
controls clusters of Linux systems.

According to Fred Gallagher of Qlusters, the idea of open-sourcing
part of their product came to them when potential customers told them
they had something valuable to offer, but that the customers already
had some part of the solution in place–for instance, using Nagios for
network monitoring. The customers didn’t want to throw out the system
that already was working and around which they had built up their
operations. They wanted Qluster to offer an open system they could
plug their existing operations into.

So the first step Qlusters (and Radiant Data, too) need to do is
modularize a fairly monolithic system. Qlusters plans on creating a
lower layer containing such things as their Virtual Environment Domain
(a way to build easy-to-deploy operating systems) and their
provisioner (which lets administrators add and remove systems from the
cluster as needed). They’ll provide a next higher layer of hooks, and a
set of useful tools on top. The lowest layer is the one they’re
thinking of open-sourcing. In theory, they could provide the hooks
without opening the code, but in practice they think users will find
it much easier and more appealing to adopt their system if it’s open
source. They can then offer a proprietary layer of products on top.

A note on clustering

Before I continue with the issue of open sourcing, I’ll point out that
Radiant Data and Qlusters both offer types of clustering, and that a
look around the show floor at LinuxWorld suggests it’s the most highly
contested market in Linux. It seems that open sourcing may be seen by
companies as a necessity in the fierce race for dominance.

At the Ottawa Linux Symposium three weeks ago (which I reported on
in other blogs),
a proposal was raised to add a field to the task data structure in the
Linux kernel to support clustering. I asked Donna Jeker of
Emic Networks
what she thought of this initiative. (The basic idea is to indicate
whether a task is local or remote, because tasks hosted on remote
systems must currently be handled through intricate user-space logic.)
Jeker was noncommittal, saying that they had certainly found their own
solution in user space but would be open to seeing what a kernel
enhancement could do for them.

Dual licensing and MySQL

In my conversations with Radiant Data and Qlusters, the possibility
came up of dual licensing (one open source, one proprietary, for the
same product). The companies best known for their
dual-licensing approach are
Trolltech
(makers of the Qt programming framework)
and MySQL AB.

Dual licensing is a natural for Trolltech, because a programming
library by its very nature is incorporated into the customers code, so
a licensing requirement must be obeyed to derive any use from the
product.

MySQL is different. Millions of sites can deploy it without linking to
its code. The base of paying customers is therefore much smaller,
although many will support the company out of self interest or will
purchase the MySQL Network support package.

The case of MySQL is hard to judge because a couple years ago they
received a massive infusion of both money and programming talent from
SAP, a one-time windfall that alters their funding needs.

MySQL also places tremendous pressure on itself by trying to hire just
about all the talented programmers who know it well and contribute to
it. This is important to their business model because they want to
remain the key innovators for MySQL; a substantial stream of useful
innovations from outside the company would alter their business model.


A firm hand on anarchy: Eben Moglen unfolds (a couple creases of) the GPL 3.0 roadmap

Many of use are wondering what the new version of the GNU General
Public License will address. After Eben Moglen’s talk at Linuxworld
yesterday, we’re still wondering. But Moglen laid out why Richard
Stallman is proceeding in such a perplexingly closed manner.

What would you do if you had a document that would affect the
computing needs of millions of people in a couple hundred different
countries, many of whom with scaldingly hot opinions of both what you
have now and what you’re about come up with? How would you advise
handling an estimated 150,000 individual commentators, and 8,000
shareholder organizations?

Thus the goal of providing a clear beginning and end to the discussion
progress. Moglen could not tell us exactly what is being proposed, but
he did lay out the outline of a process for the proposal:

  • In October or November of this year, a process document will be
    released to “close down uncertainty,” so everybody knows how Stallman
    will proceed.

  • The draft will be released at the end of 2005 or beginning of
    2006. Discussion will proceed for one year.

  • In the summer of 2006, a conference will be held in Europe about the
    question of translating the GPL. Another such conference may be held
    in Asia.

  • After the year of discussion is finished, Stallman will make the
    decision what to put in the GPL.

If this doesn’t seem like a particular open-source way of doing
things, it highlights that openness needs structure. There must be a
center somewhere; a place where the buck stops. Given that fixed
point, everything else can be pretty free.

I should mention here that to call Moglen a persuasive speaker is a
tremendous understatement. His passion for what he’s doing (he called
himself the “chief facilitator” of the GPL 3.0) is profoundly evident
throughout. The gravity and eloquence of his utterances makes one
feel, even when sitting in a sterile conference room, as if one is
present at the General Assembly of the United Nations. I joked to some
colleagues later that the U.N. should stop fumbling around with ICANN
and try to take over the GPL.

Despite Moglen’s’ refusal to discuss details, he was willing to mention
some of the general new social and technical trends that have to be
addressed:

  • Software patents. While the GPL “can’t solve the problem,” it may
    contribute to an answer. Moglen presented a balanced assessment of the
    idea of an open-source patent repository, leaning (in my subjective
    opinion) against it. It’s worth noting that the OSDL has just
    announced
    a project to form such as repository.

  • Web Services (by which he means, I think, application service providers).

  • Trusted computing.

Moglen made many other statements about the background of the problem
and their philosophy in handling it, but I will leave those for others
to report on.


Perl over Java

I spent a good deal of time talking to my pals in
Osoft,
makers of an open-source ebook reader called ThoutReader. Writing it
in Java has made it easy to deploy, because apparently the “write
once, run everywhere” philosophy works in this case. But Mark Carey,
CEO, told me that their designer Gary Varnell, together with another
leading programmer in the Perl community, plan to redo the reader in
Perl, achieving a substantial reduction in size and speed-up in
execution. How can this be, I cried.

Well, the main explanation that comes to my mind is that Gary is a
devoted Perl programmer from way back, and that he may do a better job
at coding in Perl. Perhaps he just doesn’t grok Java in the same way.
The true coder, like the true revolutionary, is guided by great
feelings of love. (To paraphrase a 60s cliché.) But Carey said
the Perl footprint was tiny compared to all you need to run Java, and
that the Perl modules were easier to structure so as to modularize the
code.


LinuxWorld Expo wrapup

LinuxWorld continues, even as it directs more effort toward
enterprises, to be a significant event in the computing calendar. I
attended many serious and well-prepared talks, and met key people in
the industry ranging from hackers in the .Org Pavilion to vice
presidents.

The move to Moscone Center West was beneficial. Everything was easier
to find and more logically located. It was nice to have the .Org
Pavilion and other small booths outside of the main hall, away from
the carnival atmosphere, so that one could actually conduct
conversations.

The control exerted by management was pretty intrusive. Next year,
they can save money and simplify things by RFIDing all of us. Guards
at every door could be replaced by sensors that go off if a warm mass
passes through without a valid RFID. Cameras could monitor our facial
expressions and report our opinions of the speaker more accurately
than evaluation forms. Perhaps while Richard Stallman is circulating
his license for review, IDG can circulate the source code for the
Linuxworld Expo RFID Monitoring system.

Nitesh Dhanjani

AddThis Social Bookmark Button

Related link: http://www.projectblackdog.com/

image

I just came across Blackdog, a tiny and “fully self-contained” computer (Debian based [2.6.10 kernel]), with a built-in biometric reader. It contains a 400Mhz PowerPC processor, 64MB RAM, flash memory (256MB or 512MB), MMC expansion slot, and weighs 1.6 ounces. According to the documentation on the website, BlackDog is powered by USB port of the host you plug it into. Also, according to the website, it “takes over” the host’s monitor, keyboard, mouse, and network. I haven’t seen it in action yet, so I’m not sure of details, but the requirements section state that a Linux or Windows 2000/XP host is needed.

I might go ahead and order one. If I do, I’ll post more details when I get it. I just hope they add support for OS X soon.

Andy Lester

AddThis Social Bookmark Button

Why stay current with blogging, when you can let the stuff pile up for days and post it all at once!


  • Had lunch with my editor, Chuck Toporek, to celebrate finishing
    Mac OS X Tiger In a Nutshell.
    I finished the last chapter the day before I left for Portland, and not a moment too soon.


  • It was pretty cool seeing my name on
    Pro Perl Debugging
    in the Apress booth. I’ve never had a co-author credit before. Apress
    asked me to be in the book signing group, but I wouldn’t feel right
    signing PPD as if it was mine. I added to it, and helped Richard write
    it, but it’s 95% his words. I guess I’ll have to wait until next year to
    be in the signing line for the Tiger Nutshell (if not something else…)



  • I met lots of behind-the-scenes O’Reilly folks like Tony Stubblebine,
    and Justin who was kind enough to update the headshot on
    my blog. Now I look
    slightly less goofy.



  • Talked to Denise Kalos, O’Reilly’s VP of HR, and Joanne Van Kampen, her
    head talent finder, about the problems of finding qualified technical
    people. I’ve had
    a programmer position open for a while, but my problems hiring are nothing compared to those of a company
    like O’Reilly. I have a new favorite interview question: “What are you
    an expert in?”



  • While I was out in the hallway talking to Denise and Joanne, I was wanting
    to make my way back into the hall because I knew the yearly awarding of
    the White Camels
    was coming up. I heard “Stas Bekman”, and I figured it was time to
    get back in there. As I walked in, I heard “There he is!”, and David
    Adler in a tie, hand out to shake mine. I had one of the three awards!
    I was so honored. I only wish I’d been able to be there for it!



  • You know the party is a good one when someone comes around asking “do
    you have any EMT skills?”



  • Kathy Sierra’s tutorial “Creating Passionate Users” was great, when
    I could hear it. It just didn’t work well in the room she was in.
    With such an interactive session, it was very frustrating to have
    unamplified audience members.



  • One of the booths was Gibson, the guitar manufacturer. A half dozen
    guitars hung from their kiosk, plugged into mini-amps and headphones. They
    were cool to have there, but basses were severely underrepresented.
    Some of us can barely handle four strings, much less six.
    Maybe next year, O’Reilly can get Ernie Ball, the guitar and string
    manufacturer who have

    dropped all Microsoft products in favor of open
    source products response to a raid by the BSA
    .



  • Schwern, Ian Langworth, Robert Spier and I talked to
    SpikeSource about doing testing
    on Perl and CPAN. It’d sure be great to have a company to help us with
    testing on many platforms and configurations.



  • phroggy so to clarify, we’re at the bottom of the stairs in front of Starbucks.

    waltman there’s a starbucks INSIDE the convention center?

    roger69 yes there is

    roger69 this is the pacific northwest, after all


  • The Ruby on Rails guy used a great term that I love, derisively referring to XML in config files as having to do XML Situps:

    <situps>

    <situp position=”up” />

    <situp position=”down” />

    </situps>


  • Before my talk on project estimation and tracking, I asked Damian Conway
    to introduce me, per his suggestion in “Presentation Aikido.” He came
    up with about a minute’s worth of the nicest things I’ve ever heard
    anyone say. I was so honored. Key point: “Andy is the Anti-Damian.”



  • Next year, I need to develop a clone before I go, so I can go to sessions,
    but still have my clone go to the hallway track and keep up there as well.

What do you have to say about OSCON that hasn’t already been seen in reply to blogs that were actually current at the time, unlike my days-late wrap?

Andy Oram

AddThis Social Bookmark Button

I had two fascinating interviews today about two initiatives, one in
the People’s Republic of China and one in the United States, for
promoting public-sector computer applications–and thereby the use of
open-source software.

Beijing’s rural, low-income, and educational initiative

The Beijing municipal government is getting ready to launch version
1.0 of a system aimed at bringing applications to rural areas. They
plan to use the same model for low- and middle-income residents of
cities, small and medium enterprises, and educational institutions. Linux (through the well-known

Red Flag

distribution) is a key part of the rural system. What’s interesting for me
is the role of government.

Years ago, the Chinese government tried to promote computer
applications by simply funding ISVs to create applications. As
Americans might have guessed, these failed to produce significant
results and turned out to be wasteful. The government realized they
needed a different path.

The current approach is: “It is better to discover a market for ISVs
than just give funding support to ISVs,” as summarized for me by
Liming Li of Intel China Ltd. Some details of this intriguing
philosophy came through in a hastily arranged interview Mr. Li set up
between me and Hu Qing Hua, director of an organization called the
Beijing Software Industry Productivity Center.

Mr. Li and I met at an O’Reilly party last night (he is a contributor
to an upcoming book, Open Sources 2.0) and realized after a brief talk
that China’s new effort to promote rural and low-income development
would make a great subject for an article. He tried to set up a
meeting that evening with Mr. Hu, but could not. So I rushed out of
another meeting at 9 AM today and sped down to South San Francisco
with Mr. Li, guided by the car’s navigational system, to hold the
interview in a spare hour before Mr. Hu had to take a plane.

Mr. Hu’s English was fairly good, but we relied on Mr. Li for
translation. I still may have misinterpreted some statements, so I can
only report my best understanding of the topics.

The slogan for Mr.Hu’s center is, “If you want to do software business
in China, go to Beijing through the Beijing Software Industry
Productivity Center.” In the complex business/government environment
in China, the Center manages to hook up multinationals with local
companies–but now they’re taking a significant next step and
representing the needs of ordinary Chinese end-users as well. The
project is named Strong Wind (Chang Feng).

In this new model, the Center provides funding and organization for
technical experts to meet with users and define detailed requirements
for some application to support farming, education, etc. These are
turned into applications based on commodity hardware from companies
such as Intel and local PC OEMs, running Red Flag Linux. Each project
has a coordinating committee that involves the various actors–local
and international, hardware and software–responsible for putting
together the solution.

The Center aims, therefore, not to request particular pieces of a
solution, but to put together have a comprehensive business model
covering the whole environment and to keep this in front of the
vendors. To save costs, Red Flag Linux is used and applications are
doled out to local ISVs. Large vendors such as Intel do integration
and support.

The Center keeps s firm hand on the project too, through an
organization of 80 people dedicated to testing and validation.
Considering that 20 packages may make up a single software solution,
this testing is very important. And after two months of testing in the
Center, some 500 units are sent to the end-users for field
testing. The vendors can then refine the system before its ultimate
deployment. Strong Wind is nearly ready for a 1.0 release, and they
plan to have 10,000 units deployed among users by the end of this
year.

Further funding can be provided for particular applications that the
Center recognizes a need for, based on the requirements gathering
mentioned earlier.

So far as they know, there is no one inside or outside China using
this particular model, but a lot of interest is being shown by
governments in South-East Asia, notably Malaysia, Thailand, and Viet
Nam.

The government is also working with the telephone company to bring
fairly higher bandwidth (such as ADSL) to as many areas as possible.

Because IT and Internet access are often associated with grass-roots
communications, I tried to formulate a polite question about whether
the system under development could contribute to rural and low-income
people communicating with each other. But the concept was too
abstract, so I couldn’t get a conversation going around it. The system
is apparently designed around delivering content.

U.S. government representatives meet at LinuxWorld

The other news I got today was about “Linux in Government Day,” held
at
LinuxWorld in San Francisco
for 50 representatives, aides, municipal employees, and others
interested in bringing free software into government applications. The
event was organized by Leon Shiman, who is an open
source developer, the secretary of
X.org,
and advisor to Massachusetts CIO Peter Quinn on bridging government IT
and community processes.

It was interesting to find out that government agencies develop
support for their software among their own staff, even if the software
is commercially provided and comes with support contracts (which often
go unused). This makes it much more feasible, in terms of staff
readiness, for them to adopt open source.

Government attendees were concerned with spreading code development
across government boundaries. They know they need to create and
sustain cooperation among agencies and sectors.

Leon’s key point is that cost is not the main factor to consider in
choosing open source; rather; the license is fundamental. Free
software flourishes because it draws out the creativity of many
diverse contributors, but he says “You can’t develop together if you
can’t see into the software.” He pointed to the license for the X
Window System as the most open (a subject of eternal debate, of
course), because it allows proprietary usage while protecting the
openness of code base. X is also uniquely “non-sectarian” regarding
operating systems and platforms–it has been ported just about
everywhere.

Highlights reported to me by Leon included:

  • An address by law professor and free software supporter Eben Moglen on
    the legal issues involved in governments using open source.

  • Reports by the CIOs of California and Massachusetts on state policies.
    Quinn closed the session with a detailed summary of the implementation
    issues that arose in the state when implementing open source policy:
    staff education, technical transition, etc.

  • A talk by an expert on Latin American government usage of open source,
    explaining its “dramatic adoption” and the roles played by in
    communities and government.

  • A talk by the CEO of
    Trolltech,
    about how that company fashioned a bridge between open-source and
    proprietary development, so their Qt libraries can be the basis for
    the highly popular KDE while still offering commercial licenses. This
    is important because governments, like many private institutions,
    worry about whether they can keep part of their code closed while
    making use of free software.

  • Two talks that demonstrated open source’s strength through
    flexibility: one on Firefox functionality (central to government
    concerns because so many applications are delivered through the
    browser) and Linux Terminal Server Project.

In both China and the U.S., systems are bending in response to
changing environments. The supporters of open source and open
standards take widely varying steps to deal with the current state of
each system. I think everyone will be feeling their ways forward as
systems and users evolve.

Kevin Shockey

AddThis Social Bookmark Button

For me the highlight of this year’s OSCON was hearing Kathy Sierra’s tutorial, “Creating Passionate Users”. The work Kathy and her partner Bert Bates have done in researching this topic is very important and useful. It should come as no surprise, that they are working on a new book for O’Reilly with a tentative publish date of January 2006. From what I have seen in her presentation and what I have seen in their Creating Passionate Users blog, this will be another popular book for them. The more I read and think about this, the more I want to read about it. This makes perfect sense, because it is exactly what I learned in the tutorial.

To give a sense of this great material, I’d like to share some of the highlights from the tutorial. My hope is that you’ll also see the value of this material and make an effort to incorporate some of the concepts into your products, communities, and relationships.

I think it is appropriate to start with a quick mention that some of the concepts from the tutorial come straight from the introduction to the bestselling book, Head First Java by Kathy and Bert. Quoting from that introduction: “Your brain craves novelty. It’s always searching, scanning, waiting for something unusual. It was built that way, and it helps you stay alive.” Most of the time your brain is discarding everything that gets thrown at it so that it can be ready to process something that really matters, like a tiger jumping at you. So as Kathy so eloquently states, one of the biggest challenges in engaging, inspiring, and emoting our customers is to get past the brain’s crap filter. And came through loud and clear from the tutorial, there are some real subtle, yet powerful ways to accomplish this task.

One of the first things covered in the tutorial set the stage for the remainder of the tutorial. To understand how to create passionate users, one first has to identify the characteristics of passionate users. Start first by thinking about yourself. What products, ideas, concepts, tools, or people are you passionate about? If you think about the kinds of things you do when you are passionate about something you might come up the following. When you are passionate about something you: talk about it, defend it, teach others about it, are irrational, evangelize it, provide feedback, and even try to improve it.

A second useful tip to begin thinking about passionate users is to list the characteristics of the things people are passionate about. Common characteristics might include things that: inspire us, are fun, are rewarding, are easy to start (or learn), have their own language, and that have a clear benefit. Clearly there are numerous characteristics listed, and even more possible, but one of the most important characteristics is the ability to continue grow and expand, especially if that gives people the ability to become an expert. An important follow-on question is: “How do you give people the perception that becoming an export is something attainable and desirable?” An example company discussed was Apple. For Kathy, Apple is like a crack dealer. They have mastered the ability to provide the first tier for free. But they also provide room to grow into more powerful features that lead to higher tiers. Of course, as you step up to a new tier, in order to gain the additional power or capabilities, customers become willing to pay for these new tiers.

An interesting trend that Kathy discussed was that sometimes the growth path for a product, may not even have anything to do with the product or service itself. So sometimes, customers will become passionate about your company or product by simply teaching people how to become an expert. Two examples given were: RedBull hosting a DJ Academy and Coldplay’s lead singer Chris Martin pushing Fair Trade. The key to this concept is that there needs to be a continuous growth path (a continously progressing goal), a never-ending path to learn about a topic that people could be passionate about.

I mentioned the fundamental theory of the brains crap filter earlier, but Kathy provided a couple of tips that might be useful in many different situations. First, any change in light will immediately grab our attention. Do you remember why? Yes, oh my, it’s a tiger! Watch out! So be careful using this technique, it could actually back-fire. I’m sure many web interface designers already know this. It certainly explains a lot of the obnoxious page designs we see on the Internet. Second, another trick is that anytime we use faces, our brains will respond positively. Research indicates that our brains have special abilities to pay attention to faces. So anytime your documents or web pages include faces with strong reactions, readers will be able remember the content more.

An industry that Kathy believes that we can learn from is the gaming industry. Game designers use two key techniques to keep players engaged in a game. First they produce a state of flow. From WikiPedia, flow is defined as the feeling of complete and energized focus in an activity, with a high level of enjoyment and fulfillment. One situation that demonstrates flow is when we become so engrossed with something we are doing, we loose track of time. Secondly, game designers provide an experience spiral. Basically this involves using a compelling benefit to motivate players to complete the loop (the level). Players will complete some activity until the loop is complete. When the player completes the level, they will receive a payoff. Usually this payoff provides new capabilities which establishes the next level and begins the loop again.

Ever wonder how to get readers of our documents, such as requirements, test plans, technical documentation, or blog entries, to recall and retain information? Kathy provided two tips to improve recall and retention. Both of these tips are well illustrated in the Head First books. First, use visuals and text to attain an estimated 89% improvement. Second, to obtain a 40% increase, use first person conversational language. You know what I mean? The interesting point Kathy made is that the brain thinks that it has to pay attention, so that it can hold up its end of the conversation, even when the conversation is with a book or a web page. Another helpful tip Kathy shared was using the power of story. This is especially important in creating communities. providing new community members with a back story and the history behind the community helps create myths, lore, and the illusion of insider knowledge.

In the end, I would be remiss if I didn’t share “the secret” promised from the tutorial. As any good speaker should do, Kathy pointed out that the one thing to take away from her tutorial. If we want someone to remember things we publish or what we are trying to communicate, make the other party feel something. According to Kathy, “The brain remembers that which it feels.” Once again, this is another key concept from the introduction of the Head First books. Creating emotions in people causes an increase in brain activity. Brain activity is fundamentally a chemical change in the brain. These chemical changes clue the brain into paying attention, thus bypassing the crap filter.

Now that I have heard this material first hand, thought about other things like my OSCON presentation and the flight home, and finally returned to study this material, one thing is clear. The concepts presented in Kathy’s tutorial make sense and feel right to me. However, as I have written this review and considered implementing some of the concepts I learned, it is going to take some time to get used to thinking differently. In addition, implementing them will take more time. The process of locating and gathering images and faces, annotating the images, creating the stories, and constructing experience spirals will take a lot more time than we have taken in the past to communicate. Keep this in mind, the purpose of speaking, writing, or teaching is effecti