Three Beginnings Make a Story

When telling a story, it’s important to know where to begin. Do you start at the temporal beginning, the moment when, confronted with an idea so mind-bogglingly awesome, so blindingly obvious in retrospect that it must be the work of genius that you lose the power of speech? Or do you start at the other end, a day later, with the moment of truth when that idea faces reality and your own personal test begins? Or do you approach the story sideways, beginning with the thought that defines what it all means?

Or do you find three sentences, one for each of those moments, and let them tell the entire story — a tiny play in three acts:

“Peanut butter banana bread,” she said.

She set the two slices of banana bread — one chocolate, the other peanut butter — in front of me and said, “I really need you to be objective for a minute.”

I laughed and said, “I didn’t think I could love you more than I already did until you said, ‘peanut butter banana bread.'”

4

Party Rats

I am typing this with plastic rats on my fingers. They click together now and then, but they do add a certain special something to the night-blogging experience, just like the packaging said they would.

Actually, the package said they would be “perfect for raves and night blogging.” There are few things that can claim to be even tolerable in both those situations, but here we have the Finger Rats. There are five rats, five colors, each beaming a different color of light out its nose.

I don’t know how I ever got by without them.

Party Rats

Party Rats in Action

6

Jer’s Novel Writer 1.1.10 Released!

It’s a big milestone for me, getting back on track maintaining Jer’s Novel Writer. For those of you who are not familiar with it, JersNW is a word processor with features to help my scattered thoughts fall into some sort of coherent form. It’s based on three principles:

  1. When I get an idea, I want to be able to jot it down without losing my train of thought.
  2. I don’t want to have to remember stuff, and when I need to find something I wrote before I can look it up without getting caught up in the part of the story where it happened.
  3. When I’m stuck on a line or know it could be better, or need to check a fact, or need to track continuity, I can flag it and know I’ll be able to get back to it later.

There are features to help with the mechanics of writing as well (drag-and-drop chapters, flexible database, and so forth), but mainly I just want to keep my momentum when the creative juices are flowing and know that when nitty-gritty time comes I’ll find the places that need attention. Man that’s liberating.

If you’re interested, you can learn more at Jer’s Software Hut. Enjoy!

Oh yeah, it’s Mac-only.

3

Jer’s Software Hut Returns!

Deep below the Earth’s surface, in a steaming chamber somewhere between the Hayward and San Andreas faults, there is motion in the dancing shadows cast by the guttering torchlight. Dark, twisted creatures stir. They move slowly, their once-lean haunches soft from months of torpor. They shamble from their stony sleeping-nooks into the work chamber, and one by one they take their accustomed positions on the capstans. The great wheels resist at first, then start to turn with a shriek that slowly fades to a rumble.

From the throats of the horde comes a deep ululation punctuated by coarse barks, a sound that reverberates through the chamber until it has no source, merely presence. It is enough to weaken the knees of even the stoutest hero, a sound to chill the most stalwart heart.

The creatures are singing.

Though fearsome in sound, it is joy they express; the sublime joy of one who had no purpose being useful again. Far above them, in a peaceful neighborhood San Jose, those turning capstans once more power the forges and shrieking spark-throwing wheels of Jer’s Software Hut.

On the slab in the middle of the laboratory a figure stirs; what once was dead now breathes again.

2

Doing a Shoot Tonight!

Here’s a shot of the set (without lights). Can you guess what the theme is?

Pirate Set

Set for tonight's shoot with Harlean Carpenter

4

A Measurement Rant

You’ve all seen this:

1 in = 2.54cm

The only problem is, that’s wrong*. This may seem nit-picky, but understanding why the above is wrong can uncover some clever ways people deceive others (and themselves).

“But everyone knows an inch is 2.54 centimeters,” I hear you say. Hold on a second there, Sparky! Let’s back up. An inch is a measurement. Let’s say I measure a piece of wood and find that it’s 57 inches long. Now I want to know how many centimeters it is. I multiply by 2.54 and discover that the wood is 144.78 centimeters long. So where’s the problem?

The issue is that I measured my stick to the nearest inch, and now through the magic of conversion I claim that I know how long that wood is down to a tenth of a millimeter. The idea that I could get that sort of precision with my tape measure is silly, yet people do this all the time. On road signs you’ll see “Exit 4 mi (6.4 km)”. Is the sign really accurate to 100 meters? That’s a tough assumption to swallow given the first measure is only accurate to the nearest mile.

A rule to remember: when you do a unit conversion, the result is always less precise than your original measurement. Always.

Here’s what your conversion table should read (although this isn’t quite perfect either):

1.00 in = 2.54cm

What’s the difference? Remember that an inch is a measurement. The number of decimal places indicates how exact the measurement is. If I measure something down to a hundredth of an inch, I can (usually) justify claiming precision to three significant figures after I make the conversion. So, if I measure my stick to be 57.0 inches, I can reasonably represent it as 145 centimeters long. The error of a tenth of an inch in the first measure is smaller than the error of one centimeter in the second, so I’m all right. 57.00 inches = 144.8cm.

The people who put things like “1 inch = 2.54cm” into textbooks will claim, “What we actually mean is that exactly one inch equals 2.54 centimeters.” The only problem is, That’s wrong too. First, with measurements there’s no such thing as exact. Every measurement contains error. Always. 1.0000000 inches is not the same as exactly one inch. Second, for almost every comparison of measurements in different systems, the conversion factor itself is not exact. An ounce is not 29.57 milliliters. It’s not 29.5735 ml.

