Latest articles

Marilyn Manson is Apparently a Disgruntled C++ Coder

Clearly, he had C++ in mind when he wrote this song. I mean, really:

"No reflection. No reflection. I've got no reflection."

What else could he have meant? C++ is known for lacking many modern features: modules, closures, reference types, fast compilation, etc. Manson, of course, is zeroing in on reflection here.

Other lyrics in the song allude more generally to C++'s pitfalls and the frustration and agony of using it, particularly without the help of static analysis tools like Coverity:

"You don't even want to know what I'm gonna do to you."

"Show myself how to make a noose
A gun's cliche, and a razor too
I'm not a deathshare vacation, vacant station
Made of scars and filled with my old wounds."

"This'll hurt you worse than me.
I'm weak, seven days a week."

That last line is particularly interesting. Scholars will no doubt debate for centuries whether Manson was referring to C++'s type system (in particular the aspects inherited from C), or making a general statement about the quality of the language's overall design. Personally, I suspect the answer is "both", given Manson's penchant for double meanings: "You're a little pistol and I'm fucking pistol whipped" ("Pistol Whipped"), "I've got an 'F' and a 'C', and I got a 'K', too. And the only thing that's missing is a bitch like 'U'." ("(s)AINT").

The song's video alludes to C++ as well. As any refugee from C++ to modern languages is likely to have noticed, C++ is stuck in the 70's. But instead of demonstrating this with the straightforward choice of leisure suits, Manson exaggerates the anachronism by using what appears to be closer to the 1770's, rather than the 1970's as one would expect.

Read more


Gosh-Darned Wuss Wording Stinks

My philosophy: If you're going to swear, then fucking swear, goddammit!

None of that half-assed BS like...ummm..."B.S." Either swear or don't. But no half-way pretending-to-swear "wussing" out, chicken-shit fuckface!

Try it, it's fun!

Read more


Grey Text on White? Are You Insane?

Grey text on white backgrounds needs to end.

