iPad 2: quit whining already

Unless you live in a hut in the Sahara somewhere, you probably already know the iPad 2 is coming in a week. I keep running across articles that bemoan this or that feature that they hoped for but didn’t get. Some of it really makes me roll my eyes.

Retina Display

This would be awesome. And I bet Apple would do it, if people would pay $699 for the base model. So… no. Check back next year.

Stereo speakers

Really? You’re confused about this? Let’s review how stereo works. You have a right channel and a left channel. You use them to create an illusion that is targeted to the right and left ears of the listener. Let’s review how the iPad works. You hold it in any orientation as you see fit. Now, where exactly do you suggest we put the “left” and “right” speakers?

Thunderbolt

Oh, sure. 10gb/s I/O wouldn’t kill the battery at all. Especially because, like USB, it can power connected devices.

4G/LTE wireless

Really? Okay, so people in the ten square miles of the US with 4G/LTE coverage would be happy, and everybody else would think the iPad sucks.

Paul Graham on: stuff

Paul Graham, on our obsession with material possessions:

Companies that sell stuff have spent huge sums training us to think stuff is still valuable. But it would be closer to the truth to treat stuff as worthless.

In fact, worse than worthless, because once you’ve accumulated a certain amount of stuff, it starts to own you rather than the other way around. I know of one couple who couldn’t retire to the town they preferred because they couldn’t afford a place there big enough for all their stuff. Their house isn’t theirs; it’s their stuff’s.

Not long after I bought my first home in 1997, I was talking to the next-door neighbor and mentioned that I was envious of his basement. My house didn’t have one, but I had grown up with basements all my life. I was always trying to figure out where to store things.

He replied that he had been in his house since it was built in the early 50s, and he pitied whoever had to clean the basement out when he died. That was the first time I ever thought of a basement as a double-edged sword.

I first realized the worthlessness of stuff when I lived in Italy for a year. All I took with me was one large backpack of stuff. The rest of my stuff I left in my landlady’s attic back in the US. And you know what? All I missed were some of the books. By the end of the year I couldn’t even remember what else I had stored in that attic.

And yet when I got back I didn’t discard so much as a box of it. Throw away a perfectly good rotary telephone? I might need that one day.

This reminds me of the storage unit I rented when I was selling my last house. I filled a 100 square foot room with extraneous stuff I didn’t have any day-to-day use for. It sat in there for more than six months.

Paul Graham on: Stuff

Instapaper’s fatal Kindle flaw

That’s very true.

Unfortunately, Instapaper’s support for the Kindle is missing one pretty big feature: the ability to assign a specific Instapaper folder to send to a Kindle.

The only choice today is to feed “Read Later” to a Kindle. That’s great, if you only use Instapaper for articles you want to read later. But how many people actually use it that way?

I feed all sorts of things into Instapaper.

  • Longer-form articles
  • Short blog posts
  • YouTube or Vimeo video pages
  • A political petition to be filled out
  • A cool gadget I saw on Amazon or wherever

The long-form articles are what I want to send to my Kindle.

The blog posts would work for it, but why bother sending them there? I can usually read those in under two minutes. And sending video pages or petitions to my Kindle is just a waste. I can’t do anything with them there.

My solution for a while now has been to split “Read Later” into two folders. The main “Read Later,” and a second that I named “Read Later - not for Kindle.” I have two bookmarklets in Safari, one to send to my Kindle, the other to send to a generic Instapaper folder. Not so bad, right?

Not if I’m using a browser.

Here’s the problem. I send things to Instapaper from a lot of places. The browser, sure, but also from certain web apps I use, and from a number of iPhone apps. Sometimes I email content to my Instapaper account. And none of those methods support folders. The default for feeding into Instapaper via its API or email is to stuff everything into “Read Later.”

That leaves me back where I started—now I have Kindle-inappropriate items that might get fed to my Kindle. I have to pay Amazon for that delivery (okay, it’s really cheap, but I’m still paying for it).

I have workarounds. Most iPhone apps, for instance, support opening links in Mobile Safari. So I do that, leaving the app I was using, wait for the page to load a second time in Safari, then use a bookmarklet to save to my non-Kindle Instapaper folder. Then I have to go back to the app I started from, sometimes having to wait for the page to load a third time, only to tap back to whatever I am viewing (a Twitter stream, Facebook, Pulse News, whatever).

I could just put everything in “Read Later,” then go into the Instapaper iPhone app or the web site and tidy up the folders before Friday morning when the weekly Kindle deliveries go out. If I remember to. Which I never do.