So why does this matter? Ask yourself, how much product is in that bottle or can of your favorite beverage? 12oz or 355ml? In this case, we hope that the more precise measure is applicable. It would be informative if the bottler used 12.0oz rather than just 12; you know the Coca-Cola bottling company knows to great precision how much less than 12oz they can put in a can and still label it 12oz. Technically (though perhaps not legally), 11.50000001 oz could be labeled as 12, but that would not be anywhere close to 355ml.

This sloppiness with units is frightfully common. Even scientific papers with measurements in them sometimes don’t include the margin of error in the measurements – which makes the number pretty meaningless.

Don’t be fooled by false precision! Often it’s harmless, but even subtly it can give the impression that the peple who made the measurements are far more diligent than they actually were. This can give their arguments extra weight, without you even realizing it.

* It turns out I picked a bad example – in 1959 they redefined the inch to make this true. Go figure — the inch is metric now. See the comments below. So, as a unit, the conversion is correct. This has no effect on how you use the conversion in real life. I may go back and change this episode to use a better example.

4

Winners Announced

Congratulations to Dries Coomans for taking top honors in this spring’s Cyberspace Open. His piece bent the rules a smidge, but was a powerful bit of writing. Personally I preferred the second-place entry by Lisa Scott, but it was a tough call.

With luck maybe we’ll be seeing those names again, on the big screen!

2

Sweating in Style

“I will always love you more than anything,” my sweetie said, “but this is close.”

Just what is it that is threatening to usurp my position at the pinnacle of my sweetie’s affection? Another man? A cute dog? Nope. An exercise machine. It all started a while back when we decided that we needed to get more aerobic exercise on days we didn’t get over to the exercise room at my sweetie’s folks’ place.

(“We” in this episode is a slippery concept; while on paper there were two of us involved in the decision, one of us (won’t say which) did pretty much all the thinking and deciding, while the other’s role was agreeing. We all know how onerous that can be.)

My sweetie went online and found what appeared to be an excellent deal on a compact elliptical trainer. It arrived in its great big box and we assembled the thing eagerly. “Wow!” we thought, “for that price, this thing is excellent!”

In fact, we were absolutely right. We started using the machine regularly, and more-or-less wore it out. There was a design flaw where one of the bolts on the pedals should have been left-handed, and the pedal would come loose. Things got bent, and eventually more parts started failing. It just wasn’t sturdy enough for the amount of use it got in our home. We decided it was time to upgrade, and off to the stores we went.

We wound up at Sears, who carries a selection of NordicTrack equipment. We were looking over what the store had to offer, and it turned out that the local repair guy was there at the same time, tuning up the floor models. He was a friendly guy, and he told us about the machines from a repair man’s perspective, with no vested interest in what we bought. (In fact, now that I think of it, he would probably benefit more if we bought a less reliable machine.) He also showed us that some of the machines folded up. We looked at one of the machines he liked in the folded configuration and I said (quite wrongly), “That’s about the same size as the one we have now.”

We bought it.

Our Elliptical Trainer, Fully Deployed

Our Elliptical Trainer, Fully Deployed

It’s pretty large. The first problem was that the box didn’t fit in our car. Not even close. So the friendly Sears guys unpacked the whole thing and loaded the machine piece-by-piece into the car. (“Friendly” in the above is not just a throw-away adjective, they were really nice.) Even so, it was a trick getting one large component into the back of the car. Of course, once home, we had to lug all those parts up the narrow stairs and into our apartment. Getting a good workout already!

I assembled it with only a small amount of cursing (the electronic console is still a little loose), and we beheld our new machine. “It looks a lot bigger than it did in the store,” I said. We rearranged some furniture in the bedroom and wheeled the beast in. It fit just right in its corner. Now came the big test.

Our Trainer, Tucked Away

Our Trainer, Tucked Away

This thing is AWESOME! Smooth and solid and quiet. It doesn’t make my knees sore. It does make me sweat and my heart beat faster. My sweetie will spend an hour on it, some days, and always more than 30 minutes. Me, I’m in for twenty minutes just about every day, cruising along and catching up on my “Wait, Wait, Don’t Tell Me” podcasts (I’m up to January of this year). Just exercising and chuckling at the funny radio guys. It’s a nice way to take a break.

Yep, burning calories at an accelerated rate now qualifies as “taking a break”. That’s pretty sweet. We have both been using the machine regularly for a few months now.

One word of advice to those who might consider the NordicTrack E5Vi Elliptical trainer: go ahead and spring for the AC adapter unless you’re absolutely certain you won’t be using the built-in fan (but you will anyway). My one quibble with this device: You have to remove the battery compartment door to plug in the AC adapter. Now there’s a tiny screw and a plastic door to keep track of in a drawer somewhere.

1

The Windup Girl

A while back I put up an episode called “Something New to be Afraid Of“, in which I wondered out loud about the power that agribusiness is gaining through genetically modified foods. I didn’t realize at the time that Paolo Bacigalupi was way ahead of me, not just in time but also in fear level.

The Windup Girl by Paolo Bacagalupi takes place in the future, after fossil fuels have been nearly exhausted. Agriculture is now one of humanity’s main sources of energy as well as how we feed ourselves. The crash from the energy-intensive civilization we enjoy today was swift and brutal. Once-great nations have been nearly depopulated, and hunger is everywhere. Genetic modification is one of the primary tools mankind is using to survive. For instance, we have genetically modified animals that are very efficient at converting vegetable calories into useful work. Many humans are used this way as well, and would not eat otherwise.

Genetic modification is also making things much worse. Where I worried about companies manipulating markets, forcing farmers to buy their seed stock year after year, in The Windup Girl agribusiness has gone the next logical step: unleashing plagues on countries that refuse to do business with them, plagues that only their products are immune to. Whole families of plants are now extinct (there are no peppers, no tomatoes anywhere in the world). Seed banks have been destroyed in the social upheaval and many plants are irrevocably lost. In the words of one “calorie man” in a moment of hubris, “I’ve been inoculated for diseases that haven’t been released yet.”

