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

Things on the Internet that are Totally Cool

I’ve come across a couple of things on the Internet lately that are, well, totally cool. Neither of these things is particularly new, but they are particularly awesome.

DropBox
I found DropBox through my brother; we used it to share audio files for Moonlight Sonata across nine time zones. He would put updates in his folder, and they would appear in mine shortly thereafter. Not bad, but only the beginning.

All my writing is backed up on multiple machines, and on a server somewhere ‘out there’. No matter what computer I sit down to, the latest versions of all my stories are there. Effort required: none. I work on a story, save, and it automagically is updated everywhere else. The scenarios in which I lose work are extreme and hard to imagine. New files? No problem, as long as I save them in my DropBox folder.

For the security-minded, DropBox encrypts all the data they store, so you’re safe from hackers getting your stuff. The DropBox people have the key to the encryption, however, so you are not safe from subpoenas and warrantless government searches (which are common). Fortunately there is nothing stopping you from using your own encryption on the files first, and you will be the only one holding the key. I’m looking for the perfectly transparent, free, multiple-computer solution for this; when I find it I’ll let you know. Currently I manually encrypt sensitive files.

Edited to add: On the mac, it is quite simple to create a strongly-encrypted disk image. If you use Disk Utility to create a sparse image that’s less than 2GB and put that into your DropBox folder, then you can mount that image and save all your sensitive stuff in there. Works like a charm. I made my image 663 MB, and used AES-256 encryption (stronger is better, I figure).

DropBox is free for a limited amount of storage (2 GB), which is plenty for important text documents; for a small fee your limit can be increased to 50 GB. So far there are no products this simple and slick that you can install on your own server (so you can store as much as you want and control your own security), but that is only a matter of time, I suspect.

Pandora
People have been telling me about Pandora for a long time (in Internet years), but I’ve only recently started using it. It’s sweet! For those even farther under the rock than I am, Pandora is an Internet radio service that decides which song to play for you based on how you’ve responded to the previous songs. You can maintain multiple “stations” that have different kinds of music, based on what you’re up to at the moment or what mood you’re in. Currently I’m listening to a station called “Nirvana”. I chose a band and Pandora took it from there. I rejected a couple of tunes, gave a hearty thumbs-up to others, and off I go.

I’m a little disappointed that there isn’t much music in this list that I’ve never heard before. It seems like this should be a service ideal for helping me discover new bands, but it’s not quite there yet. Pandora seems a little too hit-oriented for my taste, but I’m hoping that over time, if I take the time to give a thumbs-up to stronger but more obscure music, I can deepen the pool of tunes Pandora draws from.

Sure I have a big heapin’ pile of music on my hard drive, and I still use it regularly (in part because Pandora has such a popular leaning), but using Pandora is way easier than sorting all my music into thematic and stylistic playlists that provide variety without straying too far from the stuff I’m in the mood for.

Mac note: The Mac’s ability to turn any part of any Web page into a dashboard widget worked awesomely with Pandora’s player.

Something Else
This article feels like it really should have a third item, but at the moment I can’t come up with one. Sure, there are the Internet game-changers like email and Google, but those are hardly news anymore. What would you put in this spot?

1

Need a Curse Word from the Past

Let’s say it’s 1890 or so (plenty of wiggle room). You’re a young man from a wealthy family, but you’ve been disowned. Good schools, but since then you’ve run with a pretty coarse crowd. Now you are under extreme duress at the hands of some guy who is totally beneath you.

“You ______!” you cry out in anger and frustration. If there were ladies present they would drop their porcelain teacups and faint dead away. Men would take umbrage, while servants scurried about hoping not to be noticed.

Please help me fill in the blank. If there’s a particularly choice word from an earlier time, that’s fine, too. 1900 is about the latest, but even as early as 1700 would be cool.

Thanks!

After the Shoot

Did a photo shoot with Cricket LaFaux last night. At some point I’ll show you some of the pics. Here’s the living room at the end of the evening.

