Critical Section

Archive: July 25, 2017


Archive: July 25, 2016


Archive: July 22, 2015

reenabling Windows weather gadgets

Wednesday,  07/22/15  09:50 PM

Windows weather gadgets in actionHere's a public service announcement: how to reenable Windows weather gadgets.  Why, you may ask, should this be a subject for a blog post?  Well because 1) Windows weather gadgets are nice and useful, and 2) Microsoft, in their infinite wisdom, recently disabled them.  Permanently.  Sigh.

  1. In Task Manager, locate sidebar.exe and kill it.  Your old, dead, no-longer-updating gadgets will disappear.
  2. Go to "C:\Users\USERNAME\AppData\Local\Microsoft\Windows Live\Services\Cache", edit "Config.xml", and save it without making any changes.  Yes you read that right, just do it.
  3. Right-click on your desktop, and select Gadgets.  This restarts sidebar.exe and poof! working weather gadgets.

For extra credit, here's how to set or change the location of each gadget:

  1. In Task Manager, locate sidebar.exe and kill it.  Your gadgets will disappear.
  2. Edit "C:\Users\USERNAME\AppData\Local\Microsoft\Windows Sidebar\Settings.ini".  You will see a section for each weather gadget with a WeatherLocation and a WeatherLocationCode.  You can change Weather Location to any text you like.  To set WeatherLocationCode, visit:  The codes are eight characters, something like "USCA1228" (Westlake Village, California) or ""MAXX0002" (Antananarivo, Madagascar).
  3. Right-click on your desktop, and select Gadgets.  This restarts sidebar.exe and poof! updates made.

You're welcome!

PS this particular subject is a case study in useless misinformation spread all over the Internet.  Honestly people, if you don't know what you're talking about, stop talking.


Archive: July 25, 2014

Le Tour 2014, stage 19: Navardauskas outruns charging peleton

Friday,  07/25/14  11:33 PM

Ramunas Navardauskas powers away from a charging peleton to grab victoryOn paper the last road stage of the 2014 Tour looked like one for the sprinters; a flat "transition" stage.  But as the last chance for glory you knew anything could happen, and something great did; Ramunas Navardauskas attacked the peloton on a dinky Cat 4 climb near the end and then powered away from a charging peloton to give Team Garmin Sharp their first victory of the tour.  And it certainly made for great spectating, it seemed he would be reeled in just at the end like his teammate Jack Bauer on stage 15, yet he held on and made it.  Yay.

Stage 20 tomorrow is the time trial, and there's quite a lot at stake; 2nd, 3rd, and 4th place are up for grab between JC Peraud, Thibot Pinot, and Alejandro Valverde, and 5th and 6th are in play between Romain Bardet and Tejay Van Garderen.  Stay tuned!

[ Le Tour 2014: all posts | index ]


Archive: July 25, 2013


Archive: July 25, 2012


Archive: July 24, 2011

TDF stage 20 / ITT - Martin powers to victory, Evans blasts by Schlecks to take yellow (and we are there!)

Sunday,  07/24/11  09:35 AM

So yesterday was amazing; Shirley and I were in Grenoble watching stage 20 of the Tour de France.  I took a bunch of pictures - how great is it that you can just walk up to a Tour stage and watch it close up? - and we enjoyed ourselves thoroughly; everything from the TGV down from Paris (600km in 2 1/2 hours!) to the beautiful city of Grenoble itself to the pageantry and of course the excitement of the ITT as the Tour was decided.

