Thursday, October 13, 2011

RIP Dennis Ritchie

Sublime. There is no better word that can be used to describe the C programming language and the Unix operating system, which were co-created by Dennis M. Ritchie (dmr), who passed away earlier this week. C and Unix are sublime.

The way computers work today is because that is how Dennis Ritchie (and cohorts) decreed they should run. This is known as the Unix operating system, which all modern operating systems are based on, either directly or indirectly. We take for granted things like “files” on our computers, but that’s not how most computers organized data prior to Dennis Ritchie. It’s not just your computer, but your mobile phone, your TV, and even your car, that work the way that Ritchie (et al) designed.

In additional to Unix, Ritchie is also responsible for the C programming language (Unix was written using C). Most modern languages, from JavaScript to to PHP to Lua are based partly on the C programming language.

But C is more than just a programming language. It is a sublime expression of computing.

In the beginning, C was designed to be a “portable” low-level language. Until C, low-level code was written in machine language. Sure, database applications might be written in high-level languages like COBOL, but such languages were inappropriate for low-level code, like that found in operating systems. C was designed specifically to be a common low-level language that worked on many different machines at the time. This allowed Unix, which was written in C, to become a universal operating system that worked on many types of machines. In the modern world, Unix runs your iPhone and super computers.

But a strange thing happened after C: all new machine processors designed after that point were designed specifically to run C.

Take your iPhone, for example. It runs a processor type called “ARM”. The ARM processor was designed from the ground up to run C code efficiently, specifically in the way it handles the stack and conditional expressions. Or take the x86 processor family from Intel. Over the years, as the processor has grown from 16-bit to 32-bit to 64-bit; the blueprint has always been how it can run C code efficiently. Even though the x86 and ARM cannot run each other’s machine language, they both can be programmed in C, and both run C efficiently.

I’m a long-time C programmer. I learned C as a child, and it took me a decade of programming to appreciate the sublime nature of C. It would be fair to say that it was Dennis Ritchie (and cohorts) that taught me how to program. By studying their decisions in creating the language, I learned how such a language should be used. I still have my original dog-eared copy of K&R’s book on the C programming language. Like any good book, I have read and re-read it multiple times.

In the late 1990s, I started my own company, selling a high-performance network monitoring system for preventing hacker attacks. By weaving C code in just a certain way, I was able to achieve 10 times the network speeds of my nearest competitor. I could achieve the improbable because I could see the sublime nature of C. This caused my competitor to buy out my company, replacing their product with my own. This has made me very rich. And I owe this to Dennis Ritchie (and his codesigners).

Dennis Ritchie wasn’t solely responsible for Unix and C. There were many others involved, notable Brian Kernighan and Ken Thompson. It was these guys who were the heros of my youth, not baseball players or musicians or politicians. It was these guys who inspired me to become the person I am today.
#include <stdio.h>

int main(int argc, char *argv[])
{
    printf("Thanks dmr.\n");
}

Wednesday, September 28, 2011

Guardian’s take on Science vs. Religion

