Thursday Feb 11, 2010

SourceJuicer in Beijing

While I was in Beijing I was invited to present OpenSolaris SourceJuicer at a combined meeting of the Beijing OpenSolaris User's Group and the Beijing GNOME User's group. (Thanks Emily and everyone!) SourceJuicer at Beijing OpenSolaris User's Group and Beijing GNOME User's group

Sunday Oct 25, 2009

Presenting SourceJuicer at Dresden OSDevcon

I'll be presenting OpenSolaris SourceJuicer at the OSDevcon conference in Dresden this Thursday, October 29th at 3:00p.m. I hope to see you there!

Tuesday Oct 20, 2009

O'Reilly's Beautiful Testing (Thanks Adam, Tim, Emily, Derek...)

Emily Chen and I coauthored a chapter in an O'Reilly book entitled "Beautiful Testing" which was edited by Adam Goucher and Tim Riley.

Successful software depends as much on scrupulous testing as it does on solid architecture or elegant code. Beautiful Testing offers 23 essays from 27 leading testers and developers that illustrate the qualities and techniques that make testing an art. Through personal anecdotes, you'll learn how each of these professionals developed ideas of beauty in testing a wide range of products -- valuable knowledge that you can apply to your own projects.

The electronic version is already available here:

The bound version should be available in bookstores in the next few days.

Monday Aug 17, 2009

Fixing a Pentax \*iST DL DSLR

Update: While in Beijing I had the camera professionally fixed twice by repairmen in the basement of Top City electronics. I learned that one additional screw was inside the battery compartment. And I learned that they used a bit of fine sandpaper held between tweezers to clean the contacts.

Screws which must be removed to take top off Pentax \*ist DL In the wake of the cash for clunkers scam, the planned obsolescence of a few million televisions, and some misguided efforts to prevent electronic devices from being reused or recycled outside of the U.S., the obvious solution when my digital SLR began acting up should've been to pitch it and get another one. I'd already investigated and discovered that a newer model could be purchased for less than it would cost to send mine in for repair. But since I had nothing to lose, I decided to give it a try. I'm happy to report that this minor repair was a success! One less bit of e-waste.

I intend to put more of this kind of content on so this blog can grow more focused on Sun/OpenSolaris specific issues.

Thursday Aug 06, 2009

CA$H for Wintel Clunkers and Common $ense

Classic Clunker with Cedarburg, WI county fair light reflections.

According to a CNN money article on the Cash for Clunkers program:
  • The trade-in vehicle has to get a combined city and highway fuel economy rating of 18 miles per gallon or less.
  • The average fuel economy of new vehicles being purchased under Cash for Clunkers is 25.4 mpg
  • The average fuel economy increase from the old vehicle to the new is about 61%.
For this 61% fuel economy improvement in a relative small percentage of the U.S. car fleet, $1 Billion has been spent and another $2 Billion may soon be wasted. There are a number of problems with this program.
  • U.S. fuel economy peaked in the late 1980s and vehicles exceeding 25 mpg have existed since AMC's 1959 Rambler, so only those who deliberatly chose the lowest mpg vehicles can avail of the program.
  • Those who chose economy cars and other respectably efficient vehicles (Civics, Festivas...) are punished to subsidize those who chose inefficient vehicles (Hummers, Vipers...), in effect it is a regressive tax!
  • The real mpg/person savings can be negative, for example when an 18mpg 8 passenger vehicle is replaced with a 25.4 mpg 4 passenger vehicle.
  • The program also ignores the fact that it takes energy to crush an old but serviceable car and replace it with a newly built car.

If the Cash For Clunkers program had instead been directed to encourage companies and individuals to junk their Wintel PCs and replace them with Sun Ray thin clients, there is a potential for a 97.5% decrease in energy consumption. So why isn't there a Cash for Clunkers program for desktop personal computers?

Wednesday Jul 22, 2009

OpenSolaris Source Juicer BOF at OSCON 2009

I'll be moderating a BOF at OSCON 2009 in San Jose on SourceJuicer discussing other cloud computing collaborative opensource development environments. For further information, see my post on the SourceJuicer blog.

Friday Jun 12, 2009

Goodbye to 68 years of NTSC compatibility

Casio NTSC displays PAL program