Some pictures, in chronological order to tell the story: (how cool is it to use my pictures, instead of Velonews' :)

Grenoble, gateway to the alps and scene of stage 20 of the 2011 TDF, the individual time trial

on the finishing straight, ready for action

the start house is right there; here Chris Anker Sorensen takes off

Tony Martin powered to the stage win, repeating his victory in the Dauphine Liberte on the same course
(and upsetting favorite Fabian Cancellara!)

Levi Leipheimer had a disappointing tour, as did Radio Shack; they'll be back

Robert Gesink suffered, as did Rabobank; they'll be back

Tom Danielson had a great tour (9th!), and Garmen Cervelo won the team classification

Pierre Rolland, white jersey for best young rider and winner of yesterday's stage up to l'Alpe d'Huez

Ivan Basso had a great tour, 8th overall

Samuel Sanchez, resplendent in polka dots, 7th overall

with the 3rd best time on the day, Alberto Contador passed Damiano Cunigo to finish 5th overall
somehow he gained more by finishing 5th this year than by winning last year

Cunigo had a great tour, ended up 6th overall

Thomas Voeckler was the French hero, 10 days in yellow, and finished 4th overall

Cadel Evans blasted to a close 2nd to pick up over two minutes on the Schlecks
and win yellow!

tick tick tick took Frank Schleck nearly six minutes to show up after Evans
(they started three minutes apart)
he did have a great tour and finished 3rd overall

Andy Schleck enjoyed yellow for the day but had to give it up to Evans in the end
so now he finished 2nd for the third year in a row
look for him to come back strong next year!

they say every road in Grenoble ends in a mountain; it is surrounded by beauty

celebrating our TDF swag at a cafe

Just an awesome day.  And later today we're off to the Champs d'Elysee to see stage 21 and the final finish.  Stay tuned!

[ Tour de France 2011:  all postsindex ]


TDF stage 21 / parade - Cavendish wins! and takes green (and we are there!)

Sunday,  07/24/11  09:34 PM

What can I say?  To be on the Champs d'Elysee for the finale to the Tour de France was awesome!  It was a boring race even by last-stage-of-the-Tour standards - hardly any breakaways, easily chased down, and a bunch sprint ending in a runaway victory for Mark Cavendish - but it was great to be in the huge crowd, sense the atmosphere, and see the peloton flashing by.

A few pictures for your viewing pleasure:

the scene: Paris!

the Arc d'Triomphe punctuates one end of the Champs d'Elysee

the Champs d'Elysee, perhaps the most famous shopping street in the world
converted on the third Sunday in July into the most famous velodrome :)

looking straight down the 3 mile racetrack

one kazillion people were on hand, wow

the intermediate sprint point

giant monitors relay the action for the crowd

there they are!  Cadel Evans looking good in yellow

the peloton whooshes by

it's a break! - but reeled in quickly

Mark Cavendish wins!
his fifth stage win, wrapping up the green jersey

the final podium: Andy Schleck (2nd for the 3rd year in a row), Cadel Evans, Frank Schleck

winning team: Garmin Cervelo
Thor Hushovd (world champion's rainbow at left) won two stages and wore yellow all the first week
note cardboard cutout of Dave Zabriske who crashed out

And so ends a great Tour, which had a little of everything.  More than anything else it had drama, the end was in doubt 'till the last, many great attacks, many crashes, many heroes, many victims, and a number of interesting subplots.  (And blessedly no doping scandals!)  I will post some summary thoughts when I get back - stay tuned...

[ Tour de France 2011:  all postsindex ]


Archive: July 25, 2010

TDF stage 20 / parade + sprint / Cavendish unstoppable again, Contador crowned, Petacchi keeps green

Sunday,  07/25/10  07:27 PM

Team Astana lead victorious Alberto Contador into ParisThe final stage of the 2010 Tour de France was a parade, as usual, followed by a bunch sprint, as usual, which Mark Cavendish won going away - as usual!  Man he is just so much faster than everyone else, it is scary.  Thor Hushovd got a great leadout and the camera was following him from the side as he cranked up his sprint, and suddenly Cavendish entered the frame from behind him and blew through, a yellow flash.  Wow!  Alessandro Petacchi finished a distant second to claim the green jersey; congratulations to him...

Team Radio Shack show off their spiffy "28" jerseys while being presented as the top team in the 2010 TourThe main excitement of the day occured before the start; Team Radio Shack unveiled their cool new "28" jerseys, all black (memo to self: get one!) only to be informed that they would be disqualified if they didn't switch back.  Boo.  So we were treated to the sight of nine riders sitting by the side of the road, pinning their numbers onto new jerseys, while the peloton soft pedaled through the neutral zone.  Pretty funny.  Later the team showed off their new jerseys while being presented as the top team in the 2010 Tour (pic at right).  It is fitting that Lance Armstrong's team won, in his final Tour; he has always been about the team, and he came back to cycling to promote Livestrong, his "team" to fight cancer.  Chapeau, Lance!

Tour de France 2010 podium: Andy Schleck, Alberto Contador, Denis MenchovThe final podium featured Alberto Contador winning his third tour, Andy Schleck with his second consecutive second, and Denis Menchov, who has won the Vuelta twice and the Giro, and has now been on the podium of the Tour.

It was a great Tour - the best really since I began paying attention, in terms of the competition and the route and all the side stories - and I'm sad it is over.  More perspective in a future post, but au reviour Le Tour for now.

[ Tour de France 2010: all postsindex ]


sailing Sunday

Sunday,  07/25/10  07:35 PM

A great Sunday; we watched the final stage of le Tour, and then I went sailing with Meg on Westlake.  Somewhere in there we had a marvelous late lunch, sitting lakeside and enjoying the day of the world.  I have quoted Wind in the Willows many times: "there is nothing half so much worth doing as messing about in boats", and so it was today.

Is anybody out there?  The Times of India reports 140 'earths' found... out of 700 new planets.  All by NASA's Kepler space probe.  I wonder how many of those 140 'earths' have intelligent life, and have launched space probes?

Team Radio Shack swap their special "28" jerseys before the start of today's Tour de France stageI found this rather amusing; for the past two weeks (since the end of the World Cup) the biggest sporting event going has been the Tour de France, but CNN only ran an article about it today, because of the Team Radio Shack special jersey story.  I guess cycling really hasn't made it as a mainstream sport in the U.S. yet :)

