Home
Beware of the Train [entries|archive|friends|userinfo]
pozorvlak

[ website | My Website ]
[ userinfo | livejournal userinfo ]
[ archive | journal archive ]

Links
[Links:| My moblog Hypothetical, the place to be My (fairly feeble) website ]

Notation that sings [May. 9th, 2008|05:08 pm]
[Tags|, , ]

Some Actual Maths for a change. Some of it assumes some mathematical sophistication, but the core idea should be accessible to anybody. Have you ever been an arts student? I'm looking at you. Skate over the words you don't know, they're not important - they're just there to explain how the central result connects to more sophisticated and deeper areas of mathematics.

Go on, click, you know you wanna )
link8 comments|post comment

Thesis sitrep [May. 7th, 2008|11:44 pm]
[Tags|, , , ]

I've been collecting some more data on the thesis:
Wed May  7 23:45:49 BST 2008
4741 lines 23246 words 163656 characters
thesis.log:Output written on thesis.dvi (84 pages, 643096 bytes).
33 fixmes
80 definitions
141 term-definitions
24 theorems
21 lemmas
6 corollaries
30 examples
143 bullet-points
A "term-definition" is a call to the macro \defterm, which I use to emphasize the term being defined. The count's not the same as the number of definitions because I often group the definitions of related terms into the same \begin{defn}...\end{defn} block. The lemmas, theorems etc are mostly other people's :-(

I like bullet points. They reflect how I think, and bullet-pointed text takes up more space on the page.
link9 comments|post comment

In case you were wondering how I got this way... [May. 7th, 2008|11:30 pm]
[Tags|, ]

The tail-end of a conversation with my Dad last night:

[A discussion of scary-sounding nonlinear dynamical techniques my Dad has been studying, with Poincaré's name attached for extra scariness]
Me: Sounds interesting. Have you come across the idea of considering the Poisson bracket as a symplectic form on the cotangent bundle of phase space?*
Dad: No, I don't think so...
Me: Something like that, anyway. I went to enough lectures on this stuff to pick up the jargon, but not enough to really get my head around it.
Dad: Yes, I know that feeling.
Me: But it's interesting how quickly physics becomes geometrical, isn't it?
Dad: Yes, certainly. You know, one of these days you and I should put our heads together and try to properly understand General Relativity.
Me: Actually, that was my plan for after I hand in my thesis. That, and learning to ride a unicycle.
Dad: [laughs] ...and learn a foreign language and a musical instrument.
Me: thinks: I wasn't going to tell him about that bit...

* My office-mate, who does The Physics, tells met that I meant "configuration space" - phase space is the cotangent bundle of configuration space!
link12 comments|post comment

Argmungers in universal algebra [Apr. 26th, 2008|12:32 am]
[Tags|, ]

Some of you might be interested to learn that argmungers are now explicitly included in my thesis: the mathematical concept, that is, not the code. One can recast classical universal algebra (which works syntactically, with words in a recursive language and denumerable sets of variables) in terms of planar trees of operators (abstract syntax trees, effectively) acted on by munging functions (and yes, I use the term "munging function"). Restricting the munging functions allowed is equivalent to imposing syntactic restrictions on the equations defining your theories: I'm writing up a proof of this at the moment. Interestingly, isolating the concept of munging functions makes the whole thing significantly cleaner: up until then, the theorem was frustratingly obvious, but trying to prove it (or even state it!) rigorously was like nailing jelly to the wall.

Maybe I should thank Hitesh in my acknowledgements...

Oh, and current state of play:
Sat Apr 26 00:47:12 BST 2008
4511 lines 22164 words 155551 characters
thesis.log:Output written on thesis.dvi (78 pages, 626444 bytes).
34 fixmes
I was up to 79 pages, but then I deleted some redundant stuff, so now I'm back down to 78.

Right, time to pack for the mountains tomorrow.
link5 comments|post comment

Nice probability question [Mar. 19th, 2008|04:46 pm]
[Tags|, ]

Here's a nice question from a Cambridge entrance paper that some of you might enjoy:
You have a biased coin that comes up heads with probability p. With it, you play the following game: you toss the coin repeatedly, scoring 1 each time it comes up heads and 0 each time it comes up tails, and stop when you toss two tails in a row.
  1. What is E, the expected number of tosses in a round of the game?
  2. What is S, your expected score from one round (i.e. the expected number of heads tossed)?
  3. Now suppose the rules are changed, so that you only stop the game after tossing r consecutive tails. What are the new values of E and S?
The question wasn't quite as stated: it actually included some extra information, which was useful but nonessential. In deference to the fact that many of you have much greater mathematical experience than the average Cambridge applicant, I've hidden it under a cut )
linkpost comment

[Mar. 12th, 2008|03:00 pm]
[Tags|, , , ]

My paper was rejected. Not enough new material, and I'd failed to cite related work.

As well as being annoying, this is worrying: the paper contained almost all the new material that's in my thesis, strongly suggesting that my thesis doesn't contain enough new material either.

Bugger.

On the upside, the reviewer suggested some possible applications and further work: if I could do that, maybe that would be enough.
link14 comments|post comment

Minor annoyances [Mar. 10th, 2008|08:47 pm]
[Tags|, , , , , , , ]

A guy on Reddit pointed me at this article today. It's the Wikipedia biography of the Welsh computer scientist Donald Davies. Like my father, he was from the Rhondda Valley; he was the co-inventor of packet-switched networks (like this big one you're using right now); and he once found a bug in Alan Turing's code, before the first computer had been built :-)

