Icebound

So I’ve clearly fallen off the wagon of “write something about every book I read,” but I feel like this one requires a small brain dump.

For a little backstory, when I was first getting into actual literature, I couldn’t get enough Stephen King books. This was middle-school era, sometime around 1993. When one of the women I bowled with found out, she highly recommended that I try Dean Koontz. I picked up a few on her recommendation and I loved them. They actually helped me get through some pretty rough times, so I’ll always have a bit of a soft spot for his works. However, as my tastes evolved, I moved on to different genres and authors. I haven’t read anything of his in years, but I one leftover book has been sitting on my to-read pile for literally fifteen years. Something in my head thought it would be a good diversion from some of the more serious literature I’ve been reading as of late (Khaled Hosseini’s works, some old classics, etc.), so I decided to finally pick up Icebound.

Icebound is one of Koontz’s earliest works (originally published in 1976 under a pen name), and while reading it I was really trying to keep that in mind. He tells a decent story if you’re looking at it from the entertainment perspective, but good lord, it feels like amateur hour in terms of language and structure. It left me wondering if all of his books are written this way and my middle-school self just didn’t notice it, or if it really is because of how early in his career it was written. Every character was introduced by name, then immediately and ham-handedly described. No character development was ever left to subtext, or even basic observation. It completely failed at the concept of show, don’t tell.

The plot was supposed to be tense, but instead it felt like a soap opera and an action movie got together and had an awkward lovechild. The story was basically enjoyable, but it just radiated melodramatic camp. There’s the son (or grandson?) of an assassinated president who hates the corrupt world of politics and goes off to seek his thrills, the brilliant and gorgeous female scientist with a fear of ice (…on the Greenland ice sheet…) along with her German ex-lover and her current quietly heroic husband, the stoic Russian who is driven by the guilt of his lost child, the black football player turned multi-degree research scientist, and more. Some of these characters might be compelling if they were allowed to develop into actual characters, but the way their biographies are just dumped on the reader feels like a “Previously, on Days of Our Lives” voiceover. Others, well, there’s only so much suspension of disbelief.

I’m half-tempted to go back and reread some of his older works to see if they’re as ridiculous as this one, but I already have dozens of books left on my to-read pile. Maybe in another fifteen years.

Bad Data and Bad Science

It’s been almost a year since I last posted, so I figured I’d take something I’m passionate about to work back into the whole writing thing. It helps that this topic has been spurred on courtesy of Twitter debates and a book I recently finished.

People who know me know that I’m pretty easy going. It takes a lot to get me worked up, in either a positive or a negative direction. However, as I’ve gotten older, I’ve realized that there is one really easy way to get me fired up: bad data and/or bad science. It’s quite often that one of these follows from the other, but every now and then they show up individually. It doesn’t even matter if I agree with the conclusions. If the path to get there is littered with bad data or bad science, I can’t help but feel the urge to tear it apart.

I’ve been feeling these pangs for a couple years now, but the first place I really noticed thetm was when I stopped reading Respectful Insolence. It was always a bit of a chore to read because of the length of the articles and the occasional jargon, but what pushed me over the edge to remove it from my RSS feeds was that I just couldn’t handle his rantings against the anti-vaccine movement. Don’t misunderstand me; I agree wholeheartedly. The problem was that just reading the refutation of anti-vaccine garbage was enough to get my blood boiling.

It doesn’t matter if the topic is Medicare fraud, chiropractic medicine, or just how to perform some action in a video game. When someone presents an argument with incorrect or unsubstantiated data, I simply cannot ignore it. If I see anything that even looks suspect, I will gladly spend the next chunk of time researching it to find out if it’s valid. Unfortunately, this will often lead me to feel like the character presented below:

Duty Calls

As I mentioned in the beginning, a book that I read recently helped bring this post together. How Risky Is It, Really? is a book that I should have been able to enjoy with ease. I completely agree that today’s society has overblown most risks and basically ignored some of the ones that actually are important. However, I found myself shaking my head and beginning to skim through it because of how loosely the author plays with the data. I can mostly forgive things some things, like rounding for effect, but every time, to quote Tim Minchin, “a small crack appears in my diplomacy dike.” By halfway through the book my diplomacy dike was nothing but rubble.

