Category Archives: General

SC’10

My research group is headed down to the IEEE/ACM Supercomputing Conference next week in New Orleans to put on our customary research exhibit. This year’s booth features a large 6-sided figure with three 6-foot screens on the longer spans, in addition to the lighted sign tower, print on demand whitepaper system, and low tables from last year. The MOG Maze returning for its third year on the show floor, with a new faster more flexible version of the MOG environment (mostly) ready for distribution.
Last year was a blast, and SC is an experience unlike any other, a bizarre mix of trade show and technical conference which creates an environment more exciting than either on its own. The various shakeups in the HPC world of late, particularly that monstrous Intel Xeon/ Nvidia GPU/custom interconnect thing that China built, showed a few weeks ago, and have declined to share technical details about, should make this year especially exciting.

Posted in Announcements, Computers, OldBlog | Leave a comment

EE281 Car: Mixed Success.

281car.jpg
This week we did the lab the parts in my New Teaching Robots post were for, and it was very much a “mixed success” sort of situation. I put a test chassis and circuit together about a week and a half ago, and modified the sample solution from the crappy old cars to work with the new ones, and that was reasonably successful, although it did exhibit a little bit of sluggishness and jitter, which, in retrospect, I should have taken as a warning sign.

Last week we had a build party to put the chassis together, so that interested students in the class, as well as other people interested in robotics, could come play with the parts (and perform the repetitious part of assembling a small fleet of identical machines). That event was quite successful, resulted in a collection of 6 mostly complete chassis, and a lot of enthusiasm. I even had one student build a circuit to ensure that would be reasonable, and that went well.
281car_bottom.jpg

For the lab, we told students upfront that it was an experimental new lab they were participating in the design of, rather than something routine they were simply expected to perform. This was a good call, as it immensely with investment in the activity, and to reduce frustration when things didn’t work as planned for reasons outside of their control.
There turned out to be three basic problems with my design for the lab:
– In our enthusiasm for the new cars, both the faculty instructor for the course and I forgot that the protoboard power supplies usually used in this lab don’t tolerate the >1.5A spikes from driving substantial inductive loads well. This was a major compounding factor, and the most likely cause for the sluggishness I observed in the test case. This was fixed for the last section (there are nice 4-channel 5A variable output supplies in the lab), which helped alleviate some of the flaky behavior.
– I seriously overestimated the fabrication skills of most of the students. They haven’t developed what I consider “natural” design practices as far as physical layout or EMC, so constructing physically and electronically robust circuits on the small section of breadboard attached to the backs of the chassis was out of reach for many of them. I was very hands on with each group once the problem became clear, and had the latter two sections build some parts of the circuit off-board with suggestions, but it was still an issue.

281car_cable.jpg
6+ feet of Cat5 cable (twisted pairs) carrying ~5V signals switching at various speeds in the 0-100kHz range are one hell of an electromagnetic echo chamber, and I didn’t adequately account for that in the design. I’m still not sure how much of the strange behavior this can be blamed for, but there were sufficient effects to require substantially different passive components depending on which end of the cable which section of the circuit was built.

The latter two problems could have been alleviated, and the first one discovered much earlier, if we had stuck with the original plan to have PCBs milled and pre-assembled for all the discrete components, with fixed cables for attaching the FPGA boards the state machines were designed on. Hopefully at some point in the not-too-distant future there will be a chance to get that done for next semester.

Despite the problems, all the students were engaged, and a lot of them stayed and played with their design even after we told them they had done enough to be counted as completing the lab. In terms of educational outcome, we lost the excitement of making something which can move around reliably on its own (except for several groups who set up simple wired feedback from the sensor to the FET while they finished their sate machines…), but in explaining the various ways in which things went wrong, gained brief, simple, practical exposure to concerns in drive systems, emc, fabrication, and at least half a dozen other topics they will be taking courses in over the next two years. Most importantly it exposed students to some of the process of engineering whole systems, which is something one rarely gets until working on one’s own projects. I do wish it had gone as smoothly as the adder lab I replaced with a comparison of different adder designs (in Verilog) last semester, to introduce size/speed performance metrics, procedural test-benches, and the RTL/Tech schematics generated by ISE, while still teaching the basic lesson in binary arithmetic, but things did go surprisingly well for the level of unforeseen technical difficulties.