I think he may be my new hero.

In other news:
  • I've just finished Portal. It was great, but far too short :-( If you haven't played it yet, then you should go and buy/download a copy right now, and cover your ears and sing "La la la la la..." until it's loaded to avoid being spoilered like I was. The puzzles are still a lot of fun, but the plot and jokes would have been a lot better if I hadn't half-known they were coming.
    [And I didn't find "The Cake is a Lie!", even though I was looking out for it...]
  • Spent a lot of time sitting at the computer today, but didn't get any thesis done. Bah.
  • After a similarly unproductive morning yesterday, I went to the climbing wall, and had quite a good session: I did two 6as (which is good, for me), led a widely-agreed-to-be-undergraded 5+, and finally knocked off a 5+ with a big scary overhang that had been tormenting me for months. Yay!
  • This may be the most awe-inspiring programming war story I've ever read.
  • Letter from Linacre: I didn't get the job. Never mind.
  • The winter mountaineering course I was booked on next weekend has been cancelled due to lack of interest. Just when the snow's started up again! I'm much more annoyed about that than about the rest, to be honest.

Ah well, tomorrow will be better. Anyway, have a look at this video, which is the trailer for one of the films I saw at the mountain film festival on Saturday:



That sea arch he's climbing up the underside of, by the way, is provisionally graded as a French 9b :-)
link14 comments|post comment

Lockhart's Lament [Mar. 9th, 2008|12:31 pm]
[Tags|, , , ]

Everyone needs to read this piece, especially those who don't consider themselves mathematicians.

A Mathematician's Lament, by Paul Lockhart.

There's a bit of biographical information on the author here. It's a cri de coeur about the state of mathematics education in the USA (and, by extension, in every industrialised country), which convinces generation after generation of kids that maths is boring and ritualistic, rather than the artful, elegant form of play that it really is. It's a bit long, but thoroughly, thoroughly excellent.
A musician wakes from a terrible nightmare. In his dream he finds himself in a society where music education has been made mandatory. “We are helping our students become more competitive in an increasingly sound-filled world.” Educators, school systems, and the state are put in charge of this vital project. Studies are commissioned, committees are formed, and decisions are made— all without the advice or participation of a single working musician or composer.

Since musicians are known to set down their ideas in the form of sheet music, these curious black dots and lines must constitute the “language of music.” It is imperative that students become fluent in this language if they are to attain any degree of musical competence; indeed, it would be ludicrous to expect a child to sing a song or play an instrument without having a thorough grounding in music notation and theory. Playing and listening to music, let alone composing an original piece, are considered very advanced topics and are generally put off until college, and more often graduate school.

As for the primary and secondary schools, their mission is to train students to use this language— to jiggle symbols around according to a fixed set of rules: “Music class is where we take out our staff paper, our teacher puts some notes on the board, and we copy them or transpose them into a different key. We have to make sure to get the clefs and key signatures right, and our teacher is very picky about making sure we fill in our quarter-notes completely. One time we had a chromatic scale problem and I did it right, but the teacher gave me no credit because I had the stems pointing the wrong way.”

In their wisdom, educators soon realize that even very young children can be given this kind of musical instruction. In fact it is considered quite shameful if one’s third-grader hasn’t completely memorized his circle of fifths. “I’ll have to get my son a music tutor. He simply won’t apply himself to his music homework. He says it’s boring. He just sits there staring out the window, humming tunes to himself and making up silly songs.”

In the higher grades the pressure is really on. After all, the students must be prepared for the standardized tests and college admissions exams. Students must take courses in Scales and Modes, Meter, Harmony, and Counterpoint. “It’s a lot for them to learn, but later in college when they finally get to hear all this stuff, they’ll really appreciate all the work they did in high school.” Of course, not many students actually go on to concentrate in music, so only a few will ever get to hear the sounds that the black dots represent.
[info]icedragon1969: he has some hard words about high-school geometry, too.
link21 comments|post comment

Template Haskell, argument munging and operads, part I [Mar. 5th, 2008|10:37 am]
[Tags|, , , , , , ]

[The hope was that this post would come in three somewhat independent sections: one pure programming, in which we develop a small utility in Template Haskell; one largely mathematics, at the upper-level high school to beginning undergraduate level, wherein we describe another approach to constructing our utility; and one purely mathematical, more sophisticated but fairly handwavy, wherein I relate all this stuff to my research interests and describe where it leads. The idea was that you could skip the code and jump to the maths, or read the code and skip the maths, or whatever. However, just the first section has now taken far longer than I'd budgeted, both in time and in space, so I'll save the other two for a later post.]

In a recent post, Hitesh Jasani writes about Haskell's flip operator, which takes a function f and returns a function which behaves like f with the order of its first two arguments reversed. So (flip f) x y z w = f y x z w (we write function application without brackets, as is customary in Haskell). I pointed out to Hitesh that actually, we could write such a function in almost any language which supports higher-order functions, and in dynamic languages (like Perl or Lisp) we can go further, and write a function argmunge, which accepts two functions and permutes the arguments of the first one (the "victim") according to the second (the "munger"). So
(argmunge f g) x1 x2 x3 x4 ... = f xg 1 xg 2 xg 3 xg 4  ...
Here's an implementation of argmunge in Perl, and some code to exercise it:
sub argmunge {
    my $func = shift;
    my $munger = shift; # not necessarily a permutation
    return sub { $func->(@_[@$munger]); }
}

sub myprint {
    print "Called with args ".join(", ", @_)."\n";
}

argmunge(\&myprint, [2,5,5,6])->(0,1,2,3,4,5,6);
argmunge(\&myprint, [3,2,1])->("fred", "barney", "betty", "wilma");
When run, this displays
Called with args 2, 5, 5, 6
Called with args wilma, betty, barney
Here we don't pass the munger in as a function, but rather as a list of values [g(0), g(1), ..., g(n)]. I'm prouder of that code than I probably should be, because it relies on some nice Perl features to work as it does; namely, Perl's argument-passing convention (in which all arguments are passed to a function as a single array called @_), list slicing (in which you can index into a list with another list), and list flattening (in which inclusion of one list in another splices the inner list into the outer list, resulting in a flat list). I remarked that it wouldn't be possible to write a general argmunger in Haskell, because the type of the result depends crucially on the actual value of the munging function. It ought to be possible to write one in a dependently-typed language like Cayenne - anyone care to do so?

[Edit: it's possible to write an even nicer version in Arc.]

Anyway, it may not be possible in vanilla Haskell, but it is possible using templates. )

The final code can be found here. As always, all suggestions for how I could improve my code or my development practices are gratefully received!
linkpost comment

And another thing... [Mar. 3rd, 2008|05:04 pm]
[Tags|, , , ]

Something I forgot to mention...

My last funding cheque came on Thursday. No more Research Council funding for me. Fortunately, this day is not unanticipated: I have savings, and I have teaching income. I'll probably be applying for part-time jobs, too.

Right, thesis.
link3 comments|post comment

Emacs calc [Feb. 22nd, 2008|12:25 am]
[Tags|, , , ]

Did anyone else know that Emacs' Calc mode is effectively a full-featured computer algebra system? Symbolic manipulation, vectors, matrices, calculus, graphing (provided via gnuplot), all the stuff you'd expect.

No gamepad integration that I could see, though :-)
link1 comment|post comment

