Friday, December 24, 2004

Must See WWW

EPIC 2014

Wikipedia in TR

Larry Sanger’s Knowledge Free-for-All

William Gibson

William Gibson

In the night of 12/24/07, though sensors woven through the very fabric of the house had thus far registered a complete absence of sentient bio-activity, I found myself abruptly summoned from a rare, genuine and expensively induced examples of that most priceless of states, sleep.

Even as I hurriedly dressed, I knew that dozens of telepresent armed-response drones would already be sweeping in from the District, skimming mere inches above the chill surface of the Potomac. Vicious tri-lobed aeroforms that they were, they resembled nothing more than the Martian war machines of George Pal’s 1953 epic, “The War of the Worlds”.

And while, from somewhere far above, now, came that sound, that persistent clatter, as though gunships disgorged whole platoons of iron-shod mercenaries, I could only wonder: who? Was it my estranged wife, The Lady Betty-Jayne Motel-6 Hyatt, Chief Eco-trustee of the Free Duchy of Wyoming? Or was it Cleatus “Mainframe” Sinyard himself, President of the United States and perpetual co-chairman of the Concerned Smart People’s Northern Hemisphere Co-prosperity Sphere?

“You’re mumbling again, big guy,” said Memory, shivering into hallucinatorily clear focus on the rumpled sheets, her thighs warm and golden against the Royal Stewart flannel. She adjusted the nosecones of her chrome bustier. “Also, you’re on the verge of a major fashion crime.”

I froze, the starched white tails of an Elmore of Shinjuku evening shirt half-tucked into the waistband of a favorite pair of lovingly-mended calfskin jodhpurs. She was right. Pearl buttons scattered like a flock of miniscule flying saucers as I tore myself out of the offending Elmore. I swiftly chose a classic Gap t-shirt and a Ralph Lauren overshirt in shotgun-distressed ochre corduroy. The Gap t’s double-knit liquid crystal began to cycle sluggishly in response to body-heat, displaying crudely animated loops of once-famous televangelists of the previous century, their pallid flanks streaked with the sweat of illicit sexual exertion. Now that literally everything was digital, History and Image were no more than Silly putty in the hands of anyone with a BFA and a backer in Singapore. But that was just the nature of Postmodernity, and, frankly, it suited me right down to the ground.

“Visitors upstairs, chief,” she reminded me pointlessly, causing me to regret not getting that last chip-upgrade. “Like on the roof.”

“How many?” And this was Samsung-Sears’s idea of an “expert” system?

“Seventeen, assuming we’re talking bipeds.”

“What’s that supposed to mean?”

“That Nintendo-Dow micropore sensor-skin you had ‘em stretch over the Realistislate? After those Columbian bush ninjas from the Slunk Cartel tried to get in through the toilet-ventilators? Well, that stuff’s registering, like, hooves. Tiny ones. Unless this is some kind of major Jersey Devil infestation, I make it eight quadrupeds – plus one definite biped.”

“It can’t be Sinyard then.” I holstered a 3mm Honda and pocketed half a dozen spare ampules of gel. “He’d never come alone.”

“So maybe that’s the good news, but I gotta tell you, this guy weighs in at close to one-forty kilos. And wears size eleven-and-a-half boots. As an expert system, I’d advise you to use the Mossad & Wesson bullpup, the one with the subsonic witness protection nozzles—“ She broke off, as if listening to something only she could hear. “Uh-oh,” she said, “I think he’s coming down the chimney…”

Thursday, December 23, 2004

Enemy of the State - Enterprise Integration Patterns

Enemy of the State - Enterprise Integration Patterns: "One of my favorite pastimes is to argue with people whether a solution is stateless, whether it should be stateless and what it means to be stateless in the first place. Ideally, the debate would involve alcoholic beverages and the other person would pick up the check. After 'loosely coupled', 'stateless' must be a close runner-up as the ultimate nirvana in buzzword-compliant architectures. It is also equally hotly debated. Today, I 'd like to share my view on state and lessness. If you disagree you are welcome to argue with me, but you are buying! :-)"

Tuesday, December 21, 2004

Goodbye, Bill G. Hello, Don G.

You know, a little bit of me is happy that the Slate-MS link is finally being severed, but I am afraid its too late.

Slate NEEDS to be changed... back to what it was 3 years ago.

With the departure of Michael Kinsley, Slate became... MSNified. Too often, stuff that would appear on the front of MSN seems to show up in Slate. Tales of Britney Spears' nuptual exploits are not what should be in the "Arts and Life" section of a grown-up magazine. Coverage of the Donald Trump perfume is not what should be in the "Business" section of a grown up magazine. Add to that bringing in idiotic hacks like Mickey Kaus to fill a magazine formerly written by people like Kinsley and Crowley is an insult.

