Culture

12DC – Day 10: Santa Slashers

Last year I checked out some holiday horror films and found myself enjoying them quite a bit. This year’s crop turned out alright as well, though I wasn’t able to get to Don’t Open Till Christmas (very long wait on Netflix – the same fate that befell Silent Night, Deadly Night last year).

  • Santa’s Slay: It’s hard to believe that a film written and directed by a protégé of Brett Ratner could be entertaining at all, but then, here we are. Of course, it’s not fine cinema or anything, but it’s quite a bit of fun. Former professional wrestler Bill Goldberg plays Santa and does a reasonably menacing job in the role. Interestingly enough, the movie attempts to build in some history to the story of Santa and why he is the way he is… It turns out that Santa lost a bet with an angel around 1000 years ago, and thus he had to act nice and deliver presents to the world. But now that agreement has lapsed and Santa goes on a murderous rampage. The flashback that tells this part of the story in the film is done in a rather awesome stop-motion animation, reminiscent of the old Rankin/Bass stuff – a nice touch.

    Rankin/Bass Style Animation

    Indeed, there are a lot of little things that I really liked about this movie. Some of the jokes are actually funny and the pop culture references are present without being overbearing. I would have liked to have seen more Santa slayings, but ultimately, this film was a lot better than I expected. Again, it isn’t especially brilliant, but it’s rather well put together and worth a watch if you go in for this sort of thing. ***

  • Christmas Evil (aka You Better Watch Out): I had no idea that this was a Troma film until I saw it during the opening credits. However, despite the Troma reputation, this film is much more deliberate and measured than you might expect (there’s not even much in the way of gore). The story follows Harry Stadling, a guy who works at a toy factory and has an unhealthy obsession with Santa Claus. For instance, he observes neighborhood kids and makes naughty and nice lists, tabulating all their deeds into two giant books. Eventually, Harry snaps, dresses up like Santa, paints his van to look like a sleigh, and heads out on Christmas Eve to give presents to the nice kids… and punish the naughty ones. Unlike Santa’s Slay, Harry actually makes a distinction between naughty and nice, and does not harm the nice people. The naughty, on the other hand, well, they get what’s coming to them. Harry is portrayed in a surprisingly sympathetic light, no doubt a result of a rather good lead performance by Brandon Maggart. The film was quite low budget, and it shows, but it’s still a very interesting movie. Also, I rather loved the ending, despite the fact that it kinda comes out of nowhere and makes no sense. It’s still fun. ***

    Santa the slasher

  • Dead End: Not sure where I heard of this, but it takes a familiar premise and… doesn’t really do all that much with it. A family driving to Christmas Eve dinner takes a “shortcut” and find themselves on a mysterious road through a mysterious forest where they pick up a mysterious woman who mysteriously disappears, but then someone sees a mysterious car that looks almost like a hearse driving away with one of the kids and it’s all very mysterious. This sort of thing could work if there was some sort of reasonable explanation for all the mystery… or if the dialogue were good or if the plot progressed in a fashion that made sense in some way. Some serious horror movie tropes here. Like people walking off by themselves or other seriously stupid stuff. For a low budget film, it looks pretty good, and they did manage to find some reasonably good actors, but some of the dumber plot points and the ending just left a bad taste in my mouth. *1/2

That’s all for now. Coming down the home stretch, we’ve got the night before Christmas and the big day itself!

12DC – Day 8: Eggnog!

Last year, I posted about my family’s eggnog tradition. Every Thanksgiving, we all bring a few eggnogs and have a tasting. We’re pretty bad about organizing it, but this year things went reasonably well, with 12 varieties and even a few new ones. I’m determined to do a true double blind taste test next year… Anyway, here’s this year’s lineup:

Eggnogs

For reference, these are the eggnogs pictured (from left to right):

  • Wawa
  • Swiss Farms
  • Turkey Hill
  • Lucerne Farms
  • Southern Comfort (Traditional)
  • Hood (Golden)
  • Hood (Pumpkin)
  • Hood (Sugar Cookie)
  • Southern Comfort (Vanilla Spice)
  • Wawa (Pumpkin Spice)
  • Lactaid
  • Rice Dream Rice Nog

Just like last year, there wasn’t particularly scientific or comprehensive about the process, but a general consensus arose. First, “flavored” eggnogs (like Vanilla Spice or Pumpkin, etc…), while tasty and a nice change of pace, were generally considered to be out of the running for the prize. For the most part, I don’t think we’ll be pursuing flavored brands in the future. This will lessen the quantity of egg nogs, but it will also make it easier to conduct a double blind taste test. Anyway, there was actually a tie when it came to decide the best eggnog. The winners:

Winners: Wawa and Swiss Farms

Wawa brand and Swiss Farms brand eggnogs came out on top, with 5 votes apiece. For those of you non-East-Coasters, Wawa is a popular convenience store (a la 7-Eleven, but better) and dairy farm, and their Eggnog is great. Swiss Farms is also a local dairy, and their stores are these strange drive through affairs… Their eggnog was a new addition this year, and obviously a successful one. It’s quite good. On the other end of the spectrum, there was a unanimous decision to crown Rice Dream Rice Nog the most disgusting, though quite surprisingly, Lucerne eggnog did quite poorly. I’m not sure how Rice Nog would compare with Silk Soy Nog (last year’s loser), but they’re both pretty foul.

Losers: Lucerne and Rice Dream

One of the funniest things about Rice Dream was a little warning label that was on the side. I took a picture, but Kelson’s is much better, and I won’t ruin the surprise.

Anywho, it was a good year, and I’m looking forward to next year’s tasting!

12DC – Day 7: Treevenge!

On Saturday, I posted a picture of the traditional Kaedrin Christmas Cactus. I’ve been delayed a bit due to some server host issues, but today we’re going to see a reason not to have a tree (though honestly, in my case, it’s more due to laziness than to what you’re about to see). It’s a short film made by Canadian filmmaker Jason Eisener (he also made this bit of insanity, which I may have posted during the 6WH last year), and a word of warning, it starts out pleasant enough, but it eventually gets very gory, so proceed at your own risk.

Of course, that’s complete fiction. Everyone knows that our bloodthirsty lust for Christmas trees leads to the extinction of the pine tree.

12DC – Day 6: The Christmas Cactus

Last year, the strand of lights I had on the cactus burnt out, so I had to replace it… And now I remember why I never took lights off the thing before. Taking them off and putting them on can make for a painful experience. In any case, I present you with the 2009 traditional Kaedrin Christmas Cactus:

Traditional Kaedrin Christmas Cactus

There you have it. Later in the 12DC, we’ll go over some reasons not to have a tree (even though, hey, I love Christmas trees too).

12DC – Day 5: Friday is Holiday List Day

Even though it is infrequently observed, Friday is list day, so here’s a couple lists…

Not So Random 10

Holiday music generally gets overplayed, but let’s see what comes up:

  • Shostakovich – “Suite #2 For Jazz Orchestra – Waltz #2”
  • Vince Guaraldi – “Linus and Lucy”
  • Bobby Helms – “Jingle Bell Rock”
  • Weezer – “We Wish You a Merry Christmas”
  • John Lennon – “Happy Xmas”
  • Tchaikovsky – “The Nutcracker Suite”
  • Gary Hoey – “Carol of the Bells”
  • Bruce Springsteen – “Merry Christmas Baby”
  • Vince Guaraldi – “Christmas Time Is Here”
  • Sufjan Stevens – “Come on! Let’s Boogey to the Elf Dance!”

Yeah, so some of those are reallly overplayed, but what the hey.

Holiday Link Dump

Well, that’s all for now. Stay tuned for what passes as a Christmas tree around here as well as Egg Nog madness.

12 Days of Christmas: Day 1 – Tarzan, Tonto & Frankenstein

It’s that time of year again, and in keeping with the tradition of seasonal posts (i.e. last year’s 12DC and the 6 Weeks of Halloween), today marks the first of twelve holiday themed posts. As with last year, most will be short posts (usually just a pic or video), but Wednesday and Sunday posts will tend to be longer. And so we begin with a bit of a softball, but for some reason one of my favorite SNL holiday gags growing up. I give you: Season’s Greetings from Tarzan, Tonto & Frankenstein!

I don’t know why, but this seriously cracked me up. Another vid in the extended entry (unfortunately, the best part gets cut off at the end, but it’s still awesome).

Interrupts and Context Switching

To drastically simplify how computers work, you could say that computers do nothing more that shuffle bits (i.e. 1s and 0s) around. All computer data is based on these binary digits, which are represented in computers as voltages (5 V for a 1 and 0 V for a 0), and these voltages are physically manipulated through transistors, circuits, etc… When you get into the guts of a computer and start looking at how they work, it seems amazing how many operations it takes to do something simple, like addition or multiplication. Of course, computers have gotten a lot smaller and thus a lot faster, to the point where they can perform millions of these operations per second, so it still feels fast. The processor is performing these operations in a serial fashion – basically a single-file line of operations.

