The weekly reports have been dead for a while. Reason? The blog has been dead for a while.
The old computer running this website had some problem all of a sudden about 3 weeks ago. These problems appeared as a complete lockdown of the system – no response to anything. So my brother – with me on the other side of a telephone, tried to reboot the box; but couldn’t get it back up online again. He was headed out to a LARP anyway within hours – and so couldn’t really do much more about it.
End result? I joined forces with a good friend of mine; we split hardware costs for a slick new box – an Asus barebone box with a 64bit processor and a gig of RAM. It received the harddrive and network interface from the old box, and was with that good to go – only .. processor architecture changed; and so for optimal performance, it’d be a nice idea to actually use a new system install that took advantage of the extra available bitwidth.
A completely failed OpenBSD installation later, we settled for Gentoo – which now is humming along nicely. It even turned out to be surprisingly easy to restore the old data on the new box.
There. I won’t blather more about my hardware woes – but instead poke about other themes for a while.
Party party party
My students here for the course rock. The REALLY rock. We had the course evaluations a couple of weeks ago – and apparently my exercise sessions has been gooooood. At least the students thought so. I average in the upper fifth of possible ratings in every single evaluation area. All of them. I kick ass, yo!
Compared – both to the faculty mean, and to the workgroup results – I outperform in all evaluated areas.
And, in addition to this cause for celebration, the end of the school term (last week) comes with all manners of parties, celebrations, meets, and activities. I think I had my first non-planned evening in about 2-3 weeks yesterday.
Summer in the city
The Jena climate, though, leaves a bit to wish for. I sincerely long to get back to Sweden during the hottest summer weeks we have up there, in order for me to cool down a bit. We have had 25°+ since beginning of June (i.e. about 2 months of active time with weekly lectures, seminars and exercise classes – in tropical bloody heat); and the last about 2 weeks or so, the temperatures have been in the upper 30°ies.
Horrible. Horrible, I tell you.
And of course, this heatwave has coincided with the World Cup, the Thüringertage and several other huge parties that cover the town in DJ booths on the streets and drunk germans shouting on the streets at 3am.
This wouldn’t have had to be a problem, if it wasn’t for the fact that the main bar street begins at my front door. And the heat forces me to keep as many windows open as ever possible, lest I boil away in the night.
The wild swinging of the PhD topic
As I begun here, I was told that since the people here don’t know much about A∞-algebras, operads, props and similar topics, so it’d be best if I shelf it and keep it a hobby. My advisor hesitated on suggesting one possible and highly computational theme since he couldn’t see any applications of it later on; no directions for further research. And so I studied group cohomology in order to at least try and understand what’s going on. (I’m getting there – by and by…) Then my advisor went to Oberwolfach for a week. Upon returning, A∞-stuff is hot, operads seem related, the computational theme is worthy of serious consideration and I should consider whether I really want to commit that deeply to the original ring-theoretic ideas.
So … right now I know even less of what I’m going to do for my PhD than a month ago. On the other hand, one of the leads would amount to my programming for about half a year, and then publishing a paper about that and start using that program to gain intuition for results to put into the PhD. This might be a good direction to go.
The constant distractions
I’ve started looking at Haskell. I -like- it. It’s a language where I’m capable of hacking together an efficient algorithm for enumerating subsets just by thinking through what a subset is. How did you do it, you may ask, whereupon I answer: Recursion.
Consider a total ordering of your finite set. Pick the first element. For each subset, either this element is there, or it’s not. So if we take all subsets of the rest, and throw in once with and once without this particular element, we get what we want.
Now, just translate this to actual code – and the result is
subsets  = [] – it sends the empty list to the list of the empty list
subsets (x:xs) = map (x:) w ++ w where w = subsets xs – see the discussion above
Useful for parsing this is to know that : is the cons operator, and ++ concatenates lists. map applies the given function to all elements of the following list; and where lets you define local variables postfixedly.
A shoutout to sigfpe for piqueing my interest in these things enough to try and make sense of the language. Without his category theory heavy posts on Haskell, I wouldn’t have looked into it.