First solid-state quantum processor developed.

Friday, 03 July 2009 at 19:06

Quantum computing, thought by many to be the holy grail of information technology, is based upon one of the basic tenants of quantum mechanics: a particle, be it a photon, a hydrogen atom, or a molecule of water, exists in a multitude of states (location, spin, orientation, what have you) until you actually examine it, at which time the particle suddenly 'picks' a state and stays that way as long as you're watching.  At least that's the most commonly quoted interpretation of the math.  At Yale University a team of scientists has created the first purely electronic quantum processor and put it through a basic set of tests.  The quantum processor implements only two qubits but that's enough to search and sort an array of values.  More's the point, this is the first non-trivial quantum processor built using solid-state electronics and not lasers and beam splitters.  Each qubit isn't made up of individual atoms but molecules of aluminum which exhibit the same properties en masse for limited periods of time.  By limited periods of time, I mean somewhen in the neighborhood of a microsecond.  Not long, to be sure, but several orders of magnetude longer than the first qubits created ten years ago which lasted for a couple of nanoseconds at most.

I'd say this is most definitely a technology to keep an eye on.  It's taken ten years to go from a single photon to a pair of (massive) aluminum molecules on a chip.  Where will quantum processing be in another decade?  And when will they leave the lab?

Misadventures in microcontrollers.

Friday, 03 July 2009 at 14:08

I've spent my free time over the past couple of days hacking away on my current project-slash-obsession and thus I've been doing a lot of reading up on microcontrollers, or at least the basics of them.  Knowing nothing about them as a technology or about sound synthesis for that matter, I find myself having to start from first principles, which are never as easy as they seem to grasp no matter how much experience you have under your belt.  I'm trying to design a synthesizer coming at it as a code jockey as well as a musician (or one-time musician, anyway).  An A note in the fifth octave is 440 Hz, so you just push the value into a register, set a conditional that runs a few thousand times per second (at today's clock speeds that takes no effort at all) and play if a variable has a value, don't play if it doesn't.  Sounds simple, right?

It's not.  Playing nifty sounds is something that we take for granted but under the hood there's a lot of math and extra circuitry involved.  That's why sound cards hitting the market in the early 90's were so amazing.  When you hook a simple piezo speaker up with a pair of wires to a pin on a microprocessor and toggle that pin a few thousand times a second you can create sound with a method called pulse-width modulation, but that will make only one sound at a time.  If it's polyphony you want you're going to need more oscillators, and in fact more hardware because PWM requires that the amount of time the pin is 'on' and the amount of time the pin is 'off' be precisely modulated because each note has a different combination of those two variables.  You can't stack more than one sound if you're using PWM on a single microprocessor.

Not long after I decided to start working on this, I had the crazy idea of using a SIDuino, a microcontroller programmed to emulate a SID chip to perform the actual sound synthesis in this project.  While I'm not yet ready to do anything of the sort I figured that I'd get an ATmega168 ready last night while I was at HacDC by flashing the code, labeling the chip, and putting it aside so it'd be ready when I needed it.  So, I swapped the chips in my Arduino, plugged it into Windbringer, and followed the instructions for uploading the code into the 168.  And bricked the damned thing doing it.


More under the cut...

Wow. My vacuum sucks.

Thursday, 02 July 2009 at 14:06

That is all the lint that was clogging the motor.  I field stripped the carpet sweeper this afternoon and pulled it all out.  Now it'll actually pick stuff up from the carpet.

What hath the fabulists wrought?

Sunday, 28 June 2009 at 17:25

It's long been said that science fiction predicts, or at least inspires some of the things which we take for granted every day. While the exact origins of the genre could be debated until the cows come home (and they most certainly are in some circles), it was some time during the 17th century c.e. during the Age of Reason in which people really began to write stories in which the advances of the time were their inspiration. Great voyages by sailing ship and fanciful aircraft were taken to regions of the globe which had only been seen by the human imagination. Adventurers with an almost magical grasp of the techniques and devices of the time fought wars, plumbed the depths, and explored far-flung frontiers in those tales.

Insofar as such things are concerned, things haven't changed much in four hundred years. We still write stories about what could be and what may be possible inspired by what we have now. Over a drink or two with Pegritz last weekend I started noticing things in everyday life that could be said to have been predicted in some fashion by science fiction. It's said that a good writer can extrapolate patterns from what is into what might be, and in some matters writers have been eerily prescient.


