Real News. Real Commentary. Real Life. RSS 2.0

— Dan Tohatan
# Wednesday, March 10, 2010

Too Much Cow Manure


There is a channel on YouTube called TheYoungTurks. Watch a few of their videos. They are nothing more than a rehash of the mainstream media (NBC, CBS, etc.). Yet that channel has 203 million views. It got me thinking... 203 million! That is probably more than NBC or FOX news! The channel spews out nothing but the same elitist rhetoric seen on mainstream news channels, but with a more light-hearted "comedic" approach.

203 million views. What does that say about the numb ignorance of Americans? No wonder they elected Obama. Were they completely blind to the blatant machinations that led to Obama's triumphant election victory? Or perhaps the genetically modified beef from cattle raised ankle-deep in their own feces has finally managed to alter the brain chemistry of the average American enough to keep them forever ignorant of the blatant abuse to which they are subjected every day, preferring instead to watch mediocre comedy mocking their stupidity, rather than wising up and examining the real dark world which they now inhabit.

It's time to wake up, America. The world ain't pretty. Your country is falling apart. It's not Alice in Wonderland, and the American Dream is the American Nightmare. Perhaps my cries will never be heard, perhaps all of the warnings issued by countless people will fall silently upon the dumb masses. No matter what, I can say with certainty that the only thing that surprises me these days is the profound stupidity of the average American.

I was in Virginia Beach. It was August, 2008, just months before the elections. I asked a random person who they were planning to vote for in the elections. The response I got was startling: Rudy Giuliani. Or maybe Hillary Clinton. They were undecided. That is the stupidity with which a small minority of Americans are battling. The machine that produced this stupidity is the same one that worships it every chance it gets. It's the US media. It's the super-giants, ultra-giants, the Rupert Murdochs, the three-letter channels that all look so familiar yet so intimidating in their grandeur.

I admit I am not the most informed person who can pass judgment on these sorts of issues, but I believe I have enough knowledge at this point to realize that without a free press, you cannot have an informed population. And without an informed population, you cannot have fair elections. You cannot have democracy.

The press is the most powerful instrument of a democracy. Most people are too lazy to research things for themselves. Most will happily accept whatever Brian Williams tells them is the truth. The media can create such indecision that people will literally go to bed the night before the elections not knowing who they will vote for. How do they do that?

It is not solely the media's fault, but it does bear the majority of the responsibility. The non-choice is ensured from the very beginning. The contenders that could challenge the system are immediately weeded out by instilling powerful negative images in the media. Candidates like Ron Paul are smeared and declared to be "cooks" or "nuts". There is a powerful machinery involved in the pre-decision process, involving selection of facts, creation of talking points, and so forth. By the time the average American is ready to vote in the primaries, the media images are permanently perforated into their skulls.

There is one way to fight the system, and it's relatively simple: start learning things on your own. Unfortunately, the vast masses of ignorant Americans choose to remain ignorant. There are now powerful forces outside the media working to ensure that Americans remain ignorant, including vaccines, genetically-modified foods, synthetic foods, drugs, etc. A whole environment is created to keep the American ignorant, obedient, childish, and lazy. This cycle cannot be broken without major efforts, and therefore is rarely broken.

The elite have a grand plan to save themselves and screw everybody else. They literally believe themselves to be genetically superior to the "dumb masses." They consider the dumb masses to be "cannon fodder, to be used as pawns in foreign policy." The elite are insane and have to be stopped.

For the average dumb American, I have a simple one-step program for how we can all stop this madness: non-cooperation. Simply stop delegating your power to these elite. Take back your money. Take money from the bank and put it in gold. Ask your employer to pay you in gold or silver. Stop dealing in fraudulent paper currency. Stop buying things made overseas. Get to know your local farmer. Trade silver for food. Trade labor for food. Barter becomes your new religion. Only deal with those who in turn are not co-operating with the system. If you encounter a police officer or other public official, educate them about the deep government corruption, and how they can subvert this corruption by not cooperating with unjust laws or mandates. And most importantly - vote. Make an informed vote, and choose the candidate who is aware of everything I just said and has a proven record of not cooperating with the system. This is how we can start to create our own reality, outside the corrupt power system imposed by the elite with our permission.

Last but not least, ignorance is bliss only as long as you've still got a roof over your head. Those who take the steps now to begin non-cooperation will be much less impacted by the social collapse which is coming. Become informed and inform others. Stop cooperating with the system. It's hard, but unfortunately it is the only way that we can take back power.

Einstein said it best: "There are two things that are infinite - the universe and human stupidity, and I'm not sure about the former."

Wednesday, March 10, 2010 1:37:15 AM (Eastern Standard Time, UTC-05:00)  #    Comments [0] - Trackback
Commentary | News | Personal
# Thursday, March 04, 2010

Buy two lottery tickets every week for the rest of your life


This was originally posted over on my other blog (thelogicspace.blogspot.com) but I think it's important enough to post it here as well...

"
I've recently developed a phrase I like to use to remind myself to take the time to invest in myself. It's called "Play to Win": You've got to PLAY to WIN. Think of the lottery: you MIGHT win IF you play, but you CERTAINLY won't win if you don't play.

You've got to think as if every action you take will result in the most spectacular success even if it won't. Think of yourself as if you're constantly buying lottery tickets. Every minute you spend is productive only if it has resulted in you buying another lottery ticket. This idea is also sometimes called "planting seeds." In the sense that, a tree will not grow unless you plant a seed. Planting a seed takes very little time, but could potentially result in a big reward later on.

Have you ever found yourself thinking, "this is a waste of time. It hasn't worked before, so why would it ever work?" I find myself thinking that a lot. When I release a new product, when I write a new blog article, I think that constantly, because I don't want to feel like I'm wasting time.

Whenever you find yourself thinking that something is a waste of time, you've got to ask yourself two things:
1. What have you got to lose?
2. What have you got to win? What is the biggest potential win?

If the potential win (regardless of probability) is large enough, and the potential loss is almost insignificant (e.g. a few minutes of your time), then why not do it?

You would happily buy a lottery ticket every week. Yet in all logic that seems like wasted money & time. But it's not. You have to apply this same idea to every action that you take. Invest in your future. Plant seeds. Play to win -- emphasis on the "play" part.
"

So now you should understand why you must buy two lottery tickets every week for the rest of your life. I'll be doing that starting this week. It's less than the cost of two subway rides, but the payout could be substantial. I plan to play only when the jackpot exceeds $10 million. I think that's a big enough payoff to be able to retire and live well, but any less than that doesn't seem worth it to me.

Interesting fact: if you buy two lottery tickets every week for 50 years, your chances of winning lotto 6/49 are 1 in 2700 lifetimes. On the other hand, if you never play, your odds are ZERO. I'll take 1 in 2700.

Thursday, March 04, 2010 8:35:49 PM (Eastern Standard Time, UTC-05:00)  #    Comments [0] - Trackback
Commentary | Finance | Personal
# Sunday, February 28, 2010

Toronto residents must earn minimum of $35,000 per year


Toronto residents must pocket $35,000 per year just to stay afloat.

Yes. Anyone in Toronto who is earning less than $35,000 (net) per year is falling behind and will be unable to retire.

This shocking conclusion is based on a careful calculation of required retirement savings based on the cost of living. In Toronto, the typical cost of living is $2000 per month (including food & housing).

For someone who earns $35,000 per year, what is left over after paying off living expenses is just $10,000.

Now, assuming you are 25 and plan to work until 60, that means you can save up $350,000. Assuming you've paid off the mortgage at 60 and your living expenses are reduced by $1200, to $800 per month, that amount will allow you to last 36 years.

That should be just enough to get you to age 96.

The math is more forgiving if you increase the retirement age from 60 to 65, or to 70. However, even if you were planning to work until 70, you would still need to save up $6,000 per year for every year you work (assuming you start saving at 25).

Even in this most forgiving case, you would still need to earn a net income of $31,000 per year. Still very close to $35,000 per year.

How much is $35,000 per year in terms of gross salary? $45,000. Yes, $45,000. That's $23 per hour based on a 40-hour work week with two weeks vacation. $23 is more than double the minimum wage.

Effectively, $23/hr ought to be the minimum wage in Toronto, because it's impossible to get ahead on anything less than that (unless you continue living with your parents).

Sunday, February 28, 2010 2:35:52 PM (Eastern Standard Time, UTC-05:00)  #    Comments [0] - Trackback
Commentary | Finance | News | Personal
# Tuesday, February 23, 2010

Do Repeat Yourself... If It's Easy


Here's an article I've posted over on my other blog. It's worth a look so I'm cross-linking it here:

Do Repeat Yourself... If It's Easy

"How many times have you thought of a great idea only to discover that somebody else has already done it?"

(read the full article)

Tuesday, February 23, 2010 12:34:18 AM (Eastern Standard Time, UTC-05:00)  #    Comments [0] - Trackback
Commentary | Finance | News | Personal
# Saturday, February 20, 2010

Upward Mobility is Dead: How persistent unemployment will shape the next decade


This is a follow-up article to this majestic piece of writing: How a New Jobless Era Will Transform America (The Atlantic)

After reading the above article, a few ideas popped into my head which may not be known to the writer, given that the writer (and his/her sources) are probably members of an older generation. However, since I am a member of the so-called "generation Y" or the "echo boom" generation, I may be able to shed some light on what I am thinking (and maybe what other members of my generation are thinking) with respect to this issue.

