Build boost in visual studio with Bzip

IRC on the Apple //c

Figuring out the correct magic incantation to compile the C++ boost library with Microsoft Visual Studio 2013 is somewhat of a magical trip. It is even worse if you want to include bzip for compression access. Add on top of that wanting to have x86 and x64 versions and you have a mess!

Here is what I was able to figure out:

First download Bzip from and uncompress the source code.

then inside of the visual studio tools command prompt (the 64 bit version for 64 bit and 32 for 32 bit) run the following commands:

.\bjam.exe -s NO_COMPRESSION=0 -s NO_BZIP2=0 -s BZIP2_SOURCE=<path-to-bz> --stagedir=.\stage\x64 --toolset=msvc-12.0 architecture=x86 address-model=64 -j8 --build-type=complete


.\bjam.exe -s NO_COMPRESSION=0 -s NO_BZIP2=0 -s BZIP2_SOURCE=<path-to-bz> --stagedir=.\stage\x86 -j8 --build-type=complete

If you are using a different version of visual studio, the toolset will be different. This site has the version numbers.

Good luck, and after you get it compiled remember, here be dragons Here be Dragons

How to configure Windows 8.1 and a Networked LaserJet 4 Printer

I have an old workhorse of a HP LaserJet 4 printer with a JetDirect Network Card. It may be 20+ years old and be rather cantankerous, however it still prints like a champ, toner refills for it are dirt cheep, and since I never print much, what do I really need a better printer for?
Laserjet says what?
Up until Windows 8, adding it as a network printer was not all that hard. The print drivers were bundled with the operating system, and all that was needed was to select it in the list. Well the times have changed, and Microsoft feels that it is time for the old horse to be put out to pasture along with all the other old PCL 5 printers. By default, Microsoft does not include pcl 5 drivers that can talk to the printer. Thankfully HP still provides a Universal PCL 5 Driver that will work at their site.
All you need to do, is download and decompress the installer. Finally follow the onscreen instructions to add the printer as a local tcp printer.
Hopefully that HP LaserJet 4 will last another 20 years!

Why it is important to watch your credit card or WTF is ATC*SYNAPSE

The scam truck

With all the breaches in credit card security lately I had us bank setup every account alert possible (talk about alarm fatigue). This morning I received a notification that ATC*SYNAPSE was charging me $36.00. Of course I immediately feared the worst, however after doing a little more research it was a recurring charge for Fitness magazine that my wife had signed up for for “free” while registering for a race.

Magazine stack

After doing a little checking $36 seemed rather high when Amazon was selling subscriptions for $5.99.
After a bit of googleing I was able to find the offending company behind this massive over charge, the Synapse Group they have an online service page if you want to cancel online or just call them at 203-595-8255

So the end of the story is that I called them, they are refunding the $36 and canceling our “order”. After they end we will be re-registering with a far cheeper subscription and saving money all around.

The oddest things get you views

naked CX bike

A while back I wrote a blog post about how the “naked” X-ray scanners at the airport were a bunch of bunk, and how Adam Savage was able to accidentally carry sharp and “dangerous” tools on an airplane after going through one of them. It was a relatively brief post and I never thought it would be a big deal, however I never figured that google would pick it up and link the words Adam Savage and naked together. In this sad world there are apparently several people who search for “Adam Savage naked” and find their way onto my blog. To those of you who do, first I would like to say welcome, and secondly eww and Why?!

It just goes to prove that blog posts have a long tail, and the oddest turns of phrase come back to surprise you!

Revising bash history


One of the biggest flaws of using multiple instances of bash on most linux machines is that the last virtual terminal to close is the one that gets written to bash history. This last in way of recording history is one that causes issues especially when using tools like screen tmux or byobu Fortunately there is an easy update to your .bashrc file:

export PROMPT_COMMAND=’history -a’

The end result is that your bash history will be in chronological order of the commands being entered. While this may not always be the perfect solution it is in most ways better then the alternative of having large chunks of history lost to the ages.

Thanks to this blog for pointing me in the right direction.

Merry Christmas, a little late


As always, we sent out a Christmas Letter in our annual Christmas Cards. For those of you that we either forgot, or just don’t have an address for. Here is a copy of it (pdf)

December 14, 2013

Dear friends and family,

It is hard to believe that another year has gone by! We write this letter on the last day of our vacation as we sit on the beautiful sunny beach in Jamaica and sip a rum punch. We have had a lot of fun and crossed many things off of our bucket list, like snorkeling, climbing and swimming in a waterfall, visiting and sampling a rum distillery, and eating wonderful food like jerk chicken, akee and salt fish, and caviar. While we have been in Jamaica it has snowed over 5 inches back home and we have a rude awakening awaiting us!

In other exciting news Jess has been promoted to Quality Manager at Caremoli. In this new role she will take over her former supervisor’s position after her supervisor moved on to other opportunities. Andy continues his position as a software developer at DuPont Pioneer in the Soybean Field Research Information Management Department. Both of us are looking forward to another productive and fruitful year.

We have both been busy in our organizations. This year Andy was re-elected as newsletter co- editor and Jessica was elected as treasurer for the Alumni Band board. Andy continues his Vice Presidency for the Central Iowa Linux Users Group as well as serving as the Secretary of our Church Council. Finally Jess continues to be active with the local alumnus chapter of ASK.

Jess also continues to be quite the baker and competed for yet another year in the Iowa State Fair food department where she won a personal best 11 ribbons. Including first in white and chocolate cake and peanut butter blossoms. She also participated in two distance races, the Dam to Dam that was almost a half marathon and the Des Moines Half marathon as well as numerous 5 and 10K races

We hope that this past year has also been productive and fruitful for you also, and we are looking forward to the challenges and accomplishments of next year.

Truly yours,
Andy and Jessica Denner

Fortune is back or how to solve Net::Twitter::Lite error 410: gone

Twitter - New 'Over Capacity' Graphic

My twitterbot is back on line after a long vacation (ok so twitter tweaked their API and for a while they were ignoring my posts) It turns out I needed to add “apiurl => ‘’,” to my connection information and all was back to working again.

The issue was that Net::Twitter::Lite was using the old twitter API that has been retired. Instead of posting to your twitter account the error 410: Gone was all that was returned.

Here is my updated script (of course you need to add your own keys and tokens)

use Net::Twitter::Lite; 
my $nt=Net::Twitter::Lite->new(
  legacy_lists_api => 1,
  consumer_key => "KEY",
  consumer_secret => "SECRET",
  access_token => "TOKEN",
  access_token_secret => "SECRET",
 apiurl => '', 
$quote =~ s/\s+$//; 

What is fortune you may ask?  As Wikipedia says “Fortune is a simple program that displays a pseudorandom message from a database of quotations that first appeared in Version 7 Unix.” An example of this is “Beware of a dark-haired man with a loud tie.” The other magic glue that is used here is Perl (a useful scripting language), Net::Twitter::Lite (a light weight twitter api because I am lazy) and Crontab to (periodically run the script and post my wisdom to twitter).  Thanks also to the perl monks for their wisdom in how to solve the error message 410:Gone