Browse Category

Reviews

Trackless Path (Q3 2020 Review)

A quarter is a relatively fixed amount of time: three months. While certain quarters of the year are longer than others (Q3 and Q4 are ordinarily 92 days long while Q1 is 90 in non-leap years) the difference is still fewer than three percentage points. However, perception can differ, and for me Q3 seemed to pass by rather quickly. On one hand, with a relative scarcity of exciting events it might seem that things would drag; yet, a high volume of tasks at work and making concrete plans to enjoy as much as I could despite the circumstances meant that there was a constant stream of things to pay attention to. There was quite a lot more duplication in these tasks and plans than normal.

Work

Software Engineering

In a sense, not very much has changed. Still on AtlasDB, still running the team, still doing storage things. However (and I think this is good) we’ve started more intensely looking at growth and development of team members, myself included. I think it’s useful to explicitly consider how team members should be seeking to improve; most of the validation that I’d been getting was along the lines of “there’s no dire feedback, and you haven’t been removed from your position, so you’re doing OK”. In a sense, it was refreshing to have a good amount of critical, constructive feedback, which I don’t normally get to hear. I’m also branching out more into other areas of work – in fact, a quick look at GitHub would show that I haven’t been making as many contributions to AtlasDB itself recently (and I also haven’t been slacking off!).

Also, PLTR’s direct listing happened on 30 September (disclaimer: I do own PLTR shares). This was fun and obviously storage is important for functioning, though I was informed that it had influence beyond just having systems working, and that makes sense. I didn’t join the company that early so I model it more as a tasty additional bonus, rather than a life-changing sum of money. That’s a nice segue into the next section…

Personal Finance

To some extent I’ve lost track of where things are going. One could argue that that’s part of the point of (mostly) passive investing – for the most part the portfolio does its work for you, giving you time to look at other things. I’ve just let most of the portfolio do what it’s been doing, and do the usual monthly rebalance. The direct listing is basically a cash injection, which I plan to cost average; while I know this isn’t generally optimal in terms of numerical outcomes, my utility curve is convex (that is, I will be <2x happier with 2x money). I haven’t been tracking expenses as closely as well, though I’m fortunate in that I naturally have quite a strong saving instinct.

I did a couple of things out of concern for budgeting-related tax changes. As mentioned when discussing Eat Out to Help Out, I strongly suspect higher taxes are on their way:

  • I maxed my S&S ISA for 2020/21. I’m normally a lot more diligent about this and do it in April, but this year let it slip for a good few months. The mechanism for doing this was a so-called “Bed & ISA” where you sell shares and repurchase them in an ISA. As part of this…
  • I used up most of my Capital Gains annual allowance (£12,300 this tax year). Unfortunately my assets haven’t been that productive that the Bed & ISA covered all of this. It’s still kind of awkward to see that the markets are performing well when the economy is struggling with COVID measures, but to paraphrase Newton, I cannot calculate the madness of men (or for that matter, know if it is madness).
  • I used up most of the pension tax relief cap (£40,000 this tax year BUT watch for tapering if you’re a high earner, AND you may be able to pull previous years’ allowance in). The main gamble here is that this says you’re willing to part with that money until you’re at an age where you’re allowed to draw from your pension. There’s also the risk of running foul of the lifetime allowance.
  • I ate out to help out (with suitable protection). There’s something around actually benefiting from the schemes which I’m paying for as part of my tax. I wouldn’t advocate creating an unnecessary burden on public facilities, but if it works well with my plans, I don’t see why I shouldn’t participate.

Recreational Pursuits

Deutsch lernen

Wenn man weniger Dinge tun kann oder darf, verbringt man vielleicht mehr Zeit mit den Dingen, die man tun kann. Ich verbrachte in Q3 mehr Zeit damit, Deutsch zu lernen, als in Q2. Ich setzte den Unterricht mit Katja fort, in die ich mein Sprechen und Schreiben besser verbessern kann, weil sie meine Aufgaben korrigieren wird. Ich übte auch mit ein paar Büchern von Hueber-Verlag, dem ein deutsches Verlag ist. Das letzte, an dem ich arbeitete, ist “Lesen und Schreiben B1”. Im Buch gibt es einige Texte über verschiedene Themen, z.B. Wohnen in Deutschland, Hobbys, Umweltverschützung. Diesen Themen sind relativ einfach, aber sie bieten eine interessante Lektüre. Ich habe auch B1 Modellprüfungen gemacht, in die ich Lesen und Hören sicherlich bestanden (am letztes Mal: 26/30, 29/30).

Früher hatte ich geplant, eine Reise zu einer Sprachschule in Deutschland zu machen, aber ich glaube, ich war bei der Arbeit sehr beschäftigt. Die Situation mit dem Coronavirus in England wird immer schlechter, deshalb bin ich nicht so sicher, ob ich in Q4 gehen kann. Deutschland könnte die Grenzen schließen, wenn der Trend anhält.

When one can or is allowed to do fewer things, one might spend more time on the things one can do. I spent more time in Q3 learning German than in Q2. I continued with the lessons with Katja; in them, I can better improve my speaking and writing because she corrects my work. I also practiced with a few books from Hueber-Verlag, a German publisher. The most recent one which I worked with is “Lesen and Schreiben B1”. There are texts about various themes in the book, like living in Deutschland, hobbies and environmental protection – these themes are relatively simple, but still make for interesting reading. I’ve also done practice exams for B1, and I’m safely passing Reading and Listening (last time: 26/30 and 29/30 respectively).

I had originally planned to make a short trip to a language school in Germany, but I think I got too busy at work. The coronavirus situation in England is getting worse and worse by the day, so I’m not sure whether I’ll be able to go in Q4. Germany might close the borders with England if the trend continues.

Sudoku and Logic Puzzles

The “season” for these puzzle contests seems to run from January until July or August it seems – I think normally this culminates in the World Sudoku and Puzzle Championships (these were on the 1st of October last year). Round 8 of the Sudoku GP happened and I put in another solid performance with rank 37 and 443 points, putting me at rank 52 overall with a score of 2536 (best six of eight scores). In some ways this is an incremental but sizable improvement over last year’s rank 66. I’m not sure that I’ve improved significantly – in fact I’d say speed solving has taken a bit of a back seat this year relative to other pursuits. The field might have gotten weaker as people got busy with other things, and/or I made incremental improvements that were enough to result in some progress.

There were some technical glitches on the general puzzles side of things in Q2, so there were three rounds in Q3 in which I placed 83, 96 and 66. Nonetheless, this was an improvement after a very flimsy start where I had rank 137 and 156 in my first two rounds. Despite still having to count a weak round 5 with 261 points, I had 2174 points overall, getting rank 89. I think the general approach I have for both Sudoku and Puzzles is to, after doing one or two warm-up puzzles, jump into hard stuff that looks interesting, and then re-evaluate after each puzzle and towards the end pick lower-value puzzles. This seems to work quite well in Sudoku but not so in Puzzles because I seem to be much better at hopelessly breaking a hard puzzle in general than a hard Sudoku. I think I shifted towards a more conservative strategy of tackling some medium puzzles before making a stab at one hard puzzle.

As mentioned, I’ve been spending less time on these this quarter (and more broadly this year). Some of this may be a function of work which I’m finding more challenging – puzzles are fun but of course do require quite a lot of complex reasoning.

Travel

I haven’t left London since my Zurich trip in March. It was a mixture of being busy at work and my favourite destinations maintaining travel restrictions for travellers from the UK (Singapore, Switzerland). I could have travelled to France and Spain earlier in the summer, and can still travel to Germany, but for some reason I haven’t really felt a desire to do it – keine Lust, as I would say in German.

Even within London I haven’t bothered to travel very much. I think I’ve taken the bus once when meeting Tom; it’s possible the last time I took the tube was in March before the lockdown. While I do walk quite a lot on weekends, my range is probably only about 8 km or so when one considers that I need to return. It tends to be the same few places that I’m comfortable with and/or have things to do or look at, like Eat Tokyo or Foyles.

Reading

I’ve gone through a number of German practice books: the aforementioned Lesen und Schreiben B1 (reading and writing), and also for exam preparation (even though I’m not sure why I’m preparing for B1 right now; I think it’s more as a form of assessment) a series called So geht’s noch besser (which means something like “it’s even better”).

Other than that, though, things may have narrowed a bit this quarter. In terms of titles, I can only recall Will Storr’s Selfie and Tim Hartford’s 50 Things that Made the Modern Economy (though both were very interesting pieces of work).

Rhythm Games

I used to play Dance Dance Revolution (DDR) very frequently when I was in Singapore, because I had a pad at home. At my peak, I was able to pass a couple of level 17 songs (songs are rated on a 1-19 scale where larger numbers indicate higher difficulty) – I even uploaded a video of one run.

I then went to university, so I didn’t have a pad any more. 8 years on, I’m also a fair bit heavier now (the thesis and joining Palantir were, for various reasons, not particularly good for my weight) and haven’t done exercise of this intensity for a long time – most of what I’ve been doing recently are relatively light jogs or long walks.

So trying to get back into things, my first port of call was MAX 300 Expert (level 15) which I saw as a bellwether of my DDR skills. The song is pretty straightforward in terms of footwork but demands a fair amount of stamina, having drills and simple runs at a rate of 10 hits per second. I failed, running out of stamina shortly after the stop. I found that I was back to around the level 12 range (which was a level I was at before I did National Service, roughly), and have worked my way back up to the easier end of 14s.

Music