[Feb. 21st, 2008|04:53 pm]
[Tags|, , , , , , ]

I went to an all-day sales pitch conference sponsored by Wolfram Research yesterday, all about just how damn cool the new version of Mathematica is. There's a lot to like: as a language, it seems to have a nice blend of Lisp-like and APL-like features, so you can do all your standard functional programming tricks and what looks like a decent subset of array programming tricks, as well as writing normal imperative code. The standard library is, of course, vast, with loads of clever symbolic, numerical, graphics and GUI code built in, and in the new version there's also lots of standard geographical/scientific/financial/etc data available, import and export filters for loads of standard formats, and other niceties. One thing I really liked was the Manipulate[] function: hand it an expression (which can evaluate to a number, a symbolic form, a graph, a 3D plot, a sound file, an animation, or whatever) and a list of parameters, and it will automagically construct a GUI widget with sliders and checkboxes that allow you to manipulate the parameters interactively and observe the result. You can even control the parameters using a gamepad, if you want... They seem to have made a major effort to make everything interoperate smoothly in the new version - one slightly silly demo they showed us was putting slider bars as the limits of an integral, and changing the value of the result as the bar was dragged about. That was always the major problem with open source mathematics software, from my limited experience - nothing does everything, so you have to learn N different incompatible sublanguages, write loads of glue code, and constantly switch applications. The Sage guys seem to be working on this, though - I'll have to check it out.

