Monday, December 04, 2006

8 coding problems, Part II

I've been stagnant for a while. Well it turns out that the rest of the questions I got asked during the interview was never as interesting as the question that I posed in Part I so I may stop.

And I'm glad I was not asked THIS question...

Thursday, November 23, 2006

A rant at Schulich library

According to Webster dictionary, useful means:

1 capable of being put to use or account <useful suggestions for limiting the amount of food we eat> -- see PRACTICAL 1
2 capable of or suitable for being used for a particular purpose

suggested example: McGill Schulich library is NOT useful.

why did I say that?

I was expected to complete an Autosuggest component for my work using Ajax. But for two days I was banging my head against the monitor because the problem seems more complicated than I initially thought, and of course I'm no Javascript guru. I decided that I would take a tour at Schulich to find the appropriate book that can arm me and let me finish the work once and for all.

I founded the Javascript section and searched through all the book dated after 2003, in the glossary for Ajax, (since not many people understand Ajax probably until 2003).

You know what, there's only 3-5 books dated after 2003 out of around 30 books there, and NONE mentioned the word Ajax or XML throughout its content!

So all the students at McGill, if they want to become the next Javascript guru or become a web entrepreneur, like reddit, digg, or flickr, will be armed with pre-AJAX technology! I guess this will get them a job at... hmm... a web developer at... www.webster.com? (You cannot believe how outdated the site is...)

It's interesting when I was walking around the CS section through.... it's filled with a lot of SE and C++ books that probably no one would read... or the "Introduction to Program Analysis" for those (may it imply 0) who are (probably is) interested~ I also came across the Gunnerson's A Programmer's Introduction to C#. 2 of them actually! One for the 1st edition and one for the 2nd edition, dated one year apart. I'm now real impressed with McGill's swift and bold adoption of technology! However, I doubt many read it, considering that no classes are offered in C# here.

And it must make Mr Gunnerson a rich man! That book was alright but didn't delve much into the .NET and i remembered in my intern days that I actually had to use the Andrew Troelsen's C# and the .NET Platform instead.

I wonder how much tuition money we actually spent in buying those books? Are they screened by a computer literate or just some brain-dead librarians? Had they ask one of the SOCS prog I'm sure the quality would be much higher.

Hopefully I wouldn't get kicked out from McGill for post this :P

Sunday, November 19, 2006

The tale of two interviews, Part I

As you all know (even though 'all' implies singular or none here), I am graduating soon from my degree soon but I wasn't actively search for jobs yet. I was still planning to go back to HK after graduation. Hazel is still in HK and I don't want to part with her for too long. However, every CS grad has his/her own dream job and during the early October when companies came to McGill to advertise about their employment, I decided to apply for two companies. I asked my friend Albert for his resume, since he got his dream job already and I thought his resume must be impressive enough to push him pass the resume screen! I spent around an afternoon, doing nothing but reformatting my resume.

Two weeks later, I was blessed enough to receive the phone interviews from both companies. I made some mistakes, but I guess not yet enough for them to screen me out. I received the invitation for in-person interviews from both places, around one week apart. As of today, I am just on my way back from the interview from the second company! I don't know the result yet, but in any case I feel blessed to have these opportunities and the purpose of this blog isn't about me boasting anyway. What I really want to document is the experience from both interviews and the impression that I was left, how it would have impact my choice if I had the offer from both places.

First I'm going to talk about company A.

My impression of company A was that everything was taken care of. Upon receiving the invitation, it asked me to choose the date and time among the available days. I chose my date and one day later it emailed my the itinerary of my flights and the accommodation! It was also kind enough to let me choose to use taxi or rental car! More impressively, it would reimburse me of ALL meal and transportation expenses I incurred during my stay!

However, for some reasons the interview was held not in its headquarter, but in a closer-by Canadian city called Vancouver! Maybe this would produce less visa problem? I wondered... Turned out it wasn't true most interviewees I met during the interview period were canadians. Personally, I prefer Vancouver since I have some very good friends there and I could also tour the city, and later in fact I got to meet my parents as they were also on the way back to Edmonton! So personally, it was very good for me and I wonder if it attributed to the Lord since He let me meet my parents after my grandpa's funeral. Truly I was thankful...

But this doesn't have its implications either, and allow me to suspend it for a while.

So I arrived Vancouver, lodged at one of the best hotels in town, and slept on a king-sized bed in the first time of my life. I need not to worry about the expense cuz' Bill is paying my bill! All the gratitude to him! That night I drove to Richmond and met my friends, had my meals. I was having a blast!

Then came the interview the next day.

I woke up at around 6:30 am that morning cuz' the interview was held at UBC and I was supposed to arrive at 8:30. I arrived half an hour early, toured UBC a bit, ate my breakfast, and got ready to rock-and-roll.

As I arrived at the career centre at uBC, I discovered that there were 4 other people being interviewed in this morning section. Each of us would have three individual interviews with some of the top SEs in the world, and by the end of the session they would let us know if we got hired or not.


You can probably see that the pressure rose instantly! Dead-of-alive in 3 hrs! Better not screwed up! And then five nervous souls were led to rooms and started the duels.

Let me conclude that I had my ups and downs. The first two went alright, but the last one (about testing) really killed me and by Joel Spolsky's standard, my fate looked grim. However, the most grueling moments were between the interviews. You know, some of us came out early, some finished late. You could see our nervous faces though, and it's most unnerving when some guy stayed a lot longer than you did and you wonder if you looked so unintelligent that they threw you out early. Generally we had around 10 min before we went into the next round, but then it meant we had to stare at each other for 10 min! We tried to steer the conversation away from the interview questions to lighten our mood! But you could see that everyone wished this 10 min could pass by ASAP.

I could remember another annoying thing they told us in the beginning. We were told that this interview round was pretty successful! Out of 30 candidates they interviewed 11 got the offers! Wow! What a great news to know! 1/3 of survival rate! Only 1-2 out of us 5 would be the offer and the rest would go back to our hotel room, lie on our king-size bed, and ponder for the rest of the trip what on earth I did wrong such that I was deemed unqualified. You could see the tension on our faces during those breaks. We were NOT comfortable.

In retrospect, maybe it was a way to generate pressure in between such that they could measure how well our brain operate under those circumstances. Wait till one day when I sit on the other side of the table and I can tell you :)

