A couple of nights ago I went to see Tron: Legacy again with Jason, and we spent much of the evening afterward discussing it, as we are wont to do. I haven't been keeping up with reviews of it, to be honest, I just know what a couple of people said about it. Largely, their opinions were that the movie was visually stunning (it was), the effects were top notch (they were), but the plot was somewhat lacking and relied a little bit too much on references to the original movie. If nothing else, the soundtrack is certainly awesome and I can't recommend it highly enough.
If you're not familiar with the basic storyline, Tron: Legacy picks up about twenty five years after the events of the first movie and twenty years after the disappearance of Kevin Flynn, protagonist of Tron. Flynn's son Sam is ostensibly the biggest shareholder of Encom but is content to while away the days living in a renovated garage somewhere in the Bay Area, and spends his days riding his motor cycle, reconditioning his father's beloved motorcycle, and occasionally wreaking havoc around the city. Every once in a while Allen Bradley (played by Bruce Boxleitner) drops by but mostly Sam is uninterested in doing much of anything with his life. Once night, Kevin is told by Allen that he received a page originating from the phone number of Kevin Flynn's old office on the top floor of his video arcade. From there, the movie picks up speed, and the interesting bits (which are spoilers, naturally) are below the cut. Read on if you've already seen the movie or if you don't particularly care about spoilers.
More under the cut...
As you no doubt have observed I've been conspicuously absent for the past couple of weeks, at least since returning from a long-overdue vacation with Lyssa in lovely Portland, Oregon. Much of my time has been spent at work doing the things that bastards like me get paid to do: run and fix backups, install software, patch systems, run audits, and generally keep things chugging along smoothly for the folks who do everything else. Due to the weather in the DC metroplex taking a turn for the rainy and cold (as it's wont to do every Samhain) my commute has ballooned into a three to four hour a day journey on the Beltway which has given me plenty of opportunity to catch up on podcasts and audiobooks. Unfortunately, it's also left me dead asleep on the couch most every night since I got home, which doesn't give me a whole lot of time to write.
There have also been problems of a home IT nature that I've been dealing with in what little downtime I've had lately. Problems which have left my bank account eviscerated and twitching on the floor as money poured out through a two foot long rent in its chest.
A week after returning from Portland I made the resolution that I would take the time to back up and rebuild Leandra properly, seeing as how it's been a half decade since her last overhaul. Thus, I set about copying off the important stuff, burning a few DVDs, and preparing an Arch Linux install disk. I'd suspected that her graphics card had failed a while ago, based on the fact that the display attached to it no longer worked, but it was also possible that one of the many kernel updates had knocked the nVidia drivers out of sync. "No big deal," I thought, "I'll be running pure text mode from here on, so it won't be that big a deal."
So, I thought nothing of popping in the install disk, shutting Leandra down, and rebooting to rebuild everything. I'd taken careful notes so I could restore her configuration without a lot of hemming, hawing, and scratching of head. Until she refused to come back up.
More under the cut...
One of the reasons the NIA fascinated me so is due to the fact that it operates as a sort of poor-lifeform's EEG coupled with an EMG picking up the electrical activity of the muscles of the scalp and forehead. Another of my interests (of which I have far too many) is non-ordinary states of consciousness. I'm reasonably experienced with meditation and biofeedback techniques so once I got the data collection utility and visual analysis software working (yes, I keep linking to them; the one time I don't, I'll be flooded with requests for it the way my luck goes) I rigged up a harness for my NIA's base unit, put the headband on, and got down to my daily practice. All told, it took about an hour to capture the data.
Just for fun, I captured a couple of minutes of electrical activity into a text file, which is suitable for running through nia_eeg_chart.py. I wasn't doing a whole lot, just listening to a podcast and flipping between e-mail and Firefox tabs, so it's not terribly interesting stuff. Either I'm more brainless than usual when browsing the Web, or it says something about exchanging one way of turning your mind off (television) for another (too many websites to keep track of at once).
Anyway, have some fun with that data set if you like.
Well, I finally got it working. After a lot of trial and error I was able to figure out how to set up a panel of six strip charts, one per channel of electrical activity in the brain that the OCZ NIA picks up. The application I wrote takes output captured from nia_number_dumper.py and displays it as one would expect an EEG to look. Python is required to run this software.
Next up: turning it into a realtime display from the NIA.
Disclaimer the first: I don't know a whole lot about USB or device drivers. Those of you who do will no doubt point and laugh.
Disclaimer the second: Where applicable, I've given credit for and linked to the work of others. I've independently discovered a few things that others have already figured out, so one or two things may not be attributed. In that case, please let me know and I'll put a reference where applicable.
Over the past few weeks I've been playing with my OCZ NIA on and off. My first attempt at getting anything out of it involved recompiling Windbringer's kernel with HID debugging and /dev/hidraw device support to maximize my chances of having a device node to play with. As far as I can tell these are probably unnecessary because when you plug in the NIA device nodes under /dev appear and some of them will emit binary when you read from them. While you can `cat` from the device node you won't get much from it. After running niasnoop (which defaults to maximum debugging output) it automatically found my NIA at device node /dev/bus/usb/005/002 and started pulling data from it, just as it's supposed to do.
Using niasnoop I captured a couple of megabytes of data in a text file and stared at it for a while in an attempt to gain more insight into the format of the data stream, only to no avail. I then got the bright idea to check out the OCZ forums again, and there discovered that someone called dr-mephisto had written a Python module that hooks into libusb and makes it possible to write apps in Python that read data from the NIA, thus beating me to the punch by a few weeks (realistically speaking, probably a few months). PyNIA has a few dependencies that have to be met before you can use it - the aforementioned libusb, Pyglet, pyusb, and numpy to provide the signal analysis algorithms. These dependencies are pretty easy to satisfy; you can probably pull what you need from your distribution's package repository (unless you're running Python on Windows or Mac OSX, in which case you're on your own).
More under the cut...
Taking one of Elliott's noisemaker classes at HacDC is a lot like practicing chaos magick: you're never sure what you're going to have to work with at any given time, you don't know what sort of result you're going to get until you're halfway through the process, a large part of your instructions will consist of "Let's try this and see what happens," and you're guaranteed lots of funny noises (often modulated with different kinds of light).
While reading the files in /usr/src/linux/Documentation/usb/ I got it in my head to see if anyone else had spent any time reverse engineering the OCZ NIA, or at least had figured out how to get output from it. I spent some time a couple of days ago playing with it on Windbringer (running Gentoo Linux and all I was able to determine in the short time I worked on it was that it successfully registers itself with the Linux kernel's USB subsystem as an USB Human Interface Device (heh). After collecting some information I put the project down for a couple of days. A simple Google search on "OCZ NIA USB protocol" revealed a wealth of information, and not a little software that I should have gone searching for to begin with. If I had any common sense I would have gone right to the OCZ forums to look at the information that other hardware hackers had already collected. As it turns out a lot of work has already been done reversing the format of the data the
OCZ NIA sends to the host computer across the USB bus.
This is essentially a roll-up post on what I've dug up, with links to sources of information and attribution where appropriate. It's more for me than for anyone else, and will probably be updated as I figure things out. Interspersed with notes and links will be some of the results of my own work deciphering the data the NIA sends back. I put this post together, not only because I wanted a way to make notes about the information I found but also to provide a better roll up and summary than the wiki page, which really isn't all that helpful.
A couple of months back there was quite a bit of hype (which vanished rapidly as people forgot all about it when the next new thing came around) about the NIA brain-computer interface from OCZ Technology (which is also known for its build-your-own-laptop kits). Ostensibly, it's a consumer-grade, non-invasive EEG that you strap across your forehead and jack into a small interface unit which then plugs into a USB port on your computer. The unit comes with drivers that can map certain inputs from the dermatrodes (good call, Mr. Gibson) to keyboard and mouse events defined by the user.. the upshot of this means that you can, once you get good at it, use learned thought patterns to carry out tasks, such as moving around inside a spreadsheet or playing video games.
I must confess, I was highly skeptical of devices like this when I first heard about them. In undergrad I knew that there were a few people playing around with homebrew versions of this technology but they never really released any specific information so, without proof, I had to write them off as rumours. I also recall the Nintendo Powerglove, which wasn't a very good way to play games but was nifty to hack around with. Revolutionary devices for user-computer interface usually aren't, unfortunately.
Due to the fact that Rending the Veil hasn't finished restoring older articles from backup since the last server migration, I'm reposting my last article they published on harvesting the energy spent by spammers in trying to get us to buy their crap.
Spam. Junk e-mail. Things you can't say in mixed company.
No matter what you may call it, we're talking about the same thing: E-mail that you didn't ask for and don't want filling up your inbox, sometimes making it impossible to find real e-mail. It's a nuisance that netizens have been fighting for years. In terms of its capacity to annoy, it's right up there with ingrown hairs in tender places and bassmobiles making things fall off of your altar in the middle of a ritual.
But what if you could turn the steady flow of spam to your own ends? How could you possibly transmute all those exhortations to enhance your genetalia (regardless of your physical sex) into something useful?
First, let's take a look at spam from a metaphysical perspective.
There are a few ways by which spam is transmitted. One of the oldest is software that, when given a canned message and a list of addresses to target, sends hundreds of thousands of messages, one to every e-mail address in the list. This is probably the slowest method of spamming because it's limited by the speed of the spammer's connection to the Internet. More often than not when the complaints start flooding the spammer's ISP, their accounts are summarily terminated, assuming that the entire netblock doesn't get dropped into RBLs (realtime blacklists) across the Net first. There are only so many ISPs in a given area, so it's too easy for a spammer to exhaust all of their possibilities in a short period of time. This method is all but obsolete, not only because connectivity is at a premium but because spam filtering technologies can easily pick up and drop spam that doesn't change its content very much.
More under the cut...
Due to the fact that Rending the Veil magazine has not finished restoring the backlog of old articles following a server migration, here is my first article published by them, on reformatting a computer as banishing and consecration of ritual space.
In many paradigms of Western magick, rituals are often performed to dedicate some area for use as a temple. Theoretically, by dedicating a space and everything within it to the will of the magickian(s), workings will be untainted by stray ideas, thereby leading to a more precise result. Interpreting sacred space as a reflection of the practitioners consciousness, the rituals used to prepare sacred space could be said to delete stray concepts from the area, allowing the operations to take place in an environment with fewer influences tainting the desired outcome. Just as one stretches and warms up exercises before beginning aerobic exercise, one would also put away stray objects that might be knocked over, broken, or otherwise get in the way of one's actions.
A computer can also represent the inner workings of a magickian's mind. The hard drive and removable drives storage of a computer correspond to a persons long term memory, where information is stored for later use. Long term storage is also where useful software (skills, rituals, and practical occult knowledge) and meta-software (software used by other software, to aid in its function; magically, skills used in the pursuit of knowledge, and skills to aid the performance of magick, such as memorization techniques) are kept. Printers produce hardcopy as non-volatile storage; magickians produce hardcopy by drawing, writing, or otherwise permanently recording ideas.
More under the cut...
What a week. As the Finn once said, "There's no rest for the wicked," and that seems to be the absolute truth anymore. Between driving, running around, paperwork, getting things together, and a whole right host of other things, I've barely had any time to sit down and write a proper entry. Last night was something of an anomaly because I'd managed to free up some time and do something with it.
So let's see if I can do it again.
Lyssa and I got up at some point on Saturday morning, cold, shivering, damp in ways that H.P. Lovecraft wrote about, hungry (because we really hadn't had anything to eat before the sweat lodge the night before), and generally in a rather poor mood. If nothing else, the showers down at the bottom of the hill had warm water, with which we managed to clean off the remains of the mustiness from the humidity the night before. It was the times following that which I'd rather not write about. Suffice it to say that it took a couple of hours before the majority of the words heard at Four Quarters Farm were civil ones.
Hasufin and Mika were kind enough to make a slew of pancakes over the campfire, of which I helped myself to a half-dozen or so. Between that, a cup of coffee (which wasn't very good - my stash of ground coffee hadn't survived the humidity well at all), and a hot cup of coffee from the kitchen (and Helen's coffee bean grinder - I need to add her to my will for that touch of home!) i felt almost together enough to run a workshop and get ready for the main ritual. It was around this time that it was suggested to me by a large number of people that I run the second workshop of the day as well (the Lost Boys were still on the shelf due to the antibiotics they were taking), but I wasn't terribly comfortable doing so without any preparation or someone to bounce off of, so I decided to make it a Q&A session instead of a workshop and went in search of someone who could help me jumpstart things. I asked around a bit and discovered that Shadowmorphic (of the New York City crew) could help, and so I went in search of her.
Shadow- had been MIA all night, and no one had seen her. Just the same, I left word with a half-dozen people that I needed to talk to her about the Q&A/workshop, and that I would greatly appreciate her assistance.
Past this point, dear reader, lie many unusual things. If the unusual references make you uncomfortable, then treat them as a short story, similiar to the one I wrote early last week for "Blog Like It's the End of the World" day.
More under the cut...
Depending on whom you talk to, the Voynich Manuscript is either one of the strangest books on the face of the planet, the key to the secrets of the universe, an elaborate puzzle by Dr. John Dee/Abdul al-Hazred/the Comte de Saint Germain/$other_mystical_figure, or a brilliant hoax. The text of the book is utterly incomprehensible - if it's a cypher, it's a damned good one. Many cryptographers and puzzle freaks over the years have tried and failed to decode it, though they've discovered a few interesting things. Current thought has it that the script was created from scratch by whomever penned the text specifically for this project. Textual analysis shows that the text itself contains patterns suggestive of the presence of a language. If it does, then it's very likely that the language is either fictitious as well or gibberish that happens to contain a high amount of entropy, in the cryptographic sense. This isn't as difficult task as one would think - software exists today that can generate nonsense words that have patterns similar to those found in spoken and written languages.
The book is also notable for the unusual hand-drawn illustrations that it contains. The book is roughly broken down into six chapters, one reminiscent of herbalists' manuals found in the 15th and 16th centuries, unusual astronomical and astrological diagrams, what appear to be maps or cosmological diagrams, and other images that look useful at first glance, but don't actually refer to anything that any modern scientist or biologist has ever seen.
This utility was designed to convert information about someone or something into a form better suited for magickal operations. It's written in Perl and outputs an MD5 message digest suitable for use in sigils, mantras, chanting, or what have you. Documentation is built in and displayed with the command signature_generator-1.1.pl --help.
The utility requires the Perl module Digest::MD5, which is included with most any copy of Perl these days.
This is one of my first technomagickal experiments written in Perl, a utility that converts words written in English or Hebrew characters into numbers for use in gematria, a process used to discern concealed patterns and relationships between words, and thus their associated concepts.
I originally developed this utility with Perl v5.6, and it runs under v5.8 and later without trouble.
gematria-1.0.pl --help will print the online help.
gematria-1.0.pl --how_to_supply_hebrew_words will explain how to pass Hebrew characters to the utility.
Here is a picture of the book just after being bound together The covers are two layers of cardboard cut from a box that were glued together and then cut slightly larger than the size of the pages used, which puts it at about nine inches in width by twelve inches in height. The holes were drilled with a 0.25 inch diameter masonary bit and an electric power drill. The pages were stacked on top of the back cover, the front cover was added to the stack, and I started boring the holes one by one. They aren't perfectly lined up, I'm afraid, but on the whole it's not too bad for a first try.
More under the cut...
This is the weblog of the Doctor, who is (in no particular order), a geek, a writer, a musician, a mystech, a coder, a traveler, an adventurer, an engineer, a magickian, a system administrator, a consultant, a transhumanist, and is interested in just about everything to some extent.
The Doctor's life is quite busy (his career doubly so) so he posts whenever the opportunity arises. It isn't as often as he would like.