The very thought of food…

Ah, how sweet it was when Man discovered — to his great relief — that the Elder Gods were basically scary-looking creampuffs, all roar and no firepower. And so good to eat! Here are a few recipes from the troops on the front lines (returning home soon, we are assured) –

Noodles Nyrlathotep

Old Nyar might look scary, and he’s got some surprises even when he’s down, but this dish is easy to make, and scrumptious.

1 flipper, cleaned and julianned
1 Node of Gorham, halved, with ALL nodules removed
1lb egg noodles
4q chicken stock
seasonings (Tarragon, Basil, etc.)

Boil the flipper for about three hours in 2q stock, adding more stock as necessary. Make sure you remove all the nodules from the Gorham or you’re gonna poison somebody. Add the Gorham about halfway through cooking (you musn’t actually eat it, it’s sort of like a bay leaf). Add noodles eight minutes before serving. Season to taste.

Okay, skip the stupid Gorham. But really, it’s worth it.

Cthulhuburgers

If the thought of eating ground-up tentacles and those, um … whatever they are, makes you a bit queasy, don’t worry, these patties are as yummy as they sound gross. “Better than buffalo,” said a few of the Rangers coming back from patrol. Going back for seconds or even thirds won’t be a problem.

2 lb tentacle meat, finely ground
1/2 lb “those other wavy things”
1/1 t freshly ground pepper
1 t salt
1/2 c bread crumbs
1 egg

Mash it all up, make patties around 1/3 pound. The usual caveats apply, and we recommend an internal temp of 210 degrees (yes, really, let them cool down a bit before serving).

Baked Old One

An oldie, but a goodie! Carve out sections about the size of an Idaho potato, bake for 30 minutes in a fire (or 6-7 minutes in a microwave oven — our troops also put them next to engine blocks for an hour or two). Butter and pepper to taste. Yum!

Plague

The Gibber brought home Something Awful from daycare. That, or I got it from someone at work and spread the wealth. Summary of people tossing cookies: Me, my wife, Grandpa and the cat (the last probably hairball related, or so the vet claims). This is one successful little virus.

Bleah. One day I will again contemplate solid food.

Programming Languages of Middle Earth

(part II of Outsourcing to Middle Earth)

ELFTALK

Few men have seen actual ElfTalk source code, as its syntax and semantics are tightly guarded Elven secrets. However, bits and pieces of early versions of ElfTalk have leaked out, notably in some screenshots of ElfTalk version 432 that appeared in a now very difficult to find issue of Magic in Computing about three hundred years ago.

In a word, the language, like its makers, is beautiful.

Consultants returning from contracts with the Elves are normally bound by geas to speak nothing of their experiences, but occasional slip-ups do happen. Thomas Twelve-Toes, a talented hobbit from Bree, returned from Rivendell Systems unable to type on any keyboard other than one specially modified with fourteen variants of parenthesis and eleven shift bits for each character.

Others who have retained memories of working in ElfTalk are usually unable to write software for a living, preferring manual labor or politics to working with any computer system. When asked, they usually just stammer away about syntax coloring “beyond the ability of mortal eyes,” sentient header files, DWIM, and bugs that fix themselves.

DWARF++

Why use a toothpick when you can bash away with an axe? Pile-drivers are even more fun. Dwarf++ looks like C++ worked over by a mad genius. Multi-dimensional inheritance, Turing-equivalent macro processors and support (and need!) for symbols several megabytes in length throughout the tool chain — this is a manly environment, and wimps need not bother to submit resumes. What this really means is that build times are often measured in days and debuggers are very rustic indeed, but that’s okay because Dwarven code tends to work the first time. Just like you don’t have a second chance to carve a column out of raw mountain rock, Dwarves rarely need a second edit on a source file; a Dwarf using Emacs would be redundant and probably laughed out of the Software Chiselers guild. Most dwarves just write directly from the terminal, like this:

% cat - >compiler.c
#include <dwarf/standardEnvironment.h>
int main(int argc, char ** argv)
...

NAZGOL

This is a terrible language, currently in use by most of the Orc shops in the east. It was developed by Arkzarkz the Pitiless for his legion of programmer-slaves; its central theory is that individuals are fungible and that the core experience of software engineering is unending toil and pain. The only control structures of NAZGOL are IF and GOTO, the only data types are 16-bit unsigned integer, arrays, and function pointers. Variables are limited to five characters, uppercase only, and do we need to mention the 72-column line limit? With only a 64K address space, and with a level of asbstraction only a smidgeon above assembly language, the Orcs have become masters of implementing systems using hundreds of overlays and segments.

