video games, programming, the internet, and stuff

Category: internet

RIP Romhacking.net

Update: This appears to be a hoax… yep, ROMhacking.net is back up. Nothing to see here…

Well, it looks like Evil Copyright has destroyed yet another Cultural Bastion of Creativity.

RIP Romhacking.net, 2005-2017

I guess this pretty much seals the deal on me NOT buying a Switch or any future Nintendo products in protest.

The death of (open) Instant Messaging?

Instant Message services were a Big Thing in the 1990’s and early 2000’s. Everyone seemed to use them, and all the wannabe big players on the internet were offering some form of instant messaging. AOL, Yahoo, MSN, Google, you name it, everyone had a service. It was a great way to contact friends, as well as continue conversations started in real life with recent new acquaintances.

There was much competition among the providers to see who could get everyone to use their client and their protocol. Users understandably didn’t want to have to install and run a half dozen different clients to do the same exact thing with all these different services, so naturally they rebelled and gravitated toward open source clients that supported multiple protocols, perhaps not with all the bells and whistles, but well enough to conduct basic text-based instant messaging with their contacts.

Many of these were closed protocol services, meaning that they were intended to work only with a proprietary client, which (tried to) force users to connect to the service with the official client. There were numerous open protocols competing for users as well, and open source multi-protocol clients, which mainly promised a better user experience (with no advertising) and often better privacy, and other useful features such as chat logging and a plugin framework that allowed greater customization and extensibility. gAIM, initially an open source implementation of the AOL Instant Messenger, later morphed into a multi-protocol client that rebranded itself pidgin, to avoid confusion with the AOL-trademarked AIM. There were also Trillian and ICQ which offered similar open source clients with multi-protocol flexibility.

For several years the closed services fruitlessly tried to lock out these open source clients, forcing people to update frequently to keep compatible. Eventually service providers relented and gave up the arms race to lock out the open source clients, and things settled down and became peaceful for a time.

Then came Facebook. The rise to dominance in the social media sphere resulted in a decline of other messaging services. For the last however many years, I’ve mostly used Facebook messages, because that’s what everyone seems to use anymore. Social applications go where the users are, and facebook has the users. I can’t remember the last time anyone has attempted to contact me through my AIM account, and I’ve never really used YahooIM or MSN Messenger, although I technically have accounts because they came for free with a Yahoo or MSN or Hotmail account. I also use gmail chat sometimes, but also with diminishing frequency.

So, when I bought a new laptop back in March, it wasn’t a high priority to set up my pidgin accounts right away. I only got around to trying it just this last weekend. I do a lot of fb chat on a daily basis, but I just used the desktop website for that, and didn’t really notice anything missing by not logging into the other services.

All of a sudden, I can’t use most of my accounts through pidgin.

  • My AIM account has an SSL error when I try to connect through pidgin.
  • The Yahoo IM service is being shut down soon as part of Yahoo’s continued decline into irrelevance.
  • My google accounts warn me that the login is insecure, and recommends that I not allow it. I take my google account security seriously, so I heed this warning. I’m unclear if there’s a way to use pidgin to connect to gTalk securely, but I haven’t really looked into it as yet; if I need to I have the Google Hangouts app installed on my phone, and I can use the gmail web client to chat with people. It’d be nice to have everything in one place, and I’d like that place to be pidgin, but at least I can still access the service.
  • Facebook seems hellbent on closing off instant messaging services to Messenger only. I’d rather never talk to any of my friends ever again than be forced to use Facebook Messenger. The only other reliable method of messaging through Facebook remains the full desktop website; mobile crashes when I try to use it for messaging from an actual mobile device. And FB nags me to try Messenger whenever it thinks to. On my smartphone, Facebook wants me to install Facebook Messenger, which I DO NOT WANT. They started locking out mobile website users of their messaging feature, such that my browser crashes if I try to access the feature through m.facebook.com. I switched over to Trillian for Android, which worked for a few weeks, and now it too has issues. At first I noticed that I could not receive incoming messages that had hyperlinks or images. Now, I can’t even send plain text, although I can still receive it. Hopefully this is something the Trillian developers can work around, but it is looking like FB has resumed the arms race to lock out independent clients from accessing the service.
  • Livejournal has always embraced openness with its messaging, using XMPP for its protocol. So it works well with pidgin still, and out of the accounts I accessed through Pidgin it seems to be the last one standing. But it was never a popular IM option even when LJ was one of the top social media sites, and LJ has been a ghost town for years.

My assumption is that proprietary services want to force you to use the official clients so they can shove advertising down users’ throats, and so they can completely control the user’s client-side experience, including sideloading non-optional unwanted software (what we’d normally just call malware if the purveyor wasn’t a big corporation who feels entitled by EULA/TOS to do whatever they want to their users).

And so it goes with the way of all things, that they fade and die as time goes on. It’s a little bit sad to see the old mainstays fading to irrelevance. But mostly annoying that the protocols that are still going strong have been pulling away from the open clients.

Return of the Popup

More than a decade ago, the internet userbase (all of humanity) resoundingly rejected popup windows. Popups became a popular method for scumbag web sites to serve advertisements and malware to visitors. They annoyed, they took up system resources needlessly, and they were generally unwanted. The lowly popup was the bane of the IE6 era, and many countermeasures were employed to block them, culminating in browsers adopting default settings to block popup windows and to require the user to approve popups on a per-domain basis.

It’s 2014, and popups have been returning thanks to javascript. Now, instead of popping up a new browser window and loading an entire webpage, popups have become ajaxy, serving an html fragment inside a FancyBox or similar javascript construct. They tend to serve up nags to Like, Share, and Follow the host site, rather than display advertisements for the ad network sponsoring the site, but they are no less annoying, and a stop needs to be put to them. It’s pervasive with clickbait “viral” websites, which are themselves annoying to begin with, due to the way they craft their teasers in often misleading ways. But these modal javascript annoyboxes need to go. Especially on mobile browsers, where the close button frequently doesn’t work well, they harm the user experience on web sites that use them.

FancyBox Etiquette for the Scrupulous Web Developer

There are legitimate uses of FancyBox, to display fullsize content in image galleries, for example, or to bring up contextually relevant controls in a web application. But the social share nag needs to go. The little buttons under the headline or at the bottom of the article ought to be sufficient. If people aren’t clicking on them, you don’t need to shove it in their face after a few seconds delay, or they’ve scrolled halfway down the page.

