Today I read your post about some new Z-Wave dongle. The first occurrence of the word Z-Wave was a link, which I immediately clicked, because I had no idea what Z-Wave was.
Was I immediately whisked away to this Wikipedia page, which describes the technology? Nope. Perhaps I was directed to the official site of the Z-Wave alliance? Again, no.
Indeed, this link transports me to that bastion of all net-knowledge, the “Engadget Search Results for z-wave” page. Uhh… what?
This is apparently standard operating procedure at Engadget. I’m too lazy to bitch-blog about something until it happens 5 or 10 times.
Anyway, I’m willing to accept the possibility that there is a good reason for this behavior, but from the outside it looks lame and it makes me hate you.
Please cut it out.
Before
Taken just after my 29th birthday. 205 lbs, 20% body fat, and one really bad haircut.
After
Taken today, two weeks before my 30th birthday. 178 lbs, 11% body fat.
Steve McConnell has just recently blogged on the perennial subject of programmer productivity. In his article he supports the “10x” hypothesis, a fact which should surprise no one (His blog is called “10x Software Development” †).
I’ve also blogged about this previously, and although I am personally uncomfortable with “10x”, McConnell has clearly done his homework. The article includes a detailed list of references.
I guess it’s time to get reading.
PS: I find Kaitlin Duck Sherwood’s musings on this subject to be quite compelling.
†Maybe on April 1st I’ll rename this blog “1/10th Software Development”
Looks like Virginia Heffernan’s blog post last week was just the preamble to a real NY Times article. She calls it the “CrossFit ministry” and points to the program’s “cultlike vibe.”
All I gotta say is:
Coach, Jesus: 5 letters each. Coincidence? I think not.
Outlook 2007 just crashed on me and, once again, was unable to restart successfully. Instead the following error message was presented:
Cannot start Microsoft Office Outlook. Cannot open the Outlook window. The set of folders cannot be opened.
In my case at least, the solution was to run:
C:\Program Files (x86)\Microsoft Office\Office12\scanost.exe
(I don’t understand why Outlook wouldn’t automatically attempt to repair these files following a failure to start. But I digress…)
If you Google this error message, as I did, you’ll notice that the results exhibit a very low signal-to-noise ratio. It seems that this particular Outlook error is highly overloaded — it occurs for a variety of reasons and thus has a variety of fixes.
Incidentally, this is why I decided to blog about it. I hope this saves someone some time.
While I’m in rant mode: Can we get some software vendors out there to require googleable error messages? I mean seriously. I should be able to Google any error message that could possibly come out of your product and immediately find an official page describing it. Bonus points if this page is a Wiki.
While you’re at it, please ditch the stupid “OK” button (no, screw you, it’s not OK) and replace it with “Google this error…”
I just finished watching this Charlie Rose episode where Dr. Mehmet Oz (yes, the dude from Oprah) moderates a round-table discussion on the subject of nutrition. The panel is made up of journalist Gary Taubes, Dr. Dean Ornish, and Dr. Barbara V Howard.
Provocative stuff. Highly recommended.
Thanks to this MacUser article and the just-released Safari 3.1, I finally have the tab behavior I want and expect. Now when I hit the “V” hot key in Google Reader, the article opens up in a new tab just like Firefox. Awesome!
To try this yourself, merely cast the following spell and restart Safari:
defaults write com.apple.Safari TargetedClicksCreateTabs -bool true
Update: It seems that I don’t have the behavior I expect after all. New links indeed open in a new tab, but a foreground tab. I often “queue up” a bunch of pages to read, so I prefer to open all my links in background tabs. Doh.
Consider the following C code:
int int_to_bool( int i )
{
return i == 0 ? 0 : 1;
}
If you run this thru your favorite x86 compiler, there’s a good chance you’ll see either a setcc instruction, or a cmovcc instruction. The latter was added in Pentium Pro, and thus cannot always be generated. The former has the unfortunate requirement that it write a byte register destination, which invokes the dreaded “insert semantics” of x86. †
Here’s a sequence I dreamed up that avoids these problems (input in ecx):
33 DB xor eax,eax
3B D9 cmp eax,ecx
13 DB adc eax,eax
In this case I’m using cmp in such a way that operand order is important. I need to subtract my input from zero. (The compare instruction is just a subtract which only sets flags.) As it turns out, this sets the carry flag to exactly the answer I want to return. All that’s left is to extract the carry flag, and the quickest way to do that is to perform add-with-carry into a zero.
In summary: 6 bytes of code, 3 simple ubiquitous ALU instructions and — best of all — no merge or partial register stall issues.
Microsoft’s C compiler also does this kind of superoptimzer-inspired bit-twiddly magic for integer absolute value.
† The x86 general-purpose registers are divided into sub-registers of varying widths. The ax register, for example, refers to the low 16-bits of the eax register. Similarly al refers to the lower byte. When writing to these sub-registers the upper bits of the register are preserved. This can hurt performance on a modern dynamically-scheduled processor. For more detail:
From now on I will start all crash report messages with “Hi guys. John Mayer here.”
Anyone want to bet $10 this bug gets fixed in the next update?
Update 4/1/08: Apple has apparently taken notice.
The latest security update from Apple broke ssh for me and, apparently, many others:
mark@dijkstra:~$ ssh
Bus error
Update:
Looks like this is due to an incompatibility with Instant Hijack from Rogue Amoeba. Disabling this software restores ssh functionality. Thanks to Adrian for pointing this out.
Update #2:
As if there was any doubt that Rogue Amoeba was awesome, they have already fixed this in AirFoil 3.1.3. Quoting the site:
Updated Instant Hijack to 2.0.3 - fixes a crash in ssh and related commands when using Mac OS X 10.5 (Leopard) with Apple Security Update 2008-002
Update #3:
Full details on the fix are available on Rogue Amoeba’s blog here. Thanks for the link, Paul.
Latest Comments
RSS