Wednesday, April 23, 2008

Code Camp '08

Once again I'm going to miss Code Camp.  Too many other things going on (holiday to book, birthday party x 2, BBQ Friday, gathering to go to Sunday) to justify heading away for three days to geek out.  In other words my girlfriend will be über cheesed if I go.  ;)

Have fun if you're going!  Wish I was there too.

PS I've got a plan for next time.  I'll present on some topic - that'll be way easier to sell to my SO than if I'm just tagging along...

Friday, April 11, 2008

Building Boost 1.35

I'm a big fan of the boost library for C++ development.  They're incredibly well designed and implemented, generally cross-platform, and quite well documented.  In short, they're awesome.

However, I regularly have issues building them (on Windows with the VS2005 compiler).  Thankfully I'm not alone.  Kevin Heifner ran into the same problems I did when trying to build the recently released 1.35 and documented a work-around.  Thanks Kevin!  It worked a treat.

The summary is that the Boost Consulting group, who usually put together a nice installer, haven't yet published one for 1.35.  Further, following the instructions on the Getting Started page that describe how to build boost led me astray.  With hindsight I think the major problem was that the "stage" directory mentioned in the example needs to be created before the build commences.  Anyway, Kevin provides an alternative set of command line options for bjam:

cd "C:\Program Files\boost\boost_1_35_0"

bjam --toolset=msvc --build-type=complete --prefix="c:\program files\boost\boost_1_35_0" install

Then just configure your projects Additional Library Directories to include "C:\Program Files\boost\boost_1_35_0\lib".

Friday, April 04, 2008

Wireshark matures; v1 is released

Wireshark, formerly called Ethereal, has made it to the 1.0 milestone. Congrats to Gerald Combs and the team. Wireshark is an amazingly useful application that helps analyse network traffic.

As a software engineer it's an invaluable part of my toolkit and I'm very grateful for the many folks who work on this wonderful open-source (GPL) application.

Internet Sharing: Mac to Windows

Sharing an Internet connection from your Mac is trivially easy:

  • Open System Preferences
  • Choose Sharing
  • Tick the Internet Sharing checkbox

Typically I share out my wired Ethernet connection over wireless (Airport in Mac parlance).


You'll need to configure the Network Name (the SSID) and the encryption settings. Unfortunately WPA is not yet supported so your best bet is 128 bit WEP. You'll also need to choose a 13-character password if you want Windows computers to share your network (if you're network only has Mac's then feel free to choose any length password).


Connecting any Mac to this network is trivial. Simply turn on AirPort, browse to the network and enter the password.

Unfortunately, from a Windows PC it isn't quite so obvious - you can't just auto-detect the network and enter the password. You'll need to perform the following steps:

  • Open Control Panel, Network Connections and click on Wireless Connections
  • Add a new wifi network
  • Enter the Network Name that you created on the Mac - it must match exactly
  • Set the Network Authentication to Shared
  • Set the Data Encryption to WEP
  • Uncheck "The Key is Provided Automatically" and enter the 13-character password that you chose earlier

You should now find that the Windows PC can connect to the network.

If you're using a wifi manager other than the standard Windows functionality then you may need to experiment on the various settings. One manager I had to configure wouldn't work until I chose Enterprise as a network type.

I'll try and get some Windows screenshots soon (my VM doesn't have a wireless connection).

Hope that helps someone!

Tuesday, April 01, 2008

Google Docs goes offline

Google Docs has just gained the ability to go offline. This makes the simply office suite significantly more useful as you no longer need to be tethered to an Internet connection while editing your documents. Naturally they've used Google Gears to implement this. Mental note: Get up to speed on Gears!

My Google Docs doesn't yet reflect the feature but I presume it's rolling out through all the Google servers as we speak...