Friday, November 30, 2007

Reliance

Reliance on people... it is such a weakness. Some folks rely on other folks to help them in their work, while others (like me) rely on others to help keep their sanity in check. The problem with reliance, is that one can easily get lost if the people that one relies on are not available for whatever reason.

One reason why I keep keeping to myself, is that I know that folks will never always be around when you need them the most. Friends, family, whatever; the Infamous Law of Bad Things will always assure that one will never be able to obtain the help that one needs when one needs it the most. People can be trusted—I'm not saying they cannot. But everyone has his/her own life to lead, and thus cannot always be around all the time. Even friends can get sick of each other, lovers get a little too tired and feeling to constrained, and spouses have their bad argument days—it is all about personal space.

Contrary to popular belief, I actually like company. Not a huge massive and boisterous group though... a small tight-knit one is excellent. I like a group where I know that I can depend on, a group where I can chill and be silly with, a group that I need not put on a mask all the time. Unfortunately, this is just an idealism—very few people want such a tight-knit group, and for those who might want so, they might not like who I am.

And so when the various groups start to ostracise me, it hurts me deeply and I alter myself accordingly, ever lowering my expectations with people, further driving myself away from folks...

In short, most of my troubles come about because of unrealistic expectations of myself. I should take this into consideration when I'm doing things from now on.

Thursday, November 29, 2007

Programming and Other Updates

After almost a decade of programming computers, I must say that I kind of miss the fun that I had with the whole programming thing ever since I went into the competitive programming circuit. Now that I've retired from the programming circuit, and am actually writing non-trivial and interesting programs (like a memory manager, a shell and a proxy among other things), I realise that I missed that fun so much. The fun of staying up at odd hours of the day, writing code in a paradoxical juxtaposition of concentration and relaxation, the sudden clarity in the way the code is supposed to look like even without thinking too much—ah, I clearly missed this feeling. And now, as I am slowly putting together my multi-threaded web proxy program, I find that the old feelings are all coming back again. I'm... actually at a loss of words somewhat when I'm trying to describe the delight that I have in the whole exercise.

At least, I'm writing programs that actually do something useful, not those silly Java programs that do frivolous things like performing single-source shortest path computations. I realise that at the end of the day, I'm pretty much still a hacker who loves systems programming. All those new-fangled and flashy programming languages never did appeal to me much; I love to just write my code in C, which is simple and [somewhat] elegant for the tasks at hand. Firing up vim in an xterm set with the smallest possible fonts which maintain at least 160 characters of width and yet still visible a good 4 feet away, the light tap-tap on the keyboard when I write line after line of working code with little/no debugging required—this is pure bliss.

Next semester will be much more fun, since I'm going to do a course on Parallel Computer Architectures and Programming. Messing around with multi-core processors on supercomputers and hypercomputers just make me drool with anticipation. You can probably say that this is a hacker's wet dream come true. While most of the other folks want to take O/S, I actually prefer doing the course on parallel architectures. Apart from the obvious applicability of that course (how often does one have to write an operating system from scratch?), I find that it is much more interesting as a whole as compared to writing an operating system for the nuances and quirks of a particular [complicated] microprocessor. I'd love to do kernel hacking, but definitely not under the contraints of time and for credit—it is suicidal.

Oh that aside, remember this problem? So Atari support replied today with the 3 correct CD keys. Which means that my Neverwinter Nights installation is working now. Hurray~! But first, I need to finish quite a fair bit of homework before I can even sit down and try it out.

Hmm... there's a Kiltie Band Christmas Concert on Thursday. And I think I'm the only guy in the flute section. No pressure, I'm a decent flutist hahahaha... Alright, it is getting late, and I'd like to catch up on some rest before working on even more homework.

Good night/day (depending on where you are).

Wednesday, November 28, 2007

Waiver of Course Requirements

Oh wow, this really random essay that I wrote managed to allow me to skip past 6 Chinese language classes (and jump off to level 400 classes).

