Holy cow, I wrote a book!
It's an old story, but once again timely
thanks to the drug scandal that rocked this year's
Tour de France.
Not to be confused with the drug scandal that rocked last year's
Tour de France.
(But that's okay, because
it's all cleaned up now.
Stuart Stevens takes performance-enhancing drugs for six months
in order to see what they do.
Read the first-hand account of the effects of human growth hormone,
EPO, and steroids.
In 2006, pianist András Schiff
gave a series of eight
lecture-recitals covering the complete cycle of Beethoven
all the lectures on one page.
(Beware: The metadata on these mp3 files is all over the map.)
As an incompetent student of the Beethoven sonatas,
I find these lectures absolutely riveting.
Note: Schiff assumes you are familiar with basic musical
terminology, terms like exposition,
Steve Tripoli looks at deception in the car sales industry.
A colleague of mine stopped by my office
to tell me that he got a telephone call from his father in Poland
why Microsoft sunk Poland.
My colleague was somewhat baffled by this question,
since his father isn't a computer nerd,
but his father explained that he saw the story on the front page
of the newspaper.
the story ran in the largest Polish newspaper,
but it doesn't appear that they credited their source,
demonstrating that quality journalism is hard to find in any country.
My guess is that the jump into Poland came from
this page, which does credit my article.
I'm just guessing, though, since I can't read Polish.
I just found it weird to see my stuff spreading all the way to
general-audience newspapers in Poland.
It sounds like a scene from the movie
Brazil, but in fact it's the law.
Let's rewind a bit.
The introduction is a bit technical, but I'll try to keep it short.
There is a legal filing known as a habeas petition
and another known as a petition for review.
There are rules regarding what each one covers
and the deadlines for filing them.
Prior to 2005,
there was no deadline for habeas petitions,
but you had to file your petition for review within 30 days of
whatever it was the government did that you wanted to object to.
In 2005, Congress passed (and the President signed) a law
which recategorizes what the two types of filings covered,
and many claims that had fallen under the habeas petition have been
reclassified as requiring a petition for review instead.
This change in the rules creates a gap in coverage
because Congress forgot to include a
(or, for computer geeks, a "smooth migration plan"):
What if, at the time the new law took effect,
the thing you want to complain about
was reclassified as requiring a petition for review,
but it took place more than 30 days ago?
You wake up one morning and somebody tells you,
"Hey, there's a new law today.
You just lost your right to respond."
What you do, then, is file a lawsuit challenging the new rules.
And then two years later, the Third Circuit Court hears your case
and rules that,
yes, you're right, the law that Congress passed is unconstitutional
(a violation of Section 9, Clause 2,
known commonly as the Suspension Clause)
because it denied you the opportunity to file a claim.
And now here's the weird part.
Instead of saying,
"And therefore we strike down this part of the law as unconstitutional,"
the court says
"And therefore we will retroactively rewrite the law so it is
(saving Congress and the President the trouble of having to do it themselves),
and oh lookie here,
according to this new law we just made up,
you did have a constitutionally guaranteed opportunity to file your
but it expired two years ago."
In other words,
what you should have done in 2005 was
hire a psychic, who would then instruct you to
spend thousands of dollars hiring an attorney to draft and file a petition
which, according to the law,
you were legally barred from filing,
in anticipation of the courts (two years later) rewriting the law
in order to make that filing legal again.
And then when you file your petition,
you have to convince the court to accept it,
yes, I know that I cannot legally file this petition,
but a psychic told me to do it.
read the court's decision yourself.
(Despite the connotations associated with the term legalese,
court decisions are actually quite readable.
You just have to skip over the complicated footnotes.)
You hear parents scolding their kids in so many different languages.
I occasionally post things I've written that have amused other people,
but today I'm going to share something
Betsy Aoki wrote that amused me.
On one of our internal mailing lists,
somebody wondered why we don't use email spam filters to attack
comment spam and trackback spam.
My point was that the goal of email spam is very different from
the goals of comment spam and trackback spam:
I concluded with the remark,
"I am not aware of any email spam that takes messages that I wrote
and forwards them back to me."
"I encounter this all the time.
It's called working at Microsoft."
In what I'm sure is a fantastic surprise to everybody
who has visited the Internet,
a report in the New York Times,
have discovered that
there are prescription drug pushers on the Internet who will
sell you prescription drugs without a prescription.
From what I can gather, they didn't actually check whether what they ordered
were indeed what the sites purported the substances to be
thanks are extended to MasterCard, Visa, American Express and PayPal
for their assistance, which means that they did investigate whether
the major online payment systems can be used to purchase the drugs).
So who knows, maybe the sites were selling fakes.
In other words,
maybe the issue isn't so much one of readily-accessible prescription
drugs but rather one of fraud.
For the same reason that
not all error codes are defined in
not all error strings are defined in the system message table.
If you've ever played with the message compiler,
you'd quickly have recognized the winerror.h file
as the header file associated with a message resource.
In other words,
there's a .mc file that gets processed
by the message compiler, and out pops the message resource
(which becomes the system message table) and the
winerror.h header file.
As we saw a few years ago,
not all error messages live in
which means that not all error messages live in the system
Each component that provides error codes outside of winerror.h
needs to provide its own message table.
messages for network errors can be found in netmsg.dll.
winhttp error message text can be found in winhttp.dll.
I don't know about other message ranges;
hopefully the documentation for the component that generates those
errors also mentions where you can find the text.
The documentation for the fCreate parameter for the
SHCreateStreamOnFileEx function covers the issue,
but since people seem to really like charts and tables, I'll
present the same information in tabular form.