I feel almost as bad about spewing the above stream of awful loaded-meaning education jargon as the shortcomings of my plan, but there is no language I’m aware of for discussing the education process that hasn’t been co-opted by idiots.

Posted in DIY, Objects, OldBlog, School | Leave a comment

Crispy Asian Eggplant

Playing around in the kitchen yesterday I made an interesting food:
crispeggplant_sm.jpg
I like eggplant parmesan type dishes, and I like Asian-style eggplant dishes, so I decided to split the difference and fry strips of eggplant in a coating like one would use for deliciously greasy crispy orange or sesame chicken, and top them with a thick spicy teriyaki-type sauce.
It came out pretty well, the eggplant slices were crisp and fluffy and delicious, but the sauce needs work; definitely more ginger, and chili oil instead of directly adding powdered hot peppers. It could also use some greens on the plate, like cooked broccoli florets, for balance instead of just gorging on edamame while I cook. Very interesting and worth playing with again, even if it isn’t quite there yet.

Posted in FoodBlogging, OldBlog | Tagged , | Leave a comment

New Teaching Robots

281botparts_sm.jpg
Some days, I really love my job. That is the mechanical parts for 8 little teaching robot chassis I quickly designed, which will be used for, among other things, a late-in-the-semester EE281 lab where students develop their own line-following state machine and PWM motor control. Nice little Tamiya modular platforms with infrared reflectivity sensors to replace of the horrible, flaky, ten year old toy trucks with de-soldering braid brush sensors that are currently used. I will be recruiting folks (preferably undergrads with an interest in robotics) to assemble sometime next week after the rest of the parts get in.

Posted in DIY, Objects, OldBlog, School | 1 Comment

Iraq War Logs

I was planning to get some work done tonight, but ran into a link about the release of the Iraq War Logs by Wikileaks, and got absorbed by the initial summaries and info-graphics from the news organisations with early access.
In short, the situation in Iraq is pretty fucking reprehensible, particularly because no one, except for a probable source, is likely to be punished for what has happened.

I’m also deeply unimpressed with the DOD Response, which I will paraphrase as “We don’t understand how the Internet (that we helped spawn) works. Also, we’re unrepentant about the various shitty behavior we’ve been caught covering up.”

One thing I am impressed with is the presentation by some of the media outlets, especially the interactive infographic from Der Spiegel (Link to English version), and the Google Map from the Guardian.

The important findings can be summarized in a single passage from any of the basic analysis (The Guardian’s is nice and succinct):

Although US generals have claimed their army does not carry out body counts and British ministers still say no official statistics exist, the war logs show these claims are untrue. The field reports purport to identify all civilian and insurgent casualties, as well as numbers of coalition forces wounded and killed in action. They give a total of more than 109,000 violent deaths from all causes between 2004 and the end of 2009.

This includes 66,081 civilians, 23,984 people classed as “enemy” and 15,196 members of the Iraqi security forces. Another 3,771 dead US and allied soldiers complete the body count. [src]

Which hits the three key facts: 1. “Coalition Leaders” have been blatantly lying to the public, 2. 109,000 violent deaths, 3. More dead civilians (as defined by people with a vested interest in not reporting killing civilians) than combatants by almost a factor of two.

The last round on Afghanistan actually did change my attitude toward continued American involvement over there, despite the constant talking point that they wouldn’t:
Before I saw the leaks, I was willing to accept the argument that, like a child, we (collective for United States) made a mess and have to stay until we were done cleaning it up. After seeing the leaked material, it’s clear that a more apt analogy is a child that got into paint, and the only thing we can do to help now is get the fuck out and focus on cleaning ourselves up before we make the mess even worse.

As much as the Wikileaks folks are probably not saints, anyone shining lights into dark places and exposing the vile things that live there is doing the world a service.

Can we start gutting the DoD for cash to use on things that aren’t shameful now? Maybe redirect large fractions of the military budget over the next few years to things that will actually reduce net suffering?

Posted in General, Navel Gazing, OldBlog | Tagged , | Leave a comment

Spiffchorder Progress