I *must* get one of those jerseys; instant classic!

Mini Cooper!Alexis and I have been exploring Mini Coopers!  How fun is that... they seem to be Alex' hearts' desire, and I must admit, they are really cute.  Not to mention they're safe - well built, with lots of good features - and economical.  Pretty fun to drive, too; with that little engine, they zip around like a go cart.  Quite a practical little car for a teen.  Anyway who knows but the exploration has been fun... 

(In answer to your next question: Charcoal with black trim :)

And so ends another great weekend.  Onward!


Archive: July 25, 2009

TDF stage 20 / climb - Garate conquers Ventoux, Contador and Armstrong stay with the Schlecks

Saturday,  07/25/09  01:42 PM

TDF 09 stage 20 - Juan Manual Garate wins up Mont Ventoux after riding in a break all day!Woo hoo, Mont VentouxJuan Manual Garate won after riding in a break all day from Montelimar to the summit of Mont Ventoux.  Chapeau!  An incredible performance, edging Tony Martin at the finish (another survivor from the break) and salvaging glory for Rabobank, who otherwise have had a pretty lousy Tour.  (Taken together with the team's aggressive chase yesterday Rabo have awakened at last, and who knows Oscar Freire could win tomorrow!)

TDF 09 stage 20 - Andy Schleck continuously attacked to try to help his brother Frank onto the podium, marked closely each time by Alberto ContadorAmong the GC men the expected fireworks took place on the final 21km climb @ 7.5%; Andy Schleck rode a wonderful race, continuously attacking in the hope that his brother Frank could follow and Lance Armstrong, Bradley Wiggins, and Andreas Kloden could not, thereby pulling Frank onto the podium.  On each acceleration Andy was closely marked by leader Alberto Contador, who ended up fourth and secured his second overall Tour de France victory.  Lance hung on beautifully, but Wiggins and Kloden were eventually dropped, with the result that Frank finished fifth.  It was team tactics at their finest, witnessed by an estimated crowd of 500,000 people lining the entire climb.  At times it seemed the riders were floating through a sea of people.  (Isn't is amazing that as close as the spectators get to the action - and as aggressive as some of them are, waving flags and running alongside the race - that seldom is a cycle race actually affected by their presence?)

TDF 09 stage 20 - Tony Martin hung in there for second, pacing Garate all the way from the breakOther heroes on a heroic day included Franco Pellizotti, who did the spotted King of the Mountains jersey proud by attacking at the end, nearly bridging to the leaders, and Vincenzo Nibali, second in the white jersey competition for best young rider (behind Andy Schleck), who hung on gamely and at one point was actually in virtual third place, following the wheel of Contador as he marked Andy Schleck during an attack.  Martin also deserves mention for staying up front with Garate, at times looking like a zombie as his eyes rolled into his head while his legs kept the pace.

In the end Mont Ventoux provided great entertainment but didn't shuffle the standings much; last week in the Alps and particularly Thursday's time trial pretty much set the order of finish overall.  But it was amazing; of all the great climbs in France the one I really want to do someday is Mont Ventoux.  (Well I guess I want to do l'Alpe d'Huez too, and Galibier, and Courchevel, and Columbiere, and Tourmelet, and Pla d'Aday, and ... :)  Shirley and I watched A Good Year last night, coincidentally, and visiting Provence seems indicated!

TDF 09 stage 20 - Lance attacks Mont Ventoux in 2000[Update: came across this clip on YouTube of Lance attacking and passing Marco Pantani on Mont Ventoux in the 2000 TdF.  You'd have to say he has indeed slowed a bit, wow.  That was one of the more impressive attacks I've seen, clearly on par with anything Contador has done.  We'll have to see whether Lance can ever return to that form...]

And so ends a great Tour!  And actually it isn't over yet, because tomorrow's parade to Paris does end with eight laps of that incredible stadium on the Champs-Elyees, and a probable final sprint showdown between Mark Cavendish, Thor Hushovd, and Tyler Farrar.  Stay tuned!

[ Tour de France 2009: all postsindex ]


Saturday Evening Post

Saturday,  07/25/09  05:30 PM

Saturday Evening Post.  (Wow, good name for a magazine.) 

bouquet of seventeen rosesI am REALLY HAPPY today.  Let me count the ways.  First, tomorrow is the seventeenth anniversary of my marriage to Shirley.  We're celebrating tonight with a fantabulous dinner and I will shortly retreat into the caves for a '97 Cabernet as accompaniment.  Second, still buzzing from that great TdF stage this morning up Mont Ventoux.  I know it is just a bunch of guys riding bikes in France, but pro cycling is the coolest sport ever, what can I say, and for a Rabo rider to win, and Lance to be on the podium, well, it was excellent.  Third, I was able to get something really knarly and technical to work today, I've been back-burnering it for days weeks while I paid attention to other stuff. C-15 NAs revisited: planning on a dead run (a framed version was used for Megan's 2nd place trophy)And fourth, I have this really cool trophy sitting in my office which Megan won when we sailed the C-15 North Americans together.  The trophy is a framed picture of us sailing together, planing on a dead run (as at right; click to enbiggen).  I keep looking at it and it brings a smile to my face (and a tear to my eye); I bought / built that boat in the summer of 1979, when I was nineteen, little knowing that thirty years later I'd be sailing it with my 12-year-old daughter.  How cool is that?

Hydonora Africana flower - not only looks strange, but smells like feces to attract dung beetlesHere we have the strangest plants on Earth.  Quite a collection.  The adaptations are even more amazing than those found among animals; after looking through these you have to conclude that evolution is even more creative than Dr. Suess!

SpaceX launch!Rand Simberg: A Space Program For The Rest of Us .  "Let us finally abandon our race with the Soviet Union, the race we won four decades ago against an adversary two decades vanquished and vanished.  We don’t need to remake Apollo; we need to open up the new space frontier the way the old American frontier was opened.  Let us unleash private enterprise and create not just jobs but true wealth."  Amen brother.  I know SpaceX would agree :)  [ via Instapundit ]

Tron Legacy trailerThis looks amazing: the trailer for Tron Legacy.  Yay, another cool movie to watch!  Cannot wait...

Well that's it for a Saturday Evening Post; hope this finds y'all well and see you tomorrow...


Archive: July 25, 2008

Friday,  07/25/08  10:28 PM

Yes, here it is, a rare Friday night post.  What can I say, there's a lot happening...  (among other things, I seem to have my voice back, or at least a hoarse imitation of it; the frog chorus has retired :)

Powerline: McCain hits hard.  "Fortunately, Senator Obama failed, not our military. We rejected the audacity of hopelessness, and we were right. Violence in Iraq fell to such low levels for such a long time that Senator Obama, detecting the success he never believed possible, falsely claimed that he had always predicted it. ... In Iraq, we are no longer on the doorstep of defeat, but on the road to victory."  Ouch.  All the more forceful for being true.

In other news, McCain veers off script, talks about his cancer battle.  This was at the Livestrong Summit, hosted by Lance Armstrong.  It is possible that under McCain the government would do more about funding cancer research, but then again the federal government is really not the best way to pay for this work anyway.

Of course Obama has been in Europe, but Jennifer Rubin thinks the media missed the big story.  They would :)

Marcus BurghardtSylvain ChavanalYesterday and today we had two rather boring stages in the Tour de France; both had two-man breakaways succeeding, ending up in track-like duels for the line.  Marcus Burghardt won yesterday (left), giving Team Columbia their fifth stage of the tour (!), and perennial breakaway participant Sylvain Chavenal won today (right).   The last five minutes of each stage were fun to watch, the preceding three hours, not so much.  I don't understand the mindset of the teams who didn't have riders in the break; didn't they want a stage?  Well anyway tomorrow we have the exciting final individual time trial, which will decide the overall winner.  Carlos Sastre has to preserve a 1:34 lead over Cadel Evans, and I think he's going to do it; this is entirely reminiscent of last year, when Alberto Contator had a similar lead over Evans, and rode the time trial of his life to win the Tour.  Stay tuned, we'll see!

Mount PalomarMy prayers have been answered: the 2009 Tour of California route has been announced, and the last stage finishes on the top of Mount Palomar!  I am so there...  I cannot wait.  I've ridden Palomar any number of times; the South Slope ascends 3,500' in 8 miles at 8%, with 21 switchbacks, just like l'Alpe d'Huez.  It will be wonderful to see a pro peloton fly up it.  I can't wait!

CNN reports on Dave Schweidenback's Pedals for Progress, a program to sell second-hand bikes in third-world countries.  "Since 1991, Schweidenback's nonprofit Pedals for Progress has collected and shipped more than 115,000 used bicycles to 32 developing countries worldwide."  That is so very cool.

Randy PauschSadly, Randy Pausch has died, the Carnegie Mellon professor famous for his "last lecture" about facing terminal cancer.  My friend Nick has given me CDs of the book, but I haven't listed to it yet; I will.  The many eulogies all seem to share the same theme, that we all die, but Randy Pausch truly lived.  Excellent sentiment.

Want to know what's wrong with public education?  Ventura County Star: City votes to allocate funds to schools' technology program.  "For the second year in row, Westlake Village will provide more than $70,000 from city funds to help local public schools use technology."  So I live in Westlake Village, and I'm pleased that our local schools will have this funding, but this is not right.  The state should have enough money to pay for this program statewide, so every kid has access, not just the ones in rich communities like mine where the city supplements the state.  And the money should come from all of us, we all have a stake in educating all kids.

Have you ever wondered what would happen if a big corporation designed a stop sign?  Now you don't have to wonder any more :)  All the funnier for being painfully true.  [ via Kottke ]



Archive: July 25, 2007


Archive: July 25, 2006


Archive: July 25, 2005


Archive: July 25, 2004


Archive: July 24, 2003

The Lead Bullet - Writing Specs

Thursday,  07/24/03  01:28 AM

Programming is hard

Programming is hard.  Everyone knows this; there are hundreds of books written each year about how hard it is and what to do about it.  Universities teach classes in managing programming projects, because the general difficulty of scheduling software is an acknowledged business problem.  Can nobody do anything to make it easier?

Well, people have tried.  They try all the time, and a lot of pretty innovative improvements to programming technique have come along.  Structured programming, object-oriented programming, functional programming, data-driven programming, even extreme programming have been devised.  New languages have been invented and new system architectures have been derived.  New development environments have been created, including spiffy on-the-fly compilers and interactive debuggers.  All of these things help, no question.  But the thing that helps most is writing good specifications.

Ask any programmer about writing specs, and they'll cringe.  Generally coders don't like to code in English.  So, if spec writing is the one thing that helps, why do programmers hate writing specs?

Writing specs is hard

Yeah, writing specs is hard.  Why?  What makes specs hard?  What makes anything hard?  And why do we resist doing hard things?

Okay, here we go, let's launch into a bit of philosophy.  First, things are easy when you know what to do.  Even if the thing you have to do itself is not simple, the overall task is still "easy", because it is fully understood.  Things are hard when you don't know what to do.  The act of figuring out what to do is usually more difficult and complicated than the "what to do" itself.  The reason spec writing is hard is that it requires figuring out how something is going to be built.  Essentially you must force yourself to be creative; you must derive a solution given a set of constraints.

So that's why writing specs is hard, now, why do we resist hard things?

I believe happiness comes from liking oneself.  Things which make you feel good about yourself are "fun", and things which make you feel bad about yourself are not.  Anything you don't know how to do is necessarily going to make you feel a little less good about yourself.  After all, if you were that good, you'd know what to do!  There is uncertainty; what if you can't figure out what to do?  Or what if you figure it out, but your solution proves sub-optimal?  The fear of failure hangs over any "hard" task.  It is actually must easier simply not to try than to try and fail, so we resist.  (This is related to the whole idea of Trying, see my essay on this...)

Writing specs is good

Okay, writing specs is hard, and we resist it, but why is it good?  Can't we simply avoid doing this thing which is hard :)

Unfortunately writing specs is good for the same reason that it is hard.  It requires figuring out how something is going to be built.  This figuring out is crucial.  It avoids a lot of blind alleys and wasted time, and this is why programming is made more efficient by spec writing.  Most of the time if you know exactly how to solve a programming task, writing the spec for that task is not hard.  It is only when you don't know what to do - when there is creativity involved - that spec writing is hard, and this is precisely when you should write specs.

In the old days (yeah, I'm dating myself here), programmers used to write code on paper first.  There was such a think as "desk checking", which essentially meant carefully reading your written-on-paper code to try to find errors.  Then you would laboriously keypunch the program onto cards, and run the deck.  Keypunching took a long time and fixing errors was difficult, and running a deck took a long time and fixing errors was even more difficult, so it really paid off to spend some time planning up front, and carefully desk checking code.

Now with fullscreen editors and interactive IDEs and incremental compilers and just-in-time debuggers, there is no need to do any planning.  You launch the IDE, you start typing some code, and poof - you run it.  If you have a problem, you figure it out.  The careful up-front planning is lost, as is the efficiency of thinking through a problem and its solution before diving in to implementation.  Writing specs is the best way to get that efficiency back.

Writing good specs is good

So writing specs is good, but certainly some specs are better than others.  What makes a good spec good?

First, you need the right level of detail.  There must be an overall description of the problem to be solved, from the user's point of view.  These are often called functional requirements, and are sometimes packaged as a separate document.  They are often written by product marketing folks rather than programmers.  (They may even be written by customers!)  Regardless, this information is crucial for a programmer.  They must understand the desired behavior of the program, its reason for being, and the other functional considerations.  This is the only way the programmer can develop a good solution.

Beyond the functional requirements, there must be information about the design constraints.  This includes compatibility with other software, tools to be used, target platform, support considerations, performance goals, etc.  The emphasis here should be on describing the constraints and goals of the solution without specifying the solution itself.  As a spec writer you want to leave the programmer as much scope for creativity in devising a solution as possible - especially if the programmer is yourself :)

Too much detail can be as bad as too little.  Overspecification is time-consuming and rarely helpful.  Specs can have GUI guidelines, but they should not contain pixel-perfect screen shots or detailed example reports.  Specs can give design considerations, but they should not dictate a design.

W=UH and specs

Okay, so spec writing is hard, and spec writing is good.  Doesn't this contradict the fundamental equation of life, W=UH?

At first glance it would certainly seem so.  After all, things which are hard, are wrong, right?  Well, no.  The problem is that writing specs cannot be considered in a vacuum.  We have to consider the whole task, which is to program a solution to some problem.  So we have to ask, which is harder:

  1. Programming without a spec
  2. Writing a spec, then programming

Overall, approach (1) is harder than approach (2), and uglier, and hence wrong-er.  Although writing specs is hard, programming without a spec is harder, since the spec makes the subsequent programming so much easier that the entire task considered together is easier as well.

Well maybe you accept that, but you're still troubled by the fact that writing specs is hard, and W=UH.  How can spec writing be made easier?  Here's some ideas...

  • Get as much functional requirement information as possible.  As noted above, much of the difficulty in spec writing stems from uncertainty.  So more information is good.
  • Leverage existing documents and code as much as possible.  Why reinvent the wheel?  Nothing is easier than cutting-and-pasting, both for documents like specs and for programs.  Often crafting a design in such a way as to allow document and code reuse is well worth it.
  • Leverage other people as much as possible.  Is there a product marketing person or salesperson who knows a lot about the problem to be solved?  Ask for their help.  Is there a customer who can help?  Very often customers and prospects will gladly document their requirements, simplifying the spec writing process and making it more likely the problem you're solving is one the customers care about.

If you can actually make spec writing seem easy, then you've truly got it made :)


Financial transactions, RSS and OFX

Thursday,  07/24/03  06:28 PM

RSS for financial transactions?

Today Dave Winer linked Deane Barker, who asked about a realtime RSS feed for credit card purchases.  Actually Tim Bray made similar mention a few weeks ago, asking for an RSS feed of his stock portfolio.  Jon Udell indicated [in email] that he'd like to receive higher-order messages from his bank in RSS - for example, periodic email alerts about an account being low, or about newly presented bills.

Introducing OFX

It turns out most large financial institutions support an XML-based standard called OFX.  (Open Financial Exchange.)  This standard was created in 1997 by Intuit, Microsoft, and CheckFree, as a way to interface personal financial managers like Quicken and Money to financial institutions like banks and bill payment services like CheckFree.  Most home banking vendors like Digital Insight support OFX as well, both as clients (they use OFX to get account information from banks) and as servers (they export account information to end-users as OFX).

In addition to account and transaction history, OFX also includes messages for bill payments and bill presentment.  Bill presentment has turned out to be a fizzle so far - there are too few billers which support it, and for consumers it is really only useful if the majority of their bills are presented electronically, so that they can get all their bills in one place.

I was with Intuit's Web Finance group for a couple of years, which included Online Bill Payment.  We worked hard to get billers to signup for bill presentment, which at that time we thought would be the Next Big Thing. We had a deal with AOL, a deal with Excite, etc. (This was 1999.) Quicken and Money have the ability to present bills right in-band, and OFX has the messages.  The big problem was getting billers to agree to present bills electronically.  You'd think billers would be anxious to save printing and mailing costs, but the big billers all value their relationship with their customers, which is currently mostly conducted through their statement.  (These are phone companies, utilities, cable companies, etc.)  Billers just didn't want to turn over that relationship to an online transaction system, even after we put a ton of branding in for them (including HTML links to their websites).  Today there are a number of bills you can get through "online bill presentment", but mostly when you want to pay a bill online, you have to do it through the biller's website, because of the customer relationship issue.

An interesting solution to the "all your bills in one place" was an idea several companies had at once; scan paper bills.  A company called Paytrust still offers a service which does this; overall it was a great idea but proved too expensive for most consumers.  The idea is that you tell all your billers to send your bills to an address as the scanning company, which opens your mail, scans all the paper, and then makes it available online through a website.  This makes it truly possible to get all your bills online, whether paper or electronic.

There are two main things offered by OFX which are slight complications over RSS.  First, there is security; OFX is always exchanged over SSL connections, with validation of server certificates by clients.  Also a client must establish identity through a logon sequence (typically userid/password, validated by server).  Second OFX servers support client-side state.  An OFX client provides the high-water mark of previously seen transactions (all transactions are sequence-numbered by the server), and the server then provides ONLY transactions newer than the high-water mark.  This enables small updates to be easily downloaded from large datasets (e.g. all the history on your credit card would make for a large message).


Both of these OFX features – security and client-side state – would be useful additions to RSS.  If added, they would bring RSS up to the level of OFX, but would not necessarily add anything to the OFX standard already in place.  There are already a bunch of defined XML tags for modeling financial transactions (these could be incorporated into RSS as a large “financial” namespace).  Additionally there is already software - like Quicken and Money - which “understands” OFX feeds, and incorporates the data seamlessly.  Such software wouldn't necessarily know what to do with RSS versions of the same data.

The idea of client-side state in OFX was really just born of expediency; the OFX designers realized financial institutions would be sending a ton of redundant information if all account history were sent every time. (And the target client base was mostly dial-up.)  There had to be a unique identifier for each transaction anyway (today we would call it a GUID :) and it was simple to have the server sequence-number each item.  Then a client would just keep their high-water mark, and send it on the inquiry request.  The server then could provide only items "newer" than then high-water mark.  If the client was confused or got reloaded or something, they'd just send zero and get everything again, but only the first time.

I actually think this form of client-side state would have value.  Using aggregators like Radio or SharpReader which poll every hour, typically when a blog has an update it is only one or two items.  But currently the aggregator pulls down the whole RSS feed, which could have a month's worth of items in it, and then filters the duplicates.  If the aggregator kept a high-water mark (GUID of last-seen item) for each feed, it could send this on the request (as an optional parameter on a GET) and servers which wanted could use this to optimize their bandwidth by sending only items newer than the high-water mark.  It wouldn't save me much on my blog, but really active blogs like Scripting News would probably save quite a bit of bandwidth over time.  This would be a strictly optional feature for both the client and server - if either doesn't support the feature there is no harm done - but given most RSS feeds are served by a few products (Blogger, Radio, Movable Type) and most RSS feeds are retrieved by a few products (Radio, SharpReader, NewsGator, etc.) the possibility of implementation seems pretty real.

What's next?

OFX is pretty entrenched now, with Intuit, Microsoft, CheckFree, and most large financial institutions already on board.  It isn't going anywhere.  Meanwhile RSS is also pretty entrenched now but not as a protocol for obtaining financial information.

Jon's point about getting alerts as RSS seems really well taken.  Many online services currently present such alerts by sending emails, but putting them in RSS seems very doable.  Of course you might have to add client identification but that isn't too hard - you could simply pass credentials in the HTTP Authorization: header.

I predict more and more business-to-consumer applications will use RSS as a communication mechanism, particularly if security and client-side state are added.  This could be done fairly easily with a namespace extension...



Thursday,  07/24/03  10:31 PM

Scoble: Linux is not Microsoft's enemy.  "OK, dummy, so if Linux isn't the main enemy of Microsoft, what is Microsoft's biggest enemy?  Analog thinking."  I hate to disagree with Robert, but I doAnalog thinking is the opportunity, not the enemy.  Digital solutions are the future in many fields, offering efficiency and functional advantages, and the competitor in providing many of these solutions is Linux.

Robert was commenting on Doc Searles' "Saving the Net" article, which is well worth a read.  Doc is a little hung up on the "who owns what" issue - this has been a longtime theme for him - but it has definitely been brought into sharp focus by the SCO lawsuits.  (There are actually big companies hesitating to deploy Linux now for fear of being targeted by SCO, which is [I'm sure] exactly what they were hoping for...)  Doc also discusses the infamous "Eldred" case.  "I believe Hollywood won because they have successfully repositioned copyright as a property issue."  I hadn't thought about it, but Doc is exactly right.

