Monthly Archives: August 2012

More rbenv notes

My last post on rbenv mentioned some things you need to do to get ruby to build on Mountain Lion. Here are a few more things.

This guy Jacob Swanner didn’t want to use either Xcode or gcc. He just used the Xcode command-line tools, with a CC environment variable, thus:

$ CC=/usr/bin/clang rbenv install 1.9.3-p194
$ rbenv global 1.9.3-p194

That won’t work with older versions of Ruby, however, as I mentioned before.

I noted he is also a Homebrew user. I’m not yet ready to go there, although macports gets more and more frustrating with each OS release. (I’m not alone.) (But that’s a subject for some other time.)

And, for convenience, here’s another Homebrewer’s notes on how to get ruby building again with Mountain Lion

rbenv notes

I used to use rvm to manage my ruby environment, but the latest hotness seems to be rbenv. Here are some tips about using it. They’re aimed at me, because by the next time I need to use it, I’ll have forgotten. But you can read them too:

One of the things you want is rbenv-build:

Installing ruby-build as an rbenv plugin will give you access to the rbenv install command.

$ mkdir -p ~/.rbenv/plugins
$ cd ~/.rbenv/plugins
$ git clone git://github.com/sstephenson/ruby-build.git

(Note the assumption you’re using git. I don’t know what people who prefer mercurial are supposed to do.)

This will install the latest development version of ruby-build into the ~/.rbenv/plugins/ruby-build directory. From that directory, you can check out a specific release tag. To update ruby-build, run git pull to download the latest changes.

But that won’t work with Mountain Lion. So you’ll need a version of ruby that can be built with clang.

$ rbenv install 1.9.3-p125

Sync iOS Calendar with Multiple Google Apps Calendars

In a previous posting, I said I had problems connecting with more than one Google calendar per Google app.

I assumed that was a misfeature of the syncing capability of the iOS calendar apps. But I was wrong.

The problem was with Google — or, really, with me.

Google provides an interface called iPhone Select. If you want to sync more than just a single calendar with your iOS devices, you have to change a setting there. (By “there” I mean in the iPhone Select interface. You can’t change it in the regular Google Calendar settings page.)

You can find out more about iPhone Select here.

Kudus to BusyMac, which alerted me to this feature of Google Apps when I actually RTFM‘ed their documentation.

Syncing Calendars in Mountain Lion

Update: I’ve figured this out. The problem wasn’t with Apple at all. I was wrong to assume it was at their end, and even more wrong to assume the problem would never be fixed due to the poor state of relations between Apple and Google. I was wrong and I’m sorry.</update>

I’m having trouble with Calendar syncing in Mountain Lion. It works with multiple Google-Apps accounts, so long as they just have a single calendar apiece. Typical version 1.0 Apple junk. Maybe someday it will work,   Continue reading

Blast From the Past

I found this program called Cathode that does an incredible job of recreating the experience of writing code on a CRT display, ca. 1980–83. Many was the hour I logged on the Lear-Sigler ADM-3A — in those days time was logged, so you could pay for it. That was incredibly unfair since the I/O (for l’users) was throttled down to 4800 baud.

CRT Recreation

Check it out. Then give it up, before the ergonomics make you blind.

As a sort of colophon, the code I’m editing here is genuine K&R C, from the Old Testament. There are two anachronisms:

  1. I’m using vi to edit it, but in the day I was busy getting all carpal with emacs. I had no choice here: there might be an Emacs on my system, but if there is, I can’t remember how to get out.
  2. I wrote this code in 1992, by which time we used terminal emulators like Kermit on PCs, instead of real terminals. However, it was a recreation of something I wrote in about 1983 to translate English into “Klingonese.” (Not the stuff used by Star Trek fans. That came later. I’m talking STA KANG, PUSHJ JRST.)

To be fair, I don’t think I ever wrote C on the ADM-3A, or even a VT-100. I don’t think the DECSystem-20 even had a C compiler. All my C was on the VAX, which had HP-2621A terminals.

Neil Peart Interview

Interesting (but brief) interview with Neil Peart about Clockwork Angels and other topics.

…I’m less comfortable in a gregarious social situation, and you can be introverted and still share everything. It just means that you’re guarded. Certainly there is a line that seems perfectly clear to me about what’s to be shared and what isn’t, but it’s not always so clear to others. Extroverts never understand introverts…

