pozorvlak: (Default)
Thursday, October 24th, 2013 09:50 pm

I hate making decisions. And I'm right to do so, as the emerging body of evidence on decision fatigue makes clear. But sometimes you have to make a decision in situations where there's no obviously good choice: sometimes the differences between options are trivial, sometimes the differences are significant but the advantages and disadvantages are finely balanced, and sometimes you just don't have enough information to assess what those advantages and disadvantages are, but need to make a decision anyway so you can move on.

Some people advocate rolling a die or tossing a coin in this situation. These people are clearly less indecisive than me. Some people advocate tossing a coin, and if you catch yourself thinking "dammit, the other option would have let me do X" then you have discovered your hidden underlying preference and can go for that one. These people are also clearly less indecisive than me: I do that every time. Finely-balanced advantages and disadvantages; if there were no opportunity cost, there would be no decision to be made.

However, I have discovered a procedure that allows me to deal with many of these situations, and to do so quickly and with minimal stress. If you can't find a good argument for choosing one option over the others, look for a stupid reason instead. And do so in a consistent and general way, to minimise the mental effort required. The short version of my system is

  1. Pick the red one.
  2. If that doesn't work, pick the one with more cats.
  3. If that doesn't work, pick the one with more dogs.
  4. Give up.

The more detailed version is

  1. Eliminate all choices that are less than maximally red. Red, of course, is the Best Colour.
  2. If more than one choice remains, eliminate all choices which are less than maximally feline. More cats beat fewer cats, fluffy cats beat smooth cats, cute cats beat ugly cats, kittens beat adult cats.
  3. If more than one choice remains, eliminate all choices that are less than maximally canine, subject to the rules above with the obvious formal modification applied.
  4. If more than one choice remains, it is officially Too Hard and you are entitled to give up. Go to the pub and order the beer you haven't had before¹.

This may sound stupid, but inventing this procedure has had a noticeable positive effect on my life. It's quick to run through. It turns angsty and tiring vacillation into either a purely mechanical procedure, or a fun game of inventing reasons why abstract things are red, or catlike, or doglike. It works remarkably often: I can't remember when I last had to invoke Rule 4 (though it has had at least one notable success: see below). Hell, Rule 1 is enough most of the time. And, applied consistently over a long period, it causes my life to fill with things that are red, feline or canine, all of which make me happier.


Q: Which of these two equally cute and fluffy kittens should you pick to take home with you?
A: Mu.

Obviously these advantages are not tied to the specific steps listed above. Feel free to substitute your own favourite colour or animals, or to come up with different steps entirely. But I do recommend inventing a procedure like this one if you also struggle to make decisions.

¹ If there is more than one beer available that you haven't had before, drink them all in left-to-right order.

Tags:
pozorvlak: (Hal)
Thursday, January 24th, 2013 09:59 pm
[Wherein we review an academic conference in the High/Low/Crush/Goal/Bane format used for reviewing juggling conventions on rec.juggling.]

High: My old Codeplay colleague Ally Donaldson's FAT-GPU workshop. He was talking about his GPUVerify system, which takes CUDA or OpenCL programs and either proves them free of data races and synchronisation-barrier conflicts, or finds a potential bug. It's based on an SMT solver; I think there's a lot of scope to apply constraint solvers to problems in compilation and embedded system design, and I'd like to learn more about them.

Also, getting to see the hotel's giant fishtank being cleaned, by scuba divers.

Low: My personal low point was telling a colleague about some of the problems my depression has been causing me, and having him laugh in my face - he'd been drinking, and thought I was exaggerating for comic effect. He immediately apologised when I told him that this wasn't the case, but still, not fun. The academic low point was the "current challenges in supercomputing" tutorial, which turned out to be a thinly-disguised sales pitch for the sponsor's FPGA cards. That tends not to happen at maths conferences...

Crush: am I allowed to have a crush on software? Because the benchmarking and visualisation infrastructure surrounding the Sniper x86 simulator looks so freaking cool. If I can throw away the mess of Makefiles, autoconf and R that serves the same role in our lab I will be very, very happy.