Anyway, each of us completed 3 interviewed, and we were asked to sit outside to wait for the final result. By that time we knew the "moment" was coming and we were out of topic to converse anyway so we kept our silence.

Then, the main recruiter came out, and asked the guy from SFU go have a one-on-one. And the rest of us waited.

5 minutes passed by...

Then 10 minutes...

15...

I guess each of us wonder why did that guy take so long! The only reasonable explanation was, maybe he got an offer! Or else they would've just say "Thank you very much and you did an excellent job, but currently we cannot find an appropriate position that suits your skills. We will keep your file and may notify you in the future if there's a suitable position"!. But tt was around that th 20 min mark that someone finally broke out this thought, and I was sure each of us started panicking. One got hired already! That left 0-1 spaces left! Oh no I'm toasted~! It was a long 20 min.

However, I never got to know who else got hired. I was the second one called into the room and because I bombed my third interview, they decided to hold a fourth interview to try me out! I had that, and when I came out all others were gone. Again they asked me to wait and by then the afternoon session had started already (and they got delayed for at least an hour because of us! Poor souls~) Finally as I was waiting I met one guy, the Concordia guy who was the least conspicuous of us all and he told me that he got an offer! Of course he comforted me that I would probably get an offer but I wasn't so sure. Eventually the second group went in as well and I was left alone again, and waited for another 15 min until the recruiter called me into a separate room to break me the news.

Now for those who know me, most of you would know about my fate, and again I must thank you all for your prayers :)

I haven't finished yet though... let me eat my dinner with Albert the Googler first, and finish part 2.

To be continued~

Saturday, November 18, 2006

8 coding problems Part 1

8 Coding Questions:

In two weeks I got interviewing for a position of two big IT companies. During the interviews they asked me some interesting questions that really puzzled me. After the gruesome process I truly learn a few things or two about some fundamental rules in programming and computer science and if I don't put them down one day I'm bound to forget. Also, maybe one day if my blog is read by more than a few people then I hope this can help some enlightened minds out there to think deeper about the code they write, and keep improving their skills. I don't know if exposing these questions will infringe the rules of the companies that I got interviewed for, so let's remain anonymous with them and pretend that I got interviewed by G-M. (Yes, there's a company called GM though I have no idea if it does hire programmers. All I heard is that it's going bankrupted~ But maybe this is my misinformation so don't count on it.)

Q.1 Write a function that find integer k in an n-by-n matrix. However, this matrix has this property that:
i. the value of the cell in each column is non-decreasing, and;
ii. the value of the cell in each row is non-decreasing as well.

x11 x12 ... x1n
x21 x22 ... x2n
. ... ... .
. ... ... .
xn1 xn2 ... xnn where xai <= xak, and xmb <= xnb

I got this question in one of the first interviews! After sharing about my research with the interviewer, and my nerves started to calm down, he dropped me this bomb and not only did he ask me to write the fastest algorithm that could solve the problem, he also asked me to write the code for it! Not pseudocode, but real code! Well I thought about using Java (my natural language) but I kind of want to impress him so I digged up whatever C knowledge I have remaining in my cerebrum and chunked out the code once I got enough hints from him to use an algorithm that uses pointer! Took me around 30 min, but that was only I guess since I was in the room and the whole interview last around 55 min and we talked a LONG time about our project when I had to explain what AOP was!

Answer:

This questions has 3 different answers, but their complexities vary by a factor of log n.

The naive one is the O(n^2) one that searches everything. No need to mention it~

The better one has the complexity of O(n log n). Once I got enough hints about this algorithm I realize a very important concept that every programmer must know. That's, you should choose an algorithm that takes advantage of the data structure you're playing around with, such as:

Sorted => Binary search

This is probably the fundamental property of algorithms in CS and I cannot emphasize more! Think about how many algorithm we use to sort! (Bubble sort, mergesort, heapsort, quicksort, and something called radix sort that I have never been taught about!) The reason is that once we sort the data structure, we can use BS to find the element in O(log n) time! Isn't it beautiful?

By this time it's not hard to see where this O(n log n) algorithm comes from (we have n rows)! But I had this quirky feeling that it could be solve in O(n) so I asked for more hints and my interviewer was find enough to ask me to start at the top-right element, and he poked me around enough to make me realize that by elimination I can create an algorithm that will have in maximum 2n times. Once I realized it, I started chewing out C code and the interview poked around the algorithm for more but I finished in time. Mission accomplished.

Well, not exactly. Towards the end of the interview I asked if this was the most efficient algorithm. He started telling me this story.

One day, he was asked by his colleague about this question. His colleague told him about this problem and concluded that the most efficient algorithm is the start-from-top-right one! He looked at it and said, "No". In fact, if you start from the middle of the matrix, you can at least eliminate 1/4 of all elements in each step in a divide-and-conquer technique! This algorithm in fact give a log^2 n complexity! As a comfort note, he told me that the code is actually pretty complex and he did not expect most interviewees to get it.

Two lessons to learn:

i. The property of the data structure can give you the important clue for your algorithm
ii. There's always someone out there who's smarter than me so be humble!

Wow, this is a long entry. And I was going to write the rest at once! Well I can since I've nothing better to do on my flight from SJ to Dallas, but then my creativityd dwindles and I cannot write something more interesting. Better stop now and maybe eat some snacks first.

Saturday, October 28, 2006

Truly funny radio show, a "must" for Christian!

This is the most hilarious and thoughtful Christian radio show I've heard.

if you are a Chinese, whether you're a Christian or married or not, you should take some time just to listen to it (called 猴擒定慕男).

Thursday, October 26, 2006

Post-Prelude: On Improving Windows

Hazel, my girlfriend, has a 5-years-old computer that still runs Windows 2000. A month ago she realized that her anti-virus (Nod32) didn't not work on the computer anymore so she asked me to use VNC to inspect her computer. Just when she was turning on the VNC server and my client was searching for her, some freak hacked into her computer (anyone who can give me an explanation would be appreciated), and did something and the next thing she knew was, her computer downloaded some stupid spyware, and her computer was totally infested with virus. (Again Yvonne you're the expert and you are the few who still read this so maybe you can offer me an explanation). Out of despair and desperateness we decided to buy a new computer (since there was no way I could fix the computer remotely). As most of you know, Vista is supposed to come out next Jan so I asked her to wait... but she desperately needed one for her work (and honestly it was quite inconvenient for her since she needed one to make exams for her classes) so at the end we decided to buy the top HP model for $6-xxx. At the end, I agreed to her view that 1) she doesn't need an ultra-fancy OS 2) she needed a computer urgently at the time. But I was sort of worry that Vista would come out a lot quicker than I thought and they would offer free upgrade to people who buy PCs just before the deployment time.

