Mists of Time

When you wake up at 3am and start looking through old emails trying to find something, but end up going in a completely different direction…

  • In 2000, the MIT Admissions Office used to ask for your Social Security Number in order to sign you up for their email list.
  • In high school, my favorite cheese was “the orange spreadable stuff”.
  • In 1999, I was really impressed by a new payment service from X.com called PayPal.
  • Back then I spent an inordinate amount of time thinking and worrying about life and the pursuit of happiness. So not much has changed on that front.
  • At some point my parents hosted a 40th birthday party for a friend of theirs that involved a male stripper. It was something I said I wouldn’t soon forget. But luckily, I have.
  • It’s great convincing your friends to use PGP email encryption, until you want to read those emails a decade later and no longer have the secret key. I can only assume those screenfuls of random gibberish hide the best secrets of all.
  • Sometimes when I was 16, I could be completely oblivious and mean.
  • Sometimes I could be incredibly thoughtful and caring.
  • I can no longer remember at what point my best friend from high school and I stopped talking, or why. I have a vague recollection that we had a big fight, that I did something terribly wrong. But looking back at these emails, I’m increasingly convinced that we just naturally drifted apart. I’m not sure which possibility is less satisfying.
Geeking Out

Slow performance of Kerberos actions in RHEL 6 (and CentOS 6)

It took me several weeks to track down this problem, one that dramatically impacted the speed of specific actions that require frequent Kerberos lookups. The symptom is slow Kerberos actions such as doing a “kinit”. The backend doesn’t matter I don’t think — we have both MIT Kerberos and Active Directory, and the service is hitting both. On a RHEL 5 machine with a similar configuration, such a lookup in our environment, which requires a few hops and DNS lookups and such, takes around 80ms. On the new RHEL 6 machines, the same lookup takes around 300ms. Most of the time this is barely noticeable, because Kerberos actions are infrequent and normally only need to occur once.

It so happens that an important service we run is Subversion for source code management. Our Subversion runs under Apache (using mod_dav_svn) with Kerberos for authentication. We allow both password-based authentication and ticket-based authentication. Apache handles these as negotiate requests using the mod_auth_kerb module.

When authenticating with the password dialog, you put in your password once, Apache takes it from there and performs the Kerberos lookup, and all further actions occur speedily. But when using a ticket, the preferred authentication method, actions are very slow. This is specially noticeable for large check-ins, but is annoying most of the time, even for small actions, because SVN has to perform several requests for a simple update or small check-in.

I eventually tracked down the problem as being related to the newer version of Kerberos on RHEL 6. (For a while I was convinced the culprit was SSSD, but not so!) Specifically, newer Kerberos RPMs are patched to load in SELinux label configurations and use them when creating temp files. Unfortunately the label configurations are very large files full of regexes, all of which need to be churned through and memory mapped — on every request! In our case that portion of the operation takes about 120ms, and happens twice per request.

The solution is to disable SELinux completely (not just set it to permissive mode) and restart, or, perhaps to recompile krb5 without the selinux patch. Of course, once I finally figured out what was going on, I discovered a previously filed bug that is languishing in Red Hat’s Bugzilla that outlines this exact issue.

So for the next person who has this problem, I hope this pops up earlier in the Googles, and saves you some aggravation.

The Justice Department is sanctioning the destructive, anticompetitive campaign of a corporate giant with billions in cash and boundless ambitions. The situation is bizarre, and without precedent, to our knowledge: the Justice Department is intervening to help entrench a monopolist

The Authors Guild Blog

I’m thinking seriously about how to dump my Kindle, and my large investment in Kindle books, for a Nook.

★★☆☆☆
Review

The Hunger Games Trilogy

This review contains general background details and one important but non-specific plot point for the books Catching Fire and Mockingjay, but no direct spoilers.

 

Hungry_Hungry_Games6z0Detail
Hungry Hungry Katniss

You know the story, right? Post-some-undefined-apocalypse, the survivors formed a new society, and they called it Panem. Rule is from a capitol, called the Capitol, and the work happens in twelve districts, called the Districts. The Capitol has it easy, the Districts are subjugated by Peacekeepers and forced to work in such occupations as subsistence coal mining. Following me so far? Because this is sort of how the exposition goes in this trilogy. Telling, not showing.

Welcome to My First Sci-Fi Novel, with Extra Girl Appeal.

Continue reading “The Hunger Games Trilogy”

Leaving Instapaper for Readability

Update: Readability has informed me they are not venture-backed. I apologize for the error.