Goal: Go climbing on the Humboldthain Flakturm (fail - it turns out that Central Europe is quite cold in January, and nobody else fancied climbing on concrete at -7C). Get my various Coursera homeworks and bureaucratic form-filling done (fail - damn you, tasty German beer and hyperbolic discounting!). Meet up with [livejournal.com profile] maradydd, who was also in town (fail - comms and scheduling issues conspired against us. Next time, hopefully). See some interesting talks, and improve my general knowledge of the field (success!).

Bane: I was sharing a room with my Greek colleague Chris, who had a paper deadline on the Wednesday. This meant he was often up all night, and went to bed as I was getting up, so every trip into the room to get something was complicated by the presence of a sleeping person. He also kept turning the heating up until it was too hot for me to sleep. Dually, of course, he had to share his room with a crazy Brit who kept getting up as he was going to bed and opening the window to let freezing air in...
pozorvlak: (polar bear)
Wednesday, June 13th, 2012 06:01 pm
1. Start tracking my weight and calorie intake again, and get my weight back down to a level where I'm comfortable. I've been very slack on the actual calorie-tracking, but I have lost nearly a stone, and at the moment I'm bobbing along between 11st and about 11st 4lb. It would be nice to be below 11st, but I find I'm actually pretty comfortable at this weight as long as I'm doing enough exercise. So, I count that as a success.

2. Start making (and testing!) regular backups of my data. I'm now backing up my tweets with TweetBackup.com, but other than that I've made no progress on this front. Possibly my real failure was in not making all my NYRs SMART, so they'd all be pass/fail; as it is, I'm going to declare this one not yet successful.

3. Get my Gmail account down to Inbox Zero and keep it there. This one's a resounding success. Took me about a month and a half, IIRC. Next up: Browser Tab Zero.

4. Do some more Stanford online courses. There was a long period at the beginning of the year where they weren't running and we wondered if the Stanford administrators had stepped in and quietly deep-sixed the project, but then they suddenly started up again in March or so. Since then I've done Design and Analysis of Algorithms, which was brilliant; Software Engineering for Software as a Service, which I dropped out of 2/3 of the way through but somehow had amassed enough points to pass anyway; and I'm currently doing Compilers (hard but brilliant) and Human-Computer Interaction, which is way outside my comfort zone and on which I'm struggling. Fundamentals of Pharmacology starts up in a couple of weeks, and Cryptography starts sooner than that, but I don't think I'll be able to do Cryptography before Compilers finishes. Maybe next time they offer it. Anyway, I think this counts as a success.

5. Enter and complete the Meadows Half-Marathon. This was a definite success: I completed the 19.7km course in 1 hour and 37 minutes, and raised over £500 for the Against Malaria Foundation.

6. Enter (and, ideally, complete...) the Lowe Alpine Mountain Marathon. This was last weekend; my partner and I entered the C category. Our course covered 41km, gained 2650m of height, and mostly consisted of bog, large tufts of grass, steep traverses, or all three at once; we completed it in 12 hours and 33 minutes over two days and came 34th out of a hundred or so competitors. I was hoping for a faster time, but I think that's not too bad for a first attempt. Being rained on for the last two hours was no fun at all, but the worst bit was definitely the goddamn midges, which were worse than either of us had ever seen before. The itching's now just about subsided, and we're thinking of entering another one at a less midgey time of year: possibly the Original Mountain Marathon in October or the Highlander Mountain Marathon next April. Apparently the latter has a ceilidh at the mid-camp, presumably in case anyone's feeling too energetic. Anyway, this one's a success.

