*just watched mean girls*
I’ve decided that I like that brand of teen chick flick. Anything with Girl Punk is made of w00t.
Tomorrow I will get back to work on my project.
*just watched mean girls*
I’ve decided that I like that brand of teen chick flick. Anything with Girl Punk is made of w00t.
Tomorrow I will get back to work on my project.
I’ll do this in roughly reverse chronological order, for want of a better way:
I found out yesterday that I got a 2:2. This is very frustrating, though it puts me in good company. Thinking back, I guess there are enough exams that were probably worth a 2:2 or worse and where I should have been getting a first (Data Transmission, Signal and Pattern Processing, silly bits on Software) and our group project was really dreadful (though Dave Forster managed a 2:1, so it can’t have been that bad). At the end of the day, I knew that I wasn’t getting the first that I was predicted by many, but I didn’t let myself think I’d done *that* badly. A mark breakdown would be interesting to look at.
I’d like to think that I’m worth more (to a company) than a 2:2, but if I can’t perform well in exams, and I can’t do projects, then I have no justification for saying that I am: No matter what my supervisors might think.
My 4th year project is looking very exciting. I’m doubtless boring most of my friends horribly about it, but such is life. Right now, I’m getting very frustrated by the Engineering library because they require a signature or email from your supervisor before they let you take a book out over the holidays. This makes my life hard because my official supervisor is never around the department, and I’m not allowed to use the email from my de facto supervisor that recommended the book in the first place. The problem is made worse because everyone is really busy during may week going to functions etc. What they really need is to allow either your supervisor or your DoS, because I’ve seen Digby loads of times this week.
John’s may ball was good. Interestingly, Hughes Hall was probably a better performance/lesson, even though we only really seemed to care about John’s. Performing has to be the best way to do a may ball, because:
1) It costs you £30 rather than £130.
2) You have all of your troupe there to hang around with, which is a bigger group than you would tend to get from within college.
3) Performance outfits are often more comfortable than ball dresses/shoes (for girls)
4) You have green-room areas to go back to, where you can store more clothes for if you get cold (the girls ended up in jeans and leather jackets etc. by the end).
DJing on Monday was kinda horrible, because I didn’t know my music collection well enough, and it wasn’t an especially big collection (2GB on an SD card). On the other hand, I now know that everyone can shut up and stop trying to get me to play stuff at less than 120bpm for charleston-derived stuff. I also recognise that it would be sensible to buy a usb sound card, so I can preview tracks before I play them. Alternatively, I could just get a shift-on with my project, so I can just cluster my collection, and work from that. Also, if anyone can tell me how to fix my eeepc so that it stops trying to mount my SD card repeatedly, and it keeps the mount point there after I eject, so amarok doesn’t get confused: that would be nice.
Some of you might be familiar with python (or haskell, or erlang or …)’s map, filter, and reduce functions. You may also be familiar with lambda expressions, and think that they’re really ugly (especially in python)
If so, check this out (genuine input and output lines from ipython)
In [358]: filter(var==2, [1,2,3,4,5,4,3,2,1])
Out[358]: [2, 2]
In [360]: filter(var>=2, [1,2,3,4,5,4,3,2,1])
Out[361]: [2, 3, 4, 5, 4, 3, 2]
In [363]: filter(var>2, [1,2,3,4,5,4,3,2,1])
Out[362]: [3, 4, 5, 4, 3]
So how did I do it? Well if I could get it to indent correctly then it might look like this:
class Placeholder(object):
def __lt__(self, other):
def match(arg):
return arg < other
return match
def __ge__(self, other):
def match(arg):
return arg >= other
return match
def __le__(self, other):
def match(arg):
return arg <= other
return match
def __eq__(self, other):
def match(arg):
return arg == other
return match
var=Placeholder()
Now, I *think* this should generalise to map as well, for things like
map(var*5, [1,2,3,4,5,6,5,4,3,2,1] )
just implement __mul__ and friends. Annoyingly, there is also an __rmul__ function, so you don’t know which will be called. Also, don’t let python try to use __cmp__, because it actually checks the type of its return value (so you can’t return a curried function)
Okay, that’s enough g33k for tonight.
[edit: fixed lessthan and greaterthan signs]
Alex pointed me at http://en.wikipedia.org/wiki/Peer_Name_Resolution_Protocol, saying it was confusing him. I’m not surprised: It appears to be made of epic lolz (as you might expect from redmond)
From what I’ve gathered, it’s basically a patented, “secure” version of zeroconf, for use in p2p applications. “Features” include:
a) public key “secured” name resolution, of the form hash(key):name.
b) IPv6 only.
c) Can be extended to the internetz at large, using a known server (provided exclusively by MS).
Now correct me if I’m wrong, but surely 1 is not possible in a P2P system? Here’s my thinking:
1) The client must have before-hand knowledge of the public key.
2) The server must have knowledge of the private key.
3) All nodes in a P2P network are both clients and servers.
4) For commercially installable software, the client machine cannot be trusted.
5) 2, 3 imply that all copies of the software include the “private” key.
6) 4, 5 imply that the private key cannot be trusted
lolz on line 6.
So a) is not valid for the target market (to be honest: why the hell would you want security at the dns level anyway? Surely that’s what SASL crap and SSL are for?)
b) is probably about the only thing I’ve found that you need IP6 for.
c) makes it a bit like standard DNS then, I guess… except without the whole “dhcp support” or “interoperable implementations”, or any of the things you might want to help you avoid painful configuration issues.
I don’t need to talk about the blues dancing workshop, because a) it was obviously going to be amazing and b) rob has already blogged about it: http://www.srcf.ucam.org/~rec53/wp/archives/161
The other important event of the weekend was that my mum and dad came up. They have a van, which is a complete tax dodge, but nevermind. This means that I will have no trouble getting my stuffs back home in the holidays. They also brought my eeepc.
Now the eeepc does live up to its name: it’s very [squ]eee and quite [w]eee. There are a few little gems about it: the charger is like an oversized phone charger, for example, and there’s a light on the webcam that tells you when it’s being used. The user manual is pretty priceless. Version E3509, which I found and mirrored here: http://www.srcf.ucam.org/~dl325/scratch/e3509_15G06Q001001.pdf
gems include:
“The solid-state disk drive’s head retracts when the power is turned OFF to prevent scratching of the solid-state disk drive surface during transportation” — 1-5
The finger in 1-7 pointing to the power button
Section 5 contains some really useful hints for optimising windows XP for low disk usage. It seems that you can get windows (without office obv, and no backup partition) into about 2GB. The Xandros they have installed contains a complete recovery partition and OOo, Konq and Firefox, Kontact and Thunderbird, and webcam utilities etc. and leaves you with ~ a gig (can’t remember, and I need to run: will add the real number later.)
The only peeves I have are the windows-like “single user, who’s able to do pretty much everything” feel, and the large quantities of bespoke that have been piled on (you can’t set konq to do tabbed browsing, for example, and they’ve renamed *everything* apart from firefox) Also, it took Tom K to show me where the ~ was, after 5 minutes of my complaining.
So yeah: might be installing xubuntu if anyone can lend me a decent sized usb stick or remind me where my old 1GB SD card went. kthxbi
These terms do not just apply to romantic love: they also apply to my friends, and to my academic interests:
Do not expect my love without reason. I will love you for the reasons that you present to me in the form of your strengths.
Do not let me believe that I can be loved without reason: If I cannot strive to earn your love, I cannot love you.
Do not believe that I am bound to you love you just because I have loved you in the past.
Do not expect me to tell you that I love you if I don’t. If I am unsure, I will tell you that I don’t .
If you wish to meet me on these terms, I will meet you on these terms. If you wish to be met on any other terms, state them and they will be considered. I will attempt to keep a revised list of my terms up on my wiki.
*doesn’t know why he bothers with titles, when they contain nothing that’s not in the tags*
This is the feedback I got from IBM:
Your strongest exercise was your “Standard Interview”. You provided sound
examples of your drive and leadership, not only in technological
situations but also in your other interests. You clearly highlighted your
interest in developing your technical skills and proved yourself to hold a
great passion for technology.
That’s interesting, because I thought that went horribly. Seems they were trying to work out what I was good at here.
Your weakest exercise was the “Communications” exercise. It was felt that,
in both your letter and your presentation, you could have delivered your
answers in a more clear and concise fashion.
That’s not surprising: I didn’t have the first clue what they were wanting from me there. If I’ve not posted about that exercise already, poke me already.
Your strongest competency was your “analytical reasoning”. You displayed a
very logical approach to problem solving and a clear ability to cope with
complex issues. You analysed scenarios well and constructed logical
responses based on sound ideas.
Yeah: that was probably because of my efficient data structures that helped us infer our only correct piece of information, and my failed attempt at using algebra to solve a “5 people sitting on chairs” problem.
Your weakest competency was your “planning and organisation”. It was felt
that your presentation did not address the question in hand, which would
have been resolved with clear planning of the task.
Now that’s fucking annoying: I thought they were trying to work out what I was good at with this one, so I showcased a load of my projects, and hoped they would explain “Why am I suited to a career in Information Technology”. Seems they wanted me to spell it out to them. Oh well. I guess I’ll just have to learn how to jump through hoops better.
In other news, it seems that there is a permalink button on OpenStreetMap. If you click it, then change the lat and lon to mlat and mlon, you get a marker. It may be primitive, but I will certainly be using it for all linkerizing in the future: it’s much more convenient than adding points to http://www.cam.ac.uk/map/ , and hilariously more detailed than Google Maps.
If you wish to compare:
http://www.openstreetmap.org/?mlat=52.20114&mlon=0.1175&zoom=16&layers=B0FT
and
Also, There’s rumours of being able to embed it as well. I’ll see if I can get that working shortly.
In Body related news, I think my back is strengthening up again. Mostly because I’ve been doing lots of dancing. I expect that by the end of LLX, I’ll be up for aerials and whatnot.
I had a private lesson with Gerald yesterday. We did a lot of body control and posture stuff, which was good for me. It took a lot of time to get started, because my posture is really quite bad. I’m not sure whether we genuinely fixed it, or whether it was a case of “That’s as good as it’s going to get. Let’s move on.” The idea of splitting your body into two sections and controlling them separately is useful. It lets you be aware of where they both are makes it easier to notice when you break your core, and feed back this information to correct it next time. Everything else we did really stems from there.
In my understanding, it seems that when you’re dancing basics, there are 3 things that you should be monitoring: your chest section, your pelvis section, and your partner’s chest section. Once you can be sure that you’re controlling your own sections, you should notice when one of them is not where you want it, and feedback (subtly) on the next basic, to correct.
The really intriguing part of the lesson was the end: When we were finishing off, I was quite quick to say “I have my cheque book”, which was a little “I have just bought that time and knowledge off you” of me. His response was difficult to interpret: He was very reluctant to take money in payment. Now I initially thought that this was because he didn’t want to take money from a student, but I’m not so sure: He asked me if I could teach *him* anything that would be interesting to him, so that it could be a knowledge exchange. When I eventually managed to force some money on him, I felt like it wasn’t nearly as much as the lesson was worth to me.
The exchange showed me that we seem to share a few important ideas: “Knowledge is worth more than money, so any exchange involving money will always be unfair.” Also: “It’s better to come off worse in a deal. That way, the other party will always feel the need to repay the debt.” The thing I *didn’t* realise was that he did a PhD in computer vision and augmented reality (this came out when I was trying to think of things I could teach him). Not only that, but he did a couple of years in industry before doing it. Now I was planning to do about 4 years in industry before going for a PhD, but I can see why it might be a good idea to do it after 2. I think I have even more respect for him now.
So we come to the problem of “What can you teach a man who has spent N more years exploring the same stuff you’re interested in?”
The only thing that I’ve thought of so far is that I might be able to teach him some linux crap: He knows C/C++, but uses windows XP on his laptop. He doesn’t use java or C#, so he’s unlikely to be locked in by the same stuff that Alex is screwed by. It might be that he already uses it, but needs windows for iTunes, or it might be that he simply doesn’t use it (for whatever reason).
In the first case, I could show him around Amarok, and tailor my moodbar project to him (he has trouble picking songs that have the right tempo, and he said that it would be useful). In the second case, I could probably tweak a distro for him, and show him around. I expect it would be OpenSuse, or Hardy with instructions to just do security updates, because Ubuntu’s upgrade process has fucked up too many of my friends’ installs.
In other news, I found a way to get around my problem of having no access to external servers on which to play teeworlds: Set up my own on soup.linux.pwf.cam.ac.uk :D. If anyone fancies a game: prod me, and I’ll fire it up again. Because it registers itself on the internet, you get lots of random players joining, which is cool. I might see if I can mod the server to gather some statistics. See if I can train a bot or something. That way, if attacks me for running an IP server on PWF, I can say that it’s a research project, relevant to my course.