Perhaps to enhance the work from home environment, or because I’ve been doing a bit more individual development work in this quarter, I’ve generally found piano instrumentals when I’m working to be quite agreeable. I do sometimes like fast, aggressive pieces when I’m implementing something which I’ve scoped out, but generally quieter pieces tend to work better – as part of this I found two good channels, relaxdaily and BGMC; the former is a bit more specific to piano while the latter seems to cover “quiet background music” in general.

From a more artistic point of view, I found a cover of Britney Spears’ Everytime by a singer named Dave Winkler. I like the base song, and have found a number of covers in the past, but this is one of the most polished ones I can remember. Execution is solid throughout, and there’s a very pleasant, if small, improvised line at the end. He has quite a lot of covers on his channel as well, with a seeming rock slant. The quality across the board seemed pretty high as well.

There are also songs I like to listen to because of their energy. I occasionally go to a nearby arcade to play DDR, but most of the playing happens at home with a program called Stepmania. Through this, I’ve found music outside of the official DDR catalogue, including a number that I’ve liked. The one I’ve enjoyed the most this quarter is probably one called For UltraPlayers. I would not consider myself as one (the song was composed for the finals of one of the Konami rhythm game world championships), but the song is still enjoyable to both listen to and play. Many songs on DDR or even when I play Stepmania on keyboard seem to derive most of their difficulty from runs of notes that need to be hit quickly and accurately, called streams. The song runs at 201 BPM which is pretty fast (13.4 notes per second), but to spice things up, there are sections that use triplets or even sextuplets (these run at 20.1 notes per second) and one has to regularly switch back and forth.

In This Economy? (Q2 2020 Review)

Although just one quarter has passed (slightly less, in fact, since the last time I wrote), it’s felt much longer than that. I think the lockdown and working from home has meant that I’ve worked longer hours, and also that the weekdays blend into one another. The weekends are clearly different. However, they still seem less separated from the work-week.

COVID-19

This is of course central to Q2; although working from home began in early March (the company made a prescient decision!), the UK-wide lockdown only fully landed on the 24th, and is still slowly being eased. During March I travelled to Zurich, still visited the office sometimes and went out (including dining in in restaurants) freely.

Essentials and Non-Essentials

When the lockdown was first instituted, I imagined it would be psychologically very stressful. I would not call myself a libertarian, though my opinions to some extent trend in that direction. I think having a lockdown was a perfectly reasonable thing to do, as painful as curtailing one’s freedom of movement and civil liberties is. I’d be uneasy with saying people should have full freedom to decide how much coronavirus risk they should accept (and thus not have a lockdown at all, as was done in Sweden).

There has clearly been an impact on my activities, even putting aside working from home. I used to semi-regularly physically meet up with some old friends from Imperial, and also go for drinks with some colleagues at Palantir. These have been paused, and I’m not sure they will resume immediately from July 4. I’ve also had two planned summer holidays cancelled because of COVID-19 related issues (one to Singapore, and one to Austria and Hungary).

That said, the experience I’ve had with some more local activities has improved. Going out has been quite comfortable: the air is cleaner, there are fewer people and it is quieter. I’m reminded of my time in Zurich, actually. (There are other factors that would make me prefer to stay in London, though, at least for now.) I’ve also realised that physical non-essential retail and even dining in aren’t things I actually use that often. There is an exception of bookshops, though, because I still find the browsing and discovery experience far superior. I suspect I will miss some of this relative peace and quiet (as much as I realise that it’s unsustainable and bad for the economy).

It’s also worth noting how geographically distributed the friends I keep in touch with are. Of course, there was always a group based in Singapore – but for the Imperial group, by now more than half of them aren’t based in London. Thus, there was no real change in how we communicated, for the most part.

Working from Home

This is hardly news, but I’m still on AtlasDB. I’ve written about this before, but I do miss working in a physical office: pairing and iterating closely on features is a lot easier in person. The office also serves as a great forcing function to get me to leave at the end of the day, as its emptiness does make me ask myself if I should still be around. It is also a useful crutch in encouraging separation between work and non-work.

There were a couple of changes here, as adapting to a work-from-home environment focused my time more. Paring down the number of things I’m juggling has helped significantly (there are still quite a few, but I don’t mind it that way). Previously I had a large number of tasks that I could barely keep tabs on, let alone contribute actively to. I think I’ve been holding things down reasonably well.

I did push myself a bunch of times in ways which I knew to be unsustainable. I would still maintain that some of these heroics were justified, though I need to be better at easing off after such “surges”. I think my working hours can easily hit 70+ during a surge, with the intention of having a 40-hour week after that…. that ends up turning out around 55 or 60 still.

I had had my concerns about job stability as well. I’m fortunate that my position is reasonably secure, and there are backup mechanisms in that I would be able to survive getting furloughed (of course that would be pretty unpleasant). The high, if admittedly not quite FIRE-style savings rates I’d been maintaining should help.

Finance

Stocks have been volatile, and so has the pound (it now seems to be a ‘risk-on’ currency, which makes sense given Brexit uncertainty – even though it’s undervalued in PPP terms). I haven’t looked at my portfolio closely, and have continued with the standard mechanical monthly contributions and occasional rebalancing. Similarly, things like salary sacrifice have been chugging on as normal.

The expenses side of the balance sheet is much more interesting, if unsurprising. I’ve adhered closely to the lockdown rules, so the transport category (which normally covers tube and bus usage) has crashed to 0.00 for this quarter. My last Tube journey was from Heathrow Airport at the beginning of March. Similarly, the travel category is at 0.00. On the other hand, expenditure on entertainment (computer games, primarily) has doubled, and that on books has tripled from normal levels.

The main increase, however, is in groceries; I spent more on groceries in April 2020 alone than I did for the entire year of 2019. This was a short-term increase because of some stockpiling, and the grocery bill for May and June is much lower. I’m aware that I used to have lunches and dinners provided in Palantir and usually cooked two meals a week, but the increase has still been by more than a factor of seven.

The Joseph Rowntree Foundation’s report on a Minimum Income Standard in the UK for 2019 suggests that a single person’s weekly budget for food and non-alcoholic drinks would come in at around £49.64. I was spending about £7 per week in 2019 – multiplying by seven to account for the increased number of meals that clocks in at just about the standard.

I’ve now been spending more than that (I’d say a stable level for me is probably about £60-65 per week now). Some of the items involved are definitely treats, like black cod with miso from the Japan Centre, or fancy Korean ramyeons from Oseyo. It’s certainly quite a change from first year at Imperial though, where I made things work on £7 a week (for all meals!) for a full term. It’s almost a 10x increase.

Other Pursuits

Deutsch

I continued my lessons with Palantir until the end of May. I then decided to continue taking lessons with Katja. I’ve found her to be a great teacher because she has been able to adapt to my iteration speed (which is generally quite high and involving nontrivial amounts of homework). We’re most of the way through the A2 course book, though I like to think my reading at least is probably at B1. I even tried to do the Goethe-Institut B2 practice test for reading and got 23 of 30 (an okay pass)! Unfortunately my productive skills (speaking and writing) definitely aren’t there yet. We now have a summer break. I have to prepare a presentation and a book report! I’m hoping to reach B2 by end of next year.

Ich fortsetzte meinen Unterricht bei Palantir bis Ende Mai. Dann entschied ich mich, die Deutschstunden mit Katja weitermachen. Ich fand, dass sie eine gute Deutschlehrerin ist, weil sie meine Schnelligkeit, die ziemlich hoch ist und mit viel Hausaufgaben zu tun, benutzen konnte. Ich habe den großen Teil des A2-Kurzbuchs gelernt. Obwohl ich gerne denke, dass meine Lesekenntnisse zumindest wahrscheinlich auf B1 liegen. Ich sogar probierte die Goethe-Institut B2 Modellprüfung für das Lesen. Ich erreichte 23 von 30 Punkte – das ist genug, wenn man bestanden möchte. Meine produktive Sprachkenntnisse (Sprachend und Schreiben) unbedingt sind nicht auf B1. Wir machen jetzt eine Sommer-Pause. Ich muss eine Präsentation und einen Buchbericht vorbereiten! Ich hoffe, dass ich bis Ende nächsten Jahres B2 erreichen werde.

Sudoku and Logic Puzzles

I haven’t been doing these much outside of the various contests. I’m still on rank 49 in the Sudoku GP after seven rounds, though I don’t think I’ll be able to have a top 50 finish (as the aggregate score is derived from one’s best six rounds, and there are a couple of people slightly behind on the leaderboard whose score was derived from five rounds). I think my performances in these were generally solid, if nothing exceptional (rank 47 in round 5, 39 in round 6, 40 in round 7). Still, it looks like there’ll hopefully be a big improvement over last year’s rank 66.

There was a technical issue (I think?) on the general Puzzles side so only five rounds have taken place. I’m at rank 102 which is worse than last year. I’ve been pretty inconsistent (rank 137, 156, 71, 141, 124 for the five rounds); not sure why.

The UK Sudoku (where I finished with rank 28) and Puzzle (rank 39) Contests 2020 also took place. Both went quite smoothly for me, Sudoku slightly more so. I also had some experience with designing logic puzzles (I’ve written for the Palantir puzzlehunt before, but the previous ones I wrote were largely steganography-based). I have read parts of Selinker and Snyder’s Puzzlecraft, and it felt gratifying to see test-solvers reason through exactly the same path of logic I intended (though the puzzle had to be changed a bunch of times because the intended solution path, although entirely deducible one step at a time, was quite narrow).

Reading

