blags of matt
i can live with this.
just for you
Recently, a new round of Perl bashing has been going around the tubes. Line noise. Squiggles. Made by old people. Not new. Too easy to create bot-nets. Here's a different take one group took with Perl. I'd love to see other accounts of people moving this way.

background
Sun's new Sun Storage 7000 Unified Storage Systems are unique in the "enterprise storage" market. They are the spirit of a Linux homebrew NAS except with planning and backing by a real company. Sun doesn't make you buy per-feature licenses like another company (which we shall not dignify by mentioning their name. want to use NFS, CIFS, a web interface, iSCSI, and fiber channel? They make you buy six licenses. I think you need a license for the power button too.). Sun even gives away a free vmware image so you can try the system at your lesiure (the "Download Simulator" button isn't a simulator of downloads).

The people on the project abandoned Perl opting to use JavaScript and C instead. Eerily, some components are starting to take on a life of their own.

how i imagine it happened
On a lazy Sunday a little over two years ago, some guys at Sun got the idea to make a new storage appliance.
"Let's write the management system in Perl," Bryan mused while trying to brush off his recurring camel nightmares.

Eric, upset but not knowing why, interjected, "Fine, Bryan, but we're going to make tests for every goddamn feature you write."

Weeks pass as Bryan's frustrate-o-meter nears overload. The management interface is coming along nicely, but Bryan keeps hitting the same dromedary inspired annoyances he has been fighting for years.

Suddenly, enough is enough. "I need to break up with Perl, Eric," Bryan confessed over lunch while hoping the accidental flying spittle wasn't noticeable to Eric.

"But you're six weeks into it. Let's not waste time rewriting," Eric prodded.

Completely ignoring Eric, Bryan kept on, "How is your work with embedded JavaScript in C progressing?"

Bryan proceeded to layout his plan for converting six weeks worth of inspired Perl into a bastardized (in the loveliest sense) JavaScript/C system.

[ time passes ]

Bryan returns from isolation with the letters 'var' burned into his retinas. Bryan rubs his eyes at seeing new surroundings. After a pause, Bryan victoriously yells, "YATTA!"

Bryan quickly realized he was too diaper-esque and took a break to find clothes recognized by civilized peoples.

"So, what's the count?" Eric grilled, without even the courtesy of a hello after not seeing Bryan for six months.

Befuddled, Bryan slapped the Frappuccino from Eric's grip-less, carpal tunnel syndrome afflicted hand.

"You told me the count yesterday!" barked Bryan while quivering and trying to refrain from shouting "OHIO."

The kLOC counts ended up as:
C: 226
JS: 146
Shell: 22
Python: 34
XML: 17
CSS: 6

While basking at their own greatness, in an office two bulidings over, Mohinder Suresh grabs the Sun campus PA system: "A child is born to innocence. A child is drawn towards good. Why then do so many among us go so horribly wrong? What makes some walk the path of darkness while others choose the light? Is it will? Is it destiny? Can we ever hope to understand the force that shapes the soul? To fight evil, one must know evil; one must journey back through time and find that fork in the road, where heroes turn one way and villains turn another."


fin.

references
Perl to JavaScript/C
Lines of code


please
Sun: It is in your best interest to provide me with one 7410 review unit. You will not be getting it back.

disclaimer
I have no connection to Sun Microsystems other than not hating Solaris 10, loving ZFS, and visiting their campus for SHDH25.
sun, not a crapapp, javascript, c, perl, give matt a 7410, zfs
(2060 days ago)about
javascript. you dig?
me reporting on observations of other people from work they actually did.

some of my own stuff too.

email
about