I got the singles (“Caravan” and “BU2B”) back in April of 2011 when they came out, and the album back in June. It’s okay, but I prefer their stuff from Hemispheres to maybe Hold Your Fire (or even Presto and Roll the Bones) compared with stuff from Counterparts and later in the 1990s. It came with a PDF booklet, which I guess I ought to have read. If it had been on a CD, or a 12″ album, I’m sure I would have read the liner notes. As it was, I didn’t even realize it was a concept album. In a few weeks the novelization comes out: Clockwork Angels: The Novel

There was also this bit:

A realization I had lately: it is impossible to follow the teachings of Jesus Christ and be a Republican. It’s philosophically absolutely opposed—if they could only think about what they were saying for a minute.

I know a lot of my seminary friends would agree with him about that. As for me, well, that’s a wall I’ll just keep beating my head against. (Bonus questions: is the point even to “follow” his “teachings?” Is Jesus just a teacher? Can Christians be involved in politics at all? That was a live question for the first century of the Reformation, and still today informs much of the tradition: Amish, say, or Quakers.)

Lit Nights Lead to Dark Days?

Depressed? Turn off the lights and go to sleep. That’s the conclusion of a study recently announced in Time magazine:

A study from Ohio State University Medical Center found that hamsters with chronic exposure to dim light at night showed signs of depression within just a few weeks: reduced physical activity compared with hamsters living in normal light-dark conditions, as well as less interest in sugar water (a treat for the hamsters), greater signs of distress when placed in water, and changes in the brain’s hippocampus that are similar to brain changes seen in depressed people.

I just spent the past three months in the Alaska summer. Hmmm.

But the upcoming Alaska night won’t be a solution, because I live in an age of cheap, bright LEDs, and all my gadgets have too many of them. See the story in Popular Mechanics.

The LED indicator proliferation is due partly to the litigious nature of consumer culture. (Hedge cites manufacturers’ fears of “failure to warn” lawsuits.) But most LEDs are added because product designers see no reason not to. “Often in the world of design, if you can afford to do something, you do it,” Hedge says. But even if a functional case could be made for each of these lights individually, in aggregate they just create sensory pollution and dilute the message each light ought to deliver: “Hey, something’s going on with this device.”

I love the accompanying illustration. It reminds me of my bedroom.

“This was not a boating accident!”

…well, actually, it was a boating accident, according to the Anchorage Daily News:

Two women are dead after their canoe capsized on Eagle River on Wednesday afternoon, police and fire officials said.

They had PFDs and other people were with them and still they died. Authorities are investigating.

Earlier this summer, I was trying to learn how to canoe in order to go for a float trip down the Gulkana. But I lost my enthusiasm for the project about the 117th time the canoe tipped me into Campbell Creek.

It’s not that it wasn’t fun. Even I, in my state of complete naivety, could tell it had the potential to be very fun. But not so fun I couldn’t walk away from it.

More on Passwords

In my previous entry about passwords, I didn’t say how hard it would be to crack my passwords. Beats me. I didn’t even say how many bits of entropy they represent, which is apparently what all the cool crypto cats do.

(The first number I cited, 3 × 1 million3, has 62 bits(!) of entropy. That’s a tough nut to crack. My least-secure option I said was from a pool of 425 million passwords. That’s only 29 bits, which is still about twice as secure as the passwords people suggest you use, things like Tr0ub4dor&3.)

The reason I didn’t cite bits of entropy is (first, that I don’t know math, but secondly) because I’m more interested in the size of the password pool. That is, if you knew the set of common words I’m using (you don’t, but you could start here), how many different separators I use, and the rules for combining them, there are that many possible outcomes.

My pool-size numbers are conservative, because a cracker doesn’t know (for sure) if I’m using only legal words, much less common ones. For all the would-be cracker knows, my dictionary could be full of gibberish like you get from pwgen(1):

iquifeer  nosubiek  iungeime
eighaeka  aqueejas  oaxepohb
aequahsa  raingaej  azeefeep
johphaec  fahtieda  aihaimif
aduyoowe  airahbop  iedeibae

I might even be using pwgen’s “hard” settings:

jjfidv7B  8ZbBAEMP  9zR5PBPn
8f45kjMB  bWZiOF6j  3P7t4FLY
Y1iZKeYA  z8k0nv1T  WD3yQcW8
nDyVSe5o  k42muCy2  F7W43IFD
u2pGNV8F  fQ0CvvT7  k7awERR1

I wouldn’t do that, because those passwords would be hard for me to remember. But how does the cracker know that?