Archive for the ‘Tech’ Category

Rendezvous and Docking: A Guide for Non Rocket Scientists

My latest article is now online at Baen Books: Rendezvous and Docking (Part 1): A Guide for Non Rocket Scientists.

How do you convince two spacecraft, travelling some 18,000 mph, hundreds of miles in space, to nuzzle together as gently as a bumblebee alighting on a nectar-laden hibiscus?

If you’re curious, or insomniatic, check it out. You’ll even learn how to win the first Zero-Gravity Super Bowl!

But be warned: it’s not called “rocket science” for nothing.

How it's done!

How it’s done!

It's not as easy as it looks

It’s not as easy as it looks

Coming Soon to a Space Mission Near You

“Hello, space fans! We’re coming to you live from beautiful Cape Canaveral for the Hersheys® Manned Mission to Mars! I’m Brent Costas; with me is former astronaut Jim ‘Cool Hand’ Brandenmeyer. Cool Hand?”

“Hey, Brent! Everything is looking great for today’s launch. We all remember the disappointment NASA suffered two years ago, when the planetary alignment didn’t occur during a Sweeps Month, so you can bet they’re anxious to get underway today! Let’s check the McDonald’s® Mission Summary:
Coming Soon
“The Hanes Wonderbra® liftoff is scheduled for 8:24 a.m., with the NAPA Auto Parts® Main Engine Cut-Off at 8:33 and the Tampon® orbit insertion at 8:37. In two days, the spacecraft will rendezvous and dock with the Domino’s® Mars Express transfer vehicle. Remember, Domino’s® gets you there in 30 weeks or the mission’s free!”

“Ha ha! Thanks, Cool Hand. Here’s a live shot of the vehicle, and she looks great painted with the Windows® logo and the external tank decked out in the likeness of a giant Mountain Dew® can.”

“She sure does, Brent–especially with those red-and-white Budweiser® strap-ons!”

“Indeed! Looks like we are ‘Go’ for launch! We have main engine start and–liftoff! Let’s go to our pad correspondent Britney Boufay.”

“Hi, guys! Lift-off was A-okay! All systems looking great! This liftoff summary brought to you by Viagra®–When failure is not an option!®”

“Thanks, Brit. We’re coming up on staging–and there they go! A clean separation of that Budweiser® solid-rocket twin-pack! Cool Hand?”

“Fantastic! And Budweiser® wants to remind all you young pilots, don’t drink and fly!”

“Good advice! The flight is going perfectly. This is a good time to remind our viewers to watch Survivor: Cleveland® tonight at eight p.m. Eastern, seven Central. Okay, we have MECO! And here’s a live shot of the external tank separation, brought to us by Horowitz and Brown divorce attorneys. Cool Hand?”

“Outstanding! You can even make out the mission motto, painted under the Mountain Dew® logo: ‘Mars–Just Dew It!®'”

“Right you are! It looks like the Frito-Lay® Orbital Maneuver Engines have finished firing so let’s check in with Britney for our Monistat® post-insertion update.”

“Hi, guys! Today’s insertion was, in NASA lingo, ‘perfect’! Back to you!”

“Thanks, Brit. Well viewers, that’s it from Gatorade’s® Kennedy Space Center. Be sure to tune in Thursday for the Rogaine® Rendezvous and Docking followed by the Trojan® Trans-Mars Insertion. Afterwards, stay tuned for a brand new episode of Who Wants to Marry Joe Astronaut?®

“From Cape Canaveral, this is Brent Costas–”

“–and Jim ‘Cool Hand’ Brandenmeyer–”

“–saying good bye and God speed!”


Apple fanboys and why we love ’em!

I’ve heard many of my compatriots remark, “Love my Mac, hate Apple users.” This seemed a bit harsh, I thought.

Until I got my own Mac.

Below I’ve compiled some Apple Fanboy responses to questions from the unwashed masses (i.e., Windows or Linux users). Most of these are nearly verbatim.
****************************************
Q: Why doesn’t iMovie have Save or Save As functions?
FB: You don’t want that. iMovie autosaves.
Q: But suppose I want to save to a different location.
FB: That would be stupid.

Q: Why does double-clicking on the title bar minimize? Can’t I have it maximize instead?
FB: You don’t want to do that. Clearly you’re coming over from Windows. Maximizing is stupid.

