Kadin2048's Weblog

Fri, 16 May 2008

A while back I wrote up a little ‘mini-HOWTO’ on connecting to the Internet via a T-Mobile cellphone from a Mac running OS 10.4. (It’s been a while since I’ve tried it, but I think all the information is still current.)

For a bunch of reasons that are well outside the scope of this blog, I had reason recently to try and do the same thing from a Windows PC. Although I’m sure the process makes sense to somebody, I didn’t find it particularly intuitive. Just in case there’s someone else out there trying to do the same thing and struggling, I thought I’d provide pointers to the online resources I found most helpful.

This page from the HowardForums Wiki was one of the most useful and concise. In fact, it seems to be by far the most referenced document on the topic.

Most of the problems I ran into were related to my Bluetooth adapter. Unlike in OS X or Linux, where Bluetooth is handled by an OS component, Windows delegates it to a driver provided by the manufacturer. Like virtually all software produced by hardware manufacturers (scanner software, anyone?), I’ve yet to see one that wasn’t a flaky pile of crap. It’s what you get when you’re viewed as a ‘cost center’, I guess. Once you’ve gotten the phone and computer to pair, you’re about 50% done.

The HowardForums instructions tell you to configure the Bluetooth WAN connection by going into the ‘Network Settings’ control panel; on my system (Dell Inspiron 9400 with onboard Broadcom adapter) this was not correct. The network connection for the Bluetooth device connected using a ‘device’ called a “Bluetooth LAN Access Server Driver”. To configure it, I had to go through the My Bluetooth Places folder, and configure the “BluetoothConnection” in the Bluetooth Properties window. It was in that window (“BluetoothConnection Properties”) rather than in the Network Connections panel, where I could enter the ‘phone number’ used for WAN access.

With that done, the next step is to add the correct initialization string for the APN you want to use. This is all pretty much as the HowardForums article directs. If you are on the low-cost “TZones” plan, you’ll need to use ‘wap.voicestream.com’ as the APN, making the init string at+cgdcont=1,"IP","wap.voicestream.com". You’ll only be able to connect via an HTTP proxy, but it’s six bucks a month (and probably a TOS violation) — what do you expect?

In theory, with the phone number and init string entered, the Network Connection created, and the phone successfully paired to the computer, you’d be good to go. However when I tried to connect, I just got a repeated “Error 692: There was a hardware failure in the modem” error. The ‘Error 692’ problem is apparently not uncommon, and has various solutions that seem to work for different people, with no discernible rhyme or reason. In my case, the problem was due to a leading space that had crept into the init string when I copied it from HowardForums. When that was corrected, I was able to bring the connection up.

It’s so slow that really I’d only consider using it either in an emergency or times of unbelievable boredom, though it does work after a fashion. However, the same procedure allegedly works for EDGE just as well as GPRS, so when I eventually get that EDGE-compatible phone (and get the real data plan), I’ll hopefully be all set.

0 Comments, 0 Trackbacks

[/technology/mobile] permalink

Thu, 08 May 2008

As I mentioned a few days ago, Sudhir Venkatesh’s book “Gang Leader For A Day” is at the top of my reading list. Today I finally had some free time and dug in.

My initial reactions: it’s a fascinating book. Two chapters in, I’m definitely hooked. However, I’m not without some reservations. Venkatesh asks his readers to take a lot on faith; the nature of the book requires you to trust that the whole thing isn’t an elaborate fabrication, and that he’s honest both in his observations and recollections.

Although I’m certainly not one to cast aspersions — especially considering that I’m only a couple of chapters in — it would be difficult to fault readers if they decided to approach the book with a grain of salt. It is, after all, a premise that borders on unbelievability: a meek, bookish Sociology grad student at the U of Chicago walks up to a housing project and immediately forms a deep and lasting bond — “a strange kind of intimacy … unlike the bond I’d felt even with good friends” (p.23) — with a gang leader? It’s a hell of a premise.

Also, in terms of research methodology, what Venkatesh is doing is almost quaint, practically to the point of being 19th-century. In some ways, the premise of the book is essentially a ‘white man goes into the bush’ narrative. I’m waiting with bated breath to see how the book deals with this obvious issue, since I’m sure accusations of depicting the ‘noble savage’ in a tracksuit are something Venkatesh must have anticipated. At least, I hope so.