Here’s how to know whether your popup is a good popup or bad popup:

  1. Does the content being served in the popup serve the user’s needs, or is the site asking the user to do it a favor or asking the user to buy something?
  2. Did the user do something to request it, like click a button or link? Or did you throw the popup at them because they have been in the page for more than 10 seconds or scrolled down to read more of the article?
  3. Is the popup enabling the user to do what they came to the site to do? (eg., reading content, view a gallery of images, interact with features of a web app) Or is the site interrupting what the user came to the site to do and asking them to do something else (eg, buy something, donate money, sign a petition, LikeShareFollowSubscribe?)

There’s really not much gray area possible here. If you’re a web developer, stop doing the scumbag stuff, and get back to providing a good user experience to the user.

An appeal to end FancyBox popup abuse

Unfortunately the new popup phenomenon seems to be increasing in popularity, which means that, apparently, they work. If users don’t stop clicking on the Like|Share|Follow buttons when they’re served, we’re only going to see more of them. We need to stand up and say enough is enough.

Therefore, I’m issuing this appeal:

To the masses: stop Liking, Sharing, Following, and Subscribing to sites that try to signal boost through popup social nagging. In fact, stop going to those sites altogether.

To website developers: Stop making use of popup nags. Just stop already. Stop it.

To browser developers: Javascript has become a crucial part of the web, and necessary for many web sites to serve any content at all. But it is also a too-easily exploited vector for external threats to execute malicious code through the web browser, simply by visiting a URL. Come up with a way to selectively and effectively block javascript from running, so that desired features and functions of a site can be allowed while undesired scripts can be left blocked. Let javascript be used in ways that serves the user’s needs rather than the webmaster’s.

Network Neutrality struck down

I’ve just learned that a Washington court of appeals has struck down the FCC’s Network Neutrality rules. This is incredibly bad news.

“Its ruling means that Internet users will be pitted against the biggest phone and cable companies—and in the absence of any oversight, these companies can now block and discriminate against their customers’ communications at will.”

If you care about freedom on the internet, you must be in favor of network neutrality. Contact your representatives in congress and demand that they act to strengthen and restore network neutrality and establish that all ISPs are common carriers.

More coverage:

Vendor Hosting, SaaS, Cloud Computing: What’s the difference?

When talking with non-IT people, it’s amazing (ok, not really) how much confusion there is about concepts and what these terms mean. While the terms are related, they are far from interchangeable. People soemtimes like to throw around “buzzwords” in order to sound like they’re knowlegable or on the cutting edge. If you deal with this stuff, it’s good to understand the differences.

Vendor Hosted

Vendor hosting is a relationship. Vendor == someone you’re paying to do something for you. Hosting == the something you’re paying them to do. You don’t own the hardware, they do.

This can be wonderful if you won’t want the expense and complexity of deploying and maintaining the hardware, and if the vendor is good at doing those things.

But it can suck if your vendor doesn’t provide good service, or shuts down suddenly, leaving you with no access to your data.

Software as a Service

SaaS is a business model. With software as a service, you’re paying like you pay for a utility, based on your usage, or subscription, based on time. Like utilities, if you stop paying, you can’t use it anymore.

Contrast SaaS with Free software and licensed software models.

Free software is, well, free. Often the software itself is free (cost), but you pay for support or for customization, or by devoting resources to maintaining the codebase.

Licenses are typically perpetual, but limited to a major release version and its patches. When the next major release comes out, you have to pay for the upgrade. Usually the vendor compels their customers to upgrade by dropping support for the old version, offering discounts on upgrades for existing licensees, and so on.

Unlike the licensed software model, with SaaS you’re usually entitled to the latest version, not paying for upgrades. Often, but not necessarily limited to, vendor hosted solutions.

This can be wonderful if:

  • You hate managing licenses.
  • The upgrade treadmill gets you down.
  • You’re cool with fixed costs and realize you can either pay the vendor once a year for the next version or the same amount of money over the course of a year for the SaaS model.
  • You don’t use an expensive solution very much, but would be in the market for a solution you can spend a small amount on for what you do need. Like, you’re not going to spend $25000 for CAD software, but if I could pay $25 to use it for a few hours, you’d be able to design that thing you want to build for your hobby.

But it can suck if you want to pay for something once and own it, or if the SaaS vendor goes out of business or decides to stop providing the service, or if for some reason you prefer to remain on a certain version of a product that meets your needs well enough, such that you have no compelling need to upgrade, or if the SaaS vendor’s upgrades take the product in a direction that doesn’t suit your needs.

Cloud computing

Cloud Computing is an architecture. A distributed cluster of redundant, co-located, and load balanced hardware, typically spanning multiple datacenters, which is used to run virtual machines which are not dedicated to specific hardware. The amorphous nature which decouples virtual machines from any specific node in the cluster is what gives rise to the term “cloud” computing.

“The cloud” may often be used as a generic term for “the internet” because on networking diagrams, the internet is symbolized that way, because the specific architecture of the internet is unknown and not really of concern to you. But just because something is on the internet does not mean it is “cloud computing”.

The cloud computing cluster’s capacity is typically shared among many customers. Due to the nature of the cluster, it is possible to scale a customer’s utilization of the cloud very rapidly, growing a virtual machine from a single node on the cluster to several or many. Conversely, the cloud may idle portions of the cluster when demand is low, resulting in great efficiency and flexibility. If a node in the cluster goes offline or experiences hardware failure, the cloud continues chugging along and only the admins will even notice that anything happened.

Cloud computing is also typically vendor hosted, since it requires specialized professionals to set up and maintain the cluster. Very few entities are in need of owning their own cloud, and will buy cloud computing in the SaaS model from a vendor who hosts it. You can pay for a tiny portion of the cloud, and as you grow you can expand your footprint on the cloud, paying more for it but generally not having to deal with many of the usual headache associated with scaling up a rapidly growing enterprise.

This can be wonderful if you can live with not owning your hardware and are comfortable with the idea that your data and processing could be “anywhere” in the cloud, co-mingling with other virtualized instances running on the same node(s) in the cluster.

But it can suck if your vendor decides they don’t need you or gets a request for your data from the government and just rolls over and complies with the request, rather than fighting it like *your* legal team would.

