Patrick Lam

Thoughts and travels of Patrick Lam

December: Christmas in NZ, 2.5 trips, a Great month

There’s a lot more concluding to do in the year in review post that I’ll do next. Let’s focus on December. I’m very fortunate to have been able to see more of the South Island this month, including basically all of the highlights of Fiordland now. (Looking at the Dusky Track which is definitely not type 1 fun.) Also around Dunedin, which doesn’t have high mountains, but does have a few rocks to climb, coastal scenery, and birds.

November: 1.5 trips

Making the most of my time in New Zealand, and visiting a new-to-me region, as well as re-visiting Fiordland and hiking some mountains. Left town twice this month: once for Auckland plus the ‘Far North’/Bay of Islands, and once for Fiordland, but that trip was half in December.

October: Wellington only

For the first time since lockdown, we didn’t get out of town all month. On Friday I am going to Auckland and then the Bay of Islands for the week. It feels like I did a lot of work in October but I’m not quite sure what I have to show for it. Certainly a talk. Thought about ongoing projects and working towards a new project (or at least a funding opportunity). Did travel planning for Auckland.

Onward! Essay: Putting the Semantics into Semantic Versioning

From personal experience, I can attest that maintaining compiler infrastructure that builds on top of LLVM is hard over the long term. You try to compile something from a year ago with newest LLVM and find that it no longer works. The upstream LLVM developers make breaking API changes and it is the responsibility of downstream clients to fix their code accordingly.

I can only imagine the joys of keeping up with the JavaScript frontend and npm ecosystems, having mostly avoided that fun. A few months ago, I did get hit with a breaking Hugo update.

In this essay, we make a broader argument: there are opportunities in analyzing changes to software components and either certifying compatibility or detecting breaking changes. Furthermore, many programming languages techniques (formal verification through testing and of course programming language design) can contribute to the important problem of reasoning about upgrades. We survey the role of contracts and discuss how to best determine the exposed API surface of a component.


September: Canterbury and Level 1

Spring in New Zealand

Once again, spent two-thirds of this month in Wellington. The other 10 days were around Christchurch and Kaikoura. Currently no trips planned until November 27, although perhaps Auckland for not-Nationals judo tournament in early November.

We are moving 700m down the street tomorrow though. The lease on our current place ended and so we looked around for alternatives (although a fun fact is that, like in Ontario, a fixed-term lease automatically becomes periodic upon completion in NZ and needs to be explicitly non-renewed 21 days before the end date). The new place should be nicer in many ways although the view might not be as good.


August: Back from a trip and into Level 2

In Wellington. Previous trip: Stewart Island; returned to Wellington August 11 (a day before New Zealand went back up to level 2 and Auckland to level 3 following discovery of a new cluster). Next trip: Christchurch, September 11, originally for the South Islands judo championships, now cancelled (oops).

Aside from that, it’s been a fairly quiet month. I hope to at least get all of the Heaphy trip posted and maybe some of the Rakiura trip before going to Christchurch in two weeks. Booked Kepler, Milford, and Routeburn tracks for later this year.


July, including a vacation

I’m between trips as I write this. Tomorrow morning we are flying to Invercargill at the end of the South Island and, if weather permits, continuing to Stewart Island/Rakiura. (I’ve learned, however, that we often need to be flexible with these plans, as weather can be from slightly to extremely unfavourable.) Two and a half weeks ago we came back from Christchurch and the West Coast.

I noticed that I promised a writeup for Charleston last month. It’s still to come. The backlog continues to increase.


Level 1 June

This month started in Charleston where I went climbing with Elliott. As I write this I’m going to the Heaphy Track tomorrow morning. We chose to delay for a day due to weather.

The number of active cases in NZ is now 21 but that is a misleading number; all of these cases are in quarantine “at the border”, i.e. found in returning New Zealanders in managed self-isolation. The number of known active cases in the community is 0 which has been a stable number for a while. As Victoria state in Australia shows, though, cases do seem to be capable of escaping at the border, perhaps through a cigarette lighter. But things are good here for now.


About sabbaticals

tl;dr: Sabbaticals are not an unpaid vacation but rather a chance to focus on longer-term scholarly projects.

Sabbaticals are an awesome feature of the academic job. I feel like they are often misunderstood by the world in general. This description is specifically about how sabbaticals work at the University of Waterloo; many North American universities are similar but not identical.

The normal distribution of work for tenure-track and tenured faculty members at the University of Waterloo is 40% teaching, 40% research, and 20% service. In my department, Electrical and Computer Engineering, 40% teaching means 3 one-semester courses per year: typically one term with 2 courses, one with 1 course, and one with no courses. For regular faculty members, service involves sitting on and chairing university committees (internal service), as well as participating in a research community by reviewing papers and being on committees (external service).


May, moving down the levels

It’s astonishing how quickly things have returned to almost-normal in this country. Since May 14 (3 weeks ago already!), we’ve been in Alert Level 2, where most things are open. Physical distancing, capacity controls and mandatory contact tracing remain for now, although there will be another decision next Monday, June 8. The number of known active cases is 1 and the last positive reported case was on May 22.

Haircuts

I had been planning to wait a few more days, but I was walking down the street and noticed a barber open with no line, so I’ve had reasonable hair since May 17. The Onward deadline was with too much hair, but the OOPSLA deadline had the right amount of hair. Very important when spending hours at the computer. Looking through the records, it looks like I feel like I need a haircut after 6 weeks and then wait another 2 weeks to actually get one: Sept 5, Nov 5, Jan 7, Mar 3, May 17. The 10-week interval was excessive.