At any rate, the opening chapters suitably grabbed my attention. I have a few lingering reservations and doubts, but I’m certainly sold on reading it through.

0 Comments, 0 Trackbacks

[/other/books] permalink

Wed, 07 May 2008

Alex Steffen has a nice essay on the WorldChanging site where he sums up the problem I’ve always had with some self-described ‘survivalists’ and many ‘apocalyptic environmentalists’:

But real apocalypses are sordid, banal, insane. If things do come unraveled, they present not a golden opportunity for lone wolves and well-armed geeks, but a reality of babies with diarrhea, of bugs and weird weather and dust everywhere, of never enough to eat, of famine and starving, hollow-eyed people, of drunken soldiers full of boredom and self-hate, of random murder and rape and wars which accomplish nothing, of many fine things lost for no reason and nothing of any value gained. And survivalists, if they actually manage to avoid becoming the prey of larger groups, sitting bitter and cold and hungry and paranoid, watching their supplies run low and wishing they had a clean bed and some friends. Of all the lies we tell ourselves, this is the biggest: that there is any world worth living in that involves the breakdown of society.

It’s not the main thrust of the essay (although it’s worth reading anyway), but when I read it, I felt like he’d been reading my mind. It’s easy to look at the range of problems facing the world and fall into despair, or worse, self-hate. And it’s a short step from worrying about catastrophe to actively wishing for it.

Which is not to say that we shouldn’t consider or plan for terrible scenarios, we just need to evaluate them rationally and not fall into the trap of being seduced by doomer porn, and believe that such catastrophes won’t affect us negatively.

We have some major challenges facing us as a civilization in the next generation or two; Sir David Omand, former head of the British National Security Agency, put them into three major groups. There are political threats, including wars, terrorism, and governmental de-stabilization by other groups; there are environmental threats, including the end of petroleum fuels, global warming, and pollution; and finally there are economic threats, including a “meltdown” of the global economy.

Unfortunately it’s rare for more than one of these problems to capture the public’s attention at once. We tend to fixate on one issue — sometimes to the point of obsession, as in the case of the ultra-survivalists and ‘doomers’ — while letting the other ones slide, then get bitten in the proverbial ass and fix our attention somewhere else. It’s important that we keep a steady eye on all the issues, but not get so caught up in any of them that we despair completely.

0 Comments, 0 Trackbacks

[/politics] permalink

One of my favorite Google products is Google Notebook, and one of my more frequent uses of it is to keep track of particularly insightful or pithy posts that I read online. Sure, most sites have their own methods for doing this, but Notebook keeps them all in one place. Unfortunately, I never really end up doing much with all the stuff I save.

Earlier today I found myself reading through some of my notes, and thought I’d share a few. Any one of them could be an entry in itself, but honestly I think there’s little I can add to most of them, so I’ll just point you back to the originals and leave it at that.

On Hillary Clinton’s ‘Prayer Breakfasts’, by MetaFilter’s dw:

[…] Hillary attending the prayer meetings is all about triangulation for her. She knows where the business of the GOP elite gets done, so she’s just going to walk right in there. If they were into watching pre-op trans burlesque while drinking paint thinner, Hillary would show up at the door with a copy of The Crying Game and a gallon of turpentine. […]

boubelium had an insightful quip about the difference between politicians and economists:

[…] if a charismatic politician tells you that he has seen the economic future, he hasn’t. He isn’t smart enough or boring enough to undertake the effort.

“Tom Collins” of Tom Collins’ World Wide Web Log — sort of a ‘Fake Steve Jobs’ of the Beltway, with the best understanding of that milieu on the Internet — sums up everything you need to know:

“Veronica, this is the United States of America. With the exception of short period of reform that lasted about forty years during the last century, the entire history of this country has been nothing more or less than the work of lying, thieving, cheating, amoral, greedy, inhuman scum bags.”
“Which means?”
“That, given the chance, you should always go with the lying, thieving, cheating, amoral, greedy, inhuman scum bags. Do that, and you can’t lose - it’s the American Way.”