Bottom line

Any time you put your data or services in the hands of someone else, you really are putting a tremendous amount of trust in them. You need to consider not just the benefits of the relationship, but the risks as well.

Outsourcing is attractive because it’s expensive and difficult to do well, and if it’s not the core competency of your business to do enterprise IT, it may make sense to have someone else do it who has that expertise. But you need to make sure that your vendor actually does have that expertise!

The pre-sales people will promise you the moon, but you need to be able to verify that they can back those promises up. One of the great selling points is that you don’t have to worry about all the complexity of maintaining IT infrastructure anymore. But it’s not like that responsibility disappears into nothing — it’s the vendor’s responsibility, and you now need to worry if they’re doing it right. If you’re paying someone else to do it right because you don’t know how to do it right, and you’re trusting them to do it better, or cheaper, than you could, how do you do so with confidence that they’re really that good?

Usually, outsourcing puts up organizational boundaries which can be barriers to transparency — you can audit internal processes much more readily than external ones. But are you any better at auditing IT than you are at running IT? Probably not. There may be third party auditors who you can outsource to… but how do establish that you can trust them? 

So how do you establish trust? This is something you need to figure out before you move into a vendor hosted solution. One approach is to move gradually. Do a pilot project and see how it works over a period of time before jumping in with both feet. Plan for moving off of the vendor’s services so you can do so with short notice if need be. Utilize redundant vendors if that’s feasible, so all of your eggs aren’t in one basket.

Work at establishing trust continuously — trust is not a “set it and forget it” kind of thing. Trust comes from a relationship based on iterative transactions. It is built with each interaction that you have. Despite sales pitches, outsourcing does not mean that you don’t have to worry about things anymore. It means you need to establish a management relationship with people outside of your organization who are assuming responsibilities and risks which still affect you. It pays to maintain a close relationship with them.

If you’re not engaged with your vendors and don’t have good rapport with them, then chances are very good they’re going to ignore you, take you for granted, and fail to understand what your needs are, and when it comes time to deal with problems, you won’t be familiar with each other. Communicating effectively and working together will be a second-order problem that prevents you from fixing the original problem.

Don’t be lulled into a false sense of security, and don’t make the mistake that because something is the vendor’s responsibility, that you don’t have to worry about it. It’s still your enterprise that’s at risk. When everything’s running smoothly, it’s great, but problems may actually become more complicated, due to the vendor relationship and the fact that you don’t have direct access and full control over the systems they are managing for you.

Risk management is incomplete without an answer to the question, if the vendor goes away tomorrow, what do you do? If maintaining control over your data is critical, it’s a good idea to require that you have a local copy stored on hardware that you own. At the very least, the vendor should make it easy for you to export your data, ideally to a documented format which will be useful for you in the event you need to switch vendors.

Redefining “success” for the Kickstarter bubble crowd, and why you shouldn’t.

So, this article has gone around and gotten attention. It’s an interesting topic, understanding the factors that contribute to a project raising its startup funding from “the crowd” successfully, but I want to take a moment to divert on to a tangent for a bit, and take issue with their definition of “Kickstarter success”.

This is important, because if Kickstarter is to succeed at changing the world, we need to make sure we don’t mistake “funding success” with “project success”.

Seriously, this is really, really important.

Funding success is, like, maybe the third or fourth step in a project — far from the final one. Project success is what really counts. You have to do the work. You have to deliver your product. Only then can we decide whether the project was a success.

Yeah, it’s really cool that people liked your idea enough and in such numbers that you got to raise enough money to hit your goal and actually collect that money. Don’t you dare think of the Kickstarter as “successful” at this point! The project is only beginning. When you deliver the product that you promised, then you can make a claim to success.

But finishing isn’t even success. Not really. If you completed the project, but went way over budget, or delivered so late that no one cared and everyone now hates you, your Kickstarter won’t be remembered as successful. If the end results are of poor quality, no one will call that successful. If you don’t set yourself up for your next successful project by building on the success of the last successful project, whatever success you do attain will be quickly forgotten.

It’s only natural for people to celebrate reaching an important milestone, but don’t confuse your funding milestone with the finish line. Stop calling funded Kickstarter projects “successful” until they are.

If you don’t? Well, you’ll be deluded. And the project owners will be deluded people with a big pile of money. And big, probably fragile egos.

You’ll feel like you had the meal when you merely looked at the menu. Getting your money up front, I’m sure, feels wonderful. But don’t let it go to your head. You need to show us results. I worry the exuberance everyone feels from a project getting successfully funded will make people forget about delivering the results and making a successful product. The focus will be on the run up and the party that happens when the “success” of reaching the funding target happens. There’s a long, not very sexy period of working your ass off that comes after this point, and if you allow yourself to get too high on the “success” of having all that money you said you needed to attain your dream, you might just forget about the dream.

And then we’ll have scandals and repercussions. And the good will of the crowd will dry up. You don’t want to ruin that trust, because once it is ruined, regaining it will not be easy. Please don’t diarrhea into that swimming pool full of money.

http makes us all journalists.

Something I did made the paper a year ago, and I just now found out about it:


The blog article mis-attributes the quote “http makes us all journalists” to Peter Fein, who I’ve never met or had any dealings with, but I actually came up with the slogan, and the 1.0 design of the press pass. [Update: It turns out that I have met Pete, but it was long after the fact of the BART protests. In fact, without realizing that he was the same person from the article above, I met him and his wife Elizabeth at Notacon9. I’m happy to report that they’re wonderful people.]

After I created the design, and it was put up the noisebridge wiki, I remember at the time a number of journalists took offense to the slogan, completely missing the point of it while being defensive about their college major or profession. I guess it stings when your career is threatened by the emergence of a new medium that the old guard doesn’t understand readily, misses the boat on, and you watch newspaper after newspaper go out of business or get swallowed up by corporate media conglomerates.

I get that Journalism is a serious discipline and has standards, most of which are completely gone from broadcast and publishing these days, but whatever, they’re important standards. Saying “http makes us all journalists” wasn’t meant to insult your diploma, your profession, your Peabody, or your Pulitzer.