Above and beyond that, the author was a reporter for most of his career, and despite all of his attempts to warn against the way the media plays on the fears, he falls into old patterns. It’s written with an eye for the “Gotcha!” reveal, and while I can certainly appreciate that in certain contexts, this is not one of them. As mentioned, he plays loose with the data, and has a tendency to only scratch the surface of what I would consider the factual content of the book. I finished it, because I (almost) always finish books that I start, but if I’m being honest, I started skimming for the last 30 pages.

The Screwtape Letters

So far, I’m somewhat iffy on The Screwtape Letters.  Lewis continues to put Christianity in the position of absolutely logically coherent, and claims that disbelief is based solely on emotion. That is a hard hurdle to jump if I am the audience, but he manages at points to at least be interesting.

In particular, when talking about the war effort, Lewis says the following from the perspective of a devil’s spirit attempting to lure a man away from God:

Let him begin by treating the Patriotism or the Pacifism as a part of his religion.  Then let him, under the influence of partisan spirit, come to regard it as the most important part.  Then quietly and gradually nurse him on to the stage at which the religion becomes merely part of the ’cause’, in which Christianity is valued chiefly because of the excellent arguments it can produce in favour of the British war-effort or of Pacifism.

Once you have made the World an end, and faith a means, you have almost won your man, and it makes very little difference what kind of worldly end he is pursuing.  Provided that meetings, pamphlets, policies, movements, causes, and crusades, matter more to him than prayers and sacraments and charity, he is ours — and the more ‘religious’ (on those terms) the more securely ours.

Certainly seems to me that is something many of the more vocally “‘religious’”* people of today could stand to hear.

Honestly though, while I respect the man’s literary prowess, I simply do not enjoy reading his work.  I used to look upon him as one of the best religious authors, but now he just strikes me as presumptuous.  I’m not sure if I’m more cynical now or if I’m reading it with a more honest eye; I would have to put the odds at 50/50.

I’ll finish the book (hopefully soon), but it is definitely taking effort at this point.  Probably not the best choice for trying to keep up my reading habits after moving back to York.

* Quoting a quoted word is weird.

Comp 175 Final Project

I’ve always been intrigued by fractal geometry, and basically anything that can be created algorithmically. The creation of 3D fractals seemed like a natural fit, and since my focus is in HCI, I decided to play with the user input as well. Both of these decisions opened up interesting complications.

Originally, the plan was to deal with a fractal that expands from a central point, exploding off a face of the previous iteration. However, after a proof of concept, this seemed less than optimal since the user could only focus on one arm of the fractal at a time. At that point, I decided to switch to reductive fractals, starting with the 3D version of the Sierpinski Triangle.  Since time allowed, I also added in a 3D version of the Box Fractal.

Very early on, it became obvious that the GLUT implementation for user input was a spectacular failure.  It seems as if it’s polled rather than interrupt-driven, and the polling interval is awful for realtime interactions, in particular with the mouse.  After tinkering and doing some research, SDL was continually referenced as a standard and reliable library.  Getting it to compile properly under a terminal in OSX was a little quirky, but once all the kinks were worked out it performed (almost) flawlessly.

I decided to run the program in a tight loop, and this makes the user input very dependent on the frame rate.  This is the cause of the “almost” in the prior paragraph.  It results in some jerky movement at high levels of recursion, and can result in lost inputs on occasion.  It is, without question, leaps and bounds above the standard GLUT options, but it still isn’t quite perfect.  I debated rate limiting it so there is a consistent frame rate, but as it is, gross repositioning is fast and easy when the recursion level is low.  However, if I were continuing the project, smoothing out the input is one of the first places I would start.