Here’s a list of some of the books I’ve been reading in Q2, and attempted short summaries:

  • General Reading
    • Stuffocation: Living More with Less (James Wallman): Spending on experiences like tourism and travel with friends is generally more worthwhile than spending on things. This is claimed to be something that people are trending towards.
    • Start Now, Get Perfect Later (Rob Moore): Indecision and the fear of failure can often be obstacles to starting doing things at all, even though that is often the best way to build a good solution in the end. Thus, as the book’s title says, start now, and get perfect later.
    • Science the Shit Out of Life (Colin Stuart, Mun Keat Looi): Algorithms are fun and can be deployed for profit. Sometimes it’s unclear what to do beyond running experiments – in that case it can be interesting to run experiments.
  • German
    • Faust: das Volksbuch (Achim Seiffarth): B1 graded reader – Faust is a brilliant scholar, both of medicine and of black magic. He ends up making a pact with the Devil: he will get whatever he wants for 24 years on earth (subject to some conditions), but then the Devil will take his soul thereafter. Of course, this does not end well.
    • Deutsch für Besserwisser A2 (Anneli Billina): A revision of grammar at the A2 level; in terms of conjunctions, prepositions, declination and the passive voice. There are quite a few exercises to practice.
    • Wie man Deutscher wird in 50 Einfachen Stritten (Adam Fletcher): Descriptions of some common stereotypes about German culture. The book is written in both English and German, so I usually read the German version of each chapter first, and then check my understanding against the English version.
  • Discipline-Specific
    • Puzzlecraft (Mike Selinker, Thomas Snyder): A puzzle is a battle between the solver and the creator where the solver always wins; the onus is on the creator to make that win satisfying. This should account for the solver’s intended experience level, and there are a number of puzzle-specific techniques that can be exploited to this end.
    • How to Solve It (George Polya): There are a collection of heuristics that people can use when approaching mathematical problems (or possibly problems in general). These are useful both for attempting to solve problems ourselves, as well as teaching others how to solve problems that they may run into.

Travel

Well. This was expectedly non-existent in Q2. Let’s see what happens in Q3: from the 10th of July travel to a number of countries on the government’s travel corridor list is permitted without the need for quarantine. However, the country on the other end also needs to allow me in, and my combination of being a Singapore national but a UK resident means that I have to be very careful when reading the rules. For example, the German Auswärtiges Amt (foreign office) notes explicitly that “The question of whether travel to Germany is permitted depends on where the person travelling has previously been staying, not on their nationality”, so I’m good there (and the general EU guidance is also as such). Switzerland, on the other hand, would not allow me in: to quote the UK Foreign Office guidance, “Travellers from the UK who do not have UK/EU/EFTA nationality will not be permitted to enter Switzerland, however there are some exceptions”. There are some even more nuanced rules – in Denmark, for instance, “if you enter as a tourist, you need to document a holiday stay for at least six nights”.

Tourism in the UK is also a very valid option, and one that I haven’t really explored much beyond the odd day trip when my parents were around, or as part of events at work; this would likely be easier, and would be good for the local economy as well.

Music

Not much here. There’s an acoustic cover of Through the Fire and Flames that I’ve liked – I’m not always feeling up to listening to the full DragonForce track, but there’s a nice melody there, and I find the execution here mostly clean and very listenable. I hadn’t found a more relaxed version of Fury of the Storm, which I prefer.

Board and Computer Games

I played quite a bit more of these because of the lockdown. There’s a trend in challenging (ish) roguelikes – Dead CellsDicey Dungeons and Enter the Gungeon and possibly to some extent Darkest Dungeon were the games I spent the most time on this quarter. I also had a couple of sessions of Overcooked 2 and Tabletop Simulator (playing Hanabi, Pandemic and The Crew: The Search For Planet 9 primarily) with friends – the theme in the board games seems to be cooperative games and possibly difficult ones, which I generally tend to like.

The Crew in particular seems to have gone over quite well with a number of friends I’ve played it with. It is a cooperative trick taking game: the players collaborate to achieve constraints on the flow of tricks. For example, a specific card may need to be won by a specific player, or specific players may have to win specific tricks. This has to be achieved with only very limited communication between players regarding the contents of their hands: a player generally has one clue token per hand, and can use it to indicate that a given card is their highest, single or lowest card of the relevant suit.

It’s perhaps not as directly involved as tracking information in Hanabi (especially when considering negative information clues), though there are similar elements: playing hard missions often involves thinking about why the other player(s) might have done something, and then acting based on those thoughts. Playing the cards themselves does remind me of bridge; there’s often a need to figure out how to draw out certain suits or pass control from one hand to another. Players may have tasks to win a low card that they hold, which usually requires other players to be void in the suit (if multiple players end up in this situation, the hand may be unwinnable – though usually that suggests poor allocation of tasks).

Torrential Storm (Q1+ 2020 Review)

I’m somewhat behind schedule on this one. To some extent, working from home has confused my weekend workflows, in that there isn’t as clear of a separation between work and non-work days. I’ve also been finding writing more taxing than normal, perhaps because I’ve had to do more of that at work for various reasons, both in a professional capacity and auf Deutsch, fur meine Hausaufgabe (in German, for my homework).

I’m still working on AtlasDB and at Palantir. For various reasons Q1 (and I’m extending this review to cover the first two weeks of April) has been tricky in terms of events at work. I think there’s one core paradigm that I used to have as a lead that I had some doubts about at the end of last year, and I’d say has been shaken even more since.

My normal approach to being a lead is to aggressively apply the golden rule – to push policies that I would like or find useful or helpful as a developer, and to reject those that would be unhelpful (allowing for some measure of unpleasantness, but not too much). The problems here come if there are considerable differences in relevant preferences or inclinations: what I find useful as I started out may not be useful for others.

Normally I’d write a section detailing my travels, though of course this was considerably less in Q1 because of COVID-19. I did travel a little bit in the early part of the year (I was in Singapore for the holidays, and made a short trip to Zurich to visit Stan in early March – back when there were just eight reported cases in Switzerland). I was originally slated to go back to Singapore for Easter, though of course that didn’t actually materialise.

We’re entering week 5 of the UK lockdown, and week 8 of working from home for me. Initially, the changes to my routine weren’t particularly serious (I was fortunate in that I had just come back from Switzerland – I normally travel once every 1-2 months, even if it’s just for a short weekend break).

The markets have also been pretty exciting, though I haven’t been thinking of them as much because of coronavirus (and perhaps that’s for the better, given the scale of the drops). I remember the first time I lost a month’s worth of investment contributions, but this was the first time I lost a year’s worth of them (on paper, at least). With increasingly stark economic data prints and forecasts, it’s a healthy reminder that movements in the market are often not about whether business/the economy are doing well or badly, but rather whether they are doing better or worse than expected (so if the consensus estimate is for a grade D and the actual performance is a C-, stocks could do well!).

In terms of logic contests, four Sudoku GPs have occurred, and my performance is probably not too different from last year. I’ve performed worse in terms of absolute number of points scored (I finished last year with 2502, four contests at 1565 would suggest 2347.5 as an overall score), but better in terms of ranking (61-50-74-71, overall 51; I finished 66th last year). I’m not sure if I’ve gotten any faster, really; in terms of strategies I wouldn’t say I could concretely identify a way I’m better now than I was last year. It’s possible the contests themselves have gotten harder, or the test solver pool has gotten faster (points are generally allocated based on how long test solvers take).

Similarly, four Puzzle GPs have been completed. I have been considerably less stable at puzzles; this hasn’t changed from last year, and has probably gotten worse in fact. I did worse in terms of absolute numbers of points scored (I finished last year at 1921, and four contests at 1205 implies 1807.5) and worse in ranking (139-154-71-141, overall 100; I finished 91st last year). I think my bad habits here involve being overly fearful of bifurcation. Puzzle choice is a bigger issue in these rounds than in Sudoku, since there are more options (even the best solvers frequently don’t actually solve everything). I tend to gravitate to number-heavy types like KenKen, Arithmetic Squares, Skyscrapers or Futoshiki because they feel comfortable, even though I’d say I’m fast at the first two but pretty bad at the last two.

Another hobby I’ve been pursuing is learning German. I took my A1 exam in Q1, and got a sehr gut (very good) grade with 100 percent. Perfekte Noten (perfect grades), as one might say. Lessons at Palantir continue and have been useful in ensuring that I have a more proper, structured framework for learning, as well as providing quality feedback on pronunciation and writing.

I started learning about Nebensätze (subordinate clauses) at the very end of last year to beginning of this year, and they’ve substantially broadened the range of things I can talk or write about. Wennals and ob (if/when – though not specifically previously, previously when, whether respectively) are very useful; weil (because) a bit less so since I already knew denn (because), but for some reason I find sentences with weil tend to roll off the tongue better. The practice of ending these clauses with the main verb (e.g. Ich weiß nicht, ob das gute Idee ist, weil ich vielleicht nicht genug Geld habe – I don’t know whether that is a good idea because I might not have enough money) currently requires me to build most of the sentence upfront, but the catharsis of unleashing the verb at the end feels great.

Social distancing has made me look at video games more, both in terms of games to play on my own as well as with friends. Interestingly, the concept of a rogue-like seems to be a common thread in three of the games which I’ve been playing a lot in Q1: Slay the SpireDicey Dungeons and Dead Cells. Games generally consist of individual runs that take from 15 to 60 or so minutes (Dicey Dungeons is probably on the faster end, Dead Cells can be much slower); there is some, but generally limited, progression across runs.

The first two are actually fairly similar in that combat is turn-based; the former involves deckbuilding, while the latter involves arranging equipment to maximise effectiveness of die rolls. The latter is very different and is much more focused on action and reflexes, which can be more appropriate if I don’t want to think as much. Slay the Spire, especially on super-hard modes, is quite a brain-burner.