Instapaper is a “read it later” service, that lets you save long-form articles and blog posts from the web to read at your convenience on your iPhone or iPad. It strips out ads, pagination, and navigation for a clean reading experience. Instapaper is slick, clean, and simple, but a newer upstart service called Readability is infringing on its turf.

Some people have argued that Readability is a “rip-off” of Instapaper and is bad because it is venture-backed vs Instapaper’s one-man operation. I don’t really care about that, my chief argument is that Readability is a better service, with a better philosophy, and thus is what you should use.

Readability offers very nice integration with web browsers (via extensions), works very nicely with the Amazon Kindle (with an instant “send to Kindle” function), and generally offers more polish and better style than Instapaper, both on its web site and its apps. But the most important reason why Readability is a better product is because of a unique and very powerful subscription model.

You see, the ability to strip out all of the ads, pagination, navigation, and other chrome from an article and just get the pure text is a wonderful thing for the end-user, but it is not at all good for the publisher. Those ad impressions are what pay for that content. As long as I have used Instapaper I have always felt a little bit dirty.

How to solve this philosophical conundrum? Readability facilitates this in a very innovative and cool way. You decide how much money you want to pledge every month towards a content “subscription,” minimum $5. Readability keeps track of what you read over the course of the month and divides up your subscription pricebetween the publishers of the articles you read, minus a 30% cut. They take care of aggregating all of the subscriptions and paying each publisher every month. The more people read a given article, the more they get paid.

Simple, elegant, and very fair. Once I discovered Readability, I felt bad about being a leech for so long, and I felt bad about Instapaper, the service that has let me do so. And for that reason above all, I am now a proud Readability subscriber, and you should be too!

Just another story about Boy and Girl

This time boy is up late, real late, watching meaningless video clips and refusing to think. Girl is passed out in the guest room, reeking of desperation and full up with bile.

The Animal bounds up the stairs, peeks his head around the door. Boy sees something in his mouth. No, not something — Animal’s most prized possession. A jingle from the bell on its braided tail as he drags it about. The pitter-patter of his supple paws.

He is just a little cat, and he does not like the shouting and the stomping and the slamming of doors. He wants to give his Mama comfort in the only way he knows how, he wants to share his favorite thing in the world.

She does not hear his mews and calls, does not respond to the scratching at the door. He cannot curl up beside her, for she is not herself.

The Animal leaves his mouse gently in a safe corner and visits Boy instead. I’m sorry, says Boy, please, please don’t be sad. The Animal makes a sound, a guttural noise, not quite a growl. Boy lifts his arm to give Animal comfort; is met with the sharpest of claws. Cheeks wet, he does not pull away.

When the haters hate, when the bigoted politicos try to drag us back there, when the warped logic and the lies and the bullshit starts to fly, it’s worth remembering an uncle I never knew, and the moment when he knelt on the floor of his apartment, opened the door of the oven, and leaned in.

A commenter on MetaFIlter, telling a powerful story of how our society has changed in just a few generations. (via Mathowie)

I have always felt that no matter how inscrutable its ways and means, the universe is working perfectly and working according to a greater plan than we can know. In the last few days, I have had to battle with the fear that everything is actually just random, that the universe is a howling void of meaningless chaos, indifferent to everything that I value. All hope has at times seemed unjustified to me. But groundless hope, like unconditional love, is the only kind worth having.

John Perry Barlow, eulogizing his fiancée in 1994

One reason women make less than men: they ask for less. Maybe?

Lots of interesting discussion all across the blog-o-web over a Reddit thread by a hiring manager discussing why women are underpaid relative to men in his workplace — they fail to negotiate for a good starting salary, or negotiate poorly. The discussion on Reddit is intense, with various anecdotes and theories being bandied about. There have also been some interesting responses elsewhere, including citations of studies about how women are treated differently than men in identical circumstances. Anyway, the most insightful comment I’ve seen on the matter was this one at the Atlantic by one Carl Pham:

You might adduce the general argument traditionally made by evolutionary psychologists: that women are inherently more conservative than men, i.e. they fear loss more than they hope for gain, compared to men.

This has always been the argument for why men are overwhelmingly more likely to take big risks in search of big payoffs — why test pilots are men, explorers are men, inventors more likely to be men, et cetera — and why women are more likely not to go bankrupt, turn to crime and violence to achieve their ends, pay their bills on time, and so on.

It may be this idea, if it is valid, extends to interpersonal negotiations, in the sense that women are seeking more to minimize net losses while men are seeking to maximize net gains. Mathematically, those might be the same thing, but in practice, they are not, and furthermore people with those ends in mind will often choose different means.

