I received my iPhones last night (one for me, one for Mary). I bought the beer and held down the fort at the Thirsty Bear while colleagues relieved the line-sitters at the San Francisco Apple Store, and made the purchases.
The device is small and beautiful. The activation process is through iTunes (a newly available version 7.3). The process was mostly clear as I made my choices.
I decided to use a family plan for the two phones, and on a whim (and perhaps against my better judgement) decided to move my existing phone number from Sprint. The bottom line is that “Your activation requires additional time to complete”. “Service is scheduled to be disconnected on your current phone at or after 12:31 AM EDT on July 01″.
So for the moment, I am waiting patiently.
Jim on June 30th 2007 in iPhone, Technologies
The next technique is characterized in Douglas Hofstadter’s book: Fluid Concepts and Creative Analogies. He describes enjoying doing the game Jumble where you take a set of letters and try to make a word out of them. Sometimes the words just appear, sometimes he uses specific techniques (try the ‘u’ after the ‘q’), and other times he writes the letters out in a random order. The goal is to get yourself out of a mental rut.

When you are debugging code - or dealing with a production down situation, it is certainly useful to consider the obvious things (the last module you touched for instance). But sometimes you have to upset the apple cart - and consider something ‘unexpected’. Or introduce some randomness to try to find a pattern.
Jim on June 29th 2007 in Problem Solving
The iPhone has the attention of many of us this week. The 20-minute video on the Apple website certainly provides a good overview (I suggest only viewing it in small mode), as does the article in today’s Wall Street Journal (a transcript appears at Just Another Phone Blog on blogspot).
One item pointed out in the Wall Street Journal article is the lack of Flash support. This means that applications written in Flex (for example, the Sapias Mobile Resource Management services) will not work on the iPhone - for now. This should be easily fixed by Adobe and Apple.
Since third-party development is limited to Safari, I assume that Adobe Integrated Runtime (AIR) will not work on the iPhone. AIR is looking like a good development environment for occasionally connected applications.
From watching the examples in the video, the iPhone is not location aware. There is an example of finding a sushi restaurant, and then getting directions to it. The starting location is chosen from a list of bookmarks. Although the iPhone does not appear to have a GPS chipset - it could still determine location (AT&T has to be able to provide the location of the phone in support of E911 - so somewhere that location is known). But it doesn’t appear to take advantage of that information (from the demo - or other articles I have seen).
Jim on June 27th 2007 in iPhone, Technologies, Apollo
As a follow up to my entry MySQL: Twelve Days of Scaleout, I listened to the webinar:
Scale-Out & Replication Best Practices for High-Growth Businesses. This one hour webinar gives a brief overview of different replication approaches to support scaleout. It was a good introduction. The slides are also available (slides). On many of the pages there are references to white papers or other pages that elaborate on the topic at hand.
The following is the agenda for the webinar:
• Introduction to MySQL
• Scale Out Overview
• Replication Fundamentals
• Statement vs. Row-Based Replication
• Replication Topologies
• Other Replication Strategies
• Case Studies
• Additional Resources Conclusion
The companies highlighted in the feature 12 Days of Scaleout used a variety of the techniques highlighted in this webinar. The techiques each have their unique advantages and disadvantages. For a complete solution you will likely need to use DRBD (Distributed Replicated Block Device) with Linux Heartbeats to have complete fail over and manage inconsistencies in the case of failure, utilize application partitioning (also called shards) to manage which ‘partition’ of the database to access, and add simpler replication to provide read-only copies for further scalability. There is no one size fits all - it depends on the data, and the application. But MySql has a wealth of techniques (some just becoming available in the lastest release - 5.1 - which is still designated as beta on most platforms) - and you should be able to find an appropriate combination them for your application.
One last link - Top Five Scale-Out Pitfalls to Avoid. This offers some food for thought in approaching your scaleout solution. Some of this I found familiar - but the rapid scale that can be required in a Web 2.0 application requires planning and architecting from the beginning - and these tips will be helpful.
Every night is special at the Oregon Shakespeare Festival. It may be a preview, an opening, there is an understudy performing, it is raining in the outdoor theater, and so on. Last night was the closing night of the Pulitzer Prize winning play by David Lindsay-Abaire, Rabbit Hole.
I had been warned that this was a three hankie play. I don’t want to say too much about the play itself, because I think it is best viewed not knowing exactly where it is going. My daughter’s boyfriend, Tom had seen the play before and said that this play is best viewed the first time (though he liked this production).
In Illuminations (a publication of the Oregon Shakespeare Festival), there is an interview with David Lindsay-Abaire where he says that when he was at Julliard, he was told to write about the thing that most frightens him. The play is about a family coping (and not coping) with the death of a child. He (and this production) create for us the very different and very real lives that this incident created for each of the people around the child. Each person is coping in their own way. Each is affected in a different way. And they can’t (and fortunately don’t have to) play out their part alone. I think that is why I didn’t find myself reaching for my hankie (though there were certainly tears several times). Everyone realized that they couldn’t work through their pain by themselves - and couldn’t work through it only in way they wanted to.
————————–
One of the things that I found special about the evening, was that even though is was closing night for this play, there was nothing about the performance that felt out of the ordinary. It was probably like the many other performances of the four months of this show. Except I think I noticed Bill Geisslinger take an extra look around the stage before he walked off after the curtain call.
We often watch people concentrating their debugging or problem solving in one area. It is the old joke depicted in the image below. You walk up to someone looking for their key. After helping them for awhile, you start asking a few questions - finally asking how they lost the key, or where they lost the key. The answer is “over there”. You then ask the obvious question - “If you dropped it over there, why are you looking for it here?”. They answer “Because the light is better”.

