Vid's Space

Hello! You are visitor number 80976! I may be a bit narcissistic, but I don't quite want to talk about myself for pages and pages on my website anymore.  I could, but that might be a bit depressing.  Meh, at least I have a job.

Suffice it to say I'm a pansexual nudist roadgeek with issues including but not limited to depression, selective eating disorder, and possibly Asperger's syndrome.  But again, this page isn't about me.  Instead, it's my space for random thoughts which I hope you'll find interesting or amusing. 

By the way, if you don't like the fonts or colors on my website, now you can override them using the Style Chooser!  As for other improvements to this site, I really need to redo the guestbook, get the counter/greeter system to work how I originally intended, and oh yeah, get in the habit of adding content more often…

Random Quotes

I hope you'll find the following quote amusing and/or thought-provoking.

“YOU ARE TEARING ME APART, LISA!”

— Johnny (The Room)

A new quote is randomly selected three times each day. For your convenience, here's a permanent link to this quote.

Cool Story, Bro!

Here you'll find brief anecdotes which usually are worth the time spent reading them.

New items will be selected in 33.6 hours.

Tornado

I was one of those kids who not infrequently made messes for fun. Usually there was some kind of imaginary drama playing out in my mind. Once I knocked down every item on the bathroom counter. When my mom found the mess, she scolded me, saying “It looks like a tornado came through here!” While I was apologizing, I thought to myself, “Tornado — that's exactly what I was going for!”

Self-Referential Playlist

I was mowing the lawn the other day, listening to 80s music on my smartphone. In the song "Everybody Walk the Dinosaur", I noted a lyric that said something about watching "Miami Vice". As if to say "That's a good idea," my media player chose the "Miami Vice" theme song to play next.

L Fan Club

So this one time I was at a mall in southeastern Michigan, wearing a T-shirt featuring the Deathnote character known as L. A group of young women complimented me on the T-shirt and asked me where I got it. I told them I'd purchased it at Hot Topic, then I asked if they were cosplayers. Indeed they were. How did I know, you might ask? That's a good question; the young women asked too. I told them they had “anime hair”. Pitch black, unmoving, spiking at odd angles — definitely anime hair.

More Cool Story, Bro!

Passing Thoughts

This is the opinion section of my site. If I have something to say to a general audience that won't fit in a tweet, it'll probably end up here.

New items will be selected in 9.6 hours.

Leap Day Reform for the Digital Age

Many date-handling tasks computers routinely face — such as translating dates between human-readable and internal formats, or just determining what day of the week a given day falls on — requires code that converts a year/month/day combination to a simple number of days since some reference date, or vice versa. Anyone who has had to write such computer code knows that our Gregorian Calendar isn't very convenient for computers.

For example, one fairly obvious method would be to start with the day of the month, then add a number to that (using the month as an index into a lookup table) to obtain how many days since the start of the year. But then, if it's a leap year and the month is greater than February, the program has to add one. Finally, to this number, the program adds 365 times the year (relative to the reference year) plus the number of leap years after the reference year and before the year of the date being evaluated. Now consider the Gregorian Calendar's rules on leap years: every year that's a multiple of four is a leap year, except years that are a multiple of one hundred are not leap years, unless the year is a multiple of four hundred, in which case it is indeed a leap year.

The first thing about all that I'd like to simplify is how, for any month March and later, the number of days since the start of the year for a given date depends on whether or not the current year is a leap year. This consideration can be made unnecessary by moving leap days to the end of the year. In the Digital Age Calendar, February's length is fixed at 29 days, and December's is 30 days, or 31 in leap years.

The next thing I'd like to simplify is the pattern of leap years. I'll keep the general pattern of having a leap year every multiple of four, because it's already convenient for computers. Scrapping the one-hundred-year and four-hundred-year parts of the pattern, we'd wind up having leap years slightly too often. So I calculated the ideal interval between skipping leap years, and it turns out to be almost exactly 128 years. That's surprisingly convenient for a computer! In the Digital Age Calendar, leap years are those preceding the multiples of four, but not those preceding multiples of 128. (The choice to have leap years before multiples of four is to further simplify computer calculation. The alternative would be to somehow insert a leap day at the beginning of the year, and I don't think people would adapt so well to having a 0th of January.) Anyway, the resulting pattern of having 31 leap days in a 128-year cycle matches the Earth's orbit considerably better than the Gregorian Calendar's pattern of 97 leap days in a 400-year cycle.