And while we are de-Microsofting it, can we go back to a layout where "MSN" is a a small brand insert rather than a stench of front loaded graphics heavy clutter that permeates the entire site? I guess not. They only got halfway there with Newsweek. It's a shame since WaPo's site is one of the best newspaper sites out there. Why they don't realize there web crew is better than BillG's is beyond me.

Architecture of the World Wide Web, Volume One

Architecture of the World Wide Web, Volume One: "Abstract

The World Wide Web uses relatively simple technologies with sufficient scalability, efficiency and utility that they have resulted in a remarkable information space of interrelated resources, growing across languages, cultures, and media. In an effort to preserve these properties of the information space as the technologies evolve, this architecture document discusses the core design components of the Web. They are identification of resources, representation of resource state, and the protocols that support the interaction between agents and resources in the space. We relate core design components, constraints, and good practices to the principles and properties they support."

Jonathan Schwartz is full of it

Jonathan Schwartz's Weblog: "And then I asked about IBM. And apparently they'd just been with OSDL, who'd evangelized that with open source, there was no lock in. When I pointed out that OSDL was led by a 17-year IBM veteran who should know better, the CIO started laughing as if I was joking. So I suggested they read the OSDL website, and revisit some software basics. IBM told him they couldn't get locked in with linux. And I said, 'nice vision, but Red Hat has you locked already.' The CIO shrugged, 'nah, it's open source.' My response, 'Have you tried replacing what you're deploying?' He asked his lieutenant, who said 'we can't get vendors to qualify to any distribution other than Red Hat. We don't have a choice. He's right.' IBM, up to its old tricks again."

Horseshit. One, it's a lie. BEA, IBM and Oracle all support at least 2 Linux distributions (Usually RedHat and SuSE). Novell still ships most of their products as "everything but the metal" packages, but their "Linux" products are supported on every damned distro known to man. Even Sun's own Java Application Server 8 (formerly SunOne, iPlanet, Netscape) support RHEL and Sun's own Java Desktop System. Not to mention aside from Sun, everyone supports 2 Linux distros across 3 or more hardware platforms!

However, the second fact remains that a major point of Red Hat "lock in" is missed: if Red Hat closed their doors tomorrow, "Red Hat Linux" would continue nearly unphased. Whether it's After-Life support or Red Hat clones or the fact that migrating to another distro doesn't really mean anything -- certainly not like migrating to another *nix -- in terms of support from vendors.

Monday, December 20, 2004

Mr T. Posted by Hello

Lego Gitmo.
Posted by Hello

Using the XML HTTP Request object

Using the XML HTTP Request object Clustering and Load Balancing in Tomcat 5, Part 1 Clustering and Load Balancing in Tomcat 5, Part 1: "Clustering and Load Balancing in Tomcat 5, Part 1
by Srini Penchikala

The latest version of the Tomcat servlet container provides clustering and load balancing capabilities that are essential for deploying scalable and robust web applications. The first part of this article provides an overview of installation, configuration, usage, and extension of clustering and load balancing features. The second will introduce a sample web application to demonstrate the steps involved in configuring Tomcat server instances to enable clustering, and will study session persistence using in-memory replication in the cluster environment."

Chris Justus - Server Side Guy: Google Suggest Dissected...

Chris Justus - Server Side Guy: Google Suggest Dissected...

Capturing Mouse Position

Capturing Mouse Position:
// Set Netscape up to run the "captureMousePosition" function whenever

