the daily dub

March 15th, 2010

Failure to Communicate

Posted by rdub in Rants
tagged: | |

The transparent_union type attribute enables you to specify atransparent_union type, that is, a union data type qualified with__attribute__((transparent_union))__.

This is an actual example of some real documentation from ARM’s RealView Compiler Toolkit – used to build high-performance ARM binaries.

What this roughly translates to is this:

A transparent_union type is a type with a transparent_union attribute.

Well, no shit, Sherlock!  What the fuck does the attribute do to the type or the handling thereof?

To contrast, here’s what GCC’s manual says in the first sentence:

This attribute, attached to a union type definition, indicates that any function parameter having that union type causes calls to that function to be treated in a special way.

This is somewhat better – with one sentence of (not wasted space), I already know that the transparent_union attribute has something to do with function parameters, and, additionally, causes some special handling thereof.

That said, I’m still not clear (in one sentence) what this attribute does, but GCC is certainly off to a better start.

ARM, work on your documentation please.

submit to reddit
August 22nd, 2008

On Lyrics

Posted by rdub in Rants
tagged: |

Q: Why did they call their song “I can ride a bike with no handlebars?”

A: Because “I can debug a kernel panic in someone else’s driver with no source information, only assembly code and my knowledge of HowShitWorks(TM),” was too long.

submit to reddit
July 31st, 2008

Bricked? think again.

Posted by rdub in Musings, Rants
tagged: | |

It’s amazing how often I’ve been hearing the term “bricked” used these days by people with little or no hardware/firmware engineering experience.  People in the media are claiming that iPhones are being bricked by not activating; if they can’t use it to make phone calls or check email, it’s now bricked.  If it doesn’t come usable out of the box, it’s bricked. Some people claim any device that has become or is otherwise useless is “bricked.”

By that definition, those programmable remotes all ship bricked – they don’t perform any useful function until you program them for your TV. Clearly, however, they are not bricked.  They still work, all you have to do is program them.  

Similarly, by this definition, any device that requires battery power, but has no batteries is bricked.  But those devices aren’t bricked – add batteries again, and you’re back in business.

Bricked is a special term, not to be used lightly, or without understanding its meaning.

A little education goes a long way.

Definition: BrickedAdjective.  Bricked means the device will no longer power on, due to some irreparably misconfigured hardware or firmware or a fried (e.g., permanently destroyed) internal component. Bricked is only slightly different than destroyed (e.g., physically smashed with a sledge hammer), in that is is theoretically possible to ressurect the device, but you god damned better have a JTAG device or soldering iron or other hardware debugging device to load new firmware/components back on it (and even then, it’s really only a 50/50 chance you’ll ever see it boot up again).  

Usage: “I’m sorry, Bob, the firmware flash for your embedded device failed halfway through, and now it wont even boot up.  The damn things bricked, and without a JTAG board to restore the bits, it’ll never function again.”

Basically, if you’ve never had an electrical engineering class, or developed embedded firmware, you probably shouldn’t be using the word “bricked” in casual conversation.

If your iPhone doesn’t let you use it without activating, that is not bricked.   

That’s locked.

That’s you (or AT&T) being an idiot.

Unless you’re flashing firmware on a device, and it never boots up again, don’t say your device is bricked.

submit to reddit
July 24th, 2008

Moved

Posted by rdub in Life
tagged: | |

I’ve officially moved this site over to Dreamhost.com.  So far, the experience has been unusually pleasant.  I did the changeover without a net, so to speak, downloading content from my old host, uploading it to my new host, migrating the database, all while the DNS zone changes had already been initiated.  

Yea, I’m hardcore like that.

Anyway, I also moved over red0x.no-ip.com to code.ryandubois.net.  Feel free to check it out.

submit to reddit