The point was that the slogan is directly after a quotation of the full text of the first amendment, which guarantees freedom of the press. The internet, especially http, enables all of us to be our own press. Freedom of the Press isn’t just freedom for Journalists, but for artists and authors and everyone who has a mind to express thoughts with. “With HTTP, All Can Publish” might have been a more accurate slogan, but I came up with the idea in about 10 minutes, and I like the spirit of it, so I’ll stick with it. Frankly, I’d rather there be more agitated journalists in the world, rather than the corporate media shills that have largely supplanted them, while abdicating the Fourth Estate for a comfy paycheck. If you’re a journalist and the slogan pissed you off, good. If it inspired even one person in the general public to take up the mantle and aspire to become a serious journalist, even better.

I created the design when a friend in SF tweeting about the Bay Area Rapid Transit protests, that were happening at the time, said that people who didn’t have press passes were being denied access to the protest area. The protests were in response to a police shooting and killing of an homeless man who was on the prone on the ground at the time he was shot, and not a threat to anyone. That shouldn’t have happened. I felt strongly that the protesters had a right to protest and a right to cover their own actions and publish about it, so I created the press pass. It took maybe a half hour, a couple of rectangles in Illustrator, and I was done. The idea that the right to be present to cover an event should be limited to those who possess a Press pass struck me as an unconstitutional abridgment of rights reserved for all. So I created a Press pass for all.

The version I created didn’t have the photo of the Guy Fawkes wearing person in the ID photo. My idea was to take your own passport photo and put it in there — I measured everything out carefully to be sized correctly, and made the card the size of a ISO spec for an ID card that I found details on the internet.

The image at the right is the symbol for Noisebridge, a SF hackerspace that I’d like to visit someday. I ganked the image from their website and incorporated it into the design, since the friend who got the idea started was affiliated with them, and they were involved to some capacity in organizing the BART protests. I’ve met some cool people from Noisebridge who I consider to be good people: bright, conscientious, inquisitive, concerned.

The reverse of the press pass had the text of the First Amendment and the slogan “http makes us all journalists” which I meant to emphasize the fact that the internet is a truly democratizing force, enabling each and every one of us to communicate with everyone else, reaching people we might never otherwise have known about, and impossible to censor… though, they never do quit trying.

Someone else put the Guy Fawkes image in there, but you could just as well replace it with your own image if you wanted, as I originally intended. The “points system” for doing this or that with the pass to make it more authentic looking was also someone else’s idea, as was the information resources to help people know their rights. Each contributor acted freely of their own accord to contribute their ideas and built off of them without ever talking to each other. It is what you make it. Modify to suit your needs. Do what you want, be responsible for what you do. That’s the power true freedom gives you.

I’m not a member of Anonymous, as I’m not posting this anonymously. Anonymous does some good, some bad, just like anything else. I don’t know anything more about them than what you can read on the internet.


More favorable coverage, with an image of the original design:


The Great Google Privacy Policy Consolidation

A friend of mine asked recently:

Hey Chris –

I have a question and figured you might be a good person to ask – this is regarding the Google privacy policy.

I do not have a gmail or google + or youtube account. Do I need to do anything for privacy protection, then? I do use google as a search engine for documents and images. I also use youtube.com, but just as an anonymous user without an account. Should I try to erase my browsing history? I do that anyway with my isp, but since I don’t have an official google account, do I need to worry about any of this stuff?

Thanks, Chris!

Ironically, this was on Facebook, but it’s still good to at least be concerned about privacy, right? I figured the reply I gave them was blog-worthy, so I treated it as my first draft, re-worked it a bit, added some more thoughts, and embellished.

Here’s what I said:

Ultra-short answer:

We’re screwed no matter what we do, so don’t worry about it too much.

OK, maaaaybe “screwed no matter what” is overstating it a bit, but I don’t think so. We really have very little recourse or power over how information about us is used. I suppose I could rephrase it, “We’re at their mercy no matter what.” and be slightly more accurate, but I suspect it’s just semantics at that point.

Why do I say this?

What meaning is there in a privacy policy? A privacy policy is basically a token offering of transparency, intended to show that the web site is acting in good faith to try to make it known what they will do or not do with information that you give to them.

How do you know if they act according to policy? Generally, you don’t. It’s possible you might catch them slipping up if they do something really dumb. What then? They issue a [lame] apology, the news media forgets the whole thing in a day or two.

What recourse do you have if the violate their own policy? I dunno, maybe sue them?

They can change the policy at any time to whatever they want it to be, but they already have whatever information you’ve given them, and it’s fairly reasonable to assume that they always will have it. It’s not good enough to have an acceptable policy now, if they can change it to an unacceptable policy later.

Mind you, that information you provide to them is not just the explicit, deliberate information you give purposefully, such as your user profile information. It’s also information you unconsciously provide, that they can gather from your actions on the site, such as you have a tendency to click on links that look like they might take you to pictures of boobs, or whatever. We betray ourselves constantly by doing and being ourselves and being observable.

A privacy policy is only as good as the integrity of the issuer. Policies change over time, usually without as much notice or forewarning as Google has given. When they do change, I’m always reminded of the scene in Empire Strikes Back when Darth Vader tells Lando Calrissian that he’s changing the deal.

Darth Vader: Calrissian. Take the princess and the Wookiee to my ship.
Lando: You said they’d be left at the city under my supervision!
Darth Vader: I am altering the deal. Pray I don’t alter it any further.

A privacy policy isn’t a contract. It therefore isn’t binding.

Even if a policy were binding, that policy can become null and void if the company gets acquired by another company, particularly if they go bankrupt, or if the company is forced by legal proceedings to divulge information. When a company gets split up and its assets become the property of its creditors, those assets include information about you, the user. The creditor isn’t bound by the policy, and is beholden to its investors to maximize the value of the assets it recovered from the bankruptcy. Chances are, that means your information is going to get used in ways you probably wouldn’t like if you knew about it or could do something to prevent it. Your only real hope is that the creditor cares about public opinion about it. Which, it might realize it does, but only after the fact, when it is too late to prevent the harm that violating your trust has caused.

Privacy policies also do nothing to protect you against external abuse of the service, ie “hacking”. If the service experiences a data breach, your data is being used in ways you don’t want, but the policy does nothing to prevent this or protect you. You might be able to sue, if you have the time and a good lawyer, and, if they were hacked due to willful negligence, you might even prevail in finding them liable for damages, although most likely, their Terms of Service that you agreed almost certainly indemnified them. But even if you win, and are awarded damages, that still doesn’t redact the information that’s now out there.