The offer to take up Introduction to Classical Chinese is very tempting...

Tuesday, November 27, 2007

When Life is a Markov Chain

Markov chains are an amazing type of weighted digraph. They are immensely useful in the modelling of complex systems, and are very well used throughout the field for that purpose. I had a taste of how to use Markov chains to model real-world behaviour, and even till now, I'm amazed at how such a simple idea can become such a powerful modelling technique.

The key idea behind the Markov chain lies in a system having the "Markovian property"; this just means that the probability of transiting to the next state is independent of the states with which the system had been into before. This interesting property (or assumption) is one that makes the problem of computing the stationary distribution (set of the proportions of total time that a system is in any particular state) tractable.

The stationary distribution is important when dealing with Markov chains as it allows us to compute the long-term behaviour of a system. For example, if the Markov chain models a queue where the states are just the number of jobs in the queue, then we have a means of determining what the proportion of time of the server is in the "idle" state, as well as being in the "busy" or even "overloaded" states.

But, is life a Markov chain? Are we really able to model our lives as some form of memory-less system of [in-]finitely many discrete states? What if life were a Markov chain? Does this mean that what we did before does not contribute to the probability of what we will end up doing?

If life were a Markov chain, then it would appear that whatever we do next does not rely on whatever we did earlier. In a small way, this can be true. Often, one hears of people who have "re-made" themselves when they are in a new environment, simply by capitalising on the fact that the people in the new environment do not know about their past, and working from there to rebuild a new identity. But in general, it is probably not true that life can be modelled as a Markov chain, or at least, a Markov chain whose stationary distribution is defined. This is because there are states in our lives that we just cannot return to, like how we cannot return to childhood after reaching adult-hood. Using the terms in dealing with Markov chains, we realise that if a stationary distribution exists, then the probability that we stay in the state of being a child over a long period of time is as good as 0. There are also times when we keep alternating between states, albeit in a not-so time independet way. These things hamper a perfect modelling based on the model of Markov chains.

There is an old saying, that "you are because of what you were, and you are determines what you will be"; this is the cause and effect relationship between past, present and future. It is a relatively profound concept, which hints that perhaps one's future isn't really as unpredictable is it seems to be. Yet at the same time, it embodies the possibility of one being able to change one's present to be able to affect the future. I think that this bipolar nature of the interpretation of the statement reflects itself in the form of the pessimism and optimism attitudes respectively. A pessimist will observe that since one's past implies one's present, and that one's present implies one's future, then by transitivity of the implication, one's past implies one's future and thus there's nothing that one can do about it. An optimist will look at it and realise that the present is the now, and that the two "presents" in the saying are not necessarily the same; one's past brings us to one's present, but one can alter one's present to become one's future.

Pessimism and optimism, transitivity of implication, and Markov chains. Why do I suddenly bring this up? Because I can. Most of the knowledge that humans as a whole generate are so because we want to understand what is going on in the world; we want to know about our past, and how to deal with the future. In so many fields of human knowledge, we find that there is heavy reliance on past data and current understanding to try to determine what the future might bring along. Even for a field as much about the past as history, we find that it is in actuality a post-mortem analysis of what people had done to understand why they did what they did in order to predict what can happen in the future, given similar circumstances and slightly more information. This, in its own challenges the idea of the Markov chain, as well as transitivity of implication, and also questions one's predictions based on one's predisposition towards pessimism or optimism.

So am I a pessimist or optimist? I think that it is fairly clear which side I lean towards; I'm cautiously optimistic, but at the same time maintaining an almost deliberate pessimism, in the belief that if I expect the worst and get something good instead, I would have done well.

Monday, November 26, 2007

Pensievely Sitting In A Corner (Complete)

The whole series of 3 panels in the correct order:
Part 1
Part 1 (first published Nov 13, 2007 (2:59PM SGT))
Part 2
Part 2 (first published Nov 17, 2007 (2:49PM SGT))
Part 3
Part 3 (first published Nov 26, 2007 (2:04PM SGT))