This is a big day for technophiles as well as technologically nostalgic. An analog TV broadcast standard which has maintained compatibility for 68 years will end today. A B&W TV designed around the 1941 NTSC standard would have been able to display some broadcasts on channels 2-13 yesterday. A color TV designed around the 1953 standard would have displayed some broadcasts in color yesterday. For anyone who appreciates the engineering required to progress technology while maintaining backwards compatibility, the story of the NTSC compatible color standard is interesting.
Some of the disadvantages are unknown, but here are a few problems I forsee:

  • Fewer people will have an acceptable picture. (while the coverage will allow some in suburbs to receive a better picture, rural viewers who had an acceptable analog picture might not receive anything at all.)
  • Portable ATSC TVs will be more expensive and will consume batteries faster.
  • Since battery powered ATSC digital TVs haven't been perfected, they won't work well in weather or other emergencies. This is important because weather radar and other emergency maps provide information specific to a viewer's locale, this is very difficult if not impossible to provide via NOAA or commercial radio. Internet/cell phone services are often the first to go in an emergency and so they cannot be relied upon either.
  • Given the amount of time there was to plan this transition, it was poorly managed.
  • The billions of dollars and years of engineering that went into a slightly higher resolution TV standard could've been been put to a better use. Discounting the money spent by consumers on HDTVs, this project has cost taxpayers approximately $5 Billion. While the recent bailouts make $5 Billion sound like pocket change, this is actually 1/4th the cost of the entire Apollo moon lander program, which was completed in less time!
  • Many devices will go into landfills before the end of their serviceable life. (e.g. almost all battery powered TVs such as the Casio in this photo are impractical to use with any of the Federally subsidized converter boxes.)
  • Newscasters must shave and apply makeup more often.
  • ATSC is heavily encumbered with expensive patents and royalties which, all else being equal, would nearly double the cost of the pocket Casio TV in the above photo. This also means that it may be impossible to create an opensource television or other free (as in freedom) ATSC compatible device (e.g. PVR.)

[Read More]

Sunday May 03, 2009

Django framework, a good balance of convenience and dicipline

Some of the strongest criticisms of Django come from users of PHP or other frameworks which allow you to do almost anything in the templates. This can encourage developers to put business logic into the presentation layer which eventually results in an unmaintainable mess. It's the web2.0 equivalent of a GOTO statement.

But on several occasions while working on SourceJuicer it really would've been handy to be able to store or increment variables or directly access a slightly complicated query in the template. For example, I was attempting to pass a list indexed by an existing column (JobID) into a template when I noticed that there was no way to convert the JobID string to a numeric within the template. Then Luis reminded me that if it seems like you're trying to do too much in the template, you're probably trying to do too much in the template. So I went back to the model and saw that I could add the 'slightly complicated' query to an access method in my model. Django does allow you to access methods from the template but it doesn't allow you to pass parameters to these methods. This seems a reasonable balance between strictness and ease of use. It simplified the code while maintaining good separation between business logic and presentation.

Sunday Apr 26, 2009

Solaris job trends are up, and other observations about IT's future

A middle school telementor student is interested in pursuing a career in computer science. Her teacher asked the class to clip local job openings in their career choice. Since this isn't a terribly prosperous part of the U.S. midwest, I was surprised to hear that there are a number job opening. But the student learned that inexperienced but highly educated candidates were being brushed aside in favor of those with years of experience. How can I encourage a bright middle school student who intends to pursue an IT career, without being dishonest? I could mention the dearth of IT jobs in the midwest at the beginning of my career and the subsequent boom. I hope career counselors no longer channel students away from their talents towards the "hot job du Jour." My 101 computer science class began with a standing room only crowd, but by the end of the semester it had thinned considerably. Our teacher prided himself on his dropout rate!

I do see enormous untapped potential in IT. For example:

  • We've only hit the tip of the iceberg in the application of data mining to epidemiology, economics and security.
  • Much of the clutter of photos, DVDs, CDs and videotapes will disappear as soon as we can organize this data while keeping the MPAA and RIAA happy.
  • Governments, law, education and medical professions seem slow to adopt information technology. Prescriptions rely on handwritten records, Governments and legal professionals treat FAX (a technology which dates to the mid 1800s) is treated as a secure document transmission medium, while 128bit public key encrypted and signed email isn't!
  • Windows PCs still seem a painful hack. Having watched Microsoft Windows languish nearly a decade behind some alternative OSs (Solaris, AmigaDOS, OpenVMS, OS2, NeXT, BeOS), I have to wonder where we would be if antitrust laws had been enforced before it was too late for these companies? We wouldn't go wrong to redesign PCs from scratch.
  • IT has tremendous applications in transportation and traffic management. Why doesn't my car know what speed I should drive to catch all of the lights green? Why did it take the FAA billions of dollars and more than a decade to replace a dieing air traffic control system?
  • Take advantage of Internet ubiquity. Why are people building datacenters in places with expensive real estate and expensive non-renewable energy sources when Iceland and other places have abundant renewable energy and relatively cheap real estate?
  • Sun Ray has been around almost a decade now yet telecommuting is rare even for those in the IT industry.

These are just a few ideas off the top of my head, but imagine my surprise when, to illustrate data mining, I found's jobsite trawler which showed that jobs in Solaris are on the increase.

How could this be in this banjaxed economy when even Microsoft's Vista seems to have flatlined? Imagine what might happen when we hit the inevitable turn around. Few were prepared for this economic slump even though signs of it have been lurking in the shadows and blogosphere for years. Even fewer will be prepared for the coming boom in technology and eco-efficiency. I wouldn't be at all surprised if by the time this bright student graduates, recruiters will have to work very hard to get her on their team. The same goes for all of the extremely talented ex-Sun employees who've recently entered the job market. There is a very bright future ahead if we can get past these potholes!

