This is a response to a self-hating paragraph in a Thomas Friedman column. I typed this in a hurry, and it's woefully incomplete.
The original article is here: Can't Keep a Bad Idea Down
Although it mostly talks about how the Tea Party sucks and the Republicans are dragging us into hell, this paragraph pissed me off:
"Here is a little dose of reality about where we actually rank today," says Vest: sixth in global innovation-based competitiveness, but 40th in rate of change over the last decade;"
This is not bad, considering we are competing with relatively small countries like Norway and Hong Kong. And of course when you're already near the top your rate of change is likely to be small compared to places like China, who have nowhere to go but up.
11th among industrialized nations in the fraction of 25- to 34-year-olds who have graduated from high school
Again, probably not as shocking as it sounds. We're a big, diverse country, and it's harder for us to compete with a country like Germany that has a low birth rate.
16th in college completion rate
This tells me nothing. Perhaps we throw more people into college than we should? Maybe we have state-subsidized college education that encourages the children of the wealthy to party for a couple of years before giving up?
22nd in broadband Internet access
Fiber-to-the-burbs! So grandma and grandpa Kim in South Korea have gigabit fiber to their apartment? Why?
24th in life expectancy at birth
Don't have a quick answer for this one. Get back with me.
27th among developed nations in the proportion of college students receiving degrees in science or engineering
And yet we have a higher education system that is the envy of the world. Why do students from all over the planet come here to study science and engineering?
48th in quality of K-12 math and science education
Again, difficult to believe. How is this measured?
29th in the number of mobile phones per 100 people.
That's because we still cling to land lines. This is totally disingenuous. There are many poor areas of the planet that have leap-frogged over landline technology directly to cell phones, this should be something to celebrate, not used as some kind of criticism of the U.S.
Saturday, October 30, 2010
Saturday, June 5, 2010
Hammers and Operating Systems
When the only tool you have is a hammer, everything looks like a nail.
I've had the good fortune to play around with Windows Vista a little over the past couple of weeks. I've been considering the upgrade to Windows 7, so I've read up a little on the newer features in Windows.
As a security-conscious developer, all the new security features in Windows sound very impressive. You've got your DEP (data execution prevention), your ASLR (address space layout randomization), your stack canaries, stack-smashing protection, sandboxing, virtualization, etc...
When I first saw all these 'technologies' described in one place, an image leaped into my mind.
Picture a guy holding a hammer. He's wearing special metal gloves to stop from smashing his fingers. He's got a sophisticated helmet and face shield to keep from bouncing the hammer back into his own head. He's got a safety harness on, and there's a 10-ft exclusion zone around him to make sure nobody else gets hurt. It takes him about 5 minutes to hammer a nail in.
Of course, the guy is a developer, and the hammer is C. (a more apt metaphor might be a hand-made black powder rifle, but stay with me here...). Instead of fixing the inferior tool that's used to build things, they try to mitigate the damage it causes. Every one of these 'technologies' is needed because the C language is inherently unsafe. Even a highly skilled programmer with decades of experience can still make the kind of mistakes that lead to your system getting pwned by the Russian Mafia, and it's all because of this antiquated, unstable-land-mine of a language.
There's no good excuse for writing critical infrastructure like operating systems (or applications) in a language like C. There are plenty of bad excuses. For example, "it's difficult to hire people to write code in better languages, there aren't enough of them". That's like complaining that everybody's trained to use a hammer, and it's too hard to train people to use a nail gun.
It's not like the technology isn't here. Microsoft themselves have been working on an entire suite of tools to replace C (C#,F#,.NET, Singularity, etc...), but they haven't been able to pull the trigger yet. Why is that? It's true that the development timeline for a huge project like a new operating system could easily span 10-15 years. But let's not make perfect the enemy of good. They could start by rewriting IE in C#. They have the talent, they have the tools, the ability. That one simple step would make Windows far more secure.
You'll notice that I haven't mentioned either Apple or Linux yet. That's because they're nowhere near as far along as Microsoft is on this front. Yup, I said that.
The Great Divide
One big reason for the foot-dragging (or should I say knuckle-dragging) are systems programmers. These guys are true Luddites, and they cling, snarling, to their 40-year old tools. They want nothing to do with the highly mathematical, cryptic, and slow-as-molasses-in-January high-level languages like ML. The thought of garbage collection gives them that sinking feeling of lost control you get just after the plane takes off and throttles back a little. These two camps - the systems programmers and the high-level language guys - don't interact at all. And the high-level language guys are just as much to blame. They're often ignorant of the needs of systems programmers, and even when they are aware of them they dismiss them. Their languages are too hard to use, too hard to read, and too hard to write, and one reason is that they still live mostly in academia, where the motivations are all twisted the wrong way.
I've spent some time in both camps, and would dearly love to bridge them, if for no other reason than this: until it happens there will be no secure operating system, and no secure applications. Also, it's a little lonely being one of the few guys that knows how to use the nail gun.
I know of only one project that's trying to bridge the gap, and that's BitC. If you're interested in both sides of the bridge, you should read The Origins of the BitC Programming Language.
I've had the good fortune to play around with Windows Vista a little over the past couple of weeks. I've been considering the upgrade to Windows 7, so I've read up a little on the newer features in Windows.
As a security-conscious developer, all the new security features in Windows sound very impressive. You've got your DEP (data execution prevention), your ASLR (address space layout randomization), your stack canaries, stack-smashing protection, sandboxing, virtualization, etc...
When I first saw all these 'technologies' described in one place, an image leaped into my mind.
Picture a guy holding a hammer. He's wearing special metal gloves to stop from smashing his fingers. He's got a sophisticated helmet and face shield to keep from bouncing the hammer back into his own head. He's got a safety harness on, and there's a 10-ft exclusion zone around him to make sure nobody else gets hurt. It takes him about 5 minutes to hammer a nail in.
Of course, the guy is a developer, and the hammer is C. (a more apt metaphor might be a hand-made black powder rifle, but stay with me here...). Instead of fixing the inferior tool that's used to build things, they try to mitigate the damage it causes. Every one of these 'technologies' is needed because the C language is inherently unsafe. Even a highly skilled programmer with decades of experience can still make the kind of mistakes that lead to your system getting pwned by the Russian Mafia, and it's all because of this antiquated, unstable-land-mine of a language.
There's no good excuse for writing critical infrastructure like operating systems (or applications) in a language like C. There are plenty of bad excuses. For example, "it's difficult to hire people to write code in better languages, there aren't enough of them". That's like complaining that everybody's trained to use a hammer, and it's too hard to train people to use a nail gun.
It's not like the technology isn't here. Microsoft themselves have been working on an entire suite of tools to replace C (C#,F#,.NET, Singularity, etc...), but they haven't been able to pull the trigger yet. Why is that? It's true that the development timeline for a huge project like a new operating system could easily span 10-15 years. But let's not make perfect the enemy of good. They could start by rewriting IE in C#. They have the talent, they have the tools, the ability. That one simple step would make Windows far more secure.
You'll notice that I haven't mentioned either Apple or Linux yet. That's because they're nowhere near as far along as Microsoft is on this front. Yup, I said that.
The Great Divide
One big reason for the foot-dragging (or should I say knuckle-dragging) are systems programmers. These guys are true Luddites, and they cling, snarling, to their 40-year old tools. They want nothing to do with the highly mathematical, cryptic, and slow-as-molasses-in-January high-level languages like ML. The thought of garbage collection gives them that sinking feeling of lost control you get just after the plane takes off and throttles back a little. These two camps - the systems programmers and the high-level language guys - don't interact at all. And the high-level language guys are just as much to blame. They're often ignorant of the needs of systems programmers, and even when they are aware of them they dismiss them. Their languages are too hard to use, too hard to read, and too hard to write, and one reason is that they still live mostly in academia, where the motivations are all twisted the wrong way.
I've spent some time in both camps, and would dearly love to bridge them, if for no other reason than this: until it happens there will be no secure operating system, and no secure applications. Also, it's a little lonely being one of the few guys that knows how to use the nail gun.
I know of only one project that's trying to bridge the gap, and that's BitC. If you're interested in both sides of the bridge, you should read The Origins of the BitC Programming Language.
Thursday, May 27, 2010
The Ultimate Database
I've been digging around in my genome, using the data collected by 23andme. They collected about a half million SNPs, or "single-nucleotide polymorphisms". Each SNP is a single-letter change in DNA that researchers have teased out by comparing genomes between humans, and even between humans and other animals. You could say that our SNPs are what make us each unique individuals.
For example, the SNP rs12913832 has been found to have a very high likelihood for predicting blue eyes. I have "GG" in that location, which is spot on. But wouldn't it be cool to look at that bit of DNA?
That's where the UCSC Genome Browser comes in. This has got to be the coolest database browsing tool I've ever used. Yeah, it's a little clunky, but when you think about what you're looking at, you are gobsmacked.
Here is the zoomed-in view of the SNP for blue eyes.
In the center of the image lined up with the SNP you will see a series of A's. This shows that in all of those animals, that portion of the HERC2 gene has an A there. In other words, it's a "highly conserved" allele. The graph in the center portion shows how conserved that area of the gene is within the animal kingdom. The HERC2 gene encodes an enzyme that controls the OCA2 (oculocutaneous albinism) gene. Stuffing a G into that location causes blue eyes. (yes, I'm simplifying a bit).
Ok, now to explain a bit more of what's going on in the browser. Above the main image is a smaller image. That's a picture of the actual chromosome, in this case Chromosome 15.
You can navigate through the chromosome by hitting the left and right arrow buttons, and zoom in and out. The image changes radically depending on the level of zoom, showing different levels of detail. The number of SNPs gets very dense as you zoom out.
Here's another interesting gene, TTN. This encodes a muscle protein Titin, and is the largest gene, encoding the largest protein known to man, with the chemical formula C132,983H211,861N36,149O40,883S693. It's just one springy piece of the complex mechanism that muscles are made of.
Looking at the section in the middle you can see that the TTN gene is highly conserved, forming that dark band down the middle of the image. Even the stickleback has a very similar TTN gene.
The dense graph on the bottom are the SNPs in this region of the chromosome. Each of those SNPs is a potential area for research. It's staggering how much is known already, but even more amazing is the sheer size of this project, the database, and animal genomes.
If you scoot over a couple of pages to the left from TTN, you'll find the Homeobox D (or HOXD) genes. These affect things like limb development. If you type 'HOXD13' in the gene box and hit 'jump', you'll zoom in on that single gene. Somewhere in that gene I have a mutation that gives me strange thumbs, just like Megan Fox.
For example, the SNP rs12913832 has been found to have a very high likelihood for predicting blue eyes. I have "GG" in that location, which is spot on. But wouldn't it be cool to look at that bit of DNA?
That's where the UCSC Genome Browser comes in. This has got to be the coolest database browsing tool I've ever used. Yeah, it's a little clunky, but when you think about what you're looking at, you are gobsmacked.
Here is the zoomed-in view of the SNP for blue eyes.
In the center of the image lined up with the SNP you will see a series of A's. This shows that in all of those animals, that portion of the HERC2 gene has an A there. In other words, it's a "highly conserved" allele. The graph in the center portion shows how conserved that area of the gene is within the animal kingdom. The HERC2 gene encodes an enzyme that controls the OCA2 (oculocutaneous albinism) gene. Stuffing a G into that location causes blue eyes. (yes, I'm simplifying a bit).
Ok, now to explain a bit more of what's going on in the browser. Above the main image is a smaller image. That's a picture of the actual chromosome, in this case Chromosome 15.
You can navigate through the chromosome by hitting the left and right arrow buttons, and zoom in and out. The image changes radically depending on the level of zoom, showing different levels of detail. The number of SNPs gets very dense as you zoom out.
Here's another interesting gene, TTN. This encodes a muscle protein Titin, and is the largest gene, encoding the largest protein known to man, with the chemical formula C132,983H211,861N36,149O40,883S693. It's just one springy piece of the complex mechanism that muscles are made of.
Looking at the section in the middle you can see that the TTN gene is highly conserved, forming that dark band down the middle of the image. Even the stickleback has a very similar TTN gene.
The dense graph on the bottom are the SNPs in this region of the chromosome. Each of those SNPs is a potential area for research. It's staggering how much is known already, but even more amazing is the sheer size of this project, the database, and animal genomes.
If you scoot over a couple of pages to the left from TTN, you'll find the Homeobox D (or HOXD) genes. These affect things like limb development. If you type 'HOXD13' in the gene box and hit 'jump', you'll zoom in on that single gene. Somewhere in that gene I have a mutation that gives me strange thumbs, just like Megan Fox.
Friday, April 23, 2010
Lipitor - another sign of a completely borken market
Atorvastatin, a.k.a Lipitor, is the best-selling drug in history. Annual sales are nearly $13B.
Lipitor is a great drug, and it probably saves a lot of lives. The patent expires next June, so expect to hear how a slightly reformulated Lipitor is actually much better for you over the next year.
Since I'm paying my own health insurance costs these days, I got quite the shock in January when I had to meet the deductible for my meds. For the first time in ten years of taking Lipitor, I actually tried to find out how much it cost.
Walgreens wasn't allowed to tell me how much it cost. But they wanted to! And since I already knew the scam, no harm was done.
You can look this up yourself, on drugstore.com. 100 Lipitor pills @ 20mg costs $415. Guess how much 100 pills @ 40mg costs? $415. And the 80mg? Yup, $415. I could have been saving about $1200/year by chopping 80mg pills into 10 or 20mg pills. (Since the half-life of atorvastatin is only about 24 hours, it would probably be a bad idea to take a larger dose every other day).
The kind folks at Walgreens pointed out that some insurance companies actually require their customers to get the higher dose pills and chop them up. But nobody designs a pill to be chopped into 8 pieces.
Pfizer considers chopping up the pills to be a form of 'cheating'. From their point of view (and I have some sympathy with it), they are renting you their intellectual property, and in a way that doesn't discriminate against people who need higher doses.
Understand, my complaint here isn't about Pfizer's pricing strategy. My complaint is that the vast majority of people taking Lipitor have no idea how wildly expensive it is, and that there's a simple way to cut the price down to a small fraction. Most of those people just don't care. And that is what is broken in the health care market. That simple problem explains most of the unsustainable rise in health care costs.
Now for the kicker... you can buy generic atorvastatin from overseas pharmacies for a fraction of the cost of Pfizer's product. A sample price - $75 for 100@20mg. That's actually less than my co-payment through my insurance company. Prices will plummet further by next year.
Lipitor is a great drug, and it probably saves a lot of lives. The patent expires next June, so expect to hear how a slightly reformulated Lipitor is actually much better for you over the next year.
Since I'm paying my own health insurance costs these days, I got quite the shock in January when I had to meet the deductible for my meds. For the first time in ten years of taking Lipitor, I actually tried to find out how much it cost.
Walgreens wasn't allowed to tell me how much it cost. But they wanted to! And since I already knew the scam, no harm was done.
You can look this up yourself, on drugstore.com. 100 Lipitor pills @ 20mg costs $415. Guess how much 100 pills @ 40mg costs? $415. And the 80mg? Yup, $415. I could have been saving about $1200/year by chopping 80mg pills into 10 or 20mg pills. (Since the half-life of atorvastatin is only about 24 hours, it would probably be a bad idea to take a larger dose every other day).
The kind folks at Walgreens pointed out that some insurance companies actually require their customers to get the higher dose pills and chop them up. But nobody designs a pill to be chopped into 8 pieces.
Pfizer considers chopping up the pills to be a form of 'cheating'. From their point of view (and I have some sympathy with it), they are renting you their intellectual property, and in a way that doesn't discriminate against people who need higher doses.
Understand, my complaint here isn't about Pfizer's pricing strategy. My complaint is that the vast majority of people taking Lipitor have no idea how wildly expensive it is, and that there's a simple way to cut the price down to a small fraction. Most of those people just don't care. And that is what is broken in the health care market. That simple problem explains most of the unsustainable rise in health care costs.
Now for the kicker... you can buy generic atorvastatin from overseas pharmacies for a fraction of the cost of Pfizer's product. A sample price - $75 for 100@20mg. That's actually less than my co-payment through my insurance company. Prices will plummet further by next year.
Thursday, April 22, 2010
Tea Party Freaks
I don't know anything about the Tea Party. Their website claims three tenets: Fiscal Responsibility, Limited Government, and Free Markets. As a libertarian, I couldn't be tickled any pinker by the idea that a huge movement has embraced half of my political ideology.
But everything I see in the news and on the net seems to be making fun of them, and some of this criticism is pretty ugly. I'm looking at you, John Stewart.
When I was involved with protesting Gulf War I, I spent a lot of time around protesters on the left. Yup, I was one of them. I was even kind of involved in organizing some of it. One of the things you could count on with any protest was the Freaks. We had some freaks. And it was a little annoying to me, since I wanted to get my freak on, but when a TV camera scans over you and your pals, the marijuana-leaf t-shirts, giant pink afros, conspiracy nuts, and wide-eyed crystal-worshiping space aliens, you can fall a little off message.
To combat this, at one protest (in front of an Orlando TV station, for sponsoring a "bring your kids to visit the Patriot Missile and crew" event...) I even wore a suit jacket and a tie.
I suspect there are a few suit-and-tie folks at the Tea Party protests wishing that the tiny fraction of 'birthers', racists, and red-baiting nutjobs would stop drawing attention away from their main point: that the government and the tax burden are growing unsustainably, and that a massive expansion in health care smack in the middle of the worst economic crisis in generations might not be the best idea.
Hey, you know how it makes you feel when someone calls you a 'socialist' for supporting health care reform? Yeah. That's how the tea party people probably feel when you portray them as illiterate racist rednecks.
But everything I see in the news and on the net seems to be making fun of them, and some of this criticism is pretty ugly. I'm looking at you, John Stewart.
When I was involved with protesting Gulf War I, I spent a lot of time around protesters on the left. Yup, I was one of them. I was even kind of involved in organizing some of it. One of the things you could count on with any protest was the Freaks. We had some freaks. And it was a little annoying to me, since I wanted to get my freak on, but when a TV camera scans over you and your pals, the marijuana-leaf t-shirts, giant pink afros, conspiracy nuts, and wide-eyed crystal-worshiping space aliens, you can fall a little off message.
To combat this, at one protest (in front of an Orlando TV station, for sponsoring a "bring your kids to visit the Patriot Missile and crew" event...) I even wore a suit jacket and a tie.
I suspect there are a few suit-and-tie folks at the Tea Party protests wishing that the tiny fraction of 'birthers', racists, and red-baiting nutjobs would stop drawing attention away from their main point: that the government and the tax burden are growing unsustainably, and that a massive expansion in health care smack in the middle of the worst economic crisis in generations might not be the best idea.
Hey, you know how it makes you feel when someone calls you a 'socialist' for supporting health care reform? Yeah. That's how the tea party people probably feel when you portray them as illiterate racist rednecks.
Wednesday, April 21, 2010
why you don't want network neutrality
It's nice to go down to the grocery store and buy a loaf of fancy whole-grain organic unbleached homeopathic artisan bread. But sitting a couple shelves lower is the wonder bread, at a fraction of the price.
Advocates of "network neutrality" want you to believe that wonder bread will kill you, and want to make everything but the fancy whole-grain bread illegal. That means fifth-grade kids will have to eat peanut butter and jelly sandwiches on 'ferrari bread'.
Let me explain the difference between the breads. See, about 90% of the bandwidth on a network like Comcast's is used by something like 1% of their customers. Those customers are almost certainly using bittorrent to exchange huge media files, much of it (though not all) illegal copying. The other 99% of customers are paying for all the extra infrastructure needed to support this.
Comcast (or any other high-speed ISP) would love to segregate those customers out, and offer a cheaper product to the masses. Right now they achieve this partially by filtering or slowing down the traffic used by the gluttons. But if 'network neutrality' laws are passed, Comcast won't have that option. They'll be forced to feed the gluttons from everyone else's wallet.
Yes, I hear ya. I know, yeah... big bad corporations are going to block protocols that they don't like. They'll likely censor data, spy on you, etc. They'll likely sell cheaper access to their networks to their corporate friends and co-sponsors. Oh, the horror. It might even one day lead to free network access for the non-porn-sharing majority.
My solution: let them. As long as you give me the choice to pick another provider, one that doesn't filter or tarpit my data, then I'm fine with it. I'll be happy to pay the premium.
What you should watch out for: when they make network neutrality illegal. When the government starts filtering or blocking anything that looks encrypted. Stop lobbying on Google's behalf, and lobby on your own: it's the government you need to fear, not 'corporations'. Because every Comcast will have an AT&T breathing down its neck. But there's only one Big Brother.
Advocates of "network neutrality" want you to believe that wonder bread will kill you, and want to make everything but the fancy whole-grain bread illegal. That means fifth-grade kids will have to eat peanut butter and jelly sandwiches on 'ferrari bread'.
Let me explain the difference between the breads. See, about 90% of the bandwidth on a network like Comcast's is used by something like 1% of their customers. Those customers are almost certainly using bittorrent to exchange huge media files, much of it (though not all) illegal copying. The other 99% of customers are paying for all the extra infrastructure needed to support this.
Comcast (or any other high-speed ISP) would love to segregate those customers out, and offer a cheaper product to the masses. Right now they achieve this partially by filtering or slowing down the traffic used by the gluttons. But if 'network neutrality' laws are passed, Comcast won't have that option. They'll be forced to feed the gluttons from everyone else's wallet.
Yes, I hear ya. I know, yeah... big bad corporations are going to block protocols that they don't like. They'll likely censor data, spy on you, etc. They'll likely sell cheaper access to their networks to their corporate friends and co-sponsors. Oh, the horror. It might even one day lead to free network access for the non-porn-sharing majority.
My solution: let them. As long as you give me the choice to pick another provider, one that doesn't filter or tarpit my data, then I'm fine with it. I'll be happy to pay the premium.
What you should watch out for: when they make network neutrality illegal. When the government starts filtering or blocking anything that looks encrypted. Stop lobbying on Google's behalf, and lobby on your own: it's the government you need to fear, not 'corporations'. Because every Comcast will have an AT&T breathing down its neck. But there's only one Big Brother.
Richard Dawkins in Hiding
Jul 7, 2011 (Reuters) Evolutionary Biologist Richard Dawkins has disappeared from public view after narrowly escaping an abduction attempt by members of the fanatical Teapot Church. Several of his speaking engagements have erupted in madness, when thousands of followers overwhelmed security, forcing the audience to flee. Earlier this year the religious group publicly declared Dawkins to be the "Second Coming", based on interpretations of biblical scripture and the writings of Nostradamus. According to his spokesman Robert Nearly, "Richard is quite terrified - he doesn't understand why a cult would choose one of the world's most outspoken atheists as their savior. He is baffled." Although many theories have been proposed, Dr. Ebenezer Grue, Professor of Religion at Cornell University, believes "this may have something to do with the Pope".
Subscribe to:
Posts (Atom)