These games are also similar in that they are reasonably easy at their base difficulty level – I think I had my first win of Slay the Spire on the third run, Dicey Dungeons on the very first run, and Dead Cells on the second run. I think I’d be able to win >95% of games on the easiest mode (Ironclad Ascension 0, Warrior level 1 and 0 Boss Cells, respectively). However, difficulty modifiers can make things very challenging: I’m pretty sure my win rate on Slay the Spire‘s Ascension 20 (max difficulty) is under 10%, and I’ve not completed Dead Cells with 4 Boss Cells (difficulty ranges from 0 to 5, increasing with each additional cell). There’s some evidence that I’ve gotten better at surviving what the game throws at me though, in that when I first started Ascension 20 and 3 Boss Cell mode looked completely impossible. Furthermore, I’d find the base modes mostly boring now, as even clear lapses in my play would be largely inconsequential – I think I enjoy a challenge.

The relative lack of travel also means that I haven’t listened to very much music recently. There are the fast-paced instrumentals that I listen to sometimes when implementing features (as opposed to design) – Destination Relapse is pretty good, even if the 200+ BPM track was written to be a really difficult rhythm game boss. To some extent similar would probably be Chopin’s Etude Op. 10 No. 4 (here performed by Rousseau), which would probably make a good boss song if playing the piano in general was treated as a rhythm game. There’s a kind of unrelenting fury and incessant urgency in the closing streams of Relapse and throughout the Etude that appeals to me, and perhaps reflects a torrent of potentially creative destruction (incidentally, the Etude is sometimes given that moniker as well). For me, that does make sense considering what I’ve been looking at in terms of work.

Burning Lights and Falling Stars (2019 Review)

When I look back on 2019, what first comes to mind are a number of protracted struggles. These spanned a broad range of issues, from work to philosophy and from finance to logic. This was probably either the toughest or the second toughest year I’ve had since I moved to London. It’s comparable to 2016 (with MCMAS and Palantir work in parallel, and then TimeLock): in both cases I think that I’ve grown and learnt quite a fair bit over the course of the year, probably more than in other years, but also that this generally isn’t a long-term sustainable pattern.

Software Engineering

The early part of the year involved finishing up work done last year on Transactions2. This project was generally successful, though more painful than expected. There were a lot of weird bugs that took quite a lot of iteration, and since the previous dev lead with whom I worked with on this project left the team and these involved pretty deep technical knowledge it would have been very costly to ramp anyone else up. Delivery could have been improved with a bit more careful project management/planning, but in terms of technical execution I think I performed at or slightly above my personal bar here.

I became a tech lead in March and then a more general team lead later on. A lot of the year involved me trying to get comfortable with the roles; it was a conscious decision to focus more on that as opposed to further refining technical execution of individual projects.

The former focuses on making architectural decisions, prioritising feature and support work, being a representative of the team at higher-level meetings, and being responsible for communicating thoughts and ideas with other teams. The first two things I think were expected to go mostly smoothly, and did: I already contributed to quite a bit of these while “strictly” an IC, and I definitely consulted the leads at the time and then jumped in on things I thought were more important than the work I was originally planning on doing. I maintain a lot of context on what’s going on on the team and product, and am aware that my input on these is valued quite well. The latter two also turned out to have worked better than I expected, in that feedback has generally been positive with regard to communication and argumentation. I also don’t think I’m where I’d like to be with regards to coming up with ideas for things to do (as opposed to, given a list of features, filter them for feasibility/benefit and then prioritise them) though there are of course support structures for that.

The latter role seems to also involve project management, and developing other members of the team to become stronger engineers. This hasn’t gone as well. I think it’s not so much a question of not wanting to do it or investing in it, but instead not being efficient by making an invalid assumption that others would follow the same growth path as me (which is basically mostly by absorption and from figuring things out as they come up). That by itself is maybe reasonable in terms of expectations (I think it worked very well in my case), but I took a long time to course-correct. It looks a bit ironic that why I took a long time to course-correct was because my bandwidth was strained on a lot more pressing things because I felt I needed to handle them directly, and the antidote to that is scaling myself by investing in team members’ growth.

I continued to work on some technical projects throughout the year, though not as intensely as in 2017 or 2018 probably by design. I’d probably say that the highlights were the two hackweek projects that I did. The Summer project is going into production, and involved careful reasoning through the AtlasDB development stack. The Winter project came with a bit of a pleasant surprise: my efforts on being thoughtful about interviews landed a runner-up for use of tech, which I really wasn’t expecting; I did the project more because I saw a relevant need.

Recreation and Personal Development

A fairly common theme here is skill development – there’s some evidence of this in terms of Sudoku and German, both of which are things I spend a fair bit of my free time on.

Sudoku and Logic Puzzles

I set a goal to achieve a global rank in the top 100 of the World Puzzle Federation Sudoku and Puzzle GPs. This was achieved in both cases: I finished with rank 66 in Sudoku and 92 in Puzzles. The contests run monthly (I think it’s actually every 4 weeks) from January to August.

Each Sudoku contest is basically an exam paper which is marked out of 600, though additional points can be obtained by submitting a fully correct paper before time is up. There are 8 contests, and the overall GP ranking is based on the sum of the six highest scores. I was at around the 350/600 mark at the end of last year, and so was expecting a final score of about 2200 or so (allowing for discards of bad results), but I probably got slightly better over the year and managed to finish with 2504. Puzzles went less smoothly as I missed the first round as I was on holiday and had a really bad round 6 where I chose very tough puzzles to attack, but I still squeaked over the top-100 line.

Deutsch

I started learning German this year. I think I began with Lingvist and Duolingo around May or so, and then started formal lessons in June. I have lessons once a week for 1.5 hours. I was originally hoping to take the A1 exam by the end of this year – this is currently planned for January, though my teacher’s quite confident that I won’t have issues. Nonetheless I do think I’ve made substantial progress.

I hoped to push on towards A2 actually. It’s unclear if I am at A2: while the CEFR descriptors don’t look too hard at that level (I feel I can satisfy almost all of the criteria), I’m aware there’s quite a lot of grammatical knowledge expected at A2 that I don’t know or am not confident about (e.g. irregular verbs in the simple past, passive voice). I’ve tried the Hören, Lesen and Schreiben (listening, reading and writing) sections of various exams aimed at the A2 level, like the telc A2 and UK GCSEs (I’m saving the Goethe papers for when I actually do that exam) and generally have been able to do quite well on them (i.e. above 80% on telc A2, Grade 9s on the GCSE components – maybe not writing), though admittedly Sprechen (speaking) is the part I’m most concerned about.

Travel and Exploration

Travel this year included four trips to Singapore (two were based around weddings). I also visited Zürich multiple times, Japan, Brussels, Boston, Stockholm and Palo Alto (though mostly for work). I did not travel as much as I wanted to outside of work, possibly because of prioritising other goals (I mainly worked on logic puzzles and German on the weekends) though actually they aren’t that incompatible (e.g. a flight is a good amount of time to work on learning German).

I really enjoyed the Japan trip (highlights included the Sankei-en Garden, Shin-Yokohama Raumen Museum and Ginza Tamai), and though the wedding trips were short (just 3-4 days in Singapore each time) I don’t regret them at all. Travelling is interesting: I don’t always look forward to the trips (especially the work ones) but almost always enjoy them. It’s possible there’s some sunk-cost fallacy here, though that’s mitigated by me not directly paying for the work trips in terms of money (still in terms of time, of course).

Financials

I generally looked at my portfolio quite a bit less after Q2, perhaps because I invested more resources in my new role at work and also because there generally was a fair bit of non-actionable stress.

Savings Rate

There are several ways to slice this: Savings Rate #4 from this post is what I normally use. In a UK context, define S_1 as workplace pension contributions, S_2 as individual pension contributions (e.g. SIPPs), S_3 as other savings (ISAs, taxable accounts), C as consumption and D as tax changes derived from taxable benefits. Furthermore, define \tau as the tax rate expected when one withdraws from one’s pensions. Then

SR = \dfrac{\tau(S_1 + S_2) + S_3}{\tau(S_1 + S_2) + S_3 + C + D}

Roughly 55% this year, up two percentage points from last year (looking at it, my expenses did increase quite a lot from last year, but not by as much as the raise I received, so this makes sense). This is in a pretty reasonable spot.

Discipline in Spending

I’ll paste an extract from the essay I wrote on my birthday this year, that captures the major spending increases here:

  • Groceries has had an increasing trend year-on-year, going up by 50% from 2017 to 2018, and another 26% this year. Some of this is because I patronise M&S nowadays; I actually find the food tastes better. The ”three meat or fish items for £10” deals were something I used to scorn in first year at university, calling it absurdly expensive; I now actually use that on occasion.
  • Gifts has increased to 2x over last year. I think this is natural, seeing as my financial position is a bit more stable now. I also definitely recognise that I don’t have infinite time to use this.
  • Travel has increased to 2.5x over last year, as part of a generally increasing trend. This is fine as long as it doesn’t increase exponentially from here. Some of this is also probably because I started thinking about flying slightly more premium cabins (premium economy or even business), and where this is not the case booking extra legroom seats. It seems I also can spend quite a bit when making “bleisure” trips, such as to Boston and Palo Alto. I think that’s okay, though – especially if I’m spending it on interesting experiences (and not tat).
  • Clothing has increased to 2x over last year. I have lumped shoes into clothing and that is certainly a part of the cost, but that definitely doesn’t explain the whole delta. I think it tends to be a large number of items as opposed to individually expensive ones – perhaps it’s a form of retail therapy? I think something actionable here might be to implement a one-in-one-out policy in 2020. £28.74 per week for clothes is concerning. This does cluster (e.g. I spent £250 in the Black Friday and Cyber Monday sales, including on a pair of Nudie raw denim and two pairs of Converse that should hopefully last) but it’s still more than I would expect. I’d view most articles of clothing apart from shoes to generally be luxuries at £28.74, and I certainly don’t feel like I’m buying one such treat per week.