Tuesday Apr 21, 2009

Happy Earth Day!

La Mancha Plains

We just returned from 9 days in Spain. We traveled from Madrid to southern Andalusia without noticing coal power plants, white skies or other environmental ugliness you'd see in many other parts of the world. We did see lots of wind turbines including one huge wind turbine blade on a semi-truck ready to be installed somewhere.

We saw these windmills towering over the plains of La Mancha 500 years after Cervantes described these or similar 'giants' in Don Quixote: windgiants

We saw many solar farms. It was really obvious that Spain is a leader in alternative energy technology. Spain already produces more than 16 Gigawatts of wind power and about 1/3rd of its electricity comes from renewable energy sources. solarispain

We stayed at cortijoloslobos, a horse farm in a beautiful unspoiled part of Andalusia. The white roof, thick walls and other design features help keep the place cool in the summer. The owners took it upon themselves to care for and try to find homes for animals left homeless during this recession. cortijoloslobos

We saw Olive groves and other farms, well suited to the dry Mediterranean climate. Andalucia We drove a Citroen diesel minivan which sipped little more than 1 tank of fuel in the several hundred mile journey from Madrid to Andalucia and back. Why don't Ford and G.M. release their small diesel engine powered cars in the U.S.? We saw more of the moorish architecture with deep set (often star shaped) ceiling windows. When my wife saw these in Istanbul, she noticed that they were very similar to the Solatube we had installed in our Wisconsin kitchen in the late 1990s, allowing in light without heat.

Stars I hadn't seen since my childhood in the southwestern U.S. desert suddenly reappeared in the dark Andalusian night, reminding me that they've always been there just above the smog, clouds and light pollution. Happy earth day! Yes, it is possible to enjoy the best of this earth and still leave something for the grandchildren.

Tuesday Mar 24, 2009

SourceJuicer 1.0 is released!


The SourceJuicer team has announced that SourceJuicer 1.0 is now available!. SourceJuicer is a web service which facilitates the building and review of OpenSolaris packages. Its goal is to pave the path between building an OpenSolaris package, (which may only work on your laptop) and publishing high quality packages into the OpenSolaris /contrib repository. Here are some of my favorite features:

  • Sourcejuicer provides a community package review system.
  • It preinstalls Laca's Common Build Environment (CBE) and developer libraries in a build zone so you don't have to track down all of the build tools and dependencies required for common FOSS projects.
  • SourceJuicer examples and automatic validation walk me through the required fields in a spec file.
  • Once a package passes validation criteria and builds, it appears in sourcejuicer's internal /pending package repository and can be immediately installed on a clean QA machine for testing:

    pfexec pkg set-authority -O jucr-pending pfexec pkg refresh pfexec pkg install {foo}

  • If the package is clean and passes community review, it can be promoted to the /contrib repository.

This has been quite an interesting project and I've really enjoyed working with this team on this technology. Because I was focused on authentication, authorization and the (not yet released) bug management components, I didn't get to use the full system until very recently and I found that it really did remove some barriers to building and testing the 'dillo' browser and Alvaro's 'cherokee' web server.

We're looking forward to hearing feedback as more OpenSolaris contributors make use of SourceJuicer. You can find out more about the progress of sourcejuicer at The SourceJuicer Blog

Wednesday Mar 18, 2009

NumptyPhysics on Opensolaris!

NumptyPhysics on Solaris NumptyPhysics is a fun opensource "Physics puzzle" game which uses the same Box2d physics engine as the award winning CrayonPhysics. As soon as I saw it, I really wanted to port it to OpenSolaris. One of my first computer programs (for the Commodore 64) simulated gravitational attraction between sprites and allowed the user to send sprites into orbit around each other. Cumulative floating point errors in my old BASIC program eventually caused orbiting objects to careen off the screen. My Solaris port of Numptyphysics still needs work and cleanup, buy it's a step in the right direction. Right now top priority is getting SourceJuicer out the door so there is a more efficient path between NumptyPhysics runs from my build environment on my laptop to, NumptyPhysics is available as a stable package for the OpenSolaris community.

Tuesday Mar 17, 2009

Coming soon, SourceJuicer. 'cloud based' OpenSolaris package development

Circular cloud In recent weeks I've been busy working on the bug management, user authorization and authentication components of the SourceJuicer project. SourceJuicer is a Django based web service which will allow developers to build OpenSolaris packages in a standard build environment and put them on a clearly paved path to review and publication in the OpenSolaris contrib repository.

Christian has a more detailed explanation on the SourceJuicer Blog. The technology behind it is really interesting, it makes good use of ZFS as well as Solaris Containers (a.k.a. zones.) Watch the SourceJuicer blog for more detail as the project unfolds.

