Can we have online journaling while maintaining privacy?

November 27th, 2016

I've been blogging for over 11 years now, for better or worse. I cringe a bit when I look back at some of my older posts, but I'm loathe to delete them, because it's who I was then. I've also maintained a Livejournal (LJ) or Dreamwidth (DW) account for almost as long, where I've made posts of a more personal nature. How did I decide where to post, where the dividing line was? It came down to two things: 1) How personal the post was, and 2) where my intended audience was. Back in the mid-00's, many of my friends and acquaintances had public blogs, but were no on LJ. That meant that if I wanted them to know how I was doing, I had to post for the world to see, even if that meant future employers with boundary issues would see those posts out of context. As the blogosphere slowly deflated and I entered Boston-area social groups where LJ was more common, the choice became easier. Then Facebook rose to supremacy, and I chose not to jump off that particular bridge... but now it's much harder to have an online social life.

I really miss that, but Facebook is not an option. How can we return to the days of easy journaling? I'd like to lay out what I see as (a) central problem, then ask you for ideas in solving it.

Read full entry »

Buying laptops sucks, online stores make it worse

November 25th, 2016

We recently had to go shopping for a new laptop, and since Lenovo's design is going down the shitter, we had to do more research than usual.

Read full entry »

strace’ing a Clojure process under lein

August 16th, 2016

Today I wanted to strace a JVM process to see if it was making network calls, and I discovered a minor roadblock: It was a Clojure program being run using the Leiningen build tool. lein run spawns a JVM subprocess and then exits, and I only wanted to trace that subprocess.

Read full entry »

A suggestion to WIRED on the occasion of their adblock-blocking

February 16th, 2016

WIRED magazine recently started dropping an overlay on their articles whenever they detected an adblocker:

Here’s The Thing With Ad Blockers

We get it: Ads aren’t what you’re here for. But ads help us keep the lights on. So, add us to your ad blocker’s whitelist or pay $1 per week for an ad-free version of WIRED. Either way, you are supporting our journalism. We’d really appreciate it.

Ouch, it hurts to see such a good site take itself hostage like that -- and make exactly the same mistake as so many other sites in their approach and phrasing. I want WIRED to do well, so I sent in a letter to the editor. I present it here as well, adapted slightly for the web:


I want you to succeed, but you're making a mistake in the messaging around adblockers that is being overlaid on every article.[1] I care about you, so I'm taking the time to write in with some advice:

Don't phrase it like you're holding your users' privacy and security ransom.

(I'll suggest some alternative phrasing, but first a bit of scene-setting.) I'm happy to give money to sites that provide value. I don't want to be a Free User and I have even written to sites asking them to please take my money. What I won't do is unblock third-party, targeted ads, no matter how tasteful and relevant; the malware risk is too high and the privacy damage is well understood. It's just not an option.

So when your page says "whitelist us or pay", what I hear is "pay up or we'll hurt you". I know that's not what you mean, so let me suggest a replacement. Instead of:

So, add us to your ad blocker’s whitelist or pay $1 per week for an ad-free version of WIRED. Either way, you are supporting our journalism.

I recommend something like:

So, add us to your ad blocker’s whitelist or pay $1 per week to support our journalism directly (and see an ad-free WIRED, of course.)

I'm never going to pay to get rid of the ads I never saw in the first place. I will happily pay to support journalism and other worthwhile endeavors. I think other users will as well.

Best of luck,

- Tim McCormack

A coding story: Dead reckoning vs. diffs

December 29th, 2015

Once upon a time, I wrote a photo gallery in PHP, accompanied by a set of PHP and SQL scripts to populate the site from a KimDaBa (now KPhotoAlbum) database. The code is *terrible*, and when it came time to adjust how I managed photo tags, I couldn't stomach editing the PHP. Slowly but surely, I've been rewriting my photo gallery software. The website is in Clojure, and mostly up to feature parity. The tricky part is the updater -- because of an odd quirk of KPhotoAlbum.

This is the story of trying to solve a problem, finding out a flaw, and then seeing the problem in another light. The intended audience is unclear. :-)

Read full entry »