First, it's evident at this point that the idea of upward mobility - the idea that you could work your way up the corporate ladder - is no longer an idea that can be embraced. It is far too risky. It used to be that if you worked hard enough, you would eventually end up in a highly-prestigious position, earning lots of money, and having a fair amount of authority (all of which are highly potent aphrodisiacs to undisciplined individuals).

OK, I said a mouthful so let's backtrack a little. What is an "undisciplined individual"? Put simply, all humans have instincts and most humans make decisions solely based on feeling (emotion), rather than rational thought. In basic sociology, a human has several aphrodisiacs which elevate his/her sense of self-worth. These are (to name a few): power, wealth, and social status. Most individuals act as robots seeking these three aphrodisiacs for their entire lives. Unless you are aware of this fact of nature and discipline yourself to be content with seeking happiness in other forms, you are considered an "undisciplined individual," who is purely seeking to maximize one's social status, power, and/or wealth. The vast majority of Americans are what I consider "undisciplined individuals."

Now, believe it or not, there are many people in the world who define themselves largely by the position they hold, or by the organization in which they are members. This is one way you can define yourself, but what happens when you lose your position, or the organization you are in collapses and you're left without a position? It is my belief that if you define yourself in such a way, you will suffer enormous emotional scars resulting from your "break-up" with your organization. In fact, it is almost identical to the break-up of a marriage. In a sense, many people are "married" to their jobs.

So what is the antidote to this madness? And why do I consider it "madness"? Well, it's madness because first of all, you are probably not a founder of the organization in which you are a member. Quite probably you have a very low-ranking position within that organization and even more probably you will never reach the level of power / control that the founding member has. That's number one. Number two, it's madness because in this economic environment, anybody can be fired from any position for any reason (or no reason at all!). While this has always been the case to some extent, it is only now that it is happening on a mass scale, reaching levels where the risk of being fired from a position to which you are married actually exceeds the benefit of "becoming married" to that position.

So what is the antidote to the madness? You have to think clearly and look at the facts. The facts are that these worker-organization relationships are becoming increasingly more transient. This idea was put forth by Alvin Toffler in his 1970 book "Future Shock," in which he describes a condition where relationships (of any kind) become increasingly more transient in the not-too-distant future. This has come to pass in the form of increased divorce rate as well as increased job insecurity. I think there is no question at this point that Toffler was right and that this trend will continue for a long time.

So given all that, it is far more rewarding to think of yourself in terms OTHER THAN your relationships with other organizations. When I look at myself, I value myself based on my ability to solve problems creatively, or by my ability to think logically. These are attributes that are fundamental to survival, but which have been almost eternally ignored at the societal level. I believe these attributes are far more fundamental than anything else. You need to define yourself based on your fundamental attributes that make you a resilient individual in the face of any natural or environmental situation. Always avoid the trap of thinking that your identity is defined by what others think of you. This is a fundamental shift in mentality that needs to occur on a massive scale. This shift is what separates a "disciplined individual" from an "undisciplined individual." We, as humans, need to become far more self-disciplined and far more aware of the destructive aphrodisiacs I mentioned earlier.

As an aside, two things I try to avoid constantly are:
1. Believing (or becoming attached to) others' opinions of me.
2. Following popular beliefs or behaviors unquestioningly.

Coming back to the idea that upward mobility is dead, imagine you start out your career as a Walmart cashier. Then, 20 years later you're back at Walmart as a cashier. If you grew attached to the idea that you would advance over time, you would be devastated to find yourself 20 years later in exactly the same position. However, if you defined yourself by other characteristics which may not be as socially respectable (yet) as the idea of career advancement, you would be relatively unaffected by your career path, however erratic it may be. It is an idea from many oriental religions which must be embraced: "avoid attachment to things which are invariably transient."

Sadly, many are refusing to accept the new reality and construct a belief system which is more consistent with it. Instead, it appears that many are resorting to having children as a way to escape their insecurities and gain social approval. It's understandable that we are social beings. And it requires an enormous shift in thought patterns in order to avoid the common traps that cause us to do undesirable things purely for social approval. Yet, in order to evolve as a species, we must engage in precisely this sort of detachment from the base aphrodisiacs that have driven society for generations. So if you find yourself unemployed, become a Buddhist monk. It's a step in the right direction.

To close off, I will give one last example which illustrates what can happen when jobs disappear but the parasitic aphrodisiacs of power and social approval remain. In Philadelphia, white neighborhoods are now becoming increasingly black. White males, who have held blue-collar and even white-collar jobs have now been unemployed for years. Some are now resorting to precisely the same kind of behavior that blacks have been struggling with for decades: fathers abandoning their children, drug dealing, violent crime, and domestic violence. This is all because, fundamentally, blacks are no different from whites. It is only the economic circumstances which produce a difference. Now that the differences in economic circumstances between blacks and whites are beginning to narrow, we are seeing a convergence in terms of behavior patterns. Unfortunately, this convergence is happening in the wrong direction: instead of blacks becoming more affluent, whites are becoming poor.

All too often, persistent widespread poverty results in a loss of dignity among members of a society. This is certainly understandable, but there are many societies which, by our definitions of wealth, are extremely poor. Yet, these societies are very cohesive and peaceful. We do not have to go through a break-up of society as a whole as a result of increased overall poverty. In fact, the society of the 1930s was very cohesive and generally in good spirits. People helped each other. We should work toward a healthier society, by valuing those things which are fundamental to survival: knowledge, and creative problem solving, rather than those things which are the primal aphrodisiacs of undisciplined individuals.

Saturday, February 20, 2010 2:11:20 PM (Eastern Standard Time, UTC-05:00)  #    Comments [1] - Trackback
Commentary | Finance | History | News | Personal | Science
# Monday, February 15, 2010

Why C++ Sucks (Part 2)


Recap

First of all, let me clarify that I think C is a great language and excellent for the development of low-level system software. I think C++, specifically, adds an extra unnecessary layer of complexity which makes it less suitable for low-level work but in some cases it's the only option. I would readily choose C over C++ for low-level software projects (e.g. drivers).

When dealing with C code, I would aim to write as little code in C as possible and provide an interface for writing the remainder of my code in another "safer" language, such as C# or Java. By "safe" here I mean something that is detached from the OS, so that it has a lower risk of corrupting the system's memory or file system upon failure. Again, C# and Java run in virtual machines which provide an extra layer of safety should things go horribly horribly wrong. The layer of safety may not be perfect, but it's better than having no layer of safety at all.

Also, when I said C++ sucks (sort of), I meant that C++ sucks for most types of applications (e.g. GUI or web applications). There are some cases where C++ is a decent choice, but those cases are rare and limited in scope. For the most part, C++ is just plain awful, because it consumes more time and produces more lines of code than either C# or Java. It also induces programmers to produce substandard code and has the inherent property of creating very difficult-to-debug code.

There are certainly cases where using C++ is unavoidable. When such a case arises, it does not usually mean that C++ as a language is in some way superior. It just means that C++ is not completely useless. I still write C++ code occasionally, because I have to.

The Debate Goes On

Recently I came across an article that attempts to refute my claim that, in most cases, C++ sucks.

I have a couple of remarks related to that article:

"What do you do when writing cross-platform code in C and you need to make heavy use of the filesystem?"

I assume by "heavy use" here you mean low-level operations. In that case, you need to make a file system driver in C (or whatever language the OS supports for drivers) and expose APIs that can easily be called from a higher-level Java or C# client application. Again, minimize the integration between high-level application code and low-level driver code.

"On that note, nobody, and I mean nobody should be using C++ without Boost"

If that is the case, why is Boost not a feature of C++? Maybe it will make its way into C++0x? The very fact that Boost exists indicates that C++ is a deficient language. Boost is merely a patch over those deficiencies. And when I talk about C++, I'm also referring to the standard library as well as the language itself.

"I guess the author has never worked on embedded software or real time systems. Or games for that matter. Or I guess anything other than canned business software."

Actually I have built games using DirectX in the past. I can confidently say that C++ was not needed for any feature. Given the extra time that C++ adds to the development of any app, being able to use any other language (and minimize the use of C++) is quite important.
Here is a simple 3D demo I built with OpenGL and Java in 4 intensive days of coding: http://www.dacris.com/article.aspx?name=demos. I probably would not have been able to perform such a feat with C++.

"C++ has a keyword called sizeof() that lets you determine how big a pointer is."

Again, that's nice, but I'd rather not use pointers and not write sizeof() statements all over the place. The time I save by not thinking about pointers (and by not reading code that contains pointers) is enormous.

"Perhaps an even better answer is in order though. I won't use any Gui toolkit, because I won't develop GUI code in C++. Why would I use the language for something which it doesn't excel at?"

Exactly. If you're content with building console applications, use C++. No problem. But for any kind of UI, C++ just sucks.

"C++ has a very strong, flexible type system."

Flexible, yes. But the problem is it's also lacking some very useful features compared to C# or Java. For example, how do you enumerate a class's fields or properties in C++? How do you detect that class A inherits class B at runtime, or get an object's type at runtime? In C# this is called "reflection." There is nothing like it in C++. For this reason, it's very difficult to do generalized serialization in C++. In C# and Java you can literally serialize any type.

"Code generation"

I can't think of any reason why you would ever want this. Macros and templates are a symptom of bad design. Instead of using code generation to deal with repetitive code, why not build a reusable component? Generated code is hard to maintain, hard to understand, hard to verify, and hard to debug.

Write as Little Code as Possible

Let me end by saying, I'm not a "substandard programmer." I'm merely a lazy programmer. I like to write as little code as possible. I keep track of the lines of code in all my projects, to make sure that number stays low. I guess if I was paid by KLOC I'd be pretty broke.