There’s still some discipline, in that my savings rate has increased in spite of these trends, and in most cases (apart from the clothing one) the increases are justified and were made (mostly) thoughtfully. I have to deduct points for the clothing-as-retail-therapy thing though.

Above the Inclined Bar (Q3 2019 Review)

Work has been fine, though I’ve noticed my hours have been growing longer. I guess some of this has been me trying to adapt to and work well in areas that I’m not sure are historically in my wheelhouse (mainly around prioritisation; most of my other work concerns decomp-ing larger features, which I think is something I can do reasonably well especially in the context of AtlasDB). I do appreciate the challenge here though. The theme I’m going for, as it remains, is superlinear growth; which involves enabling others to work more effectively and guiding them as needed. My interactions with the AtlasDB team thus far and comparing notes with others trying to guide teams suggest that I have a tendency to be relatively hands-off with design but strict with reviews, perhaps in both cases more than I should be.

I had two major trips this quarter (Palo Alto for work, and then Singapore with a stopover in Zürich), which feels slightly above average. There wasn’t much in the way of short trips. I think I enjoyed the change of routine each of these trips provided; work has kept me pretty busy, perhaps because I’m pushing for overly tight quality controls, as I’ve been advised.

I’m unlikely to re-qualify for KrisFlyer Elite Gold this year. I’ve been travelling quite a lot, but I’m in this position for two reasons. Firstly, my flights to the US are mostly done on Virgin Atlantic, which when credited to KrisFlyer earns redeemable miles but not the elite miles that count for status credit. I’ve actually flown close to 20,000 miles in this way. Secondly, I’ve been flying Economy with an extra legroom seat instead of Premium Economy, which tends to earn fewer miles. A cheap economy ticket usually only counts for 50% of the distance flown (while Premium Economy almost always counts for at least 100%), and extra legroom seats don’t actually give you any more miles. I did think about doing a mileage run to top off the 50,000 miles, but the gap is probably too large; I anticipate finishing the year on around 37,000. The 13,000 gap is around one round trip to Singapore (!) on a ticket class that earns 100% miles.

Following on from the Q2 review, I have indeed been less interested in the gyrations of the market. I actually wouldn’t be able to give a confident answer as to how my portfolio was doing without looking it up.

That’s actually somewhat better than I expected, especially viewed in the context of the Q1 and Q2 results. The LS80’s performance seems a little weak as I thought the bonds (which performed well) would help, but it seems that the UK home bias worked against it.  I guess the pound falling by just over 6 percent over the last 6 months against the dollar does make the numbers look nicer than they should be. To be fair, I should have seen this coming; my portfolio has increased by more than the take-home income I’ve made from work, which is obviously untenable without market gains.

Spending has been higher than normal this quarter; about 60% above Q2, and 25% above Q3 last year. I think some of this is connected to stress at work, and some with no longer chasing pristine balance sheets in general. I don’t ordinarily think of Q3 as particularly spendy (typically Q4 is the most expensive, but there isn’t a consistent ordering between the first three quarters).

In terms of logic puzzles, the last few contests for the Sudoku and Puzzle GPs for this year are done. In Sudoku, I had a pretty weak-ish round 7 (score 325; rank 98/414) and a rather solid round 8 (score 435; rank 60/420). For Puzzles, I had two fairly normal rounds (7: score 341; rank 82/344, 8: score 312; rank 93/315).

Overall rankings are computed based on adding up the top 6 raw scores across rounds. There are a total of 8 rounds, so participation in an additional round (no matter how poor) will never harm one’s overall raw score. I guess getting an accurate measurement does require some balancing between rounds (e.g. two participants of roughly equal skill may have very different scores, if one has an off day on an easy round while the other has an off day on an excessively difficult one, since everyone might discard the difficult round anyway), but I’m not sure how to do that. The other obvious mechanism (normalising scores, so that the first-place scorer scores 1 contest-point, say, and everyone’s score is scaled to that) is probably too sensitive to the people at the top of the leaderboard having an off day. Maybe some kind of mechanism where the median scorer scores 1 contest-point, instead, could work.

My overall rank in Sudoku was 66/886, and for Puzzles 92/656. I set a target at the beginning of the year to have a top-100 finish in both, though I was more confident in the Sudoku contest. I missed one round of puzzles and had some pretty poor rounds, so I wasn’t sure if I would clear that mark. I finished 428 points over the bar for Sudoku (which is probably just over what I would score in one round on a good day), but just 61 for Puzzles (I’ve solved single puzzles worth more than 61 points). That should be it until next year; people are preparing for the World Sudoku and Puzzle Championships now. I’m sadly not good enough for those (yet!).

German lessons continue; my teacher went on holiday for 5 weeks but lessons have resumed since. I’m making some progress, though the range of things I’m able to discuss still largely lie in the realm of the concrete (like Ich war in Singapur für eine Woche or Ich muss etwas essen and so on, which mean I was in Singapore for a week and I must eat something). I’ve been reading through the Dino lernt Deutsch series – I’m mid-way through Karneval in Köln, the third book. I also worked on some grammar and writing exercises in both the official textbook we’re using (Begegnungen A1) and another book suggested by the teacher (studio [21] A1).

I’m still enjoying learning as well, though there are some concepts that sometimes seem rather arbitrary. One I’ve run into recently is that of separable verbs. For example, waking up is referred to by the verb aufstehen (literally “up” + “standing”; not too different from “get up” in English, to be fair). However, this verb is separable and thus instead of writing or saying something like Ich aufstehe jeden Morgen um 7.30 Uhr (wrong), I would have to write/say Ich stehe jeden Morgen um 7.30 Uhr auf. However, not all verbs that are compounds have this property (e.g. besuchen, to visit, has be- as a prefix of suchen, to search), so something like Ich suche Singapur be would be wrong; determining whether something is separable or not seems to involve memorizing a bunch of seemingly arbitrary prefixes. I think the grammatical rules once one has identified a verb as separable or inseparable (similar to noun genders) make sense, at least.

Grgur introduced me to Spirit Island, a somewhat heavier cooperative board game. Players play as spirits which aim to protect an island from colonial invaders. The invaders explore the island, build larger settlements and then ravage the land (reflecting pollution/damage brought about by their construction); spirits play powers to directly destroy invaders, move them around, or enhance the strength of the indigenous people to fight them off.

The game takes place in turns, and each turn has two phases for powers (one, for fast powers, happens before invaders take actions; the other happens after). Powers are resolved one at a time, but can take place in any order that the players agree on. This often allows for synergistic plays (e.g. gathering invaders into a land and then hitting that land with a powerful power). Interestingly, finding the best powers makes me think about finding the most advantageous serialization of a bunch of database transactions. Some powers have conditions (e.g. invaders must be present/absent, the land must suffer from Blight or not, etc.) but don’t actually change these states of the land, so they are effectively performing a read of that state of that land; others might affect these traits and would thus be writing to such a key.

I do enjoy the game quite a bit. I’ve played a few times in a group and maybe around ten solo games (though usually playing two-handed), and have won games up to a 9 out of 10 on the difficulty scale. I think a good challenge level for me is probably around 7-8; below that, it seemed like winning was never really in doubt, while the level 9 game was a nail-biter and I won on the very last possible turn.

I usually conclude each quarter’s review with some insight into the music that I’ve been listening to, though this quarter has seemed a bit dry. I think finding new music can be hard; flights on Singapore Airlines are usually a good opportunity for me to discover things, as the IFE usually has a good selection – however this seems to be less true on Virgin Atlantic and on Swiss. My more conventional pick here would probably be Jonah Baker’s cover of Ariana Grande’s thank u, next (this was published in November last year, but I admittedly don’t frequently actively seek out new music). The second and third verses in the original worked well and I would say I’m supportive of the general messages there (take care of oneself, have self-confidence). These were mostly retained in the cover (swapping genders and the name self-insert, as reasonably expected). I would say that the main issues I had with the original were some possibly gratuitous swearing and the first verse being too specific – it’s relevant to her circumstances but naturally limits the extent to which listeners can identify with the song. These were addressed here, and the execution was pleasant and enjoyable.

Separately, I’ve been listening to a fair bit of video-game music to power me through long implementation sessions; songs with lyrics tend to be too distracting, and I tend to reserve the classical music or solo piano pieces to times when I need deep focus. I’ve posted about the Touhou 2D shooter game series before, and one aspect of that that I enjoy is the music. These tracks tend to be upbeat and have strong, catchy melodic patterns, which I enjoy; two I’ve been listening to quite a lot have been Golden Hymn ~ Ibis Trismegistus and Tracks of the Snow Rabbit ~ Nowhere but Everywhere. The shooting games often have bullet patterns designed to partly follow the music, but I find that they still work well without context. That said, having played the boss battles where the music was sourced from, I’m not sure how much of the context I can strip from each of these tracks.

17:9 (Q2 2019 Review)

This quarter felt particularly tough for me, for various reasons. I remember being tasked as a 16-year old back in middle school to, for a philosophy class, write an essay on the meaning of life. I don’t remember the content of that essay particularly well; I remember that I took an existentialist approach to the problem. Essentially, it is up to oneself to create some semblance of meaning. I think I found the quarter more draining than normal because I was confronted with situations that made me re-evaluate some of the underlying principles I use to guide my decisions.

I’m still on the AtlasDB team. The transactions2 project I’ve been driving has finally been (mostly) completed. It has been almost nine months since this started, and it’s the largest and probably the most difficult project I’ve done professionally. I see quite a few parallels with MCMAS-Dynamic (though transactions2 is probably theoretically easier but more difficult in terms of implementation). There’s always a bit of burnout after launching these large projects, perhaps because of the substantial time and effort invested in them.