5/6 - I'm quite pleased with that. And I'm going to add another one (a mid-year resolution, if you will): I notice that my Munro-count currently stands at 136/284 (thanks to an excellent training weekend hiking and rock climbing on Beinn a' Bhuird); I hereby vow to have climbed half the Munros in Scotland by the end of the year. Six more to go; should be doable.
pozorvlak: (pozorvlak)
Tuesday, January 3rd, 2012 12:58 am
I don't normally make New Year's resolutions, but what the hell.

1. Start tracking my weight and calorie intake again, and get my weight back down to a level where I'm comfortable. This morning it was 12st 1.9 - not terribly high in the scheme of things, but it's almost as high as it was when I first started dieting (though I think a bit more of it may be muscle now) and it's definitely high enough to negatively impact my sense of well-being.

What went wrong? Well, I'm gonna quote from Hyperbole and a Half: "trying to use willpower to overcome the apathetic sort of sadness that accompanies depression is like a person with no arms trying to punch themselves until their hands grow back. A fundamental component of the plan is missing and it isn't going to work." A scheme for weight loss that depends on willpower is similarly doomed if you're too depressed to stick to it. So this time I'm going to try to make changes to my eating habits that require less willpower. Any suggestions would be most welcome.

2. Start making (and testing!) regular backups of my data. I lost several years of mountain photographs last year when the external hard drive I was keeping them on died: I don't want that to happen again.

3. Get my Gmail account down to Inbox Zero and keep it there. It's currently at Inbox 1713, most of which is junk, but it's just *easier* to deal with an empty inbox, and not have to re-scan the same old things to look for the interesting new stuff.

I have a few more Ambitious Plans, but they don't really count as resolutions:

1. Do some more Stanford online courses. I'm currently signed up to Human-Computer Interaction, Design and Analysis of Algorithms, Software Engineering for Software as a Service, and Information Theory. Fortunately they don't all run concurrently!

[BTW, they're not all computing courses: [livejournal.com profile] wormwood_pearl is signed up to Designing Green Buildings, for instance.]

2. Enter (and complete!) the Meadows Half-Marathon in March. I started training for this back in December, but then I got ill and Christmas happened, so today was my first run for a while and it wasn't much fun. Never mind; I've got time to get back on course.

3. If that goes well, enter (and, ideally, complete...) the Lowe Alpine Mountain Marathon. As I understand things, it's basically two 20km-ish fell runs back-to-back, with a night camping in between. Oh, and you have to carry all your camping kit with you. In the high classes people do the whole thing at a run, but in the lower classes (which I'd be entering) there's apparently a bit more run/walk/run going on. Philipp and I did nearly 40km in one day on the South Glen Shiel ridge in November, and then went for another hike the next day, so I should be able to at least cover the distance. Providing I don't get too badly lost, of course :-)



The only way to progress in anything. The trick, of course, is not biting off enough to cause you damage.
pozorvlak: (Default)
Wednesday, October 19th, 2011 12:08 pm
Previously on posts tagged with 'angst' (mostly friendslocked): our hero became depressed, sought help, and is now (mostly) feeling better. Now read on...

John Walker, in his excellent book The Hacker's Diet, distinguishes two approaches to tackling problems, which he calls the Manager's approach and the Engineer's approach. Management is about monitoring and ameliorating chronic problems to keep their symptoms to within an acceptable level; engineering is about solving problems outright. Most difficult problems, he claims, must be tackled using a combination of both approaches.

My problem, which might be summarised as "I became depressed because I suck at my job", has so far responded well to a management approach: leaning on friends, attending CBT workshops, prioritizing exercise, talking to my supervisor about my problems. I'm very grateful to all of you for your support, and to the Glasgow NHS mental health team. Now that I'm feeling a bit more spoonful, it's time to apply the engineer's approach, and suck less at my job.

[A perhaps more honourable alternative would be to find another job at which I wouldn't suck, but that would be fraught with risk, and my current job has much to recommend it. Besides, I'm not sure that such a job exists.]

I have three basic problems:
  1. I'm not a good enough programmer;
  2. I don't know enough about the problem domain;
  3. I am now effectively an experimental scientist, but I don't know anything about experiment design.


On the first point, I'm reasonably happy with the readability of my code, but I'm unhappy with its testability and correctness, and I'm very unhappy with the time it takes me to produce it. I'm frequently struck by analysis paralysis. I've spent most of my programming career working with high-level languages, so I'm not very good at lower-level programming. I think the only solution to this problem is to write (hundreds of) thousands of lines of code, at as low a level as possible.

On the second point: before starting this job, I'd previously worked at a compiler vendor and at a web startup which did some machine-learning; back in high school, I'd done some assembly programming for an embedded system. I'd also done a bit of background reading on compiler theory. It turned out that this was insufficient preparation for a job using machine-learning to improve the state of the art in compilers targetting embedded systems. Astonishing, I know.

There used to be a cute slide in the Edinburgh University first compilers course:

In the front end, everything's polynomial. In the back end, everything's NP-complete. In the middle-end, everything's uncomputable.