Despite such a primitive underpinnings, the unique Orcish approach to quality control (ship a bug? You’re dinner!) yields quite stable systems, able to stay up for years in the harshest environments.

HOBBITS

Hobbits are capable of programming in practically anything, but in general they prefer small, embeddable languages such as FORTH and Lua, with the notable exception of recreational Perl. Ask any group of BIT students to toss off a one-liner in a pub and there will be mad scramble for napkins, pens and pocket terminals, and much laughter.

Of course, they have invented their own languages, and lots of them, ranging from the very tiny to attempts at their own defense systems languages. These languages are faddish in nature, growing up around pubs or college dormitories, spreading out into the industry, then fading as the next language comes into fashion.

It is not unusual to discover contracts where the deliverables have been written in such a fad language, then mechanically translated to the contractually obligated target language. For this reason it is important to keep a close eye on contractor checkins, since few Men have the ability to fix bugs in (say) Waterton Vastly Extended Basic or BREEBOL.

ENTS

The Ents are not so much language users as they are thinkers and library builders. The Ents build the best attribute-grammar parsers in the world. This should not come as a surprise, given their tree-like nature, but the relationship with all things tree-like goes deeper than this. They are similarly strong at sorting algorithms, natural language understanding and AI systems. Many pieces of software in Middle Earth use libraries written by Ents.

LOST LANGUAGES

Beware. Open any barrow or ancient tomb in Middle Earth and you’re likely to find old CDROMs, ROM cartridges and backup tapes “just sitting around.” Let’s face it, if a QIC tape has survived three thousand years buried in muck, there’s probably a good reason to avoid mounting it. Despite preservative sorcery, most of the older media is unreadable, but occasionally some clever but unlucky soul manages to recover an executable from a millenias-old tape and run it in an emulator, “just to be safe.” More fools they.

This, not Orcs, is what the squads of Eagles are really for, and why they practice pinpoint high-altitude bombing.

Most children are taught to avoid unknown media and to recognize the boot screens of evil operating systems, and to notify adults if they encounter any, but the occasional tragedy does happen. It is fortunate that Infections are rare, but when they do happen they must be dealt with quickly and without mercy. It is common knowledge that, without proper vigilance, what happened to the fair land of Mordor could happen anywhere else.

I haven’t talked about Goblins (noted expert virus and worm writers, using mostly assembly language and host scripting environments), Spiders (you guess what they’re superb at), nor of the great archives of dragon algorithms that you can find in old libraries and caves, but often guarded by physical and sorcerous traps. Much of Knuth Vol. VIII (Arithnomantic and Metamathematical Algorithms) was cribbed from such sources. More on the reference works and the history of technological development of Middle Earth later.

Hubba trubba

From an NPR interview with the program manager of the NASA project to build the robot that will be responsible for bringing the Hubble Space Telescope into the atmosphere, where it will burn up.

Q: “Will there be an executioner, someone who presses the button that kills the Hubble?”

A: “Well, at some point, there will be an individual on the space operations team that will be responsible for typing in the command that deorbits the telescope, yes.”

So, what will that command be called?

% rm -rf hubble

or

C> KillHubble /deorbit
Are you sure? Yes
Are you really sure? Yes
Are you really, REALLY sure? Yes
I don't believe you. Are you sure you won't reconsider? No
You're really not kidding, are you? Nope
Dang. Well, okay.
10 9 8 7 6
Um, this is your last chance. Are you --
YES, DAMMIT
Jeez, okay, okay... 5 4 3 2 1
Ummm... A)bort R)etry I)gnore ?
JUST DEORBIT THE STUPID THING ALREADY!
All right. *sigh*
C> _

Outsourcing to Middle Earth?

More and more software jobs are going overseas. If this is something your company is considering, there are many things you need to know in addition to employment and contract law “over there.” In addition to differences in diet, culture, stature and fighting tactics, the races of Middle Earth have individual strengths in the writing of software. You must be aware of these differences, since they may make or break your project.

