In 2004, in the summer before my last year at NAU, I worked at USGS, on the Astrogeology Team. What I did there was nothing special, but it was a pretty special place to be, especially at that time.

I worked on a package called ISIS, Integrated Software for Imagers and Spectrometers. It was software for processing high-resolution photos we received from sources including the Lunar Orbiter, the Mars Rover...and Cassini.

Cassini entered Saturn orbit shortly after I started working there. It was an exciting time. I got to spend a lot of time looking at images that looked a lot like these:

Enceladus features
Enceladus features.
I grabbed this image from FiveThirtyEight. Original source is, obviously, NASA.

My work on ISIS wasn't anything high-level or complicated. I edited makefiles, so that the ISIS source code (a mix of C and FORTRAN) would compile for different platforms. If memory serves, we supported Windows, OSX, Solaris, and x86 GNU/Linux.

My work wasn't glamorous, and I'm sure it's all long-gone for the codebase. But I was thrilled just to be on the team, to be part of something like that -- getting photos back from Saturn.

It's been more than thirteen years, and I've had nearly that many jobs, since my time at USGS. But I still feel that connection to the work and to the project. In all that time, every time I've see a headline about Cassini or Saturn, I've checked out the article. My favorite part is always the pictures.

Today, Cassini concludes its journey, burning up on entry into Saturn's atmosphere, transmitting data back for as long as it can.

It's been a good run. And I'll never forget the small part I played in it.

I've got some kind of carpal tunnel or arthritis or something going on, and my right thumb's been bothering me for days. I'm going to try and spend less time typing until it gets better.

Today's the Net Neutrality Day of Action.

Here's what I said about net neutrality during the open comment period in 2014, before the Title II rules passed, when the FCC was pushing a policy that would allow ISPs to charge websites for fast lanes:

This is exactly the kind of policy you get when you put a cable company lobbyist in charge of the FCC: a plan nobody but the cable companies could possibly want, and that seeks to make the Internet work like cable TV.

This plan has no benefit whatsoever to consumers. Cable companies demand extortion money from content providers; the providers who are willing and able to pay pass that cost on to their consumers (as Netflix has already done by raising its streaming subscription price), and the providers who aren't are put at a crippling disadvantage. You can bet the ever-increasing bottom dollar on your cable bill that if Comcast had had the opportunity to demand a premium from YouTube to stream video in 2005, we wouldn't be talking about YouTube today -- though maybe that would have been good news for Real Networks, as we'd probably still be limping along on the vastly inferior RealPlayer. Buffering...

This proposal is a government handout to the kind of companies that need it the least: monopolies and near-monopolies that already provide poor service at exorbitant prices, and suffer no market backlash for the simple reason that they provide a necessary service and have no competition.

Google doesn't want this. Microsoft doesn't want this. Netflix doesn't want this. Amazon doesn't want this. Consumers don't want this, and small businesses sure as hell don't want this. The only ones who DO want this are the cable companies who pick our pockets every month -- and their former employees like Chairman Wheeler.

And here's what I said during the open comment period this year, with the FCC preparing to repeal the Title II rules and, once again, proposing Internet fast lanes:

Seeking public comment? This is a farce. Chairman Pai heard exactly what the public had to say in 2014. The public responded, overwhelmingly, in support of net neutrality; indeed, the public interest was so high that the traffic brought down fcc.gov.

If Chairman Pai cared what the public thought, he would not be reversing a rule supported by the public in order to grant more power to internet service providers, some of the most despised companies in America. Nobody wants this except Comcast, AT&T, Charter, and Time Warner.

There is no free market competition in broadband Internet in America. There is no incentive for ISPs to compete on price or on service. We, as Americans, are a captive audience; our only choices are "use whatever ISP is available at our address" and "try to participate in twenty-first century America without Internet access".

We've already seen AT&T prioritizing its own traffic and Comcast banning protocols it didn't like. We need net neutrality protections to prevent predatory, monopolistic ISPs from engaging in that behavior. This is obvious to every American who's seen their monthly bill go up while the quality of service goes down.

