Archive for May, 2008

Meet the new boss

This past weekend, I got my first real taste of Dungeons & Dragons, Fourth Edition, playing The Keep on the Shadowfell, a preview adventure using 4e rules. And, I’m happy to say, it works.

Along with the bulk of my gaming group, I was initially hostile to the idea of change. “What do I have to gain? The rules work well as they are.”

Of course, the truth was that Third Edition had its problems and we knew it. And once flaws began being pointed out to us and the features of 4e touted, we began to sway. And now we’re behind the change, all the way.

From my experience during the first level of the adventure, I can say they’ve at least done one thing very well: making the game really start at level 1. Gone are the days of first level being one die of hit points and perhaps one ability above a standard attack.

In fact, it seems that in 4e, there was an effort to make sure that you should never have to use regular attacks except in a few select cases. Why should a Paladin simply swing his hammer, when he can also swing his hammer and invoke his deity to bolster his comrades? (Answer: because he can’t do the latter as a part of a charge. But that’s it.) Also gone are the days of the Wizard running out of spells and switching over to a measly crossbow: he can now cast as many magic missiles as the day is long.

There have been some analyses of the new rules that point out that they do bear more than a passing resemblance to some rules from some computer RPGs, like World of Warcraft. There’s some truth to this, and that’s not a bad thing: WoW is fun. Similarly to WoW, some classes can specialize in different tasks, where some can only really specialize into damage-dealing in different ways.

Take the Cleric, for example, who can be more skewed towards healing his party or towards damaging enemies. The character I’ve been playing is one of the latter, whose specialties truly lie in keeping his pals alive, and yet still fires off a few volleys of holy smiting in a given combat.

There is something to be said, however, for the fact that, when you’re the designated healer among some former WoW players, you’ll be expected to spend all your time trying to heal. Your party will then proceed to take idiotic chances, because they know the heal is coming. This isn’t a criticism of the rules, per se, more of a lament about playing with recreational boneheads.

Categories: Uncategorized

Warning: Distortion Ahead

May 23, 2008 1 comment

Last night, I was fiddling with my guitar as I often do, trying to come up with a good post topic. And then I started just jamming better than I have in a while. Five minutes later, I had my Rock Band microphone feeding sound into Audacity, and I’m recording again.

First, let’s start with the, erm, covers. If you like, try and place each riff. Answers in the comments. I’m pretty sure there’s no prize but bragging rights.




4. (Just the intro here)



7. (Also only the intro)


And then the arbitrarily-name original bits:

9. Captain

10. Delilah

11. Doom Fortress

12. Governor

13. Grass

14. Rearview

15. Rocksteady

16. Strengthium

17. Tightly

18. Trixy

Maybe I’ll actually make a whole song one of these days. Hmm.

Just listening through them just now, I think Tightly is my favorite of the bunch, although I’ve been working on Rocksteady for a while now.

Now, if you’ll excuse me, the local Anime con is calling. But I might end up liveblogging my first time playing 4th Edition on Sunday. We’ll see.

Categories: Uncategorized

Reluctant Quitting

I recently spoke quite glowingly about EVE Online, a massively multiplayer game that strives to be more or less entirely player-driven. Where Blizzard will open up new areas for conquest in World of Warcraft, the developers of EVE will simply make it possible to acquire new blueprints, from which new goods and copies of the blueprints might be made, disseminating through the market until equilibrium price is reached.

This is a bold choice, and one that its proponents find an invigorating smelling salt that awakens them from some slumber of playing other people’s games. Instead of doing Valve Software’s bidding bi-annually with each release of an episode of Half Life 2, they chose what they want to do. Where Gordon Freeman can only shoot headcrabs and save the world from intergalactic domination (spoilers!), these men may choose to manufacture projectile ammunition or perhaps mine asteroids instead. And yet I think that last sentence summed up my problem with the game: its choices bore me.

Rockstar Games recently returned from the mount, with Grand Theft Auto IV inscribed on its stone tablets, (only to find us worshiping the golden crowbar) which has brought extra attention to the notion of salvation through sandbox gameplay that they’ve offered us. Sure you could murder an opposing gang member, but you also have the opportunity to take your woman to a bar and play darts. Or maybe just hop in a cab and be driven around the city: the choice is yours.

But GTA4 also has a multiplayer mode that allows for some interactions with friends, among these computer-generated non-persons. Of course, this enhances the game play significantly: it’s hard to tell a story that begins with, “Remember that time we had seven cops chasing us…” if only you remember this particular happening, as hilarious as it may be.

