Quote:
Debugging is twice as hard as writing the code in the first place. Therefore, if you write the code as cleverly as possible, you are, by definition, not smart enough to debug it.
MF Global has filed for brankruptcy protection. It is not exactly a big firm, nor a bank. But this could be the start.
Interesting times ahead. (The same way icebergs are ahead of Titanic.)
Where there is cheap credit, there will be a bubble. The US has several bubbles since the late 90s: the Internet, the housing, credit cards and now, student loans.
Total outstanding student loans now exceed US$1 trillion, exceeding even credit card loans — and credit card debt has always been a thorn in American households.
I'll say the current situation with student loans is due to unintended consequences. From what I read, some medical students abused the bankruptcy law in the 80s to discharge their substantial student loans.
Like credit card loans, student loans are unsecured loans, meaning the lender does not get anything in the event of a default. After all, students don't have any assets yet, right?
The law was gradually changed to make student loans non-dischargeable. Yup, you are stuck with it for life.
And what happened? The lenders are now willing to lend more. And education costs went up as well. (Demand outstrip supply due to cheap loans.)
And young people, without knowing any better, took on bigger loans and studied worthless subjects. Well, worthless in the sense that they have no earning ability to justify the cost of education.
And of course, the loan allows them to "live it up" — to live "beyond their means". And that sets them to live a life of debt.
That's why now there are calls to make student loans dischargeable once more. It'll make lenders more prudent, make smaller and more sensible loans, make loans subject to acceptable results, and education will become more affordable again.
Now, even today, there is a way to discharge "student loans". Where there are rules, there are ways to break them.
What you do is to borrow just enough for the first semester or year, then take on as much credit card debt as you can. Live on that. After you graduate, declare bankruptcy. It'll trash your credit for seven years, but you are free after that.
I read about this online. Don't know if it actually works. :hmm:
Today, bondholders are forced to write down 50% of their Greek debt. It is a default. Except that it does not trigger CDS (Credit Default Swaps). It means the bondholders are really out their money and if they bought any CDS for insurance, they were doubly screwed.
(Anyway, CDS is a scam, so it's no big deal, actually.)
Well, it is clear that laws and rules are optional when it comes to too-big-to-fail. Just make them up as you go along.
This is the start of an interesting ride. Finally, something substantial happened.
The first question is, why would anyone else pay their debt? Just "default" and get 50% of your debt waived off!
Dal Negro mother-of-pearl poker chips.
To this day, these are the most beautiful poker chips I've seen. They are slightly smaller than usual, though: 35mm vs 39mm for standard clay poker chips.
However, I couldn't afford them five years ago, and I still can't afford them today.
(One tube of 50 round chips cost about 18 pounds, a set of 25 small plaques cost around 14 pounds and a set of 15 big plaques cost around 12 pounds.)
Very few places carry them, and most of them are out-of-stock! Sets are more worth it, but are even more rare.
I wished I had bought them then, so that I don't have to think about it now. :lol:
But, I think the chance of me owning this set is rather low. I neither need nor want them. I just think that they look beautiful. :love:
Ok, I confess: I want them. :-P However, there are many more things on my wish list before it comes to this. :lol:
A few years back, when I was into boardgaming, I wanted to use poker chips to replace paper cash.
I was looking for plain numbered chips. Most chips have ghastly color combinations. Numbered chips were quite hard to find. (It's now easier.)
Also, it was important that the colors are correct: $1 is white, $2 is yellow, $5 is red and so on; these are standard poker chip denominations.
After much searching, both locally and online, I got a set of 400 gold foil numbered (double-side) card-suit 11.5g poker chips. The chips were affordable, but the shipping from UK to Singapore really kills.
I didn't get the $25 chip (green) , nor the $250 (pink), $1,000 (light blue) and $5,000 (coffee) chips. I didn't think $25 and $250 were useful. $1,000 and $5,000 were too high values. I didn't think I'll use them. Plus, once we reach $1,000, we typically switch to rectangular plaques.
It turns out that I seldom use the chips, because the gold foil number wasn't as durable as I thought. It can peel with moderate use.
So, they are only used on special occasions. :lol:
But I want to use them more often. That's what I bought them for, right?
Legal precedents, lack of protection deter Good Samaritans in China
The story of Peng Yu and Xu Shoulan is not part of China's rich collection of ancient folk tales, but most Chinese are familiar with it nonetheless.
In 2006, Mr Peng, a 26-year-old technician from Nanjing, went to the aid of Madam Xu, 65, who had fallen and broken her hip during a scrum to board a public bus. He took her to hospital and even gave her 200 yuan (S$40).
She returned the favour by accusing him of causing her fall and suing him.
Mr Peng insisted that he helped the elderly woman out of kindness, but the Nanjing court decided otherwise. It ruled in favour of Madam Xu, arguing that Mr Peng would not have helped her if he had not caused the fall in the first place.
He was ordered to pay part of her medical bill, which was eventually settled at 10,000 yuan.
The incident has since grown in notoriety nationwide, and the so-called 'Nanjing Peng Yu case' is often used to explain why many Chinese are reluctant to help strangers.
In the past week, this has seen renewed attention following the ghastly hit-and-run case in Foshan, Guangdong province, involving a two-year-old child. The little girl was struck first by a van on a market street.
As she lay bleeding, 18 passers-by ignored her. She was run over a second time by another vehicle before a rag collector finally pulled her out of harm's way.
Even as an outraged nation threw up its hands in horror, many Chinese were quick to point out that the bizarre outcome of the 2006 case had much to do with the callous attitude of the bystanders.
'The old lady of Nanjing had shoved aside all Chinese people with conscience,' wrote commentator Li Nuoyan on Phoenix News' website. 'It was an ending which no one had expected and a conclusion which terminated the conscience of countless people.'
News reports and netizens have also cited numerous examples of similar incidents since 2006 to show how the Nanjing ruling has had a chilling effect on potential Good Samaritans.
One happened late last year, when a 78-year-old man was found face-down on the ground in a residential compound in Shenzhen. No one offered to help and he died eventually. A security guard who could have saved him said he was afraid to do anything for fear of being blamed.
Another, in August last year, saw an 81-year-old woman accuse a bus driver of having knocked her down and caused her injuries - after he tried to help her after a fall. Fortunately for the driver, his vehicle was equipped with a video camera and he was exonerated by its recorded images.
Indeed, a recent online poll found that 84 per cent of Chinese respondents would not offer to help someone who had fallen on the street for fear of extortion, according to the Global Times.
This unwillingness to help becomes even more stark when set against the widely reported case last week of an American tourist who dived into the famous West Lake in Hangzhou and saved a Chinese woman from drowning.
Many praised the foreigner, but quite a few remarked that the rescuer was very likely ignorant of the risk of being sued which her act of heroism carried. As one netizen put it: 'According to Chinese laws and regulations, if she hadn't pushed the girl into the water, why would she save her?'
But to pin all the blame on the Peng Yu case is reductionist and unfair. Some observers take a longer view, attributing the apparent lack of compassion for others to factors that have moulded Chinese society over the past decades.
They point to the spiritual void left by Mao Zedong's communist triumph, the aversion to standing out and drawing attention to oneself following the trauma of the Cultural Revolution in the 1960s and 1970s, as well as the emphasis on material gain in the past three decades. The headlong rush for economic growth came at a price: an erosion of a sense of community and weakened moral bearings.
This is not to say that Chinese society is devoid of kind-hearted souls, or that there is something intrinsically selfish about the Chinese people. Mr Peng and Madam Chen Xianmei, the woman who rescued Wang Yue, the Foshan toddler, are examples to the contrary.
China is also not the only place that has seen egregious examples of bystander indifference. In 1964, the infamous Kitty Genovese murder case left New Yorkers soul-searching as to what was wrong with a society that allowed a young woman to be stabbed to death outside her Queens apartment while 38 witnesses did nothing.
More recently, in 2008, Jamaican woman Esmin Green died after she collapsed and went into convulsions while waiting for treatment in a Brooklyn hospital. Camera footage showed her lying on the floor for an hour, all the while ignored by other patients, security guards and hospital staff.
China may not be unique, but there is certainly scope for action in the wake of the Foshan case. The authorities, for instance, should come up with laws to protect from liability people who go out of their way to help strangers in distress.
Existing models are to be found in the Good Samaritan Protection Act in California and some European countries. The details differ but the essence is the same: to overcome reluctance to help a stranger that stems from fear of being sued.
Local media reported last month that Shenzhen is drafting similar legislation. It could not come sooner. In fact, other cities and the central government should consider doing the same.
It would be wise, too, to revisit the Peng Yu verdict. As a commentary in the China Daily pointed out last month: 'The Peng Yu case is so influential that it needs to be seriously reviewed... the case is no longer an ordinary one. It has greatly affected our social ethics. The supreme authorities must give due importance to it.
'If our judicial apparatus cannot protect justice, our society will be irredeemably damaged.'
By now, everyone should have read the news — and watched the video — where the Foshan two year-old toddler was ran over two vans and ignored by 18 passers-by.
There is no fairy tale this time. The toddler has succumbed to her injuries and died.
Frankly, I can't be surprised by any news that come out of China. Corruption, poor worksmanship, copyright violations, toxic materials, environmental pollution, I take them as they come. It's a money-talks and free-for-all society. It's exactly like those shows that depict China in 1920s. (I like that era, I must say. Freedom, money, glamour. But it was also a dangereous time.)
But I couldn't help but get misty-eyed when I watched the video.
It is true that being a Good Samaritan can give you legal problems later on. I was surprised when I first read about ungrateful victims. It was beyond my comprehension. But later I understood why. These people could not accept their misfortune and blame it on the person they associate the misfortune with — ironically of all — the person who went to their aid.
It's a cruel world.
Here's what a pragmatic Good Samaritan can do: do something, but don't stick around.
Everyone knows what a Good Samaritan means: a stranger who goes to the aid of another stranger in need.
Jesus Christ told this parable to a Jews audience. But not everyone knows that in the parable, Samaritan and Jews despise each other. It was a shock for a Samaritan to help a Jew.
In today's context, it'll be a Good Palestinian helping an Israelite. It's not something you'll expect.
I haven't logged into my Linux server via VNC for some time. Imagine my surprise when I did so and I saw this error message in red: "Disk failure is imminent".
The reason is due to the reallocated sector count.
I'm a bit skeptical, but I'm not taking chances with my data.
As fate would have it, Thailand is having a flood crisis and much of the world's hard drive production comes from there. (It used to be from Singapore just 4-5 years back.) Although there isn't shortage yet, HD prices have already went up, or so I read.
It is my destiny to buy at the peak. So, off to shopping.
It looks like external 3.5" drives are on their way out. There are now more 2.5" drives. It's obvious why: they are large enough (at least 500 GB), more portable and can be powered via USB port.
But I'm not after portability. I'm after capacity. To my surprise, the most common capacity is still 1 TB. 1.5 TB and 2 TB HDs are rare. I didn't see any 3 TB HD at all.
Some price points: 500 GB (2.5") for $89, 1 TB for $109, 2 TB for $139. These are the cheapest. A 2 TB HD can cost as much as $229. I wonder what's the difference.
In the end, I got a 2 TB WD My Book Essential for $169. (I didn't have much choice; I went to Suntec City instead of SLS.)
I probably still need to get a replacement for the internal drive. Hopefully prices stay the same, or pray that my disk works until the prices come back down!
(As an example, the internal 3.5" 2 TB WD Caviar Green SATA-3 HD currently costs $139.)
But I really hope the disk continues to work. I don't want to reinstall Ubuntu!
And I also need another strategy for a 24/7 server. Why does the disk fail just after one year? How can I make it last longer?
"Gentlemen, it has been an honour working with you."
(I've always wanted to say that! :-P)
Note to self: don't be on the same ship as them.
I used to admire different people at different times because of their deeds, charm or beauty. But I haven't have anyone in mind now.
More interaction!
C uses most of the keyboard symbols for operators and other purposes. The only unused ones are `, @ and $. (_ is not used as an operator, but it can be part of an identifier.)
Some of the operators can be confusing because they have different meanings depending on the context.
There are four uses: as part of if/while/for/switch expressions, to override operator precedence, to call a function and for typecasting.
Gets the address of a variable when used as an unary operator, and as bitwise-and when used as a binary operator.
Dereferences a pointer when used as an unary operator, and as multiplication when used as a binary operator.
Some multiple-symbol operators are too close to one another.
<< is left-shift, but <= is less-or-equal-to. And <<= is left-shift-and-assign.
a+=b
means a = a + b, but a=+b
means to assign
b to a (+ is an unary operator in this case).
a->b
is to access the member b through the pointer a, but
a>-b
is a conditional: whether a is greater than -b.
!= exists, but not ~=. (And != is not an assignment operator!)
An operator precedence table shows how sub-expressions are binded to the operators. For example, we all know that 1 + 2 * 3 is 7 and not 9. * has higher precedence than +, so the expression is 1 + (2 * 3).
It is important to know the precedence table because it allows us to avoid unnecessary parenthesis and makes the expression easier to read.
Some people say they prefer to bracket "to be safe". Bullshit! I'll like to know how they interpret this expression:
a = b + c;
Why don't they bracket it: a = (b + c)
?
Obviously, they do know about operator precedence. It's just that they don't bother to learn the full table.
The C operator precedence table is especially important because it is used as the basis for most C-style languages: C++, C#, Java, JavaScript, Perl and PHP.
The problem is, C got some of the precedence levels wrong — and the error has propagated for over 30 years!
Can the precedence table be wrong? It is just made-up rules, right? We just need to remember them.
Well, there's something call inituitive-use. Let's take a look at part of the table:
3 | * / % | Arithmetic |
4 | + - | |
5 | << >> | Shift |
6 | < <= > >= | Relational |
7 | == != | |
8 | & | Bitwise |
9 | ^ | |
10 | | | |
11 | && | Logical |
12 | || |
Just as we expect a + b == c
to mean (a + b) ==
c
, we expect a & b == c
to be the same. But no, it
means a & (b == c)
.
The bitwise operators (& ^ |) have lower precedence than the relational operators (== != and others), and that's wrong.
Then we look at shifts and bitwise operators. Should a << b
& c
mean (a << b) & c
or a <<
(b & c)
? No preference either way, actually.
Then we look at arithmetic and shift operators. Should a << b
+ c
mean (a << b) + c
or a <<
(b + c)
?
Also, Should a & b + c
mean (a & b) + c
or a & (b + c)
?
Personally, I'll say & and ^ have higher precedence than *, and | should have higher precedence than +. So, the table should look like this:
5 | << >> | Shift |
8 | & | Bitwise |
9 | ^ | |
3 | * / % | Arithmetic |
10 | | | Bitwise |
4 | + - | Arithmetic |
6 | < <= > >= | Relational |
7 | == != | |
11 | && | Logical |
12 | || |
This will highly confuse a C programmer, though!
The best thing to do is, always bracket when mixing arithmetic and bitwise expressions. :lol:
Note that Python and Ruby do the right thing by moving the precedence of the bitwise operators above the relational operators. However, they are below the arithmetic operators. I think this is good enough.
I cannot live without Champagne. In defeat I need it, in victory I deserve it.
My version when I'm not feeling well, especially when I have running nose or sore throat:
I need my Pepsi. In sickness I need it, in health I deserve it.
Although soft drinks don't help directly with sickness, they improve my morale, and hence my body can recover faster.
(I seldom drink soft drinks, but I crave it when I'm sick. :lol:)
Sometimes, there is more than just drugs and science involved. There is much in this world that we don't understand — we must keep an open mind. (But not too open that we believe anything!)
C was invented in 1973. By 1978, it has stablized. A C program written then could still be compiled today. That's over 30 years ago.
What's wrong with C?
One word: it's too low-level as a general-purpose language.
Consider: manual memory management, lack of strings and array containers.
Half the time you are struggling with housekeeping stuff.
And it is way too easy to make mistakes — that can be exploited to crash the program or to gain unauthorized access.
We use strings whenever we deal with user I/O. It is a basic data type.
Does C have strings, or does it not?
The C language recognizes literal strings (such as "hello") and
converts them to an array of characters terminated with '\0' (NUL). And
that's it. The rest of the string support is in the form of the C string
library: strcpy
, strcat
, strcmp
and
so on.
So, strings are just character arrays terminated with NUL.
It is now easy to see the main problems:
Many times, we just want to use strings. We don't care how inefficient it is or how much overhead it has!
Like strings, arrays in C are not what you expect from other languages.
We can define an array with a fixed number of elements (say, int
list[10]
). This is the same as other languages.
In usage, an array decomposes to a pointer to the first element of the array. Most of the time, it does not even know its own size!
We can catch a glimpse of this behaviour with this code:
void fn(void) { int src[10]; int dest[10]; dest = src; }
This does not compile. Not under standard C anyway.
We can copy scalar variables and structures, but not arrays. To copy an array, we need this code:
memcpy(dest, src, sizeof(dest));
It seems confusing until you realize arrays decompose to pointers during use.
Another example:
void fn(char list[]) { printf("%d", sizeof(list)); } void fn2(void) { char list[10]; fn(list); }
In a normal language, we would expect to see 10. In C, we see 4 (on a 32-bit platform). The reason is that the code actually reads like this:
void fn(char *list) { printf("%d", sizeof(list)); }
It's a pointer!
Note that arrays are not pointers. In definitions, arrays are arrays. However, arrays decompose to pointers to the first element in usage. This is a big confusion for new C programmers.
And we ask, can we have an array that knows its own size, stores a variable number of elements and can automatically resize itself? Yes, it can be done, but we have to do it ourselves — in every C program that we write.
Much of C code uses pointers, due to lack of higher-order data types and pass-by-reference. The problem with pointers is that you never know if you need to free them. A pointer can point to the data section, the stack or the heap.
This is especially when we are dealing with variable-length arrays, including strings. It is difficult to create functions that return variable-length results, since they then have to deal with memory allocation. The solution is to pass in an array, but this just shifts the problem to the caller. How is he going to (i) allocate the space, (ii) know the maximum limit?
It's time to add real strings and arrays to C, as well as limited garbage collection. :-D
Sure, the new language won't be directly compatible with C, but it will be close.
There is no need to live with limitations from 30 years ago, no?
Dennis Ritchie, the designer of C and co-creator of Unix, passed away on 8th October.
#include <stdio.h> int main(void) { printf("goodbye, world\n"); return 0; }
His legacy lives on.
A friend asked me to elaborate why I don't like Steve Jobs. Let me quote Mr Stallman, the founder of Free Software Foundation.
Steve Jobs, the pioneer of the computer as a jail made cool, designed to sever fools from their freedom, has died.
As Chicago Mayor Harold Washington said of the corrupt former Mayor Daley, "I'm not glad he's dead, but I'm glad he's gone." Nobody deserves to have to die — not Jobs, not Mr. Bill, not even people guilty of bigger evils than theirs. But we all deserve the end of Jobs' malign influence on people's computing.
Unfortunately, that influence continues despite his absence. We can only hope his successors, as they attempt to carry on his legacy, will be less effective.
He got a lot of backslash for that, of course.
I admire Steve Jobs for his single-minded pursue of his vision and his uncompromising attention to simplicity, especially on the user experience. You can tell he is not just after quality, but perfection.
Steve Jobs is like a hot knife that cuts through glue like butter. We have too many layers and too many inter-group politics in a big organization. We need someone like him to provide a clear vision, and is strong enough to unify everyone behind him.
Steve Jobs also has good showmanship. Everyone should learn a thing or two from him. Presentation counts.
I dislike him for lack of choice. Computers are very versatile machines; their potential is only limited by our imagination (and skills). But Steve Jobs only wants you to do what he says you can do. He wants to sell you an appliance, not a computer.
Missus has never seen this soft-boiled egg contraption before. It's very simple to use: just pour boiling water inside and wait for it to leak away. The eggs will be perfectly soft-boiled after that.
While it works nicely, I always found it a bit of an overkill. Just put the eggs into just-boiled water and time 3-4 minutes, depending how well-cooked you want them to be.
I had a shopping voucher that I needed to use before it expired, so I decided to buy a cultery set with it.
I'm looking for a very plain traditional design. This set is marginally acceptable, except that it is 24pc instead of 30pc (lacks desert fork).
(Not that I have much choice. There were only a few sets to choose from.)
This set costs RM110, but the MSRP is actually RM100. An online shop even sells it for RM75! :-O Yes, the shopping mall I went to is overpriced.
After I bought the set, I googled a little on flatware. It seems there are 18/0 and 18/8 flatware. The latter contains 8% nickel and will retain its shininess over the years. My set is 18/0. :-(
It turns out that a 18/8 set is at least double the price! But I would have gotten it if the design is right. For example, I like the Felli Luxor flatware, but a full set wasn't available. It has a plain design with the correct shape, size, proportion and has rounded ends. A 30pc set costs RM260. Very expensive, but also very high class. I'll feel like eating at a restaurant everyday. :lol:
(Note: RM260 is S$107.)
Steve Jobs passed on on 5th October 2011. Most people mourn for him as they remember him for his iMac, iPod, iPhone and iPad products — products that are created after 2000.
For me, the Steve Jobs I remember is from the 70s and 80s. That was when he was working on the Apple II and first Mac computers. Steve Jobs was not an easy person to work with. He wanted total control and seeked no less than perfection. Strangely, I never read if he had any arguments with Steve Wozniak (the Apple co-founder), a techincal genius. That made me wonder if you have to be really technically good and strong-willed before you can face-off with Steve Jobs.
All I have to say about Steve Jobs is that I don't like him, but I do admire his vision and work.
There are two ways of constructing a software design: One way is to make it so simple that there are obviously no deficiencies and the other way is to make it so complicated that there are no obvious deficiencies.
Be simple and elegant.
It's the only job I can think of where I get to be both an engineer and an artist. There's an incredible, rigorous, technical element to it, which I like because you have to do very precise thinking. On the other hand, it has a wildly creative side where the boundaries of imagination are the only real limitation.
Programming is science, art and craft. That's why it is so difficult to master.
Writing the first 90 percent of a computer program takes 90 percent of the time. The remaining ten percent also takes 90 percent of the time and the final touches also take 90 percent of the time.
The reason why schedules are unreliable and always slip.
Good code is its own best documentation. As you're about to add a comment, ask yourself, "How can I improve the code so that this comment isn't needed?"
I belong to his school of thought, having read his Code Complete book.
Version 1 of any software is full of bugs. Version 2 fixes all the bugs and is great. Version 3 adds all the things users ask for, but hides all the great stuff in Version 2.
Why you should always improve your program. It takes three tries to be good.
When in doubt, use brute force.
My favourite last resort. :-D
I'm the worst salesman when it comes to Malaysia. Malaysia has so much to offer: cheap stuff, good food, exotic and natural locations. And it is peaceful. No chance of war, very little chance of riot.
And what do I tell people? Malaysia is a lawless place.
Mr Lee Kuan Yew said this in 1997:
"Of all places, he went to Johor," Mr Lee said. "That place is notorious for shootings, muggings and carjackings. It does not make sense for a person who claims to be fearful for his life to go to a place like Johor."
He was spot on. Despite that, he was forced to apologize for his remarks. (It must have been very infuriating for him. :-D)
Malaysia is a place where you can get robbed at knife-point in shopping malls or petrol stations, and passerby will be none-the-wiser.
Malaysia is a place where, if you walk on the pavement, your bag will get snatched away by motorcyclists.
Malaysia is a place where, if your car gets hit in a deserted place and you know it's not your fault, you better not get down from your car.
Malaysia is a place where, even if you parked your car behind a locked gate, the thieves will remove the gate and steal your car.
Malaysia is a place where, if you get robbed, the police will say there is nothing they can do.
Malaysia is also a place where, despite being a Muslim country with strict laws, you can't tell when the sun goes down; and you can get prohibited items and substances easily.
So Malaysia is a lawless place. But you know what? I love it here! :lol:
You want to park your car? You can do so anywhere you want, as long as you don't obstruct other people. You want to sell something? Just set up a store beside the road or in the backlanes. No permit required. You want to throw rubbish? Just throw anywhere. There are no dustbins anyway. (Okay, this one isn't too great.)
I bet, if you want, you can even find an empty plot of land and farm it, and catch fish in the river. There is no need to work.
The point is, it feels free. It is chaotic, but that makes it lively. The pace of life is also slower. It's like time slows down once you crossed the causeway. Malaysia is also much bigger, so it has much more open spaces. It automatically makes you more relaxed.
Back to the bad stuff. Will it happen to you? Well, it may. Thus, you must be cautious at all times. And you must be prepared that bad things can happen — despite your precautions.
Rule #1: don't look out of place.
Rule #2: be in a group.
Rule #3: avoid deserted places.
Rule #4: check the surrounding from time to time. Anyone observing you? Any motorcycle trailing you?
Rule #5: night time is much more dangerous, because there aren't many street lights.
Once you learn to take care of your safety, you can relax a little and enjoy what Malaysia has to offer! :lol:
I've heard of the book The Monk Who Sold His Ferrari a long time, but I dismissed it because I thought it was overhyped.
A well-paid high-ranking man who "went to the east", discovered his spiritual self and renounced his material wealth?
His journey may be inspirational for him, but I've read too many of such stories. Call me cynical. :lol:
Then, I really went and read it.
It was even worse than I expected. The tale was not real. It was a fable. The book is not a biography, it's a self-help book! :-O
In the end, I just looked at its seven key messages and mostly ignored the fable.
For me to read a self-help book, it must have a topic I am curious about and be somewhat scientifically grounded. Most important of all, I must not realize it is a self-help book! :lol:
I won't admit to the kind of self-help books I usually end up reading. :blush: :lol:
Once a new technology starts rolling, if you're not part of the steamroller, you're part of the road.
Judging by market trends, it is predicted that Google Chrome will overtake Firefox as the 2nd most used browser as early as December this year.
Well, Firefox has its moment in the sun for the past 4 years. Why people are abandoning it:
For most part, Chrome is good enough.
In hindsight, it is obvious Mozilla should have created a mobile browser earlier and positioned Firefox as an app platform. They tried, but they didn't really put their heart in it.
Sticking to what one's does best is good in the short term, but it can be disastrous when the tide changes.
I'm not a loyal user of Firefox, so its rise and fall does not matter to me much. I'm using Opera, whose market share has never crossed 3%.
I must admit I use Firefox/Firebug as my primary development browser. Maybe I should donate to Mozilla. :-P (Well, I've donated to jQuery before.)
Shares Plunge 27% as Investors Worry Ailing Company Can't Pull Off Turnaround Plan
With its shares closing at their lowest level since the 1950s and investors bailing out of its bonds, Eastman Kodak Co. is under the heaviest pressure yet to prove it can pull off a plan to reinvent itself as a company that makes printers.
Investors' immediate concerns focus on whether Kodak will have enough cash to finish the job. To settle those concerns, Kodak will have to quickly show results from asset sales, patent-suit settlements or an improvement in its businesses, all of which it told investors this summer were on track.
The mismatch between those assurances and Kodak's decision to borrow more money from its credit line late last week has sharpened the focus on Chief Executive Antonio Perez, who has already frustrated investors with the cost of his plan to shift to printing and delays in bringing those new businesses to profitability.
As recently as late July, Mr. Perez told investors that the company's "heaviest cash-usage periods are already behind us," and said the company would end the year with $1.6 billion to $1.7 billion in cash, up from $957 million on June 30.
"They have to sell some stuff to get there, and quick," said Chris Whitmore, an analyst with Deutsche Bank. Mr. Whitmore currently thinks Kodak will end the year with $1.4 billion in cash. "We're questioning whether our estimate is even too aggressive," he said.
Kodak's shares lost more than a quarter of their value Monday, falling to $1.74 in 4 p.m. composite trading on the New York Stock Exchange. Bond investors also ran for the exits, with one bond that matures in 2017 trading at just 47.4 cents on the dollar, down from 65 cents on the dollar. The shares and bonds each saw heavy trade.
The declines were precipitated by the company's decision to pull $160 million from its credit line. The move, disclosed Friday with just one week left in the third quarter, sparked concerns that Kodak may still be burning rather than building cash.
Kodak spokesman Gerard Meuchner wouldn't comment specifically about the company's cash balance. "We certainly have not consumed $957 million in cash since June 30," he said.
The company chose to tap its credit line, because 67% of its revenue in the first half was generated outside the U.S., and the company opted not to bring it back to the country, Mr. Meuchner said. But he acknowledged the company has work to do to meet its cash targets.
"We also said that outcome is predicated on generating cash from intellectual property, asset sales and a strong second half," Mr. Meuchner said. "We're committed to optimizing our cash generation."
Kodak said in a securities filing only that it would use the new funds for general corporate purposes. The lack of detail has left some investors frustrated.
"There's no explanation from the company other than, 'Oh, it's the normal course of business'? The communication from this company is abysmal," said Ken Luskin, chief executive of Intrinsic Value Asset Management Inc., which owns 3.8 million Kodak shares. The draw leaves Kodak with $75 million available on its credit line.
Since Mr. Perez became CEO in 2005, the company has only posted one year of profit—in 2007. In 2009, the board renewed his employment contract through 2013. The board remains "reasonably confident" in Mr. Perez, one board member said Monday. Kodak declined to make Mr. Perez available to comment.
The chief executive's plan to build Kodak's printer business involves subsidizing sales of the machines to develop a base for capitalizing on ink refills.
The company's operations have tended to consume cash in the first half of the year as inventory is built up, and then generate cash in the second half as those stockpiles are sold off. This year, Kodak's operations burned $847 million in the first half. The concern is cash consumption may be growing more entrenched. "It appears that they burned cash during the quarter, and I had anticipated more of a break-even quarter," says Shannon Cross, an analyst with Cross Research.
Mr. Perez has sought to raise cash to fund his turnaround by launching patent suits and cutting deals with companies to use Kodak's intellectual property. The pipeline of settlements ran dry this year, prompting the company to auction off 1,100 of its digital patents, including some of its most productive.
Kodak began the sale of the portfolio in mid-August, signing nondisclosure agreements with potential bidders and have seen been marketing the assets. As the company and its adviser, Lazard Ltd., look for bids, a number of patent experts have warned not to expect the sort of bonanza Nortel saw when a consortium including Apple Inc. and Microsoft Corp. paid $4.5 billion for its intellectual property portfolio.
Kodak has also been selling off and leasing pieces of its once-flourishing corporate campus in Rochester in an effort to generate cash. Mr. Perez, a former Hewlett-Packard Co. executive, has said the company's consumer printer business would break even this year.
Kodak's shares crashed a further 54% on Friday amid bankruptcy rumors.
A paradigm shift means a distinct change. Even ten years ago, it was clear film was dying; digital is the way to go. The two biggest film makers, Fuji and Kodak, had to reinvent themselves to survive in the digital world.
(Canon released the first "affordable" 3Mpx D30 at US$3,000 in 2000. It has a APS-size CMOS sensor.)
Today, it looks like Kodak is not going to make the cut. It's not for the lack of trying. Kodak was not in denial. It did try to roll out its own DSLRs (licensed from Nikon), but it didn't work out.
I'll say Kodak's main problem was that it didn't own any of the key technology: camera, sensor, lens.
Sometimes, you can try, but you still don't make it. There are no guarantees in life. :-(
There is another company closer to my heart: Microsoft.
I have used MS-DOS 2.0 to 6.22, watched Microsoft work with IBM to release OS/2, launched the ground-breaking Windows 3.0, released the properly-designed multi-platform Windows NT, then the "great leap forward" Windows 95 — and the rest was history. In a sense, I grew up with the company, and yes, I like the company. :lol:
Windows, Office and IE, who do not use them today? But will the monopoly last forever?
These software run only on "heavy" desktops and notebooks. The trend now is "light" tablets and mobile phones. More and more people find that they don't really need a PC after all.
Microsoft also tried to break into this market, but it just didn't succeed. Again, it was not for the lack of trying. There is something about big companies with old monopolies. They can't adapt that easily.
Time will tell.