Lazy Spammers

I see that nowadays comment spammers don’t bother figuring out what markup they need to use to make hyperlinks, so they try half a dozen different formats and hope one works.

They’re also apparently too dumb to not put two dozen spam comments in the same recent post and think that won’t get noticed right quick.

ur doin it wrong: Direct Marketing Edition

Living in an apartment means having a greater incidence of people leaving ads on your door. Whoever went through here today, however, clearly didn’t quite grasp the concept of how this marketing scheme works. The ads were clearly intended to be the direct-mail kind, what with having printed addresses and the “PRESRT STD U.S. POSTAGE PAID” thingy where the stamp would go. Yet it was shoved between the doorknob and doorjamb.

Naturally, the would-be mailing address is for a residence about two miles away.

Any ideas why someone would bother buying a database of residential addresses if they’re just going to pay some schmuck to walk around in the middle of summer shoving the ads in doors?

FLummoxing CLeverness

You wouldn’t think it’d be so difficult to rip a few DVDs. Well, it isn’t, unless you’re trying to do it in a way that’s far too clever for your own good.

A refresher for those of you who haven’t committed my personal computing resources to memory: I have two computers, holly and kryten. (No points for guessing the naming scheme.) holly is my eight-year-old former desktop computer, now relegated to running MythTV. kryten is my four-year-old tablet that I use for pretty much everything else.

Ripping and encoding DVDs is a CPU-intensive process, so naturally I wanted to do the job on kryten, whose wimpy 1.7 GHz Pentium-M is still quite a bit better than holly’s mere 933 MHz Pentium-III. The problem is, kryten doesn’t really have a DVD drive per se. I have a DVD drive that connects via the PCMCIA slot, but it’s slow (as in, too slow to play a DVD real-time) and sometimes hangs the Linux kernel when you eject the card.

My clever plan to get around this was to read the DVDs on holly, copy the raw data over to kryten via the local network, and do the actual encoding from there. Pretty much any program on Linux that reads from a DVD is just as happy to read from a directory where you copied a DVD’s files to, after all.

For the first disc, this worked just fine. For the second one, not so much. For some reason no program could read the VOB files on the DVD without projectile vomiting error messages to the system logs. (I wound up with 600+ MB of error messages in each of three system log files when all was said and done — log files that are typically around 50 KB for a week’s worth of data. So yeah.)

Since the VOBs are where the actual video content of the DVD is stored, this was a bit of a problem. I ran into the same problem with the third disc I wanted to rip. Thinking it might be a flaky DVD drive or driver, I tried rebooting holly (soft and hard), but no change. First disc fine, second and third not. Each disc played perfectly in my set-top DVD player, so the discs themselves were clearly undamaged. kryten’s external DVD drive wasn’t any more successful.

My best guess as to what was going on was that the discs in question had deliberately bad sectors to serve as copy protection to prevent someone from doing exactly what I was trying to do. But if that were the case, you’d think that all three discs would have had it, since they were all part of the same three-disc set. It doesn’t make much sense for only some of the discs to have copy protection. But if it wasn’t deliberate, it’s awfully suspicious that only the VOB files on the two discs were affected.

I wound up ripping the two problematic discs the easy way, doing everything on holly and having MEncoder read from /dev/dvd directly instead of mounting the UDF filesystem and reading that. Lo and behold, that worked, albeit taking longer to encode because of the slower processor. Whatever method programs use to read from the DVD directly instead of via the filesystem apparently never tries to access the sectors causing the errors.

Given that holly is effectively headless (given the “quality” of ATI’s Linux drivers, I didn’t want to switch from MythTV to the console if I could help it), this posed the question of how to figure out which titles on the DVD were the ones I wanted to rip, and not previews or special features or copyright notices or anything. The solution? Playing each title one by one in MPlayer, running in AAlib mode to render the video in glorious ASCII art though the SSH session from kryten to holly. Converting uncompressed DVD-quality video to ASCII art is a lot more bandwidth-friendly than sending it across the network directly, and while it is hardly the way I’d want to watch a video, it’s good enough to recognize the opening scene is what you’re looking for.