Since the performance is inconsistent, I decided to run with a bounding box style collision detection.  It’s a little hackish, but it’s quite cheap.  This seemed to be quite important at the higher levels of recursion.  In a bounding box setup, boxes are drawn at the extremities of an object and collisions are based off those faces (which align with the XYZ planes), and camera movement is refused if it would be placed inside one of the boxes.  I decided not to implement it on the Sierpinski version because the box drawn around the tetrahedron would severely limit movement inside the fractal.  With the box fractal the bounding box lines up exactly on the cubes, so this wasn’t an issue.  Though functional, this is another place that I would make adjustments if I were continuing it further.

The camera controls of the program follow the standard first-person shooter controls:  WASD for movement (forward, left strafe, backwards, right strafe) and the mouse for looking.  Note that it is standard view, with mouse movement up adjusting the view up.

The fractal controls are fairly basic.  ”-” switches to the Sierpinski fractal, and “=” switches to the box fractal.  When viewing a fractal, the number keys control the level of recursion.  Note that the maximum recursion for the Sierpinski fractal is 6, and the maximum recursion for the box fractal is 4.  They are controlled independently, so setting one recursion level will not affect the other fractal at all.

Screenshots:

Code and Instructions:

Since OpenGL and SDL are cross platform, building this on something other than OSX 10.5.8 should hopefully require minimal changes.  However, that has not been tested.

Assuming 10.5.8 with the proper frameworks installed, building and running it should be as simple as “tar xzvf project.tar.gz”, “make”, “./project”.

Download Project

Motorcycles and Manual Labor

I just started reading Shop Class as Soulcraft, and I’m already a fan.

Seeing a motorcycle about to leave my shop under its own power, several days after arriving in the back of a pickup truck, I suddenly don’t feel tired, even though I’ve been standing on a concrete floor all day. Through the portal of his helmet, I think I can make out the edges of a grin on the face of a guy who hasn’t ridden his bike in a while.  I give him a wave.  With one of his hands on the throttle and the other on the clutch, I know he can’t wave back.  But I can hear his salute in the exuberant “bwaaAAAAP! blum-blum” of a crisp throttle, gratuitously revved.  That sound pleases me, as I know it does him.  It’s a ventriloquist conversation in one mechanical voice, and the gist of it is “Yeah!”

That description makes me smile from both sides of the interaction.

Rally to Restore Sanity

This past weekend, I was down in DC for the Rally to Restore Sanity.  My general feeling is that it was a lot of fun and a strong show of support for moderation, but the criticisms of it being somewhat undirected are valid.

Matt and I started the day off at the Donor’s Choose booth around 10 am, mingling with a bunch of redditors.  We were early enough that there was plenty of space, so we walked around that area, carrying our signs and talking to people.  Rather than trying to camp out a spot that was sure to become packed beyond comfort, we walked around the mall and talked to random people (one of whom gave us cookies!).  Once it was close to time for the rally to start, we wound our way back up through, but it quickly became obvious that we didn’t have a chance of seeing anything more than a couple minutes of the Mythbusters on a jumbotron through a tree.

Thankfully, both Matt and I were more interested in the people than the official proceedings, so we continued our wandering and talking for another couple hours before packing up and heading back home.  We left on the Metro shortly after 2 pm, hoping to (and succeeding in) beating the crowds.

Highlights of the day

  • Redditors.  I’m barely on the site so I felt a little outside-looking-in, but everyone we met was awesome.
  • Many young and attractive women cheering for Carl Sagan.
  • Talking with a little old lady from the Netherlands who just happened to be in town and had no clue what was going on.
  • Samurai dancing on a giant dragon.
  • An elderly gentleman taking a picture of my sign and then telling me it’s going to be his new Facebook photo.
  • Talking with engineers from SpaceX.
  • Our satirical interview with Rochester Buzz.
  • A couple dressed as The Joker and Harley Quinn from Batman: The Animated Series carrying a sign a la Fred Phelps that says “God Hates Bats”.  (side note:  Holy crap WB, that may be the worst official website I’ve ever seen)

