650MB of memory, for a tray app.
Symmetric Earbuds
If you’re going to build earbuds that are symmetric, please be bothered enough to mark the right-side bud with red somewhere, or make them slightly asymmetric and put a little raised bump in the plastic so I can tell without even looking which side is which. Having to inspect the labels on the underside of the earbuds every time I want to put them in properly is just stupid and a bad user experience.
Update: Shoot, I checked the broken earbuds I just replaced. Indeed, there is a small plastic bump on the right-side earbud, so you could figure out which side was which in the dark. And those earbuds were even asymmetric, so the bump wasn’t strictly necessary.
Const Syntax
The omission of const correctness in code is a big pet peeve of mine.
Quick, what’s the difference between:
1
2
3
4
5
|
const char * CONSTANT_STRING_TABLE[] = {
"A",
"B",
"C"
};
|
and:
1
2
3
4
5
|
const char * const CONSTANT_STRING_TABLE[] = {
"A",
"B",
"C"
};
|
?
Unfortunately, the former lets you modify the strings in the CONST_STRING_TABLE:
1 |
CONST_STRING_TABLE[0] = "B";
|
while the latter doesn’t (which is probably what you wanted), generating a compiler error instead. But I know I’ve seen the former plenty of times when reading through peoples’ code. That, along with the following, drive me up the wall whenever I run into them.
1 |
const char * CONSTANT_STRING = "Some \"constant\" string.";
|
FlurryAgent
This is the kind of stuff I hate seeing, when I’m poking around in the Android LogCat:
03-16 23:11:17.127: D/FlurryAgent(7154): generating report 03-16 23:11:17.147: D/FlurryAgent(7154): Sending report to: http://data.flurry.com/aap.do 03-16 23:11:17.427: D/FlurryAgent(7154): Report successful 03-16 23:11:17.427: D/FlurryAgent(7154): Processing report response 03-16 23:11:17.427: D/FlurryAgent(7154): Done sending agent report
Our devices are such little snitches.
Boot Camp 5
So Apple finally released version 5 of their Boot Camp software, which lets you run Windows on a Mac. Which, in my case, is entirely necessary, due to the failure of the shoddy 10-cent power button on my MacBook Pro.
But guess what? Always one to force obsolescence on people, Apple has raised the hardware requirements and discontinued support for the mid-2009 MacBook Pro (mine) if you want to run Windows 8 (which I am).
Thanks guys. It’s good to know that the hardware still works but the software will never arrive. I guess I’m supposed to buy a new Mac every 3.5 years. So I’m going to install it anyways and see if it works. Maybe they fixed the double-free that was causing their previous HAL driver to fail.
Update: Nope, BootCamp.msi doesn’t like being installed on my Mac. Some of the drivers can be individually installed, but the big-deal stuff in the HAL, like keyboard backlighting, changing the function keys to work w/o having to press Fn, and setting the secondary click on the trackpad (so you get right-mouse functionality), will all remain off-limits. What a shame.