Tuesday, October 31, 2006

Computer Act II

My Skype is not working: the mic just can't receive anything no matter how loud I speak to it. After trying out with Fam, I heard his "Anybody home?" but my calling of "SNAIL!!" went no where.

The verdict turns out the D945PSN 'classic' board has some problem with the audio driver. Before I start, here is my system specs with my own judgement on their respective quality/usability in the bracket(), with A being the best, B above expectation, C meet the expectation, D below expectation, and finally F, fail:

  • Pentium D 2.8 dual core processor ( D )
  • Intel D945PSN motherboard ( D )
  • 2Gb PC4200 DDR2 RAM ( B )
  • Leadtek Winfast 7300GT TDH video card ( C )
  • Seagate 150GB SATA drive ( B )
  • Seagate 200GB IDE drive x 2 ( B )
  • Lite-On DVD Writer ( D )
  • iCute medium tower ( A )
  • Cooler Master eXtreme Power 430W ( A )
As you can see the overall rating for me system is a C, with the culprit of the Intel CPU + motherboard. The DVD writer is also not functioning well because while it is reading, it is very obvious you can feel the drive really revs up the motor to extreme speed. From college physics I recall there is preservation of angular momentum. I wonder if it was true for my drive, it would have had enough energy to run my car for a year or so.

Initially when I first went to purchase these parts, the candidate I had was AMD Athlon64 X2 3.6K with an Abit KN9-Ultra, but the salesperson told me these were out of stock and Intel CPU + D945PSN were what I could get without waiting. Now only I realize why the Intel goods were in stock while the AMD's were not. :( The DVD writer was chosen by myself because I learn this model can be recognized by the OS X. That is another story though.

With my system in a ugly state, I don't have many options. Either I can reinstall the system and hope for the best, or I can get out and buy new CPU + mobo. Now I am pursuing option #1.

Monday, October 30, 2006

Forgot to Install Skype!!

Over these few days I have been crazy optimizing the system to make it more useable, but I forgot to install one thing: Download and install Skype as promised. Oh, what am I doing here.....?

This will be the first thing to do when I hit home.

Blame it on MS for delivering such mediocre product, which is partially true. ;)

Lesson Learned:
Must prioritize my tasks and stick to the schedule.

Sorry about that....

Sunday, October 29, 2006

Sunday Activities

10:00 Woke up, went out to have breakfast. Bought a copy of newspaper and found out the news isn't pretty as usual.


11:30 Rolled my sleeves and cleaned up my PC. Reassembled the components to make it saner and to make myself happier.


System before clean up


My PC before the clean up
System during clean up

12:30 Cooked a veggie broth and had a quick lunch

13:00 My DVD writer was set as slave, conflicting with another IDE hard drive, reset it as IDE master. Voila, now they can play well together. Boy, the system is as hot as a radiator, too bad there is no winter in Malaysia.


14:30 Put everything back.
System after clean up (OK, still quite messy, untameable entropy)


14:45 Started to install Slackware 11.00
Package installation WIP

15:15 It is obvious the testers at slackware didn't test the packages on internationalization because many language packs are broken.

16:00 After I deselected the internationalization bundle everything ran fine.

17:00 Windows didn't boot properly, nvm, I went out hiking and decided to handle it after dinner

19:00 Had dinner. Windows failed to boot because after installation, the user has to manually toggle the boot flag through fdisk and reruns lilo to write the configurations back. Did that, reboot, Windows logo appeared.

19:15 I have a dual boot machine with XP and Slackware 11.00

Saturday, October 28, 2006

MS Sticker

I was having problem to deal with the MS sticker bundled with my PC, I found Paul Graham's idea illuminating:

Ok, enough MS bashing for the day.

Original URL: http://www.paulgraham.com/designedforwindows.html

How to Lift a Rock and Hit Your Own Toes (Hard)

Again today is a fine Saturday, and again, I have nothing much to do. My little projects for the day will be to clean up my room (wipe the table, keyboard, desk lamp, and cabinets), move my new PC into place, and install back my favourite Linux distro. The main reason for the last project will be clarified in detail shortly.

Clarification: The mug on the table contains Chinese tea, not beer (yet), and I am puzzled by the clarity of this picture: It looks too nice to be from my V3i.

While waiting all the live-updates to update themselves, I have been pondering upon this question: Will sane, educated, and presumably rational persons lift heavy, jaggeds rocks to hit their own toes? As metaphorical as this thinking goes, I have found a solid example these days when dealing with Microsoft Windows. I will take three issues of MS Windows as examples: overbloated registry, nasty spyware/adware, and rampant viruses.

