Down to the Wire

Super-duper Tuesday tomorrow. Obama’s been moving up in the polls, but it remains to be seen if he’s gotten far enough. What makes things more interesting is that the Dems don’t use a winner-takes-all approach, so it’s possible for a candidate to “lose” most states and still come out in a tie. (In New Hampshire, Obama lost and yet got one more delegate than Hillary.)

There’s a rally in Boston tonight that I think I’ll attend.

Hey Oh!

Song of the night: “Snow (Hey Oh)” by the Red Hot Chili Peppers. Incredibly awesome musically, the music video is pretty neat too: I’m not really sure who we’re seeing, but, among the cliche video of them singing on stage, you get ‘video portraits’ of probably hundreds of seemingly-random people. Simple, and yet strangely novel.

Unlike some of their other songs, this one didn’t find its way into Guitar Hero or Rock Band. I think that the first people in charge of making the decision of what songs made the cut got distracted and are still in an office somewhere, playing the video over and over again, singing along quietly. Unable to break them from their trances, the others decided the song was simply too awesome to be fit for general consumption.

I’m on my fourth time in a row. And when it’s done, I’m probably going to go for #5. Roommates, I apologize in advance if I advertently wake you up tonight while I mumble about snow and the cover of another public wonder in my sleep.  You might play this song to drown me out.

Web Design

I’ve redone ttwagner.com. It’s no longer a random integer between 0 and 255, but instead, a decent-looking site. I’ve integrated some of the cool things I’m hosting there as well. I came across a few interesting things I wanted to point out.

The world DNS page is incredibly intensive, and, since it’s not dynamic, there’s no sense in “generating” it each time. So I used the command wget http://localhost/blah/index.php -O index.html to “download” the output, and save it as index.html in the web directory. Viola, it serves the HTML file rather than executing the script.

But the HTML output was frankly hideous. The page was written as a, “You know, I bet I could do…” type thing, written to fill some spare time (once upon a time, I had lots of it). So I’d given no attention to outputting ‘readable’ HTML. It was valid code and all, it just didn’t have linebreaks or anything of the sort, made it a nightmare to read. But I really didn’t want to rewrite my script to clean up its output so that I could download it again….

So I installed tidy (which sometimes goes by “htmltidy,” including the name of the Gentoo package). A -m flag tells it to “modify” the file in place (as opposed to writing it to standard output). The code looks much cleaner; it’s not indented, but I can live with that!

I also found that mod_rewrite is useful in ways I hadn’t envisioned using it before. I developed everything in a subdirectory (/newmain), and then just used an htaccess override to make it “look” like the main page (at ttwagner.com/ ). This simplifies things greatly, as it would complicate my existing directory structure. (It’s imperfect: you “end up” in /newmain anyway, but my goal isn’t to “hide” that directory, just to make the main page not blank.)

I’ve also found I Like Jack Daniel’s. (Potential future employers: note the missing “that” in that sentence, which changes the meaning completely!) The site is a brilliant compendium of useful information, focusing on, well, Apache, PHP, MySQL, and gzip, generally. The “world DNS” page was quite large, so I decided to start using gzip compression. He lists a quick, simple, and surefire way to get it working. (The one downside, and it’s really a fundamental ‘flaw’ with compression in general, is that you can’t draw the page until the whole transfer is complete. This has an interesting effect as you wait for the page to load: it just sits there not doing much of anything, and then, in an instant, displays the whole page.) It may be possible to flush the ‘cache’ more often, resulting in “progressive” page loading, but this would be complicated, introduce overhead, and, if done enough to be noticeable, also defeat the point of compression. (Extreme example: Imagine taking a text file, splitting it into lots and lots of one-byte files, and then compressing each of them individually. Net compression: 0. Net overhead: massive!)

Flash Plugin for Ubuntu

In the hopes of helping someone else…  Ubuntu has two options for a plugin for Firefox to play Flash. There’s the open-source Gnash and “the real thing” from Adobe. Of course what Adobe provides is closed-source, so there seems to be a tendency to push Gnash. But having used Gnash, it’s awful. I give them enormous credit for their work, but when I have a load average of 2.5 playing a 2-minute YouTube video, get lots and lots of dropped frames, and have random 0’s (a big ‘zero’) superimposed over the video, it’s alpha-level code. It’s not usable.

In theory, Ubuntu makes it easy to install the proprietary one, too. They can’t distribute the player itself, per Adobe’s license terms. So they have a package, flashplugin-nonfree, which downloads it from Adobe. The problem is that Adobe updated their version, so the script fails, citing an MD5 mismatch. (The file’s signature has changed, since it’s, you know, a different version.) Worst of all, it doesn’t handle this error appropriately: it tells you that the package installed successfully, when, in actuality, it aborts due to the error.

This happened in early December. The Ubuntu developers have been squabbling, yet to release an update: apparently the new version doesn’t work in Konquerer. As one person on the developers’ list points out, status quo is the worst case: Flash doesn’t work for anyone. But the developers seem unwilling to use a simple patch to handle the new version, because then Konqueror wouldn’t work. So some grandiose task is under way to try to integrate it with Konqueror, apparently. Meanwhile, no one can use Ubuntu’s package manager to install Flash player.

Fortunately, it’s easy to do yourself. Download the .tar.gz file here, and extract it somewhere. Pull up a terminal, go into the extracted directory, and type “sudo flashplayer-installer,” and follow the on-screen instructions. It’ll take about fifteen seconds. When asked for the location, you probably want /usr/lib/firefox (assuming you use Firefox, and are on Gutsy). You have to close your browser to do this.

Photography

An awesome comment on Ask MetaFilter gives some incredibly well-worded advice:

The camera matters not a whit. The lens matters quite a bit. The flash matters most in the kit… …if you expect your models to be well-lit.

Of course, I have a good camera and a pretty good lens, but just the on-camera flash. I’ve had some pretty good luck with it, mostly with improvised solutions (that’s almost identical to mine: similar camera, exact same gold foil) to bounce light off the ceiling / walls. It looks dorky, sure, but it works.

But you should check this out. Not only is this guy an amazing photographer, but he gives a lot of great tutorials. I think my future photo-taking is going to work on finding skillful ways to use the flash for lighting. I’m sure there’s lots more that can be done with high-end flashes and radio slaves, but I want to start by mastering the built-in flash.

Letters to the Editor

In the local newspaper that mysteriously appeared on our kitchen counter, there are two letters to the editor in a row. (Actually, the second reads more like an article and has no name signed, but is under the “Letters to the Editor” section.)

The first starts off, “Granite Staters have always been among the first to stand up against discrimination of any kind, including opposing slavery, expanding women’s suffrage and supporting the Equal Rights Amendment. Adopting civil unions continues this proud tradition of standing up for what is just and fair.” It’s short, concise, and just praises voters for standing up for the rights of same-sex couples.

The next is about a Right to Life march. What an ironic pair of letters!

What I find strange is that the second letter/article never once mentions, “Killing unborn babies is wrong,” but is instead comes across as a rant on a slew of unrelated issues. One person is quoted as saying, “We’ve got to put the moral order back the way it should be… Reverse Roe v. Wade. Reverse civil unions…” He goes on to add, “There are more people coming in from Mexico and other places, and we’re killing ourselves off. That changes the voting demographic… They’ll wipe out the Constitution.” He goes on to complain about how “birth control has been proven to be extremely detrimental to those who use it… You have sex to have babies. If you don’t want  babies, don’t have sex.”

A second person mentions, “I heard on EWTN that after an abortion, females can get sick–cancer of the breast, cancer of the uterus.” The problem is that she says this right after the article includes a big paragraph about how no one has ever found a link between cancer and abortions.

Reasons to oppose abortion, then:

  • Gay marriage is immoral.
  • We need lots of babies to dilute the effects of those darned Mexicans who are coming into our country so that they can destroy our Constitution.
  • People who use birth control go on to lead miserable lives.
  • Despite a lack of any evidence claiming this, you might get cancer if you have an abortion.

Never mentioned:

  • They think abortion is killing babies and should thus be stopped.

To me, the latter argument would be a little more convincing. I really can’t understand what they were thinking with this letter. It’s also not as if I skipped over the section with the good arguments. I’ve basically given you a recap of the article, minus peoples’ personal backgrounds (neither of which involve abortion.) They just rant about irrelevant stuff, throw in a lot of incorrect statements, and even resort to some arguments dripping with racist sentiment. And yet, it’s very easy to present a strong case against abortion. They just fail–miserably–to do so.

Inexcusable

Culled from recent news, here are some things that have occurred that I can find absolutely no excuse for having happened:

  • Hackers infiltrated computer systems, turning off power to several (foreign) cities. I guess it makes sense that the power grid would now be controlled by computers, but it’s sheer idiocy to have such a system, in any way, connected to the Internet. (And one has to suspect it was, in some manner, an inside job: I can’t imagine there’s a spiffy web GUI with a “Turn off power to Washington, DC” button, but rather some inscrutable interface.)
  • This is actually old news, but it was dug up recently: Mike Huckabee’s son was arrested for trying to bring a gun on an airplane. I’ll buy that it probably wasn’t his intention to hijack the plane, but how you “accidentally” carry a gun into an airport escapes me. Most of us are paranoid about whether our tiny bottle of shampoo is pushing the envelope and whether it’ll result in a cavity search. And yet people keep waltzing in with guns. Furthermore, anyone who doesn’t know where their guns are shouldn’t be allowed to carry them in the first place. (Despite what some have said, this doesn’t change my opinion of Huckabee himself… His statements like, “And that’s what we need to do — to amend the Constitution so it’s in God’s standards…” are what influence my views of him.)
  • Another case of a laptop with private data on more than half a million people going missing.

Torture

Dear Republican hard-liners: waterboarding is really unpopular. But I have an awesome idea. You can torture detainees even more, while fooling the Democrats into thinking that you’ve had a sudden change of heart.

Give free dental care to all detainees, paying special attention to fill cavities.

They used this huge needle to give me Novacaine. If I were giving an injection to a buffalo, I’d think the needle was unnecessarily large. Furthermore, they weren’t content with merely jabbing me with the needle. They stuck it way in, which was only mildly painful, until they must have jammed it into a vein or something, which caused excruciating pain. As I screamed in pain, the dentist apologized and shifted the needle ever so slightly.

They did one filling, and then the main dentist randomly left for about fifteen minutes. Meanwhile, her partner in crime was left to implement some extremely bizarre torture implement. All I saw was that a blue latex thing–a lot like a rubber glove, only a flat sheet of it, was fit over my mouth, covering it completely, while something sharp was jammed into my gums until I screamed out again in pain. “Oh, does that hurt?” She removed it, and I never saw it again, so I have absolutely no clue what that was all about.

Sick of seeing ridiculously scary weapons being brandished in my face, I kept my eyes closed most of the time. (Actually, it was more the cloud of tooth-dust rising out of my mouth, and a desire to keep it out of my eyes.) I eventually opened my eyes, to find what can only be described as a large metal pipe sticking out of my mouth.  As with a gum-piercer with a latex cover obscuring my entire mouth, that thing couldn’t have served any legitimate dental purpose.

They ended up giving me three shots of Novacaine, as she’d keep drilling into teeth that still had feeling. After the second one, they both left the room, probably to find more torture devices.

Meanwhile, as I sat there bewildered, some lady came in, handed me a small FM radio with headphones, and said, “Here, this sometimes helps.” Between being completely bewildered as to what was going on, and being unable to talk anyway, I nodded in appreciation and took the radio. It only got two radio stations–the same one that they had playing in the room, and a country station. But I figured it would drown out the noise of the drill, even though I think the implication may have been that the excruciating pain was al in my head, and listening to music would cause me to forget the fact that I had a huge hole in my gum and someone repeatedly taking a drill to a tooth that definitely wasn’t numb.

With the third Novacaine shot, the whole right side of my face was numb. And my eye felt really funny. When they left again, I looked in the mirror and saw that it was halfway shut, while the other one was wide open. This was quite a distressing sight, so I mentioned it to torture-assistant lady. She made some neutral comment whose tone indicated, “I don’t want to concern you anymore than you already are, but I’ve never seen that before and it looks pretty scary.” The real dentist came back in and told me it was nothing to worry about.

On top of all of it, the assistant lady had really sharp fingernails that were digging into my cheek through her gloves the whole time. And the filling they used smelled like rubbing alcohol. The smell of rubbing alcohol isn’t that bad, unless it’s wafting directly into your nose, in which case it’s horrible: partially the smell, partially nauseating fumes.

Finally, my interrogators decided I’d had enough and released me. I left unable to really control my lips, with my jaw in excruciating pain, an unexplained cut in my lip, and with my upper lip having a horrible burning sensation.

Moral of the story: floss and brush your teeth! Twenty-seven times a day.

Beat the Rush

In case anyone here is interested, I’m hosting a VMware Player image for BlueQuartz, the ‘modern’ GPL version of the old Cobalt RaQ software. A lot of people seem to want a VMware image. I was one of them, until I ended up just creating one on my own.

So grab it while it’s hot! (Read: grab it before I take the time to better throttle download speed.)

Cool Stuff

  • FDC (FDCServers.net) has come a long way since I last dealt with them. (I remember back when they had a couple Cogent lines). They’ve now got 81 Gbps of connectivity.
  • Internap has long been the Internet provider when latency/speed matters. They basically buy lines from all the big providers, and peer with lots of the smaller ones, so that, unless your hosting company has their own private peering agreements, it’s basically impossible to find a shorter route. People hosting gameservers, or really just anything “high quality,” love Internap. I’ve seen prices in the $100-200 range for 1 Mbps. (This is purely for the transit: it’s all well and good to envision $100 for a 1 Mbps line to your house as good, but that’s not what it is. This is when you’re in a data center where they have a presence and run a line to them. The cost is just for them carrying your packets.)
  • FDC now has a 10 Gbps line to Internap. “Word on the street” is that Internap had some sort of odd promotion at $15/Mbps if you bought in bulk, and FDC wisely jumped, getting a 2 Gbps commit on a 10 Gbps line.
  • I’m working on getting Xen running on my laptop. It’s interested me for a long time–it’s a GPL’ed virtualization platform. You can use it on your desktop to experiment with various OSs inside VMs, but it’s also awesome on servers to run multiple virtual machines as virtual private servers.
  • Do you remember Cobalt RaQs? I distinctly remember ogling them and thinking they were the best things ever. (Of course, now we see them as 300 MHz machines…) It turns out that, when Cobalt went belly-up, they released a lot of the code under the GPL or similar. The BlueQuartz project is an active community-developed extension of that, and, combined with CentOS, it apparently runs well on “normal” computers now. (True, you don’t get the spiffy blue rackmount server or the spiffy LCD, but you do get to run it on something ten times as powerful.)
  • I’m still itching to host a TF2 server. I’ve found that they’re all either full or empty, with few in-betweens, and that a lot of them aren’t ‘adminned’ as tightly as I’d like: games like this seem to attract irritating people, and not enough servers kick/ban them.
  • cPanel seems to have come a distance since I last used that, too, and you can now license it for use just inside a VPS at $15/month.
  • Mailservers are hard to perfect. There are lots and lots of mediocre ones, but it’s rare to come across an excellent one, something that can deflect spam seamlessly, make it easy to add lots of addresses, and provide a nice web GUI. All of the technology’s out there, but for some reason, mailservers are among the hardest things in the world to configure. (Even my thermostat is easier to use!) Especially given my affinity for spamd, it’s no wonder that I’m so impressed with the Mailserver ‘appliance’ that Allard Consulting produces. It’s essentially all of the best things about mailservers (greylisting, whitelisting, SpamAssassin, Postfix with MySQL-based virtual domains, a spiffy web interface with graphs, Roundcube…), hosted on OpenBSD, coming as a pre-assembled ISO.
  • Computer hardware’s come a long way lately. I’d imagine it’d be fairly easy to assemble a machine with a good dual-core (or quad-core!) processor, 4 GB RAM, and a few 500 GB disks for around $1,000.
  • Colocation + 1,000 GB transfer on Internap at FDC is $169. (Or $199 for 5 Mbps unmetered, but that’s probably overkill.) Are you thinking what I’m thinking? (Hint: everything on this list indirectly leads to these last two point!)