Man’s tinkering is not limited to plants; there now exists a breed of supercat than can change color and become almost invisible. House cats are now extinct and there are few birds left. Perhaps the lesson of the cats is why modified humans are sterile.

Tucked away in a far corner of the globe, one tiny nation has managed to resist the agricultural conglomerates. Thailand’s independence was hard-won; the people of the country must be prepared to raze villages and quarantine thousands, burn entire crops and even forests, to keep the plagues at bay. Now times are changing. International trade is picking up, and internally the ministry charged with protecting Thailand is suffering for its own success, becoming marginalized.

In Thai street markets, plants long thought lost are starting to reappear. The only possible conclusion: Somewhere they have a seed bank, a treasure of incalculable value (especially to agribusiness).

This story contains a whole bunch of conflicts, between old and new, survival and altruism, pride and duty. The characters are complex and interesting, from the Calorie Man sent from one of the big agricultural companies, to the wily Chinese man just scraping by but always hoping to get back on top, to the cast-aside New Person, a genetically modified woman whose life, well, sucks. Then there’s Kanya with her divided loyalties, who must make a decision that will echo for eternity. Add corrupt politicians, a powerful slum lord, mutating plagues, and a rogue genetic engineer, and you’ve got yourself a fine stew.

Everyone in this story has tragedy in their pasts. Entire families massacred or lost to disease. They are not exceptional; to live in this world is to live with tragedy. Thailand’s past, its history and legends, remain current and meaningful, and inform the actions of the principals in really interesting ways, becoming a template for how once more the Thai must stand against a much more powerful foe.

These are not gentle times, and not gentle people. When things get ugly the author does not pull his punches, including graphic (but heartbreaking) depictions of sexual humiliation visited upon Emiko, the windup girl. The writing is powerful at times, always clear, and the characters change organically, adjusting to circumstances and learning, without needing any sort of epiphany or magic wand to propel them.

I did have a couple of quibbles, in particular: Where are the windmills? It seems like every derelict tower in Bangkok would have a big ‘ol windmill on the top, and the dike keeping the much-higher ocean at bay would be lined with them. Solar panels would be everywhere as well.

In the big picture those things didn’t matter that much; this was a fine read, a real page-turner with language that wasn’t afraid to get down into the gutter with its characters. I really enjoyed it.

Wow – did I just write an entire book episode and talk only about the book? Can this be? Of course not. Let’s talk about sequels.

While I look forward to the next novel Mr. Bacigalupi writes, I hope it’s not a sequel to this one. Well, let me rephrase that. I find the world he’s created to be fascinating and I’d love to visit it again, but a sequel to this story would face problems similar to sequels for The Matrix (should anyone be so foolish as to attempt one). IF there was a sequel to The Matrix (or, God forbid, two of them), the first thing the writer would have to do would be to limit the power Neo had at the end of the first movie. Essentially they would have to rewind the story a little, revoke the payoff of the first movie, and pretend his dramatic little speech never happened. Otherwise the fight between Neo and the Agents would not be compelling – and, let’s face it, Agent Smith makes that movie. Overwriting the end of the first film would be a cheap-ass thing to pull off, so I’m glad no one has tried.

While such a gimmick would not be so immediate in The Windup Girl Goes goes to Omaha, a genie or two have been let out of their bottles, and it would be lame to try to stuff them back in. So, “sequel” as a continuation of this story – I hope not. “Sequel” as an exploration of the changing world set in motion by the events in this book, I wholeheartedly look forward to.

Larger-than-usual disclaimer: I have met the author of this book, and he seemed like a good guy, so I might be a little biased. My bias is expressed in that had I not liked the book, I might not have reviewed it. No worries in this case.
If you use the above link to buy this book (or a Kindle, or a new car), I get a kickback.

1

CSI: Miami – Live blogging!

10:01 – Hip-hop! inner city. In eight hours a gun will be fired.
10:02 – Hoop-playing cops grab their guns and join a car chase on foot! Crime Scene Investigating cops, no less.
10:03 – Crime Scene Investigation is there for a routine stop in progress. Caruso in sunglasses! Happened to be in the neighborhood.
10:04 – Sunglasses off!
10:04 – Sunglasses back on! Oh, and a body in the trunk. Good thing DC was there.

During the credits, here, I’ll explain. We sometimes watch CSI: Miami. I enjoy mocking it, my sweetie enjoys mocking it and watching David Caruso. Tonight, with my sweetie as my spotter, I will bring you a blow-by-blow of tonight’s gripping episode.

It might be necessary to come up with some shorthand. DCSoff means David Caruso sunglasses off, DCSon means, obviously, on.

10:05 – according to Crestor’s animators, arterial plaque looks like bacon.

10:08 – DCoff tells the tech to document everything. Good advice, since that’s his job.
10:10 – first esophagus shot of the night!
10:11 – Matching humvees! Two people in two huge cars.
10:12 – Mrs. Olsen does not like the police. A suspect who insists on due process? On this show? Must be a fluke.
10:14 – Kicking the fuckin’ door open to take fiberglass samples!
10:15 – Crime scene investigators pawing everything! Even the bad guys’ gloves! (Thought that might give one of them an idea.) Touch each item once and throw it back down. Standard procedure.
10:16 – Talk about timing. The meth lab explodes!

Another commercial break as flames sweep over the heads of our really awful crime scene investigators.
10:18 – my sweetie drinks wine from the bottle for the first time!
I think we will need a shorthand for when DC takes his shades off on camera.

