Sat Jan 18 06:49:39 MST 2014

SOLVED: novacom on gentoo

The problem

I tried using novacom (from the sunrise overlay) to install Cyanogenmod on a new HP Touchpad:

$ novacom boot mem:// < ACMEInstaller5E
unable to find device

/var/log/messages shows a constant stream of:

Jan 17 20:18:30 r novacomd(novacomd-119): novacom_usb_findandattach_thread:565: 
usb_handle 0x00000000, bus=001 dev=045
Jan 17 20:18:30 r novacomd(novacomd-119): novacom_usb_rx_thread:413 -- usbll(00000000) error: reading packet, result(-1), errno 9
Jan 17 20:18:30 r novacomd(novacomd-119): novacom_usb_rx_thread:434 -- usbll(00000000) reading packet, reads(2), duration(100ms), result(-1), last_errno 9
Jan 17 20:18:31 r novacomd(novacomd-119): novacom_usb_findandattach_thread:565: usb_handle 0x00000000, bus=001 dev=045
Jan 17 20:18:31 r novacomd(novacomd-119): novacom_usb_rx_thread:413 -- usbll(00000000) error: reading packet, result(-1), errno 9

The Cause

libusb incompatibility

The Solution

Build a local copy of libusb-0.1.12

Grab the following ebuild files from


Save them locally into a scratch directory, preserving the directory structure. Then run:

$ ebuild libusb-0.1.12-r7.ebuild manifest
$ ebuild libusb-0.1.12-r7.ebuild compile
$ cp /var/tmp/portage/dev-libs/libusb-0.1.12-r7/work/libusb-0.1.12/.libs/ /opt/palm-novacom/

Then edit /usr/sbin/novacomd (it's a shell script), adding an LD_PRELOAD line as follows:

- exec ./novacomd "$@"
+ exec ./novacomd "$@"

You can then /etc/init.d/novacom start and all will be well.


Thanks to James Broadhead for the novacom ebuild and for his 2012 followup note about libusb.

Posted by Ed | Permanent link | File under: Linux

Thu Jan 31 16:14:33 MST 2013


Let's talk abortion. We can all agree that a world with fewer abortions would be a better world. How can we get there? The reasonable person starts with improving sex education and expanding access to contraception. The reasonable person also accepts that, no matter what, there will always be some baseline number of abortions.

Unfortunately, not everyone is reasonable. No need to name names, but you know who they are: “Ban abortion!” “Ban contraception!” (“Ban education!”, say some of the more extreme ones). And the thing is, it's not that they're stupid or evil—they're just coming from a very different place. They received misinformation as children, and now it's just very hard to correct that.

How can we have a conversation with those people? Where do we even begin? Simple biology; basic human behavior; elementary economics; all those concepts are missing and need to be filled in. And before we even start, the person needs to realize that there might be something they don't know. (Not that they're wrong. Nobody ever thinks they're wrong. The only place to begin is by admitting that we might not know everything).

Daunting, isn't it? Do you feel a little despair? That's how I feel when I hear otherwise intelligent people talking about banning “assault weapons”. Yes, seriously. Look within: if you're reading this it's because you're a friend of mine, which means you're intelligent and self-aware. Look within, and ask yourself: do I know enough about guns to offer an informed opinion? Is it possible that I've been misinformed? Might there be something I don't know?

Let's talk.

Posted by Ed | Permanent link

Mon Oct 22 06:49:22 MDT 2012

...And All Is Well With The World

Just finished a two-day Wilderness First Aid class at REI. Good material, great instructors, but by far the most memorable part of the weekend was interacting with the students. It was a mixed lot, all ages sexes backgrounds and interests, every one of them remarkable. CouchSurfing has accustomed me to making brief but intense connections; this was less personal but somehow grander. We said our goodbyes, we may never see each other again, but I feel heartened to know that these good people are out there.

Posted by Ed | Permanent link

Wed Jul 25 19:37:42 MDT 2012

I am a Gun Nut

I grew up in Puerto Rico. Palm trees; rain forest; tropical breeze; mangoes in my back yard; murder. Yes, murder was (and still is) a daily part of life on the island. My education as a student driver included pausing at red lights after 11pm, looking quickly both ways, then moving on. And if another car bumps into you but your car is still driveable, don't even bother stopping: just drive away quickly. They're just trying to get you out of your car to kill you and take it.

Guns are cheap, easy, and plentiful in Puerto Rico. This despite the fact that they're almost impossible for a law-abiding citizen to buy. And despite the fact that it's 100 miles by 35, surrounded by water and theoretically easier to secure than mainland USA.

I grew up thinking guns were scary, evil. Why did they have to exist? Can't we just prohibit them? Then, like pretty much everyone who gets the opportunity, I left the island. Went to the US, college, job, never looked back. Visited family; but move back? Snort. Never a possibility.

In the US I encountered cognitive dissonance: I met gun owners. Some of them intelligent, rational, kind. How could that be? And how can the US, with all its guns, be infinitely safer than Puerto Rico? It really bothered me; so I asked one of these people. And got back a thoughtful, rational response. And I decided to learn. And learn I did.

Intelligent, compassionate people. Owning guns. Carrying guns. I could've just stuck my head in the sand, ignored the apparent paradox. But I asked, and I learned, and ... well, it's complicated. “Ban guns”, simple and sound-bitey, is a pretty bad idea. Pandora's box resists closing. When you make laws, the only people affected are the law-abiding. I've seen first-hand what happens when criminals have free rein, when they have no fear of a victim fighting back.

Look at Puerto Rico again. 100 by 35 miles. It would fit between Gallup and Albuquerque:

Map showing
Puerto Rico outline between Gallup and Albuquerque, NM

(click on image for an interactive map, and scale it next to your favorite landmark. Try Lake Ontario, the smallest of the Great Lakes. Or VatnajÍ„ökull National Park). You can't secure a place that small, how could you secure the US? 100 miles by 35. I know: you'll mention Japan or Canada. Different cultures, mindsets, trust levels. As I mentioned: it's complicated. And that's not code for “I want my guns”, it's code for “beware of good intentions, because you might make things a lot worse if you don't understand the problem.”

Intelligent, compassionate people own guns. Think about that. Question it. People who believe education and trust and infrastructure are key elements in building a society. People who believe you should be free to love whomever you like. People who think that getting a health checkup or buying groceries should not be an either-or decision. In other words: not Republicans. Think about that. And ask why. And learn. And then, once you've learned, help me solve the problems of violence and ignorance and poverty and desperation.

Posted by Ed | Permanent link

Mon May 28 09:25:15 MDT 2012

Review: Wouxun KG-UV6X

This is my initial review of the Wouxun { KG-UV6X} HT (probably identical in most ways to the KG-UV6D). First, a warning: you need the USB cable. Do not even think of getting just the radio and expecting to use it. You can't. First, the radio arrives menu-locked: you cannot do *anything* without first unlocking the menu key, and you can only do that from a computer. (Note to other Linux users: as of 2012-05-27 the open-source { Chirp} program is able to do this). And second, programming memories from the keypad is possible but painful. Now a couple of scenarios demonstrating what I mean by low usability. I am comparing to my 20-year-old Yaesu FT-530 because that is all I have. [yaesu-vs-wouxun.jpg] Scenario 1: monitoring two frequencies. You hear a transmission. Which frequency was it on? On my Yaesu-FT530: look at display. Look for signal meter (there are two, one under each frequency). Active frequency is the one above the active meter. On Wouxun KG-UV6X: look at display. Look for small arrow next to one of the frequencies. Now look at top right for a small "S" (letter ess). If you see it, active frequency is the one WITHOUT the arrow. If you DO NOT see an "S", active frequency is the one WITH the arrow. Clear? Scenario 2: you'd like to change a memory, e.g. because you got the PL wrong. Yaesu: make the change, store in same memory. Wouxun: forget it. Just do it on the computer. (If in the field: delete that memory, go into VFO mode, hope you remember the frequency and all corresponding settings, re-enter them all, then save. Good luck). There truly doesn't seem to be a way to edit a memory! Scenario 3: you want to monitor a memory frequency while at the same time punching in a new one. Yaesu: tune one side to memory, switch to other side, use VFO to tune. Wouxun: you can't. No way (that I've found) to mix memories and VFO. Either both tuners are doing memories, or both VFO. Bottom line: this may turn out to be a good radio for field work under strict and predefined conditions. But throw some variables in the mix (communicate on state SAR frequency but monitor XYZ repeater), and this radio becomes much less useful. I feel disappointed. I bought this radio because of the upcoming narrowband fiasco. I have confidence that it will serve me in that capacity, but I don't see it replacing my Yaesu for ham work. The Yaesu is so well designed! So usable. Even the display is well thought out: in "146.88", Yaesu downsizes the 14 and gives priority to the "6.88", which is the important part. And the display is much more readable in all kinds of light: less glare, no shadows. Other pluses: sound quality; good battery life; named channels are convenient (but see note below); very lightweight (9 oz vs my Yaesu's 18); sturdy feel (but time will tell). Other minuses: no dial lock (you can lock the keypad against accidental presses, but there's no way to lock the dial against accidental frequency change); when using Channel Name mode (eg displaying "SAR1", "SAR2") there's no easy way to quick-view the actual frequency; when viewing repeaters in memory, no easy way to quick-view PL or offset. Four stars because it _is_ a good unit for its price and I'm still giving it the benefit of the doubt; but my temptation was to give it three.

Posted by Ed | Permanent link

Mon Jun 6 19:34:53 MDT 2011

Iceland Day 0: Albuquerque

In Albuquerque. It's hard to breathe, hard to see. Smoke reducing visibility to about a half-mile. White pieces of ash swirling in the wind. [smoky-abq.jpg-r] Going to bed. Up early tomorrow.

Posted by Ed | Permanent link | File under: Travel

Thu Aug 13 13:27:25 MDT 2009

Late Merging

*Letter to the Editor of the Los Alamos Monitor* I'm one of those people who stays in the left-hand lane on Diamond until the last moment. I don't do it because I'm in a hurry -- I'm not. I don't do it to be rude; in fact, I do it despite feeling so. It feels inconsiderate, impolite. It's stressful. I do it to make the world a better place. Perhaps not for the few individuals who honk, yell, scream, tailgate, and shake their fists; but for everyone else a smooth last-minute zipper merge greatly reduces the overall amount of traffic. Think of the people turning right on Orange or the wasted left-hand space when the light turns red. This is a town that respects science. Look up recent simulations on late merging; look up { Tom Vanderbilt}; and look up dissenting opinions (good luck filtering out the vitriol). Recognize that what feels right isn't always what is right. And... join me in the left-hand lane. I cannot promise that you'll feel good about it, nor can I promise that you'll get used to the feeling. But if enough of us do it we can take turns, and I'll sit in the right-hand lane and watch you pass and I will radiate gratitude. Ed PS I may never get used to the unpleasant feeling. But when someone loudly vents their rage, I do confess to experiencing a frisson of glee. I am not proud of that... but until I become a better person, thanks, angry people, for assuaging my guilt.

Posted by Ed | Permanent link

Wed Jul 29 2:03PM (2009)

SOLVED: Can't locate loadable object for module Apache::Symbol in @INC

The Problem, seen when building mod_perl: Entering directory `.../mod_perl-1.31/Symbol' cp ../blib/lib/Apache/ perl5.10.0 /path/to/xsubpp -typemap .../ExtUtils/typemap Symbol.xs > Symbol.xsc && mv Symbol.xsc Symbol.c Can't locate loadable object for module Apache::Symbol in @INC (@INC contains: . $HOME/perl ...) at .../ExtUtils/ line 8 Compilation failed in require at [...]

Cause: perl is trying to use Symbol, but getting it from pwd.

Solution: clear $PERL5LIB, that is, delete it from your environment. At the very least, remove "." (dot). $ env -u PERL5LIB make

Posted by Ed | Permanent link | File under: Linux

Thu Feb 19 7:23PM (2009)

hg convert on Gentoo

The Problem

'hg convert' on a checked-out CVS directory that points to a local CVS repository (same disk, not :pserver: or :ssh:) barfs:

$ hg convert /checkout/of/local/cvs/repository
assuming destination blahblah-hg
connecting to :local:/local/cvs/repository
Unknown command: `server'

CVS commands are:
(Specify the --help option for a list of other help options)
abort: server sucks

Solution: build cvs with server USE flag

Preferably by adding this /etc/portage/package.use :

dev-util/cvs            server
...and re-emerging cvs:
# emerge --ask --newuse cvs

Posted by Ed | Permanent link | File under: Linux

Sat Sep 27 10:27AM (2008)

Movie recommendation: Volver

Netflix considers me a long-term storage facility. So on my to-do list for the month, with all my expected free time, was making time to watch a movie. With less than 48 hours left of my free month, the moment was last night and the movie was Volver. If I were a movie critic I would probably sum it up as: A tender tale of homicide, incest, deception, infidelity, ghosts, and second chances. But I'm not a critic so I won't. Instead I'll point to the reason I rented the movie, a review at { The Onion AV Club}.

Posted by Ed | Permanent link