I guess I possess certain clairvoyance in this case and MS now decides to give free Vista upgrade to whoever buy PCs after Oct 26, and we bought it during Oct 1!!!!

Were I a non-christian I would say WT_ and I guess I don't have to fill the blank but i was devastated. It means that now next time I go back to HK we probably have to buy the upgrade at Sum Tsui Po!

While I am considering mailing HP about the rip-off and ask them to offer us a free upgrade, I can only hope that one day we will have a G-indows or Win-gles or Windows G (for free and open source of course) and we don't have to spend the $5xx for a new Window upgrade.

But of course that got me into thinking HOW to actually improve my chance of buying an Authentic window for a reasonable price (and that's not happening) and I come up with a list of stuff that will make me want to buy a real Windows for around $2xx~

Well that will be served in my next post :) More to come!!!

Prelude: On Improving Windows

First of all, a bit of miscellaneous news...I was just checking my new website and realized that I have now more than 100 visits! What a surprise! Well I certainly hope that the hits will rise with the release of JayFX and ConcernMigrator. My dream, of course, is still to build a Sudoku solver using GWT since it's a pain in the ass to track all the numbers on a piece of paper and I always make a mistake. I don't think it's hard to write but I gotta have the heart to write it.

And then there are the SICP, and python waiting in the queue... Maybe I should make a priority queue on it but then everything will be assigned with High Priority!

But anyway. Well I received an email from MS telling me that I got into the second interview and they are holding it in Vancouver! That means I gotta fly to BC and possibly spend a weekend there! In a way the prospect of having a free vacation thrills me more than a possibly of working in one of the most challenging companies in the world! First of all, they hire the 3rd best (the 2nd best go probably to Google and the 1st are probably working-in/founding a start-up, or working on the P!=NP proof, or in SE domain, a new architecture that supplants J2EE), and I'm not sure if I fit into that category. Secondly there is the "Hazel's factor" and although Seattle is reasonably close to our dream destination (Van) I still don't want to shut the HK door completely. I will want to be at a place where I don't have to part with Hazel, and to go back to HK might mean a change of my career. Well again, my life belongs to God so I pray for it... God has never let me down (in long terms) so I will be where He leads me~

Anyway for the few of you who read this (probably not too many) you would wonder... how does it relate to "Improving Windows"??? Well after I received the email that was what i was thinking if I were ever asked this question during the interview. In fact I spent my morning (and during the CORBA lecture) thinking about it... maybe I should do it over my next post...

Monday, October 23, 2006

Inerrant Bible?

Is the Bible totally inerrant?
Found this post in reddit.com. Very interesting....I wish I had time to reply to it but Josh McDowell's book and Lee Strobel's book offer some insight: which is to say: if Bible isn't accurate then probably no other book is.

A quote that I like:
Where people go wrong is when they treat the Bible as a textbook as opposed to the source book..

Enjoy...

Thursday, October 19, 2006

Hell with J2EE!

J2ee...I gave up in you....

Ever since yesterday I have been trying to finish the J2EE tutorial in CS 529 and as of now, I think I have spent over 6 hrs just trying to create an online multitiered SuperGrocery J2EE application.

After steadfastedly following each step and double checking constantly to make sure that I didn't make anything mistake, I launched the application and here was the result:

HTTP Status 404 - /grocery/addProduct


type Status report

message /grocery/addProduct

description The requested resource (/grocery/addProduct) is not available.


Apache Tomcat/5.5.17


What an insult.

I can see why J2EE programmers are treated like pearls now in the industry. (If you go and look for a normal programmer job seems that J2EE is usually a pre-requisite) Originally I thought, "pheww...framework programming... piece of cake...can it be any harder than proving NP-equivalent?" and I was dead wrong, and paid heavily (6 futile hours). It seems more true than anytime before that hardwork DOES NOT bring your fortune.

And now I still have to finish the JayFX deliverable AND prepare for tomorrow's bible study! Man I haven't even eaten my dinner yet! And I planned to make fried rice (an extremely time-consuming process). Now maybe I'd give up and go back to eating macaroni (which I did in the afternoon already and it sucked).

But let me do comment on the tutorial though. Although the TA (I know him personally and he's a lot smarter than me so I wouldn't say his name) painstakingly developed this wonderful tutorial he left so many holes that you have to scratch your head and hope that whatever he asked you to do would lead to a success cuz if it doesn't you have NO WAY to find out what's gone wrong!

And even though now I followed the entire tutorial I still have not (xxxxxxx) clue of what J2EE is about. Anyone who can give me a tutorial which I'd be able to complete in 3 hrs (50% of the time I already spent) is certainly welcomed!!

(Well the only one I know who reads my blog is Yvonne and she'd stepped out of the dark cloud of Java programming so this plead would probably not be answered).


On the other hand, I can ask Martin tomorrow but it would expose how stupid I'm...

Anyway... so tonight I will keep reading SICP and Romans 3 (2 books that are totally irrelevant) and hopefully run some tests on JayFX. This will be the first open source product that I publish so I want to be extra careful about it.

Tuesday, October 17, 2006

After the interview...

I didn't realize that I haven't touched my blog for three months! My last entry was after the World Cup game when Zidane got ejected! Now it seems it happened ages ago! (And now I don't even watch soccer anymore.... not cable TV and no money)

I guess today was a bad day in a way because I didn't do much... well I knew what was going on and I attributed to the interview that I had this morning. Originally I thought the phone would arrive at 11 but after 11 passed there was no ring and I started to dread! At that time I realized that I confused the timezone: Pacific Time = 3 + Eastern Time!

So I spent the rest of the hour learning computer graphics (just wanna brush up my algorithms a bit) and then the phone call came. It didn't last as it originally said it would... only 30 min. After that I had several relevations:

1. I didn't actually work on my research project much in the last months and it made me look stupid when I didn't know what to say.

2. I wasn't too prepared so when he asked me about why I wanted to work at that place I would only give some vague answers (i.e. I wasn't very determined)

Well another interesting question that he asked was about computing 1) anagram 2) if two strings contain the same characters. Originally I had a O(n^2) answer but luckily I thought of a O(n) answer. I asked Kelvin the same question and his answer wasn't as good but still O(n)! (hahaha....) So all the CS minds who still read the blog can submit me an answer.