10:20 – house is trashed, so no one will know what bad investigators they were
10:20 – DCoff saves the day! Lifts the beam. Good thing he was in the neighborhood. Again. (Sweetie says they had already called him, so I guess the writers get a pass on this one.)
10:21 – DC without sunglasses – in the day, outdoors!
10:23 – I say Mrs. Olsen is running the meth lab!
10:24 – Hm. might be wrong already.
10:25 – Crime Scene Investigators go on a drug raid! ‘Cause, you know, that’s what they do.
10:26 – Time bombs! It’s a trap!!!!!! – Because they happen to know when the police will be there. Oooohh – elaborate triggered timers that couldn’t possibly go wrong.
10:27 – Nice shootin’ Tex!
10:28 – In the luxury interrogation suite – Crime Scene Investigators grilling a suspect! Because that’s what they do.
10:29 – DCoff emotes!
10:30 – Super-glamorous crime lab scene! Nice that the doc had a full-color printout handy.
10:31 – Second esophagus shot!

Going into the break without anything on fire.
Ah, Local news, how I love you.

10:36 – out of the break with slow motiong explosions, then a lab tech listening to music. Wait – wasn’t that lab tech canvassing a neighborhood earlier?
10:37 – Lab tech in denial after being in a blast. Side drama!
10:38 – “I heard you wanted evidence about the blast in the meth house.” No shit, Sherlock – THAT’S MY JOB!
10:38 – Sure, put the evidence in the clean room – AFTER I tear open the bag and take out the most important item.
10:38 – Back in the luxury crime scene offices.
10:41 – super slo-mo of the maid being beaten for reading her bible. No ambiguity of good and evil there!
10:42 – Crime Scene Investigators (and a helicopter!) going to make an arrest! Because that’s what they do. Oh, yeah, send the coroner, too.
10:43 – DCon->off! “That’s not the whole truth, my friend.”
10:43 – Montage! Work that pipette, baby!
10:44 – A machine beeps. We have an answer.
10:45 – DCoff takes us to commercial: “Natalia, Nothing is impossible.”

CSI: Miami – new night, same shades! (Those are the promo’s words, not mine.)

10:49 – DCoff teaching the forensics lab guys how to do forensics lab work!
10:50 – Suspect slow-motion pacing in the crime lab chicken-wire holding pen.
10:51 – Still pacing. Machines beep and whir.
10:52 – grisly crime reenactment.
10:53 – Full confession! Once again the CSI boys, in their secondary role as interrogators, find a suspect who does not ask for due process of law.
10:54 – Oh, snap!
10:55 – hearing trouble in the super-high-tech designer CSI lab. Flashbacks! Fire! Never mind you look like Lindsey Lohan’s big sister, it’s ok.
10:56 – People go to jail. No lawyers anywhere. The courts are implied, I suppose, but not really.
10:57 – DCoff understands. He’s going to get the illegal immigrant into school. Like this: “You’re going to school.” He puts his sunglasses on. Fade to black.

Switch channel: ANOTHER CSI: Miami! A modest boat ran into a highway bridge and brought it down! Concrete crumbling! A couple (girlfriend: bitchy) plunges into the drink! Whoever built the damn bridge is the one who should be going to jail in this one.

OK, so I’m not going to be giving a blow-by-blow on this one, although it’s starting out to be quite a bit more mockworthy than the previous. I will point out the most ridiculous elements, however.

11:06 – The witnesses say the boat was aiming at the bridge! Oh, wait, the pilot was dead. But seriously – who the hell built that bridge?
11:12 – DCoff knows the wheel base of every car without looking it up!
11:14 – database (that chirps) knows where all recent carp releases have occurred.
11:16 – chemically sensitive evidence goes into a manila envelope. DC’s sunglasses around his neck! What the hell does that signify? We’re going into uncharted waters, here.

11:18 – More wine! On a side note, got some wine cheap at Big Lots called Earth Wise. I have to say, those hippies can make a nice vino!

11:20 – “I’ll process this at CSI and see if I can get any prints.” Translation: “I’m off to do my job, then.”
11:21 – “Murder trumps the bridge”
11:22 – “It looks like over three million in jewelry. I’m going to need two more officers.” Because the warranty for each officer is only good for one mil in stones.
11:24 – a totally needless montage about making diamonds.
11:25 – a laboratory emerald is apparently not as hard as a natural emerald. Huh.
11:25 – “I happen to have the appraisal of the gems sitting here on this table…”

A moment here, during this break after we watched a named character die, to reflect on what makes CSI: Miami so fun to mock. Now is the time because despite the inherent ballsiness of killing a named character, the humor comes from the fundamental laziness of the scripts. Let’s face it, a crime scene investigator was in a place where no CSI wonk would have been in the first place. Caruso is doing a pretty good job of it, not getting too histrionic, but they’re going to make a deal of Speed not being prepared for the situation which is my point exactly.

11:38 – TV computers never cease to amuse me.
11:39 – Will she ask for a lawyer? Will she? Will she? No.
11:40 – she must be innocent; the soulful music started after she spoke.

Another break, more about writer laziness. Suspects confessing to lesser crimes to move the plot along would never, ever happen in real life, but once a week multiple suspects send themselves to prison to make the writer’s life easier.

11:47- “It only happens in Hell’s Bay” – luckily they had a nice graphic in the computer ready to go (with chirping sounds). As usual.

11:50 – DCoff(outdoors) wades into shark-infested water to save a boy in no danger, just to finish as the squad cars arrive. Sharks don’t fuck with David Caruso. And David Caruso can’t wait five friggin’ minutes for support to rescue a boy from sharks who’s not in the water. Another form of laziness, false drama. Unnecessary heroism concluded just as the people who would make the act simple arrive.