On a slightly less cynical note, Vorfeed has one of the better comments I’ve read about the gun control ‘debate’ in a while:

[…] A little less than half of US households (and about 25% of all US adults) own at least one gun, and yet only about 30,000 people are killed by them per year, and more than half of those are suicides. … Criminalizing 25% of the country in order to save 30,000 lives is a terrible trade-off — if saving lives is really the issue, we’d do much better if we built a huge public transportation network and then banned cars. … As far as I can tell, the “gun control debate” in this country serves merely to distract from the actual issue — that is to say, the problem is violence, not guns! Rather than myopically concentrating on the instrument used, both sides of the gun debate could probably benefit from some realistic, holistic thinking about ways to mitigate the root causes of violence.

0 Comments, 0 Trackbacks

[/technology/web] permalink

Thu, 01 May 2008

Just a few quick thoughts on some books I’ve read recently:

  • The Omnivore’s Dilemma by Michael Pollan

I realize I’m about six months or so late to the party with this book; now you can barely mention it in public without a dozen people rolling their eyes at you in boredom. But the number of people you’ll run into who’ve read it, are reading it, or have been berated by their spouses that they ought to read it, is a testament to how important this book is. If you’re one of the 15 people remaining in the country who haven’t heard of it yet, it’s worth your time. (If you’re in a desperate hurry, only read the first half, since it’s the most important.)

At some point I’ll probably write in greater depth about it, but suffice it to say for now that it completely changed my (admittedly ignorant) views on a number of food-related topics. NY Times Book Review

  • The Ghost Brigades by John Scalzi

I’m a big fan of Scalzi after reading his debut novel Old Man’s War. This is a sequel, or at least a follow-up, set in the same universe. I thought it was solid, and would heartily recommend it to anyone who liked OMW.

  • The Android’s Dream by John Scalzi

I picked this up from Amazon at the same time I was ordering The Ghost Brigades, simply because it’s Scalzi’s newest book. It’s a stand-alone, and it has a significantly different pace and tone than OMW/TGB. I think my feelings for it might have been colored somewhat by reading it back-to-back with Ghost Brigades; although The Android’s Dream is good, it’s a bit of a jarring transition. (My biggest thought throughout reading it was that this is what L. Ron Hubbard’s Mission Earth books could have been, if LRH hadn’t been a crazy, racist, homophobic, misogynist with a dearth of talent and a team of religious sycophants instead of an editor. Okay, so on reconsideration it has nothing at all in common.) Overall I don’t think it’s Scalzi’s best work — that’s Old Man’s War, by a mile — but it was certainly better than par for the course.

  • His Dark Materials Trilogy by Philip Pullman

I don’t normally read books out of spite, but this was an exception. I decided to read Pullman’s trilogy only after hearing about the “controversy” it had generated within the Christian Right, on the assumption that anything that pisses off a bunch of thin-skinned religious nutbags must have at least some redeeming value.

As it turns out, I was about half right. I thought the books were pretty decent overall, and significantly milder in terms of content than I’d been expecting based on the boycott threats the movie received. As a treatise on or introduction to humanism it’s not much, but I suppose that’s better than becoming a Randian discourse on the subject.

The other accusation I’ve heard leveled at the series — namely that it promotes or condones age-inappropriate sexual behavior — doesn’t seem to stand up, either. Without going into great detail on the plot, I’ll just say that the author certainly doesn’t venture (at least in literal descriptions) anywhere that wouldn’t be rated “PG-13”. If readers look between the lines and see more than that going on, that’s really their own business — and really says more about them than it does about Pullman.

Overall I don’t think there’s much reason for adults to pick up the series, unless you interact with younger readers or just want to keep tabs (as I do) on whatever has the far-Right’s panties in a bunch this week. I’d recommend the books with limited reservations to most open-minded junior-high/highschool age readers or their parents; the only real exception would be to students who’ve already pressed on to more complex speculative fiction. (Personally, I can only imagine my younger self being impressed by His Dark Materials if I’d come across it before I’d discovered Heinlein; after that I think it would have seemed a bit tame.)