Less than awesome things

  • People missing the point.  There were a few too many vitriolic signs for my taste.
  • Standing in line for 20 minutes for the bathroom.  Could have been worse, though.
  • Spending a total of 5-6 hours making the damn sign.  Perfectionism can be a curse.
  • Looking like I’m stoned in the interview with Rochester Buzz, and having my rant edited out.
  • Realizing post-pictures that I really needed a damn haircut.

Pictures, all courtesy of Matt.

Packing for Mars

Still shirking my plan to write something about The Mythical Man-Month, I want to get out a few quick thoughts on Packing for Mars.  First and foremost, it makes me sad that I will, very likely, never make it to space.  I got hit with that gut-wrenching realization about two-thirds of the way through the book.  Granted, I’ve intellectually known this since I was maybe 10, but something here made it resonate on a more guttural level.  I mourn for the six-year-old astronaut-to-be inside of me.

Anyway, the book focuses on the human aspects of the space program, which is an interesting topic on its own, but Mary Roach takes it so much further.  Her style is this amazingly blend of formal research and conversational tone, and I just love the way her writing sounds.  Note that I am intentionally using sounds instead of reads in that last sentence because I believe it is a more fitting description.

The topics covered deal with a wide range of human-related concerns, from comfort to clothing to food to sleeping to … I’ll say bathroom usage.  Every one of them is interesting and meticulously researched, but a large portion of the fun is all of the other things that she uncovers in the research.  I’d estimate at least half the pages in the book have one or more footnotes, and they are such beautiful sidetracks.  It’s information that’s never likely to be useful outside of bar trivia, but it’s rarely anything short of fascinating.

Packing for Mars makes me want to read everything Mary Roach has ever written or will ever write.  Before I even finished it, I had picked up Bonk.  If she decides to write a seven book series dealing with the differences between aluminum and plastic rain gutters, I will buy every one and somehow, they will all be awesome.

The Hunger Games Series

I’ve been slacking on this review thing, but it’s time to play catch up.  I’m going to be going slightly out of order, hitting up The Hunger Games series before I go back to The Mythical Man-Month.  The second is much easier to go back and reference at a later date, so I’d like to get the first out of the way while it’s fresh in my head.  Addendum:  This is finally concluded, weeks after my initial draft. I think I bit off a little more than I could chew for this one. Next series, I’ll have to do one at a time.

I started reading The Hunger Games series on the recommendation of a friend (thanks Meagan!).  She prefaced it by noting that it’s categorized as  “young adult,” but so have some great books that I’ve read recently:  His Dark Materials, Little Brother, and obviously Harry Potter.  The language structure definitely isn’t high literature, but I don’t see it as a detriment to the story, considering it’s told from the point of view of a mildly educated teenage girl.  If her thoughts and words were filled with superfluous language and peppered with semicolons it would just ring false.  Besides, this means I was able to tear through all 1200 pages in less than a week, with Catching Fire being finished in one day.

The structure of the books follows what I’ll categorize as a “Star Wars progression.”  The first book, The Hunger Games, sets up the universe and provides a cohesive story, but one that definitely doesn’t feel finished.  Catching Fire, the Empire of the group, is darker and filled with more personal conflict.  Mockingjay concludes, and the wrap-up just feels too small for a story this good.  To carry the analogy way too far, there’s a lot of backstory that could be used for a set of prequels, but I would hope that this is where the similarities end.

Enough of the boring details and on to the story, where YA fiction tends to live or die.  These are going to be a bit more extensive so I think I’ll separate it here.  Note that each of these are going to contain some spoilers.  Read at your own risk.

Part 1:  The Hunger Games
Part 2:  Catching Fire
Part 3:  Mockingjay

The TL;DR and spoiler-free version is pretty simple:  these books require almost no effort to read, and provide a great story with interesting characters.  Stop reading this swill that I write and start reading these books.  Do it before the inevitable movie is released, since it will likely pale in comparison.  See also:  The Dark Tower

The Hunger Games – Book 1

See my intro.