Monday, February 15, 2010 9:41:33 PM (Eastern Standard Time, UTC-05:00)  #    Comments [1] - Trackback
.NET | Commentary | Personal | Technology
# Tuesday, February 09, 2010

Mediocrity: The Lifeblood of Modern Businesses


Have you ever woken up one morning thinking you deserve a raise? Well, if you think logically, if your performance has been excellent (praised by your boss), you'd think you definitely deserve a raise. Not quite. This type of logic no longer applies in today's business environment. Shocked? Confused? Don't worry - I'll elaborate.

Imagine a stellar employee, praised often by his/her manager, is working at a salary of $60,000/yr and gets called into the manager's office for a talk. The talk is about how the employee is exceeding the employer's expectations and the employer wants to assign the employee duties that will be more challenging and possibly more useful for the business. The employee is certainly excited, thinking he/she might end up getting a raise. The employer finally reveals the key figure: the salary. It's $45,000/yr and requires that the employee sign some additional restrictive agreements that are not applicable in the employee's current position.

Is the employee being promoted or demoted?

From the employer's perspective, the employee is being promoted. Duties are being expanded and greater responsibility is placed on the employee. But, from the employee's standpoint, things are not quite so rosy. The employee sees a decrease in salary, and an increase in work and in restrictions. What benefit is there for the employee? ... Give up? There is no benefit!

That's right, the employee is being demoted for achieving excellent performance. Outstanding performance is being punished rather than rewarded. I would be willing to bet that this is happening in a lot of companies these days. In fact, I'd go as far as to say it's becoming a market-wide phenomenon.

So don't be shocked if an employer offers you a demotion for exceeding expectations. The world is, as they say, a little more complicated than it appears to be. This paradox is, like most paradoxes, a mind-boggling one. And its implications are huge. It means that the best employees are those who walk the fine line between doing too little and doing too much. They are those who stay inside the box, and live a life of mediocrity.

In the world of business, mediocrity is rewarded. Creativity is punished. I've just given a concrete example based on personal experience. Yes, it's based on a true story. When you add it all up, isn't it better to just mind your own business?

Tuesday, February 09, 2010 7:49:28 PM (Eastern Standard Time, UTC-05:00)  #    Comments [0] - Trackback
Commentary | Finance | News | Personal
# Sunday, January 17, 2010

Windows 7 on Older PCs


I would like to take this opportunity to encourage users of old PCs (pre-2005) to take extra precautionary steps before installing Windows 7.

Otherwise, you could end up baking your hardware. Yes, baking, in the oven.

How I ended up baking my laptop:

I installed Windows 7 on an older Toshiba laptop (from 2004) with a GeForce Go 5200 graphics card. First, it was not recognized - Windows 7 actually decided to use the Standard VGA Adapter driver for the card, which forced me down to 1024x768 resolution and extremely slow rendering. Well, I decided to look for a driver. Toshiba didn't have one on their site, NVIDIA no longer supports the 5xxx series, so I ended up finding a shaky third-party (modded) driver and modded it a bit myself to get it to actually recognize my card.

So after all that, I installed the custom modded driver and it seemed to work great at first: I even had Aero Glass! But little did I know there was a major problem lurking in the shadows... A few days after installing the new driver, I start up the laptop and it starts displaying columns of random flashing characters (at the BIOS screen). Immediately I concluded that this was a video card problem - it had happened to me before, with a GeForce 4 Ti4200 card.

Great, so now I had a dead video card. I looked around the web for people who had experienced the same problem, and found one who took his laptop to a repair shop and the technicians there diagnosed it as a "BGA failure." So I looked for BGA-related problems and found what seemed to be a re-occurring theme on various forums: "bake at 375*F for 5-10 mins". Surprisingly, those who tried it said it actually worked!

But how does it work? The BGA (Ball Grid Array) is what a video chip is most often connected to. This thing is just an array of tiny balls of solder that can melt at very low temperatures (even 120*C). When the video chip gets insanely hot (like over 100*C), it can warp the BGA so much that the chip disconnects from the balls and you end up with the problem I had (random characters at the BIOS screen). The solution, apparently, is to heat up the entire PCB (in this case the motherboard) evenly at a high temperature, so that the solder melts and reattaches itself to the chip. The prescription, in my case, was to bake at 375*F for 7 minutes.

Of course, I had to remove anything that might melt or explode - like batteries. I made sure to remove even the CMOS battery and remove all attachable parts (RAM, hard drive, etc.). I only baked the actual motherboard. But at the end, it worked! The video is fixed now, thanks to BGA baking!

The problem was caused by Aero Glass overheating my card. I'm 99.9% sure of it. And I'm also 99.9% sure that's why NVIDIA doesn't have any official Vista / 7 drivers for it. So immediately when I booted up my laptop after baking, I booted straight into Safe Mode, removed the graphics driver, and rebooted into Windows 7. Then, I reinstalled the graphics driver and made sure I was on the Windows 7 Basic theme, without Aero Glass. I also disabled the DWM service, so that there is no freak occurrence where Aero Glass gets re-enabled.

Precautionary steps that would've saved my behind:

