Category Archives: Technology

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.

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.

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?

Easy Secure Passwords

In the spirit of the XKCD cartoon, I’ve written a tool to help me think of really secure, really memorable passwords.

For example, here is a set of 5 such passwords chosen at random from a pool of 3 million million million passwords:

starkly.scoop.drawer.gifted.become
stack.epilogue.surprise.print.ancillary
beast.incentive.cloud.country.magical
practiced.original.sinusitis.low-wage.widowed
snarl.ritual.trouble.power.shoreline

But that’s a lot of typing. If you’re willing to be less secure, here are 5 sample passwords chosen at random from a much smaller set of just 625 million million passwords:

likely.crippling.digital.distrust
clogged.gaiety.earth.bring
ragged.online.house.suppose
wordplay.golden.humbling.adviser
untimely.plenty.all-pro.cancer

Still too much typing? How about these 5 super-easy passwords chosen at random from a set of just 425 million passwords:

brawl@social
surrender;newsman
parallel&thwarted
comedic*effort
flooring>brutal

Ubuntu Linux on an HP RP5700

I recently had the opportunity to purchase four (4) HP RP5700 systems at $20 each. I’m not entirely sure what I’ll do with the others, but I’m installing Ubuntu Linux on one of them. Here are some notes along the way.

It’s odd how difficult Ubuntu makes it to find the checksums (MD5 hashes) for the ISOs you download. Forget security, how do you know it downloaded properly? It turns out there’s a whole separate page telling you what the checksums are.

Burning CDs is hopeless. Optical discs are such an amazingly useless medium. About one in four works at all, and those suffer from bit rot even quicker than floppy disks used to. The instructions for making a CD are fine, but the Burning ISOs HOWTO is available if you have problems.

I’m so glad we have USB sticks now. The instructions for making a bootable USB stick are somewhat arcane, but I have the computer science background that makes it look easy.

I had problems installing the bootloader. That’s a fatal error, I understand, from an otherwise unhelpful dialog box. A whole bunch of searching around brought this page to my attention, which explains what to do about certain kinds of grub installation failures.

Audio Editors

One of the things I do every week is turn a recording of my sermon for the week into a podcast. (Find them here and in these archives.) That’s a pretty complicated process, so some people just upload the audio file to a hosting service that does the rest.

But getting the audio file is the part I wanted to talk about, because I just bought a new waveform editor, and I wanted to post my impressions and some very subjective reviews of the alternatives I considered.

For years, I’ve used Amadeus by HairerSoft. I like it and it has all the features I need. It has a great many more features than I need, for that matter. One of its many features is the ability to check for upgrades. That’s great as long as they’re free minor upgrades. Sometime about six (?) months ago, however, it came out with a non-free major upgrade, and the upgrade-check software gives me an obnoxious dialog that says “Cancel” where it ought to say “Not now” or “Maybe later.” So that’s been bugging me.

Unfortunately, they wanted $40 to upgrade. Now, that’s a fair price to pay even if there aren’t any new features. I’d be happy paying $40 every two or three years, just to keep them in business issuing the minor fixes for new OS compatibility or whatever.

So why “unfortunately?” I say “unfortunately” because they also sell a non-upgrade version on the Apple App store, and that’s the one I wanted. I really like the App store, not least because it means I can install the software on either of my Macs, because App store apps work on up to five (?) machines.

But there’s no way to get the upgrade pricing on the App store. Sigh. That meant I had to think about what I was doing. I hate when that happens.

There are three or maybe five competitors to Amadeus:

Garageband. This actually might do the trick. I just don’t want to go to the trouble of figuring out how to use it for a podcast.

Logic Pro. Like Garageband but more so, and with a $200 price tag.

Audacity. A great price plus the joy that comes of using an open source app. The problem is, the user experience on a Mac isn’t what I would like. (To be fair, I can’t even remember what it is that I didn’t like. Maybe they wanted you to use X11. Not happening.)

WavePad by NCH. This is an interesting piece of software: beside the Mac, it’s available not only for Windows but for iOS (iPhone, iPad, and iPod Touch). What I liked: explicit support for 24-bit sound files. What I didn’t like: it’s not as quick as Amadeus. That matters when you’re working with 800 MB .wav files.

Fission by Rogue Amoeba. Like: the name, especially for a company with “Amoeba” in its name. The feature set seemed pretty slimmed down compared to WavePad and Amadeus, but enough to do my work. Interestingly, it offered an envelope feature.

Ultimately, it came down to price. WavePad has a free version, but the paid version was more than my budget. I went with the upgrade to Amadeus, since it was the same price as Fission.

P.S. While I’m writing this, I should mention Levelator. It is why I don’t know all the cool features in Amadeus or need them in Fission/WavePad/what-have-you. You drop an audio file into it, and it levels out the sound a lot better than I could.

P.P.S. One of the things I should look for is the ability set the ID3 tags. I didn’t even think to look when I was comparing the editing features, but once I got done and purchased the upgrade, I wanted (for the 100th time) to set iTunes-recognized ID3 tags for the podcast. You can do that within iTunes but you have to round-trip it through there to do so. I’d like something that I don’t have to add to my iTunes library. All my favorite preachers’ sermon podcasts have nice ID3 tags, but I’m too lazy to do it right.

Ruby and Mac OS X Lion

When Apple switched from GCC to LLVM in Xcode 4.2, they made it significantly more difficult for me to run ruby 1.9.2. (What are the odds this will get easier with Mountain Lion?)

I was using rbenv and its rbenv-build plugin to install ruby 1.9.2 and it told me this:

$ rbenv install 1.9.2-p320

ERROR: This package must be compiled with GCC, but ruby-build couldn't
find a suitable `gcc` executable on your system. Please install GCC
and try again.

DETAILS: Apple no longer includes the official GCC compiler with Xcode
as of version 4.2. Instead, the `gcc` executable is a symlink to
`llvm-gcc`, a modified version of GCC which outputs LLVM bytecode.

For most programs the `llvm-gcc` compiler works fine. However,
versions of Ruby older than 1.9.3-p125 are incompatible with
`llvm-gcc`. To build older versions of Ruby you must have the official
GCC compiler installed on your system.

TO FIX THE PROBLEM: Install the official GCC compiler using these
packages: https://github.com/kennethreitz/osx-gcc-installer/downloads

You will need to install the official GCC compiler to build older
versions of Ruby even if you have installed Apple's Command Line Tools
for Xcode package. The Command Line Tools for Xcode package only
includes `llvm-gcc`.

Note: when you install that, it doesn’t (appear to) provide an uninstaller. Instead it says this:

If something doesn’t work as expected, feel free to install Xcode over this installation.

Once installed, you can remove Xcode completely with the following:

sudo /Developer/Library/uninstall-devtools –mode=all

Bummer for me, huh? Mercifully, the GCC installation package doesn’t mess up the llvm-gcc link in /usr/bin/gcc. But that means when I do the ruby build, I need to add:

export CC=/usr/bin/gcc-4.2