Myself, I fail to see why we can’t simply adapt our methods and expectations to the sex of the person at issue. Men should expect to use different methods and have different expectations when negotiating with women, and vice versa. We are not identical human-bots. What’s wrong with that?

All around, an interesting and important discussion, all the more interesting to me because it has so far not generally been particularly populated by people looking to place blame. It is clear that like any question in this genre the “obvious” causes may actually be effects, the “clear” remedies may be wrong, and no one has a complete understanding of all the factors involved.

I choose to fit myself into most of Apple’s intended-use constraints because their products tend to work better that way, which makes my life easier. But that requires trade-offs that many people can’t or won’t make. Previous-me tried to persuade everyone to switch to my setup, but I now know that it’s not worth the effort. I’ll never know someone else’s requirements, environment, or priorities as well as they do.

Marco Arment on technical evangelism and product choices.

I have reached the exact same conclusion. I can tell you what works well for me in my particular setup, but I can’t tell you what will work for you, nor can I solve your particular technical problems.

★★★★☆
Review

Allen + Roth Closet Kit

During recent remodeling I came upon the idea of having the contractor fit a relatively small walk-in closet into an existing space. With most of the construction finished, I painted the walls and went out to find a closet system to install. I expected to end up with one of the utilitarian wire assemblies offered by Rubbermaid, Closetmaid, and others. I was pleasantly surprised instead to find the new Allen + Roth offering at Lowes, which offers good-looking hardwood closet systems for the do-it-yourselfer at reasonable prices.

The woods and finishes are higher quality than is typical at this price point

There are two options, a “solid” kit package that offers a center unit, drawers, hanging rods, and shelves, or a “ventilated” (i.e. slatted) center unit without all the accessories. From there, various additional items — principally drawers and shelves — can be added to complete the project. Liking the ventilated look, and not wanting a few of the items included in the kit, I assembled my own collection of items and ended up saving slightly in price.

Continue reading “Allen + Roth Closet Kit”
Geeking Out

The Terrible User Experiences of Modern Kitchen Appliances

About a year ago I was on a smoothie kick and was about ready to boot my blender out the window. It was your standard big-box-store model, with a dozen buttons with descriptives like “pureé” and “Liquify”. An extra switch activated a sort of “turbo” mode, in case you need to go, as Nigel Tufnel would say, one higher. Unfortunately none of the buttons did what I wanted, namely take various solid and liquid ingredients and make them into a tasty smoothie.

So I threw it away, and bought this:

Osterizer Beehive Blender

I have never been happier with a blender. It has one mode, “on,” and when I turn it on, it blends things. No mix, no crush, no frappe, and no whip. Just blend.

A couple months ago we needed to purchase a new washing machine, and I went searching for the one with good ratings. Sadly Consumer Reports has no rating category for usability. I eventually settled on this nice Maytag, which offers 11 buttons, a dial with 10 wash modes, a customizable “my cycle,” and ten additional custom options and settings.

Maytag 2000 Washing Machine Control Panel
Maytag 2000 Washing Machine Control Panel

All I want is one button that says “make my clothes clean,” but sometimes I have to put normal clothes on “heavy duty” mode or switch from “high” spin speed to “extra high” to get what I want. I have no idea what prewash does — isn’t it just more washing?

This is my toaster oven.

Toaster oven from Costco
Toaster oven from Costco

It’s fine I guess. I’ve pretty much figured it out, but guests are always confused. When I make a pizza, I put it on the temperature recommended by the recipe, not whatever mode offered by the dedicated “pizza” button. I have never defrosted anything in my toaster oven. And the clock is never correct. I have on multiple occasions got everything set, walked away for the predetermined period of time, and returned to uncooked food — only to realize that I never pressed the “Start” button.

After about three minutes of thought, I came up with a better interface for this toaster. Here it is.

My Imaginary Toaster Control Dial
My Imaginary Toaster Control Dial

For toast you go to the left, and for bake you go to the right. Seems pretty straightforward to me, there are even words that say “bake” and “toast” to clarify. There is no keypad or selector arrows, just a simple dial. And there is no clock. Because I have an iPhone. And there is no cook timer, because, right, still have the iPhone. No pizza button, because, not only do I have an iPhone that can tell me at what temperature to bake a pizza, but also because a pizza button is not a real thing.

I would buy my toaster in a heartbeat, I’d pay double what a comparable toaster costs. But I guess no one else on the toaster market is like me, and I think that is sad.

At least coffee makers are still generally pretty straightforward. Maybe I should start drinking coffee.