All of this background is pretty far afield from the specific question about Google’s privacy policy consolidation. But I think it’s the most germane thing to say about the matter, because, ultimately, privacy policies are pretty useless, meaningless things.

I’m not suggesting that Google doesn’t follow their privacy policy, or that their policy is bad, I’m just saying that policies are like promises that corporations make at their convenience, and change as suits them. So, not really promises.

Now, keeping that in mind… let’s talk about Google.

Short answer:

  • If you do not have any google accounts, you are relatively safe, and the policy changes don’t really change anything for you.
  • If you do have accounts with google, and are not logged in, you are relatively safe, as long as you always remember to log out whenever you don’t want your usage of google to be tied to an identity that you use.
  • What you do when you’re not logged in, won’t be explicitly connected to your google identity.
  • However, that’s not to say that your activity can’t be traced to your identity with a little effort. Your activity will assuredly be logged, and, combined with other information, that your computer or browser reveal about you, such as your IP address, geo-location, cookie information, your browser “fingerprint”, usage patterns, analyzing your online friends and contacts, the way you misspell words, your writing style, could all potentially be used to identify you even if you’re not giving away your identity explicitly by being logged in.
  • Google (as with any web site) can still track what visitors do when they are not logged in, but these behaviors are not explicitly tied to an identity. It’s not difficult to infer an identity of an anonymous web visitor using various techniques, given enough collected information to establish behavior patterns.
  • In fact, most web sites (including this one) use a Google product called Analytics to help them accumulate stats about the use of the site. This sort of information is pretty harmless, it just gives visitor counts, search terms used that lead someone to your site, what time of day people visit, how long they stay, where in the world they are visiting from, and that sort of thing. I wouldn’t call myself an expert, but I don’t see much potential harm in this sort of information being collected. Still, there are concerns, since other web sites using Analytics effectively multiplies Google’s reach.
  • If you use the Google Chrome web browser, or an Android phone, they absolutely do track usage, anonymously or not, and even if they don’t care who you are, specifically, they’re getting a pretty good picture of it anyway. Google most likely will not do anything with it beyond help advertisers find you so they can sell you things that you’re more likely to want to buy. That’s not to say that they couldn’t decide to use the information in other ways, if they wanted to, though. Some people in the know have said that the entire point of Chrome and Android are to gather information about their users for google’s gain.

One of the main things that people are concerned about is that their google search queries, youtube viewing history and favorites, which they had long thought were private, would be linked to your identity, and that this link would be made public through Google’s new social features.

Google has always made search trend data (aggregated statistics about supposedly-private search terms) public. That’s how we knew during the 90’s that everyone was searching for Britney Spears, remember?

What’s new is their integration of search with their new “Google+” identity service. Social search is supposed to help you find stuff that’s more relevant to you by telling you what your friends +1’d. This is great until you discover that one of your friends has some disturbing interests, and that gets you to wondering what interests you have that others might find disturbing. Anything you publicly +1 is visible to the internet at large as something you “liked”. There is a natural inclination to interpret a +1 or Like as endorsement, regardless of whether you actually agreed with it, or laughed at it, or hated it, or just thought it was interesting. It’s disturbing to most people to think that others viewing might jump to conclusions about who you are, based on the things you +1.

If you don’t like this, there are other search engines you can use, such as duckduckgo, which promise not to track you at all. Again, this is nothing more than a promise, and you really don’t know whether they do or not.

Google isn’t the only one who does this, of course. Facebook has infected virtually the entire internet, allowing you to “log in with facebook”, or “Like” anything and everything. This information is shared with your friends, with Facebook and Facebook’s partners, with the site who’s content you Liked or logged in to view. People “liking” stuff and sharing links with each other is how word spreads around and content “goes viral”. This is great if it makes you famous or puts public pressure on someone doing something we don’t like. But when it’s you doing something perfectly within your rights, and the public doesn’t like it, you can feel oppressed or threatened. Worse things than that can happen, too. You can lose your job, get arrested, lose friends. Your whole life can be ruined.

And for all that, it may be that this new social aspect of web searching is more useful than it is harmful, that on the balance it is a net good, albeit with risks and drawbacks. One benefit of public social search is that it makes it easier for you to find content that is relevant to you, and to share that content with your friends. Content your friends like is very likely to be of interest to you, so weighting a search result that has been “+1’d by someone you know” makes a great deal of sense. And, as long as the friend +1’d it knowing that their +1 would be used as a recommendation this way, it’s all well and good.

Webmasters are always clamoring for better rankings in Google’s search engine so they can get more traffic as a result. As unscrupulous sites learn to game the system, through exploiting principles of SEO to attract traffic “undeservedly” by not providing what that traffic is really looking for, thereby wasting eveybody’s time in order to reap ad revenue, Google continually has worked to refine PageRank to keep its results relevant and keep spam down. Social bookmarking is merely the next iteration in that arms race. The countermeasure, of course, is also already here: advertising campaigns which bribe you into liking or +1-ing pages in order to get points, a discount, a chance at a prize. And so it goes.

Another potential problem is that your favorite service may end up being acquired by one of the behemoths. Yahoo! loves to do this and usually screws their users in various ways. Google does to, but is usually better about preserving the quality and value of user experience. All the big players play this acquisition game to some extent. So, if you think you’re safer using a smaller web site that promises they’ll never sell you out to third parties, remember the promise is only as good as their word, and only good as long as they exist as themselves, and tomorrow they could change their mind, get acquired, or get served a subpoena. It could happen to DuckDuckGo just as well as it could happen to anyone.

Why the consolidation? What’s the problem?

I think that consolidating privacy policies and making them more consistent across the services that google offers is generally a good idea and makes sense. Over the years Google has amassed a considerable number of online services, and tying them together rather than having dozens of separate policies and keeping information about how you use each service separate doesn’t make a great deal of sense.

I think it’s to Google’s credit that they’ve been forthcoming about the changes and actively promoted what they are doing, to keep things as transparent as possible. Google does listen to user feedback and tries to do the right thing, although of course not everyone agrees that they always do.

Nevertheless, it is understandably disturbing is the concentration of the information those services collect about you, and what can happen when information from an account you created to shield your identity via pseudonym catches up with you and is linked with your “true” identity.

