Recently in Technology Category

Unless you've got the correct packages installed, you'll likely get an error with some missing dependencies. You can find the missing packages at:

libicu38
libboost-filesystem1.34.1
libboost-regex1.34.1
libboost-thread1.34.1
libboost-iostreams1.34.1
libboost-signals1.34.1
libboost-date-time1.34.1

Click the above links, choose your architecture, choose a mirror, then download and open with GDebi.

Then install the Amazon MP3 downloader as normal.

My computer history

This is an on-going compilation of the computers I've owned over the years. I'm keeping this for nostalgia and to share one day with my kids. It will be updated as things change.

YearModelProcessorMemoryStorageDetailsPrice
??Odyssey
December 1982Coleco AdamZilog Z80 3.58Mhz80KB256Kb cassette tapesBought right before the video game crash of 1983.~$300
1987IBM PS/2 Model 50Intel 286 10Mhz1MB20MB~$3,600
IBM PC ConvertibleIntel 80C88 4.7Mhz512KB2x 720KB 3.5" floppy drivesMonochrome screen, drive 1 was for OS, drive 2 for app~$800 (used)
1992Generic PCIntel 486DX 33Mhz16MB200MB
Employers provided for all my computer needs for this timeframe
1997PowerSpec 6237Intel Celeron1.7Ghz (O/C to 2.0Ghz)256MB (->768MB)40GBWindows XP~$500
1998PowerSpec 6238Intel Celeron1.8Ghz (O/C to 2.1Ghz)256MB (->512MB)40GBFedora Core 2,3,4,5,6~$450
2007Dell PowerEdge 18002x Intel Xeon 2.8Ghz1GB1.5TB RAID 1Fedora Core 5,6,7,8,9,10,11,12~$1150
2008Dell Inspiron 1420N LaptopIntel Core 2 Duo T7500 2.2Ghz1GB (->4GB)120GB14.1" screen, Ubuntu 7.10, 8.04, 8.10, 9.04, 9.10~$1100
2010Dell Inspiron 1750 LaptopIntel Core 2 Duo P8700 @ 2.53GHz/1066 Mhz FSB4GB500GB17.3" screen, Ubuntu 9.10~$950

A friend's child recently watched me fighting with FBI & Interpol warning screens, distributor logos, and trailers while trying to play a DVD when she asked me why I didn't

Press Stop-Stop-Play