Have a look at the big collection of Mathematica demos at http://demonstrations.wolfram.com, which includes a lot of examples of Manipulate[]. There are videos, or you can download a free-as-in-beer notebook reader.

In other news, I've been having a bit of a play with the NetBeans IDE for Java, and really liking it. I've got used to doing everything in vi and the command-line, which has its upsides, but IDEs can make life so much easier for the beginner. In particular, NetBeans' wiggly red underlining has been a huge help in learning the language, and the integrated documentation browser is very nice. I haven't needed the automated refactoring support yet, but it's fun to play with - select! Click! Extract Method! :-)

But here's my question - why is it so slow? I know it's written in an interpreted language, but so is Emacs, and that runs without too much complaint on 1980s hardware. And the compiler's written in C, unless I'm much mistaken, and that's slow as hell too. Or, conversely, why were the compilers with Delphi and Turbo Pascal so fast? Simple Java programs take several seconds to compile on my 1GHz machine, where their Pascal equivalents would have compiled in an eyeblink on its predecessor's predecessor1. Is there something about Pascal that makes it especially easy to compile, and if so, what is it? Java seems at least as regular to me, and generating bytecode ought to be easier than generating native code. Or is Anders Hejlsberg just a ninja?

Thesis now at 63 pages and 22563 words, according to wc *.tex, which means that I've written 20 pages and, um, several thousand words in the last sixteen days (nearly 1000 words today, but many of those were "XXX proof here"). Progress is being made, though there's an awful lot still to do.

1 I'm sure I've mentioned our fifteen-minute link times for our medium-sized C++ app when I was working at $company: while our network of file dependencies wasn't as bad as it could have been, it still resulted in the linker having to do a lot of work. And while compiling can be distributed easily around a network, linking can't :-(
linkpost comment

[Feb. 16th, 2008|01:20 am]
[Tags|, , , , , ]

No thesis today - I had a six hour job interview through in Edinburgh, for the maths consultancy people (who, it turns out, are university friends of my Canadian friend Jeff - small world!). The interview went reasonably well, though it could have been better - I was a bit stressed out by the whole interview situation and wasn't as sharp as I could have been. The maths questions (all based on tasks they've actually encountered in the field) were completely outside my area, and hence somewhat challenging for me, but I managed to come up with not-entirely-stupid answers to them without too many hints. The programming questions were mostly straightforward (what does this bit of recursive Prolog do, implement the following standard mathematical functions in Java, write a simple method against this random spec), apart from one where I had to find an error in some threaded Java code. Did I mention that I've never written threaded code before, and I don't speak Java very well? Then they gave me lunch, then brought me back to the office and asked me all the questions from the first round again. Apparently the answer I gave to the "where would you like to be in five years?" question was very good :-)

Anyway, the company looks really cool, and the people all seemed to be good guys, so fingers crossed on that one. They've got another couple of people to interview, and they'll get back to me some time in March.
link4 comments|post comment

Onageristic speculation [Feb. 12th, 2008|10:26 am]
[Tags|, , , , , , , , , , , ]

I'm going to make what should be an uncontroversial statement: if you don't understand and use monads, you are at best a quarter of a Haskell programmer. A corollary of this is that, since using monad transformers is the only (or at least the approved) way to use two or more monads together, if you don't understand and use monad transformers you are at best half a Haskell programmer.

