Double Tall Iced Mocha, Lite on the Chocolate

August 7, 2007

EaKiu: Eye Candy for the Wi-Spy

Filed under: /dev/random, /freenetworks, /geek, /metrix, /seattlewireless — Ken @ 12:09 pm

While at WWDC John and Daniel turned me on to EaKiu. Its a cool piece of software for the Wi-Spy 2.4Ghz USB Spectrum Analyzer. It touts some pretty cool 3D graphs. Unfortunately its OS X only. For Windows you can use manufacturer provided software, and for Linux you can use Dragorn’s software. Which both sport cool and helpful graphs, just not the same 3D eye candy.

August 3, 2007

Wifi in the wall: Karo WEJ-11G

Filed under: /dev/random, /geek, /metrix, /seattlewireless — Ken @ 1:25 pm

At work we just carrying this cool new device, an access point that fits in a wall box. Looks like it would be great for outfitting apartment buildings and/or condos with wifi coverage. It supports all the usual AP/Bridging/WDS, POE, SSL web management etc… Even supports remote syslog and SNMP.

WEJ-11-g

August 1, 2007

Learn something new every day

Filed under: /StupidShellTricks, /geek — Ken @ 11:53 pm

Usually in a bash script when I want to parse a file line by line I do something like this:
exec < foo.txt
while read LINE;
do
SOMEVAR=$SOMEVAR,$LINE
done

This evening I was writing a bash wrapper for debootstrap to automate the building of chroot environments and for some reason I chose to stray away from my norm and did the following:
cat foo.txt | while read LINE;
do
SOMEVAR=$SOMEVAR,$LINE
done

After a few test runs I noticed $SOMEVAR did not have what I expected after exiting the while loop. After some debugging (bash -x) I discovered the variable was magically empty after the last read LINE of the while loop. I immediately went back to old ways of parsing and sure enough it worked as I expected. Hmm… Well after finding the explanation it makes perfect sense. I am just surprised I hadn’t run into it before.
From the Bash FAQ

E4) If I pipe the output of a command into `read variable’, why doesn’t
the output show up in $variable when the read command finishes?

This has to do with the parent-child relationship between Unix
processes. It affects all commands run in pipelines, not just
simple calls to `read’. For example, piping a command’s output
into a `while’ loop that repeatedly calls `read’ will result in
the same behavior.

Each element of a pipeline runs in a separate process, a child of
the shell running the pipeline. A subprocess cannot affect its
parent’s environment. When the `read’ command sets the variable
to the input, that variable is set only in the subshell, not the
parent shell. When the subshell exits, the value of the variable
is lost.

Updated Pyramid LiveCD Installer

Filed under: /dev/random, /freenetworks, /geek, /metrix, /seattlewireless, pyramid — Ken @ 8:05 am

I mentioned in this email a little while back that I released a new Pyramid LiveCD Installer with the 1.0b5 version of Pyarmid. This CD provides a simple method for boot strapping a Soekris net45XX/net48XX single board computer.

Some models accept normal compact flash cards for the operating system media in which case you could easily install an OS image using another machine and compact flash card reader. However some of the models have soldered on flash and on these systems the PXE boot strap method is the only way to install on the board.

Setting up a “PXE boot” environment can be a little cumbersome if you have never done it before. With the LiveCD everything down to the IP address is configured out of the box so you should be ready to flash images onto boards in 5 minutes or so just by following the simple instructions.