So... going to the second test is probably a remote dream now :'( Luckily I will have some more interview chances later. At least this one gives me a taste of what to expect!

After that, the rest of the day didn't pass so well because I was struggling with J2EE and JayFX. I finally converted JayFX to use Generics (which wasn't that technically challenging) but haven't tested it yet. The hard part will come from a throughout testing...

After dinner with Kelvin I went home and tried to organize my life again by listing some priority. I was cleaning up my McGill Outlook too and discovered an obscure link that took me to Micheal Ernst and his students' pages at MIT. I was checking out their sites and noticed a big gap between me and them.

The big gap: they blog!!! And they don't make stupid blogs but technical blogs! Me??? I only watch Doraemon from youtube nowadays.

Surprising? But it tells you that if you are passionate about technology you would be using it! Me? Haha....what would a person as lazy as me do anything? But if you read Steve Yegge he also has some good reasons why one should blog.

Without being more and more self-disparaging I decided to pick up on blog again. Of course I'm still a bit far from being able to write technical blog but I will add bits and pieces of that here :)

Here I come!

Sunday, July 09, 2006

Adieu, Zizou - after thoughts of World Cup 2006

Today is a remarkable day.

A month of a football fever concluded in this afternoon, witht the Azzurri beating Les Bleus in OK in one of the more competitive, and certainly more exciting game in the 2006 World Cup.

Nevertheless, for me, and for millions around the globe, the game itself actually reached its finale 10 minutes before the whistle when the red card was shown by the reference to the most talented, and best footballer in the past two decades, signaling not only an end of a game for the French, but the tragic end to a celebrated football career.

The man who is known for his coolness in his pasts, and decisiveness of his kicks, letted his temper get the better of him in the 110th minute of the match and butted his head into an Italian defender. I was dumbstucked when I saw it in the replay, and at that moment I was speechless, since I know that forever a glorious career of Zinedine Zidane will be tainted by his foolish act. The French team, so dominating throughout the second half and the OT, would not be recover psychologically from the loss of not only its captian, but the pillar of the team.

At the end David Trezeguet missed the only PK in the match, but he was not to be blamed completely. Had Zizou kept his cool he would have been one of the people taking the PK, and psychologically the Italians, and Buffon would have the greater burden since Zidane was just a presence in the French team.

But congratulations to all my friends who have supported Italy. It was quiet a sence to see the celebration through the streets of Montreal. Too bad I could not be there... my emotion was too detached. But it definitely wasn't worse than the Oilers' loss, and maybe tomorrow I can pour my heart and soul into works for 2 weeks.

Tuesday, May 09, 2006

New Chapter

First of all, the fact that it feels like a new chapter of my life has nothing to do with any epiphancy or revival. The only reason is that last night, in the midst of the excruciating muscle pain and insomnia, I actually finished the Hidden Star Village Arc of Naruto. It means that I've watched the entire 150+ episodes on Naruto over the last month! Well it hasn't been pretty and I was addicted to it, and it contributed to a lot of personal problems in the past month. But, to be honest, I haven't found an anime as captivating as this for a long long time. Usually I haven't been addicted to TV since Dai Chueng Gum but my whole life was almost consumed by Naruto. Now I consider myself a Naruto expert and can even sing in Japan or say "Kage bunshin no jutsu" from my dream.

More importantly, I watched ALL the episodes from youtube! What's so amazing about it? Usually to watch long series you either download it from the internet or watch it from some remote Chinese site that feature 1000+ popups and annoyed you to a point that you swear you will never do it again. Youtube, a clean, and fast free online video provider, usually hosts short films that run from around 5 min at max. But some "generous" web-surfers are kind enough to upload the entire series of Naruto online!!! The entire series, can you believe it? (Note: as far as I know, the only other anime features in youtube as an entire series is Prince of Tennis. But it's pretty boring and I have no intention in getting myself addicted again...) Since it's so "innocent" and accessible, whenever I have nothing to do (or try to do nothing or try not to do anything) I would go to watch some Naruto episodes. Well.... that goes the whole month! (P.S. For those who're interested in Naruto, it's the most popular Japan anime/manga now and it's been compared with Dragonball in terms of the plots and its popularity.)


Now that I got it over with I can actually vow that I would come to the lab every night to work. But another side-goals that I add over the summer, besides programming in Lisp, finishing the MPCC, is to develop a logical solver for Sudoku~ The hard about Sudoku is not that it's hard to solve, but that you have to do many tedious bookeeping and once you mis-wrote something, everything would go wrong (as I discovered today). Most computer solvers use the brute-force approach or the Kruth algorithm but I am hoping that it's possible to develop one that uses good strategy besides computational prowess. So, anyone who've played Sudoku... can you please give me some strategy that you found in solving the numbers?

Btw... the Ephesus coffee house is looming... I wonder how it's gonna turn out~ But enough for now. Maybe after the coffee house I'd do a full review :)

Wednesday, April 26, 2006

Mini-update

(sigh)~ I almost thought that I could enjoy the holidays but the days only seem to get harder, as I have to cope with my job and my research at the same time and trying to look for a decent place for next year. Tons of stuff to do. (sigh)~

Sunday, April 16, 2006

Domine, miserere nobis

5th anniversary of my baptism... cannot believe it has been 5 years already.

Still vivid remember that day.... the people who were with me, shared my joy, and those who 'died' with me on that day, esp. the one person whom I'm closest to~

Pray that 5 yrs from now, the people whom I witnessed being baptized today, will cherish that memory and discover their growth and give thanks...

A poem for all of those who were with me then~

These things I remember
as I pour out my soul:
how I used to go with the multitude,
leading the procession to the house of God,
with shouts of joy and thanksgiving
among the festive throng.

Why are you downcast, O my soul?
Why so disturbed within me?
Put your hope in God,
for I will yet praise him,
my Savior and my God.
My soul is downcast within me;
therefore I will remember you
from the land of the Jordan,
the heights of Hermon—from Mount Mizar.

Happy Easter~

Sunday, April 09, 2006

Busy week

I'm surprised that a lot of people actually read my blog and make comments to me personally. For those who've known me for a long period of time know that I really like to talk and send email. Just ask the people I served with in Galilee and they would tell you the bombardments of my long emails...