All of this would be solved if Instapaper supported assigning a folder for Kindle posts. Then I could haphazardly fill up “Read Later,” and as I look through that stream, move things into the Kindle folder. Easy. Or at least much easier than the dance I’ve been going through.

I mean was going through. Because at this point, I’m finding this dance so annoying that I have turned Kindle deliveries off entirely. I’ll just read things on my iPhone or laptop, and go back to using the Kindle for reading books.

Don’t get me wrong, I love my Kindle and I love Instapaper. I’m just sick of workarounds.

Who says help files aren’t funny?

I just found this gem in Vim’s help files.

:help map-overview

1
:nunmap can also be used outside of a monastery.

iTerm2 > iTerm

I recently wrote that iTerm is better than Terminal.app.

Later that day, I received this reply on Twitter.

He was right.

iTerm2 is a fork of the original iTerm project. By and large, they are the same, but iTerm2 has a considerable number of improvements. Here are a few.

Smart cursor color

This may seem minor, but it’s nice to have. iTerm2 watches the colors being displayed, and will adjust the cursor color to ensure it is fairly visible on the screen.

Paste history

The last 20 items you copied from iTerm2, or pasted into it, are memorized. You can access that list with a hotkey combo.

Even if you use a clipboard history manager, like the one built into LaunchBar, this is useful because it is limited to the iTerm2 application. You can copy and paste all you want in other parts of the system, and the last 20 items that dealt with iTerm2 are always waiting for you when you get back.

Find and autocomplete

The Find feature in iTerm2 is really nice. Cmd-F brings up a search bar at the bottom of the window, similar to the one used in Safari. Enter your search string. Hit Tab to select to the end of the word (or Shift-Tab to go to the beginning of the word). You can find, select, and copy, all without needing to touch a mouse or trackpad.

But even better is autocomplete. Start typing, then hit Cmd-; to bring up an autocomplete list, built from the contents of the window as well as the aforementioned paste history. Type some more to refine the selection list. Use the Up and Down arrow keys to choose what you are after, then Enter to insert it at the cursor position.

Instant replay

Last, but absolutely not least, is the most innovative feature I’ve seen in a terminal emulator since… well, since ever. This is iTerm2’s “wow factor.”

Instant reply is TiVo for your terminal session.

No, I don’t mean you can scroll backward. Any terminal can do that. Instant replay is like having someone stand over your shoulder with a videocamera, recording your session. At any moment you can turn to them and ask for the tape to be rewound and played back.

If that doesn’t sound useful to you, you aren’t thinking hard enough.

How many times have you lost output because something like vim or less render in a way that doesn’t appear in your scrollback buffer? What about curses-driven interfaces, which vanish forever when they close? Even when they’re still running, the screens change and you can lose what you were looking at before. Instant reply captures all of it. You can scrub back and forth in time, just like when you play a video file.

It even remembers when you resized the window, and resizes it appropriately as you step back and forth in time.

Give iTerm2 a try. I’m loving it.

HengeDock review

I’ve been using a HengeDock for the past two months. I bought the model matching my laptop, a late model 13” MacBook Pro. Here’s a mini-review.

Pros

  1. The vertical design gives me a nice small footprint.

  2. With Apple’s current laptop designs, where all of the ports are on one side and the optical drive is on the other, I can still access the optical drive while docked. It’s on the top, like a toaster, reminiscent of the ill-fated G4 Cube.

  3. The docking and undocking process is very simple. Drop it in to dock. Hold the dock with one hand and pull the laptop out with the other. No wrangling with multiple cables, and no wacky levers or latches like I have used on other, much bulkier docks in the past.

Cons

  1. As far as I can tell, Apple no longer sells power supplies with the square-block style MagSafe power connectors. The HengeDock is not compatible with the new barrel-style connector. If my current power supply goes kaput, I may be stuck having to buy an old one on eBay to get the older connector, or swapping power bricks with my wife (she’d get the barrel-style). (HengeDocks now claims compatibility with all three types of MagSafe connector on their new models.)

  2. If my laptop’s battery is totally dead, I can dock it to charge. But then I am left with an expensive paperweight. I have to wait a while to get some charge in the battery, then remove the laptop and power it on after opening the lid. If I’m quick, I can then close the lid and dock it and I’m in business. Otherwise, I have to wait for it to boot up, then put it to sleep, then dock it. I could solve that with a second power supply, but that’s a hefty cost for the rare occasions when I run into this scenario.

  3. The Mini DisplayPort to DVI adapter I bought from Apple doesn’t fit very well underneath the dock case. In fact, I couldn’t get it to fit under there at all. Mine is sticking out of the rear opening, halfway in and halfway out. That works, but it’s not the best arrangement. The remaining cables have to fit around it as they emerge from the dock, and it is a little tight. (The company is now selling adapter cables for Mini DisplayPort to DVI and also HDMI, specially designed to work with the HengeDock. They are not included, so get ready to cough up another $25 if you want one of those. Unless your display directly supports Mini DisplayPort, you probably would have to buy an adapter of some type anyway.)

  4. The initial installation process is not too rough, but it is more than a lot of people might want to deal with. You have to thread cables up into the dock body, through the proper hole, and then tighten them into position with an allen wrench (included). HengeDocks recommends doing them one at a time, by threading the cable up through the dock and plugging it into the laptop, then lowering the laptop into the dock and tightening the screw. It’s not that tough, but it’s not something I could see my mom wanting to deal with.