And so concludes the run of an experiment. It feels strange to be writing here once again, after leaving it untouched for the better part of 2 weeks. I feel so much better now, now that some of the issues are being worked out and resolution is expected to be favourable.

Heheheh... I know that I'm not among the best of artists, and the run of the 3-panel comic of Pensively Sitting In A Corner is probably not something that is of ridiculously decent quality. Eventually, I'd like to put up a site where I can sketch out stories that float around nebulously in my head. Not that I don't like writing any more, but that it is probably more fun to have a little variety of sorts. Which means that the next time this blog is being updated, there might be random hand-sketched comics instead of just a regular post.

And now for some updates. The last few days were fairly therapeutic, since it was the thanksgiving weekend, which meant that the campus was practically devoid of people for a good 5 days or so. I spent most of the time working on homework, playing the flute/ocarina/soprano saxophone, programming a little, reading some and getting out of the dorm to actually do stuff, like shopping.

On the shopping trip on Black Friday, I managed to pick up a copy of Neverwinter Nights Diamond Edition, which consisted of the main game and 3 other expansion packs. In an earlier post, I mentioned about playing the game over winter break—it was my friend's copy at his place. This time, I'm not going to be at his place over winter, and since he would generally be bored over the break, we decided to play this game online together, and since the Diamond Edition was retailing at about USD 20 (approximately SGD 30), it was a pretty good deal. The only bugaboo was that the manual which contained the CD-Keys for each of the three big components was printed wrongly (all identical), which meant that I couldn't start playing it right away. I've already contacted the customer support via their online request, and I hope that they will give me what I need soon.

