« December 2005 | Main | March 2006 »
January 28, 2006
Roger, go at throttle up.
Exactly twenty years ago, eleven years old, I was wonderfully excited. I woke around 5am, rushed to the television and turned it on. I sat transfixed for two hours (Australia is 14 hours ahead, it would have been 3pm on the east coast of the US). I cheered as the countdown crept down to ten, then to the "and liftoff!" . The Space Shuttle Challenger roared majestically into the sky, leaving giant river of smoke behind.
Seventy three seconds later the river forked, rockets pinwheeling to either side. After moments of shock, I knew there would be parachutes emerging shortly. Somehow, a silken mushroom would balloon out. And the debris rained down, seemingly in slow motion, plunging into the ocean. The parachutes will be opening soon. Perhaps they're too small and high for the cameras to see.
There were no parachutes that day. Twenty years ago this day, I wept unashamedly. And today, I will do so again.
The crew on STS-51L were:
Francis R. Scobee (Mission Commander)
Michael J. Smith (Pilot)
Ronald E. McNair (Mission specialist)
Ellison S. Onizuka (Mission specialist)
Judith A. Resnik (Mission specialist)
Gregory B. Jarvis (Payload specialist)
Sharon Christa McAuliffe (Payload specialist)
Partial voice recorder transcript
T+57..............CDR..... Throttling up.
(NASA: Throttle up to 104% after maximum dynamic pressure.)
T+58..............PLT..... Throttle up.
T+59..............CDR..... Roger.
T+60..............PLT..... Feel that mother go.
T+60............. Unknown. Woooohoooo.
T+1:02............PLT..... Thirty-five thousand going through one point five
(NASA: Altitude and velocity report, 35,000 ft., 1.5 Mach).
T+1:05............CDR..... Reading four eighty six on mine.
(NASA: Routine airspeed indicator check.)
T+1:07............PLT..... Yep, that's what I've got, too.
T+1:10............CDR..... Roger, go at throttle up.
(NASA: SSME at 104 percent.) [Space Shuttle Main Engine]
T+1:13............PLT..... Uhoh.
T+1:13.......................LOSS OF ALL DATA.
And I remember President Reagan's speech later that day. I still believe it.
Address to the Nation, January 28, 1986
by President Ronald W. Reagan
Ladies and gentlemen, I'd planned to speak to you tonight to report on the state of the Union, but the events of earlier today have led me to change those plans. Today is a day for mourning and remembering.
Nancy and I are pained to the core by the tragedy of the shuttle Challenger. We know we share this pain with all of the people of our country. This is truly a national loss.
Nineteen years ago, almost to the day, we lost three astronauts in a terrible accident on the ground. But we've never lost an astronaut in flight; we've never had a tragedy like this. And perhaps we've forgotten the courage it took for the crew of the shuttle; but they, the Challenger Seven, were aware of the dangers, but overcame them and did their jobs brilliantly. We mourn seven heroes: Michael Smith, Dick Scobee, Judith Resnik, Ronald McNair, Ellison Onizuka, Gregory Jarvis, and Christa McAuliffe. We mourn their loss as a nation together.
For the families of the seven, we cannot bear, as you do, the full impact of this tragedy. But we feel the loss, and we're thinking about you so very much. Your loved ones were daring and brave, and they had that special grace, that special spirit that says, "Give me a challenge and I'll meet it with joy." They had a hunger to explore the universe and discover its truths. They wished to serve, and they did. They served all of us.
We've grown used to wonders in this century. It's hard to dazzle us. But for 25 years the United States space program has been doing just that. We've grown used to the idea of space, and perhaps we forget that we've only just begun. We're still pioneers. They, the members of the Challenger crew, were pioneers.
And I want to say something to the schoolchildren of America who were watching the live coverage of the shuttle's takeoff. I know it is hard to understand, but sometimes painful things like this happen. It's all part of the process of exploration and discovery. It's all part of taking a chance and expanding man's horizons. The future doesn't belong to the fainthearted; it belongs to the brave. The Challenger crew was pulling us into the future, and we'll continue to follow them.
I've always had great faith in and respect for our space program, and what happened today does nothing to diminish it. We don't hide our space program. We don't keep secrets and cover things up. We do it all up front and in public. That's the way freedom is, and we wouldn't change it for a minute.
We'll continue our quest in space. There will be more shuttle flights and more shuttle crews and, yes, more volunteers, more civilians, more teachers in space. Nothing ends here; our hopes and our journeys continue.
I want to add that I wish I could talk to every man and woman who works for NASA or who worked on this mission and tell them: "Your dedication and professionalism have moved and impressed us for decades. And we know of your anguish. We share it."
There's a coincidence today. On this day 390 years ago, the great explorer Sir Francis Drake died aboard ship off the coast of Panama. In his lifetime the great frontiers were the oceans, and an historian later said, "He lived by the sea, died on it, and was buried in it." Well, today we can say of the Challenger crew: Their dedication was, like Drake's, complete.
The crew of the space shuttle Challenger honored us by the manner in which they lived their lives. We will never forget them, nor the last time we saw them, this morning, as they prepared for their journey and waved goodbye and "slipped the surly bonds of earth" to "touch the face of God."
Scrawled illegibly by Meathe at 12:00 AM
January 27, 2006
Google in China
Yesterday Google agreed to 'modify' its search results in China. The article tells us that
By creating a unique address for China, Google hopes to make its search engine more widely available and easier to use in the world's most populous country.
Google officials characterized the censorship concessions in China as an excruciating decision for a company that adopted "don't be evil" as a motto. But management believes it's a worthwhile sacrifice.
Just to try it out, I did an image search on 'Tiananmen' with google.com and google.cn - and discovered no small differences between Google-regular and Google-Ministry-of-Truth.
http://images.google.com/images?q=tiananmen
http://images.google.cn/images?q=tiananmen
Where else should I go?
‘Room 101,’ Google said.
Scrawled illegibly by Meathe at 11:17 AM
January 26, 2006
Felines and kidney failure.
This site has been very helpful. Not encouraging at all, but very helpful.
Scrawled illegibly by Meathe at 03:23 PM
January 23, 2006
Signals, C and copyover
Moderate technical stuff ahead
I've been playing in the mud code lately, a lot of it at a signal handling and stack-frame level, which has given us a nice stack tracing function as part of the signal handler (which traps larger errors and pinpoints their location in the code).
Next was copyover, a clever command that allows you to restart the mud without disconnecting anyone. It starts a new process using execl(), handing over control, and lets it know which characters to reconnect (and how). I implemented it (well, I pasted in working copyover code from the Chuck codebase) thinking that should be fairly straight forward.
And in testing it worked fairly well. Except for the crash recovery, which for reasons that left me stumped a long while, would recover from one crash but never a second one. Ever. Further testing showed it wasn't just me - the behaviour existed in copyover previously.
Debugging was made slightly harder becuase it does create a new process - and the debugger can't follow code execution into there. The code was tweaked to start the debugger rather than the new process. It didn't help much. The signal continued to be unhandled.
The first guess was bad and wasted a bit of time wondering if the signals were somehow still hooked and locked up by the previous code. Stepping through the signal hooking code (which had always worked) showed that the new process was still hooking all the signals correctly.
Which means it was time to consult an internet reference for the details of execl() and signals. I'm glad I did it in that order.
Delving into the Single Unix Group documentation reveals some interesting bits about execl() that no printed matter I've seen mentions:
The new process also inherits at least the following attributes from the calling process image:
nice value (see nice())
semadj values (see semop())
process ID
parent process ID
process group ID
session membership
real user ID
real group ID
supplementary group IDs
time left until an alarm clock signal (see alarm())
current working directory
root directory
file mode creation mask (see umask())
file size limit (see ulimit())
process signal mask (see sigprocmask())
pending signal (see sigpending())
tms_utime, tms_stime, tms_cutime, and tms_cstime (see times())
resource limits
controlling terminal
interval timers
(my bold) When a signal is handled inside a program, that signal is masked (so it will be ignored by the error-handling code in future). So after a SIGSEGV crash-copyover, the signal mask is set to ignore SIGSEGV errors. This mask is subsequently passed on to the new copy - the second SIGSEGV was ignored by the code's error handling and crashed the mud.
The crash copyover code now passes the signal number to the new process, allowing it to unmask that signal with sigprocmask()and handle everything correctly.
Scrawled illegibly by Meathe at 03:15 PM
January 19, 2006
Text adventures
The first computer game I ever played was Zork on the Commodore 64. Its a good, old fashioned text adventure. Go north. Take the key. Throw the sack at the troll (from memory, the troll catches the sack, eats it and hits you in the head with its axe). Its command parser was excellent - a good deal smarter than the one in Rot muds.
(As a side note, if you ever wondered what the hell a Grue was in Rot's Newbie school, they're from Zork).
Poking around in my Linux system, I've discovered that GNU emacs (no flames) comes bundled with a few things on the sly. Games. They're tucked away in /usr/share/emacs/21.3/lisp/play (The 21.3 numbers vary across machines). Any system with GNU Emacs has these tucked away - BSD Unix, Linux, Mac OS X.
meathe@quincy:/usr/share/emacs/21.3/lisp/play> ls 5x5.elc doctor.elc hanoi.elc snake.elc animate.elc dunnet.elc landmark.elc solitaire.elc blackbox.elc fortune.elc life.elc spook.elc bruce.el gamegrid.elc meese.elc studly.elc cookie1.elc gametree.elc morse.elc tetris.elc decipher.elc gomoku.elc mpuz.elc yow.elc dissociate.elc handwrite.elc pong.elc zone.elc meathe@quincy:/usr/share/emacs/21.3/lisp/play> cd ~ meathe@quincy:~> emacs -batch -l dunnet Dead end You are at a dead end of a dirt road. The road goes to the east. In the distance you can see that it will eventually fork off. The trees here are very tall royal palms, and they are spaced equidistant from each other. There is a shovel here. >take the shovel Taken. >
This could keep me busy for a while.
I've been asked. If you're also wondering why the computer is named Quincy, it's running OpenSuSE Linux where the logo is a chameleon. Quincy is the iguana in the Foxtrot comic. I know this is a stretch.
>east
You fall down the cliff and land on your head.
You are dead.
You have scored 50 out of a possible 90 points.
Theres always next time.
The bear is very annoyed that you would be so presumptuous as to try and walk right by it. He tells you so by tearing your head off.
You are dead.
You have scored 0 out of a possible 90 points.
Scrawled illegibly by Meathe at 10:51 AM
January 18, 2006
Things cats do not like first thing in the morning:
There are about 200,000 tiny structures called nephrons in the kidneys. These eliminate waste products and regulate electrolytes in the body. Nature is a marvelous thing when it works.
In chronic renal failure, these little things gradually die off and the processing slows and stops. The cat becomes poisoned by the waste that the kidneys are unable to filter. It is not treatable, but it is manageable for a time.
So our beautiful chocolate point Siamese has a new regime, and hopefully she'll get used to it without flaying my hands overly much.
It's really the last one that bothers her most, and I can't really blame her, I wouldn't enjoy it either.
Scrawled illegibly by Meathe at 01:41 PM