But finally, I now have the videos shrunk down into a format my portable media player is happy with. All it took was to stop trying to be so clever about how I was doing it, and thus avoiding whatever the underlying problem was.

Disloyalty Card

One of the things I used to like about my local grocery store is that, unlike seemingly all the other chains out here, it didn’t have some asinine loyalty card you needed to have to get the sale price on discounted items. So much for that.

I really don’t see why it’s even in grocery stores’ interests to have loyalty cards in the first place. If they want to track customer spending habits across visits, they could just key their database by your credit card or debit card number (or even checking account number), instead of inventing their own card. After all, how many people these days regularly use cash?

(On the other hand, I kid you not, I once had the person in front of me at the checkout pay for their groceries solely in rolls of coins. And not even handing the cashier enough rolls once the total came up, oh no, but one at a time, bringing yet another roll out of her purse each time the payment came up short. But I digress.)

The other theoretical benefit a store could get out of a loyalty card program would be to better direct marketing efforts towards individual customers. But it’s not as though the store does any validation of the information you put on the application form, or does anything to prevent you from giving the extra copies of the card to other people, say, then-current roommates.

In fact, when my current grocery store started their loyalty card program, the cashier would grab an application, scan the card attached to it, hand you the application, and ring up your purchase. Further visits to the store confirmed that yes, they aren’t even bothering to check if you turned in an application for the card at all; it works anyway. Way to not bother doing even the most basic validity checking. I’m sure the aggregate marketing data you get with that will be ever so useful.

Speaking of which, the marginal benefits to the store have to be weighed against the costs of running the program: making and distributing the cards, training cashiers to ask for the card during checkout, the extra time needed during each checkout to process the card, maintaining the extra database of card activity, etc.

Maybe there’s some fantastic benefit the store gets out of this that I’m missing, but the way I see it, the store would be lucky to do much more than break even with the program, especially compared to the marketing data they could have mined from their pre-loyalty-program database. Is the average customer really enamored with carrying yet another card in his or her wallet, or worse, sticking a miniature card on an already cluttered keychain?

Rest assured, if by some bizarre series of events I ever find myself in charge of a chain of grocery stores, there will be none of that.

Thanks for that

To whomever thought it would be hilarious to pull my apartment building’s fire alarm tonight:

Die in a fire.

Thanks.

All washed up

Pop quiz: How long does it take for the lane stripings on a road to go from “brand new” to “so faded that road crews have to put up warning signs about an unmarked road”?

Apparently, around here, the answer is “less than 48 hours”.

It’s somewhat of a remarkable achievement when you think about it. How exactly does a road crew achieve this degree of epic fail for what should be routine maintenance? Did they use water-soluble paint? I haven’t seen that much suffusion of yellow since Dirk Gently lent me his calculator. Even the tape the road crew used for temporary lane markings proved more durable.

I know, I know, car navigation systems are pretty nifty, but can we please wait until they stop telling people to drive along train tracks before we start eschewing lane markings?

Comments Off

kuliniewicz.org hits the big time

Thank you, spammer who decided to forge a bogus From: whatever@kuliniewicz.org header, for all the bounces and other autoreply garbage that wound up in my inbox yesterday. In hindsight, I suppose I should have blackholed all @kuliniewicz.org e-mail addresses I’m not actively using instead of leaving the default of “all of them forward to me”. Naturally, I reconfigured that pretty quickly once I saw what was happening, and so only got ~100 garbage autoreplies in my inbox from that spam.

That said, you have no idea how tempted I am to reply to all the challenge/response messages the spam triggered. You know, to repay them the favor of filling my inbox with backscatter.

Fun fact: challenge/response spam filters operate on the same principle as protecting your house from burglars by hanging your neighbor’s key on your front door with a note that he has a nicer TV than yours anyway.

My kingdom for a pango.Matrix

Why oh why does PyGTK define a pango.Matrix class to wrap a PangoMatrix struct, and provide a set of methods for manipulating them, but no way to create the blasted things in the first place?

Seriously:

>>> import pango
>>> m = pango.Matrix()
Traceback (most recent call last):
  File “<stdin>”, line 1, in ?
NotImplementedError: pango.Matrix is an abstract widget

Abstract widget? Abstract widget!? What’s abstract about a plain old C struct?

typedef struct _PangoMatrix    PangoMatrix;
struct _PangoMatrix
{
  double xx;
  double xy;
  double yx;
  double yy;
  double x0;
  double y0;
};

It’s not an abstract interface. It’s not even something derived from GObject, for crying out loud. It’s six doubles duct-taped together! PyGTK should be able to wrap this in its sleep. And don’t even get me started on how pango.Matrix is most certainly not a widget; it’s a smegging matrix.

And to make things worse, there doesn’t even seem to be a way to make a trivial C function that creates a PangoMatrix* and make a PyGTK-compatible wrapper for it. Since PyGTK knows about pango.Matrix, and has methods that work with them, I obviously need to tell PyGTK that my trivial C function returns one. No such luck:

Could not write function ma_matrix_new_rotate: No ArgType for PangoMatrix*

And lest you think that PyGTK wants to internally call it PyPangoMatrix_Type — which, after all, would fit with the naming scheme for everything else it wraps out of GTK — that doesn’t work either.

Apparently pango.Matrix is in some kind of weird limbo where PyGTK knows about it but won’t let you actually use it at all.

Unless anyone knows the proper voodoo to make PyGTK cooperate, it looks like I’m going to have to implement the entire widget in C instead of Python, just because I can’t smuggle a PangoMatrix into my Python code. After I’ve gone ahead and implemented the entire widget except for what I need the PangoMatrix for.

Yippee.

Comments Off

Facebook 1, Your Privacy 0

As if I needed another reason to avoid social networking sites like the proverbial plague.

You may have heard by now that Facebook recently added a “feature” called Beacon that automatically spies on your activities on other websites and tells everyone else on Facebook what you’re doing over there. For the technical-minded, there’s a good analysis of precisely how this works, but the basic idea is as follows:

  1. When you log in to Facebook, it stores a cookie in your browser with your log-in information. This way, when you go back to Facebook next time, it automatically logs you back in. This cookie persists as long as you don’t explicitly log out of Facebook. (In other words, going to a different site or closing your browser doesn’t delete the cookie.)
  2. Websites can feed information into Beacon by using a little JavaScript code that Facebook provides. Let’s say your favorite online movie rental store does this. When you add, say, Brazil to your queue, the store’s website executes Facebook’s JavaScript, telling it “whoever this guy is just added Brazil to his queue at FoobarVideo.com”.
  3. That JavaScript code sends a request to Facebook’s website, passing along the message “whoever this guy is just added Brazil to his queue at FoobarVideo.com”. Since the code creates an iframe to do this, the browser also sends your Facebook cookies along with the request. Remember, as long as you haven’t logged out of Facebook, your cookies that log you in are still there, even if you aren’t currently visiting Facebook.
  4. Facebook uses the cookie to figure out precisely who you are, and adds “Hapless User just added Brazil to his queue at FoobarVideo.com” to your Facebook page. (You really need to pick a better user name, by the way.)
  5. After that’s done, your browser, assuming it still has the same page open, shows a popup window for a few seconds giving you a chance to opt-out of what Facebook just did. Yes, the notification goes away after a brief delay. Hope you noticed it.

Now, there are many things wrong with this. First, and most obviously, is that Facebook is reporting your activities on other sites without you initially knowing, and only informing you in a manner that’s easy to miss. Many users only discovered this when visiting their Facebook page and noticing all this new information they never entered, let alone intended to share with the world.

Even if you think you don’t have anything to hide, you probably do. Suppose your favorite online store wants to Beacon the purchases you’re making. It’d sure suck if all your friends could find out what you’re buying them for Christmas just by visiting your Facebook page. And if you’re renting Debbie Does Anything That Moves from that online video rental store, you should know the production values are pretty questionable. Um, I’ve heard.

