7.14.2014

peta plus kurzweil

So this happened almost exactly a year ago and I missed it entirely. Fortunately it's still making the Facebook rounds so someone on my feed today informed me that last July the nation of India declared dolphins to be "non human persons". If you're as surprised as I was it's cool, the great nation of India did no such thing.

With that aside I wondered about the term "non human persons", is that even a thing? Turns out it is.

Some real quick googling reveals at least one seemingly well established non profit, the Nonhuman Rights Project has been out there working to get the legal rights of personhood extended to some types of "nonhuman animals", (their words) in one form or another for almost twenty years.

But the phrase "nonhuman person" from the first (incorrect) post got me wondering if there is anyone pushing this effort in a nerdier direction. Turns out there is.

These guys also seemingly well established are solidly in the corner of those seeking to grant nonhuman animals personhood rights, but they don't limit the scope to animals. Their literature explicitly states "nonhuman persons" as the target of their attention, while their primary stated agenda is to "is to stimulate and support constructive study of ethical issues connected with these powerful emerging technologies".

What I'm trying to say is that the groundwork is already being laid to establish the legal right not to be formatted for a theoretically uploaded human mind.

4.14.2014

all your face are belong to us

For a few minutes while I flipped through the Space Glasses web site and watched their video I thought it was a joke.


This quote on their landing page doesn't cultivate much believability.


But of course it's real, and like Glass they're concious of the implicit privacy concerns from the outset. "Meta prototypes include a front-facing LED that will let others know when you’re recording the world around you." Even as the discussion goes on about surveillance and privacy being a Big Deal there are interesting experiments in using AR to enhance your own privacy and invade the privacy of others under way.

I give it about five minutes before someone combines an AR platform with something like the Carnegie Mellon adaptive headlights and an infra red camera jammer for active privacy management.

3.09.2014

ghost is kinda like ... pretty fast

A while back I tossed a few bucks at the Ghost blogging platform kickstarter fund, and even though it's been available for a while I hadn't gotten around to trying it out until recently. Tomorrow night my brother Terry will be appearing on Top Chef Canada and last week I noticed that other contestants were getting some retweet love from the popular Food Network twitter account but he was missing out. I offered to get him set up with a site he could get some google juice flowing to and figured it was a good opportunity to give Ghost a try.

My experience with NodeJS hasn't been fabulous, but nvm has taken some of the sting out of the process so once I found a version that Ghost seemed to play well with (v0.10.26) it was a pretty smooth set up. It was about two hours from firing up a VPS to live. There's not much there of course, I just copied a few posts from his old blog over by hand and gave him creds to start posting. Then, anticipating his rise to star status chef I decided to look at performance.

I should preface this by pointing out if I haven't already that my day job is pretty much all about web app performance (if you're worried about that sort of thing you're doing yourself a disservice not having a free Traceview account!). I've spent the last ten months setting up and looking at performance metrics for countless websites built on a wide variety of platforms, so I feel like I can speak with at least some authority on this subject.

For most web apps load time is measured in seconds, this is the web most of us surf every day. Good apps have latency averages in the sub one second range. Even 900ms is better than most. Apps with really stellar performance will service the bulk of their requests in the 100-200ms range, these are apps which are really well tuned but providing this performance across all manner of requests is nearly impossible. POSTing data is slow, querying large data sets takes time. Providing serious functionality pushes most complex apps out of this range.

With nothing but nginx as a reverse proxy and Ghost running in a single process on a very low traffic blog the average load time for this site is 19ms! That's pretty much cached static content speeds. I put it under load with a few minutes of 500 concurrent requests and it "ballooned" to 1.7 seconds. A full page cache between node and nginx should dispatch the bulk of that latency with very little effort.

I'm absolutely floored by this thing. So, I will be moving this blog over to Ghost as soon as time allows. I want to be sure Terry's stuff is nice and stable and take my time to port all my content over as best I can but I just can't say no to numbers like that. I'd be impressed to see a fully cached Wordpress blog put up numbers in that range.

If you're in the market for a platform Ghost gets my solid stamp of approval, I paid a bit less than the five bucks / month it costs for a managed and hosted Ghost blog for the VPS I'm running it on but I'm fussy about details. Assuming their hosted solution is as good as the free one you can't go wrong shelling out for it.

And obviously, tune in to Top Chef Canada tomorrow night and watch my brother run rings around the competition!

2.23.2014

chromebookin it

Along with aches, sun burns and copious insect bites one of the bumps along the way during my trip a couple summers ago was my trusty Thinkpad dropping dead on me as I made my way over to Vancouver Island. My dad very kindly donated his old Acer which kept me going for a while. Later when I found some work and a place to stay in Victoria a friend gave me a slightly beat up but more powerful Sony Vaio which while not very portable was a great machine for a freebie.

Until last weekend, when after another round of abusing my friends via photoshop (and being soundly punked in return) the magic blue smoke was released and the Vaio booted no more. I ran out on a Sunday afternoon to see what I could find for a replacement and after talking myself out of throwing the better part of a pay cheque down on another Thinkpad I walked out of a Best Buy with a neat little Arm powered Samsung chromebook.

A friend who recently grabbed an x86 model suggested that rather than go with my gut and hose ChromeOS in favor of a full blown linux install I should give ChromeOS a try, but as I am wont to tinker I ignored this advice and set about screwing around with it. The preferred methods of supplanting ChromeOS seem to be Crouton or ChrUbuntu. The first lives in a chroot along side ChromeOS kernel and the second seems to do some weird munging of ChromeOS components into a weird Ubuntu image, neither of which appealed to me very much.

Instead I grabbed a couple of cheap SD cards and tried the very detailed Arch install instructions and then gave the even easier (dd this img file and go) Debian instructions. I'd never used Arch before and was quite pleased when I encountered their smooth wifi setup tools. Debian reminded me how to find the man pages for wpa_supplicant, but both were pretty straightforward.

After all that I discovered why people have been doing "weird" hybrid things with ChromeOS components rather than making full blown replacements. As usual, it's the fucking graphics drivers. The Exynos 5 chip in this machine has a Mali T604 GPU with a small number of shaders and provides a nice jank-free Youtube and Netflix experience in ChromeOS but vesafb while it works just as advertised, isn't quite up to those tasks. Although this video shows some promising WebGL performance with both. Personally I didn't have much luck with video playback under vesafb, maybe there's a way to get software scaling going but I couldn't suss it out.

Faced with this I briefly flirted with the idea of sticking with stock ChromeOS and limping along with the nifty dev tools available but since everything is mounted as noexec it's kinda pointless unless you're building and flashing ChromiumOS yourself.

The issue seems to revolve around a driver called "armsoc" which looks like it was forked from some OMAP thing a while back and seems to be under active development with the chromiumos project. I'm not exactly sure what the deal is with this thing that everyone is copying binary's around but I suspect it has to do with xorg ABI versions or some such nonsense. Arm also seems to provide closed binary blobs as well as open drivers which I haven't messed with yet but I expect will be disappointing for all the common reasons.

I haven't yet figured it all out but I did find my way to the limadriver project. It's a full on free driver for the Mali GPU family and seems to have an amusing backstory including a 16 year old core contributor so I think I'll give that a try. It seems more my speed.

In the long run though I see this machine as a great thing to have in my bag all the time but I expect I'll probably get a real machine again at some point. Assuming I can find one with a genuine English keyboard. Seriously if it's that hard to figure out which machine to ship to which province how does anyone in Europe buy a computer!?