chained commands are SMP friendly

I just wrote a command chain (something unix admins do often) that looks like this:

  1. gzcat threeGB-file.gz \
  2. | grep ‘match this’ \
  3. | grep -Ev ‘but not this’ \
  4. | cut -f1 -d’ ‘ \
  5. | uniq \
  6. | /usr/local/bin/idn -u \
  7. | tr ‘[:upper:]‘ ‘[:lower:]‘ \
  8. > infile.fifo &

That command pipeline decompresses a file, filters out the metadata, weeds out dupes,  converts punycode IDN names to  UTF-8, converts caps to lower case, and makes the data available as a file.

While sucking the contents of that file into a MySQL table, I noticed that each of the commands in the pipeline was running on a separate CPU core. While it’s not the same as Grand Central Dispatch, it’s fun to see just how well the Unix Philosophy had weathered the decades.

Windows is so much fun

I have a Dell R610.

  1. I want to update the firmware (BIOS, NIC, iDRAC, etc..)
  2. I can’t update the firmware using the built in Lifecycle Controller because it’s too old (as of 2012) to recognize the signatures on the current Dell firmware updates.
  3. I can’t update using a USB drive with the updates for the same reason (signature not recognized).
  4. The only path forward is to install from a host environment (Windows or Linux)
  5. I happened to have a Windows 7 installer on a USB thumb drive, and I only need the OS running for about 20 minutes, so I chose Windows, because then it can natively run the the Dell Repository Manager, which fetches the firmware updates.
  6. After installing Windows 7, I can’t install Dell Repository Manager because .NET 4 isn’t installed.
  7. I can’t install .NET 4 because SP1 is installed.
  8. I can’t install SP1 yet. Maybe because these 103 other patches need to be installed first.
  9. First attempt to install patches fails.
  10. Install a half dozen patches. Reboot. Install 25 more. (Repeat 4x)

PS: After a few dead ends, the solution to getting all the updates applied was booting the system onto Windows and installing a newer (v1.5.X) Lifecycle Controller. Once that is accomplished,  booting into it via F10 at the BIOS POST, and let the lifecycle controller upgrade everything else directly from ftp.dell.com.

IPv6 works on Comcast!

Yesterday my ancient TimeCapsule was misbehaving. Our network connection still worked, but nothing else did. Because of its age, I decided it was time to retire it from being our home’s gateway to the internet.

I reconfigured my v6 Airport Extreme and connected it to the shiny new IPv6 enabled cable modem that I installed in 2012. I had been anticipating that eventually IPv6 would arrive. My 10 year old Motorola Surfboard 5100 was retired because it didn’t support IPv6. After rebooting the Motorola SB6121 cable modem, the IPv4 network came right up. I went in to set up IPv6 tunneling and noticed I had native IPv6 addresses assigned!

Apparently Comcast rolled out IPv6 in Washington in Sept. 2013.

Lucas & Matt Veggie Soup

Dice all ingredients (small 5-8mm chunks) and dump into an 8+ quart pressure cooker pot.  Barley needs the most time, so start it immediately and then prep the veggies. Add just enough water to keep ingredients covered. Set the pot over medium heat and add:

  • 1 Matt handful and 3 Lucas handfuls of barley (~1/2 c.)
  • 5 bullion cubes (beef, chicken, whatever)
  • 1 parsnip
  • 1 bunch (6) of colored carrots
  • 4 stalks celery
  • 1/2 head of cabbage
  • 1 zucchini
  • 1 summer squash
  • 4 hot dogs
  • 1 Tbsp. of dried basil (or 4 fresh)
  • enough water to cover

Pressure cook for 5 minutes. Cool immediately and serve.

 

Open Source = more secure?

One of the many arguments Open Source advocates make is is that OSS is more secure because “anyone and everyone” can review the source.  This critical crypo bug in the GnuTLS library takes that idea out back and shoots it. Execution style.

(I’m not being critical of OSS. After all, I’m an OSS author and contribute to quite a few OSS projects. There are plenty of compelling arguments for OSS software, but increased security isn’t one of them.)