I'm convinced that without outside pressure (like Steve Jobs screaming at you) most programmers tend towards making software esoteric and extremely hard to use. I think part of this is a perverse satisfaction in learning the arcane and having it remain arcane as a way of showing off their obvious intelligence.
Oh, and that false god of “job security” …
To get the wireless network card I have working under Linux, I had to download the linux-wlan package [1] and install it. It was your standard Configure; make; make install installation (with the minor annoyance of having of configuring the Linux source code). And it worked pretty much out of the compiler, and having better things to worry about than the minituræ of linus-wlan configuration details, I left it at that.
Until I found myself at Mark's [2] house tonight, trying to get access to his WAP (Wireless Access Protocol).
His setup requires WEP (Wireless Encryption Protocol). What should be a simple operation of configuring the WEP key (a very long binary number) instead turned into half an hour or so of poor documentation and trying to suss out what it exactly wants for dot11WEPDefaultKeyID and if I need to set dot11AuthenticatoinAlgorithmsEnable1 to true or not. In fact, it took me several attempts to realize that wlancfg wants the data typed in (via stdin) than as command line options (which is how I would expect it to be).
Sigh.
As I was telling Mark, I never bothered to really look into how the software worked since it worked enough for my needs and I have better things to do than tweak obscure settings just to prove my programming machismo. I just want it to work.
I did eventually get on his network, but I'm afraid I'll have to reconfigure everything to get back on my network.
Yes, I had to reconfigure the settings to get back onto my own network. And afterwards, I wrote this script that should work to get me back onto Mark's network without me having to reconfigure everything:
>
```
#!/bin/sh
wlancfg set wlan0 <<EOF
dot11DesiredSSID="NOLAB"
dot11AuthenticationAlgorithmsEnable1="true"
dot11AuthenticationAlgorithm1="sharedkey"
dot11WEPDefaultKeyID="1"
dot11WEPDefaultKey1="l33tm@d5k1ll5"
EOF
dhclient wlan0
```
But I won't know until the next time I'm over at Mark's ...
[1] http://www.linux-wlan.com/