More under the cut...

A new pet added to the apartment.

Sunday, 28 June 2009 at 15:14

Yesterday afternoon, after much deliberation and cursing at the general lack of quality of PetCo's inventory Lyssa and I finally picked up a new rodent cage and associated gear (silent running wheel, water bottle, plastic hutch, et cetera) to set up on the coffee table in the library.  We then headed in the opposite direction to the other PetCo in our area to pick up a new addition to the family, a mostly white long haired hamster who won our hearts through his antics and, it should be noted, cluelessness.  When we first saw him a couple off weeks ago he'd figured out how to soak the bedding and himself in his half of the tank by loosening the cap on the water bottle, no mean feat when the water bottle is twice the size of the rodent and no opposable thumbs are involved.  You can't help but fall in love with cute like that due solely to the entertainment factor.

It wasn't too difficult for the clerk at the petstore to get him out of the tank by scooping him up in plastic hutch and holding it against his chest so we could get a sense for how he reacted to people and how tame he was at the moment.  He ran around in circles a few times and reacted pretty well to all of us until he got it in his head to put his paws on the edge of the hutch and try to hop over the side.  Hamsters are notoriously nearsighted and curious, so it wasn't entirely unexpected that he'd consider making a bid for freedom, but then something unusual happened: he appears to have gotten a good look over the edge and realized that he couldn't see the ground (in actuality, about four and a half feet straight down).

Did you know that hamsters can scream?  I mean, scream in panic and terror?  The little guy opened his mouth as wide as he could, so far that we could see inside of his cheek pouches, and gave a breathy shriek that chilled us to the bone.  He was truly afraid and didn't know what to do.

We bought him on the spot, maybe due in part to not knowing how to handle such fear in something so tiny.  He spent the entire car ride home scrabbling against the walls of the cardboard carton they put him in and the time between arriving and getting his cage assembled trembling like a leaf.

A minor digression about the cages they sell at PetCo: they're crap.  Utter shite.  A snap-together cage shouldn't require a pair of pliers to crimp the snaps together, nor should there be sharp spurs of metal and missing welds on the removable bits.  It took Lyssa and I a little over an hour to assemble the cage and make it hamster-worthy.  By the time we were ready to install our hamster in his new home he was sprawled out on the bottom of the carry-home carton and not moving.  I think he exhausted himself from terror, but at the time Lyssa and I wondered if he'd dropped over of a heart attack.

We're not sure of what to call him yet.  The name Lemmy is in the running, as is Valentine (he's an important hamster, after all: he has a tower) and Teddy Bear.  I think Lyssa and I are going to wait a little while and see how he acts and how amenable he is to being handled.

You're probably wondering where I've been lately.

Friday, 26 June 2009 at 22:00

