Is This Why Wireless Is So Slow?


I swear, it took me 10 minutes to get access to TTU-WLAN-1 from the top floor of Brown Hall today. At least one other WAP not shown above was on channel 11 earlier — I think its name was “Free Internet Access”.  So there are 5 networks running on channel 1 (one scrolled off the top of the window) which I assume aren’t running in some kind of infrastructure mode, 4 obviously separate named networks on channel 6, and 2-3 on channel 11.

I’m just guessing from this Google result for multiple access points one channel that this isn’t the best way to organize things.

By comparison, from my office in Clement, 3 access points visible in the site monitor. All TTU-WLAN-1, all separate channels.

re:PocketMod – DIY Tiny Paper Organizer

I’m not giving up my Treo 700p as my regular organizer, but there are times when I recognize the advantages of paper. re:PocketMod is a site with a Flash application on it that lets you lay out and print 8 pages of information onto a single 8.5×11 sheet of paper. Properly cut and folded, the final size ends up fitting in a bifold wallet (slightly larger than a credit card, but I can put it in my wallet’s cash area, or in another pocket behind my work ID). If you lay out the pages with to-do lists, calendars, or other time-sensitive information, you might end up printing one of these each day. If you lay out the pages with less time-sensitive information, you could keep the one organizer page around for quite a while.

Oy. Not 3 minutes after I post this the first time, it gets Pingback spam from some jackass’s site because the above paragraph contains the word “paper”.

If The Title of This Post Contains the Word “Tennessee”, Will It Attract Human Spammers?

As noted before, I do love Spam Karma 2. 4000+ spams eaten over the last 18 months or so, and it’s nearly perfect as far as I can tell.

But it didn’t catch a couple of… terse… commenters on this post about a presentation I was about to give. One commenter seemed rather irritated, and posted a malformed link to some addiction recovery place or another. A second commenter appeared to be much friendlier, and posted a few words mildly relevant to the presentation, but also added a link to another treatment center. And it’s just happening on this one post, as far as I can tell.

And this isn’t the garden-variety spam I’m used to seeing in Spam Karma 2’s reports. Which means it’s not getting caught with their Javascript test, their “Flash Gordon was here” test (comment posted just a few seconds after page load), etc. The comments contain one link, nothing formatted with BBCode, no unformatted links, and there are complete sentences attached to them that are just barely related to the post content.

Of all the posts I’ve got here, and all the opportunity for spam it provides, why this post, and why these spammers? The only thing the post and the spams have in common is the word “Tennessee”. Spammer 1 tried to link to an addiction recovery site with the word Tennessee in its URL. Spammer 2 successfully linked to a treatment center with the word Tennessee in its URL.

So I wonder, did I include the word “Tennessee” in this post enough to attract these folks’ attention? Will they post more spam here? Because if they do, what Spam Karma 2 doesn’t catch, I will. Word of advice, guys. I don’t get an enormous volume of comments here. In fact, I get few enough to where I’m normally able to look at them within minutes of their arrival. If they’re spam, they’ll get deleted. If you’re getting paid by the hour, I guess it doesn’t matter. If you’re getting paid by number of valid links left after some period of time, you’re better off spamming elsewhere.

Where’s MarcoPolo for Windows?

MarcoPolo, “context-aware computing for OS X” appeals to all three great virtues of the programmer: Laziness, Impatience, and Hubris. It makes me want a Mac notebook. Unfortunately, Pro/E, ANSYS, and other necessary tools for my regular work would mean I’d end up dual-booting the Mac all the time. And I’d miss my port replicator and its enabling me to have one connection to the monitor, keyboard, mouse, network, etc.

So, why not build a MarcoPolo for Windows? I’ve not yet found one, but I’d be more than happy to be proven wrong there. In the meantime, I’m working on a Python/Windows proof-of-concept that could be the groundwork for a Windows analogue to MarcoPolo.
Continue reading “Where’s MarcoPolo for Windows?”

Upgraded to WPMU 2.5.1

Joy. Upgraded the site to WPMU 2.5.1. Took a while to reconstruct my restrictions for new users and blog creation, and I’m switching out some syntax-highlighting plugins, too. We’re nearly ready to unleash this on a horde of unsuspecting graduate students.

Code Example:
[sourcecode language=’php’]
* This holds the version number in a separate file so we can bump it without cluttering the SVN

* The WordPress version string
* @global string $wp_version
$wp_version = ‘2.5.1’;

* Holds the WordPress DB revision, increments when changes are made to the WordPress DB scheme
* changes.
* @global int $wp_db_version
$wp_db_version = 7796;

$wpmu_version = ‘1.5.1’;

Math Example:

Stupid Puppet Trick: Identifying Groups of Hosts

My Ruby skills are practically non-existant, but I’ve managed to put together a relatively readable custom fact for identifying my Torque queues by a node’s hostname. Behold, HostgroupFact! Now I can factor out my hosts.equiv files back to a parent class, rather than duplicating the same file specifications on a per-queue basis.

class cluster-host inherits public-host {
    # ...
    file { "/etc/hosts.equiv":
        source  => "puppet:///files/apps/rsh-server/hosts.equiv.$hostgroup",
        owner   => root,
        group   => root,
        mode    => 644,
        require => Package[rsh-server],

Stupid Puppet Trick: Poor Man’s Undo

If I apply a set of classes to a puppet client, I may need to roll back those classes’ changes later. Granted, I could just edit out those classes, reformat the system, and rebuild it from scratch, but there may be times when I want to undo my changes in a more granular fashion. So here’s my latest revelation (which is undoubtedly documented elsewhere already, but I didn’t find anything sufficiently simple last time I looked).

Along the lines of Puppet Best Practice 2.0, I’m trying to compartmentalize all my building blocks into separate modules, even the really simple ones that just install a package or two. So here’s the contents of a trivial hello module for Debian:

# /etc/puppet/modules/hello/manifests/init.pp
class hello {
  package { "hello":
    ensure => latest;

Nothing complicated here: install this package via the default package provider. Add an include hello to my node’s manifest, and the hello package gets installed.

Now for the “undo” class:

# /etc/puppet/modules/hello/manifests/disabled.pp
class hello::disabled inherits hello {
  Package["hello"] {
    ensure => purged

And this is neat. Properly written, the disabling class can undo all the changes made by the parent class. Modify my node’s manifest from include hello to include hello::disabled and I can switch that class on and off like, well, a switch.