Author Archives: Burrowowl

Server Wrangling

Failed Hard Drive

I’m not a big hardware guy. I use computers as a tool, sometimes for work, sometimes for hobbies, but I generally only get under the hood when something is wrong, and only then when whatever went wrong is seriously getting in my way.  Take the recent gallery outage for example.

I run an old Linux box with an unimpressive CPU, unremarkable storage and memory, in a seriously-oversized 4U rackmount chassis that I’ve had parked at my employer’s data center for the past half-dozen years.  Being not-particularly-inclined to fiddle with my operating system just for the heck of it, I let things get pretty seriously outdated, to the point where upgrading software like my WordPress install here was troublesome and required odd work-arounds. So I poked at it a bit, patching here and there, and at some point I managed to deny myself SSH terminal access. I could still get in via SCP (which is odd because SCP uses SSH to connect, but hey), so for the most part this didn’t matter to me.

I let it sit for a few months, taking a poke at it now and again when the mood struck me, but eventually I managed to totally screw it up to the point where I couldn’t connect via my https control panel (Webmin), SSH, nor SCP. I don’t let anybody else use any of the above, so nobody else was affected. People who wanted to use my gallery could, the handful of web robots and actual people that visit this blog could still do so as normal, and my Riddle of Steel wiki was functioning, so no harm, no foul.

Then I bit the bullet and opted for the nuclear option. In the back of my mind I was already concerned about disk usage and my decrepit old IDE drive, so I pulled the old 4u from its rack to pop a fresh disk in, install a modern operating system, and migrate the old data over. No problem, right? I’d have it done in an evening.  Of course not.

My first challenge was my server’s neighbors.  It turned out that the five servers above mine in the datacenter cabinet were not properly mounted. They weren’t even improperly mounted. They were just resting atop my box. Four little bolts in the face of my server were the only thing between them and plummeting to the floor. Oh, and one slightly-short CAT-5 cable that just about gave up the ghost as everything sagged.  A metal rack shelf and a couple of 4x4s later (I kid you not, the’re still there) my lazy neighbor’s equipment was reasonably secure again and I had my server out and ready to service.

This is when I realize for the first time in half a dozen years that my server has no CD drive. It had been a network install and never needed one before. But I didn’t have anything set up ready to serve a network install, so I’d have to cannibalize one from one of my retired desktop machines at home. Glorious. While I was was at it, I figured I would use the drive from the same machine. This will come back to haunt me later.

I finally get the CD drive and new HDD installed and promptly discover that the tray won’t open to take my freshly-burned install CD. Great.  Cue another pause in getting the gallery back up.  I cannibalize another drive from another retired machine, and lo this one opens and is bootable.  I get my install disk up and running, and 23% of the way through the process it declares I’ve got a corrupted file. Outstanding. I burn another install disk and get 11% in before getting the same error.  Two disks later it finally completes, I’ve got a simply LAMP server to migrate my data to. Or do I?

I power down, put in the old server’s HDD, and turn it back on. ATAPI errors out the butt. I fiddle with the jumper configurations, but they persist. Finally I discover that one of my ATA cables wasn’t set up correctly, and perhaps never had been. I get the sorted out and find out that my cannibalized HDD won’t boot, for reasons unknown.  Off to the store, get a new HDD, install the operating system from scratch, get the old HDD back into the picture, figure out how to mount it, and get the files copies over.

Then comes wrestling with the network configuration.  Linux likes to play coy about things like network interfaces and whether it’s got link on which port.  I get it up and running by DHCP on my office LAN to make sure I’ve got Apache and MySQL up configured properly, import the gallery database from backup, square away a couple of php.ini and virtualhost issues, and it’s time to re-rack the sucker.

There is currently a metal shelf and two 4×4’s where my box used to be, but there’s a convenient 4U opening elsewhere in the cabinet, so no problem there. I slide it in, secure it properly out of deference to the folks whose gear is below mine, and go to plug back into the switch.  The CAT5 cable I had left when I pulled the box is now gone. I grab a spare and plug it into the port I used to be on and see my link indicator light up. I fire up a console and manually enter my static IP information. Which is, naturally, kept in a different place than my DNS resolver information. Thanks, Linux.

I discover that I can’t ping out. Not by name, not by IP. I check for link. I check to make sure I’m connected to the port I used to be on. No good.  I double-check the syntax on /etc/network/interfaces and restart the network services. No good.  I check the records of which port I’m supposed to be on. The record says I’m supposed to be four ports off what what I had noted when I had removed my gear. I try that port. I get link. I reset my network. I still cannot ping. I try each of the other open ports on the switch in turn, getting link each time and finding myself unable to ping each time.  So I check for other loose cables. I find three in all, one of which I think was my old cable. I try it. No dice.  I try the others, and lo! what used to be port 10 is now port 2 and I’m back up and running.

I configured my DNS and hostname, buttoned down the cabinet, and popped the gallery link back up atop my blog.

The moral of the story here is that getting it to work is half the fun. If you can’t enjoy a process like the one described above, hire a professional.

Meta nonsense

It’s conceivable you noticed some layout changes here recently. I finally embraced the fact that it’s the 21st century and jiggered the CSS and headers of the blog theme to something that works properly on smartphones.

On an unrelated note, expect the gallery to go offline for a little while. The old beast is due for some hardware upgrades and was never built to hold as much as it does.  A redesign for that portion of the site is likely.

Pardon our dust and all that.

Delete Unchanged Form Fields

function detectChanges(oForm){
var elements = oForm.elements;
for (i = 0; i < elements.length; i++) { field_type = elements[i].type.toLowerCase(); if (field_type == "text" || field_type == "textarea"){ if (elements[i].value == elements[i].defaultValue){ elements[i].value = ""; }}} return true; }

Would you prefer to have visitors not submit text they didn't bother to change from default on your form? Set the submit button to run the above javascript function onclick. It simply iterates through each element of your form, and for each "text" or "textarea" field that still has its default value, it clears the content out. The function returns "true" so the submit proceeds normally.

Useful for long forms that include a lot of optional fields and nobody wants to explicitly test each value in whatever accepts the submission. It's client-side, so nothing should be written to rely on these fields being blank, of course. Your mileage may vary.

Hyouka


Nondescript high-school boy with a window seat gets his life hijacked by a girl from a high-class family who gets him embroiled in a number of adventures. Sound familiar? It sure does.

Hyouka revolves around a boy named Oreki Houtarou. He’s very average. What distinguishes him from other average-joe main characters in Japanese animation is that he is very intentionally average. He doesn’t like to exert himself or get excited about things, so he only does enough studying to pass his classes, he doesn’t get involved in sports or club activities, and has no discernible hobbies. Rather than pursuing the rose-colored life that every other anime protagonist dreams of, he seeks a calm grey existence. All of this ends when he receives a letter from his pushy older sister, who is up to something-or-other abroad. She insists that he join the Classics Club, of which she had been a member, to prevent it from being discontinued by the school. Figuring it is less effort to fill out a form and be a member of a club with no other members than to put up with his sister, he capitulates.

Lo, he ends up not being the only member. Enter Chitanda Eru, the aforementioned high-class girl. She is Oreki’s opposite in many ways, and quickly finds herself pestering Oreki into actually doing… anything. Eight episodes in, the general plot formula goes something like this: Oreki shows up to class or the Classics Club’s room, one of the ancillary characters brings something up that gets Chitanda’s attention, Chitanda cannot figure out something about whatever it was, and she pressures Oreki into figuring it out for her.

Hyouka has the production values we would expect from Kyoto Animation: very good. The character designs are distinctive without being over-the-top, the animation itself is expressive and thoughtfully done. The hand-held camera work from Episode Eight works quite well; it took a few moments for me to notice how good it was, which is generally a good sign. You don’t want these things to stand out too much, right?

Eight episodes in, and not a dud yet. Highly recommended, go see it.

Old School Hack

This past week was the beginning of my oldest son’s post-1st-grade summer vacation, so I figured it was high time to expose the lad to Dungeons & Dragons. I didn’t have my 4th Edition handy, so we busted out the 3.5 Player’s Handbook and whipped up a paladin. His choice. He went off on a grand little adventure, and had just earned enough experience points for third level (I only let people level up when they have some downtime) when a particularly-lucky goblin cut short his adventuring career. Rather than go through all the paperwork of making another D&D character, a task that stretches the limits of a six-year-old’s attention span, we gave a new system a try.

Old School Hack is a free-to-download rules-light system that encourages fairly free-form play, is explicitly geared towards low-preptime scenarios, uses only two types of dice, and weighs in at a whopping 26 pages. Character generation is a breeze. Roll 2d10 six times to get your stats (which don’t have a direct bearing on your ability to whack a mace upside an orc’s head), pick a class ability, select a general type of weapon (my boy’s Thief has a “reach weapon,” which could be any number of things but we say it’s a spear), select a general type of armor (four choices, nothing complicated), decide whether you have a shield, figure out why you’re adventuring to start with, and roll a die or two for starting wealth and off you go. Each character class has a highly-reasonable list of starting equipment, a selection of four class abilities that you can pick up as you advance in levels, everything you need.

Play is simple, with an order of events spelled out cleanly between six types of things you can do, and which takes precedence over which. Attacks are 2d10, with one die being designated the “face die;” if the face die shows a 10 and the total was good enough to hit the target, you hit him right in his stupid face. Take that, bad guy! No need to roll for damage, most things do 1 damage on a hit. Why sweat that stuff? When you make up a bad-guy the hit-points you give him (or whatever metaphor your game uses) are really just there to rough out how many hits from the player-characters the thing can withstand. There isn’t even a big list of monsters’ stats. Just determine if it’s a minion, a guard, a big bad-guy/villain, or a really big monster. No problem.

There’s no getting bogged down in foot-by-foot movement rules, it has an “arena”-based scene setup that reminds me of FATE’s zone system. One of the six things you can do is move from one arena to a neighboring one. Another is to impede somebody from doing just that. This makes for plenty of tactical movement for your actual at-table needs unless you’re seriously itching from from miniatures tactical skirmishing. In which case there are lots of tactical miniatures combat games out there to slake your thirsts.

Player advancement is handled as a side-effect of the “awesome points” game mechanic, by which players reward each other for outstanding play. If you see another player doing something awesome, grab a token and give it to him. These tokens represent awesome points, and you can spent them back into the collective pool to improve your rolls, temporarily get new abilities, and mitigate damage taken. Once you’ve earned and spent twelve awesome points, you can go up a level. There’s only four levels, so this isn’t the game for you if you want to run a multiple-year epic tale. Your characters start out highly competent, and can end up somewhat awesome.

Your character’s main stats (which have cool names like Brawn and Cunning and Daring) aren’t directly used for attack and defense. Instead you use them for the wide variety of non-attacky, non-defendy actions you might take. They even have a convenient diagram to give players and DMs a good idea of what to use for what:

If you find yourself needing to run a pick-up game from time to time, Old School Hack is a great tool to keep at your disposal. The price is right (a free PDF), so you’ve got nothing to lose but a little bandwidth and some time.

Guards

“Four wards alone –
Hold onto those, and curse the vulgar.
Ox, plough, fool,
From-roof–there are no others for you.”
— Late Medieval Gangsta Rap

The Riddle of Steel

In their rage, the gods forgot the secret of steel and left it on the battlefield, and we who found it. We are just men, not gods, not giants, just men. And the secret of steel has always carried with it a mystery. You must learn its riddle.

Several months ago I came across an oddly-named archived thread from 4chan’s /tg/ board. It was entitled “Pike To The Dick,” and for some reason I went ahead and read the thing. Turns out there was a pen & paper RPG published several years back called the Riddle of Steel. Its rules were of such a nature that reading a series of posts showing people playing it did not immediately make a whole lot of sense. I was intrigued, and pressed onward, reading additional archives and jumping in on an ongoing thread or two before running a handful of my own.

A little subculture had appeared on /tg/, where instead of the usual neckbearded “elegan/t g/entlemen” prattlin on about Warhammer 40k, Magic the Gathering, and feuding over Dungeons & Dragons variants there were a bunch of (presumably still neckbearded) “fech/tg/uys” with at least a passing interest in historical european martial arts putting on mock battles using this funky out-of-print game system. I got it in my head to try and learn the rules well enough to maybe actually expose my regular playgroup to it once our then-current campaign was at a good stopping point or our DM needed a break.

This is somewhat problematic. Any fair review of The Riddle of Steel as published by Driftwood Publishing would be incomplete without bringing up at least the following points:

  • It is out of print. It isn’t in-stock at your local gaming store, it was never available print-on-demand, and online retailers don’t appear to have it in stock either
  • Even if you obtain an electronic copy, you will likely find the rules to be rather poorly organized. It follows the time-honored tradition of starting with character creation rules, then moving on to how the world works in general and some information about the presumed setting of the game, but inserts the rules for combat maneuvers into the midst of character creation, leaving the actual combat rules for a later chapter, and the rules for combat recover to a later chapter still. The section on magic may as well be spot-welded onto the side of the book, as the mechanics of spellcasting and how it relates to character creation, don’t appear until even later, after rules for things like overland travel, falling, have all been discussed. It was so tangled I made a wiki so I could learn it as I cross-referenced things rather than try to wade through the book front-to-back.
  • Several key aspects of making the game playable are heavily reworked by later books. The Riddle of Steel Companion book overhauls how skills should work, making them much more conceptually accessible. The Flower of Battle clarifies and expands the combat system, reworks initiative, and greatly expands the number of arms and armor available in the game. Of Beasts & Men provides a number of useful stat blocks for stock NPCs and some rules to help deal with non-humanoid combatants (the core rulebook had no rules for determining hit locations on quadrupeds like horses or dogs, which one might reasonably expect to see happen in a fantasy RPG). Each in turn has some serious flaws that I won’t get into at the moment. Suffice to say that the authors seem to have a habit of getting outreaching themselves a bit.
  • Oh dear god the art and layout… The only good thing I have to say about the art and layout is that there are some very nice depictions of a variety of melee weapons in the Flower of Battle, and about ten good pictures total in the rest of the books combined.

All of that should serve to scare anybody away from this game, and any of them may have contributed to its commercial extinction. I don’t really know the backstory on that, but I’m pretty sure nobody went from rags to riches publishing the Riddle of Steel. But if you can look past all these flaws, I find it to be a diamond in the rough:

  • The Spritual Attributes system replaces experience points, FATE tokens, aspects, etc. as a mechanism for character advancement, utility tool for ensuring that player characters are effective when dramatically appropriate, and guidance system for keeping characters true to their concept. In this game, you specify as part of your character sheet, what is important to you and what your goals or loyalties or passions are. When acting in accord with one or more of these (or at least actively trying to), you have access to additional dice. When acting in accord with one or more of these, you reinforce these attributes and are rewarded with points that you can later use to improve your skills, proficiencies, and other attributes. You don’t get more effective by killing goblins; you get more effective by killing goblins for a reason that is valuable to your character. Or by grabbing somebody important to you and running away from the goblins. Or by joining up with the goblins to exact revenge upon your enemies.
  • Several layers of abstraction that are common to RPGs are thrown to the wind in this system, particularly in regards to combat.
    • Most games either make attacks and damage so abstract that the distinction between “I punch him in the face” and “I kick him in the balls” are purely narrative and stylistic, or that attempting to make such a distinction is penalized (because you clearly are trying to game the system in some way to your advantage). In the real world, two people wouldn’t attack each other at random locations. They would deliberately attempt to cut at each others’ heads and hands and so forth. The Riddle of Steel system doesn’t penalize called shots; it requires them.
    • Most games take an approach that generally requires that antagonists take turns. I attack you, you attack me. Taking D&D as an example, it is see a fight as two people standing five feet away from each other, waiting passively for their turns to act while the other wails away at him. In The Riddle of Steel, you only have the initiative if you take it, and once you have it you only relinquish it when you get wrong-footed by your opponent’s defensive actions. Just as you must actively select and perform offensive actions, you much actively select and perform defensive actions.
    • Ain’t no such thing as hit points. Every successful attack incurs some degree of blood loss, pain, and shock, and may cause its recipient to fall over, drop a held item, or fall unconscious. For particularly successful attacks, this can include dismemberment, broken bones, or instant death. It’s a good thing you were actively defending.
  • It has a dice-less character creation system that requires prioritization. If you want to make a character that has excellent skills and great social standing and tremendous proficiency with weapons, you are going to need to sacrifice some of your core attribute points and take a couple of fairly severe flaws. This isn’t just a point-buy where you can bump up your attributes by taking a fist-full of inconsequential drawbacks. You have to choose on a scale of A to F where you prioritize your race, social standing, attributes, skills, proficiencies, and your gifts or flaws. Contrast this with systems like Shadowrun or GURPS, and tRoS feels like it’s practically immune the min/max syndrome common to point-buy systems
  • While there are no character classes as such, the skill packages system does a fairly tidy job of getting you a number of conceptually-appropriate skills for your character. Distinctions between the skill set of a knight or a soldier or a highwayman are clear and functional. There is nothing to prevent overspecialization, but it isn’t a terribly rewarding practice either; if you pick two skill packages that have the same skill listed, you get the skill at a slightly better rating, that’s it.

From the fech/tg/uy deathmatches on 4chan, I was under the impression that this was an exceptionally lethal, brutal system. Having played it for two months straight, I can report that this is only partially true. The Riddle of Steel suffers from overly-effective armor. If you have a character that stands a reasonable chance to take down a knight in a suit of mail with a full-faced helm in a protracted duel, you are likely able to slay an unarmored man outright. I don’t know know what a good fix for this would be, but the stereotype of an armored knight wading invincibly into battle against lesser-equipped rabble and taking all comers is quite possible here.

If there’s a single game that I would love to see get the thoughtful attention of a good editor and a thorough playtest to work out some kinks, it would be the Riddle of Steel, hands down. Perhaps a kickstart project is merited?

Nisemonogatari

Somehow I managed to never write anything about a seriously good series that came out a couple years back called Bakemonogatari. It basically revolved around Araragi Koyomi, a high school student that has an overdeveloped sense of justice. Each plot arc involves him coming across a girl that is in the midst of some kind of personal crisis that is manifesting in a supernatural way. The first arc’s victim was a classmate named Senjougahara, who was beautiful and aloof, and had completely lost her weight. By which I don’t mean she was anorexic, but rather that she didn’t weigh anything. With the help of a mysterious occult expert that appears to operate out of an abandoned cram-school, Araragi invariably finds a way to remove or mitigate the girls’ curses and the story moves on to the next incident. Nisemonogatari is the sequel or continuation of Bakemonogatari. Four episodes in we are getting to the meat of the current victim’s plight. Events are conspiring to fill in a bit of the implied back-story from the first season, giving more of an impression that there is truly an over-arcing plot to the story.

The character designs and voice acting are excellent, often provoking conflicting reactions that help keep the presentation of the story off-balance. I found myself sympathizing with characters that on the surface I did not like. The pacing is stylishly disjointed in a manner resembling Sayonara Zetsubo Sensei, with oddly-timed cuts and changes in visual style. Again this helps create a form of dramatic tension that might not otherwise be present. Production quality is quite high, with each plot arc having its own intro sequence in the first series, and each episode changing its intro and ending sequences, a rare expense in popular animation. Sometimes I suspect the production companies do this specifically to appeal to a certain flavor of fanboy that sees such changes as an sure sign of quality, but in this case it’s no ruse.

Highly recommended as of four episodes into the second series.

Bickering about tax fairness is dumb

Listening to the radio earlier today, somebody was ridiculing Mitt Romney for claiming in a Univision interview that he had given back nearly 50% back to the community, and that his last two years of taxes indicated this. There were a few points made by the radio host that break down as follows:

  • He didn’t really release two years of his taxes because he hasn’t filed for 2011 yet and only released an estimate for that tax year.
  • His net personal tax rate for 2010 was 13.9%.
  • His charitable contributions were “over 15%.”
  • At one point in the interview he said he gave back about 40% back to the community, based on 13.9% plus 15%. That’s only 29.9% total.
  • His claim that the corporate tax rate of 35% is the reason capital gains taxes are lower than income taxes is spurious.
  • Counting the corporate tax rate of 35% he figures he gave back about 50% of his profits on average for the past two years.

Well, each of those points has some degree of merit and certain degree of bullshit. Clearly the point about giving back about 40% was him confusing some numbers. Romney would have to have been taking something else into account to get to that number. As for the 50% business, let’s take a look at two fairly naive theoretical situations:

In one case, Romney is a sole proprietor of a business, in the other Romney is a shareholder in a corporation. In one case all his profits are income, in the other case his profits are capital gains. For the sake of argument, let’s pretend that the corporation really pays 35% in taxes:

Romney-as-income Romney-as-corporation
Total Profit $100,000 $100,000
Tithe $(10,000) $(10,000)
Personal Income Tax $(18,824)
Social Security $(12,400)
Corporate Income Tax $(35,000)
Capital Gains Tax $(8,250)
Total Tax Paid $(31,224) $(43,250)
Cash Remaining $58,776 $46,750

That’s a naive breakdown, as it doesn’t take into account several thousand pages of tax code, personal exemptions and deductions aside from a 10% tithe to the Church of Latter Day Saints. Personal income tax is at a lower rate than corporate income tax. Social security tax (which you have to double-up on if self-employed because normally your employer has to match what you see on your pay stub) is lower than the capital gains tax, but capital gains is taxed on dividends and such, which are after taxes so it’s 15% of the 65% post-tax corporate income.

At the $100,000 scale, corporate taxes don’t look quite so drastically unfair, do they? The same dollar value of goods or services were sold, and the liability-limiting corporate setup ostensibly pays more in taxes. And yeah, it works out to about 50%. That’s what I think of as the theoretical tax rate that Romney’s accountant starts with, and that guy’s job is to game it down in his client’s favor.

Ramp that scale up to, say, $20,000,000 instead and it’s a bit different. At the personal level Social Security tops off a little over the $100,000 mark, whereas the capital gains and corporate tax rates have no cap. Several thousand pages of tax codes and subsidies and other shenanigans render hypothetical situations like this moot anyway.

“How much did you give back?” is a loaded question that can take into account a lot of things. Does the questioner mean just Federal Income Tax? All federal taxes? Does that count park fees? Taxes on airfare? On your phone bill? Does it count state taxes? If so, is it just state income tax, or do property and parcel taxes count? Or minimum usage fees from municipal utilities? There are dozens of variations built into that seemingly-simple question. Playing “gotcha” about the specific number Romney cites about how much of his money he kicks back to society-at-large (as opposed to simply spending on himself, his friends, and his family) serves little purpose in illuminating the public about important political decisions in the next few months.