In 2 weeks our latest Mars rover, “Curiosity”, will touch down. Exactly what will happen in the final few minutes, the problems, the engineering, and the pure awesome, are worthy of this blog. I give you the last 7 minutes of Curiosity’s journey.
Mother always said that playing games was a waste of time. When you lost and got angry she warned you to chillax because “it’s just a game” and “winning isn’t that important”. She was wrong. Your gaming time was vital, it wasn’t just a game, and winning was everything. The world of tomorrow, approaching fast, is not run by geeks, it is run by gamers, and not just any gamers, but the ones that could never stand to lose. Read the rest of this entry »
I’m allergic to stupid people. Within minutes of exposure I start to feel woozy, then I start to cough. Shortly after that I become uncomfortable and irritable. Pills don’t help. My only relief comes from removing the stupid people. Educating them would be ideal, but stupid people are usually remarkably resistant to facts. Other forms of removal are generally out of the question due to social conventions or legal limitations. The second best treatment seems to be comic relief.
Today, in a matter of minutes, I was exposed to nearly fatal doses of stupidity. Apparently the recent bout of malware at Apple has produced an unusually high outpouring of unintelligence. Enjoy my anecdotal antidote: a collection of stupidity, mingled with facts.
A lot has been said about the supposed immunity of Apple products to malware. If I had a nickle for every time I heard that “Macs can’t get viruses”, I’d be a rich man. Even Apple perpetuates this lie, but hidden inside the Apple Care agreement is the truth: officially, Apple disclaims any responsibility to help you remove any malware that infects your shiny new computer. This is boilerplate as far as computer care agreements go, but wait! What malware? Macs can’t get viruses! Can they? How about the recent epidemic.
Apple and the fanboys would like us to believe that all things Mac are somehow magically safe from attack. Read the rest of this entry »
Implicit Returns – Can you say “What the !@#$%”? This is just wrong on SOOOO many levels. This appears to be one of the many casualties of the never ending quest to eliminate commonly typed characters from the language.
Return isn’t allowed inside a loop – This just makes exactly no sense. I suspect it has something to do with internal stack implementation, and the impossibility of making it coexist with the absurd “do” blocks that ruby lets you include after a function as a parameter. That said, I don’t care why it isn’t allowed, disallowing it is unacceptable. The only way to work around it is to pollute your code with failure indicators and spam some if failed blocks after all your loops. Read the rest of this entry »
I have been well trained in the art of foo. I started at the innocent age of 8, learning some BASIC-foo. I first tinkered with some HTML-foo at 12. At 14 I stepped my BASIC-foo up a notch, and started to train extensively in TI-BASIC-foo. At 16 a new friend blew my mind with some TI-BASIC-foo of his own, and a year later I began learning the dark arts of Assembly-foo, in the arena of Z80. At 18, I applied my wisdom to develop a new set of C++-foo skills, and started fooing professionally. Since then, I’ve continued to expand my craft, and some of my foo skills are legendary.
But, there are no words foul enough to express the taste that Ruby-foo leaves in my mouth. As such, my Ruby skills have a whole lot of room for improvement. I look forward to continuing to avoid that improvement, just as soon as I finish the Puppet scripts I’m working on.
The origin of man is perhaps the most hotly debated topic in history. Over the years religionists, scientists, philosophers, kings, and fools have all participated in the fight, each drawing different conclusions. I believe the answer is reasonably simple, and with only a little effort we can riddle out the source. Read the rest of this entry »
Microsoft hurt my wife. Below is the email I sent to CEO Steven Ballmer (Bill Gates stepped down a while ago) and Chief Marketing Officer Mich Mathews (since this could become a PR issue, and I know that marketing can wield some heavy influence on development.)
Steve and Mich,
My wife is crying (or at least she was 5 minutes ago). She’s up very late (it’s nearly 4:00 AM here now) because she needs to complete several drawings for a final project in her class, all due tomorrow. She has to leave for work in a few hours, but it’s that time of the year again for students, and duty calls.
UPDATE: It looks like Google just rolled out an update that breaks this fix. The good news is that Google has MOSTLY fixed the problem, in that clicks in blank space will clear the pane, and a second click on the button will toggle it off. The behavior is now inline with every aspect of the revised specification below, except that it is still too aggressive about which locations can open the preview pane (meaning that the panel can still appear unexpectedly.) I’ll post updated code as soon as possible.
I can’t like the search preview feature. I tried, I really did, but less than 72 hours after its release, I found that my sanity was already slipping away. I knew it was bad when I considered switching to Bing just to avoid the problem. In a fit of senility I used Google (again!) to search for a solution to my problem. Among the various obscenities directed at Google’s latest experiment, the words “can’t” and “impossible” seemed to appear more than occasionally, earning the solution a place on a blog of impossible things.
I recently spent a substantial amount of time trying to fix an error I got after installing a new subversion client. “your .svn/tmp directory may be missing or corrupt”. The message indicates to run a cleanup, but cleanup just gives the same error.
After some Googling I found a Linux command that will fix the problem, but no Windows version. Here’s a functionally equivalent command that will fix it in Windows:
for /R /D %i in (.svn) do if exist "%i" mkdir "%i/tmp"
You will need to open a shell, cd to your code directory, then run the above command. It will place a new tmp directory inside each .svn directory.
After you run the command, your svn cleanup should succeed and you’ll be able to continue working as usual.