I doubt I will ever be so passionate about email writing though. I seriously wonder who still uses email for communication (not just notifying but actually communication a.k.a. a dialogue). Maybe I'm just spending too much time IM-ing and talking on the phone. Had I put some time into actual work I might just be actually productive!

The worst thing to hear though... of course.... is that I actually write better than I speak. (You know who you are.........) Haha, that's probably the worst thing that a canadian can hear, that after so many years of English education I still speak like a fob. Well... I wish I can speak like JFK but, those who know me know that I'm language-impaired... I'm better at typing language than speaking it. (That's why I choose to study CS)...

I'm in the process of finishing the AI of the Multi-player Chinese Checkers and the Man-vs-AI version should be out in 2 weeks. I will try to implement a Java Web Start so that those who are bored at work/school/whatever-you-do can play it. Of course, the best thing is to put it into client-server and run it multi-threadedly... and have it hosted online but I think it will be a long way to go. At least I have to finish my abc compiler optimization which I dropped for a week already!

For those who read my blog, I strongly encourage you to create your own blog... don't have to put your innermost thoughts... but at least put some thing that you want to share to your friends and improve your English in the meanwhile~

P.S. Ephesus coffee house is looming and for those old Galilee gang who read my blog.... I ask you to please, please, please drop me a line about some group games that we played before. We played tons but most of them I've forgotten already...

Isaac...

Thursday, March 23, 2006

A thought on Lame-Duck Leadership

Without Yvonne's comment I almost forgot that I didn't update my blog for more than a week! Initially it was me who lured her to switch her blog from xanga/msn to blogspot yet she has been more diligent than me now! Good for you Yvonne, keep it up!

Well, I will do an update first. For those who absolutely find my life boring and pathetic can ignore the next two paragraphs.

I sort of kickstarted both of my projects, and I'm again fanatically trying to finish one of them while ignoring the other. The on-going one is the AI-ChineseCheckers... I need to extend it from 2-players to 6-players, and although I developed the prototype a year ago, upon reviewing my old code i realize that the design was not good so I am re-coding the entire prototype using Minueto. However, the old problem that I encountered, such as the piece location, memory allocation , arise again. I am so exhausted from it that I decided I will drop the development for a while and relax a little bit.

The other project, the abc compiler optimization, is in an even more appalling state and I can only hope that I have enough brain power and motivations to do it tonight or tomorrow.

I was talking with a good brother-in-Christ (a.k.a. a Christian friend... but of course those I consider brothers are more than just "friends") of mine last night about the fellowship that he's involved in now. Since I still know half of the people in the fellowship, our conversation eventually led back to the fellowship itself. I asked him about the functioning of its committee, out of curiosity. He told me that the leader hasn't been really participated and a lot of work had to be relegated to other committee members. I was surprised because initially I thought the leader was very enthusiatic and very assertive of his leadership (or so I thought). So I asked why. The answer was, the leader is near the end of his academic career, and he is now so busy in his projects and job-hunting that he doesn't care anymore (about anything else).

A word instantly came to my mind: a lame-duck leader.

A lame-duck leader is a leader whose fading influence is recognized by other, especially its followers. Since most decisions made by a lame-duck leader may not be recognized and he is most likely to be replaced by someone else soon, he must make an imminent choice: should he ignore his situation and do as much as he can within his power, or should he take a care-free attitude.

Well, I guess, in this case, this friend of my friend who's also my friend chose the later. And to be quite honest, it's probably the easier choice, which is not uncommon. Let me recount my experience with this...

During my Galilee years (the years when I was in the Galilee Fellowship of ECAC), I developed theory about the productivity cycle of the fellowship committee. The tenure of the committee usually goes from Jan to Dec of that particular year, so I devide a year into three periods:
  1. Workaholic period (Jan-Mar/May): that is a time when the committee members still care and put their maximum efforts into the planning and organization of the fellowship activities. Fellowship time at its best!!!
  2. Fatigue and quarreling period (April/June - August, depending on how motivated the committee is initially): usually people either start graduating and leave or people just have summer-jobs/gone-home/no-motivation. The attendance is probably at its lowest and unfortunately, usually some strifes or quarrels with the fellowship would arise. I have noticed that this happened almost every year and for some reason it's unavoidable.
  3. Lame-duck period (rest of the year): when commmitee is busy in trying to solve the problems that appear during period 2 andl...maybe due to fatigue or fun, spend most of its time finding successors who they hope can do a better job next year.
Contrary to the worldly leaders, almost no one spend time in thinking a worldly question: what kind of legacy will he or she leave behind when they leave?

By the time they leave, will they be sure that they have fulfill the responsibility entrusted by those elected them? Have they genuinely use their gifts to unite the people, to solve the feud between enemies, to care those who are ignored, to love those who feel unloved, and set an examples for the youth?

Will they care how they will be remembered their posts? A faithful stewart, a diligent servant? Or......a dictator, a tyrant? Or someone that others wish to have forgotten...

And, for those who believe that it's Him who have chosen you to that place, how will you react when He summons you to be accountable for what you have, or have not done. Full of regrets? Or excuses? Or complaints? (Or... we just don't believe in this anymore....)

Certainly for me, I'm full of regrets, for the things that I did wrong, and for the things that I didn't do, that I should've done. As for my own legacy.....well....hopefully not deplorable ... but that's not up to me to judge :)

Only one thing that I did not regret, that I have never chosen to be a lame-duck, that not for a moment I chose the easier path and just not care. Of course, maybe for some I've made the wrong choice., but personally, I have found my peace.

And, regardless of what this friend-of-my-friend-who's-also-my-friend chooses, I constantly pray that his fellowship will proper and avoid the Isaac's Galilee Recurring Lame-duck Theory in year 2006 :)

Sorry, again, if I've offended anyone. Please consider that I'm just a crazy old fool who knows absolutely nothing.

Wednesday, March 15, 2006

An Excerpt from The Age of Discontinuity by Peter Drucker

The following excerpt comes from a section of China Time. The Age of Discontinuity by Peter Drucker is the recommened book of March 15th edition. Peter Drucker, who passed away last year, was a renowned economist, columnist, and generally credited as the father of Management Science. Because the article is printed in Chinese, for those of you who read my blog and know English only, it is time to buy the book! The following excerpt talks about the prolonged period of puberty and adolescene in the 20th century and how it leads the the gradually decline of reponsible behavior of the X and Y generation. It also offers some speculation to solve this disparity...