So here's some simple computer code to convert from a date to a number of days. In this example, the reference date is December 31, 1919 in both the Digital Age and Gregorian calendars.

const int MOffset[12] = {0, 31, 60, 91, 121, 152, 182, 213, 244, 274, 305, 335};

int SequenceDay(int Year, int Month, int Day) {
	Year -= 1920;
	return (Year * 365) + (Year >> 2) - (Year >> 7) + MOffset[Month + 1] + Day;
}

void SplitYMD(int Seq, int &Year, int &Month, int &Day) {
	int Cycles, Quads;
	Seq -= 1;
	Cycles = Seq / 46751; //integer division, rounded towards −∞
	Seq += Cycles;
	Quads = Seq / 1461;
	Seq -= Quads * 1461;
	Year = Seq / 365;
	Seq -= Year * 365;
	Year += Quads * 4;
	Month = 11;
	while (MOffset[Month] > Seq) {
		Month -= 1;
	}
	Day = Seq - MOffset[Month] + 1;
	Month += 1;
	Year += 1920;
}

While this may look a lot like C++, consider it to be pseudocode — especially if you find syntax errors. For the Gregorian Calendar, there would certainly have to be more ifs and modulos. Also, feel free to substitute your favorite search algorithm for my while loop. (I'd personally implement a binary search, but the linear search makes clearer pseudocode.)

Of course, any time a new calendar is adopted, there will be some conversion issues, particularly if the adoption isn't universal. Still, the difference would only be of one day, and only for 60 days each year, three of every four years. Seven eighths of the time, the calendars match. That is, until 2048, at which point the calendars will begin to disagree every day until 2100…

Besides the simple fact that people don't like change, I don't see why this calendar couldn't be adopted. Using the slightest amount of care in selecting the transition date, it's easy to make the transition without a noticeable jump in the date, as happened in the switch from the Julian Calendar. They did it back then, and this change would be even less of a bother. Except, perhaps, for the millions of embedded systems that can't easily be updated. How's that for irony?

Okay, I realize that the only practical problem solved by this new calendar is in writing code, and once the code is written, it hardly needs to be written again. Furthermore, any performance gains resulting from simpler code are irrelevant considering modern computing power. Still, I find this Digital Age Calendar to be simply more elegant and logical. Can't that be reason enough to switch?

2012

Everybody says the Mayans predicted the end of the world towards the end of 2012. No, they didn't. The Mayan calandar is actually kind of complex, but one of the simpler ways the Mayans wrote dates was by counting days up to groups of 20, and up to 18 of those groups in a larger group of 360 days, just about a year. The Mayans liked multiples of 20 as much as modern society likes multiples of 10, by the way. Anyway, those year-ish periods were grouped into packs of 20, and those packs grouped into even bigger groups of 20, which archeologists call a baktun. A baktun is about 394 years long, and this December, we're going to hit the end of the 13th baktun. That's pretty much it.

But what are these baktuns counting up from? Here's where it gets interesting. The Mayans didn't just start counting the first baktun when they invented this system of writing dates. Similar to that monk who figured out how long it had been since Jesus was born and allowed us to start numbering the years, (that started sometime in the 600s, by the way) the Mayans believed Creation had occurred a few thousand years in the past, so the first baktun was actually a time before the Mayans were around.

Sorry, here's where it gets interesting. The Mayans believed that we're actually living in the fourth creation. Apparently the first creation wasn't good, so the gods tried again until they got it right. The third creation lasted — get this — exactly 13 baktuns before the gods gave up on it and started this one. The Mayans seemed to think the number 13 was special too, by the way.

So how's creation doing this year? Is it good, or are the Mayan gods going to hit the big reset button again? It's possible that this December, we'll really see Judgement Day — not some spacey planetary alignment or gravitational shift, but literally judgement passed down from the gods themselves. That is, if the Mayans were right. About the gods and creation. And even then it's just a maybe. As far as I know, the Mayans themselves (yes, they still exist) aren't expecting the world to end this December.

More Passing Thoughts

Cool People

Cool Famous People

Here are, in no particular order, some of my favorite people from movies and TV:

Cool Obscure People

Here are, in no particular order, some of my favorite people of whom you may not have heard:

Best of my LJ

You know how radio shows often run "best of" shows during the weekends or when the stars are on vacation?  Well, I haven't posted to my LiveJournal much recently, but there are some good nuggets from the past I thought I might share here.