The Hunger Games starts off in a dystopian future where much of the world is decimated by… something.  One of the strengths here is that the author doesn’t go out of her way to explain things that really don’t matter.  Leaving some things to the imagination is a plus, especially in a young adult book.

Anyway, the known world is Panem, which is basically North America.  No reference is made to anything outside of this area.  Panem is composed of a central Capitol and twelve districts.  I view it as a hub-and-spokes design, though I can’t remember if that is ever explicitly stated or it was just my interpretation.  Regardless, the Capitol is somewhere in the Rockies, and District 12, our heroine’s home, is somewhere in Appalachia.

The back story is that about 75 years ago, there was an uprising in the districts (which are poor and oppressed).  Once the Capitol successfully squashed the uprising, they created The Hunger Games.  In this scenario, one boy and one girl from each district is selected each year to compete in a Thunderdome-esque battle to the death.  24 children enter, one child leaves.  The idea is that it is a continual reminder of the power the Capitol wields, and of the people who were killed in the insurrection.

Minor Plot Spoilers Below

Unsurprisingly, Katniss ends up in the games, but only after volunteering to take the place of her sister, Prim.  Her male compatriot is Peeta Mellark, a schoolmate with whom she shares an unspoken history.  In almost stereotypical fashion, he has an unrequited love for her, whereas she feels like she owes him for a silent favor years back.

Through the preparations for the games, Katniss does her best to develop a strategy for survival.  She does her best to stay solo, but once the games start she finds herself paired with a small girl, Rue, who reminds her of Prim.  When Rue is eventually taken down, Katniss covers her in flowers and sings to her, an act which the Capitol views as defiance.

At one point during the games, the announcer declares that there may be two victors this year, provided they are both from the same district.  Few remaining competitors meet this criteria, but Katniss immediately begins seeking out Peeta, who has been critically wounded.  This sets up the beginning of a potentially real relationship that she doesn’t quite know how to interpret.

Of course they end up winning, at which point the announcers claim that the rules are back to normal and only one may survive.  In another act of personal defiance turned political, she holds up poisonous berries that she and Peeta begin to eat.  The announcers panic and end the games, rescuing both of them.  The book ends on a semi-cliffhanger, leaving the reader wondering where we go from here.  However, it wraps up well enough to be a story in and of itself.

End Minor Plot Spoilers

Apart from the plot, one of the interesting things is that the protagonist is a female.  That in and of itself isn’t all that interesting, but how this information is revealed was novel.  For the first chunk, you’re not quite sure the character’s gender, and then offhand comments begin to get made regarding a dress, or a marriage.  The book is amazingly gender-neutral throughout, to the point where I don’t honestly know what gender some of the minor characters (such as the Katniss’s prep team) were.  Gender is noted here and there, but never emphasized as an asset or a detriment, and when the females do well in the combat situations it is never met with surprise.  It’s so subtle that I don’t think most people will even notice, but I think it’s done almost perfectly.

I loved the theme that is carried through the entire novel, even if it’s been done expertly in the past (see The Lord of the Rings):  you can’t go home again.  With each life-changing event, there is never a sense of “Ok, if I can just get through this, everything will be fine.”  Everything will, at best, be survivable.  I was also quite pleasantly surprised when this carried through the series as a whole, though I’ll get into that later.

Some of the characters were a little flat, but this fits with Katniss’s mostly-detached personality.  I don’t know if this was intentional or happy coincidence, but it works in most cases.  The only times it felt odd was with Prim and Katniss’s mother.  Neither of those characters felt as fleshed-out as I would have liked, but it makes some sense in that they were more caricatures of traits than active characters.

As I mentioned before, where this really succeeds is the story.  The simplistic language plus the constant plot advancement makes for a great page-turner.  I tend to read mainly on my morning and evening commutes, but I found myself reading in the evenings sitting at home as well.  The twists and turns are rarely surprisingly, but they’re played well enough that it doesn’t matter.

Continued in Part 2 and Part 3.

The Hunger Games – Book 2

See my intro and Part 1.