As I mentioned when the parts arrived, I recently decided I wanted to build myself a Spiffchorder to play with, and, more generally, play with the VUSB Stack, which provides software USB for most AVR microcontrollers, using a few cents worth of extra passive components. This seems to be an excellent generic solution to the “Modern computers don’t have hobby-accessible I/O” problem for most applications. I’ve actually been using a VUSB device for a while since my usbtiny AVR programmer is an ATTiny2313 running VUSB with some additional support chips and code.

When I ordered parts, Newark was out of suitably-packaged ATMega168 chips, and their larger (RAM/ROM), pin-compatible sibling the ATMega328p was so close in cost I would have ordered them anyway. There is a warning(#8) about -p suffix chips (stands for PicoPower, meaning some additional power staving features) and VUSB, but it seems to be a simple problem with naming conventions in the interrupt vectors, and is fixed in recent versions.
I’ve been grabbing an hour here and there to put it together over the last week. So far, I’ve already spent some time on one of my favorite activities…
spiffwork_sm.jpg
which produced a nice tight board (The back isn’t quite as neat, and the socket I ended up using suuccckkkks)
spiffboard_sm.jpg
which, as far as I’ve discovered, had only one assembly error (the pull-up network on D- was between ground and… ground because I counted wrong), which was easily remedied.
While I was assembling I also put together a half-assed first approximation keyboard to test with
spiffkeys_sm.jpg
Which will eventually be upgraded… I’m thinking something flexible that can be clipped to the outside of my left pants pocket, or flopped on a flat surface such that the clip maintains the curvature, but I really just want to play with it and see how (un?)comfortable it is to use a chording keyboard. Maybe I’ll get bored and build a key-glove, those always look fun (and useless).

Now for the real problems… even after I fixed the wiring glitch, and touched up the code (minor fixes to make it recognize the 328p and set the fuses correctly), I wasn’t getting anything when plugged into USB. I borrowed a 168 from another project (and transparently swapped in a 328p there) to test the vanilla code, and it resulted in a board that generates a stream of errors like

usb 2-1.1.3: new low speed USB device using ehci_hcd and address 15
usb 2-1.1.3: device descriptor read/64, error -32

when plugged into any of my various Linux boxes. I then decided to upgrade the VUSB version (the one the 0.98 release is built against is truly ancient), which only took a few minutes of tampering to set up the usbconfig.h (and Makefile) to work with the Spiffchorder sources and IDs. Unfortunately, this only fixed the 328p problem… it now does exactly the same thing as the vanilla 168 version, and produces a string of USB enumeration errors when plugged in.

My understanding is that -32 errors are usually something to do with devices that aren’t correctly handled by ECHI (USB2) mode controllers, but a device that requires you disable ehci mode on a modern computer is pretty much useless, and it doesn’t appear VUSB should have that limitation. This is my current working tree, it seems to be at least as sound as the distributed version; when I get it working I’ll ping the original author about the update, and replace these if it turns out to be a software problem. I’m going to hook it up to some instrumentation on campus tomorrow to see if I can find the problem, I suspect something screwy with the voltages on the USB Data lines.

Posted in Computers, DIY, Entertainment, General, Objects, OldBlog | 1 Comment

SC’09 Video

I did a taped group-promotion and demonstration of the MOG Maze at Supercomputing last year, but we were never able to actually find the video posted online. I was doing an unrelated identity-management search while working on Ph.D. applications, and … here it is at techinsight.tv, with somewhat illogical search terms. Embedded below.

*obligatory listening-to-recording-of-own-voice cringe*

Posted in Announcements, Computers, DIY, General, OldBlog, School | Leave a comment

The best kind of box

newarkbox_sm.jpg
is the kind full of TOYS (or, well, toy parts).

This order has some bits and bobs (optoisolators, limit switches, etc.) for the never-ending milling machine project, a couple spiffchorders worth of parts (more on that later), and some spare ATMega328s, because they seem to be a universal solution to “medium” microcontrollers.

This is the first time I’ve made a personal order through Newark, their “We won’t tell you exactly how much this will cost to ship until you’ve agreed to pay” policy is more than a little customer-unfriendly for small orders, and their website is the furthest thing from user friendly… I AM an electrical engineer, and picking what I want there is a challenge. I made a couple mistakes in this order: I grabbed 15.24 mm (as opposed to 7.62 mm) 28pin DIP sockets (just not reading), and apparently not all 12×12mm MCDTS2 switches can accept the caps described as “Switch Cap; For Use With:12×12mm MCDTS2 Series of Multicomp Tactile Switches; ” because the ones I ordered sure as hell don’t have attachment points for the covers like the picture in the datasheet.

Otherwise, very satisfied. Low price, massive selection, and fast ship. I think I’ll add them to the list. For the curious, my parts usually come from DigiKey, Sparkfun, and AllTronics, which are broad, easy, and cheap respectively, although other vendors don’t have the cachet of the little red Sparkfun boxes.

Posted in DIY, Entertainment, General, OldBlog | Tagged | 1 Comment

Zero History

(This should be spoiler free)
I just finished reading Zero History, slowly, both because I don’t have much time to do so, and because I was savoring it. That kind of writing is the closest thing to a religious experence those of us who don’t do faith get to have. Note that when I say “slowly” I mean “over the course of 2 weeks, since my copy arrived;” had I not been drawing it out it would have been more like two sittings.

Firstly,do NOT read it without first reading Pattern Recognition and Spook Country. A majority of the characters are common, and are thus introduced without preamble. There are also enritching references to the earlier novels throughout, including several major plot elements which are best left as surprises. On the topic of surprises, I hit an “Oh. Oh holy shit” 335 pages (of 404) in. The first time a book has surprised me in AGES, and it is a wonderful surprise that ties the Bigend trilogy together… and then, in standard Gibson style, entirely loses relevence to the narrative. The revelation is neatly enough laid that one could have figured it out prematurely, but is elegantly enough veiled to discourage such things. Imagine reading Dan Brown and NOT knowing the answer in the first few pages.

Gibson’s writing constantly pushes my vocabulary (which, as one might expect based on how much crap I get for my ordinary diction, is a very unusual thing), and my cultural knowledge (which, again, is unusual; I compulsively consume two news magizines and an unholy lot of Internet every week). I far prefer reading his more recent work with google in reach to fill in the gaps in both, something he has suggested is intentional, or at least approved of.

Looking at the whole trilogy, Pattern Recognition is still perhaps my favorite single novel, and I was disappointed when Spook Country came out, although that may be residual effects from my first attmept to read it in a codeine-induced haze; I literally got the book on the way back from having my wisdom teeth out. There is no disappointment with Zero History – it has all the marvelous locution, and fabulous collection of ethereally related plots that I read Gibson for. In fact, it makes Spook Country better, by tying all it’s plots into a greater system, making them more interesting than they were on their own, like the disinteresting constituent bits of a fascinating mechanical device. I don’t think Zero History stands on it’s own nearly as well as Pattern Recognition, but, particularly as the improved sucessor to Spook Country, it is an excellent novel.

The one nagging concern I have when I think about the Bigend trilogy is about it’s longevity: they are heavily, heavily steeped in ephemera of the moment, to the point that it is partly their topic, and it is unclear to me how well that will age. Pattern Recognition is my favorite largely out of fondness and nostalgia for the ‘now’ it was written in, although also out of a taste for it’s overt topic. It least suffers the problem simply because it predates much of the internet’s collective consciousness, despite having said consciousness as one of its chief concerns. In contrast, Zero History is made up of ecclectic references to Festo’s more eccentric products, iPhones, quadrotor drones, and ekranoplan; things renderd exciting through the fickle fascinations of the interent. Hopefully, like the Curtas and origional toilet seat iBook that filled such roles in Pattern Recogniton they will continue to stand on their own interest.

In short: Go read it, and it’s prequels if you haven’t. It is by far the best novel I’ve read (for the first time) in years, and retains all the enjoyable trappings of popular fiction, despite its literate complication.

Posted in Entertainment, General, Literature, Objects, OldBlog | Tagged , | 2 Comments

MPW Environment

I just set up a BasiliskII disc image with System 7.5.3, MPW, and related goodies. It seemed like fun to have a vintage 68k Mac development environment to play in…
sys7mpw_desktop.png

Posted in Computers, DIY, General, OldBlog | Tagged , , | Leave a comment