But Chairman Pai has made it abundantly clear that he doesn't care what the American public has to say. If he did, he wouldn't even be considering repealing net neutrality.

I was wrong about Wheeler. He backed away from the fast-lane proposal, and passed Title II regulation. It wasn't perfect, but it was better than I ever thought we'd get.

I don't think I'm wrong about Pai. I'd love to be, but I think the fix is in. Pai doesn't give a fuck what the American public has to say.

But it's not about Pai. Pai won't last forever. Trump won't last forever. Even if the Republican majority in Congress sticks around, they're going to have to face their constituents sooner or later. And while net neutrality is a partisan issue on Capitol Hill, it's got broad bipartisan support everywhere else.

I don't think today's protests are going to make a damn bit of difference to Pai. But this is a long game. We need to keep the pressure on.

And hey, I've been surprised before. I thought SOPA and the TPP were foregone conclusions too. Maybe I'll be pleasantly surprised again.

I wrote a post about VPNs a few months back, referring to the recent repeal of Obama-era regulations that would have prevented ISPs from selling customer browsing history.

There's a common refrain I've seen from people who favor the repeal, both in the government and in Internet comments sections: "Google and Facebook track you and sell your data, and the government doesn't stop them from doing it, so it's not fair to stop your ISP from doing it!"

Now, this argument is fundamentally dishonest, for the following reasons, off the top of my head:

  • Your ISP sits between you and every single site you visit. Google and Facebook have extensive tracking operations, but not that extensive.

  • You can use the Internet without using Facebook or Google. It may not be easy, but it's possible. You can't use the Internet without your ISP.

  • Google and Facebook's business model is that they provide a service and, in exchange, you allow them to gather your personal data and resell it to third parties. Your ISP's business model is that it provides service and, in exchange, you pay them eighty fucking dollars a month. Did I say eighty? They just kicked it up to one-thirty, if you want unlimited data.

    When you give your personal data to Facebook or Google to sell to third parties, you get their service in return. When you give your personal data to your ISP to sell to third parties, you get fucking nothing in return, because you're already paying your ISP money in exchange for Internet service. Is your ISP going to lower your bill in exchange for taking your personal information to sell to third parties? LOLno.

  • Google and Facebook have competitors. Those competitors don't have the dominant market position that Google and Facebook do; hell, maybe they're just plain not as good. But they exist. They're options.

    There is no significant broadband competition in the US. If I don't like my ISP, I can't just switch to another one, because there is no other one available at my address. My choices consist of Cox, no Internet, and moving.

    There's no incentive for your ISP to behave ethically. There's no incentive for your ISP to charge you fairly. There's no incentive for your ISP to provide quality service. My ISP is a monopoly. Yours probably is too. Or, at best, it might have one competitor that does all the same shit.

  • Google and Facebook have pages where you can opt out of tracking.

But. Despite the intellectual dishonesty of the "but Google and Facebook track you!" argument, there is a kernel of truth in there: yes, Google and Facebook track you, yes it's difficult to avoid that tracking, and no, there are no regulations in place to protect your data. This is a problem.

So, shortly after writing that post, I removed the Google Analytics code from this site. And now I've also updated the site so that the fonts it uses are hosted here at corporate-sellout.com, not called from Google Fonts (hat tip to the Disable Google Fonts WordPress plugin). I'm still using a Google Captcha on the Contact page for now, but I'm looking at alternatives. Plus, there are YouTube videos embedded on this site...and, well, there's nothing I can really do about preventing Google from tracking you when you load YouTube videos. Sorry about that.

I'm also planning on adding SSL to the site, eventually, but I haven't gotten around to it yet.

This blog's not a business. Occasionally somebody buys something through an Amazon Associates link, or buys my book (thanks!), but I've got a day job; I'm not here to make money. I write stuff here because I like to write stuff. Sometimes people like it, and that's cool, and it's cool to know that people are reading. But that's as far as my interest in analytics goes.

