Archive for October, 2008

How to prevent Firefox from lagging badly when dragging selected text

Tuesday, October 28th, 2008

This past week I upgraded my system from Ubuntu 8.04 to Ubuntu 8.10. The upgrade was pretty smooth, with nothing much to report except that my system now boots without requiring the all_generic_ide kernel parameter, which is nice. One problem that I immediately started seeing, however, was that my system would freeze up terribly whenever I selected more than a few words in Mozilla Firefox and tried dragging them anywhere. Depending on how large the block of text was, my entire system could freeze up for minutes at a time as it spent several seconds drawing each frame of the text block moving.

Well, I’d had enough of it, and I went looking for a solution. Firefox didn’t always render the entire contents of the selection being dragged-and-dropped; it used to just display a little icon next to the cursor. Here’s how to restore that functionality and remove the lag from the fancy but ultimately unnecessary fully rendered dragging:

  1. Type about:config into Firefox’s location bar and hit Return.
  2. In the filter text edit box at the top of the window, type nglayout.
  3. Double-click on the nglayout.enable_drag_images row to change its value to false.
  4. That’s it! Firefox will no longer try to render the contents of the selection to the screen as you drag words around. For older systems or systems with poor graphical support (like mine, apparently), this is pretty much a mandatory change. Enjoy your new, faster Firefox!

It’s the writing time of year again!

Sunday, October 26th, 2008

Halloween is just around the corner, which means that it’s almost time for a full month of writing. Of course, I am referring to National Novel Writing Month, a “competition” in which people challenge themselves to write a 50,000-word novel during the month of November. This will be my fourth time attempting it. I’m pretty confident about my chances, seeing as how I successfully completed it last year. I know a lot of people try to set tougher goals for themselves the second time around, but seeing as how I haven’t written much fiction at all recently, I’ll be content just to finish it again.

The experience last year was pretty intense. I fell below pace during the middle of the month and had to catch up by spending a couple days toward the end of the month pretty much doing nothing but writing. It really challenged my creative energies, but I persevered. This year will probably go much the same way — I’m just a procrastinator by nature. And while I have a general idea of the plot I want to write, I haven’t really fleshed out the characters, nor do I have much of a conclusion. In other words, it’s going to be just like last year again, figuring things out as I go along.

So, are any of you doing NaNoWriMo? It sounds a lot harder than it actually ends up being, once you get into the hang of things, and it really is a neat thing to be able to say you accomplished.

Introducing PC Game Fun Time, my new blog focused on PC gaming

Monday, October 20th, 2008

I’ve just started up a new blog with my current housemate and former college roommate, Grokmoo. It’s something we’ve talked about doing for awhile but finally got around to. The new blog is called PC Game Fun Time, and somewhat obviously, it’s focused on PC gaming. Check out the introductory post for a look at what we’re trying to accomplish. If you or someone you know might be interested, check it out! We’re going to start it up the same way we did with Supreme Commander Talk, which is to say, a massive blitz of posting.

And if the new site looks a little bit familiar at the moment, then yes, it’s because I completely ripped off this site’s theme. We’re still thinking about a good long-term solution on that front.

Web comics authors: Please stop using HTML image attributes

Monday, October 20th, 2008

I like XKCD. Everyone that I know who’s heard of XKCD likes it as well. But there’s one little annoying thing its author, Randall Munroe, does that I wish he would stop: putting additional commentary about the strip into HTML meta attributes on the image of the comic. Specifically, I’m referring to the title attribute, which is often incorrectly said to be the alt attribute (the name of the strip is actually what goes into the alt attribute). The contents of the title attribute is displayed when you hover your mouse above the image. The worst annoyance with the title attribute, that it wouldn’t be displayed in full in Firefox 2 unless you right-clicked on the image and opened up the Image Properties dialog, has been fixed in Firefox 3, but there are still many other problems with the customary use of the image’s title attribute for displaying additional text commentary.

The main problem with the use of the image title attribute to inject additional humor is that it is not obvious from a user interface standpoint. I read the entire backlog of 200 or so XKCD strips when I first found out about the comic, only to then discover that I had completely missed out on the “hidden” joke on each one. And since it was such a big backlog, I never even bothered going back to check out the jokes. Simply placing them as text beneath the comics, as a sort of caption postscript, would have worked much better.

