Quantcast
 Thursday, February 22, 2007

I enjoy hacks that simplify my life and let me focus on the stuff that really matters.  I'm a long-time reader of Lifehacker and even bought Gina's book so that I'd be able to read it while sitting on airplanes (like I am now).  For the past 4-6 weeks I've been on a mission to automate as many routine IT-related tasks as possible.  This includes making sure that I have a stable and secure IT infrastructure at home that I can remotely manage while traveling.  Maybe some of you are interested in the journey I've taken so far, so here goes.

The Environment

This is what my home IT environment looks like:

  • Comcast broadband over cable
  • Wireless network, WPA and MAC address filtering enabled.  Port 22 only forwarded from the wide open Internet to allow in-bound SSH to my Linux box.
  • Julie's Dell laptop, usually anchored in our office, but sometimes used remotely.  Connects wirelessly to our home network.
  • 2 Shuttle XPC-style Windows XP boxes, primarily for gaming.  One of them is also my iTunes host (database, not the music files themselves).
  • A headless Windows file server for documents, music, and photos.  This is a Dell desktop that I bought 8 years ago and it still works like a charm.  I've cut this Windows XP environment down to the core and only manage it through remote desktop (there's no keyboard or monitor attached to it).
  • A 4-year-old FragBox running Ubuntu Edgy Linux desktop
  • From time to time, my work IBM ThinkPad T43 is connected into this network.

Document / Photo / Music Backups

Documents and photos are, to me, the most critical information to protect.  I've got a decent, though not bullet-proof solution in place here.  This is what I do now:

  • The file server has a mirrored RAID configuration with two separate 100GB disks.  So I have some inherent redundancy in the file storage itself.
  • I have a REV drive attached to the USB 2.0 port for backups.
  • I run SynchBackSE to do nightly backups of photos and documents.  I have a Google Calendar reminder that auto-generates a todo item for me (using GTDGmail of course) to rotate my REV disk once a month.
  • When I rotate the disk, the recent one goes into a firebox where I keep some other important documents like passports.
  • I'm not as concerned about backing up music because I can re-generate 99% of my library by re-ripping my 200+ CDs.  I've done a few snapshot backups on REV drives, but it is not a regular process.  This is mostly because my REV drive isn't large enough to hold docs, photos, and music.

What could be improved: I feel like I should be rotating the backups more frequently and leveraging some offsite storage.  I need to find a backup buddy that I can exchange with.  Any takers out there?

FolderShare

This is an amazing tool, and I hope Microsoft doesn't do anything to reduce its usefulness.  I use this for replicating a number of key document sets to 3-4 of the machines in my environment.  FolderShare is what allows me to work offline and trust that proper synchronization will happen when I reconnect.  It has some gotchas and sometimes negative side effects (watchout for cascading deletes!), but I've learned to love this tool and it is part of my normal desktop environment.  It is also great for remote file access.

Auto Defrag

This was an easy hack to setup, so why not automate this?  If I don't work on a PC frequently, I'm very unlikely to remember to initiate a defrag.  I schedule these to run on all of my Windows boxes on Sunday nights.

Content Filtering / Family-Safe Browsing

Our boys are getting older and much more savvy about using the internet.  While we supervise this activity as much as possible, I wanted to put in place some automated tools to provide content filtering and tracking of web access.  I went with BSafe Online and so far I'm happy with it.  It takes a while to tune it so that certain important sites (like Wikipedia) aren't blocked, but that's fine with me.  There are some nice side effects like ad blocking, and I get weekly email reports of site access so that I can monitor what's going on in my household.

Auto Hotkey Scripts

AutoHotkey - what a fantastic little tool.  I haven't defined a huge number of keyboard macros, but I still find this to be a useful timesaver and it fits really well with my FolderShare distribution model.  I have a folder called Briefcase that I replicate to all of my desktops.  I compile my AutoHotkey scripts into an executable and have it launch from the Briefcase on startup - this helps ensure that I always have the same set of scripts available on all of my (Windows) machines.  I mostly use the scripts for email signatures - handy as I have many different personas I take on when answering email.