Overall

I’m happy with it. It gets the laptop connected and disconnected quickly, and doesn’t waste space on my desk. My main gripe is that when I get a new laptop at some point, the port configuration will probably have changed, and it will become an expensive brick of resin.

iTerm > Terminal

I recently switched from Apple’s Terminal to iTerm. At first, it was just an experiment, to see if iTerm was really usable. I’ve used iTerm before, but it was some years ago, and at the time it was buggy, slow, and unstable. I’m glad to report that it has grown by leaps and bounds, and is now my full-time terminal.

Things I find superior to Apple Terminal:

Real xterm keys

I didn’t realize I was missing these before I had them again. I’ve used xterm and similar (e.g. rxvt) in the past, of course, but it’s been some time. Xterm passes through keys like PageUp and PageDown, and most unix programs know how to use those keys (Vim, for example).

Apple Terminal uses PageUp and PageDown for moving through your scrollback buffer. You can send PageUp and PageDown through to your session, but only by adding Shift to the mix. That works, but I found I never used it. In fact, I didn’t really remember if it worked; I just had to fire up Terminal and test it to be sure it worked.

You can send Home, End, function keys, etc., in this way as well. iTerm lets you define custom key maps if you need to (though I haven’t).

Support for up to 256 colors

Another thing I wasn’t aware I was missing. It took a bit of finagling, and on Solaris systems I needed to add an entry for xterm-256color in my $HOME/.terminfo directory, but I can now support 256 colors in my terminal sessions. I use this for my shell prompts and Vim, primarily, but you can use extended color support in other programs as well, like Emacs or Mutt. Particularly when colorizing code in a text editor, you’d be surprised what a difference this makes. The default palette of 16 colors just doesn’t cut it.

Compare these two editing sessions. On the left is Vim in its default color scheme, using 16 colors. On the right is a 256-color supported session using my favorite colorscheme, zenburn.

Call me crazy, but if I’m looking at something all day, I’d rather it look like the one on the right.

Here are two shell prompts. These use the same $PS1 value in bash, but one uses color and one doesn’t.

It’s very easy for me to spot commands in my scrollback buffer. They stuck out like sore thumbs.

Also, the colors help with certain visual cues. The green (master) is the current branch if I am in a Git repository. The color draws my attention to it.

Next to the $ input prompt are two bracketed numbers. The one on the right is a count of current background jobs. It uses orange to make itself noticeable (and being right next to the place I’m typing doesn’t hurt either). The number to its left is the value of $? (the exit code of the last command). If it’s anything other than zero, it turns bright red to draw my eye to it.

This prompt packs a lot of useful information into a small area, and uses color to help draw my attention where I want it to be drawn. The numbers go gray when they aren’t of any use (when they are zero). The git branch vanishes if I’m not in a git repository.

Vertical zoom

iTerm has an option to set the zoom button to maximize the window vertically only. I used to have to do this with an Applescript, but now all I need to do is click the green bubble in the title bar, or hit a key combo that I’ve bound to the Zoom menu command. Perfect.

Visible status for background tabs

When you have multiple tabs in an iTerm window, they will show you an indication of what’s happening using color. Normally a tab’s title is black. If the session dies, it turns gray. If there is output coming through, it turns violet, and if that new output stops, it turns red.

This turns out to be very useful to keep track of things going on that will take a while, or output intermittently. For instance, running a long make, or tailing a log file.

iTerm is free, so why not give it a try?

Driving Miss GaGa

I’ve been listening to a lot of Lady GaGa lately.

Wait. Let me back up for a moment.

I’m not much of a music person. I don’t have music playing all day like most other working geeks seem to. I find the lyrics too distracting, especially when I’m coding.