More recently, when I found out about the excellent web comic Daisy Owl, I again read the entire backlog without realizing there was additional content on each comic in the form of a title attribute. The use of the image title attribute is spreading like a malevolent virus! Now, it’s gotten to the point that I hover my mouse cursor over every web comic image for fear of missing anything, even though the vast majority thankfully don’t use this feature. Now that’s just a waste of my time.

Also, using the image title attribute for these purposes simply isn’t good according to web accessibility standards. The title attribute is specifically intended to label the link that the image points to, while the alt attribute is used to describe the image itself. The title attribute is thus meaningless in the context of web comic images, which typically don’t link to anything, and relies on a browser quirk to display the contents of the title attribute even in the absence of a link. It doesn’t make sense to use the image attribute against its intended purposes simply because most web browsers happen to display it in a pop-up text box on an image mouse-over event. Needless to say, the use of image attributes in “creative” ways confuses screen reader programs used by the blind, which rely on the image attributes actually being what they say they are.

So Randall, I love your strip, but please just put the additional commentary as plain text somewhere on the page below the image. The trick with the title attribute was cute at first, but is now just annoying, and I’m afraid it’s spreading across the blagosphere, with new web comics authors feeling compelled to put something in their image title attributes as well.

Review of Antec skeleton case neglects to mention RFI issues

Sunday, October 19th, 2008

I will admit to being fascinated by Antec’s latest case. It’s more of a skeleton than an enclosure, providing mounting points for all of a computer’s components to screw into, fans, and nothing else. I especially like how up to four additional hard drives (in addition to the two it fits “internally”) can be clipped onto the outside. Despite the case’s goofy novelty, this really is something I could get into. I tinker with my computers a lot, often running them with the sides off in between swapping out hardware, so this wouldn’t be that much of a stretch. Heck, I’ve run computers with IDE ribbon cables connected to “external” hard drives sitting on top of the case; the skeleton case’s mounting option would’ve been really nice. And above all, I just like the idea of being able to see the components in my computer (which I paid quite a bit of money for) at all times.

But I’m also a bit of a realist. There is a good reason that all other consumer-level computer cases are, well, cases: it makes sense to put your computer’s delicate vitals inside of an enclosure. The case helps keep dust out. It also keeps objects from falling onto the computer’s components. Drop a sizable object onto a normal computer case and the worse that will likely happen is a large dent in the case. But even dropping a coin into the internals of an exposed skeleton case could short out some contact points on the motherboard, or get caught in a fast-spinning fan and turn it into slying shrapnel. Dropping anything larger could easily cause substantial damage to delicate internal components that a 1mm thick steel case wouldn’t blink at. And let’s not forget the problem of spilling food or drink. Spill something on top of a normal case and odds are good you can quickly wipe it up before it seeps in (and the case itself will deflect most of it). Spill something into a skeleton case, and you’re almost guaranteed some kind of catastrophic failure.

But even if you’re never clumsy, and you set up your skeleton case in such a way that there is zero probability of anything ever falling on/into it, there is another less obvious problem lurking: radio frequency interference (RFI). One of the reasons computers and most other electronics are sold enclosed in metal cages is to prevent RFI (even when the exterior is plastic, there will be an internal metallic Farraday cage enclosing the electronic components). Electronics are sold this way because of a sensible regulatory requirement by the FCC to prohibit your household electronic devices from interfering with other devices. Since the skeleton case doesn’t ship with any electronics in it, it can get past the FCC, but no computer retailer would be able to sell a pre-built computer inside a skeleton case. Computers, having all sorts of components in them running at various clock speeds, produce quite a number of radio waves of various frequencies.

The RFI produced by a computer can potentially interfere with nearby electronic devices. It might cause a hum on a speaker system, for instance, or produce static on a radio (ham radio operators on HF frequencies especially should stay far clear of skeleton cases). Depending on how severe the RFI produced by the computer is, and on which wavelengths, it could interfere with wireless mouses and keyboards, or even a monitor. There’s no way to be sure, really — the specifics of RFI are really finicky, and depend as much on the characteristics of the receiving device as of the computer in the skeleton case. The interference also works both ways, so your computer could suffer some rather catastrophic crashes if parts of its circuitry happen to be resonant with a nearby source of radio waves. Considering that I pick up low power AM radio through my bass guitar’s unshielded instrument cable when I turn the gain all the way up, it’s not far-fetched to imagine interference affecting an unshielded computer as well.