And in no particular order, my current reading list for the next few months:

  • Gang Leader for a Day by Sudhir Venkatesh
  • In Defense of Food by Michael Pollan
  • The Botany of Desire by Michael Pollan (if it’s not already evident, I have a Michael Pollan fan in the house)
  • The Last Colony by John Scalzi
  • Dreaming in Code by Scott Rosenberg (hat tip to MetaFilter’s Drezdn)

I’m especially looking forward to reading Venkatesh’s book, since I found the chapters discussing his work to be the most interesting parts of Freakonomics; I’m curious to see if his conclusions are the same as Dubner and Levitt’s.

0 Comments, 0 Trackbacks

[/other] permalink

I’ve been using Subversion a lot lately, and for the most part I’m pretty floored with it. It’s a huge step up from CVS, and it offers a lot of flexibility, beyond what I’ve ever seen in commercial version-control products. Plus, you can’t beat the price.

However, there are a few things that have irked me. One of the biggest is that SVN doesn’t preserve filesystem metadata, particularly document modification times. Apparently this is by design. (‘Why’ isn’t exactly clear, but supposedly has to do with automated build tools.) But to me, filesystem metadata — modification stamps in particular — is fairly important, and I’m not really happy with any tool just blithely throwing it away, as SVN does when you import a folder into version control and then check out a working copy.

As a sort of half-assed solution, I wrote a couple of little scripts to pull the file access and modification times from the filesystem, and store them in SVN as “properties” associated to that particular document. (Since Subversion lets you store as many key:value pairs for each document as you’d like, in many ways it’s superior to most commonly-used disk filesystems … it just doesn’t bother putting much stuff in there by default. Bit of a wasted opportunity.) Although this isn’t as useful as having it actually in the filesystem, it at least ensures that no metadata is destroyed when you load files into version control. To me, the idea of not ever destroying data or context information is important. I like knowing that if I ever need to know the last modification time of a document prior to loading it into version control, it’s all there.

Due to the mechanics of Subversion, the use of these scripts is a little roundabout. It’s a multistep process:

  1. Import the directory you want to version-control into the Subversion repository. Don’t delete it!

  2. Checkout the directory, giving it a name different from the ‘original’ copy. (I like to name it something like “directory-svn”.)

  3. Copy — using your preferred CLI or GUI method — all the files from the old, non-version-controlled directory to the working directory. Clobber all the files in the working directory.

    [Why? This overwrites all the files in the working directory — which have their atime, ctime, and mtime set to whenever you checked the directory out (not really that useful) — with the original files, which have useful timestamps on them that actually correspond to the data in the logical files.]

    N.B.: You need to copy the files from one directory to another; don’t overwrite one directory with the other. If you do the latter, you’ll wipe out the “.svn” directory in the working directory, and it’ll no longer be a functioning SVN checkout.

  4. Now that you have a version-controlled working directory full of files with useful timestamps (run ‘ls -al’ if you want to check; that’ll show you the mtime), you can run the script below. This will take the ctime, mtime, and atime and copy them into SVN properties (named “ctime”, “mtime”, and “atime” respectively). Run ‘svn commit’ to write these changes to the repository.

  5. When you check out the working directory onto a new computer, you still won’t have the right metadata actually written into the filesystem, but you will have it in the properties. To view the properties associated with a file, run ‘svn proplist —verbose filename’.

Not as good as if SVN just respected and didn’t destroy filesystem metadata by default, but it’s better than nothing. On the system that originally housed the data, your files still have all the correct values stored in the filesystem (since we copied them from the old, non-version-controlled directory), and on other systems, you’ll be able to retrieve the file’s original timestamps using ‘proplist’.

Here’s the script for Mac OS X (and probably BSD?):

#!/bin/bash
# A little script to take modification date/time and stick it
# into a Subversion property

for file in *
   do
   mtime=`stat -f %Sm "$file"`
   svn propset mtime "$mtime" "$file"
   ctime=`stat -f %Sc "$file"`
   svn propset ctime "$ctime" "$file"
   atime=`stat -f %Sa "$file"`
   svn propset atime "$atime" "$file"
