“Everyone can be a diplomat with properly doused phraseology.”

— Gary Perlman

Clearing Safari's cache of HTML5 local storage


One of the few things that Safari 5 does not give you a way to avoid or clear is HTML5 local storage. This is separate from the setting for HTML5 local database storage, and deleting it is necessary not only for avoiding things like the new evercookies that sites are starting to use (such as polldaddy), but also sites like meebo who use it to store large chunks of custom Javascript locally.

Fortunately, there’s nothing obscure about how it’s stored, and the method for stopping a particular site from ever using it again is easy.

To clear out the local storage, exit Safari and run:

rm -rf ~/Library/Safari/LocalStorage/http*

(don’t delete everything, since Safari Extensions store their settings here as well)

To prevent a particular site from using local storage ever again (say, samy.pl, home of and test site for evercookies), exit Safari and run these two commands:

cp /dev/null ~/Library/Safari/LocalStorage/http_samy.pl_0.localstorage
chmod 0 ~/Library/Safari/LocalStorage/http_samy.pl_0.localstorage

To see what a site is storing on your machine (all on one line):

sqlite3 ~/Library/Safari/LocalStorage/http_samy.pl_0.localstorage
    "select * from ItemTable"

The best solution would be a small script to whitelist the few domains you’re willing to allow persistent storage from, and nuke the rest whenever they show up. Safari caches these Sqlite databases in memory during a session, so you need to restart the browser to really clear them.

My several-times-a-week routine is now:

  1. Reset Safari menu (clear history, reset top sites, remove webpage preview images, empty the cache, clear the downloads window, remove saved names and passwords, remove all other autofill form text, close all safari windows).
  2. Exit Safari.
  3. Clear all non-whitelisted cookies with a custom script.
  4. Clear all non-whitelisted local storage with a custom script.
  5. (all Flash local storage was already permanently disabled, which has only ever broken one site's functionality (Indiemapper))

Note that it’s also easy to change the data sites are stuffing into local storage. The results could be whimsical or malicious, depending on how intelligent the web developer was.

On a related note, the HTML5 local database storage is in ~/Library/Safari/Databases, if you’ve allowed any sites to use it. I keep it turned off, myself.

Recettear, still going strong


Finally unlocked Griff, which gave me access to The Lapis Ruins. Also, a revelation: this game is what you’d get if you put a 7-11 and Seven of Seven in a blender and set it to “puree”.

Web 2.0++


The folks at 10gen asked me if I’d be interested in submitting a proposal for a session on MongoDB at the upcoming Web 2.0 Expo in San Francisco. Sadly, they suggested this less than two weeks before the deadline, leaving me little time to record a sample video of my legendary public-speaking skills.

[note: last displayed in Nineteen-Ninety-Something to an auditorium full of HP engineers who wanted a from-the-trenches report on implementing SAP]

I certainly have the gear to make a quick video, and I could have knocked something decent together over the weekend, but the more I thought about it, the more I realized that while I wanted to talk about their product, I really didn’t want to be in front of a room full of bleeding-edge fucktard web developers. A while back, I said:

"All contract web developers are bling-happy assclowns with no concept of revision control or release management, who think 1,000 is a large number."

Upon reflection, I think this doesn’t go far enough. More and more, I see web sites that abuse the functional value of “web 2.0” technologies to put lipstick on a pig and rent her out for bacon-scented gang-bangs. Usability? Accessibility? Searchability? Standard navigation methods? “Fuck that, let’s break the rules and show everyone how cool we are! Tweet me if you’re in!”

I simply couldn’t imagine a web conference in San Francisco not being full of people I’d rather punch than talk to, all extreme and agile and oblivious, like the many who add layer upon layer of caching to compensate for their shoddy Rails code. For them, and others like them, I propose a new label, to properly reflect their approach to design and implementation:

Web.Twee

Coolest video set ever


“Hey, can I borrow your battleship for a few hours? And a really big fog machine?”. Tsuyoshi Nagabuchi, performing the closing song of the film Otoko-tachi no Yamato.

eXtreme Calligraphy


Featuring the star of Bushido Sixteen , it’s Shodou Girls!!.

Shodou Girls DVD cover

Popular young actress Riko Narumi often goes for a serious, intense look; fortunately her face hasn’t frozen that way, and she often looks quite cuddly. Working hard this year, too, with two TV dramas, three movies, a photobook, and several ad campaigns. According to her official site, she’s also still involved with the School of Lock! (not a typo or Engrish) radio show.

(no idea if she’s any good; Amazon Japan just recommended her to me because I bought the most recent Sukeban Deka film)

Earth, point and click


Spent a little while tinkering with Maxmind’s GeoLite City geolocation database and Indiemapper‘s Flash-based GIS mapping tool. I’d prefer to render the base map myself, using the free Natural Earth shapefiles, but after deciding to use the Winkel Tripel projection with the Perl bindings for the Proj.4 library (for which the appropriate incantation appears to be “+proj=wintri +lon_0=90w +x_0=16396891.17 +y_0=10018754.17”), I ran out of idle-hacking energy when Asia wrapped around the edges. Something to do with urgent calls from a panicked customer-service manager whose migration plan had suddenly turned into a bad ending from Oregon Trail.

Anyway, despite the horrible performance, excessive memory usage, and utterly crap UI of a Flash app, Indiemapper is quite useful, and for people who frequently generate maps with less than, say, 10,000 data points per layer, it’s probably worth the monthly subscription fee. It’s definitely worth the free 30-day demo.

Data points of no particular significance, rendered with Indiemapper.com

Below, I’ve added a close-up of the US, to answer Steven’s question (note: it took less than a minute to login to Indiemapper, load my previously-saved map, change the projection to Mercator, zoom in on the US, and export a new PNG; it’s a lot more comfortable with countries than with planets):

more...

"If you're not familiar with that company..."


“​…then how do you know who the hell we are?”

These were the words I just heard from a telemarketer after I politely asked her to repeat the name of the company she identified herself as representing and then said that I had never heard of them. Then she hung up on me.

Apparently she came pre-abused, so I didn’t even have to abuse her. It was a little early in the day to be completely burned out from cold-calling random strangers, though; I’m thinking she doesn’t have a future in the business. She didn’t really sound like a “Michelle”, either; she sounded like someone from India who was trying to hide that fact, and the resulting overcompensation made her even harder to understand.

(blocked caller-id and a generic-sounding financial-services-company name, so of course I wouldn’t have taken their offer, whatever it was going to be, but I didn’t even get the chance to shoot it down)

Adventures in the Amazon


As I sometimes do in idle moments, I have once again plunged into the depths of Amazon’s recommendation system and returned with rare and precious gems.

Because I purchased The Key To Kanji: A Visual History of 1100 Characters, I might like the Wii game A Boy and His Blob.

Because I rated Combos Pizzeria Pretzel, 7-Ounce Packages (highly, I might add), I am almost certainly interested in purchasing Dixon Ticonderoga RediSharp PLUS, Fine Point Permanent Marker.

Because I rated VMWare Fusion 3 (again, quite highly), I am sure to enjoy MP3s of the album It’s Never Been Like That by the band Phoenix.

Because I added the 14x25-inch size of 3M Filtrete 1900 MPR, 6-Pack, Ultimate Allergen Reduction furnace filters to my cart, I not only desire a copy of Precalculus: Graphical, Numerical, Algebraic, but also Grade 1 Subtraction (Kumon Math Workbooks).

And then comes the prize…

more...

“Need a clue, take a clue,
 got a clue, leave a clue”