I looked at them funny (as I'm prone to do), tried it and now I use it every time. It will start playing the main feature without all the junk they packed in before it. Depending on the player, you may want to wait a second between presses. One player I have says "Pre-Stop" on the first Stop, "Stop" on the second Stop, then "Seq. Play" on the Play. Don't know if this always works, but it works on almost every DVD I've tried.

My kids won't know what life was like without the Internet, before computers were in every home. They'll never know what a modem is or the wonderful (yet grating) sounds it would make when you dialed a BBS. They won't know the joy of getting online 1200bps (and all the free time you had when you waited for downloads to complete.) Even their perspective on the Internet will be different. They won't know about Mosaic browser or text-based (only) browsing with lynx. They'll never know Prodigy or Compuserve. AOL is just a website. They won't know that Yahoo was a directory of links, or that Altavista, Excite, HotBot, and WebCrawler were once prosperous search engines with a large market share. They won't know that there were many years of Internet without Google at all...

They won't know of life before the convenience of microwave ovens.

They will think (rightfully so) that everyone has a phone and they are almost exclusively cordless or completely wireless. They won't know that at one time all phones were wired into the wall, that long distance calls were expensive and infrequently used. They will never know what a party line or a rotary dial phone was. They won't realize that phones didn't used to have cameras, games, music, and full QWERTY keyboards on them.

They won't know that people used to shave with just one blade.

Lightweight 27-speed mountain bikes with disc brakes and super travel full-suspension will be mainstream and affordable. They won't know the relatively low tech, heavy, inefficient bikes we had to ride. They won't realize that mountain biking was started in the mid-1970s.

My kids will never know what a caboose is for. They will only see them in train museums (and so we take them.)

Film photography will be some long-forgotten technique that people used to use before digital photography. They won't know what camera film looks like. They'll never know the growing pains of digital photography from low resolution to slow, delay-prone cameras. Everything will be high resolution, automatic, and instantaneous. It seems normal to them that you can store thousands of photographs on a memory card smaller than your thumbnail. Digital photo frames will seem normal to them. Static real photo frames will seem pointless.

They'll never know what a reel-to-reel, an eight-track, a vinyl record, a Mini-disc, or a cassette tape is. Even CDs are going to the wayside as things gradually swing towards completely digital music delivery, played on the all-pervasive MP3 player. Walkman and Discman will be largely historical and unfamiliar to them. They won't ever know about VCRs and Laserdisc players. They'll have always known DVD, Blu-Ray, HD-DVD and DVR. They'll think televisions were always flat and thin. HDTV will be the norm for what they are used to viewing. Their music will be all-digital and all multi-channel.

My kids won't know what a floppy disc was (8", 5.25", or 3.5") Wow! They won't know DOS (and I'm doing all I can to make it so they won't have to use Windows.) They won't know about daisy wheel printers, slow and noisy dot-matrix printers or fan-fold paper.

My kids will probably never know much measured in terms of 'megabytes' and will likely be more familiar with the concept of 'terabytes' rather than with 'gigabytes'.

I'm excited about the rapidly changing world they've been born into, but I'm sad they won't know the world as I do. I'll try to teach them what I can and maybe if I'm lucky they'll help me see their world through their eyes someday.

Wired recently published an article containing 100 Things Your Kids May Never Know.


I was just staring at an old 8-inch floppy disk I keep around sitting on my desk, contemplating how storage capacities and densities have increased since it was introduced on the market in 1971.

The outer dimensions of the disk is 200x200x1mm or 40,000 cubic millimeters. It holds 79.7KiB of data or 81613 bytes. That works out to 2.04 bytes per cubic millimeter.

For comparison, I've chosen the modern-era microSDHC card. It has dimensions of 15x11x1mm or 165 cubic millimeters. It holds up to 16GiB of data or 17,179,869,184 bytes. Quick math turns up 104120419 bytes (104MiB) per cubic millimeter.

In 38 years the storage density of removable media has increased by a factor of over 51 million. I wish I knew what a 8-inch floppy disk cost when it was introduced to the market to do some cost/capacity comparisons.

SanDisk has announced they expect a 128GiB Micro SDHC card to be available in 2011.

My hardware:
  • Canon Rebel XTi (uses Compact Flash (CF) memory)
  • Inland USB multi-format SD/CF card reader ($12 at Micro Center)
  • Dell PowerEdge 1800 running Fedora Core 11
My goal is to start out with files like this on the Compact Flash card::
[CF Card]/dcim/102canon/img_9999.CR2
[CF Card]/dcim/102canon/img_9999.JPG
[CF Card]/dcim/103canon/img_0000.cr2
[CF Card]/dcim/103canon/img_0000.jpg
run the script, and end up with the same files, transferred to the server and renamed like this:
[server photo repository]/2009/200902/20090215/img_1029999.cr2
[server photo repository]/2009/200902/20090215/img_1029999.jpg
[server photo repository]/2009/200902/20090215/img_1030000.cr2
[server photo repository]/2009/200902/20090215/img_1030000.jpg
Removal of files from CF card is performed manually by the Format function on the camera, once I'm sure all the files have survived the trip from CF to hard drive.

The (re)naming convention assures unique file names for photos coming from my camera until I get to 10,000,000 photos. At my current rate of taking pictures, that would be several thousand years. It also allows me to easily manage my photos by year, month, or day (and eventually decade) as I choose.

I've written a script to automatically copy and rename my files from the CF card to an appropriate directory on the server when it is run.

#!/bin/ksh
startdir=`pwd`
cfsourcedir="/mnt/usb"

# make sure to use your device name here, check output of 'dmesg' \
# on your server with card reader connected.
cfdeviceid="/dev/sdc1"
canondir="${cfsourcedir}/dcim"
datepath="/photos/raw/`/bin/date +%Y/%Y%m/%Y%m%d`"

sudo umount $cfsourcedir

sudo mount $cfdeviceid $cfsourcedir
result=$?;

if [ $result -eq 0 ];then

   if [ -d $datepath ]; then
      echo "Directory $datepath exists"
   else
      mkdir $datepath
   fi
   #echo "canondir: $canondir"
   #echo "datepath: $datepath"

   rsync -az $canondir/* $datepath --stats --progress | \
   tee -a /tmp/loadfromcf.out
   cd $datepath
   for i in `find -type d |sed 's/^.\///g' |grep -v ^\.$`
   do
      cd $i
      directorynumber=`echo $i | sed 's/CANON//g' |sed 's/canon//g'`
      for j in `ls -1 *`
      do 
         k=`echo $j |sed "s/img_/img_$directorynumber/g" |\
   sed 's/IMG_/IMG_${directorynumber}/g' |sed 's/JPG/jpg/g' |sed 's/CR2/cr2/g'`
         mv $j ../$k
         chown speed:speed ../$k
         chmod 0544 ../$k
      done
      cd ..
      rmdir $i 
   done
fi

sudo umount /mnt/usb

if [[ $result = 0 ]];then
   grep -i Number /tmp/loadfromcf.out | tail -2
   pwd
fi
I've also contemplated modifying this script so it would automatically (cron) check for a CF card in the reader, then automatically start the copying process. If I make this modification, I'll post it here as well.

I'll be adding code/comments as I improve this script.

I've been working with variations of Unix for a long time now and thought I'd jot down some of my favorite tips and tricks. They are mostly OS/distribution/shell/language independent (unless I indicate otherwise...)

  1. Get rid of blank lines in a file
    grep . inputfile > outputfile
    This matches (and thus prints) only lines that contain some text, not blank (empty) lines.

  2. comm
    Many people never cross paths with the comm command, but it is very useful. I works similarly to diff, but outputs the contents of two compared files into three columns. The first column is content only in the first file, second column is content only in the second file, and third column is content that is in both files (matches between the two files.) While this may not seem useful at first, you can select which columns to output, so if you only want to know what is in both file1 and file 2 (column 2) you'd suppress columns 1 and 2, by running:
    comm -12 file1 file2
    Don't forget that your input files must be sorted.

  3. paste
    Systems administrators frequently use the cut command to parse files, but many people I run into have never used the paste command. The paste command will concatenate two files line by line (as opposed to file by file, like cat.)

  4. less instead of more
    This is not available on all Unix-based OSes, but the less command works very similar to more, but will let you move through a file forwards and backwards more easily. Want to jump to the end of the file, type Shift-G Depending on the version of less you are running, it will provide context highlighting when you search for a pattern.

  5. Jump to vi from more
    While paging through a file in more, press "v" to jump to editting the file in vi at the current position in the file.

  6. Jump to a line number when editing a file with vi
    vi +linenumber filename
    will open up the file with the cursor automatically moved down to the specified line. This is useful when you get an error that indicates "syntax error on line 2047." You can jump straight to the problem without fumbling around.

  7. Invisible characters become visible
    Sometimes you'll end up with carriage returns on each line in a file originally created on a DOS/Windows system, or filenames with spaces, tab, or other control characters in them, but you can't see them typically.
    The cat command provides three useful options -v, -e, and -t that will let you understand these invisible characters
    -v (displays non-printing characters)
    -e (prints a "$" at the end of each line to indicate a NL character)
    -t (prints "^I" for each Tab in the file)
    cat -vet filename |more

  8. Remove DOS ^M from ends of lines
    The "^M" characters are visible when editing in vi but here are two approaches to remove the characters.
    sed 's/<Ctrl-V><Ctrl-M>//g' -i filename

    or in vi: <Esc>:%s/<Ctrl-V><Ctrl-M>//g

If you ever do end up with me interviewing you, I'll likely work one or two of these into the discussion to explore your level of knowledge about Unix. If you need more information, remember: man pages are your friend.

This one is for you Charter (and every other cable company I've ever had.) Why can't the cable companies normalize the volumes of all their channels? I know there are variations between programming and advertising volumes, but when I switch from channel to channel, I typically either can't hear the channel or get blared out. I'm not typically sensitive to these changes, but I hate when I'm watching a program at night (kids sleeping) and I change the channel only to find myself in the middle of an action sequence in a movie with the volume suddenly twice as loud.

I know some TVs had volume normalization features (including automatically turning down the volume during noisy commercials) a couple years back, but why not eliminate the problem? Why not pick a volume range or maximum peak volume and adjust channels to the standard at the cable company's end of the technology before re-broadcasting the signal down their network?

Cost of living: June 2008

Hard drive storage: $0.14/GB
(Seagate Barracuda 7200.11 500GB 7200RPM/32MB for $69.99 via TigerDirect on June 17, 2008)

Solid-state hard drive storage: $15.63/GB
(OCZ 64GB SATA-300 2.5" Solid State Drive for $999.99 via ZipZoomFly on June 17, 2008)

Flash memory: $2.81/GB
(Patriot 16GB SDHC Card for $44.99 via ZipZoomFly on June 17, 2008)

Highest interest rate savings with minimal deposit requirements: 3.50%
(HSBC Bank via money-rates.com on June 17, 2008)

Loaf of white bread: $1.37

Pound of ground chuck: $2.80

Gallon of gas: $4.07
(US National Average, pulled from Gas Buddy on June 17, 2008)

Compare other "Cost of Living" articles on this blog.

now, check a news wiki (Wikinews or Wikipedia)

within a couple minutes, check a news website (Drudge Report or CNN or Fox News)

within a couple hours, listen to radio news (1440 WLWI-AM)

within a half day, check television news (BBC or ABC or CBS or NBC on TV)

within a day or two, try the newspaper (Montgomery Advertiser)

within a week, try the weekly newspaper (Prattville Progress)

About this Archive

This page is a archive of recent entries in the Technology category.

Politics is the previous category.

Time is the next category.

Find recent content on the main index or look in the archives to find all content.