But I’m just making educated guesses. What we really need is cold hard data on how much RFI an unshielded computer puts out, and what sources of radio waves one might expect to interfere with the computer. Unfortunately, ExtremeTech didn’t examine this angle at all in their review, and my lack of a test bed (let alone the willingness to pony up $190 for the case) precludes me from finding out myself. So I really wish someone would do the requisite experimentation, because the skeleton case concept could be completely DOA for reasons less obvious than “you might drop stuff into it”.

A perfect example of rule 34

Thursday, October 16th, 2008

I just stumbled across a perfect example of rule 34 (if it exists, there is a porno/fetish of it) while performing an unrelated Google search. It’s way too weird not to share it, so I present to you: Inflated anime and videogame characters. Surprisingly, it’s work-safe, because all of the characters are wearing their normal clothing; their bodies are just inflated like balloons to the point that they approximate spheres with small stubs for limbs.

And then if you venture even further into the site, you begin to discover the *shudder* obese fan-fiction.

Seriously, can anyone possibly explain this to me?

Tab overload

Thursday, October 16th, 2008

It’s not uncommon for me to find out that Firefox is using a gigabyte of RAM at any one time. Sure, that may seem like a lot, but I have a full 4 GB of RAM to work with, and Firefox is the most intensive thing I regularly use this computer for, so it works out just fine.

What’s that? You’re wondering how Firefox is the most resource-intensive program on my computer? Well, I have 98 tabs open at the moment. I just counted them. That says it all, really. Each tab is something I’ve come across in my web browsing that I’ve been meaning to read but haven’t gotten to yet. Yes, several dozen of the tabs are Wikipedia articles on a large variety of topics. Thanks to Firefox’s feature of saving all of the open tabs when you exit — or even when it crashes — some of these tabs are pages I’ve been meaning to read for literally weeks.

If you have fewer tabs open than I do at the moment, just be thankful that you haven’t dug yourself into such a deep web browsing hole. It would take days of nonstop reading to work this backlog off. Wikipedia is a fiend like that: each article generally links to several other articles that I also end up reading, and after not too long at that rate, you end up with a number of tabs in the triple digits. I once read most of the military technologies of World War II articles in the course of some many-hour browsing sessions across several days — and that was started by looking up a single, completely unrelated article.

I also cannot remember how I ever possibly browsed the web before the era of tabbed browsing. Those must’ve been dark ages so painful my mind has completely blotted them from memory.

What C# does better than Java

Thursday, October 16th, 2008

I spend 90% of the development time at my job using either Java or C# .NET, with a roughly equal split between the two. So I know a fair amount about both languages — enough to feel qualified to comment on the differences between them, anyway. Now being a Free Software guy, my obvious preference is for Java, which is actually Free as in freedom (finally, anyway) and runs on a large variety of platforms. Given the choice of which to use on my personal projects, Java is a no-brainer. The best IDE for Java, Eclipse, is absolutely Free. The best IDE for C#, Visual Studio is … well, it’s several hundred dollars and proprietary to boot. And it has the limitation of not running on or compiling for GNU/Linux; since I use Ubuntu as my home desktop operating system, that’s a deal breaker.

But just on a pure comparison between the languages, I have to say that C# is the better of the two. It’s not a fair comparison because C# is many years younger and was able to learn from all of Java’s mistake, but then again, that old canard about life not being fair still holds true. C# is the better language. It has lots of features that simply make it more pleasant to code in. One feature I would’ve killed for in Java while writing a recent project at work is properties. Here’s a sample of the code I wrote in Java:

writeOut(data.getAccount().getContract().getAddress().getAddress1());
writeOut(data.getAccount().getContract().getAddress().getAddress2());
writeOut(data.getAccount().getContract().getAddress().getCity());
writeOut(data.getAccount().getContract().getAddress().getZipCode());
writeOut(data.getAccount().getClient().getCoSigner().getFullName());