Due to brain-dead designs, MS Windows (from 95 until XP SP2) stores all configuration information in a messy dumping ground called Registry. It is common to have registry file as large as hundred of megabytes for a heavily used machine (e.g. office machine). Since this file is growing because of buggy uninstall programs and/or continuous installation of new programs. Windows has to spend more and more time to parse this ever growing monster. As a direct consequence, performance of the machine is severely degraded (ah, this time Intel will approach and tell you Moore's law. Honey, time to upgrade!! Nice plot, right?). To address this issue, we need a tool to clean up the registry (highly impractical to clean up manually) with some sort of registry cleaner, say Registry Mechanic which costs AUD$49.95 (roughly USD$40) per seat. Fine, you dow out the dough and take the hit. Wait, don't sigh your relief yet, this is just the beginning.

Now, we have spyware/adware which typically are web-based programs that exploit vulnerabilities on crappy web browser (read: IE) and install nasty small programs into our PCs. Want to resolve this? Sure, I have found Ad-Aware from Lavasoft to be reasonably effective. The price tag for this starts at US$ 26.95. The good news now is we are kind of protected while surfing the net, the bad news is we are only kind of protected, not totally protected. No program in this world can give you 100% guarantee on its effectiveness, so we will need two programs from different vendors to increase the coverage. Again this will be USD$30-$50 of set back on our budget. The same rhetorics go to viruses on Windows platform and the anti-virus software associate with that.

The latest trend involves ubiquety of broadband access. The bright side is proliferation of information, but this also literally opens up most household computers to the world. Usually these computer owners aren't tech savvy and most have basic amount of IT knowledge. Understandably the OS of choice will be MS Windows, but the track record of Windows has been sordid. Given it is unreliable out of the box, solution? Personal firewalls with similar lines as the previous items. Pay up to get this issue alleviated (note, it indeed is alleviated, not eliminated)

After wrestling with these utilities for these days, I just feel like I have lifted a rock (the purchase of Windows) and hit my own toes hard (has been wasting time and energy to keep track of and clean the registry, viruses, firewall, etc.) The simple solution will be just reformat the hard drive and install Linux, however in order to play games that are only available on Windows, I have taken a compromise and allow my system to dual boot: my default system is Linux, but if I have a specific need that demands Windows, I will boot into Windows. Until now this is what I can do to reduce my headaches and regain some sanity. Isn't that a computer is a productivity tool to start with?

So Dear Reader, have you hit your toes today? (TM) (R)

Thursday, October 26, 2006

Analysis of The WRT54G Failure

[Updated Nov 26, 2006]
This post has had over 50 hits from Google on the keywords "wrt54g hung torrent" in less than a month (More info on wrt54g issue, click here). If your wrt54g has the same problem, join me and complain to Linksys. I am boycotting LinkSys product for the mean while until this problem is resolved.
We will have better products in the long run if we exercise our right as consumers. Thank you.

[Updated Nov 11, 2006]
Two bad news: First this router seem to have some interoperateability issue with Linux, and second, LinkSys tech support is proven useless.

Under Linux, I managed to get connected to this puppy. In fact I am typing up this blog on my Slackware 11 machine, however the catch is the connection down time is randomly distributed, from 10 minutes to a few hours.

Second thing, as mentioned below. This flimsy small router can't take the heat of full-throttle bit-torrent connections, therefore I tried my luck with Linksys support staff. But they are far from helpful, instead of looking at my problem, now they blame their router's gradual-death-after-reset was due to the speed of my network, duh!

Dear Free-Chai,

You have mentioned that you have a fiber optic connection; our router is designed for Cable and DSL connection. The reason why you are encountering the problem might be that the router can’t sustain the speed provided by your fiber optic connection. I suggest please lower down the MTU to 1200. If this will not solve the issue, you need to put a hub between your connections (internet connection-hub-router).


Sincerely,


Cheed (Badge ID 19574)
Linksys – A Division of Cisco Systems, Inc.

P/S: I changed the MTU to 1200 as suggested, still going nowhere.

Regarding to this support staff's theory on fibre optic speed, I totally disagree. The optical fibre is pulled to a main switch for my 25-storey apartment building and then distributed to individuals using standard Ethernet cat cable. This layer 1 thingie _shouldn't_ affect the functionality of the router which operates on mainly layer 3 and above. Moreover, how do you explain the gradual death of the router after a couple of hours?

Too bad I can't return this piece of equipment (there is literally no law in Malaysia for return/refund of faulty merchandise, well, at least the shops will ignore and laugh at you. Technically you can go to the small-claim court and fight, but nah, not worth it)

Should you ever consider to buy WRT54G, you may want to reconsider your choices.

=====================================
I kind of confirm the reason of my router lock-up is due to TCP connections are generated faster than they expire, given the puny memory my router has (8MB), the router crashes after a few hours as number of connection states rockets.

The reason is simple: TCP is a reliable stream delivery service which preserves the orders of the TCP frames, hence once a TCP virtual circuit is in place, it will prepare itself for service and starts a count-down timer at the same time. When a timer expires, the computer will declare the said connection is dead and returns appropriate status code to the relevant application. Hence this count-down timer is a well-thought-of design toaddress the unreliable nature of underlying networks (99.99% IP networks, even on ultra reliable ATM networks people want to run IPoA, duh). The price for this bit of reliability is each TCP-enabled device will have to keep a state table on all TCP connections, scrubbing it regularly to weed out those connections with expired timers.

Advent of P2P applications change the whole landscape. The characteristics of P2P networks are extreme fluidity, and high unreliability. The unreliability part alone TCP can handle reasonably well, but the fluidity kills it. Fluidity refers to the situation there are many peers leaving and joining a node simultaneously as each of them contribute a small portion of a certain download/upload. This seemingly harmless operation poses a serious concern for the device in terms of updating the TCP state table, especially to those devices with flimsy memory footprint like my WRT54G. Simple queueing theory is applicable here: if input rate (connection creation rate) is higher than output rate (connection time-out rate), the queue length must be infinitely long. This is exactly what our problem is: our queue length, aka the memory size, is very modest, therefore in a run of several hours, the router stores so much data it can't even have enough data for swapping, so finally it says good bye in a Windows way, without the blue screens.

Wednesday, October 25, 2006

BitTorrent vs. WRT54G

I have been using Bit Torrent since day one and little did I realize my router's instability is tied to it. After some net surfing, I found this and it make a lot of senses.

My router can't cope with so many connections spawned by BT, so finally it decides to give up and die. Duh.

Tuesday, October 24, 2006

The High Tech Ordeals

I am evolving, at least, in technology. You see, in less than 1 month, my place is evolving from wifi-less, uni-computer to wifi-equipped. Moreover, now I am boasting the proud owner of two computers. Think about it, I have enough computing muscles to rival the super computers forty years ago! But wait, did I say I am proud?

I am not proud at all. As my loyal reader, you may recall I outlined my struggles with the WRT54G router, which until this day, a pain in my butt. Now, to make my life even more interesting, my newly bought LiteOn DVD writer (Model Number: SHW-160P6S) can't even recognize the software CD bundled together with it. I went to the website of the manufacturer and found there is a firmware upgrade for my device with a cryptic note "To recognize more files". I guess my device is still in learning stage. After flashing the firmware, things remain the same. I am looking forward to yet another upgrade to save the day. Talking about software upgrades, I used to have a habit of updating all the software to the latest and supposedly, the greatest, but after working in InHell for a few years, I change my mind and stick to a well-known saying "If it aren't broke, donna fix it". In case you are wondering, I am typing up this blog while downloading all those enhancements and fixes and the best and greatest software. Earlier when I first installed the Windows XP home edition, it reported it needed to download 62 patches (yes, I got the original version of XP, I am always a law-abiding guy. ;) Sometimes I keep on thinking why I dow out so much money, but I still need to pay for broadband access and time + energy to deal with such crappy product? While M$ yells unfair through the roof for piracy, for legitimate users like me, it is even more unfair to get such mediocre product. Imagine if a car needed a firmware patch every month, most probably that car company would be out of business long long time ago. Maybe the society is very lenient to software guys, so I am lucky in this way.

Ok, next time if you were in any emergency situation but found out your beloved big M walkie-talkie suddenly goes dead, please accept my apology. You know, it happens (try turn off and on again). I promise I will send you the latest firmware upgrade, free.

Sunday, October 22, 2006

Review of LinkSys WRT 54G

Updated Oct 23, 2006:
Many people still regard this router runs Linux and hail this (the using of Linux) as a success for open source. Sadly the story doesn't end in such cozy-feeling way. Starting from version 5, there are a few changes: the most obvious one is WRT54G is switching to vxWorks for its smaller footprint than Linux. As a consequence, the flash and memory are trimmed down to 2Mb and 8Mb respectively from the previous 4Mb and 16Mb (50% reduction, must be a great salary increment for the person who pulled this off).

As a comparison, the vxWorks image for 425 runs to around 5Mb, and for the latest 465 runs to 10+Mb, I start to realize why my ex-co is losing its glamour.

However, Linux is not dead yet because LinkSys repackages the old WRT54G and brands it as WRT54GL (related news here) to cater for the "Linux hobbyists, hackers, and aficionados." , but you gotta dow out US$20 more for the extra flash and memory.


===================================================
I have had broadband installed at my place, so I went out to buy a wireless router, for some reason I chose LinkSys' WRT54G.



The decision is a bad one because this piece of equipment started to give me headaches since day 1. It will mysteriously go dead after a few hours of operations and acts just like the classic windows 98: multiple reboots required everyday.

Passed Haian Shodan

Yes! Passed my Karate green belt (Haian Shodan) test.

In case you are interested to know what did I do, here is a nice video on the Haian shodan kata (means pattern). This person is an expert, watch how confident and powerful his strikes are.

Saturday, October 21, 2006

一只猫的简约爱情(转载)

我第一个中文贴子。原因简单,平时都是在公司灌水,用中文太显眼了。

在西祠发现了一个好贴子:

一只猫的简约爱情(转载)


曾经走过很多孤单的日子,
风是透明的,
天空是蓝色的,
草儿是绿色的。
孤单的我,
总是寂寞而写意地享受一个人的浪漫,
那是多么清纯和风清云淡的日子啊。


有时候需要一个人,
在寂静的夜里,
倾听那心的碎片飘落的声音,
那不是我伤心的哭泣,
而是剥落过去的忧伤,
让时间舔舐自己的伤。


在梦里,
我会带着心爱的翅膀,
离开这个忧郁的城市,
随着风,
伴着星光,
飞到属于我内心深处那很久很久以前的那片绿洲。


每一颗流星都寄托着我往昔的一段心事,
不想细细的数,
只想看到它们在我眼前飞过,
然后向它们许下一个恒久不变的愿望。


遥远的星河里,
有没有我想要的那一颗星星。
也许只有在那里,
我才能找到那遗失很久的回忆?
在那里,
泪水会不会也象星星那样闪闪发光?


梦中的天堂,
是不是和我想象的一个模样?
是不是没有寂寞和孤单?
会不会遇到远方的你?
你在哪一个城堡里等我?


每次在异乡抬头看故乡的月亮,
总会想起你,
是不是你也在地球的另一边看着同样的一个月亮?
如果是,
请让月亮稍个信给我,
告诉我你的心还是一样的透明。



很希望在那片风清云淡的天空下遇到你,
不需要那么无间,
远远地看着你,
衬着蓝天碧草地你的身影,
很温馨,
让我很感动。


如果可以,
想轻轻地拥你在怀里,
在这个不属于自己的城市里,
想和你写一篇关于猫的,
不需要很绚丽的文章。
可以吗?

Friday, October 20, 2006

Optimal Function Size

How big should a function be? Someone has very practical answer, paraphrasing what the author said:

"Once my friend interviewed a candidate for programming job, in the interview my friend casually asked how the candidate tell if a function is too big. 'When it is bigger than my head', the candidate replied. My friend was puzzled, thinking this candidate was referring to his brain capacity. The candidate went on to explain 'I will stick my head on the monitor and if the function is bigger than my head, it is not good'."


This is probably one of the most practical definition for optimal function size I have seen so far, mainly you have something very measureable during formal code reviews. i.e. What? you think your function is all right? You have a 2-feet face?

If I were the interviewer, I would have hired that guy.

So dear reader, do your have bigger-than-your-head functions today?

Community Service

I attended a community service the other day to help cleaning up an old folk's home. Helping the senior people indeed a nice task, moreover this event was sponsored by my company and we did all these in work hours. Instead of tracing run-away threads, tracking mysterious boot failure, or debugging occasional core dump, we swept the floor, mopped the fan and entertained the old folks (I did more of the first two than the last one, honestly I even don't know how to entertain myself, except the regular Carlsberg Code Hack sessions).