(Sometimes I listen to instrumentals: John Williams; Blue Man Group; Juno Reactor. But usually I work in silence. It fits my largely spartan, minimalist working style.)

As a result, most of my music listening happens in the car. My wife occasionally burns a CD of whatever she and the kids like at the time. The current CD, playing nearly any time we’re in the car, is a slightly eclectic mix including The Beatles, They Might Be Giants, and yes, Lady GaGa.

These three tracks form the sum total of what I have heard from Lady GaGa.

  • So Happy I Could Die
  • Bad Romance
  • Paparazzi

I like her voice. I don’t know the music terminology necessary to explain why I like it; I just like how it sounds. But I noticed that over time, I decided that it sounded significantly better in “Paparazzi.” Why is that? I wondered. It didn’t make that much sense—the lyrics aren’t especially deep or meaningful, and the general range of her voice between the songs isn’t very different. It seemed like they ought to be roughly equal, but they weren’t.

I finally figured it out today: she recorded “Paparazzi” without auto-tune.

I’ve never paid much attention to auto-tune. I’ve heard people complain about it, and I eventually googled it, but not being a music person, I moved on to something else quickly. But I find that now that I’ve noticed it, I can’t ignore it. It pisses me off.

It creates jarring, stepping transitions in the audio. It sounds like a computer from the 80s trying to synthesize speech. It sounds unnatural.

But it’s worse than that, if you ask me. Remember, I’m talking about three songs from the same artist. Comparing the auto-tuned tracks to what I’ll call the “natural voice” track, the latter is clearly superior. Meaning she doesn’t need the damned thing and it just makes everything sound worse. One has to wonder if some arrogant dick producer insisted on auto-tuning everybody he recorded because it cost him a mint to buy it. Even if it’s a net lose in terms of quality.

I find myself eagerly awaiting auto-tune’s demise. Partly because I find it to be something of a dishonest representation of the art it purports to improve, but mostly because it makes me think of Stephen Hawking. Wearing a meat bikini, in this case.

It’s going to take you all day to scrub that image out of your mind.

Dr. Schreber, I presume?

I’m a big fan of the movie Dark City. I’ve watched it dozens of times.

(Mild spoilers below.)

Kiefer Sutherland’s portrayal of Dr. Schreber is arguably, in my opinion, the best of his life. Sure, he’s now known for playing Jack Bauer, and for various roles past, stretching back to “Lost Boys.” But for me, Kiefer’s mastery of his craft is best shown by his performance as the one lucid human in a city living in eternally forced delusion; a quiet, damaged hero.

I never attached any significance to the name of his character. Today, I stumbled into its origin quite by accident, while reading a review of a book about hypochondria.

Daniel Paul Schreber is the least known of Dillon’s subjects, and we may fairly regard him as the one plunged deepest into the pit of hypochondriac delusion, since it was definitely not true that 240 Benedictine monks were living in his skull. Freud wrote him up in 1911, but his own account was given a few years earlier in Memoirs of My Nervous Illness. Born in Leipzig in 1842, Schreber became an eminent jurist and a heroic sufferer. He was subject, he felt, to assaults on his body which he called ‘miracles’, though they were of a malign type. Dillon describes an array of ‘extraordinary amputations, evacuations and disappearances from within the unguarded precincts of his body’. He was bombarded by rays. Sometimes his stomach vanished and his food went straight down to his legs. He had survived so much he feared he might be immortal. He was also turning into a woman, who would be impregnated by God and found a new race (he was the sole survivor of the old one, since all the people walking about in the world were dead already). From time to time Schreber was able to corral his delusions and live among the well. But after five years during which his symptoms remitted he became subject to the appalling conviction that his body was dead and rotting, while his head was still alive.

If you haven’t seen the movie, you probably won’t see how completely fitting the character’s name is.

Dr. Schreber lives in a nightmare landscape, an ever-changing world where the buildings of the city change routinely, and even the people around him change their identities and personalities. The entire city is unaware, and he alone sees the machinations of the world. His own memory has been torn from him; all he has left is a working knowledge of psychiatry. One has to wonder if he chose this name for himself, given his background and present circumstances.

He is the only human who is not walking around in a false reality (the sole “survivor” of his kind). He is the only living (wakeful) man in a city of the dead (the denizens, who live in a dream, or the Strangers, who inhabit the bodies of the dead).

I think I’ll dig out the DVD and watch it again soon.

Aside from this enlightening tidbit about a beloved film, the article itself is a review of a book profiling hypochondriacs from history. An interesting read, especially if you are, like me, so afflicted.

What is going on in there? - London Review of Books