And it went on and on for dozens of lines; you get the drift. This is getter and parentheses overload. There’s no real reason the code has to be this messy. And with C#, it isn’t. Here’s how the same code would look in C#:

writeOut(data.Account.Contract.Address.Address1);
writeOut(data.Account.Contract.Address.Address2);
writeOut(data.Account.Contract.Address.City);
writeOut(data.Account.Contract.Address.ZipCode);
writeOut(data.Account.Client.CoSigner.FullName);

And yes, you could accomplish the latter in Java by making all member variables public, but that’s a bad idea. In C# you don’t have to make all of the member variables public to do this — you simply define them as properties, which allows for fine-grained control on who can get and set each property, and without all of the messiness of having to corral dozens of different getter and setter functions for each member variable.

So if nothing else mattered, I would recommend and use C# to the exclusion of Java. But since other issues matter a lot more than programming conveniences, like software freedom, I do still recommend and use Java to the exclusion of C#. But Microsoft did put up a good effort.

Teen runaway McKenzie Church gets a bit more than she bargained for

Wednesday, October 15th, 2008

You know the typical teen runaway story: parents try to discipline their kid over a poorly thought-out relationship, who then thinks they’re the worst people in the world and decides to run away with their lover. Usually it only lasts a couple of days until the kids realize they’re completely not prepared to strike out in the world, and sulk home in shame. Usually it’s only the immediate friends and family who ever know about it, because teens running away is relatively common enough that the larger world doesn’t notice it. Usually.

Not in the case of one McKenzie Church, however. Her worried parents are Internet savvy, and are using the full power of Twitter, blogs, and now Digg to track her down, even though her situation may not merit such a level of public involvement. Even the police are classifying her as not being in danger, and aren’t devoting any resources to looking for her. For no compelling reason, McKenzie Church’s parents are quickly propelling her down the road of becoming “Internet Famous” — the consequences of which will stick with her much longer than the consequences of running away ever will. Just ask Allison Stokke about her experiences with becoming Internet Famous.

The situation with McKenzie Church started with the online posting of a simple Missing poster by her parents. Then they put it on Twitter. Fanned by missing cute white girl syndrome (and her three-years-older boyfriend, to be fair, kind of looking like a douchebag), it’s currently being retweeted at a rate of greater than once a second. The story made the top-rated section on Digg, where Internet culture nerds have taken it upon themselves to stalk the ever-loving-hell out of the private Catholic school girl with the flimsy pretense of trying to help locate her. They’ve dredged up her profile on Facebook, as well as that of her boyfriend. Commenters have offered up suggestions to look through every one of her listed friends on the online site and contact them one by one in an effort to track her down.

This is quickly ballooning out of control. Long after McKenzie Church returns home, she’s going to have to deal with the fallout of becoming Internet Famous in the process. A lot of her personal information is going to get out there, a lot of which she’d probably rather have remain private. It’s not that long before we start seeing photos from her online networking sites hitting the web — a.k.a. “the full Amanda Wenk”. And you can bet that every Internet culture nerd out there is praying to Jehovah that those photos will turn out to be very juicy.

Kenzie is most definitely going to regret ever having run away, but her parents are going to regret even more the hell they’re putting her through by searching for her in this fashion. The Internet is a triple-edged sword.

I think Verizon hates me

Wednesday, October 15th, 2008

I think Verizon hates me. Here’s proof hate isn’t too strong of a word:

Ever since we got Verizon FIOS, I’ve been using it to the maximum because, why not?, we’re paying for it. BitTorrent is definitely the best way to fully utilize a connection. In the screenshot above, note the total of 293.41 GB uploaded in 35 hours. That’s an average of 2.38 MB/s, or almost exactly the 2.50 MB/s (20 Mbps) that we’re paying for. Nice. The figure of 3.464 TB is a sum total for the past three months, a period in which I wasn’t even running BitTorrent most of the time, otherwise it’d be far higher. But averaging over a TB per month isn’t too shabby.

Oh, and my housemates have both been known to run BitTorrent on occasion. So yeah, I think Verizon hates us.