So you play GTA4 with a few friends. But why not more? Well, the game only allows so many. But take away that restriction, and you get an open world with hundreds of people, and suddenly it’s massively multiplayer.

So, this meandering theory of mine goes, with EVE, where everyone is a player and everything is caused by them, why isn’t it all non-stop giggles?

This answer continues to elude me.

I know that in the core of me, each time I logged on in my brief month of consecutive play, I considered what else I could be doing. On any given evening, when I began to arm my ship for combat, that I might collect on bounties that would allow me to buy a bigger ship and hunt bigger fish, another game might cross my mind. Team Fortress 2, let’s say. Even though that game has the persistence of a flaming brown paper sack left on Old Man Stevens’ stoop, which is to say that none of your actions have any long-term consequences, it is a thoroughly compelling game.

So clearly, persistence does not make a winner of a game, although it certainly helped catapult Call of Duty 4‘s multiplayer to some interesting heights.

I’m aimlessly wondering about, trying to find a good reason to justify my cancellation of my account to EVE. For one thing, the crew of gamers with whom I consistently play are all partaking of the delightful space capitalism. I realize that no justification is really needed, and even so that my instinctual assessment of the gameplay as boring is enough.

But for some reason, I find it hard to step away. I do want to like the game, and I did for a time. But for now, I think it’s going back on the shelf.

Categories: Uncategorized

A lament

When I decided to publish the first Code Dump, the thought process went something like this: “How do I have more content on my blog with a minimum of effort? Use something I’m writing anyways!” Thus, whatever code I wrote would make it up here, with a little didactic prefacing to give it a bit of context and make it of interest to non-coders.

The problem with this is that the code I put up was, interestingly enough, rather like my blog posts: more about the high level meanings than technical excellence. This is why, for example, my posts go up with typos on occasion: it’s not that I don’t proofread them, it’s that I am focusing so hard on getting my ideas across that even egregious typos (“wan’t” for “want”) flow under the bridge.

In a similar vein, my writing of Quicksort in Java was about clarity and readability rather than pure performance. This is not an efficient implementation, even though it was trying to teach a lesson about efficiency. But I knew that getting the point across was the most important thing, so I didn’t worry about using a Linked List instead of an Array, or so forth.

But these things that I knew wouldn’t matter to the readers of my blog mattered rather a lot to the, err, visitors I received from D-Zone, a sort of Digg social-networking news site, but aimed at coders. One of their members decided to submit the Java post for consideration by their readers, unsurprisingly resulting in the largest spike of traffic I’ve gotten yet.

At first, I was excited: finally reaching a bit wider audience. But as I read the comments, I found that they were almost entirely composed of people who misunderstood affairs in one of two ways. Some misunderstood my words and were attempting to correct some straw man problem. For example, one commenter criticized my invention of the term “variably stable” which I used to indicate the fact that Quicksort is not, by definition, stable or unstable.

Stable doesn’t mean “when I’m done, it’s perfectly sorted”. It means that for sorting lists with duplicate keys, the elements which share keys remain in their original order (relative to each other). In other words, you don’t swap two elements unless you have to.

Quicksort is never stable. (The wiki article says “in efficient implementations” – this means that you can make quicksort stable, but then it won’t be quick!)

Take the final paragraph: it’s contradictory. Quicksort is the name of the algorithm, and it’s still “quicksort” even if it’s slow. Clearly the entire point of my discussion of stability was missed.

But the part that takes the entire cake shop for me is the commenter who stuck his head in and fired off the following:

You most certainly must learn to take critics. They took time to analyze your code and comment on it, and you can’t even appreciate that?
Haven’t you benefited from them?

Despite my civil response to critics and conceding they were right in many cases, this guy somehow read some alternate blog post that involved me chewing out people for helping me. Or maybe he had an axe to grind? I have no idea.

The second type of misunderstanding is a bit more subtle and I don’t particularly blame. These people misunderstood my handwaving over low-level efficiency (data structures and so forth) and felt compelled to critique this particular aspect of the program. Despite this being immaterial to the lesson I was trying to teach, they trotted out Vectors versus LinkedLists versus Arrays in a discussion that I actually appreciated, were it not so uncalled for.

And then there were those who, as near as I can tell, didn’t even read my code:

FYI, your sort doesn’t actually work, e.g.

int[] arr2 = {2, 1};
System.out.printf(Arrays.toString(arr2)); // [2, 1]

The quicksort function returns the sorted list, which is why it’s declared as public static int[] quicksort(int[] inlist). But clearly, actually reading the code instead of just copying it into Eclipse and running it would be too much work. Instead of launching a pertinent criticism, this man just showed how little he actually cared about learning what I had to say. I can only fathom that, since he already knew how he would write a Quicksort, if he treated my code likewise, it would work. Clearly, it didn’t work, but for a reason that apparently escaped him.

Oh, and then there were the jokers that commented to show how they had written their version of Quicksort, which was an improvement on mine in this or that way. There was even one guy who linked to his implementation in Visual Basic. Why he believed I would unable to find such a thing, even if I were interested, is beyond me.

These days, I get an odd clickthrough here and there from DZone, but the Java post mostly just gets a few searches bringing people in from Google. I would like to think that these are the people that might benefit from what I have to say: people who come looking to learn instead of to deride. These are the people I would like to have as readers.

There was a time that such a huge spike in traffic would (and did) make my heart race. But these days, I’m content to know that my words are read by people who are literate (you would think that would be a tautology) and, generally, understand my message once it’s laid bare.

So, thank you. In so many cases in life, quality over quantity is the ruling axiom, and I certainly think that it has proven true in the case of blog readers.

Categories: Uncategorized

For those about to blog…

May 16, 2008 2 comments

Today, last year, I decided I was going to get a guitar, and perhaps some ability to play it. The idea had struck me before, but I was finally galvanized by the musical stylings of one Robert Berry.

And now, looking back, I can’t believe I didn’t do this before.

The experience at first was predictable: after the customary development of calluses, I began progressing along in a self-teaching book that I’d received from a friend — a remnant, I think, of his failed attempt to learn from it. Now, when I say progressing along, what I really mean is skipping the first hundred pages or so of history and general information not immediately useful, until the page that said “Okay, here’s how you fret an open E!” I made it through open E, D, and A, and their minor variants, finishing that first chapter. The next chapter then wanted me to use these three chords, ineptly strummed, to create some kind of music.

Now, at the time, I wasn’t aware of the exact tune of “The Yellow Rose of Texas”, but I was fairly sure that it was somewhat more complex than three chords. So I said, “Screw this, I want to play real music,” put down the book, and looked up some tabs. If memory serves, the first thing I ended up on was “Otherside” by the Red Hot Chili Peppers. Specifically, the intro which is a very simple but melodic set of notes on the guitar.

The Chili Peppers
Me, out of tune

Learning from this, to actually play something real excited me beyond words. So proud was I of my achievement that I actually got out my laptop and set it up to start recording me. I even overlaid my playing with the Chili Peppers until I got it just right, and then took the assembled snippet of music ’round the house, desperate for approval.

What I played for them

After all of that, it gets a bit fuzzy. I do remember getting the tabs for “Code Monkey” and working through them. At one point, I was dumbstruck at how fast I was expected to move my hand. This is silly, I thought. No one can do this quickly with any accuracy. This man must be mad.

Of course, these days, I can play that riff with my eyes closed. The process getting here is a little tricky to define. I don’t think I ever picked that guitar book back up, although I did spend some quality time with this rather nice website offering a few free lessons that I thought were almost ideally constructed: a bit of theory, a bit of work for each hand, and then a chance to play some real music, even if only a few bars.

This came from my guitar, but unrepeatably so

The rest of it has been just playing around. Seeing what happens when I do this or that. It was in exactly this fashion that I accidentally uncovered the intro to the riff of the song Pointless: whilst picking away at the B string one day, I came across a series of notes that had an uncanny familiarity. Some more playing around and I had a pretty good concept for the riff itself. Of course, at this point, I had another very similar moment to when I first played “Otherside”: I ran over to my computer, started recording, made a rough version of it, and sent it off to Bob, eager for approval. (He was gracious enough to oblige, of course.)

What he heard (somewhat more loudly than I’d like)

There have been a number of eye-opening revelations, discoveries of sorts that exposed new vistas of sound. See, when I phrase it this way, it sounds really grand. But what I’m talking about is stuff like “discovering” the B and high E strings. For so long, I spent all my time on the lowest four strings, where power chords came easy and cheap, and you never had to worry about the piercing wail of the high E. But with the proper tone settings and/or palm muting, there are some rather lovely sounds to be found there, as “Pointless” can attest.

A few quick power chords

One of the other big revelations is just how incredibly large a part rhythm plays in music. I knew on some peripheral level that it had a bearing on matters, but it wasn’t until I learned to play the James Bond theme, of all things, that it became apparent. See, this is a thoroughly simple riff, consisting of, in total, seven different notes. But unless you play it just right, it sounds all wrong. And playing it right isn’t a matter of proper fretting, it’s a matter of timing. It’s hard to put in to words, because it was a sort of spiritual revelation, but it was profound.

I particularly like the ceaseless rhythm here

These days, though, I’ll pick up my guitar and just start picking away. Sometimes my hands will go to a particular riff from some song of real music, but in most cases, I’ll fiddle around and hope to come up with something that sounds interesting. But it makes for a great workout, especially for the fretting hand. A year’s worth of semi-aimless playing has gotten me to be comfortable with the frets in many different shapes.

Messing around results in this kind of questionable (and quiet) content

Where to go from here is a bit of tough question, really. Writing actual whole songs has proven a difficult task, despite a modest collection of fragments and ideas I’ve recorded over this past year. My theory on this is that I’ve taken the traditional approach to learning by experience to fragments and small riffs: read a lot, write a little, read a lot more, write a little more. But it is difficult to expand this algorithm to larger pieces such as whole songs, largely because of the unreliability of free tablature.

Basically, the system goes like this: some guy puts up what he thinks is the “right” way to play this song, on some site with an absurd number of popups (as they all seem to), and waits for people to come along and read it. Of course, people do, and then someone else comes along and tells him how he’s doing everything wrong. So this second guy published what he thinks is the right way to do things. It’s all very reminiscent of an unedited and unaccountable wiki. Think about everything you’ve been told about the supposed problems with taking facts from Wikipedia. Double that, and you’ve got the quality of these free sites.

While it’s pretty hard to dispute the “right” way to play the riff to, say, “Enter Sandman” by Metallica, just like it’s hard to dispute that Gambia is a small country in Africa, it’s pretty easy to get into a flamewar over who wrote up the guitar solo properly. A good example of this is the intro riff to “Sweet Child of Mine” by Guns ‘n’ Roses. As a sort of test, I decided to learn, perform, and record it all last night, to prove my progress to myself. It was always a favorite of mine in Guitar Hero 2, because it was decently complex. What I have is twangy and unsatisfactory, but it’s far too late to re-record it, so you get what I got.

The spirit is there

I think what this means is that I probably need to cough up some dough and take it to the next level. That’s not an entirely repugnant idea, given that this hobby hasn’t cost me a nickel outside my initial $200 investment in guitar and amp. I’m even still using the strings that came with this thing from the factory. They stay in tune and sound just fine, so I’ve yet to find a good reason to replace them.

Actually, that’s been the way of things with most of my gear. A few weekends ago, I took my axe over to the local Music-Go-Round to check out some amps. While I won’t deny that the $130 amp sounded better than the one that came included with my guitar, it certainly didn’t sound $130 better. Mostly it just had the advantage in that it had some effects simulation that, while cool, seemed somewhat useless. Maybe if it could give an authentic Rockman amplifier tone (of the sort that made Boston famous), that would be worth it.

Another intro to an unwritten song

Likewise, I ended up setting aside my SG and picking up some of the really nice (read: expensive) guitars they had hanging on the wall, and jamming with them. Maybe I wasn’t listening right, but I’ll be honest: I couldn’t hear a terribly big difference. Even going from the double-coil Gibsons to the single-coil Fenders, the main difference seemed to be the background hum of the single-coils. Sure they sounded different, but it seemed to me that the bridge pickup on my SG sounded pretty close to a single-coil, and the rhythm pickup gives a nice fat humbucker tone.

But I digress. My gear is still working (although my guitar strap could use replacing), and I’m still working at it. I haven’t taken any formal lessons, but I still would like to think myself a moderately competent guitarist, with room for improvement. I can pick up and run with most tabs rather quickly, and I hope I could do the same with real sheet music. I qualify that simply because my trial-and-error education has not gotten me a terribly solid grounding in music theory, especially sheet-music reading. I know there are twelve notes, with seven real notes, and five in-between notes. There’s also two sets of real notes without in-between notes, but I couldn’t name them off the top of my head. It’s just not the kind of information that’s been relevant of late.

The pacman sound I declared that I would able to play a year ago (really quietly)

My grandmother has often requested some sort of concert, and in truth, I’ve been afraid to attempt to acquiesce, mostly because of my lack of playing cogent songs. I suppose I really should see to remedying that, because it’s only so long before she becomes fed up with my delays and withholds dinner pending my performance.

Categories: Uncategorized

Failing Educations

May 14, 2008 5 comments

Rachel Lucas recently, err, opined on the topic if public school graduates and their preparedness for community college. While I certainly agree that there are problems to be addressed with most public school systems, I would like to take an uncharacteristically optimistic turn and offer some hope.

Part of this willingness to defend public schools, something I’ve argued against in the past, comes from my rather positive experience in the segment of my particular high school that I spent four years in. This included, for example, a unique Linux class and two semesters of AP Calculus.

