The invisible tchotchke

September 14th, 2016

There's a yard I see periodically that is both well-landscaped and also absolutely filled with stuff: Tchotchkes, baubles, and knick-knacks but also random other items of interesting appearance such as bird cages, dolls, or colorful tiles. While it could look terrible, the owner has arranged them and worked them all in with the plants and the overall effect is quite pleasing, although I'm sure there's at least one angry neighbor.

What I found surprising on my first encounter was that the objects seemed to have some sort of mystical power to avoid individual visual inspection. When describing this yard to someone a few days ago, I found myself unable to recall any one of the objects in particular, and had to fall back on the generic "tchotchkes". The next time I went past, instead of allowing my eyes to drift over the whole collection, I tried to focus on any one object, and found that I could not! It was rather disconcerting.

I had originally chalked this up to the distracting nature of the entire yard, but I think there's more to it than that. The third time, I introspected while attempting to examine a single object, and found that when my eyes wandered, it was in service of discovering the context of the object. This makes sense! We understand our visual world contextually, and I believe Hofstadter & co. are correct in their top-down + bottom-up Fluid Concepts model—there is an interplay between forming expectations based on observations and fitting observations to expectations. We understand an object (faster) by what is around it: A fork on the kitchen counter amid some dirty dishes is easier to recognize at a glance than, say, a fork in the road. But the objects in this yard are not only completely removed from their original context, they are placed into a distracting one, and even worse, a field of other contextless objects! And so my eyes wander out to the next object over, and the next, and then distraction takes hold.

As I was writing this, I think I have found one other situation where this effect takes place: A very messy room or desk, full of odds and ends. I find that when I set myself to the task of cleaning a mess like that, I freeze up. I had thought that perhaps it was due to the energy required to make a hundred small decisions (that had already been deferred for their non-triviality—there's a selection effect at play here) but now I wonder if perhaps I am also having difficulty focusing on any object long enough to tackle it. Certainly this would interfere with my ability to "pick the low-hanging fruit". If true, I might be able to develop some strategies for cleaning my desk, such as picking an object randomly and considering it outside of the desk's context.

I'm curious to hear if others have experienced this phenomenon as well. I'm also curious whether it correlates to any degree with attentional issues (e.g. I have ADHD) or visual processing issues. Or perhaps this is just an idiosyncratic trait, but if there's anything I've learned about the internet, it's that there's usually a "me too!" out there somewhere.

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 »

Fixing Prosody SSL after upgrade to Debian Jessie

April 15th, 2016

When I upgraded my home server from Debian 7 (wheezy) to 8 (jessie), my installation of the Prosody Jabber chat server broke. Specifically, my chat client would no longer connect, saying SSL was not supported on the server, and prosody complained about SSL support not being available whenever I ran prosodyctl. First I'll show the diagnostic information, then the fix and explanation (spoiler: downgrade lua-socket!), then the new diagnostic output.

Read full entry »

Fixing WordPress redirect loops and insecure links under HTTPS

March 9th, 2016

I tried to switch my blog over to HTTPS and encountered two problems:

  • My stylesheet broke because get_stylesheet_uri() (and other links) were yielding http:// links, which were blocked by the browser
  • Attempting to log in would produce a redirect loop

This was in spite of my database and config files *all* having https URLs, not http. Mysterious and upsetting.

The problem turned out to be that (as far as I can tell) my blog is run on a server behind an SSL-terminating proxy that speaks HTTP to the server. WordPress's is_ssl() function checks the value of $_SERVER['HTTPS'] to see if it is being accessed via HTTPS. WP then (apparently) writes URLs to match this instead of using the literal base URL (this seems stupid) and also generates redirects to try to match the base URL. Both of these cause the observed breakage.

My fix was to add $_SERVER['HTTPS'] = 'on' to my wp-config.

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