Q: Why doesn’t clicking the Maximize button fully maximize some windows, like Safari?
FB: It does, you just don’t think it does because you’re used to Windows. Besides, most websites aren’t full screen width, so it’s actually better that it doesn’t fully maximize. You don’t want it to do that.

Q: Um, okay, but why doesn’t closing the app by clicking the X in the window, like, close the app? It’s still in the task list.
FB: You don’t close apps by clicking the X. That would be stupid. What if you didn’t really mean to close it?

Q: Why doesn’t the Trash restore files to their original locations?
FB: That would be stupid. You shouldn’t delete something if you can’t remember where it went. Besides, this will make you more careful about what you delete.
Q: Then why have a Trash at all? That would make you really careful!
FB: That would be stupid.

Q: Why can’t I add command-line parameters to aliases, or items on the dock?
FB: That would be stupid. Mac applications don’t do use command line parameters. You don’t want to do that.
Q: I’m pretty sure I do. For example, I want to run the Firefox profilemanager.
FB: Why add -p to the command line when you can just bring up a terminal and type /Applications/Firefox.app/Contents/MacOS/firefox -profilemanager, which is actually easier. Or you can simply learn AppleScript.

Q: My Mac crashed. I thought they didn’t do that.
FB: User error, obviously.

Q: Why doesn’t the file manager put directories at the top?
FB: That would be stupid. “Directories” are just other files on Unix-based system. You don’t want them listed separately.

Q: Why can’t I customize Time Machine backup schedules?
FB: You don’t want to do that. OSX knows the best schedule for backing up your system. You’d be stupid to do it any other way.

Q: Why the goodgoddamnHELL doesn’t my DVD drive have a manual eject button?
FB: That would be stupid. You might eject a DVD that you were using. You don’t want to be able to do that.
Q: But what if I have a disc in there and can’t boot?
FB: It’s a Mac; that can’t happen.
Q: IT JUST HAPPENED TO ME!
FB:

Q:Why is the Mac so awkward for new users? I mean, the page, arrow, home and end keys don’t work the same as in Windows or Linux. It’s really awkward to do simple things like selecting whole words, etc.
FB: Macs came first–that means the way we do things is automatically better. We didn’t grab our whopping 10% market share by copying other people’s ideas!

So, to date I’ve found the Mac forums about as helpful as emailing my Senator. So, although I love my Mac…

The new phone book’s here! The new phone book’s here!

I’m an old-fashioned guy in some ways. As a long-time programmer of the “old school,” I was skeptical of these new programming paradigms, such as I used in updating my web site (see, “It’s a Brave New (Virtual) World”), or for some of the new hardware platforms like my Droid. Having delved into this at some length, however, I am convinced. Enamored of these new programming methodologies, I’ve decided to apply them to an everyday use:

I’m redesigning the Phone Book.

Chances are, you’re still using the OLD phone books: behemoths of many hundreds of pages with the names listed alphabetically (if you can believe that!). Well, no more!

My Phone Book (actually a “Communications Resource Retrieval Library”) will have only one page. One! How’s that for efficiency? (It will be preceded by maybe a hundred pages or so of set-up, headers, disclaimers, and licensing agreements, but the content itself is only a page.)

Of course, that one page can’t hold all the phone numbers. Instead, it will list a hierarchical control set that will ensure you find your number in the easiest, most efficient way imaginable.

For example, say I want to look up the number for my friend Kyle. In the old days, I would have to know his last name–and the alphabet–and leaf through many many pages to find his name. How inefficient!

With my new book, I simply turn past the scores of pages of headers, find the Control page, and start at the first line, which directs me to the correct initialization book. E.g., it might say, “Retrieve country identification, use Country ID Book.” So I pull my Country ID Book (bBook_Country) off the shelf, skip over the dozens of header and disclaimer pages, and find a list of countries with their appropriate identification numbers. I get the ID number (referred to as ID_C) for United States, say “100125,” and go back to the Control page in the first book and go to the next step.

Seven more simple steps, involving a few more books, and I’m done!