I never noticed it before since I was on a CRT that was perpetually a bit dark (actually not sure if it was a monitor issue, graphics card, or driver - but that doesn't matter).

Now that I'm on a new laptop though, I'm finding that every other website uses grey as their default text color over an eye-searing white or off-white background. And I don't mean a sensible dark grey like #111111. GitHub, for instance, is using #555555 for their text (on top of #FAFAFA). I have the brightness on this LCD down as low as it'll go, and that's still physically painful to look at.

How the fuck did this insane design trend even get started? I'm well aware that too much contrast is bad (like #000000 over #FFFFFF). But shit, the degree of this anti-contrast is just excessive.

UPDATE (2012-08-21): Fixed some stupid mistakes as pointed out by a commenter.

Read more


It Takes a "Special" Kind of Stupid To Screw Up Volume Controls

My laptop's pretty awesome. It has volume and brightness controls built right into the keyboard. Convenient! It even remembers my volume/brightness settings when I turn it off and reboot. Isn't modern technology awesome?

It makes me wonder what improvements we might see in the future. Hey, let's brainstorm on that...Hmm...

Ohh! It's nice that the volume and brightness settings are restored at some point during the boot, but what if the OS set it right at the start of boot? Actually, no, what if there was some clever high-tech feature, probably in the BIOS, that restored those settings the moment you powered on. That way, it would always work correctly for all boot-up sounds from the OS, for any OS, and maybe even for the BIOS's own startup sound! (They're actual audio clips now, not just the PC beeper!)

Heh, now this is actually getting really crazy, but what if you could actually adjust the volume (or screen brightness) while the computer was off? Yea, I know, seems weird because it's not going to play sounds or display anything while it's off, but think about it: You turn it off and it saves the volume level. Then suppose you move into a loud room, or a quiet library, and don't want to forget to adjust the volume when you turn your device back on. You don't want to race to the volume control before an overly-loud startup sound, do you? Or some other sound after boot? Of course not! So imagine you could adjust the volume, and then turn your device back on at your leisure, confident your volume setting is appropriate.

But of course, that's silly. How are you going to adjust a setting on your computer when the computer's off? That would take ridiculously advanced technology, if it's even possible. But hey, a few decades ago, motion-sensing doors and handheld videophones were science fiction, so who knows?

Let's go further down this science fiction route. What if not only could you adjust the volume at any time and have it always work no matter what...but you could also look at any time, even if it's off, and see what it's set at. Naturally, this would involve some sort of facial recognition and eye-tracking tech - one that used very little energy.

Another thing: Have you ever found the volume or other settings on a device to be too...rigid? That is to say, ever wanted a setting in between a couple values? Like on, say, the iPhone. But no, rigid Mr. Robot computer won't let you. It's like it's saying, "Bzzt! Value... Must... Be... Integer... From... Zero... To... Sixteen... Bzzt!" See, our world is...fluid, non-discrete. Humans are non-binary, non-rigid. Why should our listening and viewing be forced to be so...computer-like...by our own technology? It should work our way!

So, what if we could have any in-between value we wanted? Not only that, but adjusting it should be natural. Fluid. A lot, or a little, to whatever value we wanted. All intuitively. Someone would need to design a groundbreaking interface for it. I guess Microsoft's usability lab could take a stab at it, but it's too bad Steve Jobs is gone. He would have come up with the perfect design without even thinking about it!

Ohh! And what if it were visceral! Imagine if we could feel our adjustments! What are we, living in a numb, detached world? Heh, yea, sure, we could probably have technology that advanced...in about fifty or a hundred more years!

Even if it's only a future-looking pipe dream, this would all be a fantastically clean, clever design, wouldn't it? Essentially, the volume and brightness controls would always work, no matter what, and always as expected! You could feel it! You could see it! Always! You could adjust it like a touching, feeling, human, not like a numb, unfeeling, binary-based machine. It's such a brilliantly clean and "user-centric" design, I'm amazed the undisputed genius designer Steve Jobs never thought of it! Of course, being the genius that he was, I'm sure he did think of it, but obviously so much of it requires so much advanced technology that we just don't have, that he was unable to realize that dream just yet. Quite a pity, really.

*Cough*, ahem...

Volume Walkman
Volume Cassette
Volume GBA
VolumeGB
(click to enlarge)
Those last two don't have a visual indication, but that's easily solved with a half drop of white paint.

Welcome to the future: Where technology regresses.

Including these dials would only cost, what, about a few cents per unit? But no, designs have to be "high tech", regardless of whether they're actually intelligent.

"But a physical dial would be separate from the OS volume and confuse people!"

A poor excuse. First of all, you'd have to be a moron to have trouble with that anyway. And secondly, the obvious solution is for the OS to support an option of "Disable Software Master Volume Control - Assume The User is Adjusting Speaker Volume Directly". There. Non-problem trivially solved.

"But the size...!"

What about it? How fucking tiny do you need everything to be? Show of hands: How many of you over 40 can actually use the tiny iPhone for much more than basic calls? I'm only 30 with 20/20 eyesight, and even I find it too damn small. Damn thing could use a little more size. (And hell, it wouldn't be much more size anyway.)

"The cost! Across all hundreds of millions of devices made, that's millions of dollars!"

Yea. Every corporate-whore's favorite strawman. So, smart-ass, how much do they spend on all the production runs of the entire device? While we're at it, how much to the board members get in take-home pay? Yea, thought so. This is a drop in the bucket.

"But the on-screen display!"

Hah! Wait..seriously? You actually care about that?

Speaking of dumb volume controls, take a look at my fantastic laptop:

Easy Laptop Volume
(click to enlarge)

Yep, something as basic and trivial as adjusting the speaker volume involves a two-key combination spread out at opposite corners of the keyboard. Brilliant. I wonder how they could have made it less convenient.

Hey, look! A rabbit hole!

Depressingly, this still isn't the bottom of the barrel for moronic volume designs. As usual, to find truly retarded ideas, we have to venture into Apple-land.

In Steve Jobs' LSD-drenched fantasy world, it was apparently simpler to have to adjust the volume twice rather than once, in two vaguely separated contexts (It wouldn't be a true Jobs design without excessive modality, now would it?) Here's what our Almighty Benevolent Design God has decreed to be "Good Design"; echoed of course, by hordes of drooling hipster-disciples:

  • You need quiet, so you reach down and decrease your phone's volume. Somebody calls or texts you, and your still-loud ringer echoes throughout the building. Surprise! It only changed the app volume! Wasn't that clever and helpful!
  • You need quiet, so you reach down and decrease your phone's volume. You go to use some program - watch a video quietly, type, etc. - and the sound echoes throughout the building. Surprise! It only changed the ringer volume! Wasn't that clever and helpful!
  • You're expecting an important call, so you turn the volume up. You miss the call. Surprise! It only changed the app volume! Wasn't that clever and helpful, too!
  • You reach into your pocket, adjust the volume, and later release it didn't adjust a damn thing at all because it was on the lock screen. How incredibly useful - volume buttons that only sometimes work!
  • You decide "Fuck this shit, I'm adjusting your volume, period." You proceed to fiddle around with the damn thing just to make sure your volume setting actually works. Thanks, Apple! What a slick, well-thought-out device!