The show ended with a police funeral. It was moving, and well done, and I came away feeling, well, manipulated. More lazy writing, filling up the last five minutes of the show with something that couldn’t miss.

How much of this show is filler? Coifed science babes in dramatically-lit labs (with science!) doing science stuff. Sunglasses going on and off. Whats-his-name delivering the big lines. No cleverness. No risk. I came to mock David Caruso but I have to admit that with the material he’s been given he does a pretty good job.

And so we have our unintentional comedy. Lazy writers creating ridiculous situations and then lazily getting out of them by making humans act unnaturally. Then cover it up with slick editing and glitzy montages, and you have yourself a show. Still, good fun.

4

Things I Learned while Moving to a new Web Host

You probably can’t tell, but this site is now being served by a different host. The reasons I switched were many, but once MMHosting got hacked I decided it was time to move. Then when a particular PHP library was not on their servers (one that allows WordPress to read the date of an uploaded image), I actually did the move.

After quite a bit of looking around in which all the dang hosts started to look the same, I chose iPage. They are not quite the cheapest, but they purchase carbon offsets for wind-generated power. They also had a stronger emphasis on security.

At this writing, I still don’t know if my new host has the needed php library. I’ll be finding out when the dust settles. If not, I can install it in my site myself, I suppose, but let’s keep fingers crossed.

So, I learned a few things, and remembered a few others.

  1. Among sftp clients, RBrowser may have my favorite interface but it’s glacially slow with multiple files.
  2. Without ssh access to my site (none of the big hosting companies allow that on their cheap plans), I had to use phpMyAdmin to copy my databases over. Here’s an interesting bit of trivia: if your data has the phrase ‘drop database’ anywhere in it, phpMyAdmin will stop executing the import right there and then. This is to protect you from SQL injection attacks, where people sneak malicious data into your database that later gets executed as an instruction. ‘Drop database’ can be pretty devastating, so the software simply refuses to complete the import, even if the phrase is safe in the text of a post.

    The way phpMyAdmin is configured at my new host, however, when it stops, it doesn’t say why. It doesn’t even admit that anything went wrong, or indicate in any way that not all the data was imported. This can be inconvenient when you have a bulletin board for a product that has a drag-and-drop database feature. (Now it has a drag-and-drop database.)

  3. You can’t tell Safari not to uncompress zip archives it downloads (that I could find), but the original zip files can be found in the trash.
  4. jerssoft_phpb5 and jerssoft_phpbb5 are not the same thing, no matter how many hours you spend banging your head on them.

So iPage has been great (although their control panel is not completely Safari-friendly when it comes to processing payments). I’ve interacted with them in three different ways now — phone, chat, and a support ticket. Two of the interactions were due to the afore-mentioned payment glitch, and once for technical support trying to get my files copied and the site ready to go before I switched the domain registry. Although I didn’t get the answers I was hoping for, the tech was competent and knew what she was doing.

If I continue to be pleased with iPage, I will provide a link for those looking for a Web host. Because we all need Web hosts these days, don’t we?

Evil Flash Cookies

NOTE June 1, 2019: This is a rather old post, and most major browsers have addressed this problem directly. I ultimately solved the problem by simply not installing Flash. It’s dead tech.

For a long time now we’ve been aware of browser cookies. These are little bits of data that a Web developer can set on your computer to keep track of your visits, or which ads you’ve seen, and things like that. Cookies are regulated by your browser and you can set up rules to reduce the amount that other people learn about your habits.

Way back in the day the makers of Flash realized that it would be handy to store little bits of information on the user’s computer as well. They developed LSO’s, otherwise known as Flash Cookies, to do that. This site uses an LSO so the banner animation doesn’t run every time you change pages. (See my rant about html.)

Advertisers and less benign sites also use LSO’s, and this has people worried. There are fewer restrictions on what LSO’s can do compared to cookies, and management of these little bits of information is not done through the browser. Many people out there in the Wild Wild World of the Web have said “There’s no way to manage them! aaaah! AAAAAAH!” in mildly hysterical voices, but that is simply not true.

So, just how worried should you be? If you do nothing to manage the cookies on your browser, then you probably don’t need to get too worked up about their somewhat-more-evil cousins. You’re already telling the trackers all they want to know. The potential for outright evil is higher with Flash LSO’s, but not that much.

Still, it’s a good idea to control who leaves what on your computer, and LSO’s are a good place to start. There are two complimentary strategies – control what gets saved, and clean up after.

Control What Gets Saved

First, let’s look at how to keep most of the unwanted items from being saved in the first place. This is done by managing the settings of your Flash Player. You do this through a control panel on the Macromedia Web site. You can access this panel any time by right-clicking any Flash on your page (including the banner of this site) and choosing “Global Settings…”. This control panel is written in Flash and when you make changes it will save your settings to your computer – in an LSO file.

Let’s look at what’s already on your computer. Choose the Web Storage Settings panel:

Flash Web Storage Settings Panel

The Web Storage Settings Panel

I cleaned everything out recently, but you can see that since then I’ve been to two places that put Flash cookies on my machine. Only muddledramblings.com is actually storing anything; www.kfox.com had stored something on my machine, but it has since been cleaned up. Even after you clean up a site’s cookies, Flash will remember you were there, and if you set special rules for that site, it will remember them, too.

So at this point the easiest thing to do is probably to make Flash forget everything and clear out all the cookies stored on your machine. If you’re curious you can go down the list and see what’s there. “Delete all sites” is probably your best bet, however.

Now your Flash Player has totally forgotten where you’ve been. It’s a good time to set rules for how Flash should behave when you encounter a new site. Click the “Global Storage” tab:

Flash Global Storage Settings Panel

The Global Storage Settings Panel