Secondly, even if you manage to opt-out, or configure Facebook after visiting each site that does this to always opt-out, Facebook is still receiving the Beacon messages. It’s just not showing them on your page. Facebook is perfectly capable of building a profile in its database of your activities on other websites, and you just have to trust that they won’t do anything nefarious with them. Or, you know, have them stolen when a script kiddie breaks into their servers.

But even worse, Facebook can build this profile on you even if you don’t have a Facebook account! Sure, Facebook won’t be able to match the Beacons you unwittingly send to an account name, but they can still track you to a degree by your computer’s IP address. Are they keeping a database of this information too? Who knows! And since you don’t have a Facebook account, you’ll never see the message saying that the Beacon was sent.

Let me repeat that: Facebook is perfectly capable of building a profile of your activities on other websites, even if you don’t have a Facebook account, and without you ever knowing about it.

(And in that case, who even cares what their privacy policy might say? You never agreed to it anyway.)

Fortunately, if you have a decent browser, there is a way to protect yourself from Facebook Beacon. Those requests your browser sends to Facebook behind your back all fetch URLs of the form http://facebook.com/beacon* or http://*.facebook.com/beacon*. Firefox users can use the AdBlock extension to block any attempts by your browser to access those URLs. Other decent browsers should have some similar feature.

Now I can see this Beacon thing as potentially being useful in principle, as I can imagine there are times when you’d like to point out your activities on other websites, such as that scathing review you just wrote about Debbie Does Anything That Moves. But the correct approach would be for the site to ask before sending the Beacon to Facebook, and to explictly opt-in on Facebook’s website (just in case that other website is misbehaving) to enable them in the first place. Revealing information about your activities without your prior consent is a violation of your privacy.

This has been a public service announcement for those of you with Facebook accounts. Because Facebook certainly didn’t bother telling you about this beforehand.

Mass != Weight

On the off chance that anyone who works at the National Air and Space Museum reads this, take heed:

The kilogram is a unit of mass. The pound is a unit of weight. Weight is the gravitational force exerted on an object. Mass is not affected by gravitational fields (barring relativistic effects, at least).

A kilogram weighs 2.2 pounds on Earth, and weighs one-sixth that on the moon. That does not mean that an object’s mass also decreases by a factor of six when you put it on the moon. If you really want to talk about the weight of the stuff sent up on the Apollo missions, start using newtons as your metric measurement instead of kilograms.

And people wonder why the probes we send to Mars go off course.

Comments Off

Whiskey Tango Foxtrot: Google Maps edition

Most people have tried Googling for themselves. For example, if you Google for my name, the first hit brings you to this blog, as you might expect. If you instead Google for Benji Milanowski’s name, the first hit brings you to, um, this blog again.

But have you ever tried searching for your name… on Google Maps?

If you try searching for my name on Google Maps, you get exactly one result.

For Kent Hovind.

How exactly does that happen? Kent Hovind and I are nothing alike, with the possible exception of both of us being carbon-based life forms largely composed of water. For example:

  • My last name begins with a K, whereas his first name begins with a K.
  • I wrote a program that tries to use genetic algorithms to play Nintendo games (what ever happened to that anyway?), whereas he operated a young-earth creationist theme park called Dinosaur Adventure Land.
  • I got a federal tax refund this year, whereas he got sentenced to ten years of prison for federal tax evasion.

So yeah, that search result couldn’t possibly be more wrong. It doesn’t even have Kent Hovind’s current address (Federal Correctional Institution, Edgefield, South Carolina).