Wednesday, October 18, 2006

Demise of Lisp in JPL

An interesting article on demise of Lisp in JPL (Jet Propulsion Lab) to give way to more 'hip' programming languages like C++ and Java:

http://www.flownet.com/gat/jpl-lisp.html


If you ever spent any respectable days in the tech industry, you will see the industry is usually not controlled and managed by the ablest and most competent people
. In fact, most people (especially managers and up) are:
  • Clueless about the technology
  • Always assuming the hottest technologies are the best, regardless of the skillsets of the engineers and the applicability of the problems at hand

Tuesday, October 17, 2006

Amusing Quotes

Start to collect some interesting quotes whenever I see them:

  • A 'committee' may not be a very positive term to some people, as implicitly pointed out by the following note:

    "Common Lisp was designed by a committee (but a pretty smart one) to combine, rationalize, and standardize a number of high-powered, annoyingly incompatible dialects of Lisp." - CS325 course note of Northwestern U

Monday, October 16, 2006

Chronology of My Weekend, Fibonacci Number Hack, etc.

As the weekend loomed near to me, and as usual, I had no place to go and had my usual entertainment in Saturday evening: Carlsberg Code Hackathon. The ingredients are a bottle of Carlsberg (the more the merrier) and a problem on hand to play with. In today's issue, I was attacking the problem of my previous recursive Fibonacci number routine in C and Haskell.