Now, that's true for compiler theory, and it explains why compiler research is still a going concern after sixty years, but it doesn't explain why day-to-day hacking on compilers is hard. For me at least, that's because hacking on compilers is systems programming. You need to know, at least to the level of "understand the basic principles of and can look up the details if needed", about things like addressing modes, instruction set architecture design, executable layout, and calling conventions. Forget the fat guys who know C++ who apparently keep Silicon Valley running; I work with guys who know Verilog and the GNU ld control language.

[Betcha didn't know that the GNU linker embeds a Turing-equivalent programming language :-)]

Now, none of this stuff is especially difficult as far as I can see. But it's a lot of background knowledge to have, and if you lack it then you'll be constantly hitting problems that you lack the mental toolkit to address. So here's what I'm doing about it:
  • To address the patchiness of my knowledge about machine-learning, I went to the library and got out a couple of ML textbooks, one of which I've now read. I've also signed up to the free online machine-learning class from Stanford, and, while I was at it, the Introduction to AI class too.
  • To address my ignorance of architectural issues, I'm auditing the computer design undergrad course at Edinburgh; when I've finished that, I'll audit the follow-on course in computer architecture. So far it's mostly been the sort of boolean algebra and digital electronics that I learned at my mother's knee, but there's a lot of stuff I don't know later on in the course.
  • Linkers are a particular problem for me; I think linker errors are the Universe's way of telling me what it's like for a non-techie who thinks they need to press the "any" key. [livejournal.com profile] zeecat kindly lent me a copy of Levine's book Linkers and Loaders, which I am now reading; as an unexpected bonus, one of the early chapters is a 30,000ft tour of computer architecture. To my delight, the book walks you through the construction of a simple linker in Perl.
  • To address my lack of C and assembly language experience, to solidify my understanding of basic compiler theory, and to give me a testbed for implementing some optimisation algorithms later on, I started writing a simple compiler in C. Currently it accepts a simple term/factor/expression grammar and outputs x86 assembly; the plan is to extend it so it accepts a subset of C. "Compiler" is currently a bit of a joke; it is technically a compiler, but one that does really aggressive constant folding :-) I haven't hacked on this for a while, because work got in the way, but intend to pick it up again soon.
  • To address my ignorance of C minutiae, I started reading through the comp.lang.c FAQ, at Aaron Crane's suggestion. This is also stalled, as is a project to convert said FAQ to a collection of Mnemosyne flashcards.
  • The world seems to be standardising on Hadoop as a clustering solution; I should try that out at some point.

So, anything else I should be doing? Anything in that list I should not be doing?