// the mouse is moved. For Internet Explorer and Netscape 6, you can capture
// the movement a little easier.
if (document.layers) { // Netscape
document.onmousemove = captureMousePosition;
} else if (document.all) { // Internet Explorer
document.onmousemove = captureMousePosition;
} else if (document.getElementById) { // Netcsape 6
document.onmousemove = captureMousePosition;
// Global variables
xMousePos = 0; // Horizontal position of the mouse on the screen
yMousePos = 0; // Vertical position of the mouse on the screen
xMousePosMax = 0; // Width of the page
yMousePosMax = 0; // Height of the page

function captureMousePosition(e) {
if (document.layers) {
// When the page scrolls in Netscape, the event's mouse position
// reflects the absolute position on the screen. innerHight/Width
// is the position from the top/left of the screen that the user is
// looking at. pageX/YOffset is the amount that the user has
// scrolled into the page. So the values will be in relation to
// each other as the total offsets into the page, no matter if
// the user has scrolled or not.
xMousePos = e.pageX;
yMousePos = e.pageY;
xMousePosMax = window.innerWidth+window.pageXOffset;
yMousePosMax = window.innerHeight+window.pageYOffset;
} else if (document.all) {
// When the page scrolls in IE, the event's mouse position
// reflects the position from the top/left of the screen the
// user is looking at. scrollLeft/Top is the amount the user
// has scrolled into the page. clientWidth/Height is the height/
// width of the current page the user is looking at. So, to be
// consistent with Netscape (above), add the scroll offsets to
// both so we end up with an absolute value on the page, no
// matter if the user has scrolled or not.
xMousePos = window.event.x+document.body.scrollLeft;
yMousePos = window.event.y+document.body.scrollTop;
xMousePosMax = document.body.clientWidth+document.body.scrollLeft;
yMousePosMax = document.body.clientHeight+document.body.scrollTop;
} else if (document.getElementById) {
// Netscape 6 behaves the same as Netscape 4 in this regard
xMousePos = e.pageX;
yMousePos = e.pageY;
xMousePosMax = window.innerWidth+window.pageXOffset;
yMousePosMax = window.innerHeight+window.pageYOffset;

Holt Uncensored :: A Candid Look at Books and the Book Industry : Publishing News : Booksellers : Bookstores : Reviews Interviews

Ten Mistakes Writers Don't See (But Can Easily Fix When They Do)

Like many editorial consultants, I've been concerned about the amount of time I've been spending on easy fixes that the author shouldn't have to pay for.

Sometimes the question of where to put a comma, how to use a verb or why not to repeat a word can be important, even strategic. But most of the time the author either missed that day's grammar lesson in elementary school or is too close to the manuscript to make corrections before I see it.

So the following is a list I'll be referring to people *before* they submit anything in writing to anybody (me, agent, publisher, your mom, your boss). From email messages and front-page news in the New York Times to published books and magazine articles, the 10 ouchies listed here crop up everywhere. They're so pernicious that even respected Internet columnists are not immune.

The list also could be called, "10 COMMON PROBLEMS THAT DISMISS YOU AS AN AMATEUR," because these mistakes are obvious to literary agents and editors, who may start wording their decline letter by page 5. What a tragedy that would be.

So here we go:

Just about every writer unconsciously leans on a "crutch" word. Hillary Clinton's repeated word is "eager" (can you believe it? the committee that wrote "Living History" should be ashamed). Cosmopolitan magazine editor Kate White uses "quickly" over a dozen times in "A Body To Die For." Jack Kerouac's crutch word in "On the Road" is "sad," sometimes doubly so - "sad, sad." Ann Packer's in "The Dive from Clausen's Pier" is "weird."

Crutch words are usually unremarkable. That's why they slip under editorial radar - they're not even worth repeating, but there you have it, pop, pop, pop, up they come. Readers, however, notice them, get irked by them and are eventually distracted by them, and down goes your book, never to be opened again.

But even if the word is unusual, and even if you use it differently when you repeat it, don't: Set a higher standard for yourself even if readers won't notice. In Jennifer Egan's "Look at me," the core word - a good word, but because it's good, you get *one* per book - is "abraded." Here's the problem:

"Victoria's blue gaze abraded me with the texture of ground glass." page 202
"...(metal trucks abrading the concrete)..." page 217
"...he relished the abrasion of her skepticism..." page 256
"...since his abrasion with Z ..." page 272

The same goes for repeats of several words together - a phrase or sentence that may seem fresh at first, but, restated many times, draws attention from the author's strengths. Sheldon Siegel nearly bludgeons us in his otherwise witty and articulate courtroom thriller, "Final Verdict" with a sentence construction that's repeated throughout the book:

"His tone oozes self-righteousness when he says..." page 188
"His voice is barely audible when he says..." page 193
"His tone is unapologetic when he says..." page 199
"Rosie keeps her tone even when she says..." page 200
"His tone is even when he says..." page 205
"I switch to my lawyer voice when I say ..." page 211
"He sounds like Grace when he says..." page 211

What a tragedy. I'm not saying all forms of this sentence should be lopped off. Lawyers find their rhythm in the courtroom by phrasing questions in the same or similar way. It's just that you can't do it too often on the page. After the third or fourth or 16th time, readers exclaim silently, "Where was the editor who shoulda caught this?" or "What was the author thinking?"

So if you are the author, don't wait for the agent or house or even editorial consultant to catch this stuff *for* you. Attune your eye now. Vow to yourself, NO REPEATS.

And by the way, even deliberate repeats should always be questioned: "Here are the documents." says one character. "If these are the documents, I'll oppose you," says another. A repeat like that just keeps us on the surface. Figure out a different word; or rewrite the exchange. Repeats rarely allow you to probe deeper.

"He wanted to know but couldn't understand what she had to say, so he waited until she was ready to tell him before asking what she meant."

Something is conveyed in this sentence, but who cares? The writing is so flat, it just dies on the page. You can't fix it with a few replacement words - you have to give it depth, texture, character. Here's another:

"Bob looked at the clock and wondered if he would have time to stop for gas before driving to school to pick up his son after band practice." True, this could be important - his wife might have hired a private investigator to document Bob's inability to pick up his son on time - and it could be that making the sentence bland invests it with more tension. (This is the editorial consultant giving you the benefit of the doubt.) Most of the time, though, a sentence like this acts as filler. It gets us from A to B, all right, but not if we go to the kitchen to make a sandwich and find something else to read when we sit down.

Flat writing is a sign that you've lost interest or are intimidated by your own narrative. It shows that you're veering toward mediocrity, that your brain is fatigued, that you've lost your inspiration. So use it as a lesson. When you see flat writing on the page, it's time to rethink, refuel and rewrite.

Actually, totally, absolutely, completely, continually, constantly, continuously, literally, really, unfortunately, ironically, incredibly, hopefully, finally - these and others are words that promise emphasis, but too often they do the reverse. They suck the meaning out of every sentence.

I defer to People Magazine for larding its articles with empty adverbs. A recent issue refers to an "incredibly popular, groundbreakingly racy sitcom." That's tough to say even when your lips aren't moving.

In "Still Life with Crows," Douglas Preston and Lincoln Child describe a mysterious row of corn in the middle of a field: "It was, in fact, the only row that actually opened onto the creek." Here are two attempts at emphasis ("in fact," "actually"), but they just junk up the sentence. Remove them both and the word "only" carries the burden of the sentence with efficiency and precision.

(When in doubt, try this mantra: Precise and spare; precise and spare; precise and spare.)

In dialogue, empty adverbs may sound appropriate, even authentic, but that's because they've crept into American conversation in a trendy way. If you're not watchful, they'll make your characters sound wordy, infantile and dated.

In Julia Glass's "Three Junes," a character named Stavros is a forthright and matter-of-fact guy who talks to his lover without pretense or affectation. But when he mentions an offbeat tourist souvenir, he says, "It's absolutely wild. I love it." Now he sounds fey, spoiled, superficial.. (Granted, "wild" nearly does him in; but "absolutely" is the killer.)

The word "actually" seems to emerge most frequently, I find. Ann Packer's narrator recalls running in the rain with her boyfriend, "his hand clasping mine as if he could actually make me go fast." Delete "actually" and the sentence is more powerful without it.

The same holds true when the protagonist named Miles hears some information in "Empire Falls" by Richard Russo. "Actually, Miles had no doubt of it," we're told. Well, if he had no doubt, remove "actually" - it's cleaner, clearer that way. "Actually" mushes up sentence after sentence; it gets in the way every time. I now think it should *never* be used.

Another problem with empty adverbs: You can't just stick them at the beginning of a sentence to introduce a general idea or wishful thinking, as in "Hopefully, the clock will run out." Adverbs have to modify a verb or other adverb, and in this sentence, "run out" ain't it.

Look at this hilarious clunker from "The Da Vinci Code" by Dan Brown: "Almost inconceivably, the gun into which she was now staring was clutched in the pale hand of an enormous albino."

Ack, "almost inconceivably" - that's like being a little bit infertile! Hopefully, that "enormous albino" will ironically go back to actually flogging himself while incredibly saying his prayers continually.

Be careful of using dialogue to advance the plot. Readers can tell when characters talk about things they already know, or when the speakers appear to be having a conversation for our benefit. You never want one character to imply or say to the other, "Tell me again, Bruce: What are we doing next?"

Avoid words that are fashionable in conversation. Ann Packer's characters are so trendy the reader recoils. " 'What's up with that?' I said. 'Is this a thing [love affair]?' " "We both smiled. " 'What is it with him?' I said. 'I mean, really.' " Her book is only a few years old, and already it's dated.

Dialogue offers glimpses into character the author can't provide through description. Hidden wit, thoughtful observations, a shy revelation, a charming aside all come out in dialogue, so the characters *show* us what the author can't *tell* us. But if dialogue helps the author distinguish each character, it also nails the culprit who's promoting a hidden agenda by speaking out of character.

An unfortunate pattern within the dialogue in "Three Junes," by the way, is that all the male characters begin to sound like the author's version of Noel Coward - fey, acerbic, witty, superior, puckish, diffident. Pretty soon the credibility of the entire novel is shot. You owe it to each character's unique nature to make every one of them an original.

Now don't tell me that because Julia Glass won the National Book Award, you can get away with lack of credibility in dialogue. Setting your own high standards and sticking to them - being proud of *having* them - is the mark of a pro. Be one, write like one, and don't cheat.

Don't take a perfectly good word and give it a new backside so it functions as something else. The New York Times does this all the time. Instead of saying, "as a director, she is meticulous," the reviewer will write, "as a director, she is known for her meticulousness." Until she is known for her obtuseness.

The "ness" words cause the eye to stumble, come back, reread: Mindlessness, characterlessness, courageousness, statuesqueness, preciousness - you get the idea. You might as well pour marbles into your readers' mouths. Not all "ness" words are bad - goodness, no - but they are all suspect.

The "ize" words are no better - finalize, conceptualize, fantasize, categorize. The "ize" hooks itself onto words as a short-cut but stays there like a parasite. Cops now say to each other about witnesses they've interrogated, "Did you statementize him?" Some shortcut. Not all "ize" words are bad, either, but they do have the ring of the vulgate to them - "he was brutalized by his father," "she finalized her report." Just try to use them rarely.

Adding "ly" to "ing" words has a little history to it. Remember the old Tom Swifties? "I hate that incision," the surgeon said cuttingly. "I got first prize!" the boy said winningly. But the point to a good Tom Swiftie is to make a punchline out of the last adverb. If you do that in your book, the reader is unnecessarily distracted. Serious writing suffers from such antics.

Some "ingly" words do have their place. I can accept "swimmingly," "annoyingly," "surprisingly" as descriptive if overlong "ingly" words. But not "startlingly," "harrowingly" or "angeringly," "careeningly" - all hell to pronounce, even in silence, like the "groundbreakingly" used by People magazine above. Try to use all "ingly" words (can't help it) sparingly.

Once your eye is attuned to the frequent use of the "to be" words - "am," "is," "are," "was," "were," "be," "being," "been" and others - you'll be appalled at how quickly they flatten prose and slow your pace to a crawl.

The "to be" words represent the existence of things - "I am here. You are there." Think of Hamlet's query, "to be, or not to be." To exist is not to act, so the "to be" words pretty much just there sit on the page. "I am the maid." "It was cold." "You were away."

I blame mystery writers for turning the "to be" words into a trend: Look how much burden is placed on the word "was" in this sentence: "Around the corner, behind the stove, under the linoleum, was the gun." All the suspense of finding the gun dissipates. The "to be" word is not fair to the gun, which gets lost in a sea of prepositions.

Sometimes, "to be" words do earn a place in writing: "In a frenzy by now, he pushed the stove away from the wall and ripped up the linoleum. Cold metal glinted from under the floorboards. He peered closer. Sure enough, it was the gun." Okay, I'm lousy at this, but you get the point: Don't squander the "to be" words - save them for special moments.

Not so long ago, "it was" *defined* emphasis. Even now, if you want to say, "It was Margaret who found the gun," meaning nobody else but Margaret, fine. But watch out - "it was" can be habitual: "It was Jack who joined the Million Man March. It was Bob who said he would go, too. But it was Bill who went with them." Flat, flat, flat.

Try also to reserve the use of "there was" or "there is" for special occasions. If used too often, this crutch also bogs down sentence after sentence. "He couldn't believe there was furniture in the room. There was an open dresser drawer. There was a sock on the bed. There was a stack of laundry in the corner. There was a handkerchief on the floor...." By this time, we're dozing off, and you haven't even gotten to the kitchen

One finds the dreaded "there was/is" in jacket copy all the time. "Smith's book offers a range of lively characters: There is Jim, the puzzle-loving dad. There is Winky, the mom who sits on the 9th Court of Appeals. There is Barbie, brain surgeon to the stars...."

Attune your eye to the "to be" words and you'll see them everywhere. When in doubt, replace them with active, vivid, engaging verbs. Muscle up that prose.

"She was entranced by the roses, hyacinths, impatiens, mums, carnations, pansies, irises, peonies, hollyhocks, daylillies, morning glories, larkspur..." Well, she may be entranced, but our eyes are glazing over.

If you're going to describe a number of items, jack up the visuals. Lay out the the scene as the eye sees it, with emphasis and emotion in unlikely places. When you list the items as though we're checking them off with a clipboard, the internal eye will shut.

It doesn't matter what you list - nouns, adjectives, verbs - the result is always static. "He drove, he sighed, he swallowed, he yawned in impatience." So do we. Dunk the whole thing. Rethink and rewrite. If you've got many ingredients and we aren't transported, you've got a list.

If you say, "she was stunning and powerful," you're *telling* us. But if you say, "I was stunned by her elegant carriage as she strode past the jury - shoulders erect, elbows back, her eyes wide and watchful," you're *showing* us. The moment we can visualize the picture you're trying to paint, you're showing us, not telling us what we *should* see..

Handsome, attractive, momentous, embarrassing, fabulous, powerful, hilarious, stupid, fascinating are all words that "tell" us in an arbitrary way what to think. They don't reveal, don't open up, don't describe in specifics what is unique to the person or event described. Often they begin with cliches.

Here is Gail Sheehy's depiction of a former "surfer girl" from the New Jersey shore in "Middletown, America":

"This was a tall blond tomboy who grew up with all guy friends. A natural beauty who still had age on her side, being thirty; she didn't give a thought to taming her flyaway hair or painting makeup on her smooth Swedish skin."

Here I *think* I know what Sheehy means, but I'm not sure. Don't let the reader make such assumptions. You're the author; it's your charge to show us what you mean with authentic detail. Don't pretend the job is accomplished by cliches such as "smooth Swedish skin," "flyaway hair," "tall blond tomboy," "the surfer girl" - how smooth? how tall? how blond?

Or try this from Faye Kellerman in "Street Dreams": "[Louise's] features were regular, and once she had been pretty. Now she was handsome in her black skirt, suit, and crisp, white blouse."

Well, that's it for Louise, poor thing. Can you see the character in front of you? A previous sentence tells us that Louise has "blunt-cut hair" framing an "oval face," which helps, but not much - millions of women have a face like that. What makes Louise distinctive? Again, we may think we know what Kellerman means by "pretty" and "handsome" (good luck), but the inexcusable word here is "regular," as in "her features were regular." What *are* "regular" features?

The difference between telling and showing usually boils down to the physical senses. Visual, aural aromatic words take us out of our skin and place us in the scene you've created. In conventional narrative it's fine to use a "to be" word to talk us into the distinctive word, such as "wandered" in this brief, easily imagined sentence by John Steinbeck in "East of Eden." "His eyes were very blue, and when he was tired, one of them wandered outward a little." We don't care if he is "handsome" or "regular."

Granted, context is everything, as writing experts say, and certainly that's true of the sweltering West African heat in Graham Greene's "The Heart of the Matter": "Her face had the ivory tinge of atabrine; her hair which had once been the color of bottled honey was dark and stringy with sweat." Except for "atabrine" (a medicine for malaria), the words aren't all that distinctive, but they quietly do the job - they don't tell us; they show us.

Commercial novels sometimes abound with the most revealing examples of this problem. The boss in Linda Lael Miller's "Don't Look Now" is "drop-dead gorgeous"; a former boyfriend is "seriously fine to look at: 35, half Irish and half Hispanic, his hair almost black, his eyes brown." A friend, Betsy, is "a gorgeous, leggy blonde, thin as a model." Careful of that word "gorgeous" - used too many times, it might lose its meaning.

"Mrs. Fletcher's face pinkened slightly." Whoa. This is an author trying too hard. "I sat down and ran a finger up the bottom of his foot, and he startled so dramatically .... " Egad, "he startled"? You mean "he started"?

Awkward phrasing makes the reader stop in the midst of reading and ponder the meaning of a word or phrase. This you never want as an author. A rule of thumb - always give your work a little percolatin' time before you come back to it. Never write right up to deadline. Return to it with fresh eyes. You'll spot those overworked tangles of prose and know exactly how to fix them.

Compound sentences, most modifying clauses and many phrases *require* commas. You may find it necessary to break the rules from time to time, but you can't delete commas just because you don't like the pause they bring to a sentence or just because you want to add tension.

"Bob ran up the stairs and looking down he realized his shoelace was untied but he couldn't stop because they were after him so he decided to get to the roof where he'd retie it." This is what happens when an author believes that omitting commas can make the narrative sound breathless and racy. Instead it sounds the reverse - it's heavy and garbled.

The Graham Greene quote above is dying for commas, which I'll insert here: "Her face had the ivory tinge of atabrine; her hair, which had once been the color of bottled honey, was dark and stringy with sweat." This makes the sentence accessible to the reader, an image one needs to slow down and absorb.

Entire books have been written about punctuation. Get one. "The Chicago Manual of Style" shows why punctuation is necessary in specific instances. If you don't know what the rules are for, your writing will show it.

The point to the List above is that even the best writers make these mistakes, but you can't afford to. The way manuscripts are thrown into the Rejection pile on the basis of early mistakes is a crime. Don't be a victim.

High availability Tomcat

High availability Tomcat: "Connect Tomcat servers to Apache and to each other to keep your site running

If you run only one instance of Tomcat, you lose requests/sessions whenever you upgrade or restart your site. In this article, author Graham King presents simple steps for connecting a pair (or more) of Tomcats to Apache using the JK2/AJP (Apache JServ Protocol) connector and to each other using Tomcat 5's clustering capabilities. Any of the Tomcat servers can be stopped or started without affecting users. With an Apache/Tomcat cluster in place, you can easily adjust your configuration for a range of load-balancing and failover scenarios. (2,000 words; December 20, 2004)"

Neat client bit for javascript

dwr: DWR (Direct Web Remoting) is an XML-RPCish system that lets you invoke java methods on a server from JavaScript clients.

Ninja Please

Backupninja, handy backup stuff for nixy backups.

Chicken Head Hacking

Found this looking around for stuff.

Chicken Head

Ellsworth and the C=64 joystick getting play in the times.

The New York Times > Technology > A Toy With a Story
December 20, 2004
A Toy With a Story

YAMHILL, Ore. - There is a story behind every electronic gadget sold on the QVC shopping channel. This one leads to a ramshackle farmhouse in rural Oregon, which is the home and circuit design lab of Jeri Ellsworth, a 30-year-old high school dropout and self-taught computer chip designer.

Ms. Ellsworth has squeezed the entire circuitry of a two-decade-old Commodore 64 home computer onto a single chip, which she has tucked neatly into a joystick that connects by a cable to a TV set. Called the Commodore 64 - the same as the computer system - her device can run 30 video games, mostly sports, racing and puzzles games from the early 1980's, all without the hassle of changing game cartridges.

She has also included five hidden games and other features - not found on the original Commodore computer - that only a fellow hobbyist would be likely to appreciate. For instance, someone who wanted to turn the device into an improved version of the original machine could modify it to add a keyboard, monitor and disk drive.

Sold by Mammoth Toys, based in New York, for $30, the Commodore 64 joystick has been a hot item on QVC this Christmas season, selling 70,000 units in one day when it was introduced on the shopping channel last month; since then it has been sold through QVC's Web site. Frank Landi, president of Mammoth, said he expected the joystick would be distributed next year by bigger toy and electronics retailers like Radio Shack, Best Buy, Sears and Toys "R" Us. "To me, any toy that sells 70,000 in a day on QVC is a good indication of the kind of reception we can expect," he said.

Ms. Ellworth's first venture into toy making has not yet brought her great wealth - she said she is paid on a consulting basis at a rate that is competitive for her industry - "but I'm having fun," she said, and she continues with other projects in circuit design as a consultant.

Her efforts in reverse-engineering old computers and giving them new life inside modern custom chips has already earned her a cult following among small groups of "retro" personal computer enthusiasts, as well as broad respect among the insular world of the original computer hackers who created the first personal computers three decades ago. (The term "hacker" first referred to people who liked to design and create machines, and only later began to be applied to people who broke into them.)

More significant, perhaps, is that in an era of immensely complicated computer systems, huge factories and design teams that stretch across continents, Ms. Ellsworth is demonstrating that the spirit that once led from Silicon Valley garages to companies like Hewlett-Packard and Apple Computer can still thrive.

"She's a pure example of following your interests and someone who won't accept that you can't do it," said Lee Felsenstein, the designer of the first portable PC and an original member of the Homebrew Computer Club. "She is someone who can do it and do it brilliantly."

Ms. Ellsworth said that chip design was an opportunity to search for elegance in simplicity. She takes her greatest pleasure in examining a complex computer circuit and reducing it in cost and size by cleverly reusing basic electronic building blocks.

It is a skill that is as much art as science, but one that Ms. Ellsworth has perfected, painstakingly refining her talent by plunging deeply into the minutiae of computer circuit design.

Recently she interrupted a conversation with a visitor in her home to hunt in between the scattered circuit boards and components in her living room for a 1971 volume, "MOS Integrated Circuits," which she frequently consults. The book concerns an earlier chip technology based on fewer transistors than are used today. "I look for older texts," she said. "A real good designer needs to know how the old stuff works."

Several years ago Ms. Ellsworth cornered Stephen Wozniak, co-founder of Apple Computer, at a festival for vintage Apple computers and badgered him for the secrets of his Apple II floppy disk controller.

"I was very impressed with her knowledge of all this stuff, and her interest too," recalled Mr. Wozniak, whose fascination with hobbyist computers three decades ago helped create the personal computer industry.

She attributes her passion for design simplicity to her youth in Dallas, Ore., 35 miles south of Yamhill, where she was raised by her father, Jim Ellsworth, a mechanic who owned the local Mobil station.

She became a computer hobbyist early, begging her father at age 7 to let her use a Commodore 64 computer originally purchased for her brother, and then learning to program it by reading the manuals that came with the machine.

In a tiny rural town without access even to a surplus electronics store, her best sources of parts were the neighborhood ham radio operators. She learned to make the most of her scarce resources.

"It goes back to necessity," she said. "It went back to not having enough parts to design with when I was a kid."

Her first business foray came during high school when she began designing and selling the dirt-track race cars that she had been driving with her farther. Using his service station as a workshop, she was soon making so much money selling her custom race cars that she dropped out of high school.

It was fun for several years, she said, but eventually she decided that she needed to get away from the race car scene. A friend had an early Intel 486-based PC and thought they could make money assembling and selling computers. She decided he was right: "I looked at the margins and it seemed like a great way to make money."

They went into business together in 1995, but soon had a falling out and split up. For a short time Ms. Ellsworth considered leaving the computer business. Instead, she opened a store near that of her former partner, then drove him out of business. Ultimately her store became a chain of five Computers Made Easy shops in small towns.

"My business model was to find areas that were far enough away from the big cities where the larger stores were," she said. "I could generate a lot of loyalty and charge a bit more. It worked out well for quite a while."

Eventually, the collapsing price of the PC made it impossible to survive, she said, and in 2000 she sold off her stores.

"When the machines got down to $75 margins, then even putting a technician on the phone to answer a question meant you were almost losing money," she said.

Free from her business obligations, she decided to return to her first love - hobbyist electronics. She was eager to study computer hardware design, but soon found that there weren't many options for a high school dropout.

She moved to Walla Walla, Wash., and began attending Walla Walla College, a Seventh Day Adventist school that offered a circuit design program. Her attempt at a formal education lasted less than a year, however. She was a cultural mismatch for the school, where she said questioning the professors' answers was frowned upon.

"I felt like a wolf in sheep's clothing," she said.

On her own again, Ms. Ellsworth decided to pursue her passion, designing computer circuits that mimicked the behavior of her first Commodore. She turned to a series of mentors and availed herself of free software design tools offered by chip companies.

Her hobby produced a chameleon computer called the C-1. Changing its basic software could make it mimic not only a Commodore 64, but ultimately more than nine other popular home computers of the early 1980's, including the Atari, TI, Vic and Sinclair.

Two years ago she showed it off at the Hackers' Conference, an annual meeting of some of the nation's best computer designers. To her surprise, she received a rousing ovation - and a series of job offers.

One person who took notice was Andrew Singer, a computer scientist who is chief executive of Rapport Inc., a start-up based in Mountain View, Calif.

Mr. Singer contracted with Ms. Ellsworth as a consultant and has since found that she has abilities that engineers with advanced degrees often do not.

"It's possible to get a credential and not have passion," he said. He compared Ms. Ellsworth to Mr. Wozniak and to Burrell Smith, the hardware designer of the original Macintosh. Neither had formal training when they made their most significant contributions at Apple.

Ms. Ellsworth was also discovered by Mammoth toys, which hired her to design the Commodore-emulating chip for the joystick. She began the project late last June and finished, including a frantic last-minute trip to a Chinese manufacturing factory, in early September - a design sprint fueled by Mountain Dew and 20-hour days.

"It worked out tremendously well for our company," said Mr. Landi, president of Mammoth. "It has entirely changed the way we design electronic toys." He said that he has signed Ms. Ellsworth up for a series of design projects, although he would not divulge the financial details.

Old-fashioned video games like the ones on Ms. Ellsworth's product have become less common recently because kids have grown jaded and expect a "wow" factor, like intense graphics or realistic images that older computers could not produce, said Shyam Nagrani, principle consumer electronics analyst for iSupply, a market research firm based in El Segundo, Calif. He added, however, "The parents are likely to pick this up and say, 'Why not? The kids may like it.'"

When the C64, as the joystick is called informally, appeared on QVC last month, Ms. Ellsworth watched with obvious pride.

"It was one of one of the best projects I've ever done in my life," she said. "It was a tribute back to the computer that started it all for me."

XUL Apps > ContextMenu Extensions - outsider reflex

XUL Apps > ContextMenu Extensions is pretty damned sweet. This is basically the only Firefox extention you will ever need. It basically gives you the ability to take JavaScript and stick it into your browser anywhere you want. It handles all the XUL you never wanted to learn so you can write that one stupid little utility you want.


Collateral is out of DVD and just damned good. Aside from being a generally good movie, and yet another example of Jamie Foxx impressing me, the soundtrack is just amazing. I went an looked it up on Amazon about half way through the movie I was already so impressed.

One of the user comments mentioned the "Miami Vice" soundtrack, and I have to say, that is a pretty keen observation. Michael Mann has finally come up with the goods again. Speaking of which, I noticed there is a Vice movie slated for 2006 on IMDB. Not sure about that one.

Otaku, Cedric's weblog: Tim Bray at JavaPolis

Cedric echoes my opinion on Python...

Otaku, Cedric's weblog: Tim Bray at JavaPolis:
The presentation is overall interesting but not very innovative. Tim compares the number of lines and characters used to solve a simple problem and draws a number of conclusions. The one I disagree the most with is his assertion that Python is more object-oriented than Java. "Almost irritatingly so", he says, arguing that sometimes, Python is "too" object-oriented for his taste.

I am still scratching my head at this, and it's hard for me to understand how you can tell that Python is very object oriented when:

* You need to pass "self" as a parameter to all your methods... Does this remind you anything? Right, that's how we "simulated" object-orientation in C, by passing the address of the current object in first parameter. If anything, this shows that Python is not object-oriented, and this flaw is a simple illustration of Python's old age (it was not object-oriented when it was created, more than fifteen years ago).

* You can't pass messages to, say, strings, as you can in Java, Ruby or Groovy ("foo".size()). Writing code in Python usually ends up being a mix of imperative and object-oriented calls that doesn't always follow any logic.

Python is a fine language but overall, I am quite surprised by the amount of misconceptions that people have about it, and Tim is certainly not the first one falling under Python's spell. I chatted with Tim after his talk and he admitted not being a very proficient Python programmer... Mmmh.

Sunday, December 19, 2004