Like I was saying, with Windows 7 on older hardware it's very important to take a few extra precautionary steps:
  1. Run the Windows 7 Upgrade Advisor. Ensure that your essential hardware (the stuff you can't boot up without) is supported.
  2. Take an inventory of your hardware. For me, the easiest way to do this was to just run Dacris Benchmarks (version 8.0) and create an HTML report under the System Information tab. This makes it much easier to find drivers online when everything in Device Manager is listed as "Unknown." But, if you have perfect memory, you don't need to do this.
  3. Make sure you download any necessary network adapter drivers before you install Windows 7. Otherwise, you won't have Internet access. Usually the Windows 7 Upgrade Advisor will tell you if you need to do this, but do it even if it doesn't tell you - just in case - unless you have another PC connected to the Internet and a USB key.
  4. For hardware that is shown as not compatible in Windows 7 Upgrade Advisor, try to find official Windows Vista drivers for it. If no official Windows Vista drivers exist, and the device is essential, you may want to reconsider upgrading to Windows 7.
  5. For software that is shown as not compatible in Windows 7 Upgrade Advisor, try to find a newer version online that supports Windows Vista. If no such version exists, and the software is essential, you can still upgrade to Windows 7 but the software will probably need to be run in XP Mode. While XP mode is great, there are some things it can't do - like Direct3D. So if the software in question is a game, you may want to keep Windows XP. In that case, I would recommend dual-booting Windows 7 and Windows XP.
Now, in fairness, I couldn't have run the Windows 7 Upgrade Advisor on that Toshiba laptop I mentioned, because it had no working OS at the time (the reason I installed Windows 7 was because XP died). I should've really just reinstalled XP and then run the Windows 7 Upgrade Advisor.

A side note - hardware manufacturers (especially NVIDIA) have failed us:

While I was thinking about baking my graphics card, I had a thought: was it really the fact that Vista had such a different driver model that caused hardware manufacturers to produce unreliable drivers? Did hardware manufacturers really not have enough time to adapt to Vista? I remember Microsoft in 2005 mentioned that any PC made in 2005 or later would be able to run Windows Vista. So hardware manufacturers in fact had 2 years to produce Vista drivers. The Vista development cycle lasted 5 years. Plenty of time for IHVs to get involved, learn the Vista driver model, and develop drivers in consultation with Microsoft.

So who really failed here? Microsoft? Was NVIDIA's discontinuation of support for the GeForce 5xxx line a Microsoft decision? Who is to blame for NVIDIA's inability to produce drivers? I would say it's NVIDIA that's to blame here. I've had so many NVIDIA cards fail on me: I witnessed a friend's NVIDIA card go up in flames, literally, then my own NVIDIA card did the same thing! Then, I had an older NVIDIA GeForce 4 Ti card that died with the classic BGA failure, then I had this latest failure: another NVIDIA card. That's four NVIDIA cards, three of which were mine. So out of all the NVIDIA cards I've ever had (about 5), only two remain. Now, I've had my share of ATI cards (roughly 5) and not a single one has ever failed. Not one.

Sorry NVIDIA, but I'm afraid I must buy ATI cards from now on. Sure, NVIDIA's drivers are more polished, and sometimes NVIDIA wins in terms of performance, but the cards rarely last very long. I would urge anyone who is thinking of purchasing an NVIDIA card to think twice and consider the ATI alternative, and think of which card you'd most likely have to bake. Now, of course, if you like baking, NVIDIA is your friend. :)

Sunday, January 17, 2010 2:24:58 PM (Eastern Standard Time, UTC-05:00)  #    Comments [0] - Trackback
Commentary | History | Personal | Technology
# Sunday, January 03, 2010

Savings = Power


It was about 4 years ago when I started saving money for the first time. I opened an ING Direct savings account. Didn't know what I was going to do with it all, but I knew one thing: nobody was saving their money. There had to be a reason. Not only that, but saving was frowned upon. It still is. "Live your life, man!" is what everybody would say. But no. I was saving every penny.

At times, I found it somewhat absurd. Why should I keep saving? What's the point? Why not live for today? Life is short, after all. But I kept saving. I decided to treat it like an experiment. I wanted to find out where it would take me. What advantages would I gain (if any) from saving as much as I can?

Mind you, 4 years ago I was 19 years old and was just becoming acquainted with the vastly complex world of finance. I didn't even know where exactly to put my savings. CDs? GICs? RRSPs? What does it all mean?

So 3 years ago I started researching finance, in depth. I started reading online materials on stocks, bonds, GICs, money markets, and everything else. Basically, I wanted to become aware of all the options I had.

A few months passed, it was July of 2007, and I was observing the stock market. I observed one thing: stocks had been rising since 2002. So, it had been 5 years of continuous rise. If I put my money in stocks now, I reasoned, I would probably lose a whole bunch of it when the stock market crashes (at the time I figured it was a matter of months before the next crash).

So I decided to hold off on buying stocks and keep exploring. Maybe there was something I could put my money into that wasn't just a plain vanilla savings account. I turned my eyes toward inflation. At that point, my only recollection of inflation was the disastrous hyperinflation that my parents experienced in Romania during the 1990s. I remembered clearly that there was a time when every week the price of bread would double. I wondered if something like that could happen again, in North America.

After doing a bit of research on the CPI and noticing that inflation had been going on, though at a slower pace, in the western world as well, I realized there was really no difference between Canada and Romania in terms of currency. Fundamentally, the currency system was exactly the same. So, technically, even though my savings account was CDIC ensured, the purchasing power of that money was not.

I decided to look for ways of protecting against inflation. Initially, my idea was to actually start an inflation insurance firm. Yes, I was determined to sell inflation insurance!

But there already was inflation insurance - and in October, 2007, I finally found out what it was. Gold. My research quickly took me on the path of precious metals, which had been inflation-proof for thousands of years. A good enough track record, I figured.

Great, so I decided to move some of my savings into gold. Of course, I realized it must not be too much, because gold is extremely volatile. Not only that, but gold had been going up for 6 years - longer than the stock market. Surely it was due for a correction. I started small, and moved slowly, making sure that my bullion position never exceeded the "safe" limit that I had set for myself.

But how did we end up talking about gold? The topic was savings. In general. And why it's important to have savings.

Well, first I must make it clear that gold is the only true form of savings. Paper depreciates, and is vulnerable to political turmoil. Stocks are risky - companies go under all the time. Real estate also depreciates and is vulnerable to political turmoil. If you want something that can withstand many generations and has a track record of preserving value through time (which is what savings is), that something is gold, and silver. Precious metals.

Now we can talk about why savings is power. What does it mean to have savings? It means you have the power to readily take on adversity, for a prolonged period of time, in the hope of achieving a greater income. For the individual, it means you can go without a job longer, so you have the latitude to negotiate higher pay in full view of the risk of remaining unemployed, because that doesn't bother you, because you have savings. It means you can explore new business ideas and have no fear of failure, because you know you have savings.

But this applies not only to individuals. Savings is power for countries as well. You see, the country that is able to take on the greatest adversity for the longest period of time will come out on top. Wars are won by those countries that have accumulated the greatest savings. In World War II, the US had the most gold of any country in the world. The US won the war and continued to dominate the world for decades thereafter. Remember: gold is savings, and savings is gold.

Now, 4 years after I started saving, I think I can finally appreciate the power of savings. I see now that debt is servitude, and savings is power. For you see, those who are in debt are subservient to those who have the savings. This has always been the case for all of time. Which side are you on?

Sunday, January 03, 2010 8:56:55 PM (Eastern Standard Time, UTC-05:00)  #    Comments [1] - Trackback
Commentary | Finance | History | Personal
# Thursday, December 31, 2009

Predictions for 2010


My 10 predictions for 2010:

  1. Inflation will surprise everybody. Watch prices carefully. Everything will be up 10-15% by summer. Your lunch will no longer be $7, but $10, and soon $12. Your bus ticket will no longer be $3, but $4 and soon $5. All in 2010.
  2. Revolution will surprise the powers that be. The US is ripe for a revolution. Especially when it becomes perfectly clear that Obama has done nothing but lie, and that the propaganda machine around Obama is more powerful and more terrifying than what Bush could've ever dreamed of.
  3. The big important theme for 2010: Cost cutting. The words "budget" and "low cost" will be what keep most businesses alive. It'll be about stretching every dollar, stretching every penny, despite the growing unacknowledged inflation.
  4. China will be a big story in 2010, specifically recognition that China is now the world's dominant economic superpower and that US treasuries will soon be liquidated en masse. Furthermore, China will be a story because all of the inflation we'll be seeing will be originating directly from China!
  5. Not to be outdone, mobile phones will go big in 2010 (or rather, small). There will be a surprise in the mobile market that neither Google nor Apple will appear to have prepared for - and that will come from Microsoft. Google, Apple, you have been warned! Yes, we're talking about Windows 7 phones.
  6. Steorn, and a few others, will surprise the oil companies. Yes, free energy will arrive in 2010, if you know where to look. Steorn will be doing a demo early in the year, so it's pretty much a foregone conclusion. The human race has reason to celebrate, and reason to rise up!
  7. Electric cars will reach power parity with gas-powered cars. Range will be hundreds of miles on a single tank. Batteries will charge in seconds! You have been warned...
  8. Government will expand to take over every aspect of our lives. Yes, this is a sad one, but as private sector jobs disappear due to income tax bracket creep caused by inflation, government will expand to take over nearly every aspect of industry. We could see 90% of jobs becoming government-run or government-backed in some way.
  9. Masses will be waking up, in a surprising way. TV will have a decreasing influence in everyday life, and you will become surprised to know that your next-door neighbor knows as much about the New World Order as you do, plus a lot of other things about free energy, UFOs, and other "black-listed" knowledge.
  10. Wage inflation, yes wage inflation, will begin. Your salary will probably be up 50% by the end of the year, but inflation in everything else will have been closer to 100%.

Overall themes for 2010: surprise, reform, and revolution! Change will come, but not because of Obama.

Thursday, December 31, 2009 5:02:46 PM (Eastern Standard Time, UTC-05:00)  #    Comments [0] - Trackback
Commentary | Finance | History | News | Personal
# Sunday, December 27, 2009

Philosophical Bull and Gnostic Brain Flatulence


Is time linear?
Does every interval of time contain the same amount of information?
What does time contain anyway?

Time is a container for change. Time contains the delta between one state of the cosmos and another. Each finite interval of time contains within it the amount of change that has occurred from the beginning of that interval to the end of that interval.

In a sense, change is novelty and novelty is change. Novelty is merely a synonym for change. So when we think about novelty theory, to refer back to the work of Terence McKenna, we're really analyzing the content of time.

We know that the content of space is matter, and energy. But what is the content of time? It's a perplexing question for those who cannot see the logical conclusion that time in fact contains information. For it is information that informs change. Information is nothing other than change, and change is information. Novelty is therefore information. We're running around in circles describing the same phenomenon with different words, each word trying to out-grandiose the others.

But the fact is simple and yet stunning: Time contains information, much like how space contains matter.

Now, we know another interesting fact from basic observation of the world around us, and that is that information is cumulative. You never lose information. This has been elaborated by Terence McKenna as well. Essentially, the fabric of time itself is cumulative. At every stage in the evolution of the universe, we have gone from a state of low complexity to a state of higher complexity. We've never "devolved" into a state of lower complexity. Complexity has always increased.

Well, what is complexity? First, it helps to understand how we obtain complexity. At the start of our universe, if we accept the big bang theory, the highest level of complexity in the universe was characterized by a primordial soup of electrons and elementary particles. From that evolved the first atom, clearly a structure with an order far more advanced than what had existed prior to its emergence out of the primordial ontos.

Now, this first atom, the hydrogen atom, contained a whole lot more information than its parts, or even the sum of its parts. Because the hydrogen atom has a logical structure far more elaborate than the logical structure which represents an electron. Indeed, it is this logical structure that we must talk about when we're talking about complexity and information. The hydrogen atom is an entity which requires far more information to describe than the electron or the proton alone. So basically, the primordial soup required a very small amount of meta-data (meta-information, or logical structure) to describe, compared to what followed (i.e. the hydrogen atom). This is where we get the notion of increasing complexity. Complexity is the measure of the quantity of information required to produce the simplest possible explanation of a particular physical phenomenon.

As the universe evolved further, we got more and more complex structures. We got other atoms, molecules, organic compounds, and then biological life, and finally social life; intelligent life. Each of these complexities builds on the previous level of complexity. Molecules build on atoms. Social life (cultural or intelligent life) builds on acultural, biological life. Microbial life builds on essential organic compounds. In essence, each new level of complexity contains within it all existing levels of complexity.

Thus, complexity is conserved. We can in fact emphatically state that complexity is never destroyed. It is strictly conserved.

So what does this all imply for the nature of time? Well, time contains within it descriptions of changes within entities of varying complexity. At the beginning of the universe, each second of time contained a only a very minute description of changes, because only a minute description was needed for the level of complexity at which the universe had arrived at that time. Basically, God only needed a handful of bits of information to describe a change in the state of the universe when the universe was still in its primordial soup state.

As the universe complexified, necessarily the amount of information contained within each second of time needed to increase, in order to completely describe the more complex universe that was emerging. Basically, each level of complexity required more information about the changes within that level of complexity.

Thus, as the universe cooled and complexified, time became more and more burdened with information, so that each moment of passing time contained within it more information than the previous moment.

This process continued to this day. With every passing moment, time "expands" to contain more information than any previous moment that has ever existed. This is a profound concept to grasp, with profound consequences for our perception of time. It means that our linear time assumption, the assumption that time is isotropic and linear - that each moment is the same as every other moment, and that each interval of time is qualitatively and quantitatively the same as every other interval - is absolutely patently false and misleading.

We have to ditch the idea that time is somehow plain, linear, and uninteresting. Time is extremely interesting, and ought to be studied by science like nothing else, because we don't have a sufficiently clear understanding of the nature of time.

But the interesting implications of this "expanding time" theory are many. This theory actually validates intuitively-derived beliefs in many cultures that time is accelerating, or that time is heading towards an ultimate end. In fact, even modern science has managed to create a theory mainly involving human culture and cultural progress which indicates that there may be a point in the not too distant future where all of our knowledge, having been preserved thanks to the law of conservation of complexity, leads to a point of infinite temporal acceleration - a point of asymptotic discovery and asymptotic change, putting an end to time itself. Indeed, this very idea has been prophesied by others, including the ancient Mayans with their apocalyptic 2012 prophecy, or the Christians, or even modern-day prophets like Terence McKenna, although I'm sure he would despise being called a "prophet."

We must challenge all of our dearly-held assumptions about time or else we will not proceed to make true scientific discoveries. Today, we carry notions about time that are akin to believing that the Earth is flat or that it sits atop the backs of four turtles. For example, we believe that causal connections can only exist from the past to the future. We have established one predetermined direction for causality. Yet, we can clearly observe retrocausal effects all around us that seem to defy the laws of physics and all too often get classed as mere coincidences or worse, paranormal phenomena. In fact, such occurrences should be observed experimentally and we should try to develop a theory for explaining such retrocausal phenomena as the appearance of 9-11 as a motif in various artifacts well in advance of the actual event which occurred on 9-11-2001. Other retrocausal phenomena include such cases as the flight of animals to safety prior to a devastating tsunami or earthquake. Anything that is often classed as premonition or prophecy ought to be investigated as a potential candidate for retrocausality - events from the future having causal links to events in the past. It's crazy to think that the future could have a causal influence on the past, as it means that the past is now just as malleable or perhaps more malleable than the future!

Anyway, I hope I've been able to shed some light on the strange nature of time and why what we humans often think is obvious is really not so.

I could probably talk further here but instead I think I need to actually summarize what I described:
  1. Time is a container for... change in information, also known as novelty. Necessarily, then, time has at least two dimensions.
  2. Complexity is conserved. Each new level of complexity builds on lower levels. Complexity is never destroyed or reduced.
  3. Time is non-linear and quite probably anisotropic.
  4. Time is expanding, with each one-second interval containing more information than any previous one-second interval. This is subjectively perceived as an acceleration.
  5. There may be an endpoint for time, consisting of an asymptotic acceleration of the rate of progress toward infinite complexity.
  6. Causality probably works both ways, even if it seems odd to us. Retrocausality seems to explain perfectly the phenomenon of prescience in some organisms.
Bend your mind, but be careful not to break it!

Sunday, December 27, 2009 4:38:11 AM (Eastern Standard Time, UTC-05:00)  #    Comments [0] - Trackback
Commentary | History | Personal | Science | Technology
# Monday, December 21, 2009

A Little Seasonal Spirit


Spring Solstice

‘Tis the season to be jolly, as the sun begins to dawn.
Spring hath right now just begun.

The solstice ends the sun’s decline.
Soon the snow will melt, the sun will shine.

The sun will burn, high in the sky...
Just like your love did, last July.
Monday, December 21, 2009 9:57:04 PM (Eastern Standard Time, UTC-05:00)  #    Comments [0] - Trackback
Commentary | Personal
# Thursday, December 17, 2009

Windows 7 Phones: Addendum


Not long after I posted my first topic outlining the idea of Windows 7 smart phones, I found this...

Razorfone: A Conceptual Windows 7 & WPF-powered Multi-Touch Phone Retail Experience

It looks like the idea of a Windows 7 phone is alive & well. While the "Razorfone" is a concept for retail environments (a kind of kiosk), it's nice to see others considering the idea of putting Windows 7 on phones.

One more piece of good news on the mobile phone front:

WIND Mobile Takes Off - National Post

WIND Mobile - www.windmobile.ca - has finally been given the green light in Canada. No longer will we be limited to the triopoly of Rogers/Bell/Telus. Hopefully, this means no more 3-year contracts and lower prices in general. Canada is the most backward country in the world when it comes to mobile phones, largely because of Rogers & Bell's huge political influence.

I urge all who are upset about Rogers or Bell to check out WIND Mobile and consider switching over. Actually, I urge all to check out WIND Mobile. From what I can see, their plans are quite cheap and straightforward.

Thursday, December 17, 2009 8:26:35 PM (Eastern Standard Time, UTC-05:00)  #    Comments [0] - Trackback
Commentary | News | Personal | Technology
# Saturday, December 05, 2009

64-bit Windows: The Definitive Guide


1. How much memory does 32-bit Windows support?

I'll try to explain this as simply as I possibly can...

You can have as much as 64 GB of RAM with 32-bit Windows, but there will be a hole between 3 GB and 4 GB.

64 GB? Yes. How is that possible? Well, Intel processors for a long time have had a feature called PAE (Physical Address Extension) that adds another 4 bits to the 32-bit limit of Windows, making it effectively 36 bit.

But...
A few caveats:
- If you have only 4 GB of RAM, you'll see just 3 GB because of the hole between 3 GB and 4 GB.

- If your CPU doesn't have PAE, you're stuck with 3 GB as the limit. Go to My Computer - Properties (in XP) to verify you have "Physical Address Extension" listed in your system information.

Also, processes in 32-bit Windows will see 2 GB of memory. But they won't see the same 2 GB. They'll be moved around by Windows so that all of your memory gets used (it's called multitasking!). So there is no "2 GB limit" as some might have you believe. The real limit is 3 GB, or even more if you have PAE.

2. What is different in 64-bit Windows?

The first thing that's different, you can access up to 16 EB (exabytes) of RAM! That's 8 million 2-TB hard drives!

But there are a few more things you need to be aware of:
- 64-bit Windows uses up 60% more memory and disk space than 32-bit Windows due to the doubling of pointer size
- You may have trouble finding 64-bit drivers for older hardware
- 32-bit software will still run perfectly on 64-bit Windows, thanks to WoW (Windows on Windows) emulation
- 64-bit Windows allows you to access all 4 GB of memory when you have 4 GB installed (not just 3 GB like 32-bit Windows)
- There is no memory hole in 64-bit Windows
- Each process can use more than 2 GB of memory
- Some CPU-intensive operations will complete faster if they take advantage of 64 bits (up to 5 times faster!)

Overall, if you have 4 GB of RAM or more, you should install 64-bit Windows to get rid of the memory hole. If you have 3 GB or less, you should stick with 32-bit Windows, because 64-bit Windows will eat up 60% more of your precious RAM.

My Experience - Going from 2 GB to 4 GB

I'm running 64-bit Windows 7 on my machine, with 4 GB RAM. It runs much more smoothly than it did on 2 GB of RAM. I installed 64-bit Windows 7 on 2 GB of RAM. Don't do it. It caused my memory usage to go up from 50% to 80%. Now, with 4 GB, my memory usage is down to 40%.

So, if you have 3 GB or less RAM and aren't planning to upgrade it right away after installing 64-bit Windows, don't install 64-bit Windows. It will eat up too much of your RAM.

Saturday, December 05, 2009 8:20:09 PM (Eastern Standard Time, UTC-05:00)  #    Comments [0] - Trackback
Personal | Technology
# Tuesday, November 17, 2009

DoEvents really *is* evil!


Apparently some of my older blog articles were really quite popular, because today I stumbled upon something I wrote 5 years ago:
Application.DoEvents() - The call of the devil.

DoEvents messes up the normal flow of your application. If I recall correctly, DoEvents is asynchronous which means it terminates before the application has actually processed any outstanding events, so if you're using it in a procedure with many sequential statements, calling DoEvents causes a huge disturbance whenever it's called. Basically, if you find yourself needing to call DoEvents anywhere, think about starting another thread instead, or using asynchronous delegates.

Imagine this if you will: You have a button on your form that, when clicked, does some complex processing. During the complex processing it also intermittently calls DoEvents to keep the application's user interface "responsive" -- not the best method, I would have used async delegates, but we're talking about a mediocre programmer here. Anyhow, the user sees the application still responding and no indication that there's some processing going on. So the user clicks that button again WHILE the processing is going on! The button responds to the event and starts another processing thread but it isn't actually a thread here, I hope you get what I'm saying. So, like I said earlier, DoEvents screws up the flow of the application too easily.

I want to comment on this further, because I don't think I was really clear at the time.

DoEvents really is evil. Horribly, horribly evil.

In fact, the whole Windows Forms threading model is deficient. The fact that you can set a Label's Text property from any thread is a clear warning sign that something is wrong. This is only now becoming evident to me after having worked for a few months with WPF, which doesn't allow any such nonsense. It will throw an exception if you try to execute UI code on a non-UI thread.

DoEvents should have never been included in the .NET Framework, because it gives a programmer the illusion that you can get by without worker threads. You can't. If a programmer wants to keep the UI responsive while another task is executing, that programmer should use a background worker thread. To update the UI from that thread (to show changing progress), the programmer should call Invoke on the appropriate control and pass in a delegate that will be executed on that control's UI thread. Not only does this serve to keep things consistent, but it also reduces the chances of odd bugs related to threading (which are always difficult to troubleshoot).

So, in short, avoid DoEvents and do what good programmers do: use worker threads. WPF makes it easy (and dare I say fun?) to create & use worker threads, and it's perfectly safe. Windows Forms has a somewhat sketchy UI threading model, mainly because it still has to deal with Win32 API behind the scenes. This is also a reason why you should migrate to WPF and stop releasing production software built with Windows Forms. The sooner Windows Forms dies, the better.

Tuesday, November 17, 2009 8:15:46 PM (Eastern Standard Time, UTC-05:00)  #    Comments [0] - Trackback
.NET | Commentary | News | Personal | Technology
# Wednesday, November 04, 2009

Where's Bob Prechter Now?


So gold just shot up above $1090 today - a new all-time high, oil is up above $80 a barrel again, and I'm getting emails in my inbox about contract opportunities with rates of $60+ an hour. So what does all of this have to do with Bob Prechter?

Who is Bob Prechter anyway? For those who don't know, Robert Prechter is a semi-popular financial analyst who occasionally pops out of his wooden shed to warn us all about the impending danger of deflation. Much like Mike "Mish" Shedlock of globaleconomicanalysis.blogspot.com, he was right in the fall of 2008, when the price of everything collapsed spectacularly. However, most prices have pretty much recovered since then and some (like gold) are actually making new highs!

Robert Prechter has an interesting theory, however: that short-term market movements are entirely random - influenced by a recurring cycle known as the "Elliott Wave," which is based on the Fibonacci ratio of 1.618. In short, markets are irrational, but predictably so - they can be predicted by applying this Elliott Wave theory.

I agree with Robert Prechter on the "markets are irrational" bit. I even think he might be on to something with the Elliott Wave theory. But as far as deflation goes, I am strongly against it. I do not believe deflation can happen in a system of fiat currency (where money is created out of thin air).

One example that deflationistas often like to bring up is the case of Japan in the 1990s, and how allegedly Japan experienced deflation from 1990 to now. That is just totally wrong. Japan experienced roughly -0.5% inflation for 3 years. That's it. That's all the "deflation" it ever experienced. Japan is not a valid example of deflation.

One other example some deflationistas hearken back to as a last resort is the Great Depression. However, during the Great Depression the US was still on a gold standard, so that example is totally invalid in today's fiat world.

So given the track record of these "deflation" predictions, why does Robert Prechter think that "this time is different"? And where is he now, when his predictions appear to be falling apart by the day?

Wednesday, November 04, 2009 7:41:47 PM (Eastern Standard Time, UTC-05:00)  #    Comments [0] - Trackback
Commentary | Finance | History | News | Personal
# Tuesday, September 08, 2009

Pseudo-Random Thoughts


I'm going to get a little more personal in this post and tell you all about my latest insights into life. Seems like while everyone is starting school again, I'm here looking for work trying to forge a new path into an uncertain (and increasingly bleak) future.

I graduated from Waterloo Software Engineering in June with no job, and no idea what to do with my life. That much hasn't changed -- yet. But what has changed is my level of knowledge of the so-called "real world."

A major economic depression started in 2008, along with a gigantic paradigm shift in people's attitudes towards spending. Regardless of why or how that shift happened, it's now certain that it happened and it won't be reversed. It's here to stay. How did this affect me personally? Well, the place I was working at before I graduated basically went into a hiring freeze in November, 2008 and so I lost the full-time job I may have been offered otherwise. I ended up graduating without a job.

Following an enlightening trip to Romania, where I witnessed some rather spectacular things which I might describe in more detail in a future post, I came back with a somewhat revised outlook on life. Specifically, I realized that in order to make it in the "real world" I had to be far more easy-going and roll with the punches as it were.

I'm gaining even more insights every day. It's as if years of uncertainty are finally meshing into a coherent mass of wisdom. It's hard to describe, but it's as if the hormonal fog through which I was trying to navigate during my teenage years is finally lifting. So I will now share with you some of the pearls of wisdom that have formed inside my brain recently.

1. Reality is Negotiable
There's a lot more flexibility in everything than you might at first believe there is. An example of this is with respect to lifestyle. It's amazing to me how people in Romania can live on as little as 500 euros per month and afford all the modern aspects of American life, including cell phones, cars, travel, and of course lots of alcohol & partying. There's flexibility wherever you choose to look for it. Never be afraid to negotiate. You have nothing to lose.

2. Eliminate Expectations
When I started university in 2004, I had some pretty lofty ideals of what my life would be like after graduation. I envisioned a steady income of $60,000 or more per year, I saw myself driving a European car, living in a stylish condo downtown, and being able to travel to interesting places. Of course, I still have those visions. I still want that lifestyle, but I've come to terms with the fact that I probably won't have it for many more years to come, if ever. The party is over. What I've found is that if life does not match your expectations, you'll be unhappy. Happiness is often found when you eliminate expectations as they relate to status, wealth, and other materialistic desires. The frugal lifestyle doesn't have to be a depressing lifestyle. It's just different. It's still life.

3. Take Advantage of Black Swans
Building on wisdom from the "Black Swan," there can be both positive black swans and negative black swans. Try to minimize your exposure to negative black swans but maximize your exposure to positive black swans. They say that luck favors the well-prepared. Take risks whenever you have little to lose and much to gain. Go all-in on a good hand, to use a poker analogy. It's extremely important, and I can't stress this enough. It is extremely important to recognize the situations where you have nothing to lose and something to gain. A lot of businesses fail because they focus too much time on reducing minute losses instead of actively looking for large gains.

4. Disarm Weaknesses
The most uncomfortable (i.e. scary) things are the things from which you'll learn the most. As a well-known philosopher once said, "do something that scares you everyday." Recognize what scares you the most, and approach it, confront it, and disarm it. Not only that, but why not go on and master it? Why let fears be your master, when you can master your fears? Talk about the things you'd rather not talk about. The only way to grow is by recognizing your insecurities and disarming them. By "disarming," I mean dealing with them in any way you feel is most efficient. Don't try to become a master in something you have no interest in. But just recognize what it is that makes you uncomfortable and find a way to disarm it. If you're afraid of dogs, recognize that fact (stop denying it), and disarm it by exposing yourself to that which you fear.

5. Stop Seeking External Validation
The world is a brutal place. Nobody is going to appreciate you, hold your hand, or treat you in a special way just because you think you're special. A lot of people have incredibly fragile egos which are based purely around what other people think of them. Some will go as far as to create false impressions, manage their public appearance, and hide any weaknesses that they might have. This is suicide. If you do this, you might as well kill yourself because the same objective is achieved - your personal life, your life as an individual, ends at that point. Recognize situations where you are seeking validation and disarm those situations. Your self-esteem should not be dependent on what others think of you. Try to humiliate yourself at least once a day.

6. Loss of Control is an Illusion
Control freaks will often run into situations in which they feel that they have no control, and typically they will feel very uncomfortable -- even terrified. The loss of control may feel complete, but it's not. Typically, in an unfamiliar situation you feel the most sense of "loss of control." Again, you have more control than you think. So just chill. If you think more deeply you'll realize just how much control you actually have.

7. Always Test Assumptions
I have to give credit to the author of "The 4-Hour Workweek" for this golden piece of advice. Left-brained people always love to read books and follow prescriptions (instructions) for everything. I hate this approach, because I have to know WHY a certain step has to be taken, and what the alternatives are. I guess that's why I'm an engineer. But really, following assumptions (blindly) is akin to following a religion. Also, just because an assumption is socially prevalent doesn't mean it's right. It's often easy to overlook this reality and say that, well, the masses are always right. The masses are seldom right. And even if they were, what does it matter to you? You should be looking at assumptions as if they were hypotheses, and try to test them by experimentation.

8. Only You Can Establish Boundaries
People seldom establish their own boundaries. Sad but true. There are many boundary-pushers out there. These are the bullies of middle school, the bosses that belittle their employees, the abusive girlfriends or boyfriends, the students who tease the inexperienced supply teacher, the children who bankrupt their parents. If you do not assert your boundaries, people will assume that there are no boundaries there. I've had experience with this all my life and I always hate it when my personal boundaries are violated, and I make it clear that it's not cool. You have to be willing to say "no," in a reasonable way and be prepared to make enemies. That's life.

9. Ignore the Inconsequential
There's far too much information (and entertainment) in the world today. A lot of it is totally inconsequential relative to your own life. A lot of it is a complete waste of time. You can spend a lot of time worrying about minutiae. I've been there. I know what it's like. A lot of people with OCD probably know what I'm talking about. Spending countless hours doing something totally meaningless because you don't want to get started on that massive Anthropology assignment. You just sit there surfing the net aimlessly. You don't even go out, you don't do anything productive. Procrastinators actually have a form of OCD. Worrying about a major undertaking is pretty normal, but just don't let it consume too much of your time.

Why 9 points? I like 9. It's a very complete number. It's the highest single-digit number. How many 9s are there from 1 to 100? Google it, I won't give you the answer. I won't hold your hand. Nobody will. It's time to grow up and do things on your own. Just like you have in the past.

The next 10 years of my life will certainly be more fun than the last 10 years of my life. Maybe it's time to say goodbye to this lost decade for good. It's time to embrace the real world, free of school, free of the left-brain prison where you must accept assumptions and regurgitate them on command. It's time to enter an enlightened state of mind.

Tuesday, September 08, 2009 1:05:05 AM (Eastern Standard Time, UTC-05:00)  #    Comments [0] - Trackback
Commentary | History | News | Personal
# Sunday, September 06, 2009

Malcolm Gladwell: Genius Takes 10,000 Hours!


Fascinating video:


Sunday, September 06, 2009 1:20:15 AM (Eastern Standard Time, UTC-05:00)  #    Comments [0] - Trackback
Commentary | Personal | Science
# Thursday, August 27, 2009

Bank of Canada is Understating Inflation


I decided to use the Bank of Canada's Inflation Calculator to see what some prices from 1968 would amount to in today's dollars. I got the 1968 prices from http://www.thepeoplehistory.com/1968.html

The average house in 1968 cost about $15,000. I challenge you to find me a house today (that isn't a dump) that sells for $91,000 (the price given by the Inflation Calculator).
The price of oil in 1968 was about $5 a barrel. Is oil anywhere near $30 today?
Gasoline was 35 cents a gallon (10 cents a litre). Is gas 60 cents a litre today?
A brand-new GM car was $2800 in 1968. Show me ONE new GM vehicle I can purchase for under $17,000 today and I'll buy it.

The CPI is understating inflation (since 1968) by anywhere from 50% to 200%. The CPI should be at least 200, not 114.7.

The consistent understatement of the CPI is causing major problems for savers, retirees, and tax payers. It is essential that this problem be rectified or else the Canadian standard of living will continue to decline.

Bank of Canada, if you keep adjusting the CPI downward (for whatever reason), there will come a time when the CPI will be so out of touch with reality that people will revolt and the corruption that has been going on will become evident for all to see. So I would say it is in your own interest (for the purpose of maintaining credibility) to provide a CPI that is as accurate as possible.

Or maybe I'm just mad that I'm only getting 1.2% interest on my savings account, while the Core CPI as reported by Bank of Canada itself is 1.8%!

Thursday, August 27, 2009 2:37:25 PM (Eastern Standard Time, UTC-05:00)  #    Comments [0] - Trackback
Commentary | Finance | News | Personal
# Monday, May 11, 2009

Preparing for the Worst


I've taken the time to compile a timeline of global economic stats for 2009. It will be an interesting year. I'm not ready to drink the kool-aid that the worst is over. The worst is yet to come. After a quiet summer, the next leg of the collapse will start at some point in August. I really hope what I say does not come true, because if it does, it will be a living nightmare.

  • Unemployment figures (officially) in the US will hit 10% by July. However - the government may massage the figures, keeping them under 10% until late September.
  • I'm expecting very little volatility in the markets over the summer, until early August when unemployment figures in the double-digits will be first released. I'm expecting the Dow to continue somewhere between 9000 and 10,000, and gold between $900 and $1000, until at least early August.
  • Watch out on August 8, 2009. This is exactly a year after the Georgia incident. Russia may again try to attack Europe, in retaliation to growing NATO influence over former Warsaw-pact territory. The men behind the curtain may give Russia the green light, in light of the horrendous economic stats coming out. In other words, to make a quick buck and prevent social unrest, the corrupt banksters may choose to start a third world war.
  • By fall it will become clear that the world is in total economic collapse. In September, 2009, the Dow will begin to crash violently, along with the US dollar. News will be coming out that US unemployment has just hit 12% and the US economy is expected to contract 15% in 2009.
  • From a high of 9000, the Dow will end up at 4000 by November. US treasuries will go into hyperinflation in October, 2009. The entire world will enter a World War II-like state economically starting in October.
  • In October, 2009 a dangerous new influenza virus begins to spread. It begins by claiming 200-300 lives every day. It is clear that it is a bioweapon, because it is spread by way of covert agents, appearing simultaneously on different continents. By December, this mystery flu is killing 1000-2000 people every single day. It has a kill rate of 40%. This means 40% of people who become infected die. The government encourages vaccination, not knowing that the vaccine also has a kill rate of 40%. It will turn out to be the worst pandemic the world has ever seen.
  • Somewhere in early October, gold will definitively cross the $1000 barrier while the Dow crosses 4000 on its way down. Shortly after that, the COMEX will be shut down and all markets in the US will be closed. All commodities will be declared illegal. The US will be under full martial law. No person will be allowed to own property, and all land will be seized by the US Federal Government. Movement will be strictly controlled with military checkpoints. UN peacekeeping forces will be deployed worldwide to contain civil unrest.
  • Although no longer reported, unemployment will continue to climb, reaching 16% by the end of 2009 (by official measures) or 30% according to shadowstats.
  • It will not be visible, but the US dollar will reach hyperinflationary collapse by November, 2009. The US dollar will only be exchangeable on the black market. Exchange controls will be in place worldwide. Gold will sell for over $4000 USD on the black market.
  • At some point in October, 2009, there will be a concerted effort to take down the Internet. ISPs will be forcefully shut down for allowing "subversive" material to be downloaded. If the attempt is successful, there will be mass riots. 70% of every city's population will be violently protesting. All economic activity will go underground. The Internet may be forced to go underground.
  • Be prepared for widespread long-lasting power outages starting in August, 2009. Remember what happened in 2003. It will be similar to that, but it will last longer. Blackouts may end up lasting for weeks. It's quite possible that by the end of 2009, reliable electricity service will be a thing of the past.
  • One also needs to prepare for food shortages and shortages of other essential goods. The government and corporations will hoard all food for themselves and possibly give some out in small rations (e.g. you are allowed 3 eggs per month). The blackouts will make it hard for supermarkets to continue operating. The fixed exchange rate and worthless fiat currency will mean that imports & exports will be impossible.
  • By November, 2009 nearly every country on the planet will have instated a total military draft. Every single citizen will be openly apprehended and forced into either military service or civilian service (forced labour).
  • The speed with which all this happens will make "shock & awe" seem like slow motion.
I suggest to everyone (including myself) to prepare for all of these possibilities. What do you do if your city's power goes out for 2 weeks? Or if the Internet is shut down? What if all the local grocery stores close down for 3 weeks? What if all your paper currency becomes worthless, or you're no longer allowed to withdraw money from your bank account? And lastly, what are you gonna do... when they come for you?

Peace. Love. Understanding.
Hope for the best. Prepare for the worst.

Monday, May 11, 2009 2:54:06 AM (Eastern Standard Time, UTC-05:00)  #    Comments [0] - Trackback
Commentary | Finance | Personal
# Saturday, February 21, 2009

Crisis of the Third Millennium


Ladies & gentlemen, I see before me a crisis that will lead to the thirdworldization of America.

Okay, so "thirdworldization" isn't really a word. But it could become one.

One thing is clear: the United States of America is rapidly heading toward third-world country status.

"But... this has never happened before" you say! Actually, it has. The Roman empire collapsed in a similar way. The government became more and more draconian while trying to fight inflation (caused by all the excesses of past politicians), which led to disenfranchisement, factionalization, and a 50-year period of relative anarchy known as the "Crisis of the Third Century".

But history aside - I'm going to show you how America is set to enter the third world.

I'll begin by defining the term "third world" in terms of the way it's used in the modern vernacular. Initially, "third world" was used in reference to specific countries during the cold war. But today, it's used more broadly to describe countries where the standard of living is very low and the level of political organization borders on anarchy.

So what are the characteristics of a "third world" country? One only needs to look at Mexico for an example. Here are 7 characteristics of a third world country:

1. Militias and/or warlords control much of the country's means of production.
2. All public officials are corrupt, even at low levels (e.g. police officers).
3. Most business owners/officers are tied to militias and/or corrupt government officials, and are themselves corrupt.
4. Trade relations with foreign countries are very limited or non-existent.
5. The country has little in the way of credit rating, and as a result has high inflation (possibly even hyperinflation).
6. Unemployment is high, wages are very low, and the standard of living is similar to the Great Depression.
7. The country is incapable of producing enough to sustain its own people (i.e. GDP is very low).

Romania from about 1985 to 1995 met all 7 of these criteria. Though I was only a child then, I still remember it quite well. After 1995, #4-7 improved considerably, but #1-3 still continue unchanged.

Back to the US - how many of the criteria are met right now? Let's see...

#1 - No. A secretive elite controls America's means of production. Better than a militia...I guess.
#2 - Yes & no. At the high level, it's called lobbying. It's not happening yet at the low level.
#3 - Yes. This is absolutely the case with 99% of US corporations. They lobby the government, and the government does what they want.
#4 - No.
#5 - No.
#6 - No.
#7 - Yes. If you take social security for instance, that is unsustainable. Also, all of America's manufacturing has been exported, and agriculture is being done by a handful of multinational corporations.

So America meets 2.5 out of 7 criteria right now. But where is America heading? What will it look like in 2012? Let's look at current events, because as Gerald Celente says, current events form future trends...

#1 - Squatters are busy taking over abandoned properties these days. If you think you can defend your property with a gun, think again. Squatter "tribes" are large - maybe as many as 100. Bigger than gangs. Think your guns can help you now?

There is increasing factionalization (development of tribal factions) in America. Some are united by ethnicity, others are united by political beliefs. These factions are growing in size and power. The vacuum of power left by the bankrupt US government will be filled in by these factions. There is one thing in common among all these factions: disenfranchisement by the US government.

#2 - When police officers have virtually no food on the table because their government paycheque has either disappeared or shrunk because of inflation, they will gladly accept bribes. A little disenfranchisement will also help. Many will feel disenfranchised when their government paycheque has become a cruel joke. If that doesn't do it, increased taxes will. Not to mention the fact that the government will be perceived as powerless and incompetent after its collapse. Most police officers will become sympathizers of the "people" (the disgruntled masses) as long as they receive some decent bribes.

#5 - When China realizes it's been royally screwed, after the default of the US on all of its dollar-denominated debt, they will no longer lend to the US so willingly. Or perhaps all it takes for China to dump its dollars is for the US to be downgraded from AAA credit rating. The day that happens, the US dollar will begin to resemble the Zimbabwe dollar pretty quickly.

The US is not AAA no matter how you put it. Even if you believe they have 8,500 tons of gold at Fort Knox, that's only worth about $250 billion. The total amount of US dollar-denominated credit outstanding is about $36 trillion. So the gold at Fort Knox doesn't even cover 1% of that. Gold would have to go to $13,000/oz just to back 10% of the US dollars sloshing around out there. And that's if you believe the whole Fort Knox business.

#4 - See #5. Basically, with no more credit, the US will be forced to withdraw from all of its global outposts purely for financial reasons. Since they are heavily reliant on imports, a loss of credit rating would immediately result in shortages of the most basic goods out there, including gasoline and food.

#6 - Unemployment in the US will go above 10% and likely even above 15%. After inflation, a salary of $30,000 a year will look similar to what a Chinese worker makes today. Without basic goods such as gasoline (see #4), the average American will be plunged into - literally - a "dark age".

So now you see that it is possible for the US to fall into third world country status. Out of all the criteria, I have to admit that #2 (street corruption) seems the LEAST likely to happen. I just don't see your typical God-fearing American bribing a police officer. But I could be wrong. Actually - let's hope I'm 100% wrong and none of these doom & gloom predictions ever happen.

Saturday, February 21, 2009 2:09:36 AM (Eastern Standard Time, UTC-05:00)  #    Comments [0] - Trackback
Commentary | Finance | History | News | Personal
# Tuesday, February 10, 2009

Why C++ Sucks (Sort Of)


So I've met a couple of people (who shall remain nameless) over the past few weeks who insist that C++ is better than Java. I am truly impressed by the stubbornness of these people. So here goes. I'm going to argue once & for all why ...
OH NO! I'm not falling into that trap.

I'm just going to pose questions that any developer should ask before choosing either C++ or Java. NOTE: I'm not advocating just Java here. Mono has comparable features, or .NET if you don't care about cross-platform.

Before I start I'd like to mention that I was once a die-hard C++er. I started programming in C++ back when I was 11, but 5 years after that I found .NET and never looked back. So I technically have 5 years of experience with nothing but C++, and I have used it off & on and will continue using it whenever I absolutely need to.

1. Ant vs "make"

What's better? Ant or "make"? Would you rather write a Makefile (no extension) in a proprietary hard-to-read language, with a text editor like "vim", or would you rather write an XML file (build.xml) which could easily be generated by a tool (perhaps with a GUI)?

Secondly, which one has more capabilities? Ant or "make"?

2. Pointers

Do you really need pointers? Do you really need to convert integers (memory addresses) to objects? Are you willing to put up with the hassle of manually collecting garbage (using "delete" statements)? How are you going to test that you don't have memory leaks?

What if the architecture you're working on uses 48-bit memory addresses and you want to port your program to an architecture that uses 64-bit memory addresses? Have you thought about how you're going to do that? Because you know, in Java you don't need to think about any of this.

3. CPU Architecture and OS

What CPU are you programming for? What OS? Do you need little-endian or big-endian integers? Are you going to use Unicode? Which kind? UTF-8 or UTF-16? With Java, you don't need to think about it.

Suppose you are coding for multiple OSes/CPUs. Do you like having lots of preprocessor statements in your code? There is no need for preprocessor statements in Java. If you do want to check what OS or CPU you are running on, you can do so at runtime.

How are you going to know what libraries to link to on each OS? And how will you know that you have the right version? For the right architecture/OS? In Java, you have only one shared library: the JDK. In C++, you have a variable number of shared libraries.

4. JUnit

One question: Unit testing: how will you do it in C++? Or will you just rely on integration testing all the way through?

5. Graphical User Interface

Suppose you want a GUI for your application. What toolkit will you use? Gtk, Qt, Win32, MFC, .NET? Console is starting to look more attractive already, isn't it? Will you use a different toolkit for each OS? At least in Java, SWT handles all that dirty work and you can get a native GUI on just about every OS.

6. Web Applications

What are you going to do for web applications? Make/use a CGI application? Use Perl/Python/PHP? Does the ugliness of those scripting languages bother you at all? Or the fact that you'll have to learn yet another language? With Java, you can build a totally custom web server in about 300 lines of code. You also have JSP.

7. Dynamic Linking

Suppose you want to enable your application to have plugins, so that other developers can contribute parts of your application without seeing the core application's source code. How exactly are you going to do this? In Windows, you can use DLLs. What about in Linux? How are you going to distinguish between the two?

What if somebody submits a plugin built for Linux and your application is built for Windows? Maybe you want to load that plugin anyway, because it technically shouldn't have any OS calls. How will you do it? The plugin is an .so file and your application is an EXE. Feel like figuring that out?

8. Exceptions vs. Core Dumps

Think about this carefully: Would you rather receive a core dump (segmentation fault) if something goes really seriously wrong, or would you rather it be an exception?

Conclusion

This is it for now... I may add to this article if I come up with anything else.

Tuesday, February 10, 2009 1:31:23 AM (Eastern Standard Time, UTC-05:00)  #    Comments [0] - Trackback
.NET | Commentary | History | Personal | Technology
# Friday, September 26, 2008

Days Away From World War III


We are mere days away from some VERY big news.

There is a greater chance than ever that the world will be VERY different by October 1.

Yom Kippur is approaching, and the Russians have expressed great fear of a second Yom Kippur War, between Israel and Iran. They are intent on "preventing" it, by launching an earlier strike in Iran - September 28th.

Israel has been positioning itself in Georgia, in order to invade Iran. NATO bases have been built in Georgia. Georgia represents the perfect strategic location (other than Iraq) for attacking Iran. Iran is now surrounded by enemies: Iraq, Georgia, and Afghanistan - all are now occupied either by the US (NATO) or Russia.

Russia has positioned itself in Georgia and Syria. Take a look at what countries border Georgia and Syria. The US is in Iraq, ready to help Israel with its Yom Kippur Iran invasion. Russia will attack Iraq from Syria and Iran from Georgia, and the US will not know what hit it.

Prophet Alois Irlmaier sees "two eights and a nine" for the start date of World War III. 9/28/2008.

Congress is going on vacation at the end of this week. McCain has decided not to show up for the debate in Mississippi. Americans will be totally taken by surprise by the events that are about to unfold.

Thursday, September 25, 2008 11:50:25 PM (Eastern Standard Time, UTC-05:00)  #    Comments [1] - Trackback
Commentary | Personal
# Friday, June 20, 2008

Blast from the Past


I stumbled upon a file I wrote when I was only 12 years old when I coded a DOS game called Galawar (downloadable here!). I had an insane amount of computer knowledge back then:

This is me, sometime in 1999...
==============================================================================
-----     ***             What is protected mode?         ***     ------------
==============================================================================

     Protected mode isn't even close to a mode of security as you might think.
In fact, it is very different than that! Protected mode is a mode of your
CPU, where it can access(by using 24-bit memory addresses) a bigger amount of
memory than the usual 640 KB or less of conventional memory. Conventional
memory was the first memory to work with the 8086 and 8088 processors. Before
that, there was only 64 KB of memory or less to work with. Can you imagine?
Now, with the introduction of the 286 processor, we entered the world of
megabytes. The maximum amount of memory a 286 processor could have accessed
using protected mode was 16 MB. Protected mode was enabled and is enabled still
by the most common driver, HIMEM.SYS. It enables access to the High memory area
which can exceed the old 640 KB limit.

     Galawar uses the 386 processor which has some enhancements. It can access
memory using the virtual x86 mode, which is a mode that can simulate memory
through the hard disk using a page file(when there is not enough memory it
automatically swaps out some data to the hard disk. This is called A20 line
control and is enabled by HIMEM.SYS). Galawar uses the 32-bit enhancement
of the 386 processor to enable faster processing and, therefore, larger data
to go with the 16 MB of memory which can be accessed. 32-bit operating can't
be used on a 286 processor which wasn't a 32-bit processor. That's why, even
though Galawar uses protected mode compatible with the 286, Galawar needs a
386 processor to run.

     Protected mode is divided into two categories of memory, which can each
equal a maximum of 16 MB per block. The first and fastest kind is XMS memory,
which Galawar uses. Galawar could have used EMS memory, the second kind, but
it is a lot slower because it is divided into small handles. Each handle can't
be bigger than 16 KB. That's why, instead of using EMS memory, Galawar turned
back to the old conventional memory, which is somewhat faster than EMS memory
because it allows 64 KB handles. Also, Galawar simplified its requirements
because it would have wanted the EMM386 driver installed too, which can cause
real trouble in interaction with XMS memory. By the way, XMS memory can have
handle sizes up to 16 MB, in increments of 32 KB!

     Galawar hates Windows of any version because it uses too much processor
time(25% up to 50%) and because it uses too much memory. If you run Windows
in 386 Enhanced mode be careful because the memory might be in a page file and
Galawar could slow down a lot. Use DOS instead!(THIS DOESN'T REALLY MATTER
ON A PENTIUM OR PENTIUM II/III PROCESSOR).

     So, now I hope you know what protected mode is and why Galawar needs the
386 processor. You can impress your parents with this as well as your computer
teacher!

Friday, June 20, 2008 2:47:00 AM (Eastern Standard Time, UTC-05:00)  #    Comments [0] - Trackback
History | Personal | Technology
Archive
<March 2010>
SunMonTueWedThuFriSat
28123456
78910111213
14151617181920
21222324252627
28293031123
45678910
About the author/Disclaimer

Disclaimer
The opinions expressed herein do not represent the opinions of the author or of any employer, employee, or associate of the author.

© Copyright 2010
Dan Tohatan
Sign In
Statistics
Total Posts: 157
This Year: 15
This Month: 5
This Week: 1
Comments: 34

Finance
Top Blogs
Test PC Performance with Dacris Benchmarks.
All Content © 2010, Dan Tohatan