[Another corollary is that I am, at best, about an eighth of a Haskell programmer: though I understand monads well on a theoretical level, I invariably emerge defeated from any attempt to bend them to my will.]

But we'll come back to that later.

Something I've been thinking about for a while is this whole business of designing languages to make programs shorter. )

1 There really ought to be a word that means "would never use a twopenny word when a half-crown word would do", but I can't think of one. English grads? Edit: sesquipedalian! Of course! Thanks, [info]fanf! (Originally, I used "prolix")
2 I actually came up with this list by thinking about languages whose users were the most passionate. But they're also extremely concise, which I think is a large part of the reason for the passion. If I were focusing purely on concision, I should probably consider Forth, but I don't know enough about it.
3 J has "boxed arrays" too, which are something like two-dimensional s-expressions, but let's leave those aside for now.
4 You might want to raise this objection against Smalltalk, too: objects are members of classes, which are something like types. Now, I've hardly used Smalltalk, so I'm probably talking out of my elbow, but: since everything is an object, and the language has powerful reflection features and duck typing, we can in fact write generic operators that work for objects of many or all classes. But maybe I'm entirely wrong about Smalltalk programming: in which case, please delete all references to the language from my argument.
5 Do you find yourself wanting to go out and strangle small fluffy animals every time you have to type out an instance declaration that would be entirely unnecessary in a duck-typed language? I do. Particularly when it doesn't work and spits out some ludicrous error message at me, telling me that I've encountered another stupid corner case of the typeclass system.
6 I learned to my surprise the other day that I'm a member of the Geometry and Topology research group, and not the algebra research group as I'd always assumed - apparently universal algebra is now considered a branch of geometry!
link37 comments|post comment

d(thesis)/dt > 0 [Feb. 8th, 2008|11:59 pm]
[Tags|, , ]

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.
link8 comments|post comment

Stalking gainful employment using all available cover [Jan. 24th, 2008|02:42 pm]
[Tags|, ]

Applying for postdocs seems to combine all the worst features of applying for real jobs and applying for PhD places. I've successfully done both of those things, but I'm not at all sure of my ability to deal with this new, combined challenge. I can only assume that this is deliberate: faced with a population of largely shapeless applicants, appointments committees construct as many pointless hoops as possible in the hope that almost everyone will give up in disgust, and then the one person who turns up can be given the position.

Anyway, I had an interview for a job in the Real World1 yesterday, at a rather cool-sounding mathematical consultancy: you bring them your business problems, they apply Serious Mathematics to them, possibly write some software, and charge you for the privilege. Sounds awesome, frankly. The interview was a bit odd, in that most of the hour was spent talking at me about the company and what they do and what the various principals have done in the past, and very little time was spent asking me questions. Bad sign? And the questions they did ask, I muffed rather, eg "What are you bad at?" "Er... er... er... decisiveness?" and "Where do you see yourself in ten years' time?" "Doing something fascinating, with ten years' more accumulated knowledge". Possibly I should have spent the night before question-spotting and preparing slick answers, rather than coding some trivial Java apps and watching Star Trek (I'd been told the founder was a fan). But actually, the hardest part of the application process was locating the iron for my shirt before the interview - everything was done in a very low-ceremony way over email, and the interview took place at a mutually convenient location over coffee.

But anyway, I got invited back for a second interview! So, go me. They're looking to appoint one new employee in the next few months, and they've got six candidates, so fingers crossed...

1 Upsides of the Real World: better money (hopefully, forgot to ask about that), faster turnover of problems, less form-filling and bureaucracy, deadlines, the chance to make a visible difference to the world, wouldn't need to move to another continent. Downsides: having to get up early in the morning, unlikelihood of being able to wear T-shirts and combat trousers all the time, inability to set own hours, decreased chance to make long-term difference to state of human knowledge, less opportunity to travel. Right now, I honestly don't know where the problems are likely to be more interesting, which is probably the major consideration :-(
link35 comments|post comment

[Jan. 17th, 2008|02:54 pm]
[Tags|, , , , , , ]

Here's something I've been wondering about for ages. When I'm programming, I find worrying about the types of variables to be generally unhelpful, and being forced to think about such things by the compiler is downright irritating. Yet when I'm doing mathematics, I think type-centrically all the time. The two activities are strongly connected in my mind, so it's surprising to me that there's this difference.

Here are some theories I've been kicking around )

By the way, remember a while ago when I was musing on the possibility of static duck-typed languages? Well, it seems that Scala is one :-)
link14 comments|post comment

Job app update [Jan. 14th, 2008|01:18 pm]
[Tags|, ]

... I didn't get the Dalhousie job. "Many highly qualified applicants, only able to forward two to the final round, please apply next year." Bah. I'll email them back and ask what I could have done better.

My supervisor was as surprised as I was about the "research proposals shouldn't be about your proposed research" fiasco, incidentally. And his most recent research proposal is used as an example of how to do it right by the body which awarded his grant :-(

Edit: they've replied already! There were 14 applicants for two slots, several of whom already had substantial publication records. Ah well, Canada's not going anywhere.
link12 comments|post comment

Update [Dec. 28th, 2007|11:45 am]
[Tags|, , , , , , , , ]

I got the job application in, finally: here's the revised (or rather, totally re-written) research proposal, and here's the summary for laymen. You will notice the point where I thought "Speculative? Ha! I'll show you speculative!" I'd really appreciate feedback, especially on the one-page summary: the two or three formulae in there should be helpful to some, but can safely be ignored if they make your eyes glaze over. The proposal got mailed off at about 5am on Wednesday morning: I then went to bed for a couple of hours before getting up to catch the bus down to Sheffield at 9.15. We missed the bus, but we were only round the block from the railway station, so we caught the train as far as Edinburgh and joined our bus there. The train journey gave me time to write most of the one-page summary: just as well, really, as I found it impossible to type on the bus.

Panto! )

Monads! )