After the Shoot

The aftermath of a photo shoot with Cricket LaFaux

2

None of Your Damn Business

After reading a post in my buddy’s blog (and the articles that post links to) about National Security Letters I started to get more and more irate. Apparently, our government sends out thousands and thousands of letters to Libraries, Web hosts, and the like, saying, “We’re the government, we’re fighting terrorists, so give us everything you have about this person. Also, you’re not allowed to tell anyone about this, not even your lawyer.” This is not like a search warrant, because there is no judicial oversight.

The FBI’s use of national security letters to get information on Americans without a court order increased from 16,804 in 2007 to 24,744 in 2008. The 2008 requests targeted 7,225 U.S. people.

Read More

Those are all requests for personal information with no warrant, no need for probable cause, and no right to legal counsel even for the people who are not themselves under investigation. I’m not a trained legal scholar, but good lord, this can’t possibly be constitutional.

Well, it’s not like I have anything to hide, but if my ISP got served with one of these letters, would they turn over the information, or would they fight? Would Google protect the emails mouldering in that account that I rarely check? What about my Web hosting provider? I would love to see each entity that has my personal information publicly state that they will not turn over information without due process.

The only way this governmental bullying will be stopped is if everyone agrees not to be intimidated.

On a personal level, I’ve decided to start a policy of encrypting my emails. Not because there’s anything incriminating in there, but because if only secrets are encrypted, then everyone knows where the secrets are. And really, it’s nobody’s business but mine what I put in private correspondence. If everyone encrypted all their messages, the constitutional rape called National Security Letters would be pointless.

Toward that end I have installed Gnu Privacy Guard, which is based on OpenPGP (Pretty Good Privacy), a system which can withstand any attacks feasible at this time (naturally as computing power increases, the encryption must be made ever-more sophisticated).

It takes two to pass a secret message, however. I’m not able to encrypt messages to people who do not also have GPG or PGP installed, and who do not have my public key. The system works with a pair of keys – one I keep secret and another that everyone can see. When the message is encoded using one key, it can be decoded using the other. So if I have your public key, I can encode a message that only you can read.

It’s a bit of a hassle to set up GnuPG (available for Mac, Windows, and Linux), but once you have your key generated and all the pieces in place, it’s pretty transparent to use. My public key is now available on many servers, so once you have the plugin to your email program installed, it’s easy to load.

You can learn more through the link called “Jerry’s public key” on the sidebar in the top section. Please join me in taking the teeth out of National Security Letters and the bullying bureaucrats that use them.

Addendum: Comcast’s privacy policy states that they will not disclose information without a subpoena, warrant, or “other valid legal process”. Then they go on to say they will also disclose information if they think “the disclosure of information is necessary to prevent financial loss“. That means they reserve the right to sell out their customers if they think they could end up incurring legal costs to protect them. Sigh.

5

An Afternoon at the Movies

My sweetie and I have been an item for a long time now (years!), but yesterday marked the first time we ever went to a movie together. How is this possible? I just don’t know. There’s always something else to do, I guess.

Despicable Me came out while I was off on my adventures, but the light of my life turned down an invitation to see it with friends so she could watch it with me instead. It took more than a week, but finally we managed to chuck all excuses into the “later” bin and off we went.

To watch the movie in 3D: $12:50. The same movie in 2D: $5.50. 2D wins! (3D for me remains a gimmick to cover for the lack of a plot or at least interesting characters.) We went to the little cinema, paid the afternoon price, and plopped down for the flick.

My sweetie began laughing about two minutes in, and is still giggling today. The minions just kill her. I laughed too, but maybe not quite as hard.

The story is, of course, entirely predictable. Curmudgeon + adorable kids can have only one outcome. The fun of a story like this one is in watching the transformation of the grumpy old man, and of course in the completely over-the-top silliness of his minions. Oh, yes, in this case the curmudgeon is an evil genius complete with minions, and they are ridiculously funny.

It was a good date. I even stole a kiss right there in the theater.