done
exit 0

And on Linux it’s the same, except the syntax differs slightly:

for file in *
do
   mtime=`stat --format %y "$file"`
   svn propset mtime "$mtime" "$file"
   ctime=`stat --format %z "$file"`
   svn propset ctime "$ctime" "$file"
   atime=`stat --format %x "$file"`
   svn propset atime "$atime" "$file"
done

At the moment I’m just concentrating on archiving some of my documents and shoving them into SVN — this has the advantage both of getting them in version control, and also putting them on a central server where I can easily back them up — so I’m satisfied with just sticking the original file’s timestamps into SVN properties for archival purposes. Obviously, the stamps don’t get updated as you modify the file, so they’re really just for historical purposes.

What would be nice would be to fix Subversion so that on import, it collected as much metadata information as it can about a file and stuck it into the properties, and then took this information and used it to recreate the files on checkout (only if you wanted it to, of course, or perhaps if the file only had one version in the repo, meaning it hadn’t been modified since being added). That’s a bit beyond both my abilities and level of interest at the moment, but it seems like a useful feature, particularly as more and more non-programmers start to discover Subversion and how useful it can be for managing home directories and other lightweight content-management tasks.

0 Comments, 0 Trackbacks

[/technology] permalink

Fri, 18 Apr 2008

Just in case anyone thought that mind-boggling ignorance and gross stupidity was restricted to members of the U.S. government and civil service, this story out of Russia, reported by Ars Technica will disabuse you of the notion. Apparently they want to impose a mandatory registration and licensing regime on all consumer Wifi gear, under penalty of confiscation:

[T]he government agency responsible for regulating mass media, communications, and cultural protection has stated that users will have to register every WiFi-enabled device with the government […] registration could take as long as ten days for standard devices like PDAs and laptops and […] it intends to confiscate devices that are used without registration.

The Ars story references a Russian source, Fontanka, but it’s (unsurprisingly) in Russian.

Although it’s easy to go for the censorship-conspiracy angle, I’m not sure that there’s as much evidence for that interpretation as there is for plain old public-sector incompetence:

The Fontanka.ru article quotes an industry specialist who points out that the government agency behind the policy is run by a former metallurgic engineer who likely has no clue about many of the technical issues overseen by his organization.

It’s almost heartwarming, how much we have in common.

0 Comments, 0 Trackbacks

[/politics] permalink

The Financial Times has a very interesting article on the relationship — or in this case, lack thereof — between population growth and prosperity. It astounds me a little that any of their findings would be surprising to a first-worlder in 2008, but I’ve heard enough people lament the population decline in Japan and Western Europe that this obviously isn’t the case.

There are two important lessons here. One is that we should always look at per capita, rather than overall, production when measuring the success or failure of various economic policies. Any policy that produces a higher GDP at the expense of a lower per-capita figure is stupid, since it’s the per-capita figure that’s linked most intimately with standards of living. Lesson two is that policies that are based on continuous population growth just aren’t sustainable, and we need to get rid of them (or at least rethink them) before we hit the inflection point and they become untenable. What we need not to do is view the population decline itself as a problem, because it’s not. It’s taking population growth as a given that’s the mistake.

Countries with declining populations, or with populations that may begin to decline soon, have a unique opportunity to consolidate standards-of-living gains and create new social structures that aren’t predicated on pumping out offspring (and consuming non-renewable resources) by the bushel-basket. This is nothing but good for people living in those areas, provided the transition is managed thoughtfully.

0 Comments, 0 Trackbacks

[/politics] permalink

Wed, 02 Apr 2008

COBOL: (Synonymous with ‘evil’.) A weak, verbose, and flabby language used by card wallopers to do boring mindless things on dinosaur mainframes.

[from the Jargon File]

Given many C and LISP hackers’ opinions of COBOL, it’s perhaps unsurprising that it’s one of the least-mature languages on Linux. While C has a compiler (gcc) that rivals some of the best commercial implementations, I’ve had nothing but frustration so far as I’ve tried to get a working COBOL compiler running.