In other digital-rights news, Disney announced a distribution deal with Movielink to make recent Disney flicks available online.  Looks like the studios are learning from the record companies' experience!

On the other hand, the RIAA has gone crazy; they are now issuing subpoenas for parents and grandparents of suspected file-traders.  Ottmar Liebert says he's embarrassed to be a musician, but having enjoyed his work I think he should be very proud; it is the silly crazy weird RIAA which purports to represent the artists that should be embarrassed...

Robert X Cringley thinks the solution is Snapster (Son of Napster).  This sounds a lot like what tried to do a while back; buy a bunch of albums, keep them online, and let people who already owned the albums listen to them.  He for sees a market cap of $33B...

Steven Den Beste in WSJ: We won't back down.  "The real reason we're in Iraq--and why we will stay."

deficit wracked MarylandThe Onion has a great parody: Deficit-wracked Maryland calls it quits.  Of course this could be written about California with no parody at all; our $38B deficit is not even funny.  And it looks like Governor Davis is going to be called on it...

David Burbridge discusses the social issues of "growing old".  This is actually the main reason why declining birth rates don't imply declining population growth.  The U.N. usually misses this in their press releases about worldwide population...

If you want to see how this plays out in the U.S., check out this cool interactive map from USAToday, which shows state-by-state breakdowns of demographic information from the 2000 census.

