Exocortex: Setting up Huginn

Sep 11, 2016

In my last post I said that I'd describe in greater detail how to set up the software that I use as the core of my exocortex, called Huginn.

First, you need someplace for the software to live. I'll say up front that you can happily run Huginn on your laptop, desktop workstation, or server so long as it's not running Windows. Huginn is developed under Linux; it might run under one of the BSDs but I've never tried. I don't know if it'll run as expected in MacOSX because I don't have a Mac. If you want to give Huginn a try but you run Windows, I suggest installing VirtualBox and build a quick virtual machine. I recommend sticking with the officially supported distributions and use the latest stable version of Ubuntu Server. At the risk of sounding self-serving, I also suggest using one of my open source Ubuntu hardening sets to lock down the security on your new VM all in one go. If you're feeling adventurous you can get a VPS from a hosting provider like Amazon's AWS or Linode. I run some of my stuff at Digital Ocean and I'm very pleased with their service. If you'd like to give Digital Ocean a try here's my referral link which will give you $10us of credit, and you are not obligated to continue using their service after it's used up. If I didn't like their service (both commercial and customer) that much I wouldn't bother passing it around.

As serious web apps go, Huginn's system requirements aren't very high so you can build a very functional instance without putting a lot of effort or money toward it. You can run Huginn in about one gigabyte of RAM and one CPU, with a relatively small amount of disk space (twenty gigabytes or so, a fairly small amount for servers these days). Digital Ocean's $10us/month droplet (one CPU, one gigabyte of RAM, and 30 gigabytes of storage) is sufficient for experimentation and light use. To really get serious usage out of Huginn you'll need about two gigabytes of RAM to fit multiple worker daemons into memory. I personally use the following specs for all of my Huginn virtual machines: At least two CPUs, 60 gigabytes of disk space, and at least four gigabytes of RAM. Chances are, any physical machine you have on your desk exceeds these requirements so don't worry too much about it (but see these special instructions if you plan on using an ultra-mini machine like the Raspberry Pi). If you build your own virtual machine, take into account these requirements.

Click for the rest of the article...

Exocortex: Identity and Agency

Sep 05, 2016

Some time ago I was doing a longform series on Exocortex, my cognitive prosthetic system. I left off with some fairly broad and open-ended questions about the implications of such a software system for identity and agency. Before I go on, though, I think I'd better define some terms. Identity is one of those slippery concepts that you think you get until you have to actually talk about it. One possible definition is "the arbitrary boundry one draws between the self and another," or "I am me and you are you." A more technical definition might be "the condition or character as to who a person or what a thing is; the qualities, beliefs, et cetera that distinguish or identify a person or thing." That said, in this context I think that a useful working definition for the word 'identity' might consist of "the arbitrary boundry one draws between the self and another being that may or may not incorporate the integration of tools or other augmentations." Let us further modify the second, technical definition to include "the condition or character as to who a person or what a thing is or consists of due to the presence or absence of augmentations that modify the capabilities and/or attributes thereof," due to the fact that the definition should explicitly take into account the presence or absence of software or hardware augmentations. We also need to examine the definition of the word agency, which seems even more problematic. The Free Dictionary says that one definition is "the condition of being in action or operation," or loosely "being able to do stuff." The Stanford Encyclopedia of Philosophy says (among other things) the following about agency as a concept: The exercise or manifestation of the capacity to act. Of course, there are also arguments about the philosophy of agency that involve actors that should not be capable of having the intention to act doing so anyway, sometimes in ways that are functionally indistinguishable from organic life (which we usually think of as actors in the philosophical sense, anyway). And that's where things start getting tangled up.

Before I move on, I should set up two additional definitions. For the purposes of this post, 'agent' will refer to one of the functional units of Huginn used to construct solutions to larger problems. 'Constructs' will refer to the separate pieces of more complex software that plug into Huginn from outside.

Click for the rest of the article...

OTR fingerprint page update

Aug 30, 2016

I'll be updating my OTR fingerprint page in a day or so. Please be patient.

Also note that I'm tired of being able to log into the jabber.ccc.de server one time in ten, so consider if officially deprecated.

Taking a break for a while.

Aug 16, 2016

As the title implies, I think I need to take a break from blogging for a while. Just a week ago I had plans to write up my notes from DefCon and then go into all of the neat stuff that happened, like pulling a Charlie Brown at the locksport contest (okay, that wasn't so neat but at least I can laugh about it after the fact), the InSoc concert, and all of that happy stuff.

Unfortunately, I've just returned from the east coast. Mid-last week I got a phone call from my mother while walking to work and was told that Robert, a close relative who's been a strong influence in my life (though not necessarily a geographically close one) had gone in for neck surgery the previous Friday. By Sunday he had full-blown pneumonia; a day or two later he'd thrown a blood clot. Details get a little sketchy at this point: It could have been a pulmonary embolism or a heart attack or a stroke. Nobody's quite sure and I didn't spend any time digging for details. I was able to confirm that he'd coded twice and was in a coma.

Less than an hour later, my mother called me back. Bob was dead. She and my grandfather weren't able to travel to Georgia for the funeral so I went to represent our side of the family.

I wrapped up what I could at work and at home, threw a week's worth of clothes into a suitcase, and caught the first flight to Georgia, by way of Arizona and North Carolina. I'll spare you the details of an amazingly shitty cross-country flight which left my knees bruised and running on less than an hour of sleep out of 48, as well as a hotel from a chain that I don't think I'll ever stay in again if I can help it (La Quinta - 0/10, would not stay there again under pain of death).

Also, at one point during the weekend I went with a few of my cousins to see the Suicide Squad movie. Don't bother. All of the good stuff was in the trailers, and they cut most of that out of the final movie. Read the IMDB page and go on with your life.

The flight back was remarkably uneventful so I'll spare you the details. Suffice it to say that now I need to figure out how to get my head screwed on tightly enough to get back to work because, funerals and mourning and all that stuff aside, I still have a family to support and a job to do.

So, I'm going to be taking some time away from this blog. In part, I have a lot to catch up on. In part, I don't have it in me right now. I've been doing a lot of traveling so I'm stuck in a state of prolonged jetlag. And... in the last month I've attended two memorials, missed a third, and now I've gone to a funeral and I'm completely out of fucks to give.

Back from DefCon.

Aug 08, 2016

Back from DefCon. Don't know how I'm still on my feet right now. Went to lots of talks, went wandering more than is usual for me at DefCon, attended some incredible shows. Still smarting from how much even a lousy meal costs in Las Vegas. Had an incredibly lousy pair of plane flights to and from Vegas.

And now, back to figuring out how to reacclimate with workaday life.

Video from my HOPE XI talk is now online.

Aug 02, 2016

The Internet Society has re-uploaded the video from my HOPE XI talk. Here it is:

Feel free to get a chuckle out of how nervous I am, but I hope you enjoy my talk, too.

HOPE XI - This one went to eleven!

Jul 30, 2016

It's mostly been radio silence for the past couple of days. If you're reading this you've no doubt noticed that Switchboard (one of my constructs) posted the slides from my talk earlier this week. As sophisticated and helpful as she is, Switchboard can't yet pick thoughts out of my wetware to write blog posts. And so, here I am, my primary organic terminal sitting at Windbringer's console keying in notes, saving them, and then going back to turn them into something approaching prose. I've just now had the time to sit down and start writing stuff about HOPE XI, largely because after getting back all hell broke loose at my dayjob (per usual) so I haven't had the time. In point of fact, this writeup will probably happen over the course of a couple of days so it might come off as a bit disjointed.

It felt kind of strange attending this HOPE. I missed the last one two years ago because I was in the middle of moving into our new place on the other coast so I felt a little out of the loop. I missed just about everything that happened there and I keep forgetting to go back and track down the video recordings (so I'll have another part of me do that). It didn't take long to get back into the stride, though. Once you start attending hacker cons regularly it's easy to find how everything comes together, dive in, and get out of it what you're looking for. There weren't many vendors there because HOPE is largely a talks-and-talking to people kind of conference but I did come home with a few things to practice with as I always do. I also went out of my way to not buy another full wardrobe of t-shirts because, even after getting rid of 4/5 of my collection (including, I hasten to add, much of my collection of hacker convention shirts) space in my dresser is still at a premium. So goes the life of a self-admitted clothes horse. I also found one of Seeed Studio's FST-01 ultra-miniature 32-bit computers for sale at a table and snapped it up to use it with NeuG as a random number generator in a few of my projects because my Geiger counter died some months ago, but that's a writeup for another time.

After landing, picking up my luggage, and catching a cab to the hotel I met up with Seele, Genetik, and Nuke, whom I was splitting a hotel room with. I was a bit chagrined when Seele told me that there'd been a booking mixup and the Hotel Pennsylvania had to give us a different room. What I hadn't expected was that they gave us what amounted to a con suite, two full-sized rooms hooked together like a smallish apartment that easily had room for twice as many people as would be staying there. There was sufficient room that we were able to spread out as much as we liked with room left over so sleeping was quite comfortable. I never really got over the jet lag this time so my sleep schedule was all messed up. I may have averaged about four hours of sleep a night all weekend, modulo having to take a nap for a couple of hours on Saturday afternoon because I could neither concentrate on anything nor tune out background noise for very long. Either one left me with a dizzying sense of sensory overload which left me unable to see straight. It also meant that I spent the next couple of days trying to catch up and crashing hard after work for ten to twelve hours, with very strong but fragmentary dreams as my primary long-term memory optimized itself. It was the kind of sleep deprivation that you didn't know you had, as opposed to the kind of sleep deprivation where you know full well you've been awake for three days straight and you feel it in your bones, your fingers, and even in your hair. I didn't make it to all of the talks I wanted to but I did make a point of picking up a couple of DVDs before I left of the ones I really wanted to hit; I also downloaded most of the livestream recordings to watch later on the media box, probably after I get off the road the week after next.

A colleague of mine once remarked that there comes a point where you pretty much level out of most of the stuff that happens at hacker cons and you get more out of interacting with everyone there than you do from attending talks or seminars. I was somewhat skeptical at the time but open-minded about the possibility. Now I'm wondering if that's not the case because, from reading a whitepaper or two and having part of me do a search I can pretty much reconstruct the content of the talk (as verified by actually watching a recording of the talk later) and get the same thing out of it. I definitely came away from most of the discussions I found myself in with new perspectives on a lot of things.

So it goes.

Click for the rest of the article...

Slides from my HOPE XI talk.

Jul 16, 2016

For starters, thank you everyone who attended my talk at HOPE XI. I know it was on Sunday afternoon when a lot of people were either getting ready to go home, spending their last bits of time with friends they don't get to see often, or fried from partying the night before. Your attending means a lot to me, and I can't thank you enough. That said, here are the slides from my talk as a single HTML page to read online and as a PDF document to read offline (both were authored in Markdown and generated with Landslide).

Once again, the source code for Huginn can be found here, and the source tree for the Halo project can be found here.

BONUS! Here are some proof-of-concept agent networks that you can load into your own Huginn instances and experiment with! Butterfly In China is the agent network that generates my daily weather reports. Shake, Rattle, and Roll monitors the USGS' seismic activity alerting system for earthquakes of a certain strength or above. Tripwire is an HTML parsing-heavy agent network that pulls FBI Most Wanted Lists and sends alerts when they change.

Running hard to stay in place.

Jul 16, 2016

Still here. Still going. Getting ready for HOPE XI and trying to get everything buttoned up and bolted down at work before flying to the other coast for same. That all hell appears to still be breaking loose all over the world isn't helping matters any; I'm certainly not sleeping all that well, consequently.

Rehearsal of my talk for HOPE started today. I really suck right now and need to get this one banged out before I present. At least I've finally stopped writing and rewriting the slides and settled on the text.

This appears to be the week that Windbringer's internal power cell decided to only hold an hour of charge at a time. The good news is that I've got a replacement waiting in the wings to install. The bad news is that it's going to require a full teardown; Windbringer currently has a Macbook-like chassis, meaning lots of fiddly little nonstandard screws. Tomorrow afternoon's already been blocked off.

I'm going to take some downtime for myself to get my head screwed on straight; this also means that Windbringer's going to be backing up to external storage.

Be good to each other, everyone.