Observe the new, streamlined process, and try to imagine why we ever did it another way:

    1 ) Get Country identifier from Country ID book (bBook_Country)
    a) in bBookCountry: “USA” => ID_C = 100125

    2 ) Get nRegionName from Region Book (bBookRegion)
    a) Under ID_C, find appropriate nRegion_Name (“WestCoast”)
    b) Using nRegionName (“West Coast”), get ID_Reg from Region ID Book (bBookRegionID) => “99842”

    3 ) Get Sub Region ID from Sub Region Book (bSubRegBook)
    a) Under ID_Reg, find appropriate SubRegion_Name (“WA”)
    b) Using “WA,” go to Sub Region ID Book (bSubRegionIDBook”, and get ID_SubReg => “9349842”

    4 ) Use ID_SubReg and refer to Locale Book (bBook_Locale)
    a) Under ID_SubReg (“9349842”), find appropriate locale name: nLocale_Name => “Tacoma”
    b) Using “Tacoma,” go to Local ID Book (bBookLocalID), and get the ID_Locale => 3449345

    5 ) Using ID_Locale, refer to Gender Book (bBook_Gender)
    a) Select “Male,” “Female,” or “Other” and find appropriate ID_Gender => “35449”

    6 ) Using ID_Gender, refer to correct Occupation Book (bBook_Occupation)
    a) Under ID_Gender, select “Student, College” => ID_OCC=35449_C

    7 ) Refer to Name Book (bBook_Name)
    a) Find names associated with ID_OCC, select “_____, Kyle” and get his ID_NAME => “49-4775-54”

    8 ) Refer to Phone Number Book (bBook_PhoneNumber), which has only males in college in Tacoma and, using his ID_Name (“49-4775-54”), get his number!

Critics may point out that this means having hundreds of books to look through, totaling perhaps a half-million pages, and that it would take maybe fifty times as long to actually look something up, but these Luddites are missing the big picture: It’s now a process! If someone’s number changes, like Kyle’s, the Phone Company need only replace a single, thin book (the final bBook_PhoneNumber) which is only 100 pages or so, 99 of which are exactly the same!

How simple is that! And just think how easy it will be to maintain!

As soon as I can get major universities to start a degree program in Phone Book Design, we’ll have literally scores of people with the skills necessary to produce this 21st Century Phone Resource Retrieval Library. So start building your new bookshelves soon!

It’s a Brave New (Virtual) World

When I set out to update my ancient, five-year-old site, I thought, “I’ll bet the Internet community is up to like HTML 5 or something by now!” and prepared myself to acquire a new HTML skill or two.

Ha.

The first few days went something like this:

“HTML?? Dude, that is like soooo 2007! You need to learn XHTML, now!!”

“XHTML?? You smokin’ 2008 weed, bra? He needs XML!!”

“Whachu talkin’ XML?? That went out way back in the spring, summer of 2009! I’d give up my PS3 Slim before I’d read an XML site! It’s PHP now, dog!”

So I dutifully jumped into the shark-invested waters of PHP, CSS, CMS, OMFG, WTF, and several other euphemisms for insanity. My learning curve quickly became an MC Escher pretzel and the life insurance premiums on my Mac went through the roof. However, just a few weeks and another hundred blood pressure points later, I’m (mostly) up and running! At least until the next, best, greatest programming standard kicks in, probably later tonight.

In the meantime, I hope readers get as much joy out of reading this site as I did in creating it.

Okay, maybe a bit more.

A damn site better

At least, that’s what I’m aiming for.

Just spent the week updating my website, bringing into the mid-eighteenth century (in computer time). I’m now using CSS for the structure, which is geek for Completely Sanity Sapping. It helps that one of Microsoft’s motto is: “Standards? We don’ need no stinking standards!”

And of course, there’s this blog. I spent mucho time using 1and1.com’s built-in blogging service, then much more time trying to find how in the hell you customize it. A tech call to India (“We put the ‘dots’ in dot-com”) solved the problem: you can’t. Another tech call put me on course for installing WordPress myself and here I am!

Still got some more HTML/CSS crafting to do, but I’ll be going live soon.

Ipso facto dumbo

“Lorem ipsum dolor sit amet, adipiscing elit.”

This stuff is popping up everywhere in the webcrafting world. I finally relented and looked it up: just a bunch of nonsense, which is pretty much what I thought of real Latin back in high school. I stuck a bunch of it here to test the page length and word wrapping. Don’t read more into it than that. I’m assuming there’s nothing horrific hiding in the declensions and conjugations.

