Steve's online recruitment of NEMSIS developers had been met with considerable enthusiasm. He had touched a big nerve on the collective digital cortex. There was, as it turned out, considerable interest in ubiquitous computing protocols out in Net-land.
There were a number of reasons for this. First and foremost, the endeavor contained enough fascinating theoretical issues and technical angles to keep everyone entertained. As an added bonus, wireless networking in general was shaping up to be one of the darlings du jour in commercial circles. It was getting to be the hottest game in the industry. Everybody, it seemed, wanted to play.
Not that Steve and his merry band of bit-twiddlers had any economic conquest in mind. But it was always delicious sport to establish a technical toehold well in advance of the suits. This wouldn't have been the first time it happened; a number of Free Bits mavens had already pulled this stunt in other niches, significantly impacting the industry media along the way. Free Bits stories made great copy; the computer industry pundits covered them eagerly. Nerds loved that kind of attention. For this socially backward and otherwise overlooked minority, it was better than money.
But mostly, what motivated them was the chase: a better algorithm here, an architectural tweak there, and optimizations all around. They could stretch their technical legs and run at their most comfortable pace: a flat-out, online electronic gallop.
The collaboration provided some social stimulation, too. In a very short time the NEMSIS crew had created a mailing list -- nemsis-core@bests.com -- to coordinate the efforts of an ever-widening pool of contributors. This electronic brotherhood (OK, there was one woman involved in the effort so far) provided rich opportunities for spirited discussion breaks wedged between all-night coding treks.
Razi, a network scientist specializing in virtual circuits, had been sucked into the effort when the NEMSIS crowd embraced some of his switching techniques which his technically short-sighted managers had already rejected. He was happy for the validation, if only from a ragtag confederation of online misfits:
From: razi@netconcepts.com
To: nemsis-core@bests.com
Subject: Node switching
Hey all,
If you evaluate the level of circuit abstraction up front, you'll reduce the need for downstream evaluation, especially after dynamic extension of the node_index data structure (i.e. N>255). In short, in most cases you'll be really glad you have the value of realnode_id loaded in register by the time you get to the bottom of the function. This is something I can't convince my project leader here, because HE'S A STUPID, POND-SCUM-SUCKING LOSER WITH A DEEP-FRIED HAIRBALL FOR A BRAIN!!!! AAARRRRGGGHH!!!! 8-(*)
This is the way to do it.
if (realnode_id != (node_id_t) -1 ||
+++(enode_id != (node_id_t) -1 &&
+++ enode_id != old_realnode_id))
++++ current->snode_id = current->enode_id;
current->fsnode_id = current->enode_id;
if (current->enode_id != old_enode_id)
+++++++ current->dumpable = 0; return 0;
Richard was a frustrated programmer who hadn't written a line of code in the months his project had been stalled amidst a re-org. NEMSIS had provided him with a necessary outlet:
From: rmorgan@teknowledge.com
To: nemsis-core@bests.com
Subject: Re: Node switching
Hold on a minute. With all respect, Razi, don't you need to be able to determine the state of current->fsnode_id no matter where you are in the decision tree? Seems like you need one more arrow in your quiver, like this:
if (realnode_id != (node_id_t) -1 ||
+++(enode_id != (node_id_t) -1 &&
+++ enode_id != old_realnode_id &&
+++ current->fsnode_id != old_enode_id))
current->snode_id = current->enode_id;
Gene -- a precocious and pimply high school sophomore who thought NEMSIS was more fun than Dungeons and Dragons -- had his own ideas:
From: warg32@pyramid7.net
To: nemsis-core@bests.com
Subject: Re: Node switching
hey, your both right. but you can cut out won more step and make it more elligent. Cuz for all values of N>255, enode_id_t == old_enode_id
if (realnode_id != (node_id_t) -1 ||
+++(enode_id_t != old_enode_id))
+++++++ current->snode_id = current->enode_id;
sea what I mean? some times less is more.
Out of the mouths of babes. That was one of the great things about these networked, ad hoc jam sessions: Sometimes breakthroughs came from the most unlikely sources.
Systems administrators are often frustrated software developers, not to mention performance freaks. Peter was no exception. Following the NEMSIS effort from the comfort of his cubicle in the TeraMemory tower presented a ready antidote to the tedium and drudgery of his primary responsibilities. It also put him in the position to make a contribution of his own, one he just couldn't resist despite the obvious conflicts of interest.
From: pgrendler@teramemory.com
To: nemsis-core@bests.com
Subject: Benchmarking: WHIP -vs- NEMSIS
I probably shouldn't be posting this, but I thought you guys might like to know: I've been benchmarking your stuff against the WHIP kernels on the Sparc Ultra 10Ks and Erickson IR Ethernet. It's NEMSIS by a neck: 68.698 KBPS at 300 virtual circuits, versus 62.022 for WHIP. And that's when our stuff isn't flaking out and falling over.
Tell me when you start hiring. I wanna be first in line.
All of this had pleased Steve immensely. It was the validation of all his hopes and instincts: He really was smarter than The Man.
From: shall@bests.com
To: nemsis-core@bests.com
Subject: Benchmarking: WHIP -vs- NEMSIS
>It's NEMSIS by a neck: 68.698 KBPS at 300
> virtual circuits, versus 62.022 for WHIP.
> And that's when our stuff isn't flaking
> out and falling over.
Dude, this is awesome. Want to join the core team? We can't offer you anything but immortality.
Is that enough?
Shares