Apart from the shopping, I managed to finish the anime series of 涼宮ハルヒの憂鬱 (romaji: Suzumiya Haruhi no Yūutsu, English: The Melancholy of Haruhi Suzumiya). One of the characters that I like a lot is 長門 有希 (romaji: Nagato Yuki, English: Yuki Nagato). Here's what Wikipedia says about her personality:
Yuki has a very stoic and introverted personality, preferring simple body language rather than speaking. When prompted to speak, she does so in a very concise manner, always speaking in a monotone and displaying a dispassionate complexion. She thinks very rationally, and finds it difficult to communicate with normal humans due to her intelligence and lack of empathy. She enjoys reading, and is seen reading a book in the majority of her appearances. As the series continues, she develops a sense of humor, although her unchanging facial expressions make it near-impossible to discern whether she is joking or not. Despite her reserved manner, she is reliable and trustworthy, resulting in Kyon trusting her more than other members of the SOS Brigade.
I can identify a lot with her personality, though I must admit that I'm not some "human interface" or that I'm an alien (that'd be jsherman, but it is an in-joke that only the CS-sophomores know). For some reason, I found her really cute/attractive, especially when she dons her dark wizard outfit and play on the guitar.

Yes, I think I like cute geeky girls. I must admit that I'm a sucker for those kinds. Unfortunately, they are relatively hard to come by, particularly from where I come from. I mean, how many girls actually want to be identified as being geeky? It is fairly counter-cultural to the usual imbued social rules. So when I meet one, I'll definitely try to snare her and not let her go. (=

Everything else aside, I'd say that the thanksgiving weekend was fairly restful. No strange feelings of loneliness and other random crap like that. Which is a good thing. This means that I'm slowly growing into an adult.

Maybe more rants some other time. As it is, the local time now is like... 3am. I need my sleep, otherwise I can't do my homework.

Until next time...

Saturday, November 10, 2007

Some... Issues...

There are so many... issues that I need to think about. As such, I won't be updating this as frequently as I might want to.

There're some new things that I'd like to try, but as at now, it's not a good idea to talk about them.

Please be patient with me, my favoured readers.

Until next time.

Monday, November 05, 2007

Phantasies Yet Again

Again, in here I sit, another phantasy playing out to its very final end—sadness and dejection. I should seriously stop thinking about things... it seems the each time I do, I end up hurting myself more and more. Maybe it is indeed in my deed to be walking alone on the streets, watching people getting all lovey-dovey and stuff, forever tormented by the fact that I am, essentially, alone.

Alone. It's a strange word there. You look at it, and you feel so sorry for it. Alone. It looks almost like how it sounds—alone.

My face, my actions, seem so farcical. It seems that all my life, I'd been an actor. I know I'm not good at a lot of things, but I keep on acting that I do, and sooner or later, I actually started to believe that I could do them, and then I start to convince people that I am, indeed able to do what I claim to do. But in reality, am I really that good? Am I really as wonderful as I think myself out to be? Or am I part of a huge delusion which will result in me losing everything in the end, including my very life?

*sigh*

This is starting to frustrate me some. To be forever surrounded by people who are—people, while I just sit in the corner and watch on. Last Saturday, there was a SSA KTV/Games Nite held in the West Wing TV Lounge. I went there, of course, and ended up sitting on the sidelines yet again. And as usual, I was only recognised when they couldn't get the KTV system up to run (because they brought in a DVD player, as opposed to a DVD/VCD Karaoke Player). So I helped to set up the system. The system set up was kind of fun, but after I was done, I was promptly forgotten again. Feeling somewhat sad/irritated/fed-up, I just picked one song to sing, and then dallying for a little, I left for a walk in the cold.

Ostracizing. The very epitome of my displeasure. Why do people like to ostracize me? Am I really that hard of a person to talk to? Am I just some freak-head people turn to only when they have problems, and once done, only to be cast aside like spoilt food? The pain and anguish from this is my ruination.

*sigh*

It's so hard to be me. I try my best, but almost never get rewarded. I guess I should just keep on grinding on the grindstone and work more. Maybe with more work, I can bury away the discomfort and sadness that I have within me.

Sunday, November 04, 2007

malloc() Lab is Finally Here

I like taking long walks in the cold outside, especially when it is dark. It is a most wondrous feeling, to be able to meld into the shadows and enjoy the cool winds blowing into my face. I'm usually feeling hot, and so I always love the cold weather (no, I don't actually perspire that much, so I don't actually stink).

It is amazing how a nice walk can help clear the mind. This, with the fact that I actually have a nice portable recorder with me, which means that I can easily record my thoughts and ideas as and when I have them, and can later transcribe them into a more useable form.

I figure, if I need to use technology to help myself, I might as well make it completely and absolutely workable.

In other news, this weekend is simultaneously the most stressful and relaxing weekend so far. It's stressful because the hardest lab of my Introduction to Computer Systems course (the malloc() lab) is finally here. In case you were wondering, this lab just wants us to write a dynamic memory allocator. I've a few ideas on how to do it, and now it is just the writing of the code that is going to consume the most time.

Oh yeah, the weekend is the most relaxing so far, simply because I've already completed my ML code for my other programming-based class. Just lying in the horizon are my Logic assignments, as well as my Probability and Computing homework. That and a whole bunch of administrative mumbo-jumbo that I need to settle.

Alright, enough of random talking. I need to get back to work.

[Ed: If you are here looking for solutions to malloc() lab, shame on you. Go do the thinking yourself and learn instead of hitting the internet for answers.]

Friday, November 02, 2007

Recorder On

In the dark, I took a walk through the cold. It was quite amazing—the temperature was about 5.3°C, yet I was feeling somewhat warm while walking through around campus. Considering the fact that I was only wearing the usual T-shirt (+ half-folded sleeves long-sleeved shirt) and jeans, it was indeed a little bit weird.

Maybe I'm sick but I don't know about it.

Anyway, I've decided to carry a recorder around. During the day/night when I'm out of my dorm room (and far away from my computer), I tend to have lots of random and not-so-random thoughts, thoughts which I want to put down on [virtual] paper. But when I sit in front of my machine at the end of the day, I don't seem to be able to remember anything that I thought of, and this sucks.

Alright, that's all for now. I need to run some hard core tests to make sure that my code is right before submitting it for grading.