[Editor's note: Thanks to Phil "Bad Astronomer" Plait for coming up with the idea.]

So you want to complain about an ending?

Dear people complaining about the final episode of The Sopranos,

While I do appreciate your concerted efforts to knock Paris Hilton off the top spot on the Entertainment section on Google News, enough with the whining already. Seriously.

If you really want to complain about an ending, go watch The Prisoner. There’s a lot more in its final episode to go on about than just the very last scene, let me tell you.

Of course, even if you complain about The Prisoner’s ending instead, you’ll still be wrong. It’s not my fault you miss the point.

Thanks.

- PK

What Master Shake can teach us about graphic design

Me: OK, so I know it’s a lot later than what I promised, and I know it’s awfully dorky, but I do have some images, so can you post it anyway?
Editor (also me): That depends. Do the images reinforce the dorkiness?
Me: … Yes? But some of them have captions.
Editor: Not good enough.
Me: Funny captions?
Editor: *sigh* That’s debatable, but fine. I’ll post it.
Me: This counts as your disclaimer, folks.

Aqua Teen Hunger Force - “Super Hero”

Remember that episode of Aqua Teen Hunger Force where Master Shake tries to become a superhero? He steals some radioactive waste from the “storage facility” (a.k.a. the river), dunks some worms in it, tries to get the worms to bite him, fails, and dumps the waste on himself, thus supposedly giving him superpowers. Over rain. For some reason.

Of course, in the end it works about as well as it did in that one Family Guy episode, but that’s not the point.

Between dousing himself in radioactive waste and his eventual (literal) meltdown, Shake focuses on marketing his new superhero identity rather than doing any actual superheroing. Most of these efforts are naturally inept, such as his The Drizzle cell phone giveaway or his black-ink-on-black-paper stationery.

However, there is one moment in the episode (possible the only moment in the entire series, in fact) where Shake demonstrates actual competence. It’s when he calls the T-shirt printers to complain about the The Drizzle T-shirt they designed. The design shows lots of villains running amok, and Shake points out how it’s too busy and no one will understand it. His observation is borne out when Shake goes on an angry rampage through the city, which is caught on film by the local news, but the best they can make out of the design on the shirt Shake is wearing is “ants marching at a picnic.”

So, even Master Shake, someone who at best enjoys a fleeting and tenuous grip on reality, understands that making a graphic too complex can ruin it.

So why can’t a certain set of professional animators understand that?

I am talking, of course, about the logo redesigns in the forthcoming new Neon Genesis Evangelion movies.

[Editor's note: Hey, it's not my fault you ignored the disclaimer.]

SEELE Logo (original)

Let’s take the original logo used by SEELE. Now this is a logo befitting a shadowy, secretive organization that’s pulling the strings and orchestrating events for its own mysterious goals. The logo tells you nothing about who they are or what they’re doing, but it’s clear they’re powerful and probably evil. They’ve got the Illuminati outclassed: their logo’s got seven eyes, and their pyramid’s upside-down. What does that mean? They certainly aren’t going to tell you!

And as for the rainbow coloration, um, that’s a good question actually. Maybe it’s there to annoy Jerry Falwell or something.

We’re talking about an organization that’s so shadowy, their meetings look like this:

SEELE Meeting

SEELE 01: Good call on the monoliths, Jenkins. Think of all the money the animators will save with slow pans over a static image!
SEELE 06: Not to mention not needing to come up with character designs for all of us!
SEELE 07: Or names…
SEELE 03: But Chairman, what if the audience starts to lose interest during these scenes?
SEELE 11: We could use the money we saved from the animation budget to, I don’t know, interrogate a naked chick at our next meeting?
SEELE 01: Brilliant! Let’s pencil Ritsuko in for our meeting in Episode 23.

SEELE Logo (new)

Now take a look at this redesigned abomination. That is, if your eyes can even decide what part of it they’re supposed to focus on first. There is way too much going on here.

Sure, the classic bits are there, but they get crowded out by all unnecessary new pieces. I mean, what kind of secret organization puts their name right on the logo? That’s a rookie mistake. You might as well go ahead and put your street address and URL on there while you’re at it. (Sorry guys, seele.de is already taken.)

Bringing out a slogan in German isn’t helping the cause either, guys. Sure, if you want something that sounds evil, German has pretty much been the go-to language since the 1930s. But when you’re quoting Ode to Joy, the whole thing kind of loses its impact. (And if there’s one thing SEELE doesn’t want, it’s to lose its impact.)

And OK, the snake coiled around an apple makes sense if you understand just what SEELE’s trying to do, but is it really necessary? It’s not like there weren’t already plenty of references to that part of Genesis in the series already, what with the whole Adam and Eve thing being warped into an important part of the plot and all.

Although I suppose Evangelion has hardly been subtle about its use of Judeo-Christian imagery to begin with.

Lilith

Misato: Um, yeah, wow. I’ve just got one question about this.
Kaji: Just one? I can think of a dozen.
Misato: Good point. But I mean, is this whole crucifixion thing actually symbolic, like the Sephirot in Gendo’s office, or is it just there to look cool and meaningful like all those inexplicably cross-shaped explosions?
Kaji: Except for it being named Lilith, I’m guessing the latter.
Misato: Well, at least the imagery can’t get any more over-the-top than this.
Kaji: Are you kidding? Have you seen the movie?

NERV Logo (old)

But the unnecessary redesigns don’t end there, oh no. They even tamper with the classic, if not iconic, NERV logo. Being a publicly known paramilitary organization ostensibly working for the UN, NERV’s logo isn’t quite as sinister looking as SEELE’s.

Nevertheless, the logo still makes it clear that they’re hiding something, even though in the public eye they’re The Good Guys. Note especially how their name is partially obscured by the half fig leaf. A fig leaf’s at least a little more subtle than a snake-and-apple.

But don’t try telling me my criticism of the added SEELE slogan should also apply to the Browning quote that arcs along the bottom here, because it doesn’t. First, NERV’s slogan is at least scrutable. Besides, NERV is publicly recognized, remember? Of course they’re going to have a slogan that sounds reassuring, even though later on you learn just how ironic it is.

NERV Logo (new)

Besides, the old logo is far better than this new abomination they’re trying to foist on us. To quote Master Shake in a cameo on Sealab 2021, did an elephant paint this?

Who thought superimposing an upside-down apple (again with the apple!) over the half fig leaf with some swoopy highlights was a good idea? It looks like someone went crazy go nuts with the filled polygon tool in MS Paint. It’s almost indecipherable. I mean, what’s going on with the part to the immediate right of the V?

And as for the design of the slogan, it gets a resounding meh. It’s just sort of… there.

But lest you think Evangelion’s only about using religious iconography in weird ways, don’t worry. There’s also plenty of superficial allusions to genetics and molecular biology — the series could probably justify putting an “In Popular Culture” section under the Wikipedia article for Pribnow box, which would be quite an accomplishment.

And of course, there’s a healthy dose of Freud to be found too.

Entry Plug

A cigar may just be a cigar, but a long cylindrical tube you sit in to be inserted into the body of something that contains the soul of your dead mother? I’m pretty sure we all know what that represents, Oedipus Shinji. At least it only goes into the back of the neck, though I can imagine what might come out of Rule 34. Stupid Internet.

(Doubt me about the Oedipus crack? Shinji, Gendo, and Rei. Q.E.D.)

So, given how the two logo changes seem to beat the viewer over the head with the existing symbolism , I can only assume the remake movies are going to be cranking things up to eleven. So, in other words, I predict it’ll be The End of Evangelion all over again, but for the entire series instead of the last two episodes. Which is simultaneously exciting and frightening.

In conclusion, that is how you judge a series of four movies based solely on two small images taken from them. Next time: judging books by their covers.

[Editor's note: Not really.]

Comments Off

Riddle Me This

Why does my new printer come with an AOL CD but not a cable to hook the printer up to my computer?

I mean seriously, who actually subscribes to AOL anymore?

Modest Proposal Saving Time

Unless you’ve been living under a rock lately, you’re probably aware that that Daylight Saving Time (note the lack of a terminal “s” anywhere) has been bumped up to this weekend instead of the first Sunday in April, and that people are predicting all sorts of doom and gloom as computers that are smart enough to self-adjust for DST but not smart enough to be aware of the rule change will not only not adjust themselves not, but will adjust themselves on the wrong day from now until heat death or the repeal of the Energy Policy Act of 2005, whichever comes first.

For some reason, people have ridiculously strong feelings about DST. Or at least, people in Indiana do, where believe it or not it’s a significant political issue, with the state having recently joined all the ones around it in observing it. Of course, this is a state where people voluntarily call themselves hoosiers, so, you know, there’s that.

As for myself, I could go either way on the issue. What’s important is that there’s some consistency. If everyone uses DST, fine. If nobody does, that’s also OK. When some people do and some people don’t, that’s where you have a problem, as there’s a period of at least several weeks where you have no idea what time it is where those other people are — are they still an hour behind, or are they the same as us now? What about next week?

If you ever try traveling from one part of the state that doesn’t observe DST to one that does, at a point near the boundary of DST observance, over the course of a weekend where DST goes into effect, well, you will have no idea whatsoever what time it is. I can speak from experience on this. And don’t think your cell phone’s clock will bail you out, either; its clock will depend on which tower happens to be closest at any given moment.

At times like these (or possibly at times like an hour ago, depending on whether you remembered to change your clock yet or not), you might wonder why we bother with DST to begin with. Ostensibly, the main reason is energy conservation. Aligning human activity cycles with daylight in principle results in lower energy use, as you don’t have to turn as many lights on to see. Since people are far too stubborn and set in their ways to voluntarily adjust their schedules as the times the sun rises and sets change along with the seasons (stupid axial tilt), the government tricks us into doing so by shifting our entire temporal reference frame by an hour twice a year.

And that’s what’s at the heart of the matter. Our reckoning of time is pretty much arbitrary anyway. Sure, the notion of a “day” is largely determined by our planet’s orbital and rotational parameters, and seems pretty cut-and-dried (until you start worrying about solar days versus sidereal days, at least). But once you start subdividing that, things get pretty arbitrary. Why divide the day into 24 hours? Tradition, and the fact that 24 is divisible by almost anything you can throw at it, which makes the math work more easily. How do we decide when one hour ends and the next begins?

Traditionally, we’ve used solar noon, the time the sun is at its highest, as the reference point. Of course, the time of solar noon varies with longitude, which becomes confusing once you start interacting with people outside your own town, where the difference in your local noons starts being measurable. One of the factors leading to defining standard time zones, after all, was the confusion in trying to figure out what those times in train schedules actually meant. But with time zones, 12:00 pm only corresponds roughly with local noon, and not even very well if you’re a country like China that insists it’s a single time zone despite being wide enough for five.

But if some of us are willing to go that far for consistency, then why shouldn’t we be willing to drop the fiction that 12:00 pm means anything anyway, aside from some arbitrary reference point to start ticking off the hours from? Why don’t we drop time zones altogether and all use the same time reference?

In other words, why not have one worldwide time zone?

It certainly makes managing clocks a lot easier — they’re all set to the same time. Most computers do this internally anyway; “local time” is just an adjustment the computer applies before displaying it to you, which is why it’s able to adjust for DST automatically without getting hopelessly confused even if it runs continuously through a certain weekend in fall. And with the time our clocks display divorced from any local astronomical phenomena, DST is pointless.

Plus, you get the benefit of always knowing what time it is, anywhere on the planet — just look at the closest clock.

Sure, it might sound weird for your day shift to be from, say, 1:00 pm to 9:30 pm, but that’s just because we used to call it 8:00 am to 4:30 pm. The only reason you associate 8:00 am with morning currently is because that’s when 8:00 am happens to be. If you were raised under a unified time reference, the first system would seem just as nutty.

And there’s no more confusion with the solar time-of-day under a unified clock than we have with time zones now. Someone being two hours behind is just as valid — their morning is still two hours after yours. It’s just a matter of their morning being at 3:00 pm instead of 1:00 pm like yours is. There’s no fundamental difference in they way you think of the solar time difference, but now you have the advantage of a stated time being interpreted unambiguously worldwide.

So, this weekend, take a stand for restoring sanity and reason to our temporal reference. Don’t set your clocks ahead an hour. Set them to Coordinated Universal Time and take comfort in the fact that you’ll never have to set your clock forward or back ever again, regardless of where you go or what time of year it is.

And while we’re at it, can we please drop this whole am/pm nonsense and go with 24-hour time too?