I don't resell data; I don't do SEO or A/B headlines or clickbait or any other kind of crap to try and drive people here -- hell, I hate all that shit. But I like looking at site stats once in awhile to see where people are coming from, where somebody's mentioned me, and to laugh at search terms like "did stan lee bone at jack kirby's wife".

So I'm looking for a new stats package. Server-side; just for me, not Google.

Meanwhile, I am looking for ways to use Google as little as possible, not just on this site but in general. I think I can probably get a few more posts out of that subject.

Updated 2017-07-12: Added @include.

In my previous post, I mentioned that I spend too much of my life responding to trolls on Techdirt.

With that realization, I whipped up a quick Greasemonkey/Tampermonkey script to block all posts from specified usernames.

// ==UserScript==
// @name          Hide Techdirt Comments
// @namespace     http://corporate-sellout.com
// @description	  Hide comments by specified users on Techdirt.
// @include       https://www.techdirt.com/articles/*
// @include       https://www.techdirt.com/blog/*
// @require       https://ajax.googleapis.com/ajax/libs/jquery/3.1.0/jquery.min.js
// ==/UserScript==

// List of users whose comments you want to hide -- collect 'em all!
var ignoreMe = [
  'Anonymous Coward',
  'MyNameHere'
];

$('.cmt').each(function() {
  var cmt = $(this),
    name = $('.commentname b', cmt).text().trim();

  for(var i=0; i<ignoreMe.length; i++) {
    if(ignoreMe[i] == name) {
      cmt.hide();
      break;
    }
  }
});

License

I'm not a lawyer, but my opinion as a programmer is that this script is too short, simple, and obvious to be copyrightable. As such, I claim no copyright, and offer no license, because none is needed. Use it however you want, with the standard disclaimer that it comes with absolutely no warranty.

It's possible I may revise the script at a later date (see below), in which case I'll probably use the MIT license.

Further Thoughts

This is a blunt instrument; it took about five minutes to write. It lacks subtlety and nuance.

Blocking all anonymous posters on Techdirt is not an ideal solution; most anons aren't trolls. (Most trolls, however, are anons.) I apologize to all the innocent anons blocked by this script.

I could make the script more precise. Techdirt's trolls are creatures of habit with certain noticeable verbal tics (more on that below); if I had a good parser, I think I could whip up a scoring system that could recognize troll posts with a high degree of accuracy.

The question is, how much time do I want to spend on that?

On the one hand, "five minutes in a text editor" is the appropriate amount of time for dealing with forum trolls. Anything else seems like more effort and attention than they deserve.

On the other hand, it's a potentially interesting project, I've always wanted to spend some time studying natural language processing, and any programming project is time well-spent if it teaches you a new skill.

So I haven't decided yet. Here's the script as it stands, in its initial, blunt-instrument-that-took-five-minutes form. If I update the script, I'll update this post.

Chip Tips

Lastly, as I can no longer see anonymous posts, this means I will likely have to give up my beloved sockpuppet, Chip, the man who hates all government regulations and loves to eat leaded paint chips. To anyone and everyone else who wants to keep the spirit of Chip alive, you have my blessing to post under his name.

A few tips on how to write as Chip:

  • Never use the backspace key.
  • Remember to add random Capital Letters and "quotation marks" to your posts, in Places where they "don't" make Sense!
  • Most sentences should end with Exclamation Points!
  • I told you So!
  • I have "lots" of Solutions! So many I can't Name a single "one"!
  • Sycophantic Idiots!
  • Every Nation eats the Paint chips it Deserves!

Boy, my regular readers are going to have no fucking idea what I'm talking about in this post.

Come back tomorrow; I plan on having a post about online privacy that should be a little less niche.

I've been meaning to blog more.

I like blogging. I like writing about shit. People seem to enjoy reading it. My friends keep telling me I should start blogging again (hi Friday!).

