OpenWRT is one of those great projects which suffers for lack of documentation. Even worse, there have been three generations of configuration methods, and the existing documentation and user-written howtos can often be vague about which version they refer to. Some commands are future compatible (meaning they will work on later versions of the firmware) and some are not. Some may work, but in less than optimal ways and leave you with a mess to maintain in the long run.

(A similar problem exists with Xorg where many, many users who aren’t and don’t want to be X gurus but who know a few tried and true xorg.conf hacks have gone into their systems over the last year only to discover they no longer have an xorg.conf. Now, maybe you can just add a file to replace the non-functioning background magic, but you’ll be left wondering what you’re giving up, what might break down the line, and so on. And you probably wont find a simple answer for a modern system yet. You’ll have to wade through mountains of mailing list and forum postings, and reconstruct the workings of the new style X server in your own mind, which is exactly what you wanted to avoid.)

So, for those who don’t pay much attention to these sorts of goings on in OpenWRT land (how often do most of us reconfigure our networks?), here’s a set of rules of thumb for recognizing the version of OpenWRT any given online tutorial applies to:

  • If you will be changing NVRAM settings, it’s for the old WhiteRussian release. (You should probably upgrade if you’re still using this.)
  • If you are editing config files which resemble those of a normal Linux system in /etc, it’s for Kamikaze 7.x series. Many of these config files will still be read in the current 8.09.x series if present, but don’t necessarily count on it. You should be able to figure out the launch process for each package by reading the init scripts.
  • If you are editing files in /etc/config or using uci, this is for Kamikaze 8.09 or later. In this series the LuCi web interface is also on by default, if that’s your thing.* Occasionally something shows up in the forums which uses uci directives which don’t seem to exist in stable. Also, you may find yourself adding options which the init scripts do not yet process, so you will have to edit them in.

OpenWRT is indispensable, and like much great software, those using it would rather keep using and improving it than document it and clean up the existing mess of documentation. Hopefully this helps with a little of that weeding for the new user.

* You can remove the LuCi web interface from OpenWRT Kamikaze by killing the process and running:
opkg remove -recursive luci-*


Be counted or else.

June 4, 2009

Morning Edition is talking today about the usual troubles the census goes through to get everyone counted. Apparently just about everyone in NYC belongs to one of those groups least likely to return a census form: young and single, immigrant, or African American. Apparently Hispanics are an exception to the immigrant trend for whatever reason. One of the suggested reasons for immigrants not returning census forms is their being unaware of what a census is. Is that really possible? While I’m sure that some of the states which haven’t had a functioning government in decades might miss out on the fun, I’m not personally aware of any country without a census.

Actually, I assume that in most countries it’s more important than it is here. Much of the developing world uses some form of representational quotas to fill their legislative bodies and apportion cabinet positions. The result of that could be that it’s more contentious or that it’s more corrupt, but either way everyone has a stake in making the census prominent in the national consciousness.

I was in Turkey for census day in 1997. Not having any advanced warning, that was the day we had chosen to get back overland from Trabzon to Istanbul, via Giresun. This was made nearly impossible by the fact that every 50 yards or so across the entire country there was someone dressed like this demanding papers of everyone on the street:

Turkish Police

Apparently no one is allowed to leave their homes on census day unless they have advanced parole. The dolmuşes  (shared taxis—yeah, I’m sure that plural should be made with a ‘lu’, but you get the idea) were getting stopped constantly and everyone had to show their permission slips. It was only in Giresun that we finally found an English paper that explained what was going on. (No one on the Black Sea coast seems to speak English and either I couldn’t figure out what Volkszählung meant or they were using something else to describe it in German—everyone in Turkey speaks German, while I only pretend to—or they were using some other phrase to describe it. I’m guessing the latter because the word seems pretty obvious 12 years later and in writing.)

I just wonder what sort of effect that type of experience has on people—would they be more or less likely to return a US census form? Would it have to do with fear of the census or the need for serious encouragement to actually bother with it?

Captioned Lists

May 22, 2009

I love this structure:

<dl> <dt>Animals</dt> <dd>
</dd> </dl>

– Kevin Marks on [whatwg] List captions

It seems more correct than the alternative he proposes (with each of the li’s here as dd’s) in that the list is an ostensive definition, whereas each of the items is a mere example. Practically, it saves me from having to deal with some lousy CSS on nested lists. And it does feel more semantic-ish than the nested list (for this case) anyway, and certainly better than the usual headings or paragraphs inside lists.

As Fears Grow Over Pakistani President, U.S. Woos Rival

This paragraph is the only real background on NS in the article, and could at best be called counterproductive or misleading:

Mr. Sharif, 59, represents the Pakistan Muslim League-N, a coalition that includes a number of Islamist groups. He was prime minister twice during the 1990s, and received hero status in Pakistan for ordering nuclear weapons tests in 1998.

(Either my headache is more severe than I thought or they changed that in the last twenty minutes from “Muslim League of Pakistan” to PML (N)—there goes 25% of my rant!)

Anyway PML (N) is not a coalition, though presumably they are referring to the APDM which was made up of every party—Islamist, secularist, feudalist, opportunist—which actually wanted Musharraf out at the end of his reign.

His ties to Islamists are nothing but pure political calculation. The PPP and PML have each taken their turns flirting with the religious parties or the military or the West or the Saudis, and neither party has ever had even the slightest hint of an ideology beyond their own political survival, the humiliation of their rivals, and the advancement of the material well being of every hoodlum willing to rob the country blind under their banner. Read the rest of this entry »

So the last post caught Habib Haddad of Yamli’s attention. Which brought his twitter feed to my attention. Which led me to this article from Flip Media. Which led me to realize that in addition to two other yamli competitors, Google already has their own ta3reeb. I still love yamli – and their search component is as great as the keyboard aspect. Still I’d love to spark some competition between them for inclusion of characters from other Arabic-based scripts and some of the presentation forms.

Now, about the competitors: Read the rest of this entry »

Yamli is an Arabic frontend to Google (I believe I’ve mentioned it before) which deserves to win all kinds of awards. (Click to skip over verbosity to the howto.) They use a Google suggest-like interface to convert phonetically typed words and phrases to Arabic script. It’s perfect for on the fly typing of short passages on machines where setting up an Arabic keyboard mapping or switching is just not worth it. It is very similar in operation to the Indic scripts gadget which has slowly propagated across Google’s properties, and was recently added to the Gmail editor. Read the rest of this entry »

Epoch Fail Screen Cap

February 13, 2009

48 seconds...

48 seconds...