By and large, work has been, well, work.  Lots of hours at the office, lots of hours stuck in traffic sweating like Kevin Mitnick during a traffic stop.  When I haven't been logging time behind a console, I've either been trying to get my head back into Python coding (try as I might, I just don't understand GUI programming in general or PyGTK in particular), reading data sheets, reading up on the Arduino microcontroller, or pulling a Tesla while pondering the best way to build my latest obsession, a laser synthtar.

You see, it all started at HacDC a couple of weeks ago at one of Eliott's noisemaker classes.  Rather than teaching a class, he's basically been letting us run loose to come up with whatever our twisted little hearts desire.  I decided to try working with an integrated circuit without any instruction; as luck would have it, there was a 555 laying around that I unsoldered, looked up, and wired up as a simple noisemaker.  To play with the dynamics of the sound I used a couple of photocells and a flashlight.  This stuck in my head for a day or two until I ran across the laser synthitar article on Gizmodo, and it was as if a switch suddenly closed inside my head.  I dashed off to Adafruit Industries' website to buy a Duemilanove (the latest generation Arduino which is a bit more advanced) and started scribbing schematics in my lab notebook.  The circuitry is pretty straightforward but the project as written up is a little on the simplistic side - it has only three 'strings' with a little pitch shifting at the frets.  By using a microcontroller instead of a couple of 555's I can make it much more versatile, and by not using a toy guitar I can position the strings more reasonably by building my own housing.

I then wondered if it would be possible to either rig up or emulate an MOS-6581 to do the sound synthesis.  Off to Google I went because I know I'm not the only person out there who's ever wondered about this, and lo and behold someone has already figured out how to do it.  So, my gameplan is this: build a simple laser trigger, write some code for the Arduino that plays a note whenever the trigger is broken, build a set of five laser triggers, modify the code to handle the five triggers, develop a system of frets that will feed into the microcontroller and change the notes the triggers generate (addition and subtraction, really), and build the whole shebang into something that I can wear on a guitar strap.  Then it comes down to teaching myself how to play it.  I already play a few instruments, so while the learning process will be fraught with "Oh gods, this sounds horrible!" moments I'll eventually sort things out and figure out how to pick out a few tunes.  The rest will grow from that.

The King of Pop has passed.

Thursday, 25 June 2009 at 20:51

It's official - Michael Jackson is dead at the age of 50.  Jackson was rushed into an undisclosed hospital in Los Angeles, California in full cardiac arrest and was pronounced dead at 1446 PST8PDT.  The cause of death isn't known, and won't be determined for a couple of weeks at least.  The rumors from earlier today have been officially dispelled, and Netcraft confirms it.  Jackson was easily one of the most prolific musicians in history, topping out in the neighborhood of 750 million records sold during his career.  Oddly enough, he just closed a series of 50 concerts in London, England which would have run until March of 2010.  Tickets for those concerts sold out in minutes.

Crash on the red line of the DC Metro this afternoon.

Monday, 22 June 2009 at 18:38

Around 1700 EST5EDT in the DC metroplex, there was a head-on collision between two trains on the red line. The crash occurred in the vicinity of Takoma Park, Maryland. Reports vary, but about ten people were severely injured in the crash. Unconfirmed reports state that the crash may have had something to do with the drivers being distracted.

If you were on the DC metro and you’re reading this, please comment so that we know you’re okay.


More under the cut...

Arduino cross-development kit on Gentoo.

Friday, 19 June 2009 at 18:54

While I’m sitting here hacking around, here’s the exact command that I needed to run to get the Arduino development kit to install properly on Windbringer:

It should be noted that I’m using Layman to manage my overlays, which is why I had to specify the environment variable on the command line.

I discovered that GCC v4.1.2 didn't support the Atmega328, which is what my Arduino Duemilanove is based upon, so I had to upgrade GCC to the latest stable release for Gentoo.  To generate code for the Atmega328, you need v4.2.2 or newer of GCC.

PORTDIR_OVERLAY=/usr/portage/local crossdev —gcc 4.3.2 —without-headers -t avr -s4

When compilation is finished, you then have to switch the profile to the new revision of avr-gcc:

gcc-config avr-4.2.4

source /etc/profile

The instructions I was following came from here.  To switch the version of avr-gcc in use, I followed the directions at the end of the /var/log/portage/cross-avr-gcc-stage2.log file on Windbringer when the crossdev build was done.

Various and sundry notes are after the cut.


More under the cut...

I figured out the glitch in Windbringer.

Friday, 19 June 2009 at 17:01

Ever since version 2.6.29 of the Linux kernel was released I’d been having problems with Windbringer crashing on shutdown. After triggering the system shutdown applet in Gnome X would terminate, sometimes I’d see a debug message from NetworkManager as it tried to shut down the network interfaces (and sometimes the ALSA sound drivers, oddly enough), sometimes I wouldn’t see anything. The end result, however, was that Windbringer would have to be manually powered off, thus forcing a (lengthy) file system check the next time I booted up.

The answer arrived from this thread at the Gentoo forums last night – don’t unload the sound drivers when poewring down. You really don’t have to because there is no potential benefit or harm from not doing so.

To do this on a Gentoo Linux machine, edit the /etc/conf.d/alsasound file and change the value of UNLOAD_ON_STOP from “yes” to “no”. Save the file.

While I can’t promise that it’ll help with the v2.6.29.x series, it does happen to work with v2.6.30.

Blips from the future.

Thursday, 18 June 2009 at 09:36

While doing some research for another entry I stumbled across a pair of articles in my daily news feed scan that jumped out at me because they seem thematically appropriate. Warren Ellis called them “outbreaks of the future” because they hint at things to come when they appear in the media. Or maybe it’s because they ring of what was once science fiction while carrying a byline of the now.

James Symington of the Halifax, Canada police department’s K-9 unit worked with a search-and-rescue dog named Trakr for fifteen years. Trakr’s claim to fame came during the aftermath of 9/11 when the duo rescued the final survivor of the attacks from the rubble. Trakr was also recognized for his knack of locating stolen goods by tracking the scents left on them. Unfortunately, Trakr died of old age in April of this year, but his partner Symington now lives with five clones of his working dog. The company BioArts of Northern California ran an essay competition in which the winner would be gifted with clones of a treasured animal. Symington won the competition and is now the proud master of five re-implementations of Trakr named Trust, Valor, Solace, Prodigy, and Deja Vu grown from tissue samples taken from Trakr. While the five v2.0 dogs won’t be identical to Trakr because initial conditions have a lot to do with the personality, temprament, and talent and you can’t reproduce those exactly, it’ll be interesting to see how they turn out.

It isn’t known if the v2.0 dogs will be tested to see if they can be successfully trained to pick up where Trakr v1.0 left off.


More under the cut...

A backlog of photographs.

Tuesday, 16 June 2009 at 20:32

I’ve been sitting on some photographs that have piled on Windbringer’s hard drive up over the past couple of weeks and finally found the time to get them resized and uploaded.

A visit to the Air and Space Museum on my father’s in law’s birthday.

A couple of photographs taken at P. W. Singer’s presentation at HacDC. There are also a couple of shots of fun with night vision goggles later that evening in the set.

Aaaaaaannnnd.... we're back!

Tuesday, 16 June 2009 at 17:35

After much deliberation I’ve finally gotten around to upgrading my website to the latest version of the software, and while I was at it I decided to change the default appearance to something a little less busy.. which basically means that I played around with CSS until I happened across something that I like but which will probably cause everyone else to run screaming.

I know things are a little broken right now, I’m still sorting them out. I hope you like it.

The locations of the RSS and ATOM feeds have changed, so if you read this site in an aggregator of some kind or you’re kind enough to syndicate it for me, the new URLs are:

http://drwho.virtadpt.net/rss

and

http://drwho.virtadpt.net/atom

Yes, I know that the first post is grey but the rest are white (and a little bit easier to read).  I need to figure out how that happened and fix it.

If you were a registered visitor, you’ll have to re-register, unfortunately. The upgrade didn’t migrate those settings.

By the bye.. if anyone notices anything broken, please leave a comment under this post and I’ll fix it.

A completely random thought for you.

Sunday, 14 June 2009 at 22:33

A couple of weeks ago I spent an evening in a dark, cramped bar full of pirate kitsch with a bunch of people who could have stepped out of the science fiction novel of your choice (yes, even the old-school Shadowrun novels). Collectively, we had more electronic equipment than NASA at the times we were born on our person. None of were particularly aware of life imitating science fiction (or is it science fiction predicting life?) or of the horrors occurring around us at the time. On top of all of that, we all sat around appreciating a belly dancer for entertainment.

Earlier tonight, Pegritz and I held multiple distinct conversations at the same time using multiple electronic channels of communication (in addition to sitting two feet apart and talking) on entirely different topics.

We are indeed twenty minutes into the future.

Non-ordinary states of consciousness and the NIA.

Tuesday, 09 June 2009 at 21:59

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.

Download the data set from here. (798kb compressed)

If you're interested, under the cut are my speculations on what happened tonight.
More under the cut...

A dataset to play with.

Tuesday, 09 June 2009 at 20:21

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.

Download it here.

Flexible solar panels now large enough to be practical.

Tuesday, 09 June 2009 at 00:14

Back in the 80's Edmund Scientific used to sell an amorphous solar cell educational kit: a small lozenge of flexible plastic that contained a pinkish purple solar panel, a couple of lengths of wire, a small light, and a tiny electric fan. The nifty thing about that little solar cell was that it really was flexible; unlike the rigid crystalline solar panels we've all seen you could curl that little sucker around your finger and it would still work if you set it in the sun. While they don't appear to sell that exact kit anymore (and if I'm wrong please tell me, I only took a quick spin through the results of their search engine) they do sell a similiar solar cell that has a glass panel glued to the front.

