Holy cow, I wrote a book!
I'm not really interested in sports.
Teams, standings, scores, who got traded to what team,
none of that is interesting to me.
What I am interested in, however, is "meta-sports":
The business of sports, the technology of sports,
the evolution of techniques,
changes in the rules,
that sort of thing.
That's one of the reasons I'm a fan of the radio program
Only a Game.
(The other, more important, reason can be summed up in two words:
All that is a rather lengthy lead-in to
Nick Schulz's look at the world behind sports.
He covers what it is about sports that I like,
with none of the stuff I don't like.
(I've linked to him before, but I like him so much I'm going to do it
You too can learn
how air conditioning revolutionized competitive bicycling.
Or you can learn about
the use of robots as camel jockeys in Qatar.
Here's a picture.
It's like an episode of Futurama come to life.
who works over on WPF
has the first of what will be a series of articles on
USER and GDI compatibility in Windows Vista.
The changes to tighten security,
improve support for East Asian languages,
and take the desktop to a new level with the Desktop Window Manager
(among others) make for quite an interesting compatibility risk list.
And since I mentioned the DWM,
you would do well to check out
has been writing about the Desktop Window Manager,
how it works, how it fits into the rest of the system,
all that stuff.
I know some people have been posting comments asking
for information about the DWM.
You would be much better served asking Greg since he actually works
on it, whereas all I know about the DWM is how to spell it.
[Links fixed: 9am.]
announced last night that
the arduous process of assembling the PDC 2005 DVD content is now complete
and the results
are now online.
For six months.
choose a session
and watch it via streaming video,
or you can download the video itself for offline enjoyment (!).
Michael also has links to the order form if you want to have
shiny silver DVDs in your grubby mitts.
I'm told that the masters have been released to manufacturing;
this means that shiny silver DVDs (including
Channel9 bonus tracks)
will probably be in the grubby mitts of attendees by (U.S.) Thanksgiving.
But don't quote me.
So go ahead, set up your own "virtual PDC".
Tote bag not included.
On the Media
the world of the fake news interview,
the leading example of which in the United States is
The Daily Show with Jon Stewart.
Despite what you may think,
the people interviewed by the likes of Ed Helms and Samantha Bee
actually know that they're being interviewed by a fake news show
and go along with it anyway.
But that doesn't mean that they know what's coming.
In a related story,
MSNBC looks at what happens to some of those interviewees after the
[Typos corrected 9:30am]
720p vs. 1080i - The Great HD TV Debate EXPLAINED and SOLVED.
So now you know.
Different objects have different thread affinity rules,
but the underlying principles come from 16-bit Windows.
The most important user interface
element is of course the window.
Window objects have thread affinity.
The thread that creates a window is the one with which
the window has an inseparable relationship.
Informally, one says that the thread "owns" the window.
Messages are dispatched to a window procedure only
on the thread that owns it,
and generally speaking,
modifications to a window should be made only from the
thread that owns it.
Although the window manager permits any thread to
access such things as window properties, styles,
and other attributes such as the window procedure,
and such accesses are thread safe from the window manager's
point of view,
load-modify-write sequences should typically be restricted
to the owner thread.
Otherwise you run into race conditions such as the following:
wpOld = (WNDPROC)GetWindowLongPtr(hwnd, GWLP_WNDPROC);
SetWindowLongPtr(hwnd, GWLP_WNDPROC, (LONG_PTR)newWndProc);
LRESULT CALLBACK newWndProc(...)
... CallWindowProc(wpOld, ...); ...
If modifications to the window procedure are made carelessly
from any thread, then between the first two lines,
a second thread may change the window procedure of the window,
resulting in newWndProc passing the wrong
"previous" window procedure to CallWindowProc.
Why, then, does Windows even allow a non-owner thread from
changing the window procedure in the first place?
Because, as we all know, 16-bit Windows was a co-operatively
which means that one thread could do anything it wanted
secure in the knowledge that no other thread would interrupt it
until it explicitly relinquished control of the CPU.
Therefore, the above code sequence was safe in 16-bit Windows.
And for compatibility reasons, the code continues to be legal,
even though it isn't safe any more.
(Note, however, that in an attempt to limit the scope of the
damage, the window manager allows only threads in the process
that owns the window to change the window procedure.
This is a reasonable limitation since separate address spaces
mean that function addresses in other processes are meaningless
in the process that owns the window anyway.)
Next time, a look at device contexts.
Eric Schulman published
A Briefer History of Time,
based upon his previous effort to
capture the history of the universe in 200 words.
The book takes the initial 200-word summary and expands upon each phrase,
surreptitiously teaching you some science among the jokes.
(You can even
watch a video.)
this Hawking guy
shows up and gives his book
the exact same title.
What a rip-off.
(I'm told this Hawking guy has a lot of fans.
Those who live in the Seattle area might be interested to know that
he'll be in town in mid-November.)
Trying to make light (get it? light?) of the situation,
there were quite a few jokes about the power outage at the PDC.
The Hands-On Lab was being set up at the time the building went dark.
A bunch of us speculated what the technicians
must have been thinking when the power went out just as they
plugged in a rack of computers...
Perhaps in reaction to this, the "Frequently-Used Tasks" section
of the Hands-On Labs software included a new task:
Cause Power Outage.
I of course couldn't resist and clicked on it.
"Shame on you!" it roared back at me.
Only a Game
recently covered the rise of
tenth birthday party last week,
there was a wide variety of entertainment options,
the highlight of which appeared to be an organized dodgeball tournament.
It was very well attended
and didn't have the ego-damaging overtones
you got from elementary school.
A good time was had by all.
Senior Vice President of MSN
happens also to have been the
development manager of Windows 95,
so he made the generous gesture of inviting the members
of the Windows 95 team to his group's birthday party.
(Since the remaining members of the
Windows 95 team are outnumbered forty-to-one by the current members
of the MSN team, it gave the impression that Windows 95
was merely an after-thought to MSN!
"Ten years ago, MSN 1.0 went live!
And if I recall correctly,
some little operating system rode our coattails.")
Every Wednesday evening in August of this year,
Marymoor Park will be showing a movie.
Tonight's movie is Bend It Like Beckham.
The movie begins at dusk, and a $5 donation is suggested,
proceeds to be shared between the park and a local charity.
The charity tends to be thematically related to the movie;
for Beckham, for example, part of the money will go
to the Lake Washington Youth Soccer Association.