文 化年齡是由個人預期壽命決定,或至少是以個人有生產力的年限決定。文化年齡主要取決於個人被期望的行為及情緒成熟度。因此,我們預期壽命愈長,人們的文化 年齡就愈低。一般認為,目前二十五歲的年輕人到六十五歲時還很健康,且文化年齡比一百年前十五歲的年輕人還低,因為一百年前人們大多只能活到三十五歲。但 事實上,二十五歲的現代人比一百年前十五歲的人更年輕,情緒上也更不成熟。不過就生理上來看(或許甚至心理上),目前十五歲的男孩可能比一百年前十五歲的 男孩還成熟。於是,人們在十五歲時生理與心理的成熟度與文化成熟度(現在人們到二十五歲才開始展現文化成熟度)之間的差異,就是青春期。

延 長教育年限當然也延長了青春期。就設計上來說,學校已成為保存青春期狀態的機構。學校讓年輕人留在最不自然的社會,一個只由同輩組成的社會。即使學校盡可 能把表現和經驗加入課程中,整體狀況還是有限、確定,且可預期的。決定要主修東方語言、而非數學的學生知道,這個決定對課程、研究、考試和必修課程有何影 響。在學校,學生根本不可能成為成年人。

接受高度訓練的年輕醫師就是延後青春期的最佳實例。這群人有很多知識,從病患和同事身上看到生老 病死,看到人類的愚蠢、貪婪和怯懦,當然也看到人們的決心與勇氣。然而,他們在三十歲以前可能一直保持年輕無經驗的青少年狀態,也就是說在開始執業五年左 右都是如此。只要他們還在受訓,擴音器或電話會叫醒他們;他們只要按照時間表做事,主治醫師會做最後決定。他們就是不被允許成為大人。一直待在學校求學的 研究生,也一樣出現這種延後青春期的徵狀,所處環境只強調他們的「前途」,幾乎沒有強調目前的表現。

不論以延長教育年限來延長青春期 的做法是否明智,都沒有關係,反正我們已經做了。如果沒有必要,我們當然不想這樣做。大多數人都能康復(雖然有跡象顯示,延長青春期可能成為一種慢性疾 病),不過對社會來說,這並不是一個健全狀態,對個人更不健康。社會上大多數身體健康、受過高等教育且前途無量的年輕人,卻活在被忽視的青春期狀態,他們 既未長大成人、也沒有生產力,卻已不再是小孩子了。在這樣的社會中,青少年不法行為、草率的婚姻關係和離婚率攀升四處可見。青少年擔心負責、因得不到權力 與機會而受挫苦惱。況且,社會被年長者統治──儘管表面上是由青少年做主。如果像時下青少年的口號一樣,覺得三十歲以上的人不可信賴,那麼他們就主動放棄 了權利。他們已經承認,自己既不可能成為權力伙伴,也不可能推翻權勢。

延長教育年限最嚴重的影響是,有文憑者跟無文憑者間的「文憑屏 障」,威脅把社會分割為二,這是美國史上前所未見的事。我們正處於險境,只把機會提供給高中畢業、尤其是已完成大學學業的人(然而這些人只占美國年輕人總 數一半以下)。即使普通工作逐漸保留給高中畢業生,我們在知識社會中還是完全否決一個人數眾多的團體的公民權,也就是在取得高中文憑前輟學的百分之十五至 二十的年輕人。而且,我們明顯縮減這半數人口的機會,只因為他們沒有大學文憑。

我們不提供機會給沒有高等教育文憑者,就等於拒絕許多能力 強、智慧高和潛力大的人參與貢獻並展現成績。除非在學術界工作,否則學業能力跟生活與工作能力並沒有太大關聯;我們沒有理由認為,文憑能證明個人能力。若 把文憑當成年輕人「潛力」及未來表現與能力的最終測試,人類的成熟發展就太不均衡。即使文憑只錯估一小部分人(比方說四分之一的人被錯估),我們仍負擔不 起損失這些被不當篩選掉的人的後果。事實上,這個比例可能更高。因為即使就白人人口來看,上大學主要跟偶然、家庭傳統、財富、地方習俗或遇到好老師有關。 目前美國每年的大學畢業生中,有四分之三以上的學生家長沒上過大學。反過來說,家長沒上過大學的學生有半數以上因為特別受到鼓勵,所以接受大學教育。

學 校必須接受這項事實:文憑已成為取得外在機會的手段,因此學校有義務肯定成就的類似途徑。不靠文憑自己闖出一條路的能人之士獲取文憑的途徑,至少跟循規蹈 矩取得正式文憑者的途徑一樣好、一樣值得敬佩,也一樣有價值。學校為這些人設計的「獲得文憑」課程,當然一樣是高標準,跟上學取得文憑的標準沒有差別。

如果我們不去除文憑屏障,就會把機會變成夢魘,文憑也會變成歧視的象徵。這會讓我們的社會和經濟更窮困,剝奪我們累積的重要人力資源。如果不去除文憑屏障,我們的理想將受損,我們的專業會被嘲笑。或許更糟的是,頭銜的自負將取代成就的驕傲,成為知識社會支配一切的情緒。

Tuesday, March 14, 2006

Interview with Rick Warren

This is a forwarding that I received from Ling Pui this morning. Although not a lot of people visit my website, for those who aren't in Ephesus mailing list, I would like to share it with you here. I'd rather do this than bombard your mailbox with my forwarding... some people really hate it and may filter me as spam if I do that! Hahaha....

You may wonder, who the heck is Rick Warren?! For those who aren't concerned with the christian community, don't read New York Times (his book Purpose-Driven Life was on The Bestsellor List for advice book for consecutively 149 weeks) or Time (he was featured as one of the 25 most influential evangelicals in the State in Feb. 07, 2005 issue of Time), here is the most unbiased link I've found that describes him.

Well.... I guess you can find it yourself...

And to be honest, although I have given the book to my friends, I have not spent the time to read it. C'est dommage!!!!

Here it goes:
Interviewed by Paul Bradshaw, University of Notre Dame, USA