Jump forward twenty years (and no jokes about my navigational abilities, please): a startup company in Ohio called Xunlight has perfected a process by which they can manufacture thin-film amorphous solar cells meters on a side. Amorphous cells are cheaper to manufacture than the crystalline silicon kind due to the fact that much less material goes into their construction - they're much thinner than standard solar cells (one millionth of a meter). To make up for the lack of efficiency three different materials instead of one are used in the manufacturing process, each of which is sensitive to a different portion of the visible spectrum. All things considered, these panels are about 8% efficient, a far cry from the 20% efficiency of standard cells. Still, these solar panels have hit the contractor market for clients that are interested in covering the roofs of their houses with it to offset the amount of electricity they pull from the grid. I did some research to see how much they go for per square meter but the outfit selling them doesn't have prices posted; instead you have to contact their sales reps to get a price quote. Interestingly, a few other companies are competing in the same market but are using different semiconductors with different degrees of success. Xunlight is aiming to hit the commercial market by next year.

This isn't quite a William Gibson/Near Stephenson cyberpunk world, but you can see the lights of it from here.

Monday, 08 June 2009 at 22:27

There's a certain feeling a system admin gets when they find out that one of their boxen has been pwned. You can't really compare it to anything else but it seems to combine the worst symptoms of cardiac arrest, realizing that someone's just shot at you and not missed, being busted by military police while carrying, and discovering that you slept through your thesis defense. A personal website falling is bad enough, but when you're talking about an operation that's worth six or seven digits in American dollars you just know that heads were rolling.

Over the weekend a post to the Full Disclosure mailing list contained some proprietary information about T-Mobile's internal data network: hostnames, IP addresses, and operating systems of several dozen boxen (that have been tentatively validated by people claiming to have worked for them (wild-ass guesstimate of veracity: 40%)). The information posted is only partial: all of the IPs are out of RFC 1918, meaning that you'd have to get past the perimeter to actually get to the boxen. The crackers who posted the information imply that they have a lot more information than they released because they claim that they attempted to sell the data (including dumps of databases, financial records, and confidential documents) to some of T-Mobile's competitors but were unsuccessful (no surprise, really - no company wants to be brought up on charges of corporate espionage). They've thrown open the bidding on this sensitive data, but no one knows if anything will come of it. Only time will tell.

As if that weren't enough excitement for one weekend, the website Astalavista is toast. Early last Friday unknown crackers posted to Full Disclosure (F-D- is becoming so popular a list these days that the signal to noise ratio is becoming dangerously high) evidence of how thoroughly the site was cracked. The lengthy post contains transcripts of the initial penetration (it has been speculated through a bug in a web app), detailed directory listings, PHP code confirming what content management system they were using and the registration key for same. Practically every file on the servers that contained usernames and passwords was added to the transcript, and selected parts of the back-end database are in there for everyone to see (not just passwords, even a small number of private messages on the forums between the admins). For the admins' passwords some kind of righteous rainbow table must have been used because a few of those cracked passwords aren't too far off from line noise. What appeared to be a version of the vmsplice(2) exploit was used to break root, and that was all she wrote.

The final act of the crackers was to delete all of the backups and web content, and then drop the databases. Only a few frames and a banner are left.

nia_eeg_chart.py - Convert data captured from the NIA into an EEG chart.

Sunday, 07 June 2009 at 00:41

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.

of the app in action.

Download nia_eeg_chart.py here

Test data set for nia_eeg_chart.py

Python: as simple as possible but no simpler.

Saturday, 06 June 2009 at 23:15

When coding something in Python, it's said that your logic should be as simple as possible because the language does the heavy lifting for you. The nice thing about Python is that it makes it very easy to implement complex functionality because all the fiddly stuff that you normally spend ages coding and debugging (like linked lists and sorting algorithms) is already done for you. Also, the basic data types/objects that Python gives you are as orthogonal as you can get without throwing your hands up and using sticky notes instead.

In short, I spent two weeks debugging a loop that was supposed to take every sixth, fifth, fourth, and so on entry from a huge list of values that wasn't working and shortened it to zero = data[0::6]. Total time to rip out the loop that wasn't working and replace it with that: three minutes (counting looking it up in my copy of Learning Python).