Monday Mar 16, 2009

Happy Saint Patrick's Day!

Circular cloud We had a bad experience with a pickpocket during a Dublin St. Patrick's festival a few years ago. So in recent years we've decided to celebrate in some of the villages of county Meath. Dublin events can be O.K. for families but the parade isn't terribly impressive for anyone less than 12 feet tall, unless you bring a ladder taller than everyone else's. For anyone with young children I highly recommend smaller parades in places such as Skerries, Trim, Baltimore Md. and Denver (free beer and gloriously warm weather during the one St. Pat's day I was in Denver!)

Is the recession accelerating OpenSolaris adoption?

This Slashdot article points to an IT Manager survey indicating that Linux adoption is growing during these difficult economic times. It does make sense that companies and governments which normally spent freely on proprietary software might begin to consider unorthodox, but much more cost effective alternatives now. What does this mean for other opensource operating systems such as OpenSolaris? I think the Google trends graph says it better than I could. Anyone looking for the root cause of this economic mess only needn't bother about property bubbles, dodgy investment shenanigans or massive increases in debt. Just look at the trend line of the third parameter in this Google graph ;-)

P.S.: I compared 'opensolaris' with 'economic downturn' instead of 'recession' because the magnitude of recession searches is so much larger that it pushes opensolaris towards the bottom of this graph. A similar scale issue makes it difficult to see that opensolaris seems to be gaining market share against Windows, Solaris, Linux and some of the most popular proprietary Linux distributions.

Google trends is an amazing tool, but it can't answer all psychohistory questions. Trends for some topics such as 'great depression' and 'great gatsby' are common topics in standardized U.S. school curriculum and therefore searches for these closely follow the school calendar. You'd think with so many students learning about Gatsby's 1920s hedonism and its unravelling during the 'Great Depression', it should be impossible to repeat this history.

Tuesday Feb 10, 2009

Hacking 21st century technology with greatest generation craftsmanship

The times I spend diagnosing, testing, analyzing and documenting system problems are interesting from a scientific discovery/mystery viewpoint, but there is something especially enjoyable about creating new code (of course without any mysteries or bugs for someone else to analyze ;-) During these long winter nights, my wife knits or sews childrens things and patchwork quilts while I take apart a broken toy or patch together some gizmo which could easily replaced for a pittance. Not long ago, my wife bought a toy telescope for 1 euro at a car boot sale. Some toy telescopes have surprisingly good optics in the objective (front) lens and terribly bad eyepieces designed as marketing gimmicks to pretend that they can pull 625 power out of a 60mm objective (defying the laws of physics in this universe) This along with the flimsy mounts on toy telescopes makes them all but useless for learning to appreciate astronomy. I was about 12 when my parents gave me a Skillcraft 2" Newtonian telescope. 2" reflectors with 1" secondary mirrors are diffraction limited even if you use a shaving mirror for the primary! But shortly after Christmas 1976, the mount broke and I had a useless tube. My grandpa was a carpenter, toolmaker and metal worker so he fixed it and with rivets and brass he made the mount look like new. (as though repaired by the robots in Metropolis.) The optics of that telescope weren't great but I did manage to see the rings of saturn by using a paper Dixie[tm] cup as an adapter between this scope's eyepiece and one of my dad's good camera lenses. Because memory of a great depression lasted several generations, my grandpa spent time fixing this $20 toy and my parents hung onto that toy until 2008. I told them that the optics were never good and 20 years of corrosion of the tiny aluminized mirror wouldn't have improved anything so I recommended that they throw out the scope. But I asked if they could send me grandpa's mount. So 9 years after he died, grandpa gave his great grandkids a Christmas gift. I attached grandpa's sturdy mount to the telescope from the car boot sale. Added a 0.965 to T-Ring and T-Ring to Pentax K adapter to my Pentax \*ist DL Digital SLR and, it's almost a respectable 700mm lens: Kids telescope Moon with Kids telescope

Now I only need to wait a couple of years for Saturn to tilt at a nicer angle and my kids will have no problem seeing Saturn through this telescope.

Wednesday Feb 04, 2009

How to find the parent global zone

A few nights ago I encountered a problem which required me to find the host name of my parent zone. Solaris Zones (a.k.a. Solaris Containers) intentionally isolate zones from each other and from the root hardware which hosts the zone. But if the zones and the host are on the same network, there is a way. All zones which are hosted by a particular global zone will typically share the physical hardware address as the global zone. So:

ping the broadcast address of your local network.

arp -a | grep {the hostname of your zone}
Now arp -a | grep {the physical address you found}
This gives the list of the global zone and all of the hosted zones with the same physical network address.

Tuesday Jan 20, 2009

Obama smartgrid and a smart new economy

Me and LBJ

"This generation has altered the composition of the atmosphere on a global scale through radioactive materials and a steady increase in carbon dioxide from the burning of fossil fuels."
--Lyndon B. Johnson 1965

"A new smart grid ... will save us money, protect our power sources from blackout or attack, and deliver clean, alternative forms of energy to every corner of our nation."
--Barack Obama, January 2009

"The most widely beneficial stimulus investment, however, could be for the government to subsidize the improvement of the electrical infrastructure of the U.S. The grassroots adoption of solar, wind, geothermal and other clean power is stifled by the grid’s inefficiency at handling highly variable inputs and transmitting power over long distances. An investment in a 21st-century grid would encourage energy reform without particularly favoring any specific production technology."
--Scientific American How Obama can boost the economy by investing in science.

"Over medium to long distances, IT demand load migration is far more efficient than electrical supply migration. This becomes significant when some locales can produce energy at a lower carbon or monetary cost. The global sale of computational resources is more feasible than the global sale of electric generation. Demand-centric computational resource trading can replace or complement carbon trading and contribute to a more effiient use of both IT and electrical grid resources."
--Me July 2008

Good luck Mr. President there are plenty of unexplored possibilities for making a more efficient, honest, balanced and free global economy.

Thursday Jan 08, 2009

Anti-destruction destructive dtrace script and y2k9

A while ago I kludged up this ugly, ugly hack which demonstrates a destructive dtrace script which snapshots the filesystem whenever a destructive command is run (e.g. /usr/bin/rm). It isn't useful except maybe for demos, but the idea could be used for something else. For example, you could snapshot every keystroke on Monday mornings or after a particularly happy New Years Eve especially when transitioning to or from years containing a leap day or leap second...1

#!/usr/sbin/dtrace -s
#pragma D option quiet
#pragma D option destructive

  self->interested =0;

/(execname =="rm") && (self->interested == 0) && (dirname(curpsinfo->pr_psargs) != ".")/
  self->interested = 1 ;
  printf("Someone is trying to delete %s\\n",dirname(curpsinfo->pr_psargs +3));
  printf("%s %d",dirname(curpsinfo->pr_psargs+3),timestamp);
  printf("Snapshotting  %s %d",dirname(curpsinfo->pr_psargs+3),timestamp);
  system("/usr/sbin/zfs snapshot rpool%s@%d",dirname(curpsinfo->pr_psargs+3),timestamp);
  system("prun %d", pid);

1Sun's JDS 2 Linux distribution was based on a Linux 2.4 kernel and the following version (JDS3 beta) was to be based on a 2.6.19 kernel before Sun decided to drop the Linux kernel and focus on products based around the Solaris kernel. AFAIK the leap second bug appeared in the 2.6.22 Linux kernel. The 5000 year old time keeper at Newgrange also failed to work properly because of a bug caused by the presence of clouds between itself and the sun.

P.S. Don't ask me why we seem to get reoccurring bugs every decade, millennium, leap year and leap-second in what should have been a few score lines of date related code some of which could have been implemented a couple of thousand years ago Maybe Ptolomy's code was refined over a few hundred years without fear of patent reprisals or maybe he just spent more money on development and QA.

Friday Dec 05, 2008

asc("") and printf("%s",NULL)

A few days ago I was reminded of one of the differences between Solaris and GNU/Linux which caused a few headaches for Sun's desktop team back in the days of GNOME 1.2. The problem is that while you can printf("%s",NULL); in most Linux distributions, doing the same in Solaris caused the executable to exit and generate a core. There were some debates about the correctness of each approach. Should the program crash to tell the developer that he shouldn't be trying to print a NULL string (the Solaris behavior) or should the program continue happily along printing a NULL pointer? I can see some advantages in both approaches I suspect this and other "Linuxisms" will end up in OpenSolaris simply because they make it more convenient for average coders to throw together a quick and dirty program or for someone to compile and run the thousands of source packages out there which (perhaps unknowingly) take advantage of this Linuxism.

But thinking about this reminded me of a similar "bug/feature" in my very first computer, the Commodore 64 back in 1982 when 64K seemed an unbelievably excessive amount of memory for a computer which cost only $595. The built in blitter and 4 channel 16 bit synthesizer made it a really fun computer for me to write simulations and sound generator programs for my father's physical science class. If you look closely at many of the programs which were published for Compute! and other magazines of the time, you might notice something strange. When a character was read from the user (e.g. via get (a$) ), the asc(a$) function would convert the character to its numeric ASCII value. But in the code you would usually see something like this:

n = asc(a$+chr$(0))

J64 java emulator

What is going on here? There was a bug/feature in Commodore 64 BASIC V2 which raised an "Illegal quantity error." whenever a null string was passed to the asc() function. The Commodore 64's 6510 processor had the unusual ability of being able to peek the ROM and write to shadow RAM which shared the same address space and then disable ROM so that BASIC was running from RAM. This allowed modifications to the BASIC interpreter. Jim Butterfield, a Commodore expert and author once demonstrated a one byte poke which fixed this asc("") bug. Ever since I learned of this simple fix, I wondered why so many BASIC's had this same one byte bug. The Commodore 64, Vic-20, Atari, Amiga, and at least some versions of the Apple and IBM PC Basic's shared this same bug! What was going on? Well, as it happens, a little company known as Microsoft wrote versions of BASIC for nearly all 8 bit computers of the 1980s and 1990s. Was this one byte bug overlooked by Microsoft and propagated to all Microsoft inspired codebases or were Microsoft's developers following the same purist philosophy as Solaris developers who assert that "good coders shouldn't pass NULL into string functions?" Either way, when such a company grows to what it has now become, it can decide that this one byte bug is actually a feature.

Monday Nov 24, 2008

Good news about a bank

We often teased the shyest member of my family by reminding her of the bad joke about the kid who didn't speak a word until he was eating breakfast on his 7th birthday when he said, "My porridge is cold!" When asked why he never spoke before, he said, "Up until now everything has been alright." This is how I felt about the silence which followed my work on a project which installed and provided support for over 7000 opensource JDS desktops at a bank.1 We called the customer occasionally to see if everything was O.K. We helped them through one upgrade which was necessary because the Linux kernel needed to be upgraded to support modern hardware but didn't have a stable ABI so the entire application stack also had to be upgraded. After the upgrade, one of our customers gave us some upgrades/minute statistics that were well beyond what is possible given network bandwidth limitations so I'll just say that the upgrade went well.

Shortly after the upgrade, we helped solve a peculiar focus bug whose root causes were spread across gtk, Java, Firefox and Star/OpenOffice. But overall things were very quiet. Sun was also quiet about this deployment, first of all because we hadn't yet finalized the disclosure agreement and later because Sun decided to drop our Linux-based desktop product and focus on OpenSolaris. So between our "are you still there?" pings to the customer's 2 person technical support staff, I was left wondering if no news is good news?

Then when I gave my presentation at the Irish Opensource Technology Conference, I noticed that two knowledgeable IT managers from this bank were giving presentations on their opensource desktop (a.k.a. JDS) roll out. I finally had the opportunity to be the "fly on the wall" and hear how things really went. I don't have links to their presentations, but these gentlemen said that the project was a success, that the deployment saved money and IT support costs compared to traditional Microsoft Windows based desktop solutions. They said the project completed ahead of schedule and under budget and that they were telling other banks the secrets of their success. I don't know if the other banks were paying attention to the potential savings in deploying opensource alternatives back when easy money was still flowing, but I would think they should take a hard look at such cost-effective alternatives now. In any case, it seems likely that the number of successful cost-saving "invisible" opensource deployments is understated.

"The art and science of interface design depends largely on making the transaction with the computer as transparent as possible in order to minimize the burden on the user" -- S. Joy Mountford

"Any sufficiently advanced technology is indistinguishable from magic!"
-- Arthur C. Clarke.

1 The deployment was of Sun's linux based "Java Desktop System." If we were to do it now, the obvious choices in Sun's product portfolio would be Solaris 10 or OpenSolaris. Since the customer's network is now fast enough to support Sun Ray over WAN, we could potentially save them another $500,000 in annual electricity costs by deploying their desktop via Sun Ray clients instead of X86 PCs.

Thursday Nov 13, 2008

Django newbie gotchas

I'm working on a project which makes use of the Django framework. Django is a web framework which abstracts the back-end database away from the python object and view models which use that database. Since (aside for a small netbean project) I've stayed away from web development for several years, I seem to have missed a lot of noise around ASP, Perl and PHP web development. I hope I haven't missed much. From the looks of the internet, It wouldn't surprise me if only half the web-developers out there only understand half of what they know about web development. There is more than a grain of truth in the saying "If cities were built like web sites, the first woodpecker would destroy civilization".

I'm finding Django 1.0 somewhat challenging, but I'm also finding that I can pull off usable web pages and forms without too much trouble. The django documentation is well above average (especially, and the IRC and mailing list communities are active and helpful. I did run into a few gotchas. Here are some of them:

[Read More]

Friday Nov 07, 2008

Visions of a sustainable technocracy

our little girls shadow

Barack Obama's team seems more technologically savvy than his predecessor. In the mid 1990s when George W. Bush was governor of Texas, I was surprised to learn that he didn't have a public email address. At the same time, George W. Bush's democratic Lieutenant Governor Bob Bollock did have a public email address. Obama's recently launched website provides a more scalable framework for public input than any past president has ever deployed. I hope he and his staff are able to manage it well. I submitted some of these suggestions to

  • Restore the technical advisory counsels that Reagan sacked in favor of lobbyists. Consider appointing optimistic, far-thinking visionaries such as William McDonough and Bill Joy.
  • Rebalance the fiscal value of education and research with the societal value, so basic research on energy, health, economics... and other areas of science which are unlikely to boost an individual stock price in the next 91 days, won't forever sit on the back burner while Europe, India, China and Japan leave us in the technological dark ages. [Read More]

Thursday Oct 30, 2008

$800 Billion burning a hole in your pocket? Spending ideas


Against the better judgment of hundreds of economists as well as the vast majority of the voting public (those annoying constituents), Congress approved Henry Paulson's bailout plan. Now Paulson's appointed "bailout czar", Neel Kashkari has $800 billion tax dollars burning a hole in his pocket and he is trying to figure out how to spend it. My wife was a loan officer and defacto credit counselor way back in the late 1900s when most banks and credit unions still carefully considered credit ratings, debt/income and debt/asset ratios. She often helped people understand how to prioritize their spending. Sometimes little changes such as forgoing the daily cappuccino were enough to lift people out of debt and improve their credit rating. Our bailout czar's job is slightly different. In order to efficiently bail out failing financial institutions, he must invest taxpayer's money on assets that no one in their right mind would buy with their own hard-earned money. I personally don't think this is a good plan. At best it is a temporary patch to a deflating asset bubble. If the bailout czar really wishes to use tax money to improve long term American economic growth and competitiveness, he should consider the following options for spending 800 billion dollars:

  • Bailout Chrysler 800 times (in 1979 dollars). This cash flow diagram indicates that, not so long ago, Detroit fueled a huge portion of the U.S. economy.
  • Repeat the Apollo moon lander program (including R&D from 1961-1969) 32 times (8 times in 2008 dollars).
  • Install photovoltaic solar roofs on 32 million homes (1/5th of all homes in the U.S.)
  • Pay full (unadjusted) tuition for their first year of Yale for 70% of 18-25 year old Americans. (Quoted tuition is for Yale medical school, but Yale has other specialties which could prepare students to become business leaders, presidents, senators, economists...)
  • Fund the National Cancer Institute for 165 years.
  • Provide microcredit loans for the world's $1 billion working poor.
  • Fund UNICEF for 266 years.
  • Buy every possible ticket combination in the Florida Lotto for 57142 weeks, which means Paulson could hold a winning Florida lottery ticket every week for 1098 years.
  • SETI. Wisconsin's former Senator and spendthrift William Proxmire once awarded his famous "Golden Fleece Award" to project SETI. Paulson's bailout money could fund project SETI for 160,000 years.

I'm confident that any of the items on my shopping list would give U.S. taxpayers more bang for their buck than the current plan to reinflate the property bubble, an asset bubble which caused a massive misallocation of financial and intellectual resources and actually works against U.S. global competitiveness.

Incidentally, $800 billion is a lot of money, but it isn't an infinite amount. Unfortunately it isn't enough for the following:

  • $800 billion won't buy enough Starbucks cappuccino to fill Lake Erie, the smallest great lake. However, if you combine all of the recent Fed and treasury bailouts, you could buy enough instant coffee to flavor the Great Salt Lake. You could also buy enough cheap off-brand root beer or Kool-Aid to fill Lake Okeechobee. Wouldn't this be a nice modern variation on the Boston tea party?
  • $800 billion could easily fulfill Herbert Hoover's promise of "a chicken in every pot" (in fact everyone's pot could contain 666 $4 chickens), but to put "a car in every garage" as he also promised, you'd want slightly more money unless we're willing to settle for a used or economy car in every garage.
  • $800 billion would fill a bag with about 80 billion decent ACE hardware hammers but apparently only 1.3 Billion military grade hammers.
  • If you sent $800 billion to the International Star Registry, they would only name 22 Billion stars after a loved one in their "official" book. But the Milky Way galaxy contains at least 200 billion stars and there are billions of other galaxies, each containing hundreds of billions of nameless stars. So at best, only about one in every 10 stars in our galaxy could be named "Henry Paulson".

    Billions and Billions of stars

Monday Oct 13, 2008

2 PCs/day stolen in Racine schools, why not try Sun Ray?

Sad, school has only been in session a month and already 68 computers (enough for two or three classrooms) are gone... Educational PCs tend to be underutilized for a couple of years and just when teachers begin to understand how to integrate them into their curriculum, some local politician will push an agenda "IF only we used PC instead of Mac, Windows 98 instead of Windows 95, Apple IIe, Apple instead of Atari... then Johnny would be able to read!" I've heard of brand new computers sit in boxes for two years, becoming completely obsolete before they are ever used. It's possible that the excellent Apple audio/video capabilities which made these computers so attractive to thieves hadn't been used in the classroom yet. Some of these computers were purchased under a grant for the purposes of exam administration. I happen to know that the deployment/upgrade system was really well designed (by my brother ;-) and similar to a system I helped put together for an Irish bank. But Sun Rays might have been better for some of these purpose and would free up the Apples for the multimedia functions they excel at. Sun Rays have a much longer "shelf-life" than a typical P.C. or Mac. The first ones made in the late 1990s would be able to administer exams and display XP, Vista, Linux, Solaris applications just as well as the brand new ones. Upgrades would be system-wide and nearly instantaneous. Bad or stolen hardware could be swapped out by the teacher and ready to use in less than 5 minutes. The fact that Sun Rays are useless without a server should make them less likely to be stolen... [Read More]

Sunday Oct 12, 2008

Edison bulbs banned in E.U., why not ban PCs too?

I can almost understand why governments are trying to force us to use CFs. CFs are functionally equivalent to incandescent for MOST applications while using 1/5th to 1/3rd the wattage. But if we can overlook edge cases, why stop with light bulbs? Sun Rays are functionally equivalent to desktop PCs for MOST applications while using only 1/40th the electrical power. Replacing PCs with Sun Rays would saves between 8 and 13 times as much as moving from incandescents to CFs. So why not ban desktop PCs?

[Read More]

Wednesday Sep 24, 2008

Is Wall Street welfare a good idea?

While discussing the U.S. government's relatively harmless economic meddling (Cheese subsidies) during the Reagan/GHW Bush years, a friend suggested that the government should buy computer chips and bury them in order to prop up the falling domestic chip market. Since then, inexpensive imported chips led to the personal PC market, the cell phone market, the video game market, the associated software markets and the internet economy. None of this might have happened if the government had imposed tariffs or burned chips in order to prop up that part of the economy. A few years later, this Bush administration tried and failed to meddle with WTO-defying steel tariffs which theoretically might have saved a handful of steelworker jobs while irritating the US's staunchest allies and endangering hundreds of thousands of domestic auto industry jobs.

[Read More]

What lies beyond the archaic 8 char FAT filesystem limit?

I took my family out to the Donegal this weekend. By coincidence my Pentax digital camera "rolled over" from IMGP9999.PEF to IMGP0001.PEF just before I took this picture:
So now I must move all new files to a new folder or change the names before I rsync to my photo backup space to avoid overwriting old files. Whoever decided 10,000 photos was a sufficient limit for a digital SLR never had kids or lived in such a beautiful country. I'm still amazed at how many modern standards (e.g. ISO-9660, DCIM, DICOM) still bow to the 8.3 limitations of Microsoft's old FAT filesystem. As far as I know, DOS and RT-11 were the only popular operating systems made after 1970 with such a SHRTFLNM.LMT. Solaris, AmigaDOS, VMS, Gem, Geos, even the Vic-20 and Commodore 64 filenames exceeded this limit! Yes, it's possible to work around this limit with CLVRABRV.NMS or DIRECTRY STRUCTRS, but it seems that of all of the Digital camera manufacturers, only Casio, HP and Kodak have reasonably long term naming conventions, but none of them is as forward thinking as ZFS would allow them to be.

We really enjoyed our stay at the friendly family run Ocean Spray Bed and Breakfast on Muckross head, just east of the Slieve League cliffs in Donegal. The fact that there were no nearby restaurants or other late season tourists contributed to that "edge of the earth" feel of Donegal.

Tuesday Sep 09, 2008

Kitesurfing Bull Island Dublin

Bull Island Kitesurfing
A couple of weekends ago we saw more than 20 kites and kitesurfers packed onto a stretch of beach on Bull island, a short distance north of Sun Ireland. I don't know how they avoid getting their kites tangled. Twenty years of windsurfing has biased me towards what seems a gentler, safer, easier sport, especially with the big old floaty boards and the Aquaglide Multisport inflatable sailboat windsurfer I picked up last summer:
Aquaglide Multisport

The sail is tiny and it isn't terribly fast, but we get plenty of wind here and it goes upwind about as well as a small catamaran. I like that it folds down into something the size of a golf bag that I can carry home.

Note: The sky looks threatening in this photo and the next day a rare lightning storm and heavy rain flooded this part of Ireland, but this was about the nearest thing we had to summer in 2008.

Is Sun behind more than 1/2 of all corporate OpenSource contributions?

Corporate FOSS Contributions
The EC's Study on the Economic impact of open source software on innovation and the competitiveness of the Information and Communication Technologies (ICT) sector in the EU is an interesting document. I was fortunate to attend a presentation by one of the authors at an OpenIreland event a couple of years ago. The above StarCalc graph uses corporate FOSS contribution numbers from this document. A picture is worth 1000 words, isn't it? This study was published in November 2006, the same month Java was GPL'd so I doubt the Java codebase was included in these calculations. The open sourcing of Solaris was also in early stages. Add these and the MySQL code and it wouldn't surprise me if more than 1/2 of the corporate contributed OpenSource code is from a division of Sun Microsystems. I know we can do better. But quite a few big FOSS consumers (e.g. those selling beautifully branded FreeBSD or web services) are notably absent from the top 10 corporate contributor list. What percentage of corporate FOSS contribution would quench some of the hottest alternate kernel fanboy flames? 60%, 75%? Is it sufficient to contribute to the whole software ecosystem Joe sixpack thinks of as "Linux" or do you have to commit directly to Linus's kernel? What does it take to be cool? Are we there yet?




« July 2016