There are, as far as I can tell, two COBOL compilers that seem like they might be useful for basic testing and development work: TinyCobol and OpenCobol. TinyCobol compiles COBOL and produces GNU Assembly, which are translated into machine code by the GNU Assembler; OpenCobol translates COBOL to C, which is then compiled by gcc.

Not being a C programmer — meaning that one of the benefits of OpenCobol, the ability to debug your COBOL program in C, wasn’t particularly useful to me — I decided I’d give TinyCobol a shot first.

Although there are references around the ‘net to binary packages of TinyCobol, there wasn’t any evidence of one for Debian on TC’s website. Hoping — perhaps naively — that something called ‘Tiny’ wouldn’t be too much of a bear to compile myself, I grabbed the sources and dove in.

Although I didn’t have any problems in configuration, as soon as I went to run ‘make’, the errors began. The crucial one seemed to be:

 gcc -I/usr/include -I/usr/local/include -I../lib -I../ -c scan.c
 scan.c:1062: error: syntax error before 'YY_PROTO' 
 scan.l:122: error: syntax error before 'switch'
 ...

After that, things just fell apart. I played around with it for a few hours, trying and retrying, checking all the dependencies, but to no avail. I even went so far as to try it on a brand-new Dapper installation running in a VM, just to make sure something about my system wasn’t poisoning it. Nope.

So after giving up — at least for the moment — on TinyCobol, I decided to give OpenCobol a try instead. Although OpenCobol apparently has a package for Ubuntu Edgy, there’s currently no backport to Dapper, so I was left again with the unappealing alternative of building it myself.

I got the OpenCobol sources and its dependencies installed easily enough, and ran the ./configure script without problems. Looking good so far. But as soon as I typed ‘make’ and started to actually build it, I was filled with a little deja vu:

fileio.c:308: error: syntax error before 'DB'

Followed by several pages of ‘incomplete type’ errors. So much for that. A quick Google for the error didn’t reveal anything, and since I’m not a C programmer, that’s pretty much the end of the line. (There’s a reason why I normally have a blanket rule against any non-trivial software that requires compilation. The number of times I’ve tried compiling some large software package and actually had it work without deal-breaking problems is very, very small.)

I’m tempted to take this as some sort of cosmic sign; the revenge of all those scoffing C and LISP greybeards on their COBOL cousins. Linux — at least my Linux machine — just doesn’t seem to want anything to do with it.

Anyway, should anyone else out there find a way of running TinyCobol, OpenCobol, or some other COBOL compiler on Ubuntu Dapper (before it goes out of support and I’m forced to upgrade anyway), I’m all ears.

At the moment I’m torn between just giving up completely on Linux for this purpose and looking for a working COBOL implemetation for Win32, and feeling like since I’ve already put a day’s worth of work into this, I ought to keep banging on it and see if I can get either TC or OpenCobol working on Ubuntu Edgy or one of the other new versions. I think I’ll probably start downloading a new Ubuntu LiveCD while I look for Windows tools, and see which one I get working first.

0 Comments, 0 Trackbacks

[/technology] permalink

Wed, 05 Mar 2008

This is just a quick entry to point out a very nice, helpful, HOWTO-style guide on QuietEarth.us that goes through the process of setting up syslog-ng to receive remote log entries from another device on the local network.

In my case, as in the author’s, I wanted to send the logs produced by my gateway/router running OpenWRT to a Linux box with plenty of storage for later analysis. Although this can be done with the stock — and ancient — sysklogd, it’s as good an excuse as any to install syslog-ng, which is much more flexible. Installation on Ubuntu Dapper is painless, and with a few lines of configuration you can have your router’s (or other device’s) logs sent to a central machine, filtered, and logged into its own file.

I can vouch for the instructions in the article as working perfectly on Ubuntu 6.06.02 LTS and an OpenWRT router. (Enabling log transmission on the router requires enabling the syslogd service under the ‘Administration’ tab, ‘Services’ subtab.)

The logical continuation of this is to transmit logs not from two computers on a LAN using UDP, which is the standard method, but over the Internet using TCP — encrypted, of course. This article seems like just the thing, and I’ll probably be playing around with it more in the future.

0 Comments, 0 Trackbacks

[/technology/poweredge] permalink