Note: these settings will not affect sites that already have storage allocated.

There are two things you can do to limit who puts stuff on your computer. The first is to move the slider to 0 KB. This will force any flash animation to ask permission before storing something on your machine. If you check Never Ask Again, you have effectively turned off all Flash cookies from everywhere. That’s pretty drastic, and may break some of your favorite sites, though.

The second thing you can do is uncheck “Allow third-party blah blah blah”. That allows the Web site you’re visiting to store stuff, but no one else. For instance, let’s say that on this page I had advertising. This setting would allow only Flash from muddledramblings.com to save stuff, but an ad served from eviladvertisinggiant.com would not be allowed. Basically, only Flash that comes from the domain showing in your browser is allowed to store stuff. That way my site will still work correctly but others won’t be able to track you.

Note that in a few cases, Web sites put their own Flash stuff on different servers (there are good reasons for doing this), and this setting might break those sites. You can turn off the restriction temporarily and allow that site to run, then turn the restriction back on. There is no way that I know of to say set the “Allow third-party…” value for a particular site.

OK, now that you’re keeping most of the drek off your machine, it’s time to tackle the other prong in our battle for privacy: cleaning up unneeded LSO’s.

Periodic Cleanup

In general, benign LSO’s only need to save stuff while you’re on the site. When you go back, it’s not going to harm anything if previous data has been deleted. Any information they do store from session to session might just be snooping. For the most part, then, we can just empty out the stored data and never notice a thing.

What NOT to delete
There are two kinds of LSO’s – those set by the flash animation, and those set by the Flash Player to store information about a site. Deleting the second type can actually undermine your security if you’ve made special restrictions for specific sites using the control panel above. Also, for some few sites (pandora.com, in my case), you want Flash to remember your info between visits. As you decide on a cleanup strategy, keep that stuff in mind. There is one LSO used to store the settings you made from the control panel above, and I strongly recommend that you NOT delete it. Both the cleanup methods I mention below preserve that file by default.

Having said all that, don’t let the decisions stop you from moving forward. In the following techniques just using the defaults will work just fine for almost everyone.

BetterPrivacy
NOTE June 1, 2019: BetterPrivacy doesn’t exist anymore, because Firefox absorbed this functionality. You can learn more about Firefox cookie management here.

This is by far the best solution — If you use Firefox. Users of Firefox have access to BetterPrivacy, which provides lots of options for which LSO’s to clean up when, controlled from a pretty nice user interface. By default BetterPrivacy leaves the Flash Player preferences alone, but if you make different settings for specific Web sites, BetterPrivacy will delete those unless you tell it not to. If you do put special restrictions or grant special permissions to a site, be sure to protect the settings.sol file for that site.

If you keep your browser open pretty much all the time, you can set BetterPrivacy to clean up the LSO’s periodically.

I don’t use Firefox that much. What am I to do? A Web search will tell you there’s a Mac application called Flush, but don’t bother. As of this writing, it’s completely broken. I didn’t find a good solution for non-Firefox Mac users out there, so I made one. You don’t have to thank me, it’s what I do.

Jer’s LSO Cleanup script for Mac
First I set up a simple cron task that just deleted the folders where LSO’s live. That was too ham-fisted, however, since it also deleted beneficial LSO’s, as mentioned above. Then I wrote a little script. I used Python to write it simply because I’d never used Python before, and it seemed more appropriate than php. You are welcome to use the script as well, but there’s a little fiddling involved. Nothing major, but you’ll be using the terminal.

Right-click to download lsoclean.sh here.

OK, now for the fiddling:

  1. Download the file and put it somewhere that won’t clutter up your life. (I used /usr/local/bin/)
  2. (optional) Edit the file to choose your paranoia level and what sites you don’t want to clean up. The default leaves LSO’s from your own computer (for Flash developers) and from pandora.com
  3. Tell the OS that the file is actually a script that it can run. To do this open Terminal.app and type chmod +x /path/to/lsoclean.py. TIP: if you just type chmod +x (with a space after the “x”), then drag the file from wherever you put it into the terminal window, it will automatically fill in the path. Neat!
  4. (optional) The script can now be activated by typing the full path to the file in the terminal, but that’s not very convenient. Better to set up a way to have the thing run every so often. There are plenty of ways, like using AppleScript (ptui) or iCal (which would have been clever of me), but the simplest (if geekiest) is to set up a cron task. You can use CronniX to avoid editing the crontab file directly. Here’s what I did:
    1. Download CronniX here.
    2. Run it. It’s a little… incomplete. Start by clicking “New”
    3. Choose the “Simple” tab
    4. Check the boxes next to Month, Day of Month, Hour, and Day of Week. Leave Minute unchecked and set to 0.
    5. In the command field, put the full path to the script file. (You can copy it out of the terminal window where you dragged the file before.)
    6. Click Apply, then Save
    7. Quit CronniX

    You have now set up the task to execute the script once an hour.

  5. Test: Visit some sites that use flash, and look in ~/Library/Preferences/Macromedia/Flash Player/#SharedObjects/8JA5UY2L (the last bit is random) to see the .sol files.
  6. After an hour, go back and see that they are gone! Hooray!

CronniX

The CronniX UI when everything is set to go.

That was a quite a bit of fiddling for those not versed in the ways of cron, but now you can forget it ever happened. If you find yourself having to reenter information in a Flash-based Web site and it annoys you, add the domain for that site to the list in the script.

If anyone wants to take this little script create a reduced-fiddling version with automator or whatever, I’d love to provide that for download here.

Conclusion

You’ve just struck a blow against invasive advertisers! Hooray! Now the ads you see will be less focussed on what you are interested in. That’s OK, because it nobody’s damn business what you’re interested in. Now you can carry on with your life like none of this ever happened.

