Take 2
Wed, 18 Jun 2008 21:36 – No comments
- Why is there a pile of stuck together sticky tape on a plate on the coffee table?
- What? There is? Oh... oh, that's weird, I don't know, someone must have left it there.
- Well, it wasn't me.
- Of course not. You're too fat to scale a wall.
- What? There is? Oh... oh, that's weird, I don't know, someone must have left it there.
- Well, it wasn't me.
- Of course not. You're too fat to scale a wall.
No, it's not supposed to make sense
Sat, 14 Jun 2008 22:31 – No comments
- Why is there a pile of stuck together sticky tape on a plate on the coffee table?
- What kind of question is that? You might as well ask why the forest is full of razors, why chickens swim, or how come the moon is so full of itself.
- Touché.
- What kind of question is that? You might as well ask why the forest is full of razors, why chickens swim, or how come the moon is so full of itself.
- Touché.
And things beyond currying to bind them
Fri, 13 Jun 2008 19:33 – No comments
Let's talk a bit about boost::bind.
Well, maybe first I should say that I've not used boost::bind very much. I've just used it a little. Today I've used it some more, but I'm still on the not used very much status. So all of this might be wrong, or I might be too ignorant to know something important about it. But this is how things appeared to me today.
boost::bind basically takes some kind of functor and then let's you attach values to its arguments. That's probably what everyone sees at first, and then they go 'Oh, it's currying,' and moves on and uses boost::bind as if it were just currying (except, I guess, for how it handles unassigned arguments with _1 etc).
At least until one day, when they'll notice that boost::bind tries to be clever. It's not currying. Currying is a simple process and there's nothing really clever behind the scenes that does something it thinks clever. Don't get me wrong, currying is very clever, but all of the cleverness lies in the basic, obvious, simple principle.
So what's this with boost::bind, you say? boost::bind thinks that an argument that is a boost::bind object should be handled specially. It handles it like function composition. Like the documentation says:
Well, first I would like to say that few who just read a little and figured that boost::bind is basically just currying would have read or guessed that. Not until being bitten by it. Then I would like to say that maybe in that specific example there's some kind of sense in this behaviour. But in general sense, it's just confusing. If I bind a boost::bind object to a function argument, I would probably want the actual object to be bound as the argument. Not to have it magically called in Happy Fun Boost Dream Land.
'But,' you say, 'in that example binding an object as an argument wouldn't make sense. As we clearly call it in the end with just one argument, nothing else would make sense.' That's because that example was produced to match the behaviour. Duh!
In an other little corner of the boost libraries, there's boost::lambda. boost::lambda realizes that there are problems with this behaviour. It gives examples, too. It has a fix for the examples. Unfortunately, both the examples and solution fails to consider all cases and ends up not solving all of them. Want their example and fix loosely quoted?
With the boost::lambda's unlambda, it is solved with:
Ugly? Kind of. But what's the case that wasn't solved? I'm too tired to figure out the minimal case, but I wrote something like this:
Which didn't work. So I ended up finding out about the function composition, then I tried to use unlambda on stuff, which didn't help. I don't know exactly why it didn't help. Maybe it is a bug, or it just didn't work with the underlying stuff. I haven't looked that closely into things.
Anyway, by now you probably have figured out a much better fix for this long ago. I mean, if you think about it, it's fairly easy. You can just bind pointers to boost::bind objects/functors instead. And it works. Until you try it with a boost::lambda functor.
boost::lambda tries to be clever. It really has to, considering how the whole thing is built and what it does. I don't know the specific details on this specific cleverness of it, but if you use the address operator (&) on such a functor, you don't get a pointer to functor. You get the functor (or a copy, don't know exactly, didn't care enough to find out).
OK, I'm tired now, rant off. So... I heard the other day it's 2008. Which is kind of funny when you think about it.
Well, maybe first I should say that I've not used boost::bind very much. I've just used it a little. Today I've used it some more, but I'm still on the not used very much status. So all of this might be wrong, or I might be too ignorant to know something important about it. But this is how things appeared to me today.
boost::bind basically takes some kind of functor and then let's you attach values to its arguments. That's probably what everyone sees at first, and then they go 'Oh, it's currying,' and moves on and uses boost::bind as if it were just currying (except, I guess, for how it handles unassigned arguments with _1 etc).
At least until one day, when they'll notice that boost::bind tries to be clever. It's not currying. Currying is a simple process and there's nothing really clever behind the scenes that does something it thinks clever. Don't get me wrong, currying is very clever, but all of the cleverness lies in the basic, obvious, simple principle.
So what's this with boost::bind, you say? boost::bind thinks that an argument that is a boost::bind object should be handled specially. It handles it like function composition. Like the documentation says:
bind(f, bind(g, _1))(x); // f(g(x))
Well, first I would like to say that few who just read a little and figured that boost::bind is basically just currying would have read or guessed that. Not until being bitten by it. Then I would like to say that maybe in that specific example there's some kind of sense in this behaviour. But in general sense, it's just confusing. If I bind a boost::bind object to a function argument, I would probably want the actual object to be bound as the argument. Not to have it magically called in Happy Fun Boost Dream Land.
'But,' you say, 'in that example binding an object as an argument wouldn't make sense. As we clearly call it in the end with just one argument, nothing else would make sense.' That's because that example was produced to match the behaviour. Duh!
In an other little corner of the boost libraries, there's boost::lambda. boost::lambda realizes that there are problems with this behaviour. It gives examples, too. It has a fix for the examples. Unfortunately, both the examples and solution fails to consider all cases and ends up not solving all of them. Want their example and fix loosely quoted?
template <class F> int nested(const F& f)
{
int x;
bind(f, _1)(x);
}
int foo(int);
int bar(int, int);
nested(&foo); // works as intended, yay!
nested(bind(bar, 1, _1)); // fail
{
int x;
bind(f, _1)(x);
}
int foo(int);
int bar(int, int);
nested(&foo); // works as intended, yay!
nested(bind(bar, 1, _1)); // fail
With the boost::lambda's unlambda, it is solved with:
template <class F> int nested(const F& f)
{
int x;
bind(unlambda(f), _1)(x);
}
{
int x;
bind(unlambda(f), _1)(x);
}
Ugly? Kind of. But what's the case that wasn't solved? I'm too tired to figure out the minimal case, but I wrote something like this:
// Disclaimer: I don't have boost installed on this computer and haven't
// actually tried this particular code, so it might be bad. And I don't
// have a spell checker installed either.
template <class F> void traverse(region some_region, F traverse_func)
{
foreach (point p, some_region)
traverse_func(p.x, p.y);
}
template <class F>
void blend_point(buffer& dst, buffer src, int x, int y, F alpha_func)
{
dst(x, y) = lerp(dst(x, y), src(x, y), alpha_func(x, y));
}
template <class F>
void blend(buffer& dst, buffer src, region some_region, F alpha_func)
{
traverse(some_region, bind(blend_point, dst, src, _1, _2, alpha_func));
}
// then a few different blends
blend(dst, src1, some_region, _1 / constant((float) w));
blend(dst, src2, some_region, _2 / constant((float) h));
// etc ..., some with bind instead of lambda
// actually tried this particular code, so it might be bad. And I don't
// have a spell checker installed either.
template <class F> void traverse(region some_region, F traverse_func)
{
foreach (point p, some_region)
traverse_func(p.x, p.y);
}
template <class F>
void blend_point(buffer& dst, buffer src, int x, int y, F alpha_func)
{
dst(x, y) = lerp(dst(x, y), src(x, y), alpha_func(x, y));
}
template <class F>
void blend(buffer& dst, buffer src, region some_region, F alpha_func)
{
traverse(some_region, bind(blend_point, dst, src, _1, _2, alpha_func));
}
// then a few different blends
blend(dst, src1, some_region, _1 / constant((float) w));
blend(dst, src2, some_region, _2 / constant((float) h));
// etc ..., some with bind instead of lambda
Which didn't work. So I ended up finding out about the function composition, then I tried to use unlambda on stuff, which didn't help. I don't know exactly why it didn't help. Maybe it is a bug, or it just didn't work with the underlying stuff. I haven't looked that closely into things.
Anyway, by now you probably have figured out a much better fix for this long ago. I mean, if you think about it, it's fairly easy. You can just bind pointers to boost::bind objects/functors instead. And it works. Until you try it with a boost::lambda functor.
boost::lambda tries to be clever. It really has to, considering how the whole thing is built and what it does. I don't know the specific details on this specific cleverness of it, but if you use the address operator (&) on such a functor, you don't get a pointer to functor. You get the functor (or a copy, don't know exactly, didn't care enough to find out).
OK, I'm tired now, rant off. So... I heard the other day it's 2008. Which is kind of funny when you think about it.
Intermission with politics, sorry
Wed, 11 Jun 2008 19:01 – No comments
Warning, the following post contains politics.
With just 6 days left before the Swedish Parliament decides on total surveillance of all Internet/tele data passing Swedish borders, all Swedes should do some reading. And if you voted on 'Alliansen', maybe you should send a mail to your politician?
With just 6 days left before the Swedish Parliament decides on total surveillance of all Internet/tele data passing Swedish borders, all Swedes should do some reading. And if you voted on 'Alliansen', maybe you should send a mail to your politician?
Kekekekekekeke
Fri, 6 Jun 2008 14:08 – 4 comments
I has examination certificate. I has Master of Science degree.
Requirements were fulfilled March 19, when I was 24 years and 1 day. Would have been cooler had it matched up exactly at 24 years or just under.
Requirements were fulfilled March 19, when I was 24 years and 1 day. Would have been cooler had it matched up exactly at 24 years or just under.
The perks of still almost being a student...
Sun, 1 Jun 2008 20:23 – No comments
My first work week has gone past. And it did so really fast. I don't know exactly how much I can tell you about it yet. Well, legally I can say anything, because even though I'm supposed to sign an NDA at some point, I haven't done so yet. Still, it might not be appreciated if I say too much. Anyway, I can probably tell you I'm working as a system developer (read programmer for now) at MindArk with the Entropia Universe and CryEngine2. So far it's been good. (Note: The weird ramblings here are not and will never be affiliated with (or at least supported by or reflecting the view of) any of the mentioned companies or products. Like if you didn't realize that).
Today I moved into an apartment with a second hand contract. It's just a few hundreds meters from Chalmers University of Technology, where I used to study. I haven't got a decent computer moved to the apartment yet, and haven't got the Internet access to work yet. Oh woe? Oh no! Because I still have access to Chalmers, I can just use the computers there. I guess I will have access there until I have really formal graduation or something. Not sure when it ends. But until it does it's great.
And I still have student rebates until like August, too. Which means cheaper stuff. Which is fairly good, too. But when actually getting money from a job, it doesn't matter that much (I will be getting more than twice as much money now as I got as a student).
Yeah, there was something else I was going to say but I forgot it. Something that wasn't bragging. Something that would give this post class and style and make it worthwhile and good and so on. But now it's not going to happen. Don't you just feel the sadness filling you by it? I'm terribly sorry about that.
Today I moved into an apartment with a second hand contract. It's just a few hundreds meters from Chalmers University of Technology, where I used to study. I haven't got a decent computer moved to the apartment yet, and haven't got the Internet access to work yet. Oh woe? Oh no! Because I still have access to Chalmers, I can just use the computers there. I guess I will have access there until I have really formal graduation or something. Not sure when it ends. But until it does it's great.
And I still have student rebates until like August, too. Which means cheaper stuff. Which is fairly good, too. But when actually getting money from a job, it doesn't matter that much (I will be getting more than twice as much money now as I got as a student).
Yeah, there was something else I was going to say but I forgot it. Something that wasn't bragging. Something that would give this post class and style and make it worthwhile and good and so on. But now it's not going to happen. Don't you just feel the sadness filling you by it? I'm terribly sorry about that.
I have been quiet. Things are up
Fri, 23 May 2008 23:25 – 2 comments
Hello there. Things have been quiet here lately, but you've probably all enjoyed the silence.
I have been busy doing some stuff. I got a job starting Monday. I've got an apartment from June (for three months). The week before June I'll be staying with some very kind relatives. So things are pretty much sorted out. Sorting it out is one of the things I've been busy with. Another thing was worrying about stuff.
Well, I've done some other stuff too. There's been walking (I could post a lot of photos, but I don't want to bore you any more than I'm already doing). The weekend before last I wrote a simple Lisp interpreter to learn Lisp (I didn't have anything worthwhile to write in Lisp to learn it, so I figured I'd go for an interpreter instead). Yesterday I learned (tried to?) the basics of Direct3D 9 (I've mostly used OpenGL, if you remember any earlier posts, but the theory is basically the same). Haven't actually done any Windows programming in a few years, so was a bit scary to be back with the ugliness of Hungarian notation and so. Probably prettier in .NET.
Yeah. Hopefully I can write an amusing post some day. No promises, though!
I have been busy doing some stuff. I got a job starting Monday. I've got an apartment from June (for three months). The week before June I'll be staying with some very kind relatives. So things are pretty much sorted out. Sorting it out is one of the things I've been busy with. Another thing was worrying about stuff.
Well, I've done some other stuff too. There's been walking (I could post a lot of photos, but I don't want to bore you any more than I'm already doing). The weekend before last I wrote a simple Lisp interpreter to learn Lisp (I didn't have anything worthwhile to write in Lisp to learn it, so I figured I'd go for an interpreter instead). Yesterday I learned (tried to?) the basics of Direct3D 9 (I've mostly used OpenGL, if you remember any earlier posts, but the theory is basically the same). Haven't actually done any Windows programming in a few years, so was a bit scary to be back with the ugliness of Hungarian notation and so. Probably prettier in .NET.
Yeah. Hopefully I can write an amusing post some day. No promises, though!
LD11 Results and post-48h of Col-4
Mon, 5 May 2008 11:34 – No comments
The results from LD11 are in. As I was expecting, Col-4 didn't fare very well. But at least I placed second in food!
Also, I've done a post-48h version of Col-4 (visit link for more info). It was really done the days just after the compo, I just haven't written about it here until now. Here follows compulsory screenshot and download link:

Download source and Windows binary
Also, I've done a post-48h version of Col-4 (visit link for more info). It was really done the days just after the compo, I just haven't written about it here until now. Here follows compulsory screenshot and download link:

Download source and Windows binary
,withexcelent colours and beatiful sharpes
Fri, 25 Apr 2008 13:12 – 1 comment
The eraser in the image below is an excellent product. It works really well: erases things easily and leaves the paper fine, and for some reason it also smells like candy. So it's very pleasant to work with. But there's just something about it that leaves you wondering things.

Like, how exactly would excellent colours and beautiful shapes play into things? Assuming that is what it's supposed to say. There's really no colours involved. Or shapes.
And why could not a tiny bit of time be spent on actually spelling it correctly? I mean, really? It'd take less than minutes to just look it up on the web. And then it'd be correct on all printings. And we can assume that they printed quite a lot, else it would be too expensive. So the actual cost of spelling this correctly per printed thing must be very, very, very low.
Or they could have spent a little time on not including " ,withexcelent colours and beatiful sharpes" at all. But I guess that would leave a blank area. Yeah, that is much worse than half a sentence that doesn't make sense and is misspelled.

Like, how exactly would excellent colours and beautiful shapes play into things? Assuming that is what it's supposed to say. There's really no colours involved. Or shapes.
And why could not a tiny bit of time be spent on actually spelling it correctly? I mean, really? It'd take less than minutes to just look it up on the web. And then it'd be correct on all printings. And we can assume that they printed quite a lot, else it would be too expensive. So the actual cost of spelling this correctly per printed thing must be very, very, very low.
Or they could have spent a little time on not including " ,withexcelent colours and beatiful sharpes" at all. But I guess that would leave a blank area. Yeah, that is much worse than half a sentence that doesn't make sense and is misspelled.
LD48 #11 Minimalist - Col-4
Tue, 22 Apr 2008 21:29 – No comments
Ho there. This weekend the eleventh Ludum Dare 48h compo took place. The theme turned out being 'Minimalist' which I had a bit of a problem with. Didn't come up with any good/fun ideas, so didn't do anything the whole Saturday.
On Sunday, though, I got working on a weird version of Columns, called Col-4. The change was pretty much that one had four upper parts of the playing field, and it could be changed which one to played with. This didn't turn out to be very interesting, it's just like a bit of extra space to use while dying.

You can get the game and source for Windows. A bit more info is available at its entry in the LD blog.
On Sunday, though, I got working on a weird version of Columns, called Col-4. The change was pretty much that one had four upper parts of the playing field, and it could be changed which one to played with. This didn't turn out to be very interesting, it's just like a bit of extra space to use while dying.

You can get the game and source for Windows. A bit more info is available at its entry in the LD blog.
And so it really is over, in all likeliness
Mon, 21 Apr 2008 14:20 – No comments
Got the preliminary examination response on my degree application today, and it says everything's fulfilled. Yay! It's what I expected, of course (otherwise I wouldn't have sent it in), but good news anyway.
Comments
Sat, 19 Apr 2008 22:04 – 3 comments
Hello there. The next steps in the slog improvement plan has been performed. There's now permalinks and support for comments. Things worked well in testing, and hopefully things will continue to work well. Happy commenting.
Oh, and I (of course) reserve the right to delete any comments that are spamish or strongly offensive.
Oh, and I (of course) reserve the right to delete any comments that are spamish or strongly offensive.
New look
Thu, 10 Apr 2008 22:24 – No comments
As you can see, the visual look of Mr Slog has been improved. It's the second step in its overall improvement plan. The first was moving to SQLite, as described earlier. The third will probably be permalinks. Or comments, or both.
University done
Tue, 8 Apr 2008 13:36 – No comments
Everything is done. Thesis is reported in as passed. Application for getting degree is sent. Now it's just to wait a little, hopefully, and a fancy paper saying how much time I've wasted will arrive.
SQLite Inside
Tue, 1 Apr 2008 22:25 – No comments
While there's no visible hints of it, this log now uses SQLite for storing entries and so. This makes it much easier to add lots of different stuff, only I haven't. Previously I just used a simple text file. Except for improving the log code, the intention was to learn SQL, which I have put off for an unnecessarily long time.
I've also added the formatter from my Thesis work log, so now I don't have to write using HTML tags, and can also use my code formatter:
I could really change to Markdown instead (or too), but that's for another other day. As is many other changes, such as adding comment support, and real permalinks.
Oh, and there's a slight change to the RSS feed, too. While it still doesn't keep formatting of posts, at least it now give you line breaks.
I've also added the formatter from my Thesis work log, so now I don't have to write using HTML tags, and can also use my code formatter:
int main()
{
printf("Hello World!");
return 0;
}
{
printf("Hello World!");
return 0;
}
I could really change to Markdown instead (or too), but that's for another other day. As is many other changes, such as adding comment support, and real permalinks.
Oh, and there's a slight change to the RSS feed, too. While it still doesn't keep formatting of posts, at least it now give you line breaks.
Quick, like a bunny
Mon, 31 Mar 2008 22:47 – No comments
Time is moving quickly, like a bunny.
It's over two weeks since I moved. And since then, the old apartment has been cleaned, and the keys handed in. Good riddance.
I've also completed the last thing needed for getting my degree. Well... almost. I will need to fill in an application and send/hand it in when everything has been reported in as completed. But that's just a tiny bit of bureaucracy (as compared to the rest which largely was a huge amount of bureaucracy).
I've also spent a fair amount not doing anything, playing games, and overall trying to figure out what exactly I really want to do now.
It's over two weeks since I moved. And since then, the old apartment has been cleaned, and the keys handed in. Good riddance.
I've also completed the last thing needed for getting my degree. Well... almost. I will need to fill in an application and send/hand it in when everything has been reported in as completed. But that's just a tiny bit of bureaucracy (as compared to the rest which largely was a huge amount of bureaucracy).
I've also spent a fair amount not doing anything, playing games, and overall trying to figure out what exactly I really want to do now.
Arthur C. Clarke has died
Wed, 19 Mar 2008 11:39 – No comments
The Times Online reports that Science fiction author Arthur C. Clarke dies aged 90.
For those unfamiliar with who he was, go read up.
For those unfamiliar with who he was, go read up.
There's no end...
Fri, 14 Mar 2008 22:12 – No comments
...to what could be written here. And if just considering currently relevant happenings, there's like three things.
I'm going to move tomorrow, back to my parents' place. Presumably until I get a job, and then, an apartment relatively close to that job.
The last week I've mostly been packing stuff up, and also throwing things away. I must say it's by far more fun to throw things away.
Which brings me to an interesting point. It's very liberating not having much stuff. You can just go places without having to care about it. Sometimes when I think about it, I figure I can throw almost everything away.
Then if I go through old stuff, I turns out it's much more difficult than it was imagined. The difference is, when the stuff is before you, it makes you remember things, things that you didn't remember when you just thought of it as a bunch of old stuff in a box. And when you do remember whatever it is, it's no longer about throwing the thing away, it's about throwing the memory away.
Funny thing is that you never use the stuff in those boxes, and you never go look at it either. So you don't even really use them to recall things, except when trying to throw them away. And you never miss those memories when they're not recalled, because, of course, you don't really remember them actively then.
This stuff could be anything. Drawings in notebooks. Really old toys. Gifts given by someone at some point.
So what do you do? Well, for me, each time I go through old stuff, I manage to throw away some of it. Some of it doesn't really bring up any memories. But what to do about the rest, eh? Well, you can just keep storing them in boxes, taking space, and not really doing anything else. Or, you could throw them away, but after -- and this is the master plan -- you have photographed them. It's such a simple idea, it's weird I never thought about it until this week.
This does not really mean I managed to throw everything away, pretty far from it. But maybe I threw a bit more stuff away than I would otherwise have done. And I have greater plans for lots of boxes with stuff that's in storage at my parents'.
You just better hope you create reliable backups of the photos.
So, is this the only problem when trying to throw things away? No. There's some more. I can think of at least two other without making an effort. Stay tuned for a possible rant on them some other day.
In other news, I need to empty out the water collector thingy at my freezer, which is currently being shut down and de-icyfied.. which is probably not a word.
And it's also Pi Day!
I'm going to move tomorrow, back to my parents' place. Presumably until I get a job, and then, an apartment relatively close to that job.
The last week I've mostly been packing stuff up, and also throwing things away. I must say it's by far more fun to throw things away.
Which brings me to an interesting point. It's very liberating not having much stuff. You can just go places without having to care about it. Sometimes when I think about it, I figure I can throw almost everything away.
Then if I go through old stuff, I turns out it's much more difficult than it was imagined. The difference is, when the stuff is before you, it makes you remember things, things that you didn't remember when you just thought of it as a bunch of old stuff in a box. And when you do remember whatever it is, it's no longer about throwing the thing away, it's about throwing the memory away.
Funny thing is that you never use the stuff in those boxes, and you never go look at it either. So you don't even really use them to recall things, except when trying to throw them away. And you never miss those memories when they're not recalled, because, of course, you don't really remember them actively then.
This stuff could be anything. Drawings in notebooks. Really old toys. Gifts given by someone at some point.
So what do you do? Well, for me, each time I go through old stuff, I manage to throw away some of it. Some of it doesn't really bring up any memories. But what to do about the rest, eh? Well, you can just keep storing them in boxes, taking space, and not really doing anything else. Or, you could throw them away, but after -- and this is the master plan -- you have photographed them. It's such a simple idea, it's weird I never thought about it until this week.
This does not really mean I managed to throw everything away, pretty far from it. But maybe I threw a bit more stuff away than I would otherwise have done. And I have greater plans for lots of boxes with stuff that's in storage at my parents'.
You just better hope you create reliable backups of the photos.
So, is this the only problem when trying to throw things away? No. There's some more. I can think of at least two other without making an effort. Stay tuned for a possible rant on them some other day.
In other news, I need to empty out the water collector thingy at my freezer, which is currently being shut down and de-icyfied.. which is probably not a word.
And it's also Pi Day!
Short cuts, page 2
- Take 2Wed, 18 Jun 2008 21:36
- No, it's not supposed to make senseSat, 14 Jun 2008 22:31
- And things beyond currying to bind themFri, 13 Jun 2008 19:33
- Intermission with politics, sorryWed, 11 Jun 2008 19:01
- KekekekekekekeFri, 6 Jun 2008 14:08
- The perks of still almost being a student...Sun, 1 Jun 2008 20:23
- I have been quiet. Things are upFri, 23 May 2008 23:25
- LD11 Results and post-48h of Col-4Mon, 5 May 2008 11:34
- Good dayTue, 29 Apr 2008 23:31
- ,withexcelent colours and beatiful sharpesFri, 25 Apr 2008 13:12
- LD48 #11 Minimalist - Col-4Tue, 22 Apr 2008 21:29
- And so it really is over, in all likelinessMon, 21 Apr 2008 14:20
- CommentsSat, 19 Apr 2008 22:04
- I can has portfolio?Fri, 11 Apr 2008 19:13
- New lookThu, 10 Apr 2008 22:24
- University doneTue, 8 Apr 2008 13:36
- SQLite InsideTue, 1 Apr 2008 22:25
- Quick, like a bunnyMon, 31 Mar 2008 22:47
- Arthur C. Clarke has diedWed, 19 Mar 2008 11:39
- There's no end...Fri, 14 Mar 2008 22:12
previous page next page
Latest comments
Latest posts
- BaconTue, 31 Aug 2010 18:17
- I do believe it's winterThu, 31 Dec 2009 15:33
- Cave NinjaSun, 20 Sep 2009 09:02
- Eee Pc 901Sun, 12 Jul 2009 23:21
- Balcony ViewMon, 6 Jul 2009 19:26
- Recipe for MuffinsSun, 5 Jul 2009 22:51
- Locality of TravellingSat, 4 Jul 2009 23:32
- An update on existenceWed, 1 Jul 2009 22:51
- This is like a poem.Tue, 3 Feb 2009 18:44
- Mr Spider and the Search for Evolutionary PowerupsTue, 13 Jan 2009 20:45

