8.31.2014
7.14.2014
peta plus kurzweil
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
This quote on their landing page doesn't cultivate much believability.
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
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
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!?
2.11.2014
where is the plan for link bait?
This server had some pretty convoluted filtering options that I learned the ins and outs of (I had to plead on their mailing list for regex support because it would have added "too much overhead"). Every day users would forward spam that found it's way to their inboxes to me, and I would scour through the blocked messages for anything business related and forward stragglers to the intended recipients. I'd then take the false positives and the false negatives and update the rules using the tools available to me. By the time I left that job this process would consume three to four hours of my work day, every day.
I loathe spammers.
After some time I integrated spamhaus black-holing into our systems. It is (or was then, I haven't used it in ages) a system that accepts forwarded spam from large numbers of users and then adds offending sources to a block list you can automatically load into your mail server to try to keep up. It was certainly not perfect and I still had to look for false positives but it cut down on false negatives.
Later in that year of firsts as you may be guessing I also encountered Bayes method for the first time via Paul Graham's essay A Plan for Spam. I didn't understand much of it (stats are still not my strong suit) but I knew I'd found some powerful geekery. It made me feel the way I had when I first discovered OS level API's and later real mode instructions; deeper magic was waiting for me to understand it. I printed it out and kept it next to my crapper with other papers which would take multiple passes to slowly grok.
A year later Gmail would come along and use Bayes to essentially solve the spam problem for me and the rest of the internet, but by then I'd put that battle behind me.
Around that same time RSS (and later Atom) was being dreamed up and shortly after that feed aggregators came along and brought us a new kind of inbox with new kinds of problems. Machine learning would help again with the new problem of prioritizing large amounts of content. But as the number and variety of feeds increase the common implementation lacking a manual override caused it's own issues.
Maybe you never want to miss a post on a particular news feed, or maybe the submission you care about most on Hacker News today didn't receive a single upvote. The Spam or Not Spam classifier solutions don't work as well for the question of Interesting or Not Interesting. There are other ways to approach this problem but it's not yet solved in the way that spam is solved.
The unsolved problems of interesting or not interesting (Digg, Reddit, Twitter, your Facebook feed, etc) and in some ways relevant or not relevant (search) are vulnerable to being undermined. In these spaces (as with spam before them) the fact that more eyeballs means more revenue makes short cut optimizations like some types of SEO or link baiting worth pursuing.
Search and social media have mitigated the issue somewhat by providing things like Google Ad Words and promoted Tweets but the immense value to be gained from having something that's not an ad but not quite organic either go viral far outstrips that of shelling out to put your copy in front of some demographically plausible potential customers. In those transactions it's far better to be the venue for the ad being placed than it is to be the one buying it, better to provide the valuable service or relevant content than to try to ride it's momentum.
The space in which this provider of eyeballs / consumer of attention power struggle is happening is being aggressively explored for advantage on all sides, and in true internet form is being iterated at a staggering pace making even my info addled head spin.
The life cycle of a linkbait 0 day is going from multimillion dollar idea to passe joke to fairly interesting content faster than I can keep up.
Facebook has experimented with various solutions, this one may help you preserve a Facebook friendship.
Like any good fiend my info addiction sets my blood itching when my junk is diluted with cutting agents, but how to scratch!? Viral doesn't necessarily mean I will or won't like it, popularity among like minded people doesn't either and link bait doesn't always equal uninteresting. Your favourite hand curated collection of content won't universally produce things to your taste but maybe you will sit and read every word of every post on your sisters blog. A black box feed aggregator or a crowdsourced social news site offers minimal control for manual adjustment to how things are prioritized. "Unsubscribe from the default subreddits" is such a common suggestion to improving the Reddit experience it may as well be the default.
At least Twitter starts you at zero and lets you build your own prison. Although based on the number of times that my father has said of Twitter that "no one cares what you had for lunch", to which I reply that just like when deciding who to befriend IRL if you follow boring people you're going to have a boring news feed makes me wonder what the average Twitter experience is like.
There is a void in my internet. One that's pissing me off and frequently dominating my thoughts. Experience has taught me that this usually means two things are also happening. If it's bugging me and I'm thinking about it, then it's bugging smarter people who are also thinking about it. And if smart people are thinking about a problem facing the internet, someone is in the process of cooking up a solution right now.
So where the hell is it?
7.07.2013
hubot meet stashboard
With my recent change of locale I've enjoyed going from coding in an airlock (bank), only slightly better than coding in a vacuum, to to coding in a more open ecosystem. I'm digging the social coding but more than that I'm really loving working with stuff that I don't need to jury rig to bypass weird limitations (ever tried writing self modifying JCL? shudder).
One of the more entertaining pieces of software we use is Hubot, a chat bot whose functionality is readily extended with add on scripts; though a co-worker recently described him as a "charming nuisance" which is more or less true. I've been thinking he could be more productive (automate ALL THE THINGS!) but hadn't settled on here to start when a recent service outage put an idea in my head.
During a minor database snafu some of the team discussed ways to get out in front of the issue with users to make sure people knew we were on top of things. Emails and blog posts were put out there but afterword we realized that the people who had the credentials to update our Stashboard were the same ones who were needed to fight the fires.
So I spent some time setting up a Stashboard, installing a Hubot to play with and learning Coffeescript. That last bit was interesting, I haven't written Javascript in about a hundred years, it seems the cool kids are all on about this asynchronous shit that took me a while to wrap my head around. This ancient blog post helped with that.
I ended up producing a pretty decent interface between the two which I've added to our fork of hubot-scripts. Hopefully somebody else out there finds it useful.
6.07.2013
cube life remastered
5.05.2013
yankee yankee juliet -> yankee victor romeo
With that in mind I cast about at a handful of places in Victoria and in Vancouver looking for something nerdy to do with my time and a place called AppNeta made me the most interesting offer so I've made my way to the mainland and tomorrow I'll be heading in to the first "real" work I've had since I left the bank last May.
I figure any company that has a three foot wide ball of ethernet cable hanging from the ceiling and concerns themselves with inquiring about a potential employee's foosball prowess is the sort of place I'd like to spend my time.
In a bit of random topic change, I noticed that bicycle trailers were very popular in Victoria however the whole time I was there I think I saw maybe one store bought trailer on the road. The rest were crazy home brew concoctions that had me wondering why I'd spent so much money on mine in the first place. After a few weeks of seeing these things rolling around the city I decided to start cataloguing them for posterity. Here are a few of the more interesting ones ...
So that was my winter an a very small nutshell. Summer time in Vancouver should be interesting. As it happens I discovered I know more than the one person here I thought I did, an old friend noticed my location change on facebook and invited me round to meet for a BBQ this afternoon so I'm about ready to locate a few beers and make my way over to meet some new folks and gnosh some grilled goodness. Hope your Sunday afternoon is even better than mine promises to be!
12.02.2012
island life
9.28.2012
toronto to victoria by the numbers
- Days on the road: 68
- Days visiting, working, etc: 40
- Total kilometers traveled: 4548
- Lifts by car: 2
- Total kilometers pedaled: 4358
- Mountain passes ascended: 4 (4347 m climbed)
- Dollars spent: ~3500
- Pounds shed: ~55
- Parties crashed: 3
- Couches crashed: 7
- Animal attacks: 0
- Bug bites: countless!
- Levels of awesome: >9000
9.21.2012
from rockies to water
Immediately following that random meeting I got horrendously drenched in a cold nasty downpour and decided to seek out a roof and a warm bed in Lake Louise at this funky hostel.
9.06.2012
Calgary, 3 outta 4 ain't bad
It didn't take long to clear up, but in the down time I discovered that the South end of Calgary I was heading for was more easily reached by getting off the trans Canada so I turned to a southern route solo and went off to meet my buddy Mike. Once we'd found each other it was immediately obvious that a Friday night pub crawl was in order, so off we went to some local watering holes; Craft, Ship and Anchor, and The National. The first one reminded me of the Bier Market, Ship and Anchor had a great local semi-dive vibe to it, and The National was the last place we hit so details are somewhat vague. I recall a large electric sign that looked like a departure board at an airport that I think was a drink list. *shrug*
Along with visiting the local pubs Mike and I checked out a nearby provincial park and then made our way up to my uncle Jeff's place for a big BBQ where I met his wife and kids as well as a fiesty blur of grandkids and visited with my grandad and his lady friend Susan. I also picked up some work while I was in town, got to know Mike's roommates, old friends from school Joel and Jessica and managed to meet up with my cousin Jasmine to meet her fella and enjoy dinner on their patio.
So with a week of visiting, partying, and working under my belt, for the first time since I hurt my knee I began to seriously consider calling the trip to an end. Calgary is a beautiful city, full of friendly folks, with a mountain of work available for the taking. Definitely a place I could happily stay put for a while. I spent a few hours looking for accomodations and I fired some resumes off. Then I got a request for an interview ... in Vancouver.
A company I'd applied to earlier had decided they'd like to meet me. I was torn, so I phoned my brother Terry for some advice. After hearing the situation he cut right to the point. "Go to Vancouver", he said. "Calgary isn't going anywhere, if you don't like the job the city will still be there any time you want to go back". Of course he was right, so I packed up and made ready to roll on. And that's when Calgary started to suck.
It's true Calgary is beautiful (everything is brand new!), friendly, and has a booming economy. Is there anywhere that's not hiring in that city? But try riding a bicycle around town. I spent my week here rolling around on the C-Train and had no problem navigating the city. I spent ONE day trying to find my way out on a bike and most of that day I was lost. Keep in mind that at this point I've navigated my way across a few thousand kilometres of Canada without issue. Streets would up and change names under me with no signage. Rivers with no bridges for ages save an expressway I can't ride cut across my path. Bike paths would suddenly sprout impassable staircases without warning, in one case at the top of a huge hill which I was forced to go back down (wrong way on a one way!) and had to double back up again about an hour later. All told it took me nine hours, with a few stops for errands and snacks, to get from Cranston in the South end of town out to the trans Canada in the Northwest, less than 30km's.
Riding a bike in Calgary -> all my nope.
Since getting out it's been a difficult ride but quite an eyeful. I'm heading through Canmore, Banff, and Lake Louise and should be posting pictures of those and more through the next week or so, stay tuned!
8.18.2012
"you're gonna cry ..."
About a thousand years ago when I was prepping for this trip back in Toronto a helpful fella at a bike shop near my apartment pointed at south western Saskatchewan on a map and talking about prevailing winds said "Man you're gonna cry when you get there." Well I'm in Swift Current right now but those aren't tears ... I got something in my eye alright?
Okay well it's not as bad as all that but a mean headwind can sure make for a slow day. I've been on the road eight hours today and covered just under 50km. The terrain out this way has gone from every direction reminding me of The Wizard of Oz that Manitoba and eastern Saskatchewan offered to every direction reminding me of a Wile E Coyote cartoon. Oh yeah and I witnessed an honest to goodness stampede! A herd of cattle grazing near the highway as I passed just up and decided to haul ass for no reason I could see. Scared the crap outta me, but cool to see up close. No idea what would compel a person to try to control that though. Maybe cowboy hats do something bad to cranial blood flow?
Among many things I totally missed in school I'm thinking there was something about there once being an ocean out here in one of those lessons. This isn't snow, it's salt, and there's tonnes of it out here. I also found sea shells at my camp site last night which I'm pretty sure weren't driving through.
Anyway I should be crossing into Alberta on Monday and arriving in Calgary sometime late next week.
8.13.2012
from the Peg to Regina
8.05.2012
8.03.2012
working and playing in the Peg
After the bday celebrations were over Joel offered to bring me along on his daily commute into Winnipeg so I could see about arranging some work while I'm here to pad the travel fund. I've spent the last few days toting, loading, and hauling and enjoying the contrast of a different routine from the riding.
I'll be rolling on again this weekend. Next stop is Calgary to visit more friends and family!
7.22.2012
an aerial jaunt
7.21.2012
"summer camp for pilots"
Like good summer campers we spent some time by the river watching a local volleyball league duke it out beside the patio and quaffed a local speciality, pitchers of gin and lemonade slushy.
7.18.2012
Thunder Bay, family, and time travel
So Brent and I rode together from Wawa to Thunder Bay and enjoyed ourselves on the way. He's a much more experienced cyclist than I and an early riser to boot while I'm a slow starter in the mornings but with a bit of patience from him and a little extra hustle from me we found a good pace. Once we'd camped at my uncle's farm Friday night he continued on his way and I stayed to visit for the weekend.
After a great visit I set off toward Dryden to see my dad where he's working for the summer for the ministry of natural resources flying forest fire scouting missions. In order to get some visiting in during his days off I cheated a bit and accepted a ride from Upsala to Dryden (about 150km), but before that I crossed into Central Time, woohoo! I'm going to hang out here till the weekend and then push off for Manitoba on Sunday.
For those who haven't seen my videos on facebook yet here's the last one I shot in Lake Superior Provincial Park. I'll be posting more as I get time but right now I'm off to check out the city with pops! And as always for more pics check out the tour page.






