3

AiA – White Shadow: Episode 13

Our story so far: Allison is an American high-school student who has transferred to a private prep school in Japan. From the very start things have been surreal; she has transferred to the Japan of anime, where the incomprehensible is normal and transfer students mean widespread destruction.

She finally managed to make some friends but now they have been captured and taken to The Institute. The Institute is either fighting a deadly computer virus that can infect people, or it started the virus, or maybe the Institute doesn’t really know what it’s up to either. All Allison knows is that she has to rescue her friends from the Institute and defeat the virus. Apparently she’s the only one who can. It seems that Allison’s past may be catching up with her…

If you would like to read from the beginning, the entire story is here.

Kaneda couldn’t shake the feeling of deja vu. It had started the moment he walked into the disco with Allison and the others. Only… Allison hadn’t been with them. Yet still he remembered her next to him as they walked past the police cordon, remembered her touching his arm as they went through the door. But she hadn’t been there. He remembered that clearly, as well.

Now it was as if he sat in two pitch-black cells simultaneously, sitting on two cold stone benches, chained to two stone walls, with two headaches threatening to split his cranium in two (or four?). Even the absolute silence echoed twice in his mind. Must be from the concussion, he thought. Seiji was sitting on a bench opposite him.

How did he know that?

“Seiji?” he asked quietly.

“Is that you, Kaneda?” Seiji’s voice echoed double.

“Yeah. Where are we?”

“You really have to ask.”

Kaneda closed his eyes, tried to fight back the pain in his head. Opened them again to admit no light. “I didn’t think the Institute would be so… dungeony,” he said.

“I know.”

“I expected to end up floating in a glass cylinder filled with greenish liquid, or something like that.”

“Well, there’s still time.”

“Yes, there is. Time for the room with no doors.”

“The room with no doors? What the heck is that?”

Kaneda tried to concentrate. “I don’t know.”

“Then shut up about it already.”

They lapsed into silence. It might have been an hour, might have been five minutes in that unchanging place when Kaneda finally said, “She’s coming. Allison is.”

“Quiet, you fool!” Seiji grated out through clenched teeth. “They’re probably listening.”

An idea began to take root in Kaneda’s tortured brain. “They already know,” he said. “They know all about her.”

“You can’t be sure,” Seiji said.

“They must know. They know about her arm that turns into a plasma cannon, certainly.”

“Her… wha?” asked Seiji.

“And they must know about her ability to fly.”

Kaneda thought he could hear Seiji smile in the blackness. Seiji kept his voice serious as he said, “I think you’re right. I think they even know about the… uh… kittens.”

“No!”

“Yes. Her only weakness. When they were marching us in here, it was confusing of course, but I think some of the guards had kitten launchers.”

“Then we are doomed,” Kaneda said.

“Damn!” Allison muttered over her keyboard. She had to find a way to get her friends out of the Institute, but there was no way she was going to win by trying to force her way in. The idea was stupid on the face of it. No, she would have to use her best skill. She had to get into the Institute’s mainframe and learn as much as she could. Maybe she could alter their files and mark her friends for release. Maybe she could learn enough to go to the police. There was nothing she couldn’t hack if she put her mind to it.

Outside, distant thunder rumbled. The wind was picking up, shaking the trees and sending leaves flying. Barometric pressure was plummeting. She could feel it in her bones. She turned back to her work.

She ran another probe, through a series of proxies. It was blocked almost instantly. “Damn and double-damn!” she cried out. Her bag of tricks was running empty.

“Is everything all right, dear?” her aunt called up the stairs.

“Oh, uh… everything’s fine,” she said. “Just practicing my Japanese homework.”

“Well! I’m sure I don’t know what they are teaching you kids these days. Would you like some tea?”

“No, thank you,” said Allison. She turned back to her laptop.

You know what you need. The voice in her head might even have been her own.

She stopped typing. “I can do this by myself.”

Can you? They know every trick you’ve ever used. They’ve studied you.

“Who are they?”

The Institute. The directors. All the peple there. Your friends. They are all one in the Room with no Doors.

“What do you know about my friends?”

More than you ever will. Their hopes, their dreams, their loves, their hates. Their past. The voice paused for a second, then said, Their future.

Allison’s laptop screen had changed to show a shifting pattern of light. She hadn’t even noticed. “It’s my fault they’re in there,” she said. The lights gained intensity, threatened to resolve into one image, then another, but fading before she could make it out. Noises came from the speakers, music and noise and animal sounds, human speech just beyond hearing.

All of this is your fault. I am your fault. And you are my fault.

The color was all around her now, the sounds and even smells became her world. “I have to save them,” she said. “Even if it means…”

You must complete me, White Shadow whispered. And I must complete you.

“Yes,” said Allison. She would die, but her friends would be free. She began to pull up the files for her anti-White Shadow virus. They floated in the air around her, pure abstract symbols. She gasped. Able to see the code this way, able to sense the motion of every bit, the software became a world. She could complete the virus in only a few hours, she thought.

You should probably know that there are five armed men about to burst through your front door.

Hitomi was not surprised when the speaker at the front of the classroom buzzed to life. This was the sort of day when schools exploded.

“Attention students,” the announcer said. The teacher slowly stopped droning whatever lesson he had been on. “This is an emergency announcement. Repeat: This is an emergency announcement.” Whoever was reading the announcement cleared his throat. “Government Scientists have discovered a virulent plague that has already swept through Hokkaido, resulting in massive deaths. The disease moves very quickly and is spread through contact with… kittens, it says here. Kittens.

“In cooperation with the government the Biological Computation Institute has agreed to gather and quarantine all kittens until the crisis is past. Please take all kittens immediately to the closest kitten-gathering station. All kittens will be returned after the crisis is past. Kittens not submitted to quarantine will be destroyed. Students with kittens are excused from class for the rest of the day. That is all.”

A murmur rose in the room as students exchanged confused looks. Kano let out a wail. “My babies!” she cried. “They are just six weeks old!” She fled the room, flanked by her sycophants.

Hitomi scowled. Kano had borne kittens? Most irregular. She stood and adjusted the sword at her side. Surely there was a battle looming. If she could understand out how the kittens figured in, she might even survive.

Appreciating Fonts

The look of this blog when viewed on a Windows machine has always subtly annoyed me. I’ve been using the default font setup for WordPress, which uses Lucida Grande first, and if that is not available it uses Verdana. Verdana to me looks, I don’t know, thin or stretched or something. Loose. Unfortunately most Windows boxes don’t come with Lucida Grande, so Verdana is what most people experience. Today I decided to do something about it.

It’s possible now to tell a broswer to load a font from the Web when displaying a particular page. I could quite easily put @font-face directives in my files, load copies of Lucida Grande onto the server, and I’d be done (except for Internet Explorer, and those people can get by with Verdana). Unfortunately, although technically pretty simple, that course of action would not be legal.

There’s a font on Windows called Lucida Sans Unicode (or something like that) which is very similar to Lucida, but is not nearly as good for italics and bold face. This will be my fall-back solution.

For a while today, however, I thought I might go look for a new font, something that caught the spirit of this blog, yet was easy to read on a screen and had a nice ink density. On top of that, it had to be free or at least reasonably priced, and it had to include good italic and bold versions, and it had to include the wacky Czech diacriticals for those few episodes where I use them, plus the full range of punctuation including a variety of dashes, copyright symbols, and stuff like that.

I came up empty. Making a good font is not at all simple, and the people who make the great ones quite understandably want to be paid for their work. If I found one that measured up to Lucida Grande in usefulness and that would give this site a unique feel, I might be tempted to pony up.

The closest thing I could find was a font called Liberation, which is a favorite in the Linux world. At this writing, those without Lucida Grande will see that font (unless you’re using Internet Explorer). It’s OK, but the text is actually a little smaller for the same font size. That certainly is annoying. I haven’t looked at the text on enough different screens to know for sure, but I think right now the lettering is too small.

How’s it looking for you, my windows-using readers? Do you have any favorite fonts? I think with screen resolutions improving, it’s even possible to consider a serifed font these days.

Novel: A Novel

According to the back cover of the book, George Singleton is a ‘master of the comic short story’. He has been published in some pretty impressive places, and I like humorous prose, so despite some rather negative things my sweetie said about the book, I secretly held hopes that her negative experience was more an issue with Singleton’s style and that I would enjoy the ride.

Novel is written in the first person, narrated by a man named Novel who spends a significant chunk of the story trying to write a novel. Because of a divorce surrounded by an odd series of events, he finds himself in the backwater South Carolina town of Gruel. Gruel is populated by an odd assortment of characters, but it is a dying town. The locals are convinced that Novel’s novel will put them on the map, and rekindle the economy of the town.

The book is written in a rambling, meandering style that took me along with it. Believe me, I know rambling. The opening two-thirds of the book is about our narrator bumbling along, becoming increasingly paranoid, and telling and retelling his history — which changes, evolving in a very interesting way. There’s a lot of foreshadowing in the opening 75%, which is to say we haven’t really got to the plot yet.

Mr. Singleton’s humor shows through, as do his short-story leanings. In a short story he wouldn’t have had time to beat some of the jokes into the ground with such force. (For instance, his adoptive older siblings are named James and Joyce, and “James, Joyce, Novel” is worked pretty hard.) Other parts seem like they’re in there to set up some sort of comic payoff, but never come through.

One of the jokes Singleton beats on quite often is “Books about writing novels say never to do…” and then in the next sentence he breaks that rule. He breaks a lot of rules in this book, and seems to think that pointing out that he knows he is breaking the rule makes it all right. Usually what he accomplishes is to demonstrate by counterexample that the rules exist for a reason. Rules are made to be broken, but not just so you can point at the rule like a proud three-year-old who just broke a vase.

The town has secrets, lots of secrets. As we learn more about the people of Gruel, we discover that they are not the simple, naïve country bumpkins we first thought. Oh, no, not at all. That’s pretty cool. But wait — under a veneer of obtuseness, their plan for Novel is woefully simple-minded. How do these savvy people ever buy into it? The contradiction is never resolved, in fact, Singleton is caught in his own trap. All the characters he introduces are against the grand scheme for Novel. He can’t show us any of the people who think the plot is a good idea, because they would betray the inherent contradiction.

At the end, lots of things happen. Everything comes to a head, people are coming out of nowhere (James and Joyce? But why?), and our boy Novel is in the thick of it. Then a Huge Coincidence occurs, and everyone shrugs and goes home again, nothing changed, nothing resolved, and a lot unexplained; humor pistols loaded in the first act lie undischarged in the third.

The book grinds to a stop leaving a big a pile of unresolved events that we had passed, that I assumed would have some sort of significance. Just why the hell did the owner of the surplus store want Novel to find the knives buried behind the hotel? As I closed the book, I felt like there was some big explanation I’d missed (notwithstanding the big explanation that was provided). I suspect it never left the author’s head and found its way to the page.

I mentioned in a previous review that just because an author is writing a farce doesn’t mean he can just throw out a new coincidence whenever he loses momentum; everything still has to hang together and make sense in that farcical context. I don’t think Mr. Singleton has learned that lesson yet.

Note: if you use the above link to buy this book (or a Kindle, or a new car), I get a kickback.

2