Adventure

Remember that time I got engaged?

It was on a ski slope. I wanted to make it as ridiculous as possible, but also secluded, so there would be no onlookers to torment me. It was her birthday, December 21st, and we had taken the day off of work to go up to Waterville Valley in New Hampshire. The weather was iffy, and I wasn’t really sure when I should do it. It was early afternoon and things were looking dicey when the sky cleared and the moment presented itself. We were on the “Old Tecumseh” cutover trail, but Meghan has decided to misremember it as “Old Temucsuh”. When we later were in a souvenir shop that sold replica trail signs, she loudly asked for, “One Old Temucsuh, please!”

We went down a hard trail, and I was ahead. I stopped and she pulled up behind me. “Why are you taking off your skis?” She was about to get angry. I got down on one knee, which is always fun in ski boots, but I managed not to fall over. I had the ring in my jacket pocket in its little box, it had been there all day. I didn’t have much to say, really. Some people say I’m a man of few words. Others strongly disagree. Anyway, I asked her to marry me.

She said no and slapped me in the face, then skied off.

Nah, just kidding.

Some group was skiing by as I was getting up. A guy shouted something unintelligible in our general direction, and an excited Meghan said “we just got engaged!” and held up her ring hand. “Fine,” he replied, “but is she OK?” A girl in their party had fallen further up the slope. He wasn’t impressed by our engagement. The girl was fine. We took a picture and skied on down.

The ride back to Massachusetts was mostly filled with Meghan calling every family member she knew to fill them in. I called a few people in between her calls, but I’m not really a phone person. I figured word would get around. Meanwhile, Meghan’s cousin whom we were bringing down from college, while perhaps honored that he was the first to know about our engagement, was slightly less thrilled to have to sit through two hours of the same conversation repeated over and over.

We decided to stop for dinner in Davis Square before going home. We walked in the door of the restaurant and the second person we saw (after the hostess) was Meghan’s ex-boyfriend. He said hello. She said nothing, stared at him for a second, and then slowly held up her hand.

The bar fight was one for the ages.

Nah, kidding again. All three of us are still good friends. Heck, he’s even in the wedding party!

And that, children, is the story of how Meghan Reilly and Daniel Silverman got engaged.

More great Sesame Street celebrity cameos and parodies

I collected a few of these back in 2008, here are some that have come out since then.

These are all from the last couple of years, but they are new to me! And if you want a real blast from the past, how about Paul Simon performing “Me and Julio” with a bunch of little kids?

The Campaign For Real Monopoly

I am so 100% in favor of this. I really like Monopoly, but no one else does. I like playing it by the rules, but everyone is always surprised and confused by property auctions, and people insist on stupid rules like money for free parking. When played properly, using the actual rules, the game is much more interesting. I didn’t know about the two house rules often used at tournaments, but now that I do I am going to insist on them.

Geeking Out

MacBook Air overheating with OS X Lion and FileVault

I noticed today that my Mid-2009 work-provied MacBook Air, which I recently freshly installed with Lion, was generating a ton of heat, and operating really slowly. I noticed that the kernel_task process was using between 130% and 150% CPU, and the CPU meter was completely full. Meanwhile, no other processes were using a significant amount of RAM and CPU (in fact, I have barely installed anything on this machine yet). I tried quitting all of my applications, unplugging all peripherals, and disabling wifi with no change. I rebooted with no change. Even researching the problem online was highly frustrating because things were going so slowly.

After reading a variety of message board postings I came to the conclusion that the kernel_task high CPU usage was a symptom, not a cause. The machine was overheating due to a combination of very high temperatures (high-90s F) and being seated on a surface that did not allow it to dissipate heat effectively. The kernel_task was running, apparently, to keep other processes from using the CPU.

Strange as this seemed, there was an easy test — I plopped the laptop, now running nothing else, in front of an air conditioner and hit it full blast. Within a few minutes the kernel_task process dropped to 70-80% CPU usage and things became responsive again. But even though the laptop was cool to the touch, the process never went down from there.

My next thought was that perhaps the new FileVault full-disk encryption was playing a role, since it was one of the only things running once I had disabled all third-party processes and quit all apps. So I set the hard drive to decrypting, which took only 20-30 minutes on SSD. Sure enough, as soon as it completed, the kernel_task processor usage dropped to almost nothing.

I’m not going to repeat the experiment to verify the results, so use this as one data point only. But if you are experiencing similar behavior, first cool the machine and move it to a hard, flat surface. That should alleviate most of the symptoms.