"People ask me, what is the purpose of life? My response is : In a nutshell, life is preparation for eternity. We are made to last forever, and God wants us to be with Him in Heaven. One day my heart is going to stop, and that will be the end of my body-- but not the end of me. I may live 60 to 100 years on >earth, but I am going to spend trillions of years in eternity. This is the warm-up act - the dress rehearsal. God wants us to practice on earth what we will do forever in eternity. We were made by God and for God, and until you figure that out, life isn't going to make sense. Life is a series of problems: you are in one now, you're just coming out of one, or you're getting ready to go into another one. The reason for this is that God is more interested in your character than your comfort. God is more interested in making your life holy than He is in making your life happy. We can be reasonably happy here on earth, but that's not the goal of life. The goal is to grow in character, in Christ-likeness.

This past year has been the greatest year of my life but also the toughest...with my wife, Kay, getting cancer. I used to think that life was hills and valleys - you go through a dark time, then you go to the mountaintop, back and forth. I don't believe that anymore. Rather than life being
hills and valleys, I believe that it's kind of like two rails on a railroad track, and at all times you have something good and something bad in your life. No matter how good things are in your life, there is always something bad that needs to be worked on. And no matter how bad things are in your life, there is always something good you can thank God for. You can focus on your purposes, or you can focus on your problems.
So I began to ask God what He wanted me to do with this money, notoriety and influence. He gave me two different passages that helped me decide what to do... (II Corinthians 9; Psalm 72) First, in spite of all the money coming in, we would not change our lifestyle one bit. We made no major purchases. Second, about midway through last year, I stopped taking a salary from the church. Third, we set up foundations to fund an initiative we call 'The Peace Plan' to plant churches, equip leaders, assist the poor, care for the sick, and educate the next generation.
Fourth, I added up all that the church had paid me in the 24 years since I started the church, and I gave it all back. It was liberating to be able to serve God for free. We need to ask ourselves: Am I going to live for possessions? Popularity? Am I going to be driven by pressures? Guilt? Bitterness? Materialism? Or am I going to be driven by God's purposes (for my life)?

When I get up in the morning, I sit on the side of my bed and say, "God, if I don't get anything else done today, I want to know YOU more and love You better." God didn't put me on earth just to fulfill a to-do list. He's more interested in what I am than in what I do. That's why we’re called human beings, not human doings."

Well, that's it.... whoever has Purpose Driven Life and is willing to lend it to me will be truly appreciated :)

Monday, March 13, 2006

Thoughts about the next generation

I was trying to write a big blog entry for the past two days and they are still sitting as drafts in my storage. However, I ran around two articles recently and I have found out profoundly disturbing.

One is from washingtonpost, which talks about the people of this generation constantly try to evade from being responsible. It is sort of true, when nowaday most of the time people always refuse to apologize, try to complain as if we have done no faults. It surely explains why I am being so irresponsible lately because in general I tend to think myself as a decent human being, not realizing how cruel and uncaring I can just be.
The other article is about a social worker
who decides to quit after witnessing the true nature of the world under social welfare. The reason it strikes me is not only because of atrocity that have been done when the majority of us are just obvious. It's the fact that we are always investing our time and money in trying to help 'some' people, yet the society as a whole does not benefit. Of course, what motivates me to think of it has a lot to do with the on-going Ephesus coffee house planning. Indeed we are trying to introduce people to the church, the fellowship, while trying to break some of the myths that people generally have about Christian, and I am totally for it. Yet I cannot help but think of the people who are truly suffering: if Christ were here today, where would he be? Staying in a church and try to ask the church to organize a revival meeting, send out invitations to friends and family to come to listen to a guy named Jesus talks? (well.... it's generally how it works nowaday and has become main channel of evangelism) I think he would much prefer to walk on the St. Laurent, St Catherine, or St. Urbains, and help the needy, the blinded, the lame~ Yet today I have remained in my comfort zone instead of stepping out~

(And it makes me appreciate the Montreal Project that the Campus Crusade was doing. I may not have the courage to ever do that... but what they were doing was a genuine effort to lift up the society and worth our appreciation)

Well, hopefully I will not get into trouble by writing this... for those who are offended, I will apologize to you again.... it is just a personal blog after all and it's just a stupid man's ranting....

Tuesday, March 07, 2006

Tranquility before the storm

Originally, I promised myself that I must write something after I finished writing the project proposal. However, upon finishing the proposal, I went to lunch with Kelvin, Rosinni, Byron, then waited at McGill CAPS for an hour while reading Steevy's Blog about Godel, Escher, Bach.

When I got back to the office it was after 3:30 pm already so I began reading 明報 and 中時, while at the same time trying to solve some combinatoric questions. While the math part was at least entertaining, I realized that reading those two newspapers have become my one single worst addiction in the past......maybe 4 years!!! It has become a ritual that everyday after 3:30, whenever I am connected, I will incontrolably type the 'word' into the Firefox and click 'Enter', and waste another hour browsing. 苦啊, 苦啊, 誰能救我脫離這取死的身體呢? Those who are Chrisitians and know the Bible well enough should understand what I mean.

Speaking of the Bible, I just stumbled upon an article from the washingpost today. It basically talks about a bible scholar who became an agnostic when he found many contradictions in the Bible. Well, there is not a question that I haven't asked myself before. I thought about posting on the Galilee board, unfortunately the board seems to be in perpetual maintenance under the current leadership and NOBODY, absolutely NOBODY, seems to post anymore. Although, yea, one could've said, "Why don't you post something then?", but I have already left and, when your posts are ignored, I would rather just post on my own blog. The ignorance of the mass always leads to stagnance and worse......just indifference.

Well, I've said it! But I still hope that Galilee can flourish, and mend the gap between the elderly and the newcomers. Too bad the Great Ephesus Fellowship doesn't have one and I can foresee that probably it will take a long time and given the lesson that I learn from Galilee, maybe none is better after all :)

Anyway, back to the article from the post. I guess the Dr. Ehrman, although describing himself as a 'happily agnostic', must be a lonely man. To be honest, some of the christians have (and they should too) ask this question: Is Christ real? Well, I guess many just decide to ignore it or answer it superficially (again the ignorance of the mass) because doing an honest retrospection and give an alternative answer would simply alienate you and the self that you know, that you're familiar with.

Recently, I talked with a person whom I truly respect who absolutely inspired me when I was young, and I was saddened to know that he thinks religion just doesn't work for him anymore. Yet, it is admirable that at least he asked this question. Most just say, "What the heck, I will just be what I want and occasionally be a christian to satisfy myself".

True though, once you know more, you become more and more disillusioned. Other than being bored out of death by Laviticus and eventually decided to skim through it, it takes some time to reconcile the Lord who flooded the Egyptian and crushed the Canaanites like ants as the same Father in Heaven who so loved the world that he gave his only begotten son....