This single-file line could be quite inefficent and there are times when you want a computer to be processing many different things at once, rather than one thing at a time. For example, most computers rely on peripherals for input, but those peripherals are often much slower than the processor itself. For instance, when a program needs some data, it may have to read that data from the hard drive first. This may only take a few milliseconds, but the CPU would be idle during that time – quite inefficient. To improve efficiency, computers use multitasking. A CPU can still only be running one process at a time, but multitasking gets around that by scheduling which tasks will be running at any given time. The act of switching from one task to another is called Context Switching. Ironically, the act of context switching adds a fair amount of overhead to the computing process. To ensure that the original running program does not lose all its progress, the computer must first save the current state of the CPU in memory before switching to the new program. Later, when switching back to the original, the computer must load the state of the CPU from memory. Fortunately, this overhead is often offset by the efficiency gained with frequent context switches.

If you can do context switches frequently enough, the computer appears to be doing many things at once (even though the CPU is only processing a single task at any given time). Signaling the CPU to do a context switch is often accomplished with the use of a command called an Interrupt. For the most part, the computers we’re all using are Interrupt driven, meaning that running processes are often interrupted by higher-priority requests, forcing context switches.

This might sound tedious to us, but computers are excellent at this sort of processing. They will do millions of operations per second, and generally have no problem switching from one program to the other and back again. The way software is written can be an issue, but the core functions of the computer described above happen in a very reliable way. Of course, there are physical limits to what can be done with serial computing – we can’t change the speed of light or the size of atoms or a number of other physical constraints, and so performance cannot continue to improve indefinitely. The big challenge for computers in the near future will be to figure out how to use parallel computing as well as we now use serial computing. Hence all the talk about Multi-core processing (most commonly used with 2 or 4 cores).

Parallel computing can do many things which are far beyond our current technological capabilities. For a perfect example of this, look no further than the human brain. The neurons in our brain are incredibly slow when compared to computer processor speeds, yet we can rapidly do things which are far beyond the abilities of the biggest and most complex computers in existance. The reason for that is that there are truly massive numbers of neurons in our brain, and they’re all operating in parallel. Furthermore, their configuration appears to be in flux, frequently changing and adapting to various stimuli. This part is key, as it’s not so much the number of neurons we have as how they’re organized that matters. In mammals, brain size roughly correlates with the size of the body. Big animals generally have larger brains than small animals, but that doesn’t mean they’re proportionally more intelligent. An elephant’s brain is much larger than a human’s brain, but they’re obviously much less intelligent than humans.

Of course, we know very little about the details of how our brains work (and I’m not an expert), but it seems clear that brain size or neuron count are not as important as how neurons are organized and crosslinked. The human brain has a huge number of neurons (somewhere on the order of one hundred billion), and each individual neuron is connected to several thousand other neurons (leading to a total number of connections in the hundreds of trillions). Technically, neurons are “digital” in that if you were to take a snapshot of the brain at a given instant, each neuron would be either “on” or “off” (i.e. a 1 or a 0). However, neurons don’t work like digital electronics. When a neuron fires, it doesn’t just turn on, it pulses. What’s more, each neuron is accepting input from and providing output to thousands of other neurons. Each connection has a different priority or weight, so that some connections are more powerful or influential than others. Again, these connections and their relative influence tends to be in flux, constantly changing to meet new needs.

This turns out to be a good thing in that it gives us the capability to be creative and solve problems, to be unpredictable – things humans cherish and that computers can’t really do on their own.

However, this all comes with its own set of tradeoffs. With respect to this post, the most relevant of which is that humans aren’t particularly good at doing context switches. Our brains are actually great at processing a lot of information in parallel. Much of it is subconscious – heart pumping, breathing, processing sensory input, etc… Those are also things that we never really cease doing (while we’re alive, at least), so those resources are pretty much always in use. But because of the way our neurons are interconnected, sometimes those resources trigger other processing. For instance, if you see something familiar, that sensory input might trigger memories of childhood (or whatever).

In a computer, everything is happening in serial and thus it is easy to predict how various inputs will impact the system. What’s more, when a computer stores its CPU’s current state in memory, that state can be restored later with perfect accuracy. Because of the interconnected and parallel nature of the brain, doing this sort of context switching is much more difficult. Again, we know very little about how the humain brain really works, but it seems clear that there is short-term and long-term memory, and that the process of transferring data from short-term memory to long-term memory is lossy. A big part of what the brain does seems to be filtering data, determining what is important and what is not. For instance, studies have shown that people who do well on memory tests don’t necessarily have a more effective memory system, they’re just better at ignoring unimportant things. In any case, human memory is infamously unreliable, so doing a context switch introduces a lot of thrash in what you were originally doing because you will have to do a lot of duplicate work to get yourself back to your original state (something a computer has a much easier time doing). When you’re working on something specific, you’re dedicating a significant portion of your conscious brainpower towards that task. In otherwords, you’re probably engaging millions if not billions of neurons in the task. When you consider that each of these is interconnected and working in parallel, you start to get an idea of how complex it would be to reconfigure the whole thing for a new task. In a computer, you need to ensure the current state of a single CPU is saved. Your brain, on the other hand, has a much tougher job, and its memory isn’t quite as reliable as a computer’s memory. I like to refer to this as metal inertia. This sort of issue manifests itself in many different ways.