Let me begin by emphasizing that I read Catching Fire in one day.  I started it Friday morning on my commute, read it there and on my commute home, and the spent hours (after deciding to go to bed earlier) reading it through to completion.  It’s my favorite of the series, and there were actually twists in this one that made me physically sit up in bed.

Minor Plot Spoilers Below

The book begins with Peeta and Katniss going on a tour of Panem as the victors of the latest game.  She’s been instructed / intimidated by the president to keep any revolutionary actions well under wraps, though she never intended to be revolutionary in the first place.  All is well and good in the preparation for this dog and pony show, but the first stop is District 11, Rue’s home.  Peeta delivers the standard lines and avoids causing a ruckus, but Katniss jumps in at the end to give her respect to Rue and to thank the people for their bread.  This results in a moment of solidarity, originating with an old man whistling Rue’s song.  Then, as they are hurried off the stage, Katniss sees the Peacekeepers execute the old man.

The tour continues, and they do their best to not actively incite rebellion.  As it goes along, Peeta attempts to smooth things over with President Snow by publicly proposing to Katniss.  However, all of this is too little, too late, and the ball of rebellion has already started to roll.

Upon arriving home in District 12, the 75th Hunger Games is announced.  Every 25 years, the games have a twist to them, and this time, the twist is that the competitors will be chosen from the surviving victors of the prior games.  Since Katniss is the only female victor in District 12, she is automatically reentered.  Haymitch, their coach for the first games and an old victor himself, knows that if he is selected Peeta will volunteer anyway, so they begin planning for Katniss and Peeta to go into the arena once more.

For the press conference before entering the arena, Katniss is dressed in her wedding gown.  Cinna, her stylist, instructs her to spin at the appropriate time, which ignites the dress and turns the dress into a symbolic mockingjay outfit.  The mockingjay has been appropriated as the symbol of the rebellion, and as such, this is a direct challenge to the President.  Meanwhile, Peeta tells the world that Katniss is pregnant, creating one of the “Oh shit!” moments for me.

Unbeknownst to them, a large number of the other victors (and general revolutionaries) have been plotting further rebellion.  Katniss and Peeta almost immediately team up with Finnick, and slowly accumulate more compatriots.  They develop a plan to take out the rest of the competitors, but in reality it’s devised to take down the arena.  It succeeds, and some (including Katniss) are airlifted to safety by the rebellion, and some (including Peeta) are captured by the President.  The book concludes with the knowledge that District 12 has been destroyed.

End Minor Plot Spoilers

This is the Empire of the series, and just like in Star Wars, it’s my favorite.  It starts out a little slow, but more than makes up for it as the story progresses.  As I mentioned in the Book 1 review, the theme of not being able to go home again keeps on rolling.  With every action, there is quite literally no turning back.

The characters here get a little more life-like, but there is still a large number of named yet flat characters, in particular among the competitors.  They thankfully fleshed out Finnick, who very quickly became my favorite supporting character in the series.  The dynamic between characters was improved from the first book, and it seems like the author hit her stride with Katniss’s personality.

Since this book continues to be told only through her point of view, it’s interesting to see what the author allows Katniss to pick up on.  There are things that she (and many readers) might not pick up on at first glance, but they’re present in the story if one is paying attention.  What makes it interesting to me is that they aren’t always significant things that are dropped as foreshadowing.  Rather than always being the proverbial “gun on the mantle,” there are lots of little things that she misses in her naivete as well.  On top of making the character more real, it also makes the story more engaging.

The only complaint I have about the book is one that is only semi-valid at best.  The chaos at the end of the story is damn near impossible to sort through.  This is intentional, considering the disoriented state that Katniss is in and her ignorance of the overall plan, but it made me disengage from the story.  I started lightly skimming paragraphs because I knew I wasn’t going to be able to figure out what the heck was going on anyway, so I would get to a point that’s clear and work backwards.  Mockingjay clears a lot of the rubble through the other characters involved, but it was still a bit annoying as the almost-conclusion.  The clarity comes back at the last minute, which saves the ending in my opinion, but it’s still a bit meh.

Continued in Part 3.