Archive for June, 2008

Taking care of business

June 16, 2008 1 comment

One of the great pleasures of my current employment, aside from the proximity to Jimmy John’s Gourmet Sandwiches, is my constant learning requirement. My kind corporate overlord will occasionally suggest, in the strongest of terms, that it would be to my advantage to know, for example, Javascript. This is passed along in the same way that a road sign might inform you that it would be wise, if wish to retain your health, to beware of certain falling rocks.

This often has some problems, however, given the ambiguity of scope: will my antiquated Javascript abilities, much like my antiquated Japanese subcompact, be able to weather the vaguely forecasted hazards? Small rocks and small scripts are probably not worrisome, but entire user interfaces implemented in Javascript have the potential to flatten my vehicle, if I might momentarily mix metaphors.

However, my latest tasks have brought me up to my ears in PHP. But in this case, the road sign granting me foresight to this had apparently been taken as some sort of souvenir by vandals, because this set in with little forewarning. This is by no means a bad thing, but it does make life more interesting.

You see, “learning” PHP the way that I am is sort of like learning French by flying to Paris and taking a room at a local establishment for vagrant transients like oneself. Walking around town, you can see that they use a certain word to refer to a bagel and another for the roads and another to refer to your stupid hat, but when you begin trying to use their tongue to launch a defense of your hat (which is, in point of fact, a Fez), your linguistic ineptitude will end up implying that their mother is, in fact, perched atop your cranium. But, following the metaphor, perhaps the greatest injustice of all is that instead of giving some kind of feedback, this Frenchman will stare at you blankly, fixedly, and unblinkingly, until you choose to end the interaction and go research some French profanity with which to defend yourself.

See, when you write a dynamic web page in PHP, the idea is to get some content out that is different every time. So to have a PHP page that fails so utterly that it refuses to relinquish a single tag of output causes one to evaluate whether professional bicycle riding might actually be one’s true calling. Because this sure as shit ain’t working out.

And so just as the Frenchman gives no error message, which would usually be encoded in the traditional form for such feedback (The Slap), this page refuses to correct your error, and simply wishes to let you know that it will have none of your crap.

So, of course, the natural recourse is to take it up a notch: you learn more French than is encapsulated in your Langenscheidt French Pocket Dictionary. Or, rather, instead of hacking together code in a basic text editor, you go a get a real PHP editor: something manly like Eclipse. And I think there is a point to be made here, in that this step will take some time. Now, I’m not saying that Eclipse Integrated Development Environment and the French language have the same learning curve, but there is a certain dark correlation.

Were I a more suspicious man, I might suspect a link there.

Categories: Uncategorized

Dealing with jerks

June 11, 2008 2 comments

As a sort of thought experiment, I recently contemplated what I would do if this blog approached the size of Rachel Lucas’. This is actually a rather salient comparison, because I believe that I would like for this space to most strongly imitate hers. While the frequent and frenetic posts of, say, Instapundit make for interesting reading, I am not a robot and can’t compete with Professor Reynolds there. Nor do I have the dedication and temerity to write vast tracts a few times a month, a la Steven Den Beste or Bill Whittle.

No, I like the butter zone somewhere in between: relatively posts that are short, frequent, and still opinionated and (hopefully) insightful. But the actual focus of this particular flight of fancy was contemplating the audience that she has attracted, and how I would deal with them. Now, I’m not just referring to the people who completely miss the point of a post, but those who drill down so far into the point, bringing their own assumptions of the author’s intentions, that they find a treasure trove of concepts and philosophies that they so strongly oppose, that they take the time to write out a strongly-worded rebuttal of any statements that conflict with their own, be these statements real or imagined.

It seems to me that such actions require gradient of reactions that begins with “Thanks for your comments, but I still disagree” and end with banning them from your site. Rachel has always been rather courteous, although of late she’s begun to make her displeasure with these people clear, and yet they just don’t get the message. For some reason, these people believe that it is their job, their righteous calling, to sit at a computer and type out thousand-word essays on why she should join the Christian Faith. And then as soon as she uses an obliquely religious maxim, a group of similarly enthusiastic atheists chastise her in a similar manner.

However, what I think these people fail to realize is that this is the internet and you can never take it too seriously. And yes, taking it upon yourself to spend hours upon hours to convert one single stalwart who has resisted decades of attempted conversions is “taking it too seriously.”

I was actually recently discussing the need for non-seriousness with a fellow moderator over at ThinkingWithPortals, a forum and community centered around creating content for the video game Portal. See, TWP has developed a very low tolerance for idiots and noobs mostly under the direction (and ban hammer) of its owner and proprieter, who goes by the handle msleeper.

Ever since I began hanging around there, I found his policies rather more restrictive and harsh than other forums: strict limits on signature sizes, little patience for stupid questions spread over multiple threads, and so on. I’ve also found myself thinking that I would probably not go so far in my reaction to a certain user action that msleeper has. However, I think that’s probably because I have no experience with masterminding such a community, where he has learned from experience that rules bring order to the chaotic internet.

And the results are hard to argue with. By specifically ruling out certain idiotic behaviors and, essentially, hazing those who engage in unregulated idiocy, the community has become rather refined. It’s small, to be sure, but the people who are there know the rules and will usually warn transgressors before a moderator can even take any action. We still get an occasional idiot every now and then (“My map doesn’t work. Why not?”) but the system has grown up to handle such things.

The only prospect that actually alarms me is that msleeper, in his time among other projects and communities, has found that Scandinavia is apparently five hours ahead of us in real time, and ten months behind in internet time. He bases this on the fact that ten months is approximately how long it takes from the launch of some project until a deluge of Swedes, Finns, and Norwegians arrive, eager to work and hesitant to use the Queen’s English. TWP is about 8 months old, so that is still ahead.

But at least this blog has made it through an entire year with nary an indecipherable comment in a foreign language. May many more be ahead.

Categories: Uncategorized

I never could get the hang of Mondays

I was eating dinner with a comrade yesterday, and as a part of a conversation on Computer Science, he offered a quip that there is some truth in. He said, after I commented that high-level algorithm classes might be better taught in Python, “But you would rather everything be written in Python.”

He’s right that, all things being equal, I will program in Python above other languages. But things never really are equal, are they? When efficiency is not really a concern, but development time is, Python wins; it’s quick to write, if relatively slow to execute. In working on a side-project that involves a dice-roller, I needed code that could parse a string like “1d4+3+3d6-2”, and when I was inspired as to how to do it well, I booted up Python to do it. The code is quick, simple, and elegant. And since it’s not by any means computationally intensive, the interpreted nature of Python doesn’t really hurt.

Of course, the program this is a part of is written in Java (for portability as well as ease of designing the user interface). I still haven’t gotten around to translating the code by hand, mostly because to do so would require one of two things. The first is to craft a crime against Java: using Strings to act like Python lists. It’s doable, and probably wouldn’t be terribly inefficient, but it would be incredibly inelegant, and especially in defiance of the Proper Java Way. The other is to find something within Java that will allow what I need, which seems doubtful. Actually, that gives a third option: write my own data structure. Yes, perhaps that is the right way to go about things.

Anyways, where was I? Ah, yes, discussing Python and how good it is for so many things. On the other hand, you can’t have Python applets. There are no embedded games that run on Python. Java has more or less exclusive domain over such things.

Java also has exceedingly large utility libraries of all kinds of code, already written, in case you need it one day. I’ve heard this described as something of a negative, but so far it’s not been terribly detrimental to the language, that I’ve seen. Some times you have the time to write out a custom-tailored linked list to do the job you need, but other times, you just need the job done, and java.util.LinkedList is right there waiting.

Honestly, though, at this point, I think the only people left reading are the people who are programmers, and they fall into one of two categories: “genuinely interested in my thoughts on the languages for some reason” or “already have emacs open, typing up a rebuttal of my off-the-cuff 2am musings on programming”. If you’re in the former category, I’ll probably see you at lunch this week. If you’re in the latter category, you really should consider switching to vi. It’s so much better.

Categories: Uncategorized

People, uh, older than me

Over at Gamers with Jobs, Elysium takes on workplace freedom and responsibility, vis a vis video games:

You might imagine that during my time as a manager of a video game retailer I was, if not encouraged to play games on the job, at least free to take the occasional liberty with the Xbox 360 machine on down times. After all, these are the products I was expected to market and support, so being seen enjoying the stock from my shelves, the bounty of my reasonably priced harvest, the fruit of my retail loins might be seen by potential customers as a positive endorsement. Besides, how shocked can you be to walk into a video game store and discover that the guy behind the counter actually plays video games. And yet, not only was this practice sharply frowned upon, but was a fast-track toward dismissal.

The crime of playing games on the job was so severe that we were frequently brow-beaten with strongly worded directives reminding us that any employee found playing on the demo machines, or worse a portable game machine they had brought in on their own, was at minimum subject to a “write-up”. Apparently the job of convincing absentee parents and feckless malcontents to buy video games is such a serious proposition that to lose one’s focus, even during breaks, is anathema for the retailer. I must imagine that the management geniuses in their retail ivory tower handing down edicts to the lowly fiefdom slogging in the muck and mire of actual work below, imagined that giving the appearance of being a gamer, despite working at a gaming store, must somehow sully the highly professional atmosphere they had cultivated with big Mario standees and a poorly groomed workforce. Like virtually everywhere else at the time, gaming at work was strictly forbidden.

Categories: Uncategorized

People smarter than me

I don’t have much really pushing me to write, but there is plenty of genius I’m observing elsewhere. For example, today’s news post from Tycho at Penny Arcade on the topic of the “death of the PC as a gaming platform” rings so utterly true and is rendered in such straightforward manner that I can do nothing but excerpt the relevant portion, en masse:

On a weekly basis, we’ve got apocalyptic news about the PC as a platform interleaved with assertions of a phoenix-like resurgence. The phoenix-like resurgence portion is rarely built on any stable metrics, so it’s impossible to know the vigor of this reconstituted sovereign with any precision. The important takeaway point is that everything is incredible, perpetually so, even while publishers, developers, and many of your own (supposed) friends choose to grip gamepads during their increasingly constrained leisure hours.

I don’t think you can have any perspective on this industry unless you’ve spent time with PCs. You need to know that when Insomniac is talking about how they’re going to have sixty players, and squads, and so forth, that Battlefield 2 had sixty four players, and squads, and maps for specific playercounts in two-thousand five. In 1999, I played a game of Tribes with a hundred and twenty-eight players over a modem. I’ve got nothing bad to say about Insomniac. We have a friend who we have seen travel through the industry one developer at a time, and when he finally landed there I breathed a sigh of relief because I didn’t have to worry about him anymore. He’d finally made it. What I’m talking about is perspective. If you want to look into a Goddamned crystal ball, spend some time with a tooled-up personal computer.

Mass Effect is, quite frankly, a shadow of itself on the 360 – supposedly the title’s “lead SKU.” It’s very existence is owed to consoles, but this is a “port” you can feel pretty fucking smug about.

It’s the best, period. And you pay for it. Age of Conan and Mass Effect both have massive review caveats about needing a substantial horsepower, but let’s be serious: you always need more machine. Every review could include such language – it’s always better to have more. No argument enrages the PC stalwart like those relating to the cost of their preferred platform. This is a real concern, and the cost is twofold, but if you bring it up they start to bang trash can lids together. Upon the release of Crysis, it was not uncommon to find these progressively insular sects claiming you could build an entire computer for five hundred dollars that would run the game at top speed. It wasn’t true, of course. It was like some magic feather they could hold.

As an adult of stable (if bizarre) employment, though, I have money to spend on things that I enjoy. What I don’t have any of is time to resolve ultra-rare DVI incompatibilities with SLI setups where the motherboard is an nForce etcetera. I maintain this hardware because I need to know what’s coming – because I want access to a global community of independents, auteurs, and freaks who are this medium’s genetic future. I’ll never be able to divest myself of the intense nostalgia I have for this platform. I can’t be without it. But if a person wants to play videogames in their spare time and not perform mechanical surgery on their equipment, that doesn’t make them an idiot. It makes them a pragmatist.

Categories: Uncategorized

People more interesting than me

My writing efforts are, err, elsewhere at the moment. However, I’ll point you to Jeff Atwood’s Coding Horror Blog, which is sort of like what I wish my blog were.

And thumbing through his recent posts, I find two that are particularly good. One is “Crash Responsibly“, all about failing gracefully when your code runs into the inevitable bug:

Which one accurately depicts the way your software treats the user in the event of an emergency?

Another is “Is HTML a Humane Markup Language” which discusses the various difficult ways in which to mark up text quickly and easily.

None of these lightweight markup languages are particularly difficult to understand — and they’re easy on the eyes, as promised. But I still had to look up the reference syntax for each one and map it to the HTML that I already know by heart. I also found them disturbingly close to “magic” for some of the formatting rules, to the point that I wished I could just write literal HTML and get exactly what I want without guessing how the parser is going to interpret my fake-plain-text.

Which leads directly to this question: why not just stick with what we already know and use HTML? This c2 wiki page titled Why Doesn’t Wiki Do HTML? makes the case that — at least for Wiki content — you’re better off leaving HTML behind.

Myself, I think the quickest and easiest might be the classic Usenet markup of expressing *bold* and _italics_ (or /italics/). One character brackets; what could be simpler? At least have the parser understand such things and translate into this lightweight markup?

Categories: Uncategorized