One thing I’ve found is that it can be very difficult to get started on a project, but once I get going, it becomes much easier to remain focused and get a lot accomplished. But getting started can be a problem for me, and finding a few uninterrupted hours to delve into something can be difficult as well. One of my favorite essays on the subject was written by Joel Spolsky – its called Fire and Motion. A quick excerpt:

Many of my days go like this: (1) get into work (2) check email, read the web, etc. (3) decide that I might as well have lunch before getting to work (4) get back from lunch (5) check email, read the web, etc. (6) finally decide that I’ve got to get started (7) check email, read the web, etc. (8) decide again that I really have to get started (9) launch the damn editor and (10) write code nonstop until I don’t realize that it’s already 7:30 pm.

Somewhere between step 8 and step 9 there seems to be a bug, because I can’t always make it across that chasm. For me, just getting started is the only hard thing. An object at rest tends to remain at rest. There’s something incredible heavy in my brain that is extremely hard to get up to speed, but once it’s rolling at full speed, it takes no effort to keep it going.

I’ve found this sort of mental inertia to be quite common, and it turns out that there are several areas of study based around this concept. The state of thought where your brain is up to speed and humming along is often referred to as “flow” or being “in the zone.” This is particularly important for working on things that require a lot of concentration and attention, such as computer programming or complex writing.

From my own personal experience a couple of years ago during a particularly demanding project, I found that my most productive hours were actually after 6 pm. Why? Because there were no interruptions or distractions, and a two hour chunk of uninterrupted time allowed me to get a lot of work done. Anecdotal evidence suggests that others have had similar experiences. Many people come into work very early in the hopes that they will be able to get more done because no one else is here (and complain when people are here that early). Indeed, a lot of productivity suggestions basically amount to carving out a large chunk of time and finding a quiet place to do your work.

A key component of flow is finding a large, uninterrupted chunk of time in which to work. It’s also something that can be difficult to do here at a lot of workplaces. Mine is a 24/7 company, and the nature of our business requires frequent interruptions and thus many of us are in a near constant state of context switching. Between phone calls, emails, and instant messaging, we’re sure to be interrupted many times an hour if we’re constantly keeping up with them. What’s more, some of those interruptions will be high priority and require immediate attention. Plus, many of us have large amounts of meetings on our calendars which only makes it more difficult to concentrate on something important.

Tell me if this sounds familiar: You wake up early and during your morning routine, you plan out what you need to get done at work today. Let’s say you figure you can get 4 tasks done during the day. Then you arrive at work to find 3 voice messages and around a hundred emails and by the end of the day, you’ve accomplished about 15 tasks, none of which are the 4 you had originally planned to do. I think this happens more often than we care to admit.

Another example, if it’s 2:40 pm and I know I have a meeting at 3 pm – should I start working on a task I know will take me 3 solid hours or so to complete? Probably not. I might be able to get started and make some progress, but as soon my brain starts firing on all cylinders, I’ll have to stop working and head to the meeting. Even if I did get something accomplished during those 20 minutes, chances are when I get back to my desk to get started again, I’m going to have to refamiliarize myself with the project and what I had already done before proceeding.

Of course, none of what I’m saying here is especially new, but in today’s world it can be useful to remind ourselves that we don’t need to always be connected or constantly monitoring emails, RSS, facebook, twitter, etc… Those things are excellent ways to keep in touch with friends or stay on top of a given topic, but they tend to split attention in many different directions. It’s funny, when you look at a lot of attempts to increase productivity, efforts tend to focus on managing time. While important, we might also want to spend some time figuring out how we manage our attention (and the things that interrupt it).

(Note: As long and ponderous as this post is, it’s actually part of a larger series of posts I have planned. Some parts of the series will not be posted here, as they will be tailored towards the specifics of my workplace, but in the interest of arranging my interests in parallel (and because I don’t have that much time at work dedicated to blogging on our intranet), I’ve decided to publish what I can here. Also, given the nature of this post, it makes sense to pursue interests in my personal life that could be repurposed in my professional life (and vice/versa).)