This is a quick 'n' dirty placeholder for a personal homepage, which syndicates the most recent posts from my Google+ feed Posterous blog and shared articles from Google Reader. Real homepage coming when I get around to it.


Thu, 08 Dec 2016 06:18:22 +0100

Thu, 08 Dec 2016 06:09:59 +0100

Original Post from Wayne Radinsky:

A machine learning researcher improves sentence comprehension in tests with hearing-impaired people from 10% to 90% using algorithms that separate out the sounds of human voices from background sounds such as traffic and boosts the sound of the voice separately. He implores the industry to make hearing aids that use this research available.

Thu, 08 Dec 2016 05:06:09 +0100

Original Post from Kevin C. (KevinC):

Wow, interesting counter to the states that try to bind electors votes. 

Tue, 06 Dec 2016 04:20:29 +0100

1 down, 36 to go...

Original Post from Edward Morbius:

Texas Republican Elector: Why I will not vote for Donald John Trump

The election of the next president is not a done deal. Electors of conscience can still do the right thing for the good of the country.

Sun, 04 Dec 2016 21:43:21 +0100

Confessions of a Web Developer in Unity-land – WTF #1: Unique IDs? We don't need no stinkin' unique IDs!

Throughout 2016, I've been spending some of my free time learning game development with the Unity 3D game engine. As a professional web developer, I'm used to working with standards-based, open source, dynamically-typed, interpreted languages (primarily JavaScript and PHP) to produce mostly-static content. Needless to say, the transition to working within a proprietary implementation of a statically-typed, compiled language (C#) to produce highly-dynamic content has been... Interesting.

I thought I'd start sharing some of the (somewhat ranty) notes I've made as I went along, starting with this one from January, for anyone interested in making a similar transition or just curious about the learning process involved. (These were written mostly to myself and partly for other programmers, so apologies for any jargon if you're interested but don't have a programming background. You can probably get the gist anyway.)

In HTML, there are two simple ways of distinguishing elements: IDs, which have a one-to-one relationship with elements (one element gets one ID, an ID applies to only one element), and classes, which have a many-to-many relationship (one element can have many classes, and a class can apply to many elements). Both are applied explicitly by the developer. In my experience, this does a pretty good job of covering all the bases.

In Unity, there seem to be three options that I'm aware of so far. First, there's the object's instance ID, which is assigned by the engine at run time and should be unique but, unless I'm doing something wrong (and I must be, right?), doesn't seem to return a consistent result when the same object is accessed through different referencing variables (!?). So it appears to be one-to-many (one ID refers to one object, but an object may have many IDs). That can't be right, can it?

Then there's the name you assign to an object in the editor. This is one-to-many in the opposite direction: One object can only have one name, but uniqueness is not enforced, so one name can refer to multiple objects. If this was intended only as a convenience for use in the editor it would be reasonable enough, but since GameObject.Find() searches by name, it seems to be intended as the primary way to look up objects you don't already have a reference to.

Finally, there's something called "tags." Now, from the name, you might expect these to behave like, well, tags, as used in popular blogging platforms, photo libraries, file systems, etc., the world over. They don't. Instead, tags, as best as I can tell, work the same as the name: One object can only have one tag, and a tag can be applied to many objects.

So far, I have not been able to find any reliably unique (one-to-one) IDs, nor any way of tagging objects in a traditional way similar to HTML classes (many-to-many). Am I missing something here? Is Unity missing essential features, or am I just approaching this from completely the wrong direction because a 3D game != a website?

Update: Almost a year later, I'm leaning toward it being more the latter than the former. To me, the weirdest thing about Unity is still that much of what's happening is hidden inside a black box that you interact with through the Unity Editor's GUI, rather than through code. Most of the time you should be hooking together objects by dragging them into each other's slots in the editor, which leaves a giant hole in your code—where are those properties getting set?—but means looking up objects just isn't necessary in the same way it is for website code.

Another factor is that websites are very static compared to real-time animation; letting the browser search through your markup for a particular element every once in awhile when a button gets clicked or something just isn't a big deal. In a video game, a lot of your code is running 60+ times every second. If you make the engine go looking for something every single time, you'll turn it into a slideshow.

Finally, the object-oriented/component-based architecture is just fundamentally different from what I was used to. I won't get too much into component systems here because that could easily be a post of its own (and others have already written better than I on that subject), but it basically replaces the whole concept of general purpose many-to-many tags. A component in Unity is a bit like taking both a CSS class and the various JS scripts that might hook into it, and rolling it all up into a single, tidy package.

#unity3d #gamedev #gamedevelopment #indiegames #rants  

Wed, 30 Nov 2016 19:05:29 +0100

This article expresses what so many people—everyone on the right and even many on the left—seem to be utterly failing to grasp about the reaction many have had to Trump's election: It isn't sour grapes. It isn't (just) about disagreement over policy. It's about safety.

For the right, moderates, and even some on the left, politics is largely academic arguments over fiscal issues, foreign policy, and so on.

But the rest of us are fighting for our lives.

For many Americans, the regime being put in place by Trump will put our health and personal well-being at risk—or, in many cases, greater risk than it already was under. Anyone who can't understand that has never been in a position to have to fear for their safety from the general public. Those people need to learn that not everyone is so privileged.

#politics #trump #privilege #authoritarianism  

Wed, 30 Nov 2016 18:30:23 +0100

Wed, 30 Nov 2016 17:01:52 +0100

Warning: Massive Security Vulnerability in Firefox & Tor Browser

tl;dr: Firefox & Tor Browser let hackers pwn you. DO NOT USE either browser until a fix is released.

A major zero-day security exploit has been released that effects multiple versions of Firefox and Tor Browser. It allows any website you visit using one of those browsers to execute arbitrary code on your computer. This means they can install malware, harvest your bank password and other personal information, wipe all your data—literally anything they want. Your PC effectively belongs to them.

The exploit is currently being used out in the wild, so this is a clear and present danger, not a theoretical one. So far the only reported cases are targeting Windows machines, but I wouldn't assume that means you're safe on Mac or other operating systems. The vulnerability is in Firefox itself, so if it's not being exploited on every OS Firefox runs on yet, it likely will be soon.

The Firefox team is working on a fix, but until they release it, you should not use Firefox or Tor Browser—especially not on Windows. Temporarily make the switch to a different browser, such as Google Chrome (

#zerodayexploit #mozillafirefox #firefox #publicserviceannouncement #psa #security #important

Wed, 30 Nov 2016 16:46:49 +0100

Manually quoting +Kevin C.'s comments from his re-share, since +Google+ still doesn't allow re-sharing that part of re-shared posts:"They could not function in a free market economy on a level playing field. The only way they — they pretend to be — to like free market capitalism, but if you look at their feet rather than listen to the seductive noises that come from their mouth, they hate free market capitalism. What they want is corporate crony capitalism. They want a very brutal capitalism, merciless barbaric capitalism for the poor and very cushy socialism for the rich; and that is what this pipeline is about."Seems to be the story of the decade. I sure hope we can solve it without a civil war or Reign of Terror. The oil barons sure are not helping this come to a non-violent resolution.

Original Post from Gideon Rosenblatt:

Want to Understand What All the Fuss is in North Dakota?

Here's Robert F. Kennedy Jr. laying out the reality of today's energy market and the massive subsidization, the last dying breaths, of the carbon extraction sector, trying to saddle us with infrastructure and gigatons of carbon where we don't want it - in the sky.

Well this pipeline, using bald chicanery, said that they’re going to take advantage of that environmental assessment, that shortcut. They’re pretending that this pipeline which is 12,000 miles long is a one-acre project. Well that’s just a lie! It’s clearly illegal. Their clearly breaking the law. And the people of this camp are standing up and saying “All we want is law and order. All we want is compliance with the federal law.” And the state instead of supporting the people who are asking for law and order, is deploying the awesome military power of this state against the people who are asking for law and order on behalf of the criminal, on behalf of the person who is breaking our [wind masks word], and who is breaking the law.

The message is so obvious about the cheapness of renewable power. And the last two years the two biggest — three biggest coal companies in America Arch Coal and Peabody have lost 95% percent of their value because the market knows that: Carbon is dead. It’s dead and it’s still walking around, but it’s dead. The oil industry knows that, they see what the future is, and they’re protecting themselves by building infrastructure, by wrapping this nation in pipelines. And that’s why you see this huge drive to build more and more pipelines today.

And if you look what the Koch brothers are doing, the Koch brothers are going state by state and nationally to change the laws to make it very easy to make pipelines, [undecipherable] facilities, and coal export facilities and oil export facilities, and almost impossible to build transmission lines in this country because transmission lines are the vehicles for renewable power. So they made it very difficult to build transmission and very easy to build pipelines. And that’s why in the last 12 years we have built 16 thousand miles of pipeline in this country and only 600 miles of transmission lines. The reason for that is because that is the strategy for the oil industry to maintain control.

Sat, 26 Nov 2016 22:50:16 +0100

The Holovect isn't the first 3D volumetric display, but with the ability to project free-floating images in open air, it's the first I've seen that comes close to the holographic projections seen in sci-fi.