About Andrew McRae


Andrew McRae

I have a wife, two adult children, and live in a leafy harbourside suburb in Sydney.

In my copious spare time, I sail, go bushwalking (hiking), enjoy snowboarding, and take photographs.


What I Do

I am a software engineer with over 40 years experience, specialising in networking, telemetry, embedded systems, and large scale computing.

I am currently enjoying a year off, having previously worked for over 16 years at Google's Sydney Engineering office.


Photos

One of my main hobbies is photography. I use a Canon 6D II digital SLR, the latest in a long line of Canon DSLRs (a 450D, a 20D, and a 300D) and other digital cameras (Canon S110, Kodak DC-290, various others) I have owned, even going back to 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

  • Tasmania, April/May 2021
  • Perito Moreno Glacier, South America, February 2020
  • Los Glaciers National Park, South America, February 2020
  • Torres Del Paine, South America, February 2020
  • Iguazu Falls, South America, February 2020
  • The Laugavegur Trek, Iceland, July 2019
  • The Kungsleden Trail, Sweden, July 2019
  • Malta, July 2019
  • Russia, June 2019
  • Scotland, Ireland and Wales, July 2018
  • Dublin and Wicklow, October 2016
  • California Sierras, September 2016
  • Tararua Range Traverse, March 2016
  • Adelaide to Coffin Bay and return, February 2016
  • Austria, Croatia, Prague, September 2015
  • Dolomites Alta Via 2, July 2015
  • Circumnavigation of Kangaroo Island, February 2015
  • NZ Hike, Arthurs Pass, February 2015
  • Spain and France, June 2014
  • Haba Snow Mountain, China, May 2014

    Patents

    I hold fourteen patents:

  • 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.
  • US Patent 7,646,771 - Compilation of Access Control Lists.
  • US Patent 7,904,546 - Managing processes on a network device.
  • US Patent 8,990,365 - Processing management packets.
  • US Patent 9,172,629 - Classifying packets.
  • World Patent 2010/013098 A1 - Data path debugging.
  • US Patent Appl 2023/0196836 A1 - Human Presence Sensor

    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

    From September 2006 till February 2023 I was working at Google Inc. as part of their Sydney Engineering team, where I worked in a number of different teams, such as Google Maps, Networking, Data Centre Platforms, SRE, Chrome Operations, and ChromeOS Platforms.

    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 inventor 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 an early developer of PC-Card technology for the FreeBSD project (though I doubt any of my code has actually survived), and actively promote the use and development of Open Source Software.

    I was 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 past 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.