If you have a persona on one service that is very different from your “normal” self, it can be embarrassing or damaging for people who know you in one world to suddenly find out that you also live in another world as well. There are legitimate needs people have to compartmentalize their lives in this way, and it shouldn’t be google’s place to judge or to decide for them.

I really don’t think that they do judge, but they do seem to be deciding a bit, by linking services this way. If you thought me@gmail.com and me@youtube.com were separate, that’s probably a misconception that you bear responsibility for; you could have created separate accounts, myemailforveryseriousbusiness@gmail.com, and ilikewatchingfunnyvids@youtube.com. It’d become a pain to log out of one and into another each time you wanted to visit a site, but at least you’d have your e-life compartmentalized.

The concern with this consolidation is that, now there’s potential for inadvertant slips of information, now that your email usage data is tied to your youtube usage data and potentially becomes visible to everyone with a Plus account whom you’ve ever added to a circle, or even the public at large. Now the company you’ve emailed about a job you wanted knows you enjoy watching videos of cats doing cute things, or that you’re an ardent environmentalist, or a gun nut, or think recreational drugs should be legalized, or that you oppose war. Oops. People are really more worried about being judged by others, not just by Google.

What do do?


Be anonymous as much as you can. That means don’t log in. When you do need to log in, use https and other encrypted protocols as much as possible (sftp, ssh, etc.) Https is a good idea even for general browsing when you’re not logged in. Use Tor. Encrypt your email.

Unfortunately, so much of the web now depends on you being logged in, or identifying yourself somehow. To access content, to share it with your friends, to comment, to purchase. Sooner or later, you’re going to need to log in.


A simple solution to this is to use pseudonyms. Use myrealname@gmail.com for official business, and iloveporn@gmail.com for your nasty business. Don’t mix the two up, and don’t let your porn-loving pals know what your real name is. Have as many pseudonyms as you think you need, to keep distinct your various identities separate and segregated to whatever communities you choose to use that identity for.

Is it possible to somehow establish that there is a link between the user of your pseudonym account to your other account, or to your real identity? Sure. But that’s more something a private detective or law enforcement official might try to do, not something Google’s terribly interested in doing. Although, if Google wanted to, it’d be terribly trivial for them to do that.

Is it possible to screw up and accidentally send that email to Boss@work.com from the iloveporn account? You better believe it. Be careful.

A pseudonym is something you’d use for relative anonymity, but where you still need an identity that persists over long term, so that other users of a community can have some sense of “knowing” who you are.

Throw-away accounts

If you’re more worried about your activities being traced or tied to you in any way at all, it makes sense to create and dump accounts for specific, short-term purposes. Throw-away accounts can help a little by compartmentalizing information about you and keeping the amount of information gathered on any single account to a minimum. Each time you start over fresh with a new account, it’s as though you’ve thrown away your past information, so long as it cannot be tied to your real identity(-ies), or your other throw-away accounts.

If you ever use an account to do something you don’t want traced back to you, use a throw-away account, use it for one thing and one thing only, discontinue using the account as soon as possible, and delete the account if possible once you’re done with it — not that this will delete the data they’ve collected, but it will prevent you from re-using the account again and adding to the data trail, thereby limiting what they can acquire about you with that one account.

If you’re ultra-paranoid, use the account from a public wifi access point, using a clean-installed OS and browser with no special customizations. What are you doing, anyway, issuing death threats?

Yeah, I went there. The assumption generally will be that you’re up to no good if you’re going to that extreme. Not, for example, that you live in Syria or North Korea, and this is what you have to do if you want to live.

Privacy enemies love to brand people who take unusual measures to protect their privacy as deviants who have something to hide, likely pedophiles or terrorists. They don’t think about the French Resistance during World War II, or 1984. Unfortunately, this means that if you are one of the few people who does use a lot of privacy protecting countermeasures, you’re making yourself visible in a way that could arouse suspicion.

The only hope here is to get everyone to adopt privacy technology, which is a decidedly uphill battle. The average person knows little and cares less about how vulnerable their information is, and has a hard time understanding the threat picture or how to protect themselves. Unless privacy security is built in at the protocol and application level, and is thus on for everyone by default, the vast majority of users aren’t going to use it.

Should I delete my history?

Erasing your browsing history won’t really help all that much. If you erase it, you erase YOUR copy of it, and thereby deny access to it for people who have access to your PC, either direct physical access, or through malicious web sites that may be able to exploit a vulnerability to read cookies set by other web sites, view your history or access your saved passwords, or who knows what else.

I find local history useful to bring back something I saw recently and want to go back to for some reason, and it helps me feel like the computer is mine when it “knows” me.

Still, if you’re worried about someone snooping on your PC, erasing your history can be a sensible thing to do.

However, on the server side of the web, there will be a log of your access and what actions you performed through the browser while you are connected to that site, and that isn’t something you can delete. Even if the web site offers you the ability to delete your information, it’s entirely likely that all that does is hide the information from you, while keeping it for the use of the service, for data mining, reselling to third parties, and what have you. When it comes to “removing” data, there’s “remove permissions”, there’s “removing a softlink to an inode”, and there’s “rm -f”. Even if a web service did offer “rm -f”-level deletion of your data at your request, deleting is still legitimately hard — if you expect your data to be purged from all backup tapes and whatnot, forget about it. Ain’t happening.

What do they want from me?

It’s easy, and understandable, to feel paranoid about all of this. As the saying goes “Just because you’re paranoid, don’t mean they’re not after you.” But the inverse is also relevant: Just because they’re not after you, specifically, doesn’t mean you can relax about your paranoia. “They” are after everyone.

Most of it does not have anything to do with you as an individual. I mean, sure it’s possible that a person who has enemies could have this information gathered and used against them, but the world generally is not really that interested in any one person. If you’re a fugitive, or should be if people knew more about what you do with yourself, that’s another matter.

The biggest use of this information is to help target you with advertising that you’re more likely to respond to. Targeted advertising can actually help you — for example by informing you of a product you would like but don’t know about, or by steering discounts your way for things they know you like. I really, *really* hate advertising, but I do actually like it when I want to buy something, start searching for it, and a few days later start getting targeted ads for that thing, offering me discount incentives for it.