Looking forward, the lead stuff now means that I’m helping with scoping and guiding work on pretty much all the major things the team is doing – which also means that for a change I’m not actually directly leading an individual project. I’ve also continued to interview and (I hope) further refine my skills – I like the debugging facet and have kept plugging away at it.

I normally write a healthy section on finance, but it hasn’t featured as prominently this quarter. I normally update my tracker spreadsheets twice a month, on the 10th and 25th, but I missed the 10th June update completely. It’s perhaps a reflection on the importance of different things; as much as I would like to champion financial responsibility or support the FIRE movement, there are many more important things once one’s affairs are mostly in order. This was a pretty normal quarter in terms of saving and spending – there were many things that felt luxurious as I holidayed in Belgium and Japan, but a good chunk of that was prepaid in Q1. Investments seemed to pretty steadily push their way higher up the charts (I’m up a few percentage points); this is probably in part due to a fall in Sterling, though.

One thing that got more serious for me this quarter was learning German – or, as I should say, Ich lerne jetzt Deutsch. It’s a privilege to take lessons at Palantir and the instructor is excellent; besides that, I’ve also been using Lingvist (a flash-card app) to expand my vocabulary. I’ve found the grammar to be quite challenging; the myriad ways in which nouns and adjectives get declined is not something my past experience with English or Mandarin helps with very much. I often use strange mnemonics to keep track of noun gender (such as little Bobby Tables for der Tisch, a Brutalist town centre for das Zentrum, and Minnie Mouse for die Maus). Ich habe leider keine Konfidenz auf Deutsch zu schreiben – that is, I unfortunately don’t have the confidence to write in German (beyond simple phrases and isolated statements).

I travelled quite a bit this quarter, balanced between work and leisure. I visited Boston for the Palantir puzzlehunt. I also visited Singapore for Daniel’s wedding, and Brussels and Tokyo for holidays. It can be quite expensive, but I’ve been finding I need a bit more relief from the pressures of work and general administration than normal. I enjoyed these trips, to some extent in spite of very packed schedules. The Brussels and Japan trips were mainly food-focused (though the Musical Instruments Museum and Sankei-en Garden, respectively, were also standouts; I think we spent about two or three hours in each of these places, but if I was on my own I could imagine spending the whole day there). Satou Steakhouse (teppanyaki), Ginza Tamai (a restaurant specialising in sea eels, or anago) and even the somewhat more humble Toriyoshi (grilled chicken skewers or yakitori, and fried chicken or karaage) were all excellent. I’d like to go back, schedule allowing; I had a really good time.

This quarter also features a fairly large number of bank holidays in the UK, meaning that I had a number of three-day weekends (and four, in the case of Easter). I’ve started to take more interest in enjoying these extended holidays by trying to do different things (as opposed to focusing on reading, logic puzzles or things along those lines). It seems like I end up going on longer walks, and staring at coffee cups in cafes; past me would have decried this as a waste of money – and while I intellectually can’t deny that it is frivolous, I do still enjoy this.

In terms of logic puzzles, the WPF Sudoku and Puzzle GPs are almost over. The seventh round of the Sudoku GP ended last week, and it felt absolutely brutal (I scraped 325 points and a 98/414 rank). It wasn’t my worst round (that was the fourth round), but in round 4 I made steady progress while breaking a few puzzles while this time I struggled to tackle the puzzles at all. I had two good rounds in between (round 5: 51/502; round 6: 57/476). I had two decent rounds for the Puzzle GP – I’d say I’m weaker there, and I ranked a reasonable 90/384 in round 4 and 83/383 in round 5; conversely, round 6 was an absolute mess for me though and I ranked 207/349, which is my first sub-median score in a good while!

I played a lot of Slay the Spire in Q1 but this slowed down; in fact I haven’t spent very much time at all on computer games this quarter. I didn’t play very much in the way of board games as well, though I distinctly remember a Pictionary session where I managed to guess CURRY off a bunch of lambda expressions, and a few Codenames Duet clues – an AIRBASE, 3 clue for MESS, FLAG and APRON which landed perfectly, and a game which went wrong when I tried to be smart and gave a STEEL, 5 clue for a bunch of vaguely metal-related words not noticing that BEAM was an assassin – or rather, noticing that it was there, but having my mind filled with images of laser or wireless signal beams.

Musically I’m not sure where things were going this quarter. I did listen to more instrumental pieces. A good number of these were piano-focused, both classical (like Liszt’s Hungarian Rhapsody No. 2) and relatively modern (like Rush A and other entries in that series). Some of these also come from video games (like Fantastic Light, Ancient Flowers from the Touhou series). A common theme here might be speed – many of these pieces are very fast. Perhaps I find music to be an outlet for dissatisfaction when things are not going quickly enough.

On the flight back to Singapore, in between rounds of Tetris I listened to Calum Scott’s debut album Only Human. I think I recognised his name from his Dancing On My Own cover, though I really don’t watch much TV or listen to the radio so I didn’t know what kind of music he produced. It was mostly very listenable, though a bit on the heavier side (I guess in my opinion at least this fits his voice much better, though).

I particularly enjoyed three of the tracks on the album, though I think only one of them can reasonably qualify for my song of the quarter. The opener If Our Love Is Wrong is well put together, though more specific to Scott’s situation; the closer Not Dark Yet (a Bob Dylan cover) works well but is a bit too dark for me to enjoy – which is probably the point. My winner is the much more straightforward You Are The Reason; it’s a clean and well-executed piano ballad that seems to carry a certain gravitas. The line in the chorus about fixing what one has broken also appeals to me; I think if I look back at the songs I’ve chosen, failure and subsequent correction is a pretty common theme (e.g. Starting Over, These Days, Back from the Edge). Scott’s vocal line does get pretty difficult to follow, but it makes sense given the subject matter.

Notes from a Nervous Engineer (2019 Q1 Review)

I think the first time I came across the concept of a scarcity mindset (where one approaches problems believing resources are finite) when I was around 14 or so. This was in The 7 Habits of Highly Effective People. To quote Covey:

Most people are deeply scripted in what I call the Scarcity Mentality. They see life as having only so much, as though there were only one pie out there. And if someone were to get a big piece of the pie, it would mean less for everybody else.

Covey recommends its counterpart, the abundance mindset, which is the idea that there are enough resources out there for everyone. That said, I don’t buy in to the idea of abundance being superior, because resources and opportunities often are scarce. I’d bring in the Bruce Lee “I fear the man who has practiced one kick 10,000 times” quote here; bearing scarcity in mind forces prioritisation, and that if done well is really useful. This may be dangerous, but I’d hazard that scarcity can lead to fear that one is stagnating. This, if managed well, can drive one to, to use Covey’s terms, aggressively “sharpen the saw” (pursue self-improvement) as well.

There are sides of the scarcity mindset that are certainly dark. There is a danger of casting things that are not zero-sum games as zero-sum games. Aggressively focusing on scarcity can lead to excessive stress and blind short-term optimisation (manifesting in things like money dysmorphia as described in this Guardian article). I’m also somewhat guilty of this, but it can lead to hoarding. That said, in my experience a scarcity mindset is often unfairly tarred and feathered – it indeed can often be dangerous, but it has its uses.

Software Engineering

Things changed direction; I expected to move off AtlasDB, but instead became the tech lead (admittedly with a bit of dithering and some convincing from other storage experts – and a few non-storage ones too). My responsibilities have changed somewhat in that I have been spending more time maintaining context and reviewing code. I don’t think there are benchmarks, but I suspect the amount of individual development work that I do is still high relative to other TLs (in any case it’s a spectrum – I’ve worked with one in the past who did more work than I did).

I also got started on studying Designing Data-Intensive Applications after recommendation from some engineers whom I respect. Having spent almost two and a half years on AtlasDB, most of the material is not particularly new to me – that said, this would have been an excellent read when I just started on the team. I’d recommend the book for people working with distributed systems (even if they’re not necessarily working directly on distributed systems – e.g. if doing support).

Finances

With Brexit looming, the pound has been extremely volatile. I was a bit of an uneasy Remainer during the 2016 referendum. In any case, the way things have panned out since has sent me very firmly in the Remain direction now. I’d say my exposure to sterling cash is at relatively low levels. I tend to be somewhat risk-averse, and although GBP is probably undervalued, the danger of no-deal is there.

I haven’t been tracking the markets very closely; from what I remember things went up in January (after getting smashed at the end of December) and then have mostly gone sideways. It’s also coming to the end of the 2018/2019 tax year; I’ve seen the ISA ads around, though not so many for ‘use your capital gains allowance’ which is something I should look at this week.

Expenses-wise, Q1 has been awkwardly high; some of this is because of one-off expenses for activities that’ll actually take place in Q2 (travel and holidays). My overall savings rate is still decent, as income was higher because of bonuses.

Travelling

I had just two trips out of the UK this quarter, and interestingly both were to visit specific friends in the context of specific events. I went back to Singapore in January for Isaac’s wedding – that was a very short trip as I only had close to a day or so to actually spend with family. The other trip was to Zurich for a weekend trip in February to meet Stan.

Hobbies

The logic puzzle train has been chugging along. I took part in most of the WPF Sudoku and Puzzle GPs, though I missed one round of the puzzles as I was in Zurich that weekend. I’ve always been stronger at sudoku and it shows – I’m on overall rank 60/774, with rankings 82/599, 139/598 and 47/541 in the three rounds. I thought round 2 went pretty well, though I broke an easy Classic Sudoku and, more significantly, a (I think still easy) Braille Sudoku that was worth a lot of points. Round 3 was good – all three of the ‘weird’ variants at the end were disposed of quickly. For puzzles I’m on overall 167/557, with rankings of 102/434 and 93/405 in the two rounds I participated in. We’ll see how Sudoku Round 4 goes, though I think it went poorly for me.