I have no real idea how to start addressing my third problem, namely my ignorance of experimental design. Go to the library and get another book out, I guess. Anyone got any recommendations?
pozorvlak: (babylon)
Monday, October 17th, 2011 12:38 pm
I was recently delighted to receive an email from someone saying that he'd just started a PhD with my old supervisor, and did I have any advice for him? You'll be unsurprised to learn that I did; I thought I'd post it here in the hope that someone else might find it useful. Some of what follows is specific to my supervisor, my field, or my discipline; most is more general. Your mileage may vary.
  • Your main problem for the next 3/4 years will be maintaining morale. Don't beat yourself up for slow/no progress. Do make sure you're eating, sleeping and exercising properly. Consider doing some reading about cognitive behavioural therapy so you can spot negative thought-patterns before they start to paralyse you.
  • Try to get some structure in your life. Weekly meetings are a minimum. Set yourself small deadlines. Don't worry overly if you miss them: if this stuff were easy to schedule, they wouldn't call it "research".
  • Sooner or later you'll discover that something you're working on has already been done, probably by Kelly. Do not panic. Chances are that one of the following is true:
    • his technique applies in some different domain (actually check this, because folklore often assigns greater utility to theorems than they actually possess)
    • your technique is obviously different (so there's an equivalence theorem to prove - or maybe not...)
    • your technique can be generalised or specialised or reapplied in some way that his can't.
  • Start writing now. I know everyone says this, but it's still good advice. It doesn't matter if you don't think you've got anything worth writing up yet. Write up background material. Write up rough notes. The very act of writing things up will suggest new ideas. And it will get you familiar with TeX, which is never a bad thing. As a category theorist, you will probably need to become more familiar with TeX than the average mathematician. And writing is mostly easier than doing mathematics - important, since you'll need something to do on those days when you just don't have enough energy for actual research.
  • Even if you don't start writing, you should certainly start maintaining a bibliography file, with your own notes in comments.
  • Speaking of fluctuating energy, you should read Terry Tao's advice on time management for mathematicians.
  • Keep your TeX source in version control. It's occasionally very helpful to be able to refer back and find out what changed when and why, and using a properly-designed system avoids the usual mess of thesis.old.tex.bak files lying around in your filesystem. I like Git, but other systems exist. Mercurial is meant to be especially nice if you haven't used version control before.
  • Make sure you have up-to-date backups (perhaps via a source-code hosting site like GitHub or BitBucket). And try to ensure you have access to a spare machine. You don't want to be futzing around with screwdrivers and hard drive enclosures when you've got a deadline.
  • Tom's a big fan of using rough sheets of paper to write on in supervision meetings [and perhaps your supervisor will be too, O reader]. You'll need to find a way of filing these or otherwise distilling them so that they can be referred to later. I never managed this.
  • For my own rough working, I like paper notebooks, which I try to carry around with me at all times. Your mileage may vary. Some people swear by a personal wiki, and in particular the TiddlyWiki/Dropbox combo.
  • Speaking of filing: the book Getting Things Done (which I recommend, even if I don't manage to follow most of its advice myself) recommends a simple alphabetical filing system for paper documents, with those fold-over cardboard folders (so you can pick up your whole file for a given topic and cart it around with you). I find this works pretty well. Make sure you have some spare folders around so you can easily spin up new files as needed.
  • Don't be afraid to read around your field, even if your supervisor advises you not to. I really wish I'd ignored mine and read more about rewriting systems, for instance.
  • Try to seize that surge of post-conference inspiration. My major theorem was proved in the airport on the way back from a conference. Also, airports make great working environments at 2am when hardly anybody's around :-)
  • Don't forget that if things get too bad, you can quit. Sometimes that's the best choice. I know several people who've dropped out of PhD programmes and gone on to happy lives.
  • The supply of newly-minted PhDs now outstrips the number of academic jobs available to them, and category theory's a niche and somewhat unfashionable field (in maths, at least - you may well have more luck applying to computer science departments. Bone up on some type theory). When you get to the end of your studies, expect finding an academic job to take a long time and many iterations. Try to have a backup plan in case nothing comes up. Let's hope the economy's picked up by then :-)
pozorvlak: (Default)
Monday, November 1st, 2010 01:41 pm
As seems inevitable these days, a load of my friends are doing National¹ Novel Writing Month this year. I won't be joining them: I have no particular ambition to become a novelist. However, I do want to become a better programmer.

To that end, I shall be participating in my own Personal Code Writing Month, the rules of which are
  1. Write some non-work code every day.
  2. Make what I write available, if only on GitHub.
  3. Wherever possible, make something that can be used over the Web, and get it hosted somewhere so people can use it.
I'm deliberately not setting myself a more concrete project or Grand Lofty Goal, for fear of scaring myself off: the idea is just to work on whatever attracts me on any given day. Nor am I setting myself any targets as to how much code I must write on any given day, or how long I should spend on it. To start with, though, I was thinking I might do something about the poor Factor coverage in the Programming Languages Examples Alike Cookbook, and I've just subscribed to the PLEAC mailing list.

I'll be posting regularly about this: if you don't want to hear about it, please let me know so I can set up a filter or something.

Edit: I've uploaded today's hack - a partial fix to the irritating "light goes off when you rotate the phone" bug on my LED flashlight. It's not a complete fix, because the light still blinks out for half a second before coming on again. I'm sure the world doesn't need Yet Another Flashlight App, but I'll sort out Android Market access and upload it there anyway. Meanwhile, you should be able to sideload it from here.

¹ By the way: why "national"? I see from Wikipedia that the first year (1999) was San Francisco-only, but from 2000 onwards it's been an international event.
pozorvlak: (sceince)
Monday, June 28th, 2010 03:16 pm
Yesterday I finally crossed off a to-do item that's been bothering me for twenty-one years.

In Primary 4 I had an evil, horrible, hateful, permanently-angry teacher called Mrs Begg. I have no qualms about giving her real name, and even if I did, she's surely dead now. Mrs Begg had one of those rolling endless blackboards, and up the right-hand side she'd write a list of things to do. As soon as the first child finished the last task on the list, she'd add another one on the bottom. I, of course, was usually struggling along somewhere near the top of the list, not because the tasks were too hard (they weren't) but because the work was mostly boring and the volume of stuff I was supposed to get through was too dismaying.

Then, one day, she pronounced herself more than usually dismayed with the slow kids, and wiped off a bunch of items from the list. Great! you might think. But you'd be wrong, because (a) I'd just been told in no uncertain terms that I'd failed, (b) the list still grew faster than I could keep up, and (c) there were actually some items on the wiped-out portion that I was looking forward to doing. When I got to them. Whenever that would be.

In particular, one of the wiped-out tasks was to make one of those paper fortune teller things. As a result of the Bonfire of the Makework, I never learned how to construct one. I'm sure you can imagine the difficulties that the lack of this crucial skill has caused in my subsequent life.

When I'm under stress, the image of this Sisyphean blackboard comes back to haunt me, and especially the task that I was supposed to complete - that I was looking forward to completing - but didn't. So on Sunday I decided to exorcise it once and for all, by sitting down and making a paper fortune teller. I was going to Google for some instructions, but then [livejournal.com profile] wormwood_pearl offered to use her Magical Girl Powers¹ and teach me how to make one. Turns out it's really easy: cut out a square of paper, fold it across both diagonals, open it out again, fold all four corners into the centre to make a square with half the area, fold all four corners of the new square into the centre to make another square with a quarter of the area of the original square, fold this third square in half lengthways, then stick your fingers into the folds. If that's not clear, there are, for the moment, diagrams on the Wikipedia page.

Since I'm a geek, the fortunes had a programming slant. After spelling out your favourite programming language and choosing your favourite regular expression metacharacter, you arrive at one of the following four fortunes:
  • Your projects will all come in on time and under budget.
  • You will be assailed by numerous heisenbugs.
  • You will not write enough tests.
  • You will write a subroutine too cleverly, and later regret doing so.
The first outcome, of course, is the Holy Grail (and seen about as often), and the rest are almost inevitable.

The alert or clueful reader will have noticed that there is only one good fortune, and so if the name of the sitter's favourite programming language has the wrong parity they are denied any possibility of a good outcome. This illustrates the important lesson that, though many technologies may be good enough to succeed, a bad initial choice can scupper you entirely. But even if you choose a language with the right parity, you have only a 50% chance of a good outcome: this illustrates the fact that good technology choices are necessary but not sufficient to success - the skill and good taste of the implementing team are still critical. More devilishly, if I know a particular sitter's favourite programming language in advance I can deny them any chance of success (mwahahaha! The power, it is intoxicating) which illustrates the unfortunate truth that even a good team using the best tools is screwed if the client doesn't play ball.

¹ By which she meant the Magical Powers she has by virtue of being a Girl, not the Powers she would have by virtue of being a Magical Girl. If [livejournal.com profile] wormwood_pearl is a Magical Girl, I have seen no sign of it. Which is of course exactly what I would expect to see if she were a Magical Girl...

*cue Bubblegum Crisis music*
pozorvlak: (pozorvlak)
Monday, May 10th, 2010 03:53 pm
Go and read the post Ugh Fields on Less Wrong. To take the author's own tl;dr version:
Pavlovian conditioning can cause humans to unconsciously flinch from even thinking about a serious personal problem they have, we call it an Ugh Field. The Ugh Field forms a self-shadowing blind spot covering an area desperately in need of optimization, imposing huge costs.
The post goes into this idea in some more detail, conjectures about how Ugh Fields form, and suggests some things to do (and not to do) about them. For instance, nagging someone to (for instance) pay the overdue gas bill will probably have the effect of reinforcing their Ugh Field surrounding gas bills, and actually exacerbate the underlying problem; but asking "do you think you have an Ugh Field about gas bills?" might be the first step to dispelling it. Go and read the article, it's quite short.

[If you're unfamiliar with Less Wrong in general, it's a radical atheist millenarian death cult community blog devoted to refining the art of human rationality. They're big on cognitive biases, Bayesian statistics, decision theory, averting the impending robocalypse, that kind of thing. For a highly entertaining introduction to their thought, I recommend Harry Potter and the Methods of Rationality, a Harry Potter/Less Wrong crossover fanfic.]

Reading this, I realise that I'm suffering from a few Ugh Fields of my own. In particular, I've developed a few nasty Ugh Fields surrounding messy codebases I've had to work with, and these are in danger of fusing into an Ugh Field surrounding programming in general. Needless to say, this is a serious problem in my line of work. But actually, I want to talk about an Ugh Field that I've had for longer - the one surrounding travel. More precisely, the one surrounding organising travel, which has now reached the point that I'll almost reflexively pass up opportunities that come with an obligation to travel rather than even think about fighting with travel-agent websites (and spending hundreds of pounds). I deal with obligations that require travel by handing [livejournal.com profile] wormwood_pearl my credit card and retiring to the far side of the room until she's made the problem go away, but (a) that's unfair on her, (b) I'm probably definitely missing out on a lot, because I'm turning down major opportunities rather than even go that far. I didn't go to a lot of potentially useful conferences during my PhD, I didn't go to a lot of cool-sounding juggling conventions, and more recently I've failed to go on several mountaineering trips that I'd probably have loved. And friends outside Scotland have grown used to my not visiting.

So if you ever wondered why I never took you up on your invitation to visit you in $exotic_location, that's why. At least, that's a large part of why: my environmental concerns about excessive travel are real, money genuinely has been rather tight for the last six years, and I do find the actual travel bit fairly stressful, but probably 60% of the reason I haven't left the UK in three years (and have hardly left Scotland in that time) has been to do with my Ugh Field.

Now, what should I do about it?
pozorvlak: (Default)
Wednesday, October 21st, 2009 10:52 pm
Number 1 in an occasional series about friends and loved ones who are no longer with us.

My schoolfriend Fred Hood died on Christmas Eve last year, at the age of 28. Swept away by an avalanche while skiing in Austria, he was mercifully killed instantly. Being an international sort of chap, he had memorial services in Washington DC, Bologna, and Eton; I went to the Eton one, and then went back to his parents' house, where we held a wake for him in the marquee that had originally been hired for his brother's engagement party.

At the wake (and this is an idea I am totally stealing if I ever get asked to run one), they had a sort of open-mike eulogy: a microphone was passed around, and anyone who felt like it could stand up and share their memories of Fred. These were mine.

Back in 1997, we did a show called Blood and Honour at the Edinburgh Fringe, in which Fred played the leading man and I played a corpse. Fred was also in a rather better-received show called Who's Laughing Now?, in which he played a school bully. There's a story about Stanislavsky (from Bulgakov's Black Snow), in which Stanislavsky, unhappy with an actor's performance, calls for a bicycle and tells the actor "Now, love that woman on a bicycle!". In a similar spirit, I challenged Fred to sit down on a chair as his character. And he did. For a few seconds, as he thumped down, sprawled proprietorially, cast a hostile, privileged glance around the room, and shook open his newspaper, Fred wasn't inhabiting his body; instead, the space was occupied by an entirely different person, a million miles from the Fred we all knew. It remains one of the best pieces of acting I've ever seen.

Much was made at the service of Fred the actor, Fred the intellectual, Fred the scholar. Rather less was made of Fred the sportsman. And yet, we used to row together in Lower Boats, training six days a week and lifting weights for a couple of hours every Tuesday, Thursday and Saturday. I remember one day, when we went for a training run around one of those Etonian sports pitches named after an ancient Near Eastern civilisation, that Fred and I agreed to pace each other, and not to compete with each other. And yet, when we reached the final straight, I sped up to a sprint and hit the finish line well before him.

I just want to say that I'm sorry, dude. That was a dick move.
pozorvlak: (babylon)
Friday, June 6th, 2008 10:44 pm
In the last couple of days, my thesis has passed the following milestones:
  • 5000 lines of code
  • 25,000 words (as reported by wc)
  • 90 pages
This means it's longer than the theses of at least two people I know who successfully got doctorates. In general, I'm feeling quite a bit more positive about it than I was even a week ago: I've rearranged a lot of the sections so that the logical flow is better and various notions are introduced at the right level of generality. The result feels more like a coherent thesis, and less like a Frankensteinian hodgepodge. Also, in the last three days I've managed to tie together disjoint bits of thesis on two separate occasions, thus making the whole thing significantly more cohesive. The tie-in I found yesterday required a proof that I'd tried and failed to construct on many occasions before, but this time it fell out almost immediately: once I'd found the right approach, it took about five lines.

On the downside, I saw my supervisor today, and he suggested a realistic finishing time would be the end of August. Which is before they start fining me for late submission, but quite a bit later than I'd hoped. Not to mention the fact that the lease on my flat expires in the middle of July. Bah.
pozorvlak: (babylon)
Friday, February 8th, 2008 11:59 pm
On Tuesday night, I met Colin Wright, who's one of the inventors of siteswap notation (like most really good ideas, it was invented independently by at least three groups). He was in town to give a lecture on the mathematics of juggling, which I attended. Excellent lecture, though much more historical than mathematical: still, it was very interesting to hear the early history of siteswap from the horse's mouth! The breakthrough pattern was apparently 5551, whose existence was deduced from the jugglability of 53 and 552 - apparently Wright and his group went to the BJC in 1985 and showed people 5551, and nobody could believe that it really worked. Then they went to the EJC a few months later, and people tried to teach it to them :-)

After the lecture he went to dinner with me and a few other members of the department, which was great fun - he's a really funny, interesting guy (it was him who told me about the Lipson-Shiu test, for instance). And he knows all the words to Tom Lehrer's Elements song (and most of the others, from what I could tell). But he had some rather more serious advice for me: he suggested that I try to write 1000 words of my thesis every day. It doesn't matter if they're good words, or if I throw them away the next day, but I should just try and get them down, so I'm in practice at expressing mathematical ideas on paper.

So that's what I'm going to do. Since Wednesday was the first day of Lent, that seems appropriate: I'm going to try to write 1000 words for every day of Lent, allowing myself one day off per week to go hillwalking or whatever. So far, I've managed 500 plus a diagram on Wednesday, 350 plus another diagram on Thursday, and 300 today - not exactly hitting the target, but my thesis is now at 48 pages, which is five pages longer than it's been for months1, and I'm feeling considerably less stressed about the whole business. Allowing yourself to write stuff that you're intending to throw away is incredibly liberating.

I'm going to keep posting about this: please prod me if I don't, and remind me to do some bloody work. If anyone particularly wants to be spared these posts, let me know and I'll try to set up a filter or something.

1 My supervisor says I shouldn't worry too much about page count, because I have a very concise style2: I replied that it was really d(thesis)/dt that I was worried about.

2 Years of trying to save paper by answering questions in the smallest space possible, probably. At Oxford, I'd typically hand in one sheet of paper per course per week, unless it was something horrible like fluid dynamics where concision was impossible.
pozorvlak: (Default)
Monday, December 17th, 2007 12:06 am
When I am rich, I will found Niue College, Oxford, whose main aim will be to be a more pleasant learning environment than New College. The importance of having a really good college bar, with good beers on draft at reasonable prices, which takes cash so guests don't have to get a college member to buy their drinks for them, and which opens at sensible times regardless of whether it's exam season or not*, will be written into College statutes. The Norrington Table will be cheerfully ignored (a strategy that works remarkably well for Balliol).

In other news, I'm finding this job application a serious pain. Counterintuitively, I'm getting through it only by telling myself that there's no chance I'll get the job and I don't really want it anyway** - it's the only thing that stops me fretting about every sentence and lets me write something down.

* When I was at New, the Warden, who would obviously have been happier teaching at Princeton and lost no opportunity to build his own miniature Princeton-on-Thames, tried to make the bar shut early during exam season to encourage undergraduates to work instead of drinking. The result? Students who went to the bar got turfed out early, and hence were more likely to go out clubbing; students who'd been working couldn't go to the bar for last orders, for a quick dose of beer-and-facetime to help them sleep. We did not hold a very high opinion of the Warden.

**I do, actually, it would be very cool to have. But it would involve moving to Canada, which would involve Difficult Life Decisions.


Edit: [livejournal.com profile] wormwood_pearl suggests that it might be more amusing to call my college Maudlin College. To be pronounced "Magdalen" :-)
pozorvlak: (polar bear)
Thursday, June 28th, 2007 10:59 am
I went to a high school reunion a couple of weeks ago.

Cut for arrogance )