For instance, Elves are great at Lisp and other dynamic languages, and you should consider no other race if you are contracting such work. They excel at writing user interfaces, and their code is legendary for being nearly bug-free. However, given their long life spans, it is not unheard of to miss ship dates by decades or even centuries. You can expect reasonably costed, highly crafted systems of impeccable quality, however the product may arrive quite late, and the Elves often have their own ideas — bordering on religion — about user experience and the use of languages such as C++, which they regard as an instrument of the enemy.

Dwarves excel at database code, period, end of story. A team of dwarves can deliver a fast, robust report generation system practically before the specification leaves your outbox. But it will be impossible for ordinary mortals to use without expensive training. Dwarves will generate mountains of beautifully constructed queries, updates and stored procedures, but their code should NOT, under any circumstances, be allowed to interact with end users. Dwarves are best at writing a product’s back end; a command-line interface is as close as the mountain folk should come to interaction.

Are you doing an embedded system? You probably already know that you need to hire some Hobbits, but you might not know that different clans have specialized skills. While just about any hobbit can knock out (say) a video game or some cell-phone firmware, the graduates of the Bree Institute of Technology are famous for their rock-solid device drivers, while Waterton State has an entire department specializing in real time control systems (their fly-by-wire dragons regularly win competitions, and many factories and sawmills use process control software written by their graduates).

The well-publicized demise of Great Eye Systems, one of the most reviled spyware vendors on the net, has pushed firms in the east to other business. Long the domain of spamming tools and dodgy anti-virus packages (rumored to be written by the virus writers themselves), the orc-based shops of Mordor have tried to clean up their act lately with more security-related software such as firewalls and intrusion detection systems. And for encryption, nothing beats translation to the tongue of Mordor, which is unutterable without causing alarms to ring in the rebuilt NOC at Barad-Dur.

At the moment, for every success story there are three or four projects that have been lost in the swamps or eaten by unexpected goblins and gremlins. Little things, such as making sure that documents have been signed in blood, or that the sales force has been issued dragon-bane, or that the proper bribes have been paid to the local wizard’s union can make the difference between a successful ship date or complete and terrible destruction. The risks are high, but the rewards are great.

Conservative mailing list

I get this wacko physical junk mail. I’d like to say: “How I get on these mailing lists, I’ll never know,” but I actually have a pretty good idea about some of them. You see, I joined the NRA a about ten years ago (it’s a long story). I let my membership lapse, but that hasn’t made any difference, the flow of fringe stuff continues unabated.

The latest is an offer from a kind of “Conservative Book Club.” No names, I don’t want to give them any business. But with quotes like this:

‘I am often asked if I still think we should invade their countries, kill their leaders, and convert them to Christianity. The answer is: Now more than ever.’ — Ann Coulter

… you’ve got to admit, they sure know how to pick their content. Books available from them include any number of biographies of Ronald Reagan, treatments of the threat of illegal immigrants, the evils of the UN, trash-heaping the Clintons, vilifying liberals (always), venting about the media, and (go figure) a couple of Emeril cookbooks.

I’ll just have to wonder about the recipes in the Conservative Cookbook, and whether a country that cooks Canadian beef on grills made in China can afford to to think that it can convert anybody to anything.

Start ’em young

gilbertTyping.jpg

And this is what he wrote:

yyy\zDDDDDDDDDDDDDDDDDDDZ [,.......xzamasxSX/ AZZZZDB n f xbnb eeeeeexzzzzzzzzzzzzzzzzzz
4:58 PM 2/6/20057666y67grzzsddd
dddddddddddddddddddddvyy vj,vvvvvvvvvvvvvvvvvvvvxffffffffffffffff
fffvffffffffffffffffffffffffffffffffffffffffffffffffffffffff
ffffffffffffffffffffffffdddddddddddddddddddd
ddddddddddddddddddddddddddddddddddaa
aaaaqAQAz1,=hhhhhhhhhhhhhj777777
77777777777777777777777777777777 cbvny vvbb mW3EE4W

We have no idea how he got today’s date and the time in there. I’m not kidding. And the bit of l33t sp33k towards the end is kind of disturbing….

Architectural Ultimatum

“Gentlemen, I want abstractions, not capitulations!”

“That’s not an interface, that’s a bloody surrender!”

“Sure, that looks like great C++ code.” [comment on some managed interface]

“If we change direction one more time, let’s rename that class to JEdgarHoover.”

Fumes and snorts…