The alleged purpose of using such drivel is that it enables the designer to focus on the layout rather than the text. Maybe; but now I’m suffering post-traumatic nightmares of 10th-grade Latin and Mrs. Gilmore.

Nullam dignissim convallis est. Quisque aliquam. Donec faucibus. Nunc iaculis suscipit dui. Nam sit amet sem. Aliquam libero nisi, imperdiet at, tincidunt nec, gravida vehicula, nisl. Praesent mattis, massa quis luctus fermentum, turpis mi volutpat justo, eu volutpat enim diam eget metus. Maecenas ornare tortor. Donec sed tellus eget sapien fringilla nonummy. Mauris a ante. Suspendisse quam sem, consequat at, commodo vitae, feugiat in, nunc. Morbi imperdiet augue quis tellus.

Lorem ipsum dolor sit amet, emphasis consectetuer adipiscing elit. Nullam dignissim convallis est. Quisque aliquam. Donec faucibus. Nunc iaculis suscipit dui. Nam sit amet sem. Aliquam libero nisi, imperdiet at, tincidunt nec, gravida vehicula, nisl. Praesent mattis, massa quis luctus fermentum, turpis mi volutpat justo, eu volutpat enim diam eget metus. Maecenas ornare tortor. Donec sed tellus eget sapien fringilla nonummy. Mauris a ante. Suspendisse quam sem, consequat at, commodo vitae, feugiat in, nunc. Morbi imperdiet augue quis tellus.

Lorem ipsum dolor sit amet, test link adipiscing elit. Nullam dignissim convallis est. Quisque aliquam. Donec faucibus. Nunc iaculis suscipit dui. Nam sit amet sem. Aliquam libero nisi, imperdiet at, tincidunt nec, gravida vehicula, nisl. Praesent mattis, massa quis luctus fermentum, turpis mi volutpat justo, eu volutpat enim diam eget metus. Maecenas ornare tortor. Donec sed tellus eget sapien fringilla nonummy. Mauris a ante. Suspendisse quam sem, consequat at, commodo vitae, feugiat in, nunc. Morbi imperdiet augue quis tellus.

Lorem ipsum dolor sit amet, emphasis consectetuer adipiscing elit. Nullam dignissim convallis est. Quisque aliquam. Donec faucibus. Nunc iaculis suscipit dui. Nam sit amet sem. Aliquam libero nisi, imperdiet at, tincidunt nec, gravida vehicula, nisl. Praesent mattis, massa quis luctus fermentum, turpis mi volutpat justo, eu volutpat enim diam eget metus. Maecenas ornare tortor. Donec sed tellus eget sapien fringilla nonummy. Mauris a ante. Suspendisse quam sem, consequat at, commodo vitae, feugiat in, nunc. Morbi imperdiet augue quis tellus.

Lorem ipsum dolor sit amet, test link adipiscing elit. Nullam dignissim convallis est. Quisque aliquam. Donec faucibus. Nunc iaculis suscipit dui. Nam sit amet sem. Aliquam libero nisi, imperdiet at, tincidunt nec, gravida vehicula, nisl. Praesent mattis, massa quis luctus fermentum, turpis mi volutpat justo, eu volutpat enim diam eget metus. Maecenas ornare tortor. Donec sed tellus eget sapien fringilla nonummy. Mauris a ante. Suspendisse quam sem, consequat at, commodo vitae, feugiat in, nunc. Morbi imperdiet augue quis tellus.

Lorem ipsum dolor sit amet, emphasis consectetuer adipiscing elit. Nullam dignissim convallis est. Quisque aliquam. Donec faucibus. Nunc iaculis suscipit dui. Nam sit amet sem. Aliquam libero nisi, imperdiet at, tincidunt nec, gravida vehicula, nisl. Praesent mattis, massa quis luctus fermentum, turpis mi volutpat justo, eu volutpat enim diam eget metus. Maecenas ornare tortor. Donec sed tellus eget sapien fringilla nonummy. Mauris a ante. Suspendisse quam sem, consequat at, commodo vitae, feugiat in, nunc. Morbi imperdiet augue quis tellus.