Then [info]wormwood_pearl and I got on our respective trains, she back to Glasgow and I on to Oxford, to see our respective families for Christmas. Christmas chez Vlak has been pretty good, though marred by the need to put up endless amounts of flat-pack furniture: my Dad is building a new workshop, and needs cupboards and drawers and so on to put his stuff in. Now, I'm no great craftsman, but I'm not a complete incompetent: but these units have been a total nightmare. The instructions are unclear and barely-legible, everything's bizarrely sized so measurement is that little bit harder (the door handles are 12.8 cm from centre-hole to centre-hole - or 5 and a sixteenth inches, if you prefer), I'm 99% certain they've replaced a small but crucial bit with a new design that invalidates the bundled instructions, and no matter how paranoid I am, no matter how careful I am to measure everything three times and clamp everything as tightly as I can and drill everything as straight as I can, nothing ever fits right the first time. A single drawer unit took us nearly three hours to assemble the other day.

Other than that, Christmas has been pretty good. It's always nice to see my family, and I managed to meet up with [info]mrkgnao and [info]necaris the other day. My last-minute Christmas presents to the parents* seem to have been appreciated (as were theirs to me - yay for books, head-torches and Hustle on DVD!). And now [info]wormwood_pearl has arrived down South, so we can spend New Year together :-)

In entirely unrelated, but sad news, Oscar Peterson, arguably the greatest jazz pianist of all time - screw that, arguably the greatest pianist of any kind of all time - died a few days ago, at the age of 82. If you don't know his work, you really owe it to yourself to check it out. Start with his recording of Porgy and Bess, which completely transformed my understanding of the piece, but frankly it's all good.

* Literally last-minute: they were about to close Blackwell's on Christmas Eve as I bought them. Fortunately, they were also marking everything down to half-price rather than £2 or £3 off :-)
link10 comments|post comment

Aaargh! [Dec. 19th, 2007|08:14 pm]
[Tags|, , , , , ]

An email from the people to whom I applied:
I missed the point entirely, it seems :-( )
I wouldn't mind so much if they'd asked for a "Personal Statement" or something - to me, the term "Research Proposal" suggests that it should mainly be about the research that you propose to undertake. But apparently not. I've got until, er, tomorrow to submit another one :-(

In other news, hearken ye programmers unto Steve Yegge's latest drunken blog rant. I've been having similar thoughts myself, related to Bad Things that have happened to me with big codebases: it's a large part of why I'm so interested in the APL family*. But I'd like to stick my neck out and say that the way Steve feels about Java is the way I feel about Haskell.

* I note in passing that that page comes up first in a Google search for "APL lesson" - epic win!
link13 comments|post comment

navigation
[ viewing | most recent entries ]
[ go | earlier ]