I suppose there’s the potential for mind control, brainwashing, and pavlovian conditioning. We are, after all, animals. We don’t like to be controlled or manipulated, and we know we are vulnerable to it. And advertisers want us to spend our money on their stuff. But, the deal is, if they know who you are better, then maybe they can sell you things you actually want and need, and maybe they really don’t care about your private business. As long as the ads aren’t annoying and in your face, I don’t mind them so much, but if they diminish my experience of using a service, I feel it’s my right to block them. They appear on my computer, which after all, I own and control.

But there’s legitimate worry, that this information can be used in ways that harm us, as when insurance companies learn more about who you are and decide you’re more costly to insure or are uninsurable, or if the government starts to suspect that you’re an enemy of the state, or a corporation determines you to be a threat of some kind, and won’t hire you.

Where, then?

Even if you are really worried about Google’s privacy change, and all this general internet privacy paranoia talk has got you thinking about ditching the internet, unplugging entirely from the net is only going to help you so much.

There’s so much information gathered about you and shared by those who gather it that they can pull up a pretty good picture of who you are.

If you have “membership” or “discount” cards with businesses, if you use credit cards, if you utilize financial products from lending institutions, if you tend to respond to surveys, if you file taxes, if you’ve lived in the same place for a while, if you haven’t changed your name recently, they have a lot of info on you already. No matter what you do, it’s possible for people to collect information about you if they can “see” you. Once a bit of information exists about you, sharing that information is trivial. It sticks around forever. And it can be combined with other little bits of information about you from all over the place. And an institution with time on its hands and a lot of resources can amass a staggering amount of information about you.

Scary stuff, but good luck fighting against it.

That’s why I say we’re all screwed no matter what, and not to worry about it too much.

Why do I say don’t worry about it too much? Well, if you want to keep your private stuff private — and there is still stuff that we legitimately ought to want to be able to keep private — at the moment it’s a bit of a losing battle. But, the upside of this is that as more and more stuff that we used to keep private becomes exposed, we’re going to find that we had less to fear.

When I said “good luck fighting against it,” a moment ago, I meant “good luck fighting alone to keep your private stuff private.” That doesn’t mean that we’re all completely powerless.

Once you’re outed, you’ll find that there are lots of people like you. And you have strength in numbers. Thinking about people and their secrets, I find it comforting to think about what the gay community has been able to do in the last 50 years to assert their legitimate right to exist and enjoy the same freedoms everyone else gets. They still struggle for acceptance, but just look at all the progress that has been made.

Live the life you want to live, not the life you’re afraid not to live because of what you think others will think of you, not even people in positions of power, who might abuse that power. The best defense against this sort of abuse, in my opinion, is openness. If lots of people stand up at once and assert their rights, they can win them, keep them, and have them. Bad things can, and, I’m sure, will happen to people, and I don’t mean to justify it or minimize it. But at this point, I think we’re better off standing up for ourselves, fighting back, and asserting our rights than we are trying to hide and exercise those rights unnoticed.

Managing Categories and Tags in WordPress

For the longest time, I’ve paid little attention to the categories and tags on this site. I played with the features a bit, but didn’t really understand them well enough to feel like I knew what to make a category, what to make a tag, how to do it consistently, and so on.

As often happens, I figured it out “naturally”, by just using the site and over time the purpose became more clear. Then for a long time I just didn’t feel like going through the tedium of going through all the old posts and re-doing everything. I hated feeling like “If I had to do it all over again, I’d do things differently”, though, so eventually I had to do something about it.

I’m here to share the lessons I learned.

Know your purpose, or if you don’t know your purpose, find it

When I started this site, I wasn’t entirely sure what I wanted to use it for. I knew I wanted it to be a site for promoting and blogging my professional activities, but beyond that I wasn’t sure how I wanted to do it. This was something that developed for me over time, as I became more comfortable. At first I was very risk averse about putting up any content at all. Putting my real name up on the web made me feel inhibited and over-cautious. I didn’t want to make a mistake, embarrass myself, offend someone, lose my job, etc.

As time went on, I began to get over these fears, and it allowed me to post more frequently, feel more free about saying what I want to say, and knowing what I wanted to talk about. I surmise that most web sites develop their purpose over time, and refine what they do. I couldn’t have known how to do everything before I started.

Doing it is an essential part of the process of learning how to do it.

This means making mistakes, and you shouldn’t let yourself be inhibited from making them. Learning from them quickly and doing things better is more important. But sometimes lessons take a while to sink in, and when that happens it is not always the best thing to start making changes right away. You don’t have the time and you quickly lose energy if you put yourself through a comprehensive overhaul several times in quick succession. So before doing a drastic overhaul, take time to think about it, and before you do the whole thing, do a small part of it first and see how it works. Iterate a few times until you think it’s just about right. Then do the overhaul.


Here’s how I think about WordPress Categories: If my WordPress site was a book, the Categories would be the headings I would use for my Table of Contents. This isn’t quite right, but it’s a close enough way of looking at it.

If your site has a relatively narrow purpose, you should have relatively few categories. Categories should be broad. Think of your categories as sorting bins for your posts. Your posts fit into or under them. It’s OK if your posts fit into multiple categories, since there’s often overlap. You can create a hierarchy of categories as well, which can be helpful if you have a number of closely related category topics.

If you find that you are constantly writing posts that fit into the same group of categories, you should think about whether those categories would be better off consolidated into a single, broader category, and perhaps your former categories re-done as Tags.


Tags are like index keywords that help describe the major ideas that are contained within your post. You should think about the content of your post, and what the main ideas or topics were, and tag appropriately. This is not a SEO game, where you want to try to guess all the variations of words that people search by and include them. So skip the -s/-ing/-ly game.

Tags should be short, single words or phrases of two or three words. Try to avoid redundancy, but some small amount is probably OK. WordPress separates tags with commas, so you don’t have to worry about using spaces. It’s OK to use spaces between words, rather than running words together.

I frequently see tags being misused as a sort of meta-commentary on the content of the post or page. This is witty, entertaining, gives some personality to the site. I’m not sure that it’s helpful, but the occasional humorous tag might be amusing.

Witty tags work when you’re reading at the bottom of a post, or reading the summary or digest of an article before you click to Read More. But the intended way for your readers to use tags is to find other related content on your site that is of interest to them. If you over-do the witty tags, you’re not giving the reader useful ways to find a reason to spend more time reading your site.