In my previous post, I had a seemingly 'elegant' solution of the fibonacci sequence using recursion, but alas, it was extremely inefficient and basically dropped dead at n > 40 (thanks to the Soothsayer for asking its asymptotic performance). Here is my second attempt to write a non-recursive version of Fibonacci number:


int
fib(int n)
{
unsigned long long n_minus1 = 1, n_minus2 = 1, current_value = 0;
unsigned int i = 0;

printf("fib(%3u) value is 1\nfib(%3u) value is 1\n", 1, 2);

for(i = 3; i <= n; i++)
{
current_value = n_minus1 + n_minus2;
n_minus2 = n_minus1;
n_minus1 = current_value; printf("fib(%3u) value is %llu\n", i, current_value);
}

return 0;

}/* fib */
The new code runs fine for at least n = 65536 (i was impatient to test for numbers greater than that).

How about the Haskell version? I will post it later.

Saturday, October 14, 2006

Boring Saturday Evening, Unix Jokes

I stumbled on an old newsgroup post and found it is quite amusing. Well, lonely engineers are all alike....

Reproduce at its entirety as follows:

From: rjchen at phoenix.Princeton.EDU (Raymond Juimong Chen)
Subject: Re: UNIX jokes: Here goes...
Keywords: rec_humor_cull, usenet, chuckle, originally appeared in 1990
Newsgroups: rec.humor.funny.reruns
Date: Mon, 19 Nov 2001 7:20:00 PST

