About Andrew McRae


Andrew McRae

I have a wife, two children (19 & 17), and live in a town on Sydney's northern edge, next to the bush. And yes, I do get kangaroos in my back yard. As well as snakes, blue-tongue lizards, goannas, kookaburras and lots of possums.

I am a senior software engineer for Google Inc.

My other job is to avoid being a full time system adminstrator to my childrens' computers. As a result of this, I am developing a deep and lasting respect for all the administrators of Windows PCs.

In my copious spare time, I play squash, go bushwalking (hiking), and take photographs.


What I Do

I work as a software engineer for Google Inc., as part of their Sydney Engineering office.


Photos

One of my main hobbies is photography. I use a Canon 450D digital SLR. I have just traded down to this lighter camera from a Canon 20D so that I don't have to carry as much weight on hikes. Previously I have owned a Canon 300D Digital Rebel, a Kodak DC-290, and a venerable Sony Mavica (the one with the floppy disk drive, 0.25 megapixels). You can see the results of my amateur photographic efforts in my photo gallery. My main interest is in panoramic landscape photography. One of my photos was selected for Earth Science Picture of the Day. Please note all photos on this site are © Copyright by Andrew McRae.

Latest photos

  • Cowan to Brooklyn, September 2009
  • Kokoda Track, PNG, April 2009
  • Mt Aspiring and Bonar Glacier, February 2009
  • Wollemi Creek and Colo River, February 2009
  • Blue Mountains, January 2009
  • Northholm Debutante Ball, October 2008
  • Barrington Tops, October 2008
  • Desolation Wilderness, Lake Tahoe
  • Ireland/London/Scotland
  • Tongariro Circuit, New Zealand

    Patents

    I have filed (or in the process of filing) eleven patents.

    These patents have been granted:

  • US Patent 6,785,843 - Data plane restart without state change in a control plane of an intermediate network node.
  • US Patent 6,970,462 - Method for High Speed Packet Classification.
  • US Patent 7,154,888 - Method for classifying packets using multi-class structures.
  • US Patent 7,236,493 - Incremental compilation for classification and filtering rules.
  • US Patent 7,325,074 - Incremental compilation of Packet classification using Fragmented Tables.
  • US Patent 7,415,023 - Method for classifying packets using multi-class structures.
  • US Patent 7,525,973 - Flexible software-based packet switching path.
  • US Patent 7,571,216 - Network device/CPU Interface Scheme.

    PNG Trip

    In September 2006 I took a trip to Mt Hagen, Papua New Guinea, to do some volunteer work (Linux training). I wrote a blog of the trip, along with some photos.


    Some Background

    In September 2006 I joined Google Inc. Previously, for 3 years I was a Senior Principal Engineer in a Silicon Valley startup called NetDevices Inc., working on a new branch office router.

    Prior to October 2003, I was at Cisco Systems, where I had been a Distinguished Engineer in the Routing Technology Group, working on next generation router architectures.

    I joined cisco in October 1995 as part of the ELC group in Core Engineering. I have worked on a number of port adaptors, mostly serial and channelised. I spent 18 months on the AS5800 product, as a technical leader. I was the lead engineer on the NSE-1 , the next generation processing engine for the C7200 series. I also was the designer and implementor of TurboACL, a new patented high speed packet classification algorithm.

    Before cisco, I was a Principal Engineer at Mits Ltd. (Australia), where for 11 years I worked on real time supervisory and control systems. My responsibilities included communications and embedded systems, and a range of other areas such as Unix applications and drivers. In the dim past I co-founded a company specialising in motion control special effects and computer graphics for film and television.

    In extra-curricular activities, I was the developer of PC-Card technology for the FreeBSD project, and actively promote the use and development of Open Source Software.

    I am also involved in the Australia Unix Users Group (AUUG), where I regularly deliver papers, hang out with the local Unix folks and generally have a good time. I was programme chair of AUUG'98.

    I am a founding member and a current director of the Australian Chapter of the Internet Society.


    Bibliography

    Here is a list of papers that I have published, some of which are online, and others which can be obtained from the author.