Don't give me crap about looking to see if the word "ringer" appears onscreen. That's retarded on multiple levels. Just a few examples:

  • Why should anyone have to babysit the screen to make sure the volume button actually did its fucking job?
  • How often is it even useful to adjust the ringer and app volume separately? Not often.
  • Bottom line, when non-brain-damaged people hit the volume buttons on a device, the expectation is that it...(surprise!)...changes the fucking volume! Period. Not "Changes the volume of whatever subset of sounds the device feels like adjusting, if the device even decides to obey you at all."

Believe it or not, I'm actually oversimplifying the behavior of the iPhone's volume. There's plenty of other fun little bugsfeatures, too. Like, if you're on the home screen, what gets adjusted? Answer: It depends! It's not always the ringer! Also, the ringer can't be silenced with "Volume Down" (but other sounds can!) And there's yet more volume abominations! I'll leave you to discover them on your own.

Here's the really bizarre twist: All of this would have been perfectly acceptable, maybe even helpful in certain specific circumstances, if it had been optional. That's what really gets me. Apparently, this whole "iPhone volume" issue is some big controversy (though I can't imagine why anyone would be on the "likes it" side). But what both sides appear to be too stupid to realize is the whole conflict disappears completely with one...tiny...little...checkbox.

But of course, that was never a possibility, because user customization and empowerment go against everything Apple stands for. Don't forget: Your iPhone was never your iPhone - you only paid Apple for the (temporary) privilege of using it.

Go figure, "Big bad M$" actually got that design right in Windows 7: Volume adjustments are system-wide by default, and then you can individually control each app's volumes if you choose to - and all scaled appropriately according to the master volume. Eat your heart out, $teve Jobs.

UPDATE (2012-07-14): Seriously: Reach down into your pocket and adjust your iPhone's volume with its volume buttons. Guess what? It didn't change a fucking thing. At all. Now try this: Pull it out, press home or power to get the screen on. Now try the volume buttons... They still don't fucking work.

That's right, you have to unlock your phone to change any of it's million separate volume levels.

iTard: "That's so they don't accidentally get pushed in your pocket!"

That's what "hold" switches are for. (Or use a slightly recessed dial that has some stiffness - those actually work out very well, especially since they're so damn easy to change back in the surprisingly rare case they actually do get moved.)

iTard: "But adding a hold switch would make the phone less simple and straightforward!"

What in the world is so simple and straightforward about volume buttons that DON'T FUCKING WORK?!

Read more


Who Do I Have to Blow to Get a Cordless Phone That's Not Designed By a Retard?

This is a proper cordless phone:

Proper Cordless
(click to enlarge)

Notice how the shape is designed intelligently, probably by people who actually use phones.

Here's what they all look like now:

Retard Cordless
(click to enlarge)

Notice anything? It's sleek, smooth, hip, shiny, stylish...and has a shape that's completely fucking impractical.

"But it works great for cell phones and smartphones!"

Cell phones need to fit into anyone's pocket. Smartphones are primarily handheld computers. The flat boxy design that's so popular is a deliberate compromise to facilitate those purposes. None of those issues apply to cordless phones which use a receiver and don't run applications. Unfortunately, modern designers are too brain-damaged to comprehend this, and as a result, the flat non-ergonomic style is about all that's available.

"Well, yea, that's the only kind people buy!"

Of course that's the only kind people buy, dumbfuck: That's the only kind people can buy!

Read more


Have Your Efficiency, and Flexibility Too: Now in Print

I don't know why I never posted about it here before, but last summer I wrote an article for a little contest on the D newsgroups. I lost (the most common complaint was the long length), but I'm happy with it, and people did seem to like it. Just not enough to vote for it ;) But that's ok: the winning articles were indeed fantastic - they deserved to win!

Enough group congratulating, here's the article:

Have Your Efficiency, and Flexibility Too:
Metaprogramming Techniques For No-Compromise Code

What I'm thrilled about is the ACCU accepted all the articles to be printed in their bi-monthly C Vu journal. The other articles have already been printed in earlier issues by now. But the first half of my article is now available in C Vu's latest issue: May 2012, Volume 24 Issue 2. (Due to size, my article was split into a two-parter.)

ACCU members have probably received their physical copies by now (I got mine a week ago, and I'm all the way over here in the States). It's also available in PDF form, along with the rest of C Vu's back issues, in the members-only section of ACCU's website.

The second half of my article (including a slightly updated version of section 6-3) will be in the next issue: July 2012, Volume 24 Issue 3.

UPDATE (2012-07-18): The July 2012 C Vu with part 2 of the article is now out!

Read more