This Guardian article (http://www.guardian.co.uk/science/blog/2011/sep/28/faster-than-light-science-religion) on the difference between science and religion annoys me. It’s gets the science mostly correct (faster-than-light neutrinos will overturn a lot of theories, but not science itself), but it lies about how science is taught. Specifically, in politicized issues like Evolution and Global Warming, children are taught to “believe”, to have “faith”, and that to disagree is to “sin”. Scientists themselves turn to “belief” when the evidence fails them.

Tuesday, September 13, 2011

The anti-intellectualism of Paul Krugman

In a NYTimes op-ed, Paul Krugman attacks Republicans (like Rick Perry and Mitt Romney) for being anti-science and anti-intellectual. But the science and critical-thinking errors in his post demonstrate that it is in fact Krugman who is anti-science and anti-intellectual.

Thursday, August 25, 2011

A thank you note to Steve Jobs

I was a shy nerd in school, bullied by the other kids. But I could bear it because of one thing: nerd power. I knew that I would follow in the footsteps of other nerds, like Steve Jobs and Bill Gates, to start my own tech company, get rich, and overcome those people who bullied me in school. And I did just that, selling my company for $200 million in 2001.

Steve gave me more than just the self confidence to start my own company. He taught, by example, how to have "vision", how to do great things that changed the world.


I remember in 1984 during a shopping trip with my dad. While he was in the grocery store, I wandered over to the computer store next door. The new Macintosh was on display. I sat down, played with the mouse, opened windows, and so on. (Remember, before this, computers did not have a mouse.) I had an epiphany: this is the way computers were supposed to work, all other computers were wrong. Adults behind me were debating this new computer, mostly poo-pooing it. I was astonished. What was wrong with these people that they could not see the future? Why could they not see what was so obvious to me?

Steve didn't invent the mouse. Or windows. Or anything, really. None of this was his idea. His skill wasn't invention, but this thing I'm calling "vision": the ability to recognize the right answer when he sees it, the ability to see the future.

Another part of this "vision" is love. When you pick up an Apple product, you can tell that somebody loved it. You can tell that it wasn't designed by committee.

Grab the Apple power cables. Everyone else's cables feel the same, Apple's feel different. Up until last year, they were soft and cuddly – as if they were filled with cotton rather than copper. This year, they've gone the other direction, feeling like they are filled with stiff rubber. They aren't cuddly anymore, but when you mix them up with other cables, they don't get tangled. Nor do they get bent, which causes the copper inside to fracture. Either way, they are better than normal cables.

Imagine Apple's competitors. A committee gets together, looks at marketing studies, and tries to figure out how many more units they can ship with better cables, or how much more they can charge. They come up with the obvious answer: zero. So, they just shove any old cable in the box.

That's why they can't compete against Apple. Hard or soft cables, it doesn't matter. What matters if that if somebody doesn't love it, Apple doesn't put it in the box.

I'm a nerd. When I created my company, I built a product for other nerds. I looked into the future, and created the first "intrusion prevention system" or "IPS", now a common anti-hacker tool on networks. I saw the "right" answer to difficult problems, such as the "fail open bypass unit", still a highly debated feature. But most of all, I loved my product. This love was evident when you put my product next to my competitors. It was so more advanced than the product of my biggest competitor, and worked so well, that their sales fell off a cliff, forcing them to buy out my company.


Steve, everyone else is going to thank you for repeatedly changing the world (Apple ][, Mac, Pixar, NeXTstep, iPod, iPhone, iPad). But wanted to thank you for changing me, giving me the self confidence as a child that I, too, could do great things, and more importantly, showing me how.

Sunday, June 12, 2011

All roads lead to "Philosophy"

King of geeks, xkcd, points out in a recent comic that on Wikipedia, if you take any article and click on the first link not in (parentheses) or italics, then repeat, you eventually end up at the page for "Philosophy". For example, the first link on the page for "Star Wars" is "Space operate", which leads to "Speculative fiction", and so on.

Two sites that follow the links for you are http://ryanelmquist.com/cgi-bin/xkcdwiki and http://www.xefer.com/2011/05/wikipedia.

All the terms I've chosen seem to work. I've created a graph of them below, showing how they all converge on "Philosophy":

My question is: what does the "philosophy" page link to? At this moment, it links to "reason", which links to "rationality", which leads back to "philosophy". This means that all pages eventually end in "reason" or "rationality" as well.

It seems like there must be some deep principle behind this, so I'm going to take a stab at what this is: the Enlightenment.

I don't think this graph defines a "natural law", that philosophy is the basis for all things. Instead, I think this is a cultural artifact, that we in modern, Western culture define everything in terms of philosophy and reason.

For example, the American right wing has created their own "Conservapedia" to combat what they see as left-wing bias in Wikipedia. Those articles don't converge. A tested many terms, and each ended in a loop rather than a "philosophy" or "reason".

Did we do that before the Renaissance/Enlightenment? If we gathered up all pre-Renaissance writings in Europe, filtered just the pages that attempted to "define" or "explain" things, and conducted a similar experience, what would happen? Would they lead to loops? Would they converge on something? I suspect that in pre-Enlightenment Europe or modern Islam, they would converge to religion, not reason.

Or what about ancient Chinese thought? Confucianism is a system of though that's dominated China and the far east for 2500 years. If we applied the same sort of trick, what would everything lead to? Would it be some Confucian principle like "governance" or "duty"?

Monday, May 23, 2011

Have the Democrats Lost Their Minds?

One of the more vicious lies by the left-wing is that they are somehow more scientific or intelligent than the right-wing, such as in this Slate article on global warming, birtherism, evolution, and the debt ceiling.

But the left really isn't any better. For every Republican that believes in the "birther" conspiracy, there is a Democrat that believes in the "truther" conspiracy that George Bush was partly responsible for 9/11.

The Republican view on taxes/spending is the mirror image of the Democrat view. As the Slate article points out, spending cannot be reduced to the point where it matches taxes. QED, taxes must be raised, despite Republican's claim the contrary. However, our current spending commitments are so high, that no amount of new taxes can pay for them. QED, spending must be cut, in particular, Medicare and social security must be reformed, despite Democrat's claim to the contrary.

But it is scientific issues where Democrats are most egregiously off-base. Their overestimation of warming is no more scientific than the Republican's underestimation of warming. Those who deny any warming have occurred are no less scientific than Al Gore's doomsday scenario. The basic science shows conclusively that carbon dioxide is a greenhouse gas, that mankind has raised the amount in the atmosphere, and that the planet has warmed – but that the amount contributed by mankind is minor. The evidence of the "scientific consensus" of the United Nations proving that mankind has caused major changes is tenuous at best, relying upon computer models, irreproducible statistical results, and other quackery. Yet, Democrats make no attempt to debate this scientific evidence, they instead focus on the moral debate.

Democrats have completely destroyed the credibility of "science" in the debate over evolution. What makes science better than religion is that when scientists are unsure of something, they admit it, rather than make up stuff. Some of the evidence of evolution is rock solid, such as the fact that the Earth is several billion years old, and that species inhabiting the planet have changed over time. Other parts are just guesses. Scientists haven't a clue as to how life began. Deities or space aliens seeding life on earth is as good a theory as anything scientists have come up with. Yet, rather than admit the areas of doubt, scientists treat Darwin's evolution as a form of religion – you must believe in all of it, even the areas scientists are unsure of. The reason the religious right is concerned is not because science competes with religion, but there is a new state-supported religion competing with their religion. The best way to convince the religious about evolution is to be more scientific, not more religious.

Politics is inherently stupid. Politicians don't get the opportunity to discuss these nuances and have to stick to a "message". In the last presidential election, the Republican candidates were asked in a debate whether they believed in evolution. Some (e.g. McCain) said yes, some (e.g. Huckabee) said no. Regardless of their simple answer, though, they all turned out to believe the same thing: that both Darwin's natural selection and God played a roll. Thus, the short answer might be "no new taxes", "no evolution", "no global warming", but you have to look further to find out the long answer.

I'm a typical Republican. I believe we have to raise taxes, that Obama was born an American in Hawaii, that the earth is warming, that manmade carbon dioxide has something to do with that warming, and that natural selection is primarily responsible for the diversity of species we see, including man. My beliefs are normal – it's the Democrat's beliefs that are crazy.

Thursday, April 7, 2011

Please oppose JP Barlow's attacks on free speech

I follow some people on Twitter because I have respect for them, such as @declanm. I follow others because they are idiots -- but iconic idiots. That's why I follow @JPBarlow: he keeps me up to date with the idiocy in the world. A good example is a recent retweet of his:


Tuesday, March 22, 2011