Sometimes you are looking at one piece of your code, or your process, because you know that part best - not because it is the likely source (no pun intended) of the problem. You need to look other places. Maybe look at the place you understand the least. Maybe look at the piece of code that you hate to look in (maybe there is a reason you don’t like to go there). Maybe you should spawn some agents.
[The cartoons were done for us several years ago by Marc Schmid. His website is www.cartooncity.net ]
Jim on June 23rd 2007 in Problem Solving
We have seen several of August Wilson’s cycle of ten plays at the Oregon Shakespeare Festival. Gem of the Ocean is chronologically the first - set it 1904. The first that we saw in Ashland was Joe Turner’s Come and Gone in 1993. These have always been strong productions, and last night’s stood out among those productions.
At the curtain, two of the actors were especially affected by their own performance. Shona Tucker (Black Mary), who had just made the transition that set her on the path to carry the legacy of spiritual advisor, disowns her brother. You could see the emotion on her face, and on her body as she took her bow.
Kevin Kenerly (Citizen Barlow) has also just taken on a legacy. He has picked up the coat, hat and stick of Solly Two Kings who has just been killed. During the play, Kennerly was stooped by his internal pain. After the play you could see that he was stooped with emotion.
These two actors - along with the rest of the company - pulled me in to this time and this world. They helped me know and feel the pain of this heritage, and this era.
——————————-
Thai Pepper continues to be my favorite restaurant in Ashland (though the week is young - who knows what we might find). Few restaurant’s in Ashland can handle a party of 17 smoothly. Of course we helped - Mary placed our order when we made the reservation (It is tricky accommodating a variety of diet restrictions) - and we made the reservation for 5:30 - getting us easily to the Green Show at 7:15. We also save time at dinner because there are options for around town while we walk back to the theatre.
This is our 20th year visiting the Oregon Shakespeare Festival in Ashland, Oregon. We have arrived [see Mary’s post: Summer Theatre Begins], and now seen our first play (some of us saw The Tempest, and others As You Like It).
For our four year old granddaughter, this is her fifth year at the festival. We wore her out yesterday running and swimming. As we waited for dinner, she asked to sit on my lap. Two minutes later, it was clear she was going to sleep through dinner. I was able to lay her down next to me so I could eat my dinner. As we finished dinner, she woke from her well planned nap (woke enough so that I could carry her) - and we went to the Green Show - the highlight of her visit (my niece will see her first play later this week - now that she is six).
As a rotating repertory theater - we are able to see many plays (seven this year) in a short visit. And we are able to see actors multiple times - often in very different roles. And - having visited the festival for 20 years - we can see actors in many plays over the years. Of course not every actor comes back year after year - but there are many who do - sometimes with a gap in years.
Last night, Derrick Lee Weeden played Prospero. He can disappear on stage when appropriate - but he is at his best in a big role like Prospero where he is meant to command the stage whenever he is on it. His voice can boom, or draw you in to a conspiratorial moment. And every word is there - clear - meaningful. And this performance was not his Othelo, or Coriolanus, Harold Looomis in Joe Turner’s Come and Gone (perhaps the first time I saw him here - 14 years ago).
Another notable performance last night was Dan Donohoe as Caliban - under his make-up and costume, it took awhile to convince myself it was him. He groveled and winced his way through the play - not at all his Hal from Henry IV, Part One and Two, or certainly not his incredible Dvornichek from Rough Crossing. But brilliant.
Four more days (plus the drive home) to enjoy with four generations of our family - about seventeen of us in all. Food, plays, talk. Talk about food, talk about plays, and just talk.
Several of the techniques I am describing involve making sure you don’t get stuck on a single track. This technique provides a good way to make sure you aren’t stuck. You should work down multiple tracks at once. In a ‘production down’ scenario this is particularly important. If you have one approach - that might work - but will take an hour - you really want to work some other path in parallel - since that first path may not work out.
This can be applied by your self as you make sure you are thinking of other solutions - or you can send other people down other tracks. At Sapias the engineering team would set up IM chat sessions when there were production issues - and during deployments. The team had worked together for a long time, so individuals would automatically start down alternate paths - and would IM their colleagues of their direction and progress.

As a leader or manager, you can explicitly suggest alternate paths. Sometimes it is better to solicit ideas, and then pick some to send people off in. The collective thoughts as well as collective hands to move the thoughts forward will get you a more timely - and better - solution.
[The cartoons were done for us several years ago by Marc Schmid. His website is www.cartooncity.net ]
Jim on June 19th 2007 in Problem Solving
Tim O’Reilly wrote today about MySQL: Twelve Days of Scaleout in O’Reilly Radar. For twelve days, MySQL will highlight a different company that is using MySQL to scale-out their business. Today’s highlighted company is Wikipedia.
One of the distinctions that MySQL is making with this series of articles is scale-out vs scale-up. They define scale-out as improving performance and scalability incrementally on commodity hardware. Scale-up is the process of making a large up-front investment in more complex and expensive hardware and database licenses.
The examples are compelling. Wikipedia handles 25,000 requests a second with 20 replicated MySQL servers. They also deploy additional MySQL servers on application servers. With (as an example) Oracle - you wouldn’t even think about deploying the additional servers - because of license costs.
Other highlighted companies include: Zimbra - which supports 8 million paid mailboxes across 10s of thousands of organizations; Alcatel-Lucent who has deployed an application that supports 50 million users generating up to 1000 transaction per second at peak times; Gumtree.com which supports over 1 million ads at a time, and has deployed 10 MySQL servers to support its service.
If you are deploying expensive database products, it is worth reviewing these case studies, looking at the white papers and listening in to the the webinar on June 20th.