At the end of the day, I conclude that, it all comes down to personal experience. Have you experienced God's presence? Are you sure that He has helped you and taken you through your tumultuous time? If so, then now am I ready to declare that my past is only a construction of human irrationality and illusion? Am I truly a product of mere probability rather than a creation?

Maybe our past and experience are irrational and subjective, but I've found, at the end of the day, and it is the only thing that carries us through the turmoil. Maybe it is what faith is all about.

Btw, after trying out the "sandwich place in the corner" behind McGill bookstore, I can still confidently say that Thompson House restaurant remains the most economic place that serves decent food around McGill. Any objection???

撒旦的會議記錄

今朝check email 時就收到我女朋友的forwarding. 雖然也不是第一次看這個post, 但我想把它記下來, 跟各位分享分享...



「會議記錄」是以英文為原文, 但十分有意思, 所以被譯成中文
 

你曾否收到以下一份「會議記錄」呢?
 

身為跟耶穌的人或未跟隨耶穌的人, 你會有什麼反應及行動呢?
 

小心! 牠們正在取笑我們…….
 

撒旦會議記錄
 

撒旦向全世界的邪靈招開了一之會議。一開始牠便說:我們不能繼續讓基督徒返教會。不能繼續讓他們讀聖經並從中知道真理。我們更不能讓他們可以與他們的救主耶穌有一個親密的關係。因為只要他們與耶穌相知相愛,我們的勢力就必定盪然無存。所以讓他們返教會但偷去他們時間以致他們雖彷彿活在耶穌中,但卻無法與耶穌基督建立真實的關係。這就是我今次開會的目的了。」
 

接著繼續說:「分散他們對救主的專注及維持他們所有時間都是在那種與主耶穌似有實無的關係中」
其中一個邪靈叫道: 「我們可以怎樣做到呢?」
 

撒旦回答:「不斷讓他們忙碌著一些對他們生命不必要的事並且為他們炮製無窮無盡計謀去充斥他們的思想。」

繼續說:「引誘他們不斷的消耗、消耗、消耗,不斷的借、借、借」說服他們的妻子們去做一份長時間的工作及他們的丈夫一星期做足七日每日工作至少10-12個鐘以致他們大家完全無法享受生活及無時間陪伴他們的兒女。只要他們的家庭快快被破壞,他們自己就連這個可以舒緩他們從工作中得的壓力的地方都無了。」
 

極度刺激他們的思想以致他們無法聽到神微少的聲音。誘使他們在任何地方都開著聽著收音機或其他音響器材。讓他們的TV電視機、VCR錄影機、CDs鐳射碟及PCs電腦不停在他們的家播放, 不單如此,更要在他們身邊所有接觸的環境包括餐廳、店舖都不停播放著不屬神的音樂。這樣就會阻塞他們的腦筋及打挎他們與耶穌的聯合。」
 

為他們的咖啡桌工作桌充斥各種各類的雜誌及報紙。要用各種各類的新24小時的將他們的腦筋搗碎。用各類型的廣告牌入侵他們的駕駛時候
 

「在他們的信箱及行街時塞滿不同種類無用的宣傳單張、新聞信息、優惠贈卷、產品試用及思想傳播叫他們睇都睇死他們、用都用死他們為止」

「不斷讓那些骨廋如柴又美麗的模特兒充斥在雜誌及電視上好叫他們的丈夫們相信外邊的女士總是更有吸引力以致他們開始對自己的妻子不滿足。讓他們的妻子又因忙碌過度到不能在晚上時愛他們的丈夫,不單如此,讓她們亦有頭痛。若果她們不能給予她們丈夫需要的愛,他們就會開始另覓新歡,這樣可以很快的破壞他們的家庭。」
 

「給他們製造一個名叫聖誕老人的人物擾亂他們正確教導他們子女聖誕節的真正意思。在復活節時為他們設計復活蛋及復活兔以致他們不會再講耶穌的救贖及耶穌勝過死亡和罪的能力。」
 

「就是他們的娛樂也不要放過,讓他們玩樂得過份而倦死。讓他們因太忙碌而無法到大自然欣賞神的創造。取而代之,給他們各種各類新奇的公園,運動項目, 電影,音樂會,最重要是叫他們過度沉迷。忙碌、忙碌、忙碌」
 

「在他們快樂的屬靈同伴相遇中,引導他們參與那些閒言閒語,好批評中, 以致他們忙碌於那些而離開我們最討厭他們的良知道德。」
 

「切記用那些似是而非,無關痛癢甚至他們會認為有意義的事擠擁他們的生命以致他們毫無時間去尋求耶穌的能力。不要多久,他們就會很快的用自己以為有的能量(己力)來生活甚至不釋犧牲他們的健康及家庭, 只是為了那些似是而非,無關痛癢甚至他們會認為有意義的事, 這是必定可行的,這是必定可行的。」
這個似乎是一個可行的計劃!
 

邪靈們已經熱烈地開始好叫那些全世界信耶穌的人愈來愈忙碌, 愈來愈匆忙, 走來走去,都不知道正在做什麼。然後我們就會發現愈來愈少時間給神及神為我們預備的家庭。更加無時間去告知其他人關於耶穌的能力可改變生命。
 

我想問題是:「撒旦的計劃是否真的會成功呢?」你的決定將會成為牠計劃的成與敗。
 

你可知道Busy 的意思嗎?
B -eing 正在
U -nder 處於
S -atan's 撒旦的
Y -oke? 軛?

Monday, March 06, 2006

Staring from a sunny day

Well. Here it goes... my first blog on March 6th, 2006 was born.

I started this blog, mainly due to the motivation to this site that I read... I was reading it until 3 in the morning and finally realize that rather than just sitting (or lying) on my bed reading blog, why don't I just start one?

So here is the site that totally inspires me. Best piece of reading since I read Paul Graham's, and You and Your Research by Rich Hamming last month.

Of course, this blog website will post five things that I am most interested in: church, fellowships, Chinese political history and politics, and life being a graduate student, and maybe programming... hahaha...

拭目以待吧!

P.S. When I googled the web for sites with this chinese idiom most entries used 試目以待, which is incorrect. So I searched and found a site that gave me the corrected 'spelling'~


And...please feel welcome to correct any grammatical mistakes that I've made :)

原人 上 (Yuen-yan....)