The following are strange error messages you can get Unix to generate.

They were culled during the summer of 1988 from rec.humor. As we all
know, real error messages have two parts: a message code, and a return
code. Ideally, the message code is hexadecimal, the return code is
octal, and the manual explaining the error messages uses decimal. But
Unix (tm), in keeping with its characteristic lexical confusion,
produces error messages which, although designed to make the system
appear sentient, and conversational, ultimately make the system seem as
stupid as it is. Note that the '%' prompt indicates that the command
should be issued from the C shell, and the '$' prompt indicates the
Bourne shell. Enjoy.
% rm meese-ethics
rm: meese-ethics nonexistent

% ar m God
ar: God does not exist

% "How would you rate Reagan's incompetence?
Unmatched ."

% [Where is Jimmy Hoffa?
Missing ].

% ^How did the sex change^ operation go?
Modifier failed.

% If I had a ( for every $ Reagan spent, what would I have?
Too many ('s.

% make love
Make: Don't know how to make love. Stop.

% sleep with me
bad character

% got a light?
No match.

% man: why did you get a divorce?
man:{sp 0}: Too many arguments.

% ^What is saccharine?
Bad substitute.

% man woman
No manual entry for woman.

% %blow
%blow: No such job.

% (-
(-: Command not found.

% sh
$ PATH=pretending! /usr/ucb/which sense
no sense in pretending!

$ drink matter
matter: cannot create
Source URL: http://www.rupa.com/pipermail/jokes/2001-November/001818.html

Friday Foray - Flowing Stream's Visit

F.Stream paid Penang a visit on Friday. As one of his pig-dog friends, I was pulled along for a night out together with FS and AS. First we dropped by a pretty classy Jap restaurant for dinner, to our dismay the menu (the spec) and the actual course (the product) is rather out of sync. What served in front of us (it was a unagi plus beef teriyaki bento) on the table was almost 30% smaller than what was shown in the menu.

The engineers at the table instantly concluded that nowadays menu creators are probably taking pictures of the food with microscope. I don't have any picture of the menu with me, or you may be able to make a comparison yourself.

Plan for the nite was to get some drinks to chill ourselves, then at ten we would get to Redbox for a karaoke party for some who-i-don't-know's birthday. We picked a spot in Gurney plaza and settled. Once we had downed a mug or two of cool beer, we started the topics on idiocy of management and the horror stories of engineers with coconut brains. Later CH also joined us and the four Purdue grads started to recount even more horror stories and jokes happened in our respective companies.

The karaoke session was just yet-another-karaoke session, the only good thing I could think of was the food and drink supplies were ample enough so the attendees wouldn't end up singing with scorched throats. In the midst of singing, one of the gals actually jumped on the sofa stool and sang( as shown below, forgive me for the lousy pic quality). I am not so sure why she did that, but my conjecture was most probably she was getting excited to have so many handsome engineers in the room. Well, this we really couldn't help much. :P

Thursday, October 12, 2006

Playing with Fibonacci Number

Fibonacci number is defined simply by the following equations:

y(1) = 1
y(2) = 1
y(k) = y(k-1)+y(k-2) for all k > 2

Hence we will have a sequence like this: 1, 1, 2, 3, 5, 8, 13,... ad infinitum

The Challenge
To code a complete program fib(n) that will generate the first n-th Fibonacci number as compact as possible on the source code level. This is in contrary with the the common code optimization which depend a lot on the hardware and compiler. What I am striving to do here is to accomplish this task with the minimum number of statements.

But first question you, my dear reader may ask is "What is this for?". Answer: nothing, just for the hack of it due to boredom. Subsequent question could be "This is not fair to compare language X against language Y because X is for some A purpose and Y is for some B purpose, etc.", well, I will do this in a way as fair as I could make it, but in the real programming world, you seldom get the tool which is truly apt for the problem in hand. Don't believe me? Join a large company and see.

Any language can be used, including assembly language (bless you though).

You may assume the input parameter n is a positive integer > 2 (to avoid the corner cases) and is always valid and sane.

To kick start this, let's have our first foray in C.

To compile: 'gcc -o fib fib.c'.

#include <>

int main()
{
int i = 0;
for(i=1; i<10; i++)
printf("Fib %d is %d\n", i, fib(i));
return 0;
}/* main */

int fib (int n)
{
if (n <= 2) return 1;
else return fib(n-1) + fib(n-2);

}/* fib */

Monday, October 09, 2006

Review of Moto Razr V3i



I just got myself a Motorola Razr V3i , and here I will share what I have found (4 days so far).
Here is the actual picture of my phone taken with a Sony Ericsson K750I:


Hardware Stuff:
Pros:
  • Slick exterior, cool look
  • Most of the components are robustly built and solid. Speaker phone is clear
Cons:
  • The earphone has no music control buttons on it, so everytime I have to flip open the phone to press on the controls. A hassle when listening to music
  • Picture taken with built-in camera is nearly useless (more on this later)
Software Stuff:
Pros:
  • Airplane mode is useful
Cons:
  • The settings menu is very confusing because although most things can be configured there, email and sms settings are in another configuration menu. Until now I can't find where to configure the GPRS interface...
  • Alarm has only two states: active and it will make noise daily, or disabled and make no sound at all. The user should be able to select on what days the alarm should be active, and if possible, recurrent for a specific duration
To be continued later.... Before I sign off, here are some pictures I took with v3i:


Thursday, October 05, 2006

New Software Protection from MS

Microsoft recently announced Windows Vista and Longhorn will be equipped with new version of software protection 'technologies'. Quoting from the article:

In the fight against software piracy, Microsoft today introduced an innovative set of technologies that will be included in Windows Vista and Windows Server “Longhorn.” The technologies are aimed at helping prevent piracy and protect customers from software tampering while making licensing easier to manage.

The article gives me an impression as if Microsoft had devised a genuine good technology that will benefit the entire human race.

On the other hand, most often I am amazed by some politicians/businessmen who calculate revenue loss like "See, given there are roughly 1 million of pirated product X in the market, with unit price of $10, we are having a lost revenue of $10 million per year!!". Well, what is missing in the picture is the simple supply-demand curve in elementary economics.

Time to download a Linux distro and reformat my HD. Tata