Are senses a zero-sum game?  This post on GNXP suggests that humans lost their sense of smell to make way for more acute vision...  Interesting.  Clearly senses are not quite zero-sum, but there is a "cost" associated with each sense and anything which was not helpful to survival would get selected out.

quantum soccerBored with conventional sports?  How about quantum soccer?  "the aim is to shape the wave function of a quantum-mechanical “ball” so that the probability of it being inside one of the goals rises above a set threshold."  And I thought Quiddich was cool :)

Southeast Airlines is offering free in-flight WiFi!  Talk about the wave of the future.  They are a small charter airline based in Largo, Florida.  As part of the same service they are offering in-flight cell phone usage.  This seems like such a no-brainer, I could easily see business travelers going well out of their way and paying significantly more for these services in-flight.  [ via Boing Boing ]

Andrew Anker writes about the importance of PR.  "... since PR has a difficult to prove ROI, it is becoming an unused tactic in these capital constrained times."  A great point.  And yet, getting "buzz" around your company and its products is as important as it always was.

And over here we have Darwinian Poetry.  I am not making this up.

Adam Curry's QOTD from Sir Winston Churchill:  "There are a terrible lot of lies going around the world, and the worst of it is half of them are true."  And the other 90% are not!


About Me

Greatest Hits
Correlation vs. Causality
The Tyranny of Email
Unnatural Selection
Aperio's Mission = Automating Pathology
On Blame
Try, or Try Not
Books and Wine
Emergent Properties
God and Beauty
Moving Mount Fuji The Nest Rock 'n Roll
IQ and Populations
Are You a Bright?
Adding Value
The Joy of Craftsmanship
The Emperor's New Code
Toy Story
The Return of the King
Religion vs IQ
In the Wet
the big day
solving bongard problems
visiting Titan
unintelligent design
the nuclear option
estimating in meatspace
second gear
On the Persistence of Bad Design...
Texas chili cookoff
almost famous design and stochastic debugging
may I take your order?
universal healthcare
triple double
New Yorker covers
Death Rider! (da da dum)
how did I get here (Mt.Whitney)?
the Law of Significance
Holiday Inn
Daniel Jacoby's photographs
the first bird
Gödel Escher Bach: Birthday Cantatatata
Father's Day (in pictures)
your cat for my car
Jobsnotes of note
world population map
no joy in Baker
vote smart
exact nonsense
introducing eyesFinder
to space
where are the desktop apps?