How your site’s users use Categories and Tags

How, indeed? You can guess, and you can assume, but the truth is unless you have some system of measuring that can watch your readers behavior while they’re on your site, you don’t have too much of a clue how a site’s users actually use the category and tag features.

With WordPress sites, typically it’s the authors who are doing the tagging and categorizing. Readers merely consume them. Some sites, where there is an element or even an emphasis on user-generated content, give users the capability to creating their own tags and categories. If your site does this, you absolutely need to observe and track your users’ behavior. It’s fascinating, amusing, and will give you a lot of insight.

If you retain sole control the category and tag features, you need to think about what your readers need and how useful you are making your site through these features. If you can, try NOT to have to rely on guessing or “common sense” to tell you this — find ways to observe user behavior (though logging, perhaps), or solicit user feedback, and use that to influence your planning and decisions.

Another useful thing to do is to monitor the way people are searching your site, or the search engine query that brought them to your site. The most common search terms your users used to find you should jump out as terms that you should use for tags, possibly for categories as well. And if you’re advertising your site, or using advertising to generate revenue on your site, knowing what terms users are searching for is crucial to drawing traffic and generating revenue.

WP-Admin and the Category/Tag Renovation

My experience with this was that it could have been faster and less tedious. It’s probably my host more than anything, but it seemed that reloading the post, tag, and category administration pages took longer than I had patience for. Clicking update, then waiting a few seconds for the refresh, times however many posts I updated, adds up.

If I wanted to apply the same changes to multiple posts, there’s no way to do this through the web interface. A “mass action” feature to allow adding/removing the same category or tags to multiple posts at once would be very useful.

I could have attempted to directly manipulate the database through building a custom update query, but I didn’t want to sink time into doing that, didn’t want to run the risk of messing it up, and in any case, it’s probably beyond the capability of most WordPress bloggers, so I don’t recommend it. If you have an absolutely HUGE site that needs hundreds or thousands of changes to be made the same way, look into it. If you’re just dealing with dozens, just do it manually.

The other thing that would have been helpful was some kind of redundant tag merging. It’s not uncommon to apply very similar tags inconsistently over the history of your site.

For example, I used the tags “GameMaker” and “Game Maker” quite a bit. I had a few other GameMaker-related tags, which included a specific version, such as 8.0, 8,1, etc.

My first attempt at merging these was to simply re-name the “Game Maker” tag to match the label of my “GameMaker” tag. This did not merge the tags, though; it just created two identical tag labels, which were still separate as far as my WordPress site was concerned. A reader clicking on the “GameMaker” tag from one of my posts would only find about half of the posts I’ve written about Game Maker. Not good!

In order to fix this, I had to remove the redundant tag from my tagging system. To avoid losing the posts that I wanted to be tagged, though, I had to go through and re-tag those posts with the correct tag. At that point, I had a bunch of posts that had BOTH “GameMaker” tags — the correct one, and the incorrect tag that I’d re-labeled. I still needed to remove the incorrect tag to get rid of the redundancy, but looking at my Posts I couldn’t tell which was the redundant tag! So, I went back to the tag admin page, and changed the label of the incorrect GameMaker tag to “dup”, and then went through my posts and removed the “dup” tag.

It would have been much simpler, easier, and faster, if I could have simply navigated to the tag admin page, selected both the “Game Maker” and “GameMaker” tags, hit a button to merge the two tags, and specified which label I preferred to keep. I hope they include that feature in a future WordPress release.


I’m sure there’s still more room for improvement with the way I’ve done it, but I’ve managed to clean up my categories considerably, and applied tags much more consistently through all of my posts. It took a couple hours, but I hope it is worth it. I see a few benefits worth mentioning:

  • Users will have an easier time finding content that is relevant to their interests or related to something they came to the site to read.
  • It will increase the amount of time users spend using the site.
  • It will decrease the amount of time users waste on the site.
  • Better organization will convey to users that the site is of good quality.

Bad Google Chrome 17: What happened to Don’t Be Evil?

I just read this Ars Technica article on the Google Chrome 17 release and was not happy to read the following:

The new Chrome introduces a “preemptive rendering” feature that will automatically begin loading and rendering a page in the background while the user is typing the address in the omnibox (the combined address and search text entry field in Chrome’s navigation toolbar). The preloading will occur in cases when the top match generated by the omnibox’s autocompletion functionality is a site that the user visits frequently.

I bet this is going to piss off a lot of web server admins. Unless the pre-render is coming from Google’s Cache, it’s going to put extra load on web servers. Web server stats will be inflated, giving a distorted picture for ad revenue. I’m sure google’s smart enough to have thought of these things and has it all figured out, but I’d like to know what their answers were.

Google has also added some new security functionality to Chrome. Every time that the user downloads a file, the browser will compare it against a whiltelist of known-good files and publishers. If the file isn’t in the whitelist, its URL will be transmitted to Google’s servers, which will perform an automatic analysis and attempt to guess if the file is malicious based on various factors like the trustworthiness of its source. If the file is deemed a potential risk, the user will receive a warning.

Google says that data collected by the browser for the malware detection feature is only used to flag malicious files and isn’t used for any other purpose. The company will retain the IP address of the user and other metadata for a period of two weeks, at which point all of the data except the URL of the file will be purged from Google’s databases.

I sure hope this can be disabled. For one, whitelisting download files is the first step to a censored net. Secondly, it gives google access to anything you’ve ever downloaded. Your privacy is no a matter between you and the server. Now you have Google acting as a nanny, reading over your shoulder, making sure that what you’re pulling down over your network connection isn’t going to hurt you (but also very likely in time that it isn’t “bad” in any other sense, either).

While they’re “protecting” you now, eventually they’ll get the idea that they should “protect” you from copyright violation, from information the government doesn’t want you to see for whatever reason, and so on. It puts Google in control over how most people access everything on the internet, and is vastly more power than any single entity should be entrusted with, no matter how competent, how corruption-resistant, or how well-intended they are.

I’m sure malware is still a very real problem, but personally I have not had a run-in with Malware on any computer I’ve used in many years. Justifying Google’s right to do this and using malware as a scapegoat is a bit like saying that due to the possibility of terrorism, you have no right to personal privacy or a presumption of innocense.

We need to speak up about this.

csanyk.com © 2016
%d bloggers like this: