Hacked!

Well, that was fun.

All my Dreamhost-based sites have been hacked and defaced by Chinese hackers, apparently to send spam and to use as a reference source for phishing attempts. All but the main site have been taken offline while we harden the site and do some security upgrades. Not sure how they got in; perhaps a compromised password? Anyway, I think the problem has been cleared up. Watch this space for more details.

6月4日,天安门广场大屠杀

6月4日,天安門廣場大屠殺

Oh, and…

… don’t get used to the new layout (what WordPress calls a “theme.”) It’ll be rolling back too, as soon as I figure out how!

Upgrade woes

Well, that was fun!  I did an auto-upgrade to the WordPress 3.0, so I could finally merge my various blogs into one.  Except that the multi-blog feature doesn’t work under one very specific circumstance– which happens to affect me.  And there’s no one-click rollback. 🙁

Meta

Apologies to my regular visitors… I’m going to be messing around with the themes (layout) on the site for the next few days, so it’s possible there will be some oddness.

Evidence-based Scheduling

A couple of weeks ago, I went to a seminar put on by Fog Creek Software.  They’re doing a “world tour” to show off the newest version of FogBugz, their project tracking and scheduling software.  It’s pretty cool; there are a lot of new features and enhancements that have been added to the current version.  My lab uses FogBugz, but we’re a couple of versions behind.  Time to convince someone to upgrade!

One of the new features they’re very proud of is evidence-based scheduling, a way of predicting completion dates.  If you’re ever dealt with programmers, or the managers of programmers, you know that this is one of the hardest parts of of software development.  They seem to have nailed it pretty well.  Joel Spolsky explains the details in the link above, but briefly, it uses a modified Monte Carlo algorithm to predict the outcome based on past performance.

Another very nice feature is their integrated Wiki.  I’ve installed and used various flavors of Wiki software, and while they’re certainly useful, they do tend to be a bit rough.  There are quite a few free and open-source versions, a few commercial versions, and I find them all lacking on one way or another.  Currently I’m using TikiWiki, and while it does work, the user interface for posting could be better.  (Yes, I know it’s open source, and I should fix it instead of complaining, but I’m lazy and too busy.  So complain I will.)  Anyway, the Fog Creek guys have done a pretty seamless integration of a WYSIWYG Wiki into FogBugz.  I’ve written and asked them to release their Wiki as Open Source, but so far no reply.

Well. That was fun.

It turns out this recipe for Thai Spicy Noodles got tagged by a social networking site called Digg late last week.  My  quiet little site that usually gets maybe a dozen visitors a day all of a sudden was getting hundreds of hits a minute, all of them looking for the same page.  As you may have noticed, it didn’t handle the load well.

Amusingly, I used to worry about this on previous incarnations of this web site.  In the tech world, it’s known as the Slashdot effect.  It never happened, and I don’t do much tech blogging anymore, so when I moved to Bluehost and this new version of WordPress, my blogging software, I didn’t bother to plan for it.

The first I heard about the Digg link was when I started getting a bunch of comment spam.  I have the site set up so that any comments by new readers are forwarded to me for approval before they show up.  There’s a set of bottom feeders out there in the web world that tries to drive traffic to their sites, or increase their standing in the search engines, by putting a comment on sites like mine to link back to their site.  Then when the search engines spider my site, they see a link back to the bad guy’s site and elevate his page ranking because they believe it to be more popular than it is, due to the many sites that “link” to it.  This is apparently like spam; it’s automated and works just often enough that they keep trying.

But I digress.  When I discovered what had happened, I tried to get into my site’s control panel to mitigate the damage.  Unfortunately, the site was so busy I couldn’t get in.  So I figured I’d drop a polite note to the admins at Digg and ask them to delete the link, or at least point it to the Google cache of it rather than my live (dead?) site.  Hah.  Four days later I got back a snotty email, to the effect of “if you don’t want it linked to, don’t put it on the web.”  Aside from the tone, fair enough.

My next plan was to log onto my domain registrar and redirect the frankh.com domain to somewhere else that could handle the traffic.  (The traffic was coming to frankh.com, one of the domain names I own, which points to my master site here at hicinbothem.com.)  After a few hours, that worked well enough that I could finally get into the site and optimize the page by removing the pictures and the links from the post and front page.  That worked well enough that the site at least stayed up under the onslaught of visitors.  By Monday, the river of visitors had slowed to a trickle and I put everything back the way it was.  No major harm done, except that I somehow lost the noodle picture…. I suspect I deleted it accidentally when I was trying to remove it from the post.

The whole debacle was definitely a learning experience.  What I discovered:

  1. The total number of visitors was just under 50,000 over four days.  At an average page load of 25kbytes, they ate up just over a gigabyte of bandwidth.  Fortunately Bluehost has a liberal bandwidth policy.
  2. This points out a deficiency: my site layout is horribly inefficient.  It also appears that WordPress does absolutely nothing out of the box to optimize the site layout.  I need to do some more research, but this is apparently a known issue and there are several workarounds for it.  Unfortunately, I had to do a good bit of Googling and searching to find that out.  I’m not blaming anyone– I love WordPress and will continue to use it– but it might be good if they made prominent mention of this in the documentation.
  3. Digg users are not the kind of users I am looking for.  50,000 visitors and none of them left a comment that I was willing to approve.  Am I being elitist?  Perhaps, but a recipe for spicy noodles shouldn’t have comments discussing the sexual attributes of the women of Thailand.  With half the words misspelled, naturally.  I agree, Thai women are great, but I don’t choose to discuss that here.  Use the Digg forum.  Everybody else did.
  4. Digg users don’t follow links.  They came for the noodles and left.  Oddly, many of them appear to have left within seconds of arriving, which implies they didn’t even read what they came to see.  I haven’t figured that out yet.
  5. There are about 88 million different social bookmarking sites on the web, and no mere human can keep track of them all.  I had no idea of the scope of those sites until I did a little Googling.  I use a couple of them, but the sheer number of them that exist, and the volumes of users they have, are incredible.  Doesn’t anybody do anything but surf the web anymore?
  6. I need to get on board with some kind of low-key advertising, ala Google Adsense or something similar.  At least some good would come of a massive influx of visitors.

So that’s the story of my first adventure into high-volume web services.  There will be some changes to the site over the next week because of what I’ve learned.  And hey, try the noodle recipe, it’s really good.

Welcome to Corporate America…

… where it is illegal for you to know this number: 09 F9 11 02 9D 74 E3 5B D8 41 56 C5 63 56 88 C0  (For the non-technical, that’s a hexidecimal number.  We programmers prefer that notation.  In decimal, it’s 13,256,278,887,989,457,651,018,865,901,401,704,640.)

Why is this number special?  It’s the encryption key that controls the DRM (Digital Restriction Management) for every high definition (HD-DVD and BluRay) DVD sold to date.  If you are a very talented programmer, you can use that magic number to decrypt and back up your original DVDs.  A consortium of media companies claims they own it, and under the US Digital Millenium Copyright Act, they can censor anyone who publishes it.

Webcams

I first got interested in webcams back in the early days of the intartubes when I came across the original Africam.  It was simple: a 24-hour live view of a watering hole somewhere in Africa, updated every few minutes.  State of the art, circa 1998 or so.  I passed the link to a couple of people, they passed it to a couple more people, and so on until it died of bandwidth overload a couple of days later.  The original Africam is long gone, and the replacements are far inferior.

But time and progress march on.  Instead of searching for these cams or stumbling across them randomly, Opentopia aggregates hundreds of webcam feeds into one easy-to-use site.  Here are a few of my current favorites:

Note that while all the Opentopia cam pictures are SFW, various idiots think it’s amusing to add rude comments.  So if looking at bad words and/or stupid racist comments would get you into trouble at work, save this for home.

Firefox extensions

I’m a huge fan of the Firefox web browser, at least in its current incarnation. (Whether that fandom follows the next major upgrade, which allegedly suffers from creeping featuritis, remains to be seen.) One of the most lovely features of Firefox is that it allows additional features to be easily added, through a mechanism called “extensions.” I have eighteen of them installed, many of which I wouldn’t want to surf without. Here’s a list and some commentary:

  • Adblock (and the associated auto-updated filter set, Adblock Filterset.G) This pair of treasures nukes 99.9% of the annoying ads on web pages.
  • BugMeNot – Accesses a shared database of usernames and passwords for stupid web sites that require you to log in to view their content.
  • Forecast Fox – Weather reports that appear in your status bar and are updated constantly. I have a love/hate relationship with this one. The concept is great, but it’s tied to a server that has absolutely awful weather forecasts for my area. (How bad? I live near San Diego. All summer it was predicting “morning showers” for my home town. That simply doesn’t happen here. We haven’t had a hundredth of an inch of rain since April.)
  • Mouse Gestures – If you’ve never used a program that has mouse gestures, you probably won’t understand how incredibly useful this feature is. Now I find myself trying to use them in programs that don’t support them.
  • PrefBar – Adds a menu bar that allows you to quickly turn on and off various browser functions (Java and Javascript on and off, create new tab, change font size, etc.) I don’t use this as much as I once did, but it’s still worth the screen real estate it takes.
  • MediaPlayerConnectivity – A simple but very useful idea: it allows you to download the content of any page that has embedded media.
  • DownThemAll! – A mass downloader that lets you download all the links or images in a page. Users love it, webmasters hate it. If you happen to run across an open directory that has a bunch of stuff you want, no more right click, save as, save, ok. DownThemAll! and it plays a little tunes when it’s finished leeching all the content.
  • QuickNote – Yellow sticky notes that live in your browser. Great for quick notes, keeping track of magic numbers and URLs, whatever you want.
  • Mozilla Calendar – Another love/hate relationship. If they ever finish it, it’ll be a killer app. In the meantime, it’s a semi-useful quirk.
  • Web Developer – I’m not sure why I have this installed at all. I never use it anymore.
  • VideoDownloader – It does exactly one thing: it lets you easily download videos from YouTube. If you ever want to do that, you need this. If you don’t, you don’t.
  • FeedView – Makes your RSS feeds look better. It’s kind of quicrky, and I suspect there are better extensions available that do the same thing. But this one does what I need, so why look for something better?
  • StumbleUpon Toolbar – What can I say about StumbleUpon? I love it, I just love it. Click the little icon, and a new web site appears. You can select what categories you want and every click delivers a new one.
  • Performancing – A blog editor. Again, kind of quirky, but it does what I need. I do wish they’d publish the source code so I could bend it to my will. But for all my griping, I’m using it to post this.
  • NoScript – Turns off Javascript for all sites not in your whitelist.
  • View Source Chart – Organizes the “View Source” function to make it readable. Ever want to figure out how a web site does something, but the source code is a big mess? This extension fixes that.

CSS Design Tips from an “Expert”

This is one of the things I just hate about the web: design tips from an alleged expert who has an absolutely horrible web design. What’s wrong with this? Let me count the things:

  • Useless, complex background image under text, which makes the text hard to read.
  • Weird mixed fonts, again making it hard to read.
  • It doesn’t degrade gracefully; if you turn off images, it looks like garbage, and the alt tags show up in weird places.
  • Comment field with “cute” saying.
  • One of my personal favorites: the context only takes up half the browser window. Hello? If I want to look at skinny little columns, I’ll decide how wide to make my browser window.

Perhaps he ought to read some of those books and sites he touts on the bottom of the page.