I’ve been reading a fair bit too – some readers may recognise that the title of this post is inspired by Matt Haig’s Notes on a Nervous Planet. I first came across his earlier work Reasons to Stay Alive randomly in a Popular bookshop in Singapore late last year, when waiting to meet a friend. I found the book pretty captivating, though I didn’t buy it then – instead, I placed an order for the book to be delivered to me in London. Both of the books held my interest; the former was raw and pretty compelling, while the latter is more familiar territory for me and I think I could to some extent identify with his perspectives.

I also found James Clear’s Atomic Habits to be a very practical read; I’ve been following his emails for a while. I appreciated the principled approach the book presents. He first establishes that things that become habits tend to be obvious, attractive, easy and satisfying; he then explores how to influence behaviours to increase or decrease how much they show each of these traits.

General Thoughts

It’s been a stressful quarter; there has been a lot of change at work, unease in my financial situation, and discontent with things in general. Perhaps this is something worth thinking about; there’s a passage near the end of Notes on a Nervous Planet on diminishing returns, where Haig observes that many people have tendencies to repeatedly move the goalposts when successful. For me, “be good at math” became “top my class in math”, then “top my cohort in high school in math” (I failed this one, though unexpectedly got Physics instead), then “get a first at Imperial”, then “get the first at Imperial”… “with a 90 average”… “while running a club and working part time 20 hours per week”. Similarly, “be a good dev”… can quickly spiral into “with patents”, “building large features”, “be a principal engineer” and so on. It’s important to maintain perspective as to whether the repeated escalation of these goals is something one really wants to do.

There’s usually a song I associate with each quarter. This time around I’ve been listening a fair bit to Drunk Me by Mitchell Tenpenny. He’s a country artist and I don’t listen to country very much, but this is pretty much a straightforward pop song. There are some awkward metaphors in there, but generally I find the production pleasant, and the A4s he hits in the chorus are nice enough. The message involves giving up habits that are likely to lead the singer back to his ex, which is a pretty logical response.

I’ve been sober
‘Cause there ain’t no hangover like you girl
“Baby, can you come over?”
I always find those words at the bottom of a hundred proof

I don’t drink much alcohol, though I do drink quite a bit of coffee and chocolate. In a sense, my ‘alcohol’ would be activities or behaviours I find addictive that are likely to lead to ruin or negative consequences. This could include things like obsessive fear over how the markets are doing or how Brexit is going, or spending time procrastinating. I don’t think there is an object of spite here, unlike in the song, but nonetheless the idea that one may find value in cleaning up one’s life is something I can get behind.

Report Cards (2018 Review)

We are just over an hour into 2019 where I am (Singapore), though it is still 2018 in the UK. For me, the highlight of the year was probably receiving the VCLA Outstanding Masters’ Thesis award in August; the worst part of the year would probably be around April, when I had a month or so of doing primarily reactive tasks and managing technical debt. Nonetheless, every year will have positive experiences (hopefully) and negative ones as well; I’d say my main takeaway from 2018 is that optimisation can be dangerous if one picks the wrong variables.

I set some targets at the beginning of the year. While setting targets without subsequently revisiting them can already spur improvement, it’s useful to consider how one has performed as it informs drafting next year’s goals (in particular, figuring out what is realistic, and what would be too comfortable). The grading system I’m using here is similar to the OKR system – each task receives a score between 0.0 and 1.0, and a straight success (with no extensions or bonuses) scores 0.7. For quantifiable tasks, I usually do a pretty straightforward linear interpolation with zero at 0.0, and 10/7 of the target at 1.0; usually a 1.0 means that the goal either wasn’t ambitious enough, or the relevant area became more important during the year.

A1: Software Engineering: 0.5

Not quantitative. Progress this year, while significant, felt largely incremental (which is maybe unsurprising as I’ve been focusing on similar work in terms of distributed systems and back-end performance).

I’d say most of the “progress” here is in the form of a considerably more principled approach to pursuing performance improvements and building new features. It’s difficult to evaluate improvement in Java skills; I spent some time this year studying Java performance (especially garbage collection algorithms and concurrency). There were a few bugs I remember this year where Java Memory Model knowledge was useful, which I wouldn’t have known as well this time last year.

A2: Logic in Computer Science: 0.9

The original goal here was arguably quantitative, in that it was to present one paper at a logic conference. This was presented – see this AAMAS18 page. I decided to bump the score up from 0.7 to 0.9 as a somewhat related highlight of the year was receiving the VCLA Outstanding Masters’ Thesis award for my work on MCMAS-Dynamic. This was mostly based on past work, though I had to write up a summary of the work that had been done.

This target was intentionally not too ambitious. I do want to finish up one more paper from the thesis – I think four is about the limit of where we can take this (the third paper already had a decent amount of original content) but I don’t anticipate presenting that until possibly 2020.

A3: Innovation in Engineering: 0.7

The goal here was to get two patents in the pipeline, and this was achieved exactly. There might be a third coming from my winter hack-week project, but I prefer not to count things that aren’t done yet.

This goal was conceived as an alternative to the pull-requests goal I had in 2016, as I find a small number of substantive changes to usually be far more motivating than many smaller incremental changes. (A possible danger of this is that I might discount the value of said incremental changes too much!) I’ll probably keep some version of this in 2019, as I find this kind of innovation enjoyable and motivating.

B1: Writing and Blogging: 0.4

The goal was 52 and I think this puts me on 27; I’ll be generous and round up. It seems a weekly schedule is pretty challenging, particularly around holidays and busy periods at work. I do still want to maintain somewhat regular updates here, but a lower target (40, perhaps, to allow for some of these) could be more reasonable.

B2: Travelling: 0.3

The goal was to visit 12 countries, considering the UK as my home base. I’m writing this from Singapore, and have also visited Switzerland, Germany, Norway, Sweden and the US, so this puts me on 6. That would be 0.35 – this rounds to 0.4 by standard conventions, but I’ll round down considering how work-dependent most of these trips were. I do enjoy visiting new places and learning more about them; however spending time with friends and family is also important to me, and in some ways travel allows me to do that. I think some kind of travel-related goal is likely to feature next year, though I’m not sure yet what form that should take.

B3: Walking: 0.7

The goal was to walk an average of 10,000 steps per day. I’m at 10,131 and I can add one more to that average for every 365 steps I walk today. Bumping this to 0.8 would require 213,160 steps today, so I’m fairly confident 0.7 is right.

I commute to and from work by walking most of the time. This provides a form of exercise and also saves money on transport (tube fares in London are expensive). That accounts for around 7-8,000 steps; the rest are accumulated walking around the office, or on weekends exploring. I don’t think this was sufficient in terms of physical fitness.

B4: Music: 0.5

There is some progress; I’m able to hit Bb4 quite a bit more consistently than I used to, but B4 remains difficult and elusive. I came across Meant to Be this year and attempted to sing it – I can just about manage the song (including the female vocal line) which requires consistent Bb4; trying it at a +1 key has not worked. I would not have been able to land consistent A4s even at this time last year, so the improvement could be considered as two semitones out of three.

C1: Gross Savings Rate: 0.8

