Emacs: custom mode line #

Dirk-Jan C. Binnema’s mode-line blog post inspired me to post about my own Emacs mode line configuration. I found the default mode line to be too busy for my tastes. I removed most of it and added to the features I care about most. Here’s what it currently looks like:

Emacs mode line

Labels:

Interactive diagrams #

Five years ago I got interested in interactive diagrams and made a few, but then got distracted by other things. I wrote a blog post about why I was interested in them. I've recently become interested in them again. Back then, I used Flash, but these days I think HTML5 is a good option. I generally make better progress by starting small, so I've started working on something fairly simple: a diagram showing where the “blind spots” are when driving a car.


(click through to try it)

It's not yet complete but I've already learned some things:

  • If you have your seat forward the blind spots are smaller than if you have your seat back.
  • The right side mirror shows much less area than the left side mirror. To see a larger area you need to distort the area, which causes things to look smaller. This is why you see “Objects are closer than they appear” on the right mirror but not the left mirror.

In retrospect, these should've been obvious, but the diagram is what made it clear to me. It also became clear that the diagram needs more work. I need to add an option to make the right side mirror curved (I'm not sure what the typical curvature is). I might need to calculate the effect of someone rotating their head. I should measure car mirrors and the driver position inside the car.

It's been a fun little project. I learned some Javascript and SVG, and I got to play with Mike Bostock's d3 library, even though it's overkill for a diagram like this. The process of working on the diagram helped me understand things and motivated me to learn more. I'd like to work on several more interactive diagrams to see if the car diagram is a special case or if interactive diagrams are generally useful for me.

Labels:

TiVo Features I want #

Over the years Tivo has added lots of features to the product. Unfortunately I'm not interested in most of them. Things I don't care about:

  • Swivel Search
  • Guru Guides
  • podcasts
  • Discovery Bar
  • KidZone
  • radio stations
  • games
  • TivoCast
  • Photo, music, video streaming from my computer

I do like the internet guide loading (so I don't need a phone line), the Netflix/Hulu/Amazon streaming, and support for HDTV (Cablecard).

What I'd really like are features without funny names:

  • When I press a button on the remote, the Tivo should react instantly.
  • No more waiting. When I change a season pass or settings, I shouldn't have to wait for the Tivo to do its calculations. It should let me continue while it works in the background.
  • When I delete several shows in a row from a folder, the Tivo shouldn't get confused. I sometimes find that it tells me the group is now empty, and I have to go out and back into the group to see the remaining shows.
  • When I add a show to be recorded (or a season pass), I want to choose a folder. I don't want to use the folders by show name; I want to choose folders that mean something to me, like “history shows” or “time travel movies”. This didn't matter when the capacity was 40GB but the more storage there is, the more useful folders become.
  • Instead of assuming I receive all 500 channels, ask me which level of Cable TV I subscribe to, so that I can see just the 100 channels I actually get. Every channel change can be relative to that list. Right now, most channel changes are irrelevant to me, and end up adding channels that I don't actually get.

I suspect that as a company gets larger, it's easier to get management to approve people working on features with names than on features without names. However, this is pure speculation on my part.

Labels: ,

Gene therapy #

In an alternative universe, instead of hearing about gene therapy for:

  • Cancer
  • Alzheimer's
  • Parkinson's

we'd be hearing about gene therapy for:

  • Hair loss
  • Hair color
  • Hair style
  • Eye color
  • Skin color
  • Perfume
  • Effects of aging
  • Weight loss and gain
  • Muscle growth
  • Body part enhancement
  • Chicken that tastes like bacon

For the yellow outfit you're wearing today you might pick a light brown skin tone and green eyes. You'd use the light brown skin tone body wash to change the genes in your skin. You'd put in the green eye eyedrops to deliver the genes into your eyes. You'd place a stencil on your skin and use a spray to deliver genes for a light skin color tone to form a tattoo. You'd deliver citrusy scent genes to the odor-creating bacteria on your skin to produce that smell today.

But we don't live in that alternate universe. Instead of all these miracles, all we're going to get is a cure for cancer.

Labels: ,

Microwave Oven controls #

In the old days, microwave ovens had dials. You turned the dial to the amount of time you wanted it to run, and then it ran. Life was simple.

These days, microwave ovens have lots of buttons. Yes, there are more features, but it's also much more confusing, especially for the simple use case.

The microwave I have has the best of both worlds. For the simple case, it uses a dial. For the extra features that are rarely used, it uses buttons. The dial has a good feel to it, and it has discrete stops (not continuous). The stop size increases as the time increases:

  • From 1 to 10 seconds, it's rounded to the second.
  • From 10 seconds to 1 minute, it's rounded to 5 seconds.
  • From 1 minute to 5 minutes, it's rounded to 10 seconds.
  • From 5 minutes to 10 minutes, it's rounded to 15 seconds.
  • From 10 minutes to 30 minutes, it's rounded to 30 seconds.

Consider the alternatives. If it had been linear, with high precision (1 second), I'd have to turn the dial for a very long time to reach 10 minutes. In addition, my compulsive behavior would have me fiddling until it's exactly 10:00 minutes, not 9:57 or 10:02. If it had been linear, with low precision (10 seconds), I'd have no good way to specify durations such as 15 or 45 seconds. I'd end up running it and watching it the whole time, stopping it at the right time.

I love using this microwave oven. For most needs, I can turn the dial, then press Start. Rarely do I have to use the other buttons.

Update: [2013-03-14] The updated model is the Panasonic NN-SD997S, $187. There are also some less expensive ones as well that feature the dial.

Labels:

Evolutionary handicaps #

We evolved alongside parasites that weaken us, and recently in human history we were able to get rid of those parasites. What would happen? Our bodies would overcompensate, just like the “floating arms” experiment.

  • If parasites weakened the immune system, then human bodies would adapt by making the immune system more aggressive. Removing the parasites would lead to human immune systems increasingly overreacting to things. There are some people who infect themselves with parasites to treat allergies and immune disorders.
  • If parasites increased our aggressiveness (as toxoplasma gondii is hypothesized to do), then humans would adapt by lowering aggressivness. Removing the parasites would lead to more the human race becoming more passive.
  • If parasites weakened our mental abilities, then humans would adapt by making extra-powerful brains. Removing the parasites would lead to more intelligent humans.

Is it possible that human brains are far more powerful than they need to be for survival in the wild because parasite evolution forced them to be that way?

Labels: