Cover image for FourWar - a biopunk novel by Nathaniel Simpson
Read FourWar (Free!) [PDF]

Liked something on this site?
Tip me!

General13 Apr 2015 09:09 pm

So for the past few weeks, I’ve been working on a little project that is basically Imgur for picture-based polls. Head over to and click the “make a poll” button to make your own, or browse public polls for fun.


General22 Mar 2013 10:04 pm

I have been following Google Glass for a while, and am pretty excited about the technology and the possibility of someday getting my hands on one both as a user and a developer. In the meantime, I’m following the back-and-forth between fans of the tech and people who believe it’s the Apocalypse of Personal Privacy, and some of the reactions are really starting to irk me (see “Stop The Cyborgs” and “Seattle Bar Bans Google Glass” for examples of this). I published my feelings on the matter as a late comment to a Slashdot article (“Should We Be Afraid of Google Glass”), but since I keep seeing more of these ignorant, emotional reactions popping up, I’ll repost it here:

This kneejerk fear that you are “being recorded” in public places is irrational and stupid, and only a matter of decades away from being shoved in your face by advances in technology that you are probably not aware of (see Brain Movies for something thought-provoking). We forget or dismiss that we already are recorded, in a manner of speaking, by the human eye and the human brain whenever anyone else sees us, which is pretty much analogous to cameras and digital memory and is exactly what Glass does. I already refrain from acting in ways I don’t want to be remembered by other people when I’m around people (or think I might be around people), and in my opinion this is no different. Personally I hate the idea of stationary hidden surveillance cameras or drones with cameras far more than I’m bothered by the notion that someone who looks at me can remember me tangibly or mentally, since in the long run I have no assurance that someone who’s seen me can’t someday have their brain imaged while remembering what they saw, and with hidden stationary cameras or drones I simply have no way of knowing that I’ve been seen in the first place.

I realize people will argue that memory is more fallible (then again, digital imagery can be manipulated) and currently can’t be shared with other people (see prior paragraph) and somehow that’s more comforting, but we will end up facing this issue as a species one way or another and as a result, Glass doesn’t bother me in the least. If you don’t want to be recorded, then disguise yourself or stay away from people you don’t completely trust, because laws and feelings ultimately cannot — and never could — prevent people from remembering you or surreptitiously recording your image in the first place.

General07 Jun 2012 02:58 am

If you’re trying to do some URL-rewriting with JBoss’s org.jboss.web.rewrite.RewriteValve and finding that the “-f” options don’t work correctly on RewriteCond, it may be because the damned code hasn’t been finished on JBoss’s side, despite what the RewriteValve documentation implies. I dug up the RewriteCond source on GrepCode and every version I looked at (2.1.0.GA all the way through the version 3 alphas) simply returns “true” for a ResourceCondition test, whether or not your file actually exists, instead of running through the TomcatResolver to check.

Very, very broken. Hopefully this helps someone not waste hours on it like I did — it’s bad enough that it’s next-to-impossible to get useful logging going, but finding out the code was never implemented after all of that effort induces hair-pulling. For my personal project, I was trying to serve up a “default” theme for a customizable user interface if a more specific skin hadn’t been specified, but I can’t test for the existence of a more specific skin within JBoss, so I guess I’ll have to install something like Apache that actually works and serve up the skins externally. Ah well.

General12 Apr 2012 04:02 pm

Short post:) I’m a language geek and I’ve been re-watching the mytharc episodes from X-Files. I noticed near the end of 4×09 (“Terma”), Peskow says something in Russian when he sneaks up behind Scully that the unofficial transcript (there are no subtitles) hears as “sur posidive” and they translate as “at last”. I speak enough Russian to know that “sur posidive” isn’t Russian at all, and I heard the first word as все (vse) meaning “all”. So I listened, looked things up, and consulted a Russian friend. The verdict? He probably says “все позади” (vse pozadi), meaning “it’s all over.” Minor differences, but in the interests of accuracy…:)

General11 Apr 2012 11:57 pm

I spent a great part of the last 24 hours trying to chase down a couple of memory leaks in a javascript project I’m working on. After much hair-pulling, a couple of observations (and no more memory leaks) have resulted:

1. jQuery’s element creation guides leave a lot to be desired. On their official site, you can read the following example under “Creating New Elements”:

$('<p id="test">My <em>new</em> text</p>').appendTo('body');

Later, they discuss creating elements as follows:

$('<input />', {
type: 'text',
name: 'test'

I’m only targeting WebKit and Mozilla browsers for this project (I have the luxury of doing so), so I’m not concerned with IE quirks. What does concern me is that creating elements as in the first example causes memory leaks if you do it a few million times (for example, updating some page element to reflect incoming realtime data). If you put a string of complex HTML into $(), it seems like jQuery is doing something to cache the parsed fragment that does NOT get erased even if you call .html(”), .empty(), or .remove() on its parent. The element is merely removed from rendering. Elements created the second way will be fully removed from memory instead of placed in some #document-fragment or $.fragments cache (this stackoverflow discussion seems to be very similar to the problem I experienced). So even though the second syntax is far less wieldy for making complex little HTML updates, it doesn’t leak.

2. jQuery Sparklines is a nice little jQuery plugin to allow you to make sparklines out of some data on your page. Data visualization is fun and everyone likes it, but I was trying to troubleshoot the memory leak above and even after I fixed that, I was still observing memory leaks related to Sparklines. Sparklines is sort of indirectly to blame. It keeps a “pending[]” array that links to your page elements and stores any sparklines that aren’t visible until you call $.sparkline_display_visible() to render anything in the pending[] array. This is nice for static pages, but it can have the undesirable side effect of stacking up millions up sparklines (in itself a sort of memory leak) on dynamic pages by the time someone gets around to clicking the tab, even if those sparklines were attached to elements that have been removed from the DOM via .remove(), .empty(), or html(”) — the latter cases, of course, are effectively memory leaks since references are hanging around in that “pending[]” array. The easy fix is just to never request a sparkline for a hidden element in the first place, but it still feels clunky to me. It would have saved me some time if this implication of Sparklines tracking requests for hidden elements was explicitly documented.

(My use-case is replacing cells in a table based on real-time updates via WebSockets; some of these updates are used to generate sparklines that go stale on the next update for a given category, so if they haven’t been observed, they should be discarded.)

Yay for memory leak troubleshooting – pretty much my least favorite part of coding ever.:)

Arts & Entertainment and General27 Mar 2012 12:23 am

BioWare - Mass Effect 3 Promo Art

What fascinates me about the ending of ME3 isn’t so much the fan rage (the ending was a blatant rip-off of the Matrix, Deus Ex, Battlestar Galactica, god knows what else) as the fact that reviewers are so intent on pretending that the ending was some sort of literary or artistic triumph and that the fans are just ignorant philistines who should go back to school and learn to appreciate “real” art.

There are two major problems I have with this critical reaction. First, I’ve long been annoyed by a certain streak of “anti-fun” in modern intellectualism as it regards art in general. It’s like an ascetic Protestant streak, some notion that if you’re actually enjoying something it can’t be art, because real art is painful and difficult and anything else is pedestrian junk food for people with low IQs. So a large amount of the reviews of ME3 take the approach that because the end of the game involves suffering and sacrifice and inevitability (and really, not much fun at all) that it is “higher” art than if it had a heroic, happy ending. “It’s more true to life,” they claim, and so it’s more valuable, more “authentic.” This is the same to me as rejecting anything other than photorealism in painting, because it’s more “authentic” (although you might as well just take a photograph and save the effort instead of trying for a tromp l’oeil effect). Happiness, joy, and beauty are not invalid topics in art. Trying to create a world just so you can destroy everything good in it doesn’t make you “edgy” or give you extra intellectual brownie points — it just makes you a dick. (Sorry, G.R.R. Martin / Game of Thrones fans.)

The second thing that really bothers me is that most games are not static forms of art, and especially not role-playing games. The draw of an RPG has always been to customize your character and interact with the world and make it your own, then play again with a different character and experience it through another set of eyes. The reviewers who laud the designers’ choices for their supposed artistic integrity and “refusal to bow to the least common denominator” while bashing the fans as “failing to get it” or “trying to steal control from the artists” are entirely missing the point. ME3 isn’t a movie or a book that requests you to sit back and experience a sequence of events that were laid out in advance by a creator or team, with no input. It promises to allow you to influence the story, to come out at divergent points with different characters and to explore possibilities as much as narrative. By presenting essentially a single ending (the three are not sufficiently different to require multiple playthroughs to experience) over which you have no real control, it’s almost as if a media switch has been pulled underneath you as the player. You’re watching a movie, and then suddenly you’re…reading a book. Or you’re listening to music, and suddenly someone is reading out the notation – “A-flat above middle C, F above middle C, B-flat below middle C.” Or you’re watching a play, and suddenly everyone stops moving and you’re looking at a still-life that never resumes. The point is, any of these experiences would be jarring for someone expecting a certain experience.

I realize that this type of dissonance is a valid subject for art to explore, but I think that it would be absurd to think that it would go over well with mainstream audiences who have purchased the work with specific expectations — ones that were encouraged and advertised by the company selling it. It’s not even that it’s invalid in any “moral” sense for EA/BioWare to do this, just that it’s bad business sense because it’s effectively a type of bait-and-switch where people were purchasing entertainment and got complicated “intellectualism”^ instead. If you burn your customers, they won’t come back.

This isn’t the first time we’ve seen this, of course. The Matrix trilogy comes to mind, and I think it’s not surprising that the first movie is by far considered the best. Critics will try to say that fans didn’t react so badly to that ending (with the Architect nonsense), but they also had less investment. As a movie viewer, you go into a theater knowing full well that you might not get an ending that you like. As a gamer playing a genre RPG, you have certain expectations that at least one ending will probably be something you can jump on board. Mass Effect 3 gave us nothing but an exercise in artistic dissonance that will please people who want to feel like they’ve achieved something noble by suffering through yet another round of artistic self-flagellation. For everyone else, it’s just a let-down.

^Edit: I should note that I’m not against making people think. Thinking is good for you. Just don’t expect people to like it when they show up to your techno thriller film and you slap them in the face and tell them to RTFM because they don’t know how to compile a kernel. 😉

General21 Mar 2012 11:09 pm

On the weekend, I got a request to post an infographic on my blog related to the “ethics of the wealthy”, supposedly on the strength of one of my recent OWS-related posts:

Hi Nathaniel,

In searching for blogposts that have used or referenced, I stumbled across your site and wanted to reach out to see if you were interested in sharing a graphic with your readers. It
illustrates studies found on how those socially and financially well-off behave unethically compared to the lower ladder.

Would love to connect, if you’re interested. Thank you!

Tony Shin

I replied back that I’d be interested in looking at the graphic, and a day or so later got a response. The graphic was bothering me, because it contained hardcoded references back to “accountingdegreeonlineDOTnet” (butchered because I don’t want to give them a link accidentally). The site is featureless, with no useful information about the people behind it and its WHOIS information firewalled behind a privacy shield so I emailed “Tony” back requesting more information about the site. I got no response from “Tony,” but the next day a second email address on my site got the same original request from “Tony” with the same wording.

I use “Tony” in quotes, because I did a quick bit of googling tonight and found posts by a guy named Mark Turner on the Mystery of the Infographics. Seems he got the same sort of spam I did, including one from “Tony,” but his offers are related to PIPA/SOPA and TSA topics. Both of us seem to have checked out “Tony’s” Twitter, which doesn’t link back to these sites he’s promoting, so something is certainly fishy even before he’s spamming multiple accounts on my site with the same infographic request.

I’m not entirely sure what the purpose of this is – if it’s SEO spam, or what. That’s the best guess I have, but whatever it is, it’s annoying. I won’t be posting that particular infographic, but if you are interested in the ethics of the wealthy, this recent Berkeley study will be of interest to you. There is some sort of irony here, as well, because whoever’s behind this seems at best guess to be wealth-seeking and behaving pretty unethically.:P Figures.

General and Politics17 Nov 2011 05:17 am

I’ve been thinking about the whole notion of “protest” lately – specifically the variety where a bunch of people gather together at some physical location to demonstrate their objections to policies or institutions that they disagree with. (I’m deliberately using “protest” to refer to this, not to individual acts or boycotts or other varieties of expressing displeasure.) We’ve had a lot of these hit the news this year: Greek austerity protests, the protest/riots in London, the “Arab Spring” wave of protests, and the Occupy movement, to name but a few. Gathering somewhere to publicly air grievances is a very old tactic, and obviously still popular. Still, I can’t help wondering about the efficacy and utility of this tactic in the context of your “average” Western society (if there can be said to be such a thing). I don’t have any concrete conclusions, but here is my thinking so far.

I think that the notion of a bunch of people gathering, maybe with signs, to yell and/or occupy a space works largely on a threat principle. Either the target of the protest is threatened with the possibility that the “non-violent” group of protesters could turn into a violent mob, or is “non-violently” threatened with a reputation hit for failure to resolve the issues that the protesters raise. Historically, this was somewhat effective when a group of people could gather outside the dwelling or halls of the person(s) with the power to resolve the issues with immediate action, usually the stroke of a pen or a simple proclamation, and shame or intimidate the target[s] into compliance with the demands of “the people.”

Secondly, these sorts of protests traditionally took advantage of the time it took for information to spread. What I mean by this is that if you, as the person with the power to effect change, were faced with a mob outside your door, you didn’t have immediate access to the counter-opinions of millions of people around the world arguing for the exact opposite. You only had your personal judgment and convictions, and whatever physical force you were willing to employ to maintain your position.

In modern Western societies, we generally face a different situation. First, the representative structure of our governments and the election cycle mean that protests are necessarily symbolic. In the US context, when you rally outside Wall St. or on Capitol Hill, you are not facing people with the power to effect immediate change. There is no one such person — not even the President. At best, you could set gears into motion to have someone draft a bill that might be passed into law if you are able to emotionally sway the bulk of 535 people to agree with you. More likely, you might generate some minor debate and perhaps have some subtle influence over events two or four years later – most likely insufficiently large influence, and not nearly soon enough if the issue is something causing enough discontent to draw out a protest group to begin with. In addition, even if you manage to rally a literal million people to show up in support of your cause, it’s easy to find ten million voices online criticizing your position and arguing the precise opposite. This, of course, is the perfect “out” for officials to say that an issue requires more study in order to find a “balanced” solution (since the search is for whatever pleases the largest percentage of an electorate, not for the solution that actually solves the problem at hand).

I realize that this is sort of a double-edged sword. The intent behind longer election cycles and the dual-house system is to deliberately introduce some delay in effecting change for the purpose of ensuring that more considered solutions prevail over knee-jerk legislative changes. This can be a good thing when the issues are purely cultural (e.g., do we really want to ban violent video games?), but a bad thing when the issues are technical and relevant to physical survival and well-being of some or all of a population. That said, the entire representative/democratic system is vulnerable to poor decision-making in the first place, because effectively the people making the decisions are the most popular, not the most competent. (No, I don’t pretend to have a better solution — but I am also not going to pretend that what we have is even very good.)

Moreover, the above comments only apply to government. When the target of your protest is an economic system as a whole — or even simply specific corporations — protest is largely useless. Unless you can generate enough public embarrassment, a corporation is unlikely to change its behavior. It is immune by law to direct violence, so attacking its property or its representatives brings the risk of direct criminal consequences. Its property is considered “private,” so there is no right to occupy its premises or disrupt its business – you’ll simply be removed for trespassing. If you’re protesting the entire economic system, then you are facing the fact that capitalism as we know it is woven into the very language we use, and it’s ridiculously hard for people to even sanely discuss alternatives as a result. In addition, instead of trying to convince one person or a small group of people to change, you’re literally trying to apply a “threat,” as I’ve defined it above, to millions of people with your protest — this tends to be laughed at, and I would suggest that to expect any other result is naive.

In the case of government, then, the implicit “threat” of a protest is limited – modern society is highly reactive to violence (you will be met with and dispersed by disproportionately larger force for even minimally aggressive or destructive behavior), and the representatives are beholden to their local electorates back home, not to the protesters outside the door of the legislative assembly. A vote by representatives against the interests that elected them is much more potentially embarrassing than ignoring a bunch of “hippies.” In the case of business, the threat is also limited – violence will not work for the reasons above, and the reputation risk is weighed in terms of the resulting media coverage: “does this make us look bad, or the protesters?” If the answer is the former, there might be some business motivation to change, otherwise the protest will simply be ignored. In the case of the “system,” you’re unable to bring even the hint of a credible threat to bear through a protest.

The only argument I can really think of in favor of protests is that they are capable of raising awareness; however, this almost always comes at the cost of protesters being abused. Awareness, in our society, comes largely through traditional media (papers, radio, and television – online or offline), and the media is drawn to sex and violence. If the protesters are merely ignored, they will fade into obscurity, as both supporters and detractors have observed in regards to the Occupy movement. If there is a hint of sex or violence, the coverage skyrockets and positive or negative awareness jumps.

I’m still trying to decide exactly how I feel about it all, but my instincts tell me that, while protests such as the Occupy movement’s are admirable and the need for change is real, the tactic is largely useless. Politicians look to home, and businessmen to their markets – neither looks outside at the protester waving a sign. The energy would be better spent creating real change on a local level, I think – in trying to organize people into participating in activities that reduce their reliance on distant corporations and governments, subverting the system instead of merely railing against its largely symbolic headquarters.

As an aside, at least one observer (John Robb) thinks that protests might simply become impossible in the near future. I completely agree that it’s technologically possible already to auto-disperse protests before they become entrenched, but part of the function of protest, from a cynical sociological perspective, is precisely to allow the most disaffected groups a harmless outlet for their frustrations — after all, nobody really pays attention to them in any serious way, and eventually the cops have an excuse to disperse them or they get bored and go home. Either way, things proceed as they were. I strongly suspect that the dystopian “crush the protests” outcome is unlikely — what’s more effective is to allow people their protests and just ignore them.

As a sort of postscript, I emphasize again that my thoughts only apply to the sort of largely non-violent “street protests” we’ve seen. When they cross the line into full-blown rioting, the threat scales and the implications change. There are also other types of protest, like boycotting and educating, that have much different dynamics, but I’m not really discussing those either. Not to say I haven’t been thinking about them, but that’s for another blog post.:)

General and Politics02 Nov 2011 04:06 am

Advance Warning: I have no formal background in economics. I have a master’s degree in sociology and a lot of experience working on the topic of knowledge economies, but that’s about the short of it.

Time for my $0.02. 🙂 Comments/criticism encouraged – I’m always interested in improving my understanding of the world.

I’ve been following the Occupy Wall St. movement and the associated #Occupy movement worldwide for a few weeks now with a fair amount of interest. I’m trying to make sense of it, as is everyone else. As anybody who’s been following the mainstream news is undoubtedly aware, we’ve been cycling in and out of economic crisis mode now for the last four or five years, and we seem to be poised at a “make or break” point yet again with regards to global markets and more than a few national economies, with the global economy at stake. It makes sense to me that people would be upset and looking for solutions when the rich are getting exponentially richer at the expense of everyone else, even getting away with outright fraud in multiple instances (robosigning, etc.).

Part of the beauty of the Occupy movement is that it has steadfastly refused to produce any concrete list of demands that would allow it to be easily categorized and then demonized or dismissed. That said, a lot of the discourse is still framed from an approach informed by capitalism and the global economy we’ve worked and lived with for most of the last hundred years (I realize I’m horribly generalizing, but to address this properly is more writing than I can do as a quick first commentary). This bothers me, because I believe that the underlying premises that we derive our systems of resource distribution from have changed fairly abruptly in a way that is not yet appreciated.

In short, there will never be enough jobs again.^

Globally, the stats I can find (ILO’s Global Employment Trends 2011) indicate:
* 3.1 billion workers globally out of a population that has recently crossed 7 billion.
* 660+ million in industry (slightly declining).
* 1.06 billion in agriculture (declining).
* 1.3 billion in services (increasing).
* 220 million unemployed (increasing).

As globalization continues to break down the barriers for access to these labor markets, Western countries have increasingly found themselves competing directly with this global pool of labor, resulting in cries for increased protectionism and spawning anti-globalization movements from people of all political colors. This is an implicit recognition of the fact that there will never be enough jobs again^ – these calls seek to artificially prop up labor markets by limiting the competition to labor pools inside national borders, but the internet has reduced the relevance of national borders to the average citizen in almost every area besides employment and nationalist emotion.

It’s hard to get an exact figure, but the estimates I’ve found (google “how many people can one farmer feed” – I’ll try to find some easy-click sources later) indicate that somewhere between 100 and 1000 people (150-ish being a more common estimate) can be fed per farmer using modern farming techniques. I presume this refers to grain and livestock and probably not to more obscure types of farming (saffron, anyone?:P), but in terms of simply providing a base amount of food, the number of people working in agriculture can only be expected to drop massively as technological improvements and increased education hit the rest of the developing world. By today’s “modern” standard, at a low number of even 75 per farmer (a number more in line with the 1970s), we actually need less than 100 million, or one-tenth, the number of agricultural workers that actually exist. This suggests that, in agriculture alone, approximately 900 million jobs currently only exist due to massive systemic inefficiency (I won’t even go into market factors that result in outright waste, farmers destroying crops because they can’t afford to transport them to markets, etc.).

I haven’t even tried to find numbers for industry, but I’m presuming that at least a couple hundred million people working in modern industry are employed making “widgets,” textiles, etc. These are currently things that are impractical or impossible to produce easily at home – but with home fabrication under intensive development and the price of both open-source and consumer fabrication devices falling rapidly, I don’t think I’m out of line in predicting that the upcoming revolution in personal-scale manufacturing by simply downloading designs and “printing” real objects at home a la RepRap is going to utterly decimate jobs in both manufacturing and service which are related to the design, manufacturing, and delivery of these types of objects.

A conservative guess is that maybe half of the global workforce is currently necessary to maintain current levels of production if obstacles to efficiency were removed (patents, lack of access to capital, etc.). It’s not inconceivable to think that in 20-30 years, we could be facing an extra billion “unemployed” workers from technological improvements in agriculture and industry as well as from simple population growth, and the number of “necessary” workers could drop to a tenth of the available pool. And the truth is, we don’t need everyone to work to produce enough for everyone.

I realize that a lot of people believe in the magical free market fairy that “creates” wealth and jobs out of thin air (yes, improvements in resource use and efficiency do result in improved standards of living, a sort of wealth-by-adding-energy-to-the-system that is still subject to degradation like every other form of order in the universe), but short of utterly useless service jobs like everyone having a personal hairdresser or a maid, I don’t really foresee there being enough jobs ever again. And to further complicate matters, artificial intelligence and robotics are increasingly proving more efficient at a lot of previously service-oriented tasks as well, so I think that even this segment of the global workforce will ultimately see decimation.

The short of it is, we’ve reached a point where our collective technological advancement has outpaced our ability to know what to do with ourselves as a species. “Liberals” think that “conservatives” are keeping them poor. “Conservatives” believe liberals are lazy hippies who just need to get a job. Communists say that communism will save the world, and the Ayn Rand fans wave the banner of individualism and capitalism as some sort of cure-all. All of them, I think, are wrong.

The debate must be reframed in terms of a world where we no longer need everyone to work and there will never again be enough jobs.^ What sort of world do we want that to be? While I believe that not everyone needs to work, I believe most people are happier if they are being productive members of society in some way, so we need to refashion our economic realities to provide them an opportunity to do so and to have a basic standard of living. I don’t know what this world will look like. I don’t know if we will ever get there. I don’t believe capitalism is the answer, nor do I believe that communism is. Humans have a competitive instinct that must have an outlet, but must also be channeled for the greater good. All I know is that we – all of us, not just the Occupy movement – have to put our thinking caps on now because time is running out, and forgiving student loans, making the rich pay an extra percent in taxes, and/or building more Starbucks for barista jobs will not solve a damn thing.

^ I keep marking this statement because there are a couple of ways that there could actually be more jobs, only one of which is really currently feasible, and that’s simply annihilating large percentages of the working population so that there is suddenly sufficient demand for the remaining labor pool again. I don’t think anyone thinks this is a good solution, but historically humans have resorted to war when resource distribution goes out of whack, and we are naive if we believe that it will not happen again. The other is finding some magical way to colonize the oceans/space/whatever that isn’t outrageously resource-intensive, since that would provide a lot of work for a lot of people. Pure fantasy, at least in the foreseeable future.:)

Arts & Entertainment and Created by Nate and Game Design and General19 Oct 2011 03:11 am

I’ve been making slow progress at various projects, primarily trying to fix some bugs in my Brainsucking Mutants game and contemplating a paper doll system (pixel art) for it. I’m not sure if I’ll manage, but I have a few random (not very good, as you’ll see) pixel art doodles to prove that I haven’t been wasting all of my spare time playing Civilization… >_>