The goal was a gross savings rate (Savings Rate #1 in this post from Early Retirement Now) of 50 percent, and this ended up at 54.2 percent for this year. I think this is good given that UK taxes can be quite high. This is a difficult chord to play, as one needs to determine how to discount future utility from money put into savings and investments. I think this was slightly higher than expectations.

C2: Minimum Income Standard: 0.8

The goal was to have non-housing expenditures of at least £10,800 for the year; this reached £12,000. This may seem somewhat antithetical to C1, though the issue with savings rate is that higher isn’t necessarily better; I’d prefer a sufficient budget at SR 50% over a tight one at SR 65%. It’s also not impossible to score highly on both goals (by earning more).

D1: Communications and Maintenance: 0.6

This goal is non-quantitative. I think I’ve made reasonable efforts to keep in touch with friends from both Imperial and Singapore. For the most part this has gone well, though there have been some lapses where I haven’t been as responsive as I’d have liked, hence just under the target sounds about right.

2018 in Graphs and Charts, Part 1

When most people think of graphs, they would probably think back to mathematics lessons in middle or high school, where it typically refers to a plot of how quantities change in relation to one another. Graph sketching was for some reason a large part of the university admission process for mathematics and computer science related courses, even if many of the curves that candidates were tasked to sketch could be approached in a rather uninspired algorithmic way.

There is a looser definition, which is closer to what I’d call a chart, which is a graphical representation of data. Some people do say things like “line graph” or “bar graph” (interestingly, “pie graph” is rare).

Moving away from mathematics and data representation, a graph also refers to a glyph or character in terms of typography, leading to terms like digraph for pairs of letters that make a single sound, though I don’t think usage of the term by itself is common.

As a software engineer, there is a fourth definition – a graph is also a structure comprising a set of nodes and a set of edges that connect these nodes. This structure is very useful for modelling many things with network-like structure, such as in communications, path-finding, or reasoning about state machines. You could say the core of my Masters’ thesis about MCMAS-Dynamic was a novel algorithm for exploring certain types of graphs quickly; one of what I’d call my flagship projects at Palantir also revolves around graph algorithms.

There is a risk of shoehorning all kinds of problems as problems solvable with graphs, in this sense (I remember some jokes I had with a couple of friends at university on trees, a specific subset of graphs, applying to everything). Nonetheless, graphs are very useful. I’ll use both the computer-science graphs and the looser ‘graphical data representation’ as I recap some of the things that I did (or happened to me) in 2018.

Travel

There was quite a bit less travel this year, and you could say the destinations involved were maybe a little less exotic (though I still maintain that the trips were good). One thing this map doesn’t quite show is the frequency each route was taken (though looking at this it seems that each path was actually taken once; I’ve made two trips to Singapore, one through Frankfurt and one direct).

I think most of this is just a decrease in travel for work, which was lower than normal. Leisure travel remained about where it has generally been (a total of 32 days this year, though that does include quite a few weekends). I don’t know if this is because of Brexit making my pounds buy less meaning I’m less likely to think about travelling. This could be relevant to the US or Zurich, but not necessarily elsewhere where the cost of living tends to be lower. Writing this, I remember my restaurant-quality six-euro dinner in Croatia…

Going forward, I hope to have a more interesting graph/network in 2019. Hopefully Brexit won’t get too much in the way of that – you might think that as a Singaporean I won’t be directly affected, but I will be. The pound might depreciate, making overseas travel expensive, and the length of the non-EU queues might increase. There is also talk of the Schengen version of ESTA coming up as well.

Logic Puzzles

I joint-set one of the puzzles for Palantir’s 2018 puzzlehunt, and have also been doing quite a few logic puzzles, including sudoku; I placed pretty decently at this year’s UK sudoku championship, and a bit more weakly in the puzzle division. Considering puzzles more broadly, they can be classified into a variety of types. Sudoku probably counts specifically as its own class, but there are also more general ‘number placement’ puzzles – you might have heard of Kakuro. There are other genres – ‘loops’ like Slitherlink; ‘object placement’ like Battleship and ‘shading’ like Nurikabe, among others.

I had the impression I was substantially better at sudoku than most general puzzles (a good chunk of this might just be experience-related), and probably better at number placement too. Conversely, I always struggled a lot with spatial reasoning in school and at Math Olympiads, so I thought my skills with loops would be weak.

One of the sites that hosts these puzzle contests is Logic Masters India. They ran a series of puzzle contests in 2015 that were split by genre. They also have a rating system, to facilitate comparison of skill across contests. A player’s overall rating is an aggregation of rating events; the computation of this aggregation is a little complex, but figuring out the score at an individual rating event isn’t too hard.

  • An event has a raw score, computed from individual puzzles – raw scores are compared to determine overall ranking.
  • Define ranking score (RS) as one’s percentile performance in the contest multiplied by 10. In other words, the top contestant scores 1000, and the median contestant scores 500.
  • Define point score (PS) as the ratio of one’s score relative to the top scorer, multiplied by 1000. The top scorer thus scores 1000; someone who scored half as much as the top scorer scores 500.
  • The overall rating score is a weighted average of the two: 0.75 * RS + 0.25 * PS.

I tried out each of the contests in the set, along with a sudoku contest, and calculated my overall rating scores for each, which are reflected in the graph above. Expectedly, sudoku is strongest (experience, probably). I didn’t realise drawing snakes was considered a genre by itself, though given it is I knew I would be terrible at those as I usually approach those with mainly intuition. I don’t know what the intended standard deviation of ratings are, so it’s difficult to comment on the significance of the differences.

Stock Market

The price over time of a security is a good example of a time series. This naturally lends itself well to a line graph, with price as the vertical axis and time as the horizontal axis.

One can similarly graph the size of a portfolio; the above reflects the value of my workplace pension, re-based to 100 at the start of this year. However, this is for the most part only sampled monthly (or sometimes bi-monthly, depending on whether there were other events that made me look at my portfolio), so the resolution of the data is very limited.

This year has (and it’s good) reminded me why there is an equity risk premium. Consider that a zero-growth environment would mean a straight increasing line, as additional contributions are coming in. Hence, the small decline from January to February or stagnation in October actually refer to periods where the market went down; the steeper-than-normal gain in May and August refer to periods where the market went up. This makes a fair bit more sense if one also looks at the performance of an accumulating world index tracker.

Source: Morningstar. Disclaimer: I do hold as part of my portfolio the Fidelity World Index P fund.

As expected, prices slumped in February and October, while rallying in May and July. Interestingly, there is a rather pronounced late-March to early-April decline that isn’t reflected in our original graph. This is an artifact of sampling – the March reading was taken on the 21st of March, and the April reading on the 23rd of April, by which time prices had already mostly recovered.

That One Thing (2018 Q3 Review)

Monomania refers to a mental disorder where one pathologically focuses on a single thing (naturally, at the expense of others, as one’s attention is limited). To some extent, I may have experienced this in my second year at Imperial, where for some reason I became fixated on my academic performance. I remember studying almost 100 hours per week when preparing for my exams then (typically achieved by a very strict 9am-11pm schedule everyday for about five to six weeks). I’m not sure how I managed at the time. In terms of grades, I think one should aim at 60 + epsilon, 70 + epsilon or 100, and I chose the last of these.

Things have changed since. I now evaluate how things have changed over a variety of facets. Even professionally, the metrics are a bit more multi-dimensional now. I’m not sure if it was the Palantir internship or something else, but in fourth year I made some decisions that clearly weren’t optimal as far as academic performance was concerned (working 15-20 hours a week). At that time, my main goals were get an average of 90% and submit twenty pull requests as a part-time software engineer. After I graduated the metrics became writing papers and pull requests; the latter quickly changed to patents as, all other things held equal, I find developing two or three innovative systems far more interesting and probably more meaningful than fifty rudimentary changes.

In terms of development, I’ve certainly found my recent work to be challenging (which is a good thing!). I’ve been continuing my focus on performance work, though now that many easy wins have been taken the features are getting more complex. I’m also starting to have more clarity on the kind of work that motivates me (and discussing this with my lead and others); having such discussions feels relevant and good.

I presented the LDLK on finite traces paper at AAMAS’18 (and it seems I now have a h-index of 2). It’s unlikely there’ll be another conference paper for a while though, as I’m currently diverting my computer-science energies towards writing a journal paper which summarises and extends the three conference papers to some extent.

A highlight of the quarter was receiving the VCLA award for an outstanding Masters’ thesis as well (Imperial article). In terms of raw computer science difficulty, MCMAS-Dynamic is probably the most complicated project I’ve delivered (there are a couple I’ve done since that I’m also proud of, but I’m pretty sure MCMAS still wins). Some recognition is always nice; too much ego-stroking can be unhealthy, but the odd bit is enjoyable.

In terms of finance, I didn’t really pay much attention to things this quarter. I was aware of the Turkish and Argentinian currency troubles as well as the US-China trade spat, but things on my end are still largely business-as-usual. In fact I thought this quarter was not going to be good, but looking at things it’s largely an effect of recency bias; while performance in September was indeed weak, July and August were actually very good.

Disclaimer: I hold my own portfolio, which includes the Fidelity index, VLS 80, iShares emerging markets fund, the REIT, the inflation-linked gilts fund, BTC and USD.

The high expenses of Q2 have actually snowballed further in Q3, though most of this is explainable by six-month periodic expenses and booking travel for the end of the year. Discretionary expenses have actually fallen a fair amount, which is unsurprising as Q2 expenses included Stockholm travel as well as renewing my web server. Savings rate is down, though still on track to be in a good place this year.

Work on dealing with logical puzzles has continued, and I think I’ve managed to find a source of metrics; Logic Masters India has a good selection of past contests along with a rating system. Based on a few of these, my Puzzle skills are currently around the low to middle 600s, while my Sudoku skills are in the high 700s. Individual contests may vary in difficulty, so normalisation is used. Interestingly, this is done on two axes, comparing both one’s score relative to the top scorer and one’s ranking relative to all participants.

I’ve also started to take an interest in cryptic crosswords, though I’m certainly nowhere as competitive at these; my general knowledge is not sufficiently broad. “Logical puzzles” are designed with the intention of being culture-neutral; these often demand a wide vocabulary (which I think I have) and broad general knowledge (less so). It helps that there is a group at Palantir that attempts these recreationally; I’m not aware of a similar group for general logic puzzles.

When one is investigating a search problem, one typically needs to balance exploration (searching prospectively for additional solutions) and exploitation (locally refining good known solutions). Historically when managing my own decisions I’ve largely been pushing exploitation for quite some time. I first discovered an interest in mathematics when I was around six; while this isn’t quite computer science or software engineering, that was near-by. I started programming at 15, and when choosing my degree looked at CS which I felt balanced my interests, skills and prospects well. When I was at university, I had the aforementioned monomaniac episode; since then I’ve branched out a little.

I’ve been behind the times (the song was released in 2017, apparently), but I’ve been listening to Meant to Be (Bebe Rexha and Florida Georgia Line) a fair bit this quarter. I don’t particularly enjoy the vocals in the original, but it’s been covered well; this one is better polished, while this one has the approach I go for when I try to sing it!

It’s enjoyable for me to (try to) sing along to, including the high vocal line in the chorus; it quickly becomes a question of hitting the tenor Bb4 repeatedly. Listening to the song certainly does make me thing of search space exploration problems, specifically genetic/evolutionary algorithms. The lyrics in the chorus sound very much like evaluating a fitness function on a candidate solution and then deciding whether to accept it:

So won’t you ride with me, ride with me?
See where this thing goes?
If it’s meant to be, it’ll be, it’ll be; baby if it’s meant to be.

The first verse has elements of not being too pressured with exploitation as well, and thematically echoes bits of Good Things Come To Those Who Wait which I looked at last quarter. The second verse reflects a degree of caution after being burned by poor approaches in the past. As I plan for what I might want to try to achieve (God willing) on a timescale of months or years, it’s important to not index too heavily on past experiences or initial reads of how a given path may turn out.

  • 1
  • 2