On the reverse, however, I’ve heard horror stories from regular old non-honors (“academic”) English classes. This evidence is secondhand and anecdotal, but seems to be telling. From what I was able to gather, the level of class you take correlates strongly with your willingness to work. The ranges worked out something like the following, for English:

  • AP: Willing to write multiple literary and analytical essays and read a ton of books.
  • Honors: Willing to write one or two major papers and do the minimum amount of work to do well.
  • Academic: Who cares about old dead white guys’ writings I mean really who needs to put together correct sentences?

This seems, to me, a result of mandatory schooling. The students that, for whatever reason, do not want to be in school and are unwilling to work, but cannot or do not stop coming for whatever reason, are generally unwilling to be taught. But, per mandate of the school system, they must be. A further wrinkle is that if the school begins giving these erstwhile students the grades that their work likely deserves, then the school may begin to appear in a poor light because it has so many students failing. This failure, of course, being the fault of the school for not reaching out, or trying hard enough, or whatever.

Essentially, the entire system seems to be predicated on the fallacy that a mind that wholly devalues education can be given, forcefully, a meaningful education.

This is all a rather roundabout way of saying that the segment of the population under survey in Rachel’s post may simply be majorly constituted by students who do not prize learning.

Conversely, the case may be made that the schools in question may just be rubbish. The anecdote from one commenter on Rachel’s post that characterizes the school system in question as a pit of corruption seems telling. This is also corroborated by some quotes in the article itself (numbers inserted for reference later):

“I get so frustrated,” Hollis said. “Don’t know why I wasn’t taught those skills before coming here and having to be at this point in my life and start all over. It’s been very challenging.”

”It’s very frustrating … for the students who come in here who say: ‘Wait a minute, you’re asking me to do all this? [1] I don’t know how to do this. [2] I don’t have enough time to do this. [3] I’m not used to doing this. [4] I don’t want to do it,'” Dr. Rodriguez said.

The fact that the student talks about not being taught those skills certainly seems somewhat bulletproof: the school hasn’t gotten the students where they need to be. But as for the quote from the teacher on sample responses from students, his actions should vary a bit more widely.

  1. A legitimate grievance against the school. Probably not the student’s fault.
  2. The result of a school system that has to grapple with all kinds of learning disabilities, real or imagined, and make sure kids have no pressure to work quickly.
  3. “Tough shit.”
  4. “Get out of my class.”
Categories: Uncategorized

A Commendation

May 12, 2008 6 comments

In the past, I’ve detailed my disappointment with some widely-considered “classics”, which is why I sometimes approach similarly canonical books with apprehension. With a bad movie, at worst you can sit through it and it’s done in a few hours (although it may not seem so short). But with a book, it becomes a sort of masochistic ritual: returning each day to read more about characters you have no attachment to delivering dialogue that makes sense only in Bizzaro World.

The only book that really leaps to mind of fulfilling all of the above criteria is Dickens’ Great Expectations, which I was required to read in high school. I’m sure my mental conception of the book was strongly tainted by its being foisted upon me by cruel and uncaring English teachers, but it certainly holds a special spot in my memory for most unpleasant reading experience.

In many ways, the Lord of the Rings series is like this. Although it is a very deep and rich story in a very deep and rich world, actually reading every word of the books is a daunting task unhelped by Tolkien’s writing style.

This all made my recent finishing of The Moon is a Harsh Mistress rather surprisingly pleasant. As my father said, it is the most exciting novel about politics he’s ever read. There is a lot of minute detail that is skipped over because it is either boring or irrelevant; this omission is not even out of place given that the narrator and main character is, in the most positive sense, a hacker. It also covers some years, such that the story rarely stops moving — although Wikipedia informs me that quite a stretch of the book is taken up by one long discussion on one day. I wouldn’t have noticed on my own.

I suppose its a testament to Heinlein’s prolificacy that he was able to define such a rich world with a unique dialogue and rich history, and then leave it behind and move on to other books. Although other stories intersect this one tangentially, we never again meet the main characters of this story. I can’t see this as anything but good, given that the entire point of the book is that it is a revolution planned by otherwise normal people. Once everything was said and done, I’m sure the characters would be most content to just go home.

I’m having difficulty coming up with anything else to really say on the topic, which hasn’t been said better before, because this book is something of a high-profile classic. However, I think it will suffice to say that, if you don’t mind a bit of libertarian revolt against globalized socialism in your science fiction, you’ll agree it’s a book worth reading. You may also come to truly grok the word/phrase “TANSTAAFL.”

Categories: Uncategorized