And I've been reading Nathan Rabin's Happy Place and really enjoying what Rabin has to say, and his enthusiasm about just being able to write about whatever he feels like.

But the kicker? Oh man.

The other day, I was checking replies to my Disqus posts.

And -- in response to a post I had written in the AV Club comments section five months ago, concerning the Black Panther: World of Wakanda comic -- some nice young fellow had written this:

Your blog sucks. Go back to sucking Ken Penders' dick.

Sonic the Hedgehog fandom is weird, you guys.

So okay, dude's obviously a troll; a quick gander at his posting history shows basically everything else he's ever written on Disqus has been arguing with atheists.

But the Penders thing? That's not random. It's far too specific.

My most recent Penders post was in 2015. At the time of this writing, it is on page 4 of this blog. So this is not a guy who decided, at random, to troll me, clicked on my name, and picked one of the posts on my blog to talk shit about.

And neither is this a guy who just now saw my Penders posts -- saw a link to them, found them on Google, whatever --, got incensed by them, and decided to write me a nastygram. Even assuming the gentlemen in question failed to notice the "Contact" link at the top of the page and instead, inexplicably, decided to look up my Disqus profile, he would have replied to one of my recent Disqus posts, not one that was five months old.

No. This is a dude who saw my posts about Ken Penders at some earlier date. Maybe as far back as 2013. And remembered them. And remembered my name. And, when he was randomly reading the comments section of an AV Club article, saw my name and felt the need to tell me off because, four years ago, I wrote some blog posts explaining that Ken Penders had a valid legal case against Archie Comics and Sega (or, as it's known in Sonic Fanboy-ese, "sucked Ken Penders' dick").

You know what? That is weirdly fucking flattering. I made an impact on this guy. People read my blog, and it matters to them.

I mean, sure, this guy is a troll and, clearly, a Sonic the Hedgehog fanboy -- those dudes are intense. I am sure he is not a representative member of my audience.

But the thing about writing whatever the hell I feel like is, I never know what's going to resonate with people.

The most attention I've ever gotten was when the online comic book press picked up on my posts about the never-finished-or-published 1990s Final Fantasy comic -- which, at that point, were already more than two years old.

And, in that same vein, my Final Fantasy 7 retrospective series continues to be popular. (Or at least did the last time I looked at my site stats. I've removed Google Analytics from this site -- that's a subject for another post -- but I'd like to get a new stats tool set up, because I like seeing what people are reading, where they're coming from, and what search terms they're using to get here.)

But these creators' rights pieces seem to get a pretty good amount of attention, too. People used to link my post on Marvel v Kirby all the time. And I once got a very nice E-Mail from Marc Tyler Nobleman for my Not My Batman post and its recognition of Bill Finger. (By the way: Batman & Bill is good; you should watch it.)

And so I'd like to get on back to yammering on about just whatever the hell it is I feel like yammering on about at the moment. Because what the hell; if I don't yammer here, I'm just going to yammer somewhere else, and frankly I spend far more time responding to trolls in the Techdirt comments section than a healthy person should.

I don't know if I'll manage 5-day-a-week posting like I used to. Maybe I will, maybe I won't. (Today I am posting on a Saturday. Whee!)

Course, if I do start blogging regularly again now, there's probably something to psychoanalyze in my doing it in response to our good friend Mr. "Your blog sucks" up there. I think humans are wired to notice criticism more than praise, and I suppose I'm no exception.

But what the hell; like I said, I've been planning to get back to blogging for awhile now anyway. And as criticism goes, I'm pretty sure this is the most fun hate mail I've ever gotten. Even better than the last unsolicited hate mail I got from a disgruntled Sonic fan, which was over 20 years ago and, in keeping with the whole "casual homophobia" theme, contained the phrase "You hump Robotnik's ugly butt!"

Sonic the Hedgehog fandom is weird, you guys.

You've probably heard by now that the US Congress just repealed Obama-era regulations preventing Internet service providers from selling their users' browsing data to advertisers. I'll probably talk more about that in future posts. For now, I'm going to focus on a specific set of steps I've taken to prevent my ISP (Cox) from seeing what sites I visit.

I use a VPN called Private Internet Access, and a hardware firewall running pfSense. If that sentence looked like gibberish to you, then the rest of this post is probably not going to help you. I plan on writing a post in the future that explains some more basic steps that people who aren't IT professionals can take to protect their privacy, but this is not that kind of post.

So, for those of you who are IT professionals (or at least comfortable building your own router), it probably won't surprise you that streaming sites like Netflix and Hulu block VPNs.

One solution to this is to use a VPN that gives you a dedicated IP (I hear good things about NordVPN but I haven't used it myself); Netflix and Hulu are less likely to see that you're using a VPN if they don't see a bunch of connections coming from the same IP address. But there are problems with this approach:

  • It costs more.
  • You're giving up a good big chunk of the anonymity that you're (presumably) using a VPN for in the first place; your ISP won't be able to monitor what sites you're visiting, but websites are going to have an easier time tracking you if nobody else outside your household is using your IP.
  • There's still no guarantee that Netflix and Hulu won't figure out that you're on a VPN and block your IP, because VPNs assign IP addresses in blocks.

So I opted, instead, to set up some firewall rules to allow Netflix and Hulu to bypass the VPN.

The downside to this approach is obvious: Cox can see me connecting to Netflix and Hulu, and also Amazon (because Netflix uses AWS). However, this information is probably of limited value to Cox; yes, they know that I use three extremely popular websites, when I connect to them, and how much data I upload and download, but that's it; Netflix, Hulu, and Amazon all force HTTPS, so while Cox can see the IPs, it can't see the specific pages I'm going to, what videos I'm watching, etc. In my estimation, letting Cox see that I'm connecting to those sites is an acceptable tradeoff for not letting Cox see any other sites I'm connecting to.

There are a number of guides on how to get this set up, but here are the three that helped me the most:

OpenVPN Step-by-Step Setup for pfsense -- This is the first step; it'll help you route all your traffic through Private Internet Access. (Other VPNs -- at least, ones that use OpenVPN -- are probably pretty similar.)

Hulu Traffic -- Setting up Hulu to bypass the VPN is an easy and straightforward process; you just need to add an alias for a set of FQDNs and then create a rule routing connections to that alias to WAN instead of OpenVPN.

Netflix to WAN not OPT1 -- Netflix is trickier than Hulu, partly because (as mentioned above) it uses AWS and partly because the list of IPs associated with AWS and Netflix is large and subject to change. So in this case, instead of just a list of FQDNs, you'll want to set up a couple of rules in pfBlockerNG to automatically download, and periodically update, lists of those IPs.

That's it. Keep in mind that VPN isn't a silver bullet solution, and there are still other steps you'll want to take to protect your privacy. I'll plan on covering some of them in future posts.

The other day I wrote a Letter to the Editor to the Arizona Republic. I don't know if it made the print edition, but it's up on azcentral.com.

The letter was in response to an op/ed by Lisa Loo, titled Do judges justice. Finish marking your ballot. I appreciate Loo's message; down-ballot races are important, and your vote counts for a lot more, proportionally, than your vote for President.

But it can be damned difficult to find information on down-ballot candidates and initiatives; the less high-profile and glamorous the race, the harder it is to learn about it.

Loo points to Judicial Performance Review (azjudges.info), which scores judges on a variety of criteria.

The problem is, without context, those scores are just numbers; they don't mean anything if no explanation is provided.

So here's my letter to the editor, quoted in full:

I appreciated Lisa Loo's op-ed on the importance of studying up on judges and filling out the complete ballot, but it's easier said than done.

I know Jo Lynn Gentry is the only judge to receive failing marks, but I have been unable to find any explanation of why. Low scores out of context lack meaning, and I'm reluctant to cast a vote without an explanation for why I'm casting it.

It's not just the judges; a number of down-ballot candidates and local initiatives are obscure and have little information available. (Should TUHSD be allowed to sell two lots of property? I have no idea!)

What can we as voters do to educate ourselves when so little information is available?

The Republic didn't respond with any good answers for these down-ballot races.

A commenter named Jay Martin added this:

Exactly, I've been scouring why such a low score for hours and the only thing I can think of is that she ruled against blocking Prop 205 from the ballot and people against the measure are now upset at this.

Prop 205 is the ballot initiative to legalize marijuana. (Sort of. It's not full legalization, and it heavily favors existing vendors, basically setting up a cartel. Suffice it to say, I'm voting Yes because any move to stop putting people in prison for marijuana use is a step in the right direction, even if this isn't the ideal way of doing it.) County Attorney Bill Montgomery challenged it and tried to prevent it from getting on the ballot; Judge Gentry dismissed his challenge.

Could that be the reason Gentry has received such low marks?

In a word, no. Gentry's dismissal of the 205 challenge happened two months after Judicial Performance Review released her low scores.

So I have no idea why she Does Not Meet Expectations. And I'm not willing to vote to remove her without a reason. So I guess I get to decide between voting to keep her or not voting on her either way.

I still don't know what to do about that TUHSD thing, either, but I've got a friend who works at Marcos; I guess I should text him and ask if he knows what the deal is.

In 2006, I made a mistake.

I was working for a small company in north Phoenix. (That was not the mistake. ...Well, actually, it was, but not the one I'm here to talk about today.) And I represented that company in a networking group of local small businesses.

One of the people in the group was Sam Crump. I'm not used to using people's real names when I tell stories like this, but Sam's a public figure, so I'm going to go ahead and make an exception in this case.

Sam owns a law firm. I can't tell you anything about it from personal experience, but I hear good things.

And in 2006, Sam decided to run for the state legislature.

Sam's politics are not my politics; he would later describe himself as a "Tea Party Republican," though people weren't calling themselves that yet. I wouldn't have voted for him. But I liked him; he was a nice guy, and so when he asked us all to join his mailing list, I went ahead and wrote my E-Mail down.

Never put your E-Mail address on a political mailing list. Not for a politician you agree with, and certainly not for one whose views you find appalling. No matter how much you like him as a person.

Now, I don't know for sure that Sam or his people sold or gave away my E-Mail address to some group that collects E-Mail addresses for various fringe Republican candidates. It could be just a coincidence. But it's an E-Mail address I don't give out to a lot of people, it's the only E-Mail where I regularly get right-wing spam, and it just so happens that I started getting right-wing spam at that address after giving it to a local right-wing politician. Maybe whatever godforsaken list that address got put on got it from someplace else. But if I had to guess, I'd say they got it from Sam.

In the past, I've gotten spam for Arizona political candidates including Pamela Gorman and Joe Arpaio. But the latest politician who won't leave me the fuck alone is a woman named Calandra Vargas, who is running for Congress in Colorado Springs.

I have never set foot in the state of Colorado.

In fact, I've explained that to Ms. Vargas, or whoever's reading her inbox (if anybody), multiple times, in between clicking the Unsubscribe link at the bottom of her E-Mails.

The campaign's response to my first unsubscribe request, a few weeks ago, was to send me three more fucking E-Mails. When I got them, I clicked the Unsubscribe link again, and sent a reply letting Ms. Vargas, or whoever's reading her inbox (if anybody), know that if I received any more E-Mails from her campaign I would report her to the FCC for violating the CAN-SPAM Act.

I got another E-Mail from the Vargas campaign today.

Calandra Vargas is a politician, so she's probably not used to dealing with people who keep their promises. But I'm a man of my word, and I filed that complaint. And if I hear from her again, I'll file another one.

Here's the FCC's guide to reporting spam. If you're getting unsolicited E-Mails from politicians who won't let you unsubscribe from their lists, they're breaking the law.