2

Open Letter to the Guy with the Battered Flag on his SUV

Yes, I’m talking to you. You know who you are; you’re the guy that thinks flag-burning should be constitutionally banned, yet you drive around with a tattered, battered mockery of the flag and the country it represents. Oh, I know you felt proud when you put that little flag on there. DAMN I’m a good American! Let’s all stand up and salute (me)! Just remember: when you bought that flag, you also took on responsibility.

Then you continued to fly that flag in the rain, and at night. Huh. Kinda disrespectful there, Sparky.

Now your flag is much the worse for wear. It is truncated, and the edge is tattered to threads. The dyes have all faded, especially the red, so that the stripes are barely discernible. Yet still you parade around with this thing attached to your car. How is this not worse than someone burning a flag as a conscious exercise of free speech?

There used to be a lot more of you. In the last patriotism boom millions of folks bought (incorrectly packaged and handled) little flags and put them on their cars. Look at me! I love America! What happened to all those little flags? I’ll tell you what happened: those patriots threw them in the trash once they got too tattered. Somehow sending a flag to rot in a landfill is not as bad a burning it.

Which brings me to the US Flag Code. You’ve already abused the hell out of the part that says “The flag should never be fastened, displayed, used, or stored in such a manner as to permit it to be easily torn, soiled, or damaged in any way.” (This is under the section titled “Respect for the Flag”.) It’s time to move on to disposing of your shameful insult to your country. What are you going to do? You’re not going to just throw it away, are you? You’re a patriot! The flag is a symbol of your country! That’s why you’re flying it in the first place. So what are you going to do?

How about “The flag, when it is in such condition that it is no longer a fitting emblem for display, should be destroyed in a dignified way, preferably by burning.”

Yep. You should burn that American Flag. Of course, this won’t be the camera-drawing antics of a hippie protester, but instead will be a solemn occasion while you consider the flag, what it stands for, and respect the service it has done. Gather the kids around to pass that deep respect on to the next generation. I recommend flagkeepers.org as a reference for the proper way to respectfully dispose of your little plastic badge of patriotism.

Gah! You’re going to throw it in the trash anyway, aren’t you. Yeah, you’re a real patriot.

2

Overqualified

It all started here. Joey Comeau needed a job. Somewhere along the way he began to exercise a little more creativity than perhaps is optimum in job application cover letters. Some are hilarious, some are poignant, some are just plain odd. None of them are bound by any sort of requirement to tell the truth.

He didn’t get any of those jobs.

After the police showed up on his doorstep one morning, he stopped actually sending the cover letters in. He continued to compose them, however, and post them on his Web site. He didn’t really want any of those jobs, anyway. Somewhere along the way he got the idea that he could use this form to tell an actual story. Each letter would in itself be significant, but when strung end-to-end they would reveal a larger story, at first hinted at and subsequently revealed.

Put another way, it’s “take what you’re doing already and repackage it in a way that you can sell.” And thus, Overqualified was born.

It is a book of moments, beads on a string that form a larger pattern. Some of those moments are pretty powerful. Some of them aren’t. They go by quickly and before you know it you’re at the end of a brief autobiography told in nuggets of nonsense.

I was a little disappointed, I guess, that many of the supposed cover letters in the book had no ties to the job being applied for. One of the fun things about the letters I linked to above is the cleverness with which he twists the job descriptions, and the decidedly odd ways he represents himself as a candidate. While it does happen occasionally in the book, I missed that cleverness much of the time.

Of course, before there was a larger story to tell, the letters were all about cleverness. The book has a larger purpose and I suppose that means trade-offs.

Comeau certainly has a gift with language. The words he chooses are often evocative as well as descriptive, and a sense of tragedy grows as we move along. He’s at his best when he’s both funny and poignant, as near the end when he applies to be a tour guide, revisiting the scenes of past failures. That bit alone is probably worth the cost of admission.

EDIT YEARS LATER: I still think about this book. Possibly you will, too.

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

5