Note: the rest of these hacks are implemented in the Unix world of BASH shell scripting, MySQL, Apache2, etc. 

Why Run a Home Linux Server?

Oh, let me count the ways:

  • Ubuntu is an extremely friendly desktop O/S for the savvy user.  You've got to take my "friendly" guidance in that context - this still isn't for the faint of heart unless you expect to do nothing more than work with OpenOffice, FireFox, and Thunderbird.  I've been hacking around Unix variants for over 20 years, and I'm sometimes amazed at what I can pull from the dark corners of my brain when working through some particularly challenging configuration steps.  I still don't think Linux is ready for mass consumption on the desktop, but Ubuntu is certainly the closes I've seen.
  • It is a great way to make good use of aging Intel boxes.  Still, don't forget that my headless Windows fileserver is twice as old as my Linux box.  And they both just run and run and run.
  • If you want to have complete control for automation and powerful remote access, I think the path to success is shorter with Linux than Windows.  Then again, I"m not (yet) a PowerShell geek like Scott is.
  • It's just different than what I live in day to day.  My company primarily ships products that run on Windows.  I like to see what's going on with the other half.  If I'm going to write a Ruby on Rails application, I'd rather go all the way and develop in a Linux (or any non-Windows) environment with MySQL, Apache, and Subversion.

What Do I Run There?

  • As necessary, a Ruby/Rails application that Jacob and I developed for tracking all of the players and teams in Sherwood Youth Football (Julie is the secretary for the organization).  This was an interim step as they plan to move to a web-based outsourced solution this year.  It was a fun playground for sharpening my Rails skills and learning how Rails supports AJAX functionality.  This app is backed by MySQL.
  • A personal MediaWiki installation.  This is the same Wiki that sits under Wikipedia - maybe that's overkill, but I love the extensibility of MediaWiki, the categorization capabilities, and the likelihood that it will stay supported for a long time.  Jacob is learning the Wiki Way and is using it for merit badge work for scouts.  I'd like to get him to start organizing his homework there too.  I'm using it as a general holding place for all sorts of information. I'm also in the middle of writing up a narrative of our family history.  The wiki is backed by MySQL. Note: One cool thing about using Putty on Windows for connecting via SSH is that I can tunnel HTTP requests through the SSH connection and work on my home Wiki even when I'm remote.  I use DynDNS to make it easy to find my home network while remote.
  • A Subversion repository and server.
  • A replicated mail repository that mirrors my GMail account into a local mbox that I can read using Mutt.  Great for super-low-bandwidth connections or when, heaven forbid, GMail is down (this seems to happen more and more of late).
  • Various Linux services of value, such as an SSH server for remote access, remote desktop, and cron for scheduled jobs.

What could be improved: I'd like to use a more robust certificate exchange with my remote SSH access to the Linux server.  Right now I rely on password strength, and that doesn't give me a lot of comfort.

MySQL Backups

Given the critical nature of the data I'm storing in MySQL, I need to ensure that I have frequent, trustworthy backups.  For a long time I took care of this manually using mysqldump and a simple email to my GMail account.  To automate this process, I cobbled together a few tools that are working quite nicely together:

  • MySQLblasy.pl - a simple Perl script that backs up all or some of the databases in a MySQL server, TARs up the resulting SQL files, gzips the TAR file, and uses a sensible file naming approach using a date/time stamp.  It even rotates backups and can keep the last 2 days, 2 weeks, etc. on the local disk.
  • sendEmail - a BASH script that will send a file attachment via SMTP.  After running the MySQL backup I send the file to my GMail account.
  • crontab - I then automate the above by scheduling the backups to run every evening.  They automatically get tagged and archived in GMail, so I can simply check my GMail tag list and see the backups roll in on a daily basis.

SVN Backups

I keep source code and other key files in Subversion, so that needs to be backed up as well.  This is much less likely to change frequently, so on a weekly basis I run a schedule BASH script that I wrote that does a hot copy of the repository, tar/gzips it, then emails it to my GMail account.

What could be improved: I need to start putting configuration files into Subversion.  As I learned when having to completely rebuild by Linux box last Sunday after a catastrophic drive failure, a lot of time is spent getting Apache, MySQL, Subversion, etc. configured properly.  I also need to automate the deployment of said configuration - maybe Capistrano could help me out?

Email Backups

I run fetchmail every hour to pull my GMail downto a traditional mbox on the Linux box.  This allows me to use any of a number of tools to read my mail, but this is mostly just for backup purposes. 

Todo Script

This is probably the simplest but one of the most useful hacks I wrote:

#!/bin/bash
echo "Adding action: "$1
/home/chris/scripts/sendEmail -f brookscl@gmail.com -t brookscl+Action@gmail.com -u
$1 -m "Todo: "$1 -s smtp.gmail.com -xu brookscl@gmail.com -xp xxxxxx -o tls=yes

When I do my weekly GTD review, I may generate anywhere from 25-30 tasks.  This used to mean sitting in GMail and composing emails (tasks) to myself.  Even with the keyboard shortcuts it was annoyingly tedious.  With this script I can open an SSH session to my Linux box and type away:

$ todo "Write a blog post on automation"

Adding action: Write a blog post on automation

$ todo "Change the oil in the RAV"

Adding action: Change the oil in the RAV

My Windows box was jealous so I wrote the equivalent batch file, using the very handy blat tool for command line emails:

@echo off
blat -p brookscl -to brookscl+Action@gmail.com -subject %1 -body %1 > NUL

Future Projects

  • Tighten up the security environment around my Linux box.  Maybe try some penetration test tools to see what vulnerabilities I have, particularly coming over the public internet.
  • Integrate my Windows-based file server with my Linux box.  I love using GMail as a backup mechanism, but why not dump the same backups onto that box and incorporate into my rotating backup on the REV disk?
  • Teach Jacob (and eventually Matthew) how all of this is done so that he can be a junior Sys Admin.  Every 12 year old should know how to write BASH scripts, right?
posted on Thursday, February 22, 2007 9:37:07 PM (Pacific Standard Time, UTC-08:00)  #    Comments [0]
 Wednesday, February 21, 2007

With Jacob snowshoeing / backpacking up on Mt Hood, and Julie/Matthew driving halfway to the coast to transport a friend, I rang up Ken to see if he was up for some 2-player gaming.  He was open to just about anything so I setup Combat Commander: Europe, scenario 5.  This is the "saving Castle Wolfenstein" scenario or something similar - the Germans are defending a chateau in Belgium and the Americans are storming the castle.  Not unlike scenario 2 that Jacob and I played recently.  I like "unbalanced" scenarios like this more than the 1st scenario where both sides are on a generic recon mission.  Of course they aren't really unbalanced because of the initial conditions - in fact, I'm finding the scenarios so far to be incredibly well balance.  Either luck, coincidence, or they did a fair amount of scenario playtesting.

CC Europe Scenario 5

This was a marathon game, lasting nearly 5 hours with very little teaching and downtime involved.  I used a selective disclosure method of teaching the game which works quite well when you have an accommodating partner.  Ken and I are similar in that we both prefer not to grok the whole game at the start and just get into it.  We didn't bother discussing artillery or ordinance until we got cards that forced me to teach him.

The game play was incredibly tense - the best I've experienced so far.  I spent all of the game in the 22-27 VP range until Ken took over the chateau (worth at least 15 points), which gave me a very slight 3-4 point margin.  The problem was I was fast approaching my casualty surrender limit.  My other problem was that I had a secret 3VP objective of, you guessed it, the very same chateau which made my margin even slimmer.

We managed to trigger two separate sudden death trigger tests, but neither one played out to my favor.  So it became a waiting game to see if another time trigger would happen or if Ken would draw an advance card to wipe out my surrender unit.  Well, it didn't and he did, so game over.  I'm glad Ken's first try at this game was so involved and rewarding - I suspect he'll want to come back for more.   Prediction: CC:E and CC:A are going to be my two most played games in 2007.

posted on Thursday, February 22, 2007 4:49:30 AM (Pacific Standard Time, UTC-08:00)  #    Comments [1]
 Monday, February 12, 2007

Thanks to Travis.  I'm surprised I missed any of these questions.

 

Rock Star
You scored 98%!

You damn rock star. You know all the basics, and if you got any wrong, I bet it was that stupid Traveling Wilburys question. Your friends are probably intimidated by your knowledge of classic rock and envy your impressive collection. When a classic rock song comes on the radio, you can probably identify it before the vocals kick in most of the time. You probably get good scores on the "maiden name of Clapton's mom" tests, too.

posted on Monday, February 12, 2007 2:37:07 PM (Pacific Standard Time, UTC-08:00)  #    Comments [4]
 Sunday, February 11, 2007

Jacob and I have been on a roll lately, playing Combat Commander: Europe twice and Command & Colors: Ancients three times over the past 2 weeks.  I'm most excited about CC:E, so let's talk about that first.

Coming on the heels of trying out ASL SK#1, CC:E hit the sweet spot the game Jacob and I were looking for. The card-driven nature of the game is the right solution to the ASL problem of "oh my there are so many choices I might have... how do I decide?"  This game is nowhere near the ease of play as C&C Ancients or Memoir '44 - this is a real war game folks!  It has counters with little numbers on them, challenging timing rules, and concepts for routing and rallying similar to ASL.

Still, we both found the game very approachable and fast-paced if not short.  Our games are averaging around 2 hours 30 minutes right now, though we may get it down to 2 hours with repeated play.  We started with the Fat Lipki first scenario, with Jacob playing the Germans and me the Russians.

 Combat Commander: Europe

This scenario has a small number of units with both sides on recon.  One thing I really like about the game is the variable / hidden victory objectives which should greatly enhance replayability.  This time around we both had the main building (objective 5) in the middle of the map as our secret objective so that's where all the action was.  I snuck out a marginal victory of 3 points by surrounding Jacob from the woods across the road.  I also brought some units around the back side near his original starting point, which turned out to be a smart move as he marched a unit off my side of the board (that scores VPs for him) then brought him back in the next turn on his side.  I don't quite see how that fits the simulation, but it is an interesting game mechanic.

Our second game was scenario 2, with the Americans and Germans fighting it out in the hedgerows.  This really is a hopeless scenario for the Germans, but the starting conditions are balanced such that it is very playable.  We found this scenario to be much more engaging, especially because the units involved gave us more options from the cards (radio and artillery for Jacob as the Americans and some ordinance for the Germans).  This was another close game but in the end Jacob was able to overrun my position and get the requisite victory points.  I'm rating this a 9 after two plays.

Combat Commander: Europe

Jacob and I are getting to be pros at C&C: Ancients, with most games finishing in less than 40 minutes.  Friday night we played the Lake Trasimenus scenario, with Jacob playing the Carthaginians and me the Romans.  This is a tough one for the Romans to win I think - or at least that's going to be my ongoing defense as I can't seem to beat Jacob in this game.  He won 6-3.

Today we played back-to-back scenarios of Himera from the 1st expansion. This scenario pits the Carthaginians against Syracuse, and has a great setup: a Syracuse leader and cavalry sneak into the Carthaginian camp then proceed to wreak havoc.  Both of our games turned out to be decent simulations, with the Carthaginian camp getting nearly wiped out in both cases (I played Carthage both times) and solid counter-attacks from the right in both cases.  The first game was over fast, with Jacob taking all 6 flags before I got my first.  I made a few serious tactical errors, attacking without room for retreat when I could have easily left myself some buffer.  On our second go-around I fared much better, losing 6-5.  I think I would have won had I delayed a counter-attack on the right and instead escaped with Hamilcar and the calvary from the camp on the left. 

The three scenarios we played lasted 35, 30, and 40 minutes.  Setup time is down to about 10 minutes.

So the real question is this: because we're having so much fun with C&C: Ancients, should I even consider getting BattleLore?

posted on Sunday, February 11, 2007 9:33:20 PM (Pacific Standard Time, UTC-08:00)  #    Comments [3]
 Wednesday, February 07, 2007

I'm loving the cheat sheets ruby application.  Install Ruby, gem, then follow Err the Blog's complex (heh) instructions.

I even added my own cheat sheet on GTD.

If you spend a lot of time in a console or terminal window, you should check this out.

posted on Wednesday, February 07, 2007 5:57:36 PM (Pacific Standard Time, UTC-08:00)  #    Comments [0]
 Saturday, January 27, 2007

I  hosted our Tuesday night gaming session this week and got to break out a couple of Essen releases that haven't seen much action since my return.

Mike spied Die Baumeister von Arkadia on my shelf and we agreed it would a good choice for the 3 or 4 players we were expecting.  I'd been staring at this game on my shelf for sometime wondering why I hadn't played it since returning from Essen - it was one of my favorites there.

Arkadia

The game taught and played very quickly.  The one strategy I remembered to convey is to not wait too long to use your flags to cash in seals and get new workers - the game can end very suddenly and it is hard to win if you've not managed to get your works out generating seals for you.  Peter got the knack of the game very quickly and won by a decent margin.  We played the game in about an hour - great game value for time invested.

Arkadia Closeup

Next we played a press-your-luck chicken game that Peter made.  It has some interesting mechanics to it but something wasn't quite right.  We may have played a rule or two incorrectly.  I'd be willing to try it again after some review.

Peter had to go so Mike, George, and I elected to play the much derided Alhambra Dice Game.  Make sure you try this game before you write it off - it isn't nearly as bad as many are saying, and there are some interesting choices to make at times.  Still, the luck of the dice rules and the best laid plans can be for naught if the dice don't agree with you.

Alhambra Dice Game

My one complaint with the game is that it is too long.  It took 90 minutes to play a full game, and it doesn't hold up well alongside Arkadia.  Perhaps a game with four rounds, scoring after the 2nd and 4th, would be better.

posted on Saturday, January 27, 2007 2:22:24 PM (Pacific Standard Time, UTC-08:00)  #    Comments [1]
 Wednesday, January 24, 2007

I've managed to have my voice show up in a couple of interesting places lately.  First, my friends over at Distinction Communication had me record a radio spot for them promoting an upcoming public seminar.  We've sent about 30 people through this training at Corillian - these guys are top-notch and if you need to up the ante for business public speaking you should check these guys out.  This spot has been running for the past 2 weeks on 1190 KEX here in Portland.

Second, I was interviewed by good friend and co-worker Scott Hanselman for his Hanselminutes podcast Board Gaming for Programmers.  In this podcast Scott, Eli Smith, and I introduce Scott's geek programmer audience to another world of geekiness - modern boardgames.  Scott tells me he's focused on the WAF (wife acceptance factor) and introducing his wife Mo to 10 Days in Africa and hopes to try Jambo and Settlers soon.  I think that's a good order - Jambo is a great two-player game (though not trivial to learn) but don't wait too long to try out Settlers!

posted on Thursday, January 25, 2007 2:41:01 AM (Pacific Standard Time, UTC-08:00)  #    Comments [1]
 Tuesday, January 23, 2007

Jacob and I spent Saturday and Sunday up at Nanitch Lodge with our Boy Scout troop.  This is the sixth straight year I've been to a scout outing up on the mountain, but my first time spending the night in the lodge.  We shared the lodge with three other local troops and had a blast.  The weather was perfect (highs in the low 30s), we got a nice blanket of snow on Saturday, and the snow tubing was exciting as always (and no injuries!).  Here's a great shot of Jacob getting some air.

Jacob Tubing

Last night Julie and I walked over to Matthew's school to see his big 4th grade play on the history of Oregon (My Oregon Report by Ralph Nelson).  Matthew played Thomas Jefferson - the guy who swindled Napoleon out of the Louisiana Purchase and set Lewis and Clark off on their way to Oregon.  Matthew did a great job acting and singing and we are very proud of him.

Matthew as Jefferson

posted on Wednesday, January 24, 2007 4:17:25 AM (Pacific Standard Time, UTC-08:00)  #    Comments [0]

GameStorm link

GameStorm 9, March 30 - April 1 at the Portland Airport Sheraton, will be featuring Reiner Knizia as its guest of honor this year.  There are several reasons why I'm excited to attend this year:

  • Dr. Knizia will be there
  • I will be running the Kniziathon
  • This location should be substantially better than the Red Lion last year.  Our hotel room situation was a disaster last year, and I've already managed to book a nice room with 2 queen beds.
  • The timing is nice, coming right on the end of spring break for the kids.  This will make it easy for Jacob and I to get there early on Friday and miss the often terrible cross-town traffic.
posted on Tuesday, January 23, 2007 8:07:51 PM (Pacific Standard Time, UTC-08:00)  #    Comments [0]

Time to catch up on some recent gaming!

Through the Ages

Two weekends ago Jacob and I tried to take on the full game of Through the Ages.  Jacob has been itching to play this again and I was happy to accommodate - this was clearly one of the top games I played in 2006.

The last time we played we tried the advanced game and we were excited to experience the full experience - mostly because we wanted to get Bill Gates as a leader.

Through the Ages

I did a much better job this time around managing my military.  I wanted to make sure I didn't fall too far behind him and get sent into a downward spiral as we started to reveal events.  This strategy worked out well, especially coupled with Michelangelo - I had a stable military with some accelerated culture production that allowed me to race away with the lead.

Four hours into the game, we were easily 2 hours from being done.  I was so far ahead that we both agreed to stop the game.  The game felt longer this time around, and I'm not sure why.  Downtime wasn't bad at all, so maybe it was just unfamiliarity with the rules at the start.  Still, I'm not sure I'm prepared to invest 5-6 hours for the full game.

ASK Start Kit #1

Time to revisit my nemesis ASL, via the second scenario of the Starter Kit #1 that introduces machine guns.  If you recall, we made good progress last time we played this but I still expressed some frustration with the rules and jargon. I truly thought we'd be well poised to move on to the next set of rules, but in reality we were right back where we started.  As I read the rules, I keep wanting to create my own abstractions to simplify things - I just don't care about the level of realism that the core system offers.  The terseness of the rules is such a hindrance, and the index is nearly worthless.  Case in point: we were trying to figure out ROF (rate-of-fire) for LMGs (light machine guns) etc.  I understand the concept, but I could not for the life of me figure out how you determine if the gun gets another fire.  Look up ROF in the index and you get pointed to MG section, but there's no clue there as to how ROF is triggered.  Turns out this is explained in brief early on in the rules, and it took 5-10 minutes of reading and re-reading to figure this out.

ASL

Imagine how frustrating it is for Jacob to sit there wait while I dig through the rules trying to figure out this (very important) rule.  This is where being terse is a huge hindrance for the rules - MMP should double the size of the rulebook and include redundant information as appropriate via callouts and other explanatory text.  I'm sure the SK is big improvement over starting with the ASL rulebook, but I think there's room for improvement.  After receiving Combat Commander: Europe last week I'm forecasting that ASL will never get played again in my household in favor for this lighter, more dynamic squad level game.  More on that later.

Big Kini

I've played Big Kini 3 times in the past few weeks and I continue to be impressed with this mostly undiscovered game.  Doug did a nice writeup of my last session playing this and brought up a good point about the human factors, but I wouldn't get too concerned about his issues.  I think after a play or two the eye candy on the board gets to be pretty decipherable.

Web of Power

I finally got a chance to play Web of Power while over at Mike's a couple of weeks ago.  Wow, what a fun but tough game to figure out (strategy-wise).  I've been reading about Web of Power (and the related game China) for some time but never pulled the trigger on a purchase, primarily because I'd like to try before I buy.  George had played before but needed some time to refresh on the rules, but once we started the game was over within 45 minutes.  Matt did an impressive job taking advantage of connections between provinces (I didn't even notice the connections over sea lanes!) and easily beat us.  A fun time and I'd like to try China now to see if that would be a good purchase option.

posted on Tuesday, January 23, 2007 5:01:51 PM (Pacific Standard Time, UTC-08:00)  #    Comments [3]