Monthly Archives: December 2009

PoS Toy

I scored a (at least mostly) working Point of Sale terminal from the trash at the nearby location of a fast-food sandwich chain named for a mode of mass transit. It’s a pretty nifty little piece of hardware, a Micros Eclipse 400498, based on a 1Ghz Pentium 3, 512Mb of RAM, and normal (ish) PC-BIOS. It has a broken WinXP install on it now, I think it shipped with an older NT version, because the drivers are all fucked up. The fun part is the attached goodies: a 3-track magnetic stripe reader (credit cards, etc.), 2-line VFD display, and a 12” touchscreen (only 800×600, but pretty crisp and good colors).

I’m thinking it will make a bitchin’ jukebox. Scroll the track information on the VFD, put a touch-flow-esque interface on the touchscreen, hook up some speakers, etc. One of the housemates suggested a barmonkey (it could even process payments), but that is a WAY more involved project because of the valve rigs, and I have plenty of unfinished involved projects right now.

It is however being obstinate about drivers and alternative boot devices, and the manufacturer (micros) seems to believe that not providing any drivers/manuals/support of any kind will enforce support plans/upgrades/create security by obscurity or something, because their website is supremely unforthcoming. There don’t appear to be any WinXP compatible drivers for the various hardware, so the best choice is probably to try for Linux. Its not wanting to boot off USB devices (despite the BIOS’ claims that it will), doesn’t seem to like having a 2-channel ATA cable attached, has no CD drive, and has repeatedly failed on the wubi-install-from-USB trick, so it will be exciting to get going. Maybe some sort of netboot stunt.

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

The Most Successful Failed Terrorist Attack

There was another half-baked terrorist plot over the holidays.
To summarize, some moron went for a kooky religion, got on a US-bound plane in Amsterdam with a not-even-in-theory level nonfunctional bomb, tried to set it off shortly before landing, and failed miserably when it just caught fire and he was disabled by the passengers and crew. This in turn managed to cause panic and increase the expense and indignity in air travel in and out of the US for the foreseeable future. That is pretty damn successful, and the suicide bomber didn’t even have to die to get the job done.

Ordinarily I would say using the same foiled plot (put a suspicious guy on a plane, with a bomb that isn’t likely to work, and have him get caught) over and over is a bad plan… but because of the absolutely retarded responses, it continues to be incredibly effective. Over and over, the bomb gets on the plane, because existing measures that should catch it aren’t applied effectively, and over and over, it makes life harder for everyone else… because the new security measures that get put in place after each one don’t make any gods damn sense.

It was apparently a PETN bomb, again. PETN is one of those explosives that is fairly hard to make correctly, and just burns if not properly detonated… and a proper detonator would most likely be caught by “pre-9/11” security measures.

And on that thought, one of my least favorite things right now is the perception that 9/11 is the start of modern terrorism in the minds of the public. It wasn’t. It was when terrorism started working. There were plenty of previous plots just like the current bunch, some even by the same people. But those plots weren’t terribly effective, because the aggrieved party dusted off, gave the terrorists the finger, and quietly implemented some reasonable measures to keep it from happening again, instead of knee-jerking so hard they’re going to need a ladder and crowbar to get Gale Rossides’ patella out of the ceiling.

This round of measures is rumored to include “Passengers not allowed out of seats for last 45|60|?? Minutes of flight”(the “damp, smelly, screaming chidren” rule), “Nothing in passengers laps during last hour of flight” (Can you imagine flying without a book/handheld game/etc.), and additional restrictions on electronics (people already ignore the “turn off your mp3 player during takeoff and landing routine to avoid hearing the goings on in the plane. This will go well.). It also sounds like there will be some additional ineffective, time consuming indignities during check-in and boarding, to make sure the airline industry is completely eviscerated.

Another front I know is about to come up when people object is that the TSA “Can’t talk about their successes for security reasons” (in various wordings). The options here are bad and worse: Either they are lying, and have been totally useless outside of a few high profile incidents, or they are doing something completely outside the carefully transparent judicial system with the people they catch, which implies they’ve totally given up on the US constitution. I prefer to imagine they’re just inept and trying to hide it, because the idea of these morons shipping people to secret prisons is terrifying. For additional fun, it looks like they’re using this argument for the rules themselves too, in a nice literal catch-22 situation.

Bruce Schnier, my usual favorite security guy, has his reaction here replete with a several-year-old quote describing this attack as likely, and my favorite quote on aircraft security “Only two things have made flying safer [since 9/11]: the reinforcement of cockpit doors, and the fact that passengers know now to resist hijackers.”

Posted in General, OldBlog | Tagged | Leave a comment

Fall 09 Semester Retrospective

One of the intents of this blog is to publicly keep track of my before and after impressions of classes to share, and since another semester is complete, it’s time to repeat the process. My before for Fall 2009 is here (and quoted below), and the link chain should go back from there for previous semesters. The big mistake for the semester was time management; I worked out a schedule to handle the time consuming, project-oriented classes better, but I failed to count the time I spent on SC09 against my total time to get things done, and as a result found myself two weeks behind, too late in the semester to fully recover. I managed to walk out of both classes with a B, so it wasn’t terrible, but I definitely missed out on some of the value of the courses because of it.
It would be nice if FlatPress supported a “Read More” feature like some of the other blogging engines, because this is about to be a long post.

EE685: Digital Computer Structure/Heath
Expected: This is rumored to be the most time consuming class offered by the ECE department at UK, and 1/3 of the grade is derived from a single project. I’ve only had one class with the instructor, and didn’t have a terribly positive experience with him. The biggest day-to-day issue is he has a number of mannerisms that drive me slowly insane (”favorite” example: “In this case” is NOT a flavoring particle). There are few enough English-speaking instructors in this field it would be really wonderful if the native English speakers actually did so. I also find some of his grading policies grating, I once had a concrete example where more points were awarded for syntactically correct, algorithmically incorrect solutions than algorithmically correct syntactically flawed solutions on an exam. This is what highlighting editors are for. The other snag is that the tools we will be using for the big project (Xilinx’s ISE and MentorGraphic’s ModelSim) are both big, hateful pieces of software, which are incredibly ponderous to use, and will do all manner of unpredictable things with your input, sometimes changing behavior after simply restarting the program. I am not looking forward to spending more time with them. Gripes aside, it IS a topic I really, really love, and the opportunity to play with it in depth is highly desirable, and further instruction on the underlying theory should be useful for my research.
Actual: Not a bad experience, but not as enriching as it might have been. The big problems for the course were pacing, both in the course layout, and my own, mentioned above. The distribution of work, with a large number of time consuming homeworks early in the semester, and very little non-project coursework late in the semester was less than ideal; replacing some of the homework with more checkpoints on the project might have helped. The pacing of the material itself was also an issue; I found the lectures ponderous, and we didn’t make it significantly further or deeper into the material than when I took EE480. I will grant that It is an almost impossible course to schedule well; for a project of that scale to be workable, it would basically have to be two semesters, one for the material and one for the project.
I also found that I liked my old 3rd edition of Computer Architecture: A Quantitative Approach a little better than the 4th edition we used. I’m not sure if it’s just that I know where things are in the old one, but the focus and organization seemed better in the old version. It’s also a little inconvenient that they moved most of the appendices (which are about 2/3 of the book by volume) over to a CD instead of printing. There is also an odd skew in the Henessy and Patterson books that I’ve been slowly noticing as I deal more with computer architecture, but since they are pretty much the definitive texts on the topic, it is appropriate to run a course like this out of the upper level one.
I think the most useful skill I picked up is I now have a much better HDL workflow arrangement, using GTKWave and Icarus on top of my usual Linux platform. I think the key factor in switching is learning to write good procedural testbenches, which are better than doing it manually even with the heavier tools. Because Verilog is actually an IEEE standard, porting from my preferred setup to ISE is usually pretty much copy and run, but there are a few features that don’t translate quite right, particularly to the older version of ISE in the labs on campus. The thing I found most disappointing was that I never managed to get the project working. I still think my design was good, but the experience I wanted was seeing a processor design all the way from design to HDL implementation, and that didn’t happen.

* CS655: Programming Languages/ Finkel
Expected: I took CS450 (same basic course) from the same instructor (who is a VERY interesting person and a fairly notable figure in computing) a few years ago. It was quite a bit of work(program in a new language every 2 weeks on top of the theory!), but it was the CS prefixed class I feel I gained the most from as an undergraduate, so I have very high hopes that this will prove invaluable as well. It appears to be structured the same way: language theory supplanted by rudimentary forays into various examples, which should be fascinating, I just hope the theory is a little more in depth and implementation-focused for the graduate version.
Actual: This was a very fun class. Very informative, and very broadening as far as my ability to get my head around different programming paradigms. Dr. Finkel’s lectures, were, as always, excellent, and the spectrum of topics were well chosen. Explanations were conceptually complete, and included historical context, which is often missing in engineering classes. Everyone studying a computer-related field at UK should take at least one class from Dr. Finkel, just for the experience. I would have liked to have seen a little more attention to implementation, but that isn’t really the point of the class so I can’t complain. I’m not sure that it was as enriching for me as CS450, but is strongly suspect that is because I already picked up allot of the important general lessons from CS450. The only other complaint I have is also my own fault; in a case of unfortunate timing, the section on concurrency, which is probably the thing I was most looking forward to in the class, was the week of SC09, so I completely missed it.
The textbook Advanced Programming Language Design(mirrored in full text online here), is really excellent, if a little out of date. It uses interesting examples, either exotic or archetypal, instead of the usual (almost exclusively procedural) familiar standbys and current fads. Being Dr. Finkel’s own book also means it was well-matched to the course. The other book on the topic I am familiar with, which was used for CS450, Programming Languages:Principles and Paradigms, is really inferior by comparison, despite being over a decade newer.
As a final added bonus, there was a paper option for the final project, which I took, and the grading process included editing on writing quality as well as content; something I haven’t had done in far, far too long so I am getting horrendously sloppy. Even though I disagree with some of the style edits (C’s eccentricites are endemic to the language…), having the sentence structure and “its/it’s”-type errors pointed out, instead of just being rewarded for still being able to write something strongly resembling correct English, is really good for keeping me able to write.

All in all, a pretty good semester. Both classes being ostensibly extended versions of things I had previously did detract a little from my experience, and my schedule fuckup didn’t help matters, but neither of those is a condemnation of the classes.

Posted in General, OldBlog, School | 1 Comment

Dorkbotlex #9

4201866813_788e5e7ef5.jpg
After missing a few due to travel and other obligations, I’m back to attending DorkbotLex. #9 was last Saturday (the 19th) and, as is traditional, I’ve posted up some pictures on flickr. This month’s presentations were both electronic music projects, one set of hardware hacks and one piece of prototype software. As always, very cool, and a great source of energy for creative endeavors.

Posted in Announcements, DIY, Entertainment, General, OldBlog | Leave a comment

Cruel Intentions

Cruel Intentions is, after Hackers, probably my favorite shitty movie. I ran across some stills (not there, but that is a good example) online a while ago, remembered how awesome it is (look at the still, you’ll understand), and had to track a copy down. Ernest Hardy of the LA Weekly’s review “In truth, the only reason this film was made was to allow viewers to ogle pretty young things behaving badly.” pretty much sums the whole thing up. I’m reasonably certain that review was intended as criticism, but that is totally missing the point. Sarah Michelle Gellar, Reese Witherspoon and Selma Blair while they were young and cute in leading roles, and I’m told Ryan Phillippe is there as eye candy as well, but thats not my thing.

It’s apparently one of several movies based off a French novel, Les Liaisons dangereuses, but the terrible writing, terrible acting, and implausible teenage east coast upper crust setting annihilate any sense of class that might imply. The plot is fun and honestly sort of cute, but you could watch it with the sound off and it would probably seem like a better movie. The problem with the “sound off” approach is that you would miss out on the angsty 14-year-old fanfic grade writing and shitty wooden delivery that elevate it from “attractive but dumb” to “attractive and hilarious“. Turning the sound off also wouldn’t save you from the glaring plot holes: how did the journal get wrapped? Why does he still have it in some scenes after passing it off, and most importantly HOW DID SHE GET HIS DAMN CAR at the end, did she go through her dying lover’s pockets?

Also, I love Sebastian’s style. His black duster-thing is the shit, and I want his half-frame glasses… the sunglasses (Vuarnet PX 3000 Wayfarer or knockoff thereof) are a plot element, so they are easy to look up, but I can’t find (and probably wouldn’t actually want to pay for/wear even if I could) the half frames.

For those familiar with UK’s schedule; this is indeed how I celebrated being done with the semester; some friends, a double of Woodford Reserve, and a movie that underflows it’s way to awesome.

Posted in Entertainment, General, OldBlog | Tagged , , | Leave a comment

CHDK on the SD770 IS

The camera handling for my last post reminded me to check to see if progress had been made on the CHDK port to for the Canon SD770 (the little point-and-shoot I have). There was a promising effort about a year ago, but the developer disappeared without releasing the partly functioning code, and it was quickly abandoned. Apparently someone else stepped up in November; there is now a (roughly) fully functional boot image available for the SD770.

CHDK features provide at least partial fixes for all my major complaints about the 770; the exposure override settings allow the flash to be kept under manual control through power cycles, even when the other features are on automatic, the exposure behavior can be more precisely controlled to hide noise issues in low light, and all the CHDK toys are now on hand, so I’m not missing any expected features.

Right now I just have a spare small card set up, but the process is non-destructive and simple, especially on cards <4Gb, so I’ll probably set up the pair of 1GB cards I usually use with it shortly. Anyone with a Canon camera should go set up a card with the appropriate CHDK image, it really does improve the camera.

EDIT: There are a couple bugs, the only serious one being that the camera crashes when using auto white balance with the version of CHDK in the linked thread loaded. I don’t have time to get into another environment to fix it.

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

Pionier Button Hacking: Step 1

pionierbutton_sm.jpg

(eventually I’m going to have to hack up a light tent (for the glare) and camera mount(for the jitter) for this kind of thing, but it hardly seems necessary with my little point-and-shoot)
One of the more promising bits of schwag at SC09 was a little USB button thing handed out by Pionier. The basic premise on the button is that after connecting it to a computer via USB, it lights up with enticing shifting colors, and, when pressed, sends the computer to the pionier SC09 website. It does this by announcing itself as a USB HID device, emulating a keyboard, and typing “{control}rhttp://www.pionier.net.pl/webstarter/09scpo6r8q {newline}”, which will have the desired effect… from the desktop on a windows box. After seeing what it did on a laptop on the show floor, I grabbed a few extras thinking they would be fun to hack.

I pulled apart one of the buttons to read off what the chips are, and things look promising. (larger image linked)

pionierbuttonteardown_sm.jpg

The board is based around a MXT8208 USB 2.0 Flash Disk Controller (datasheet). The chip consists of a 80c51 microcontroller with hardware USB 2.0 PHY, I2C, a general purpose UART, some dedicated flash management features, and 28 GPIO pins (mostly overlapped with other functions) in a LQFP48 package. This means it SHOULD be susceptible to much better hacks than simply changing the output string; with a little luck it will be convertible into a darling little intermediary device for attaching projects to a computer via USB by serial or PIO. Since there is no flash chip hooked up, the majority of the GPIO pins are free, making it especially suitable for that kind of repurposing. By far the primary use for this chip is making little USB flash drives (and, based on the information around the ‘net, this one is particularly favored in making “fakes” that misreport their capacity, because it is more programmable than many of it’s competitors), but, assuming I am interpreting the chinglish datasheet correctly, the non-memory USB widget use case here is intended as well. Matching the suggestion in the datasheet, the software for the button behavior is (apparently) on a K24C64 64kbit Two-wire EEPROM (Datasheet) mounted on the other side of the board.

The other components aren’t terribly interesting: a pair of SMT push buttons, a 12Mhz crystal, 6 assorted SMT capacitors, 3 assorted SMT resistors, and a 2-lead RGB color phasing LED(unfortunately, 2 leads means it probably can’t have it’s behavior altered beyond on/off).

Software wise, it reports VID=0×2000, PID=0xbeba, which seems to be a made up ID written to the chip in software. There is a UdTools utility offered up by micov (after a little bit of google translate-foo), but it only seems to be able to tweak the flash-specific functions, not perform general reprogramming. This IS promising, as it implies everything should be writable from a host computer, rather than having to pull the EEPROM and program it separately to alter the behavior, but I haven’t figured out how to do so yet.

Any ideas? Usage wise or tools wise?

Posted in DIY, Electronics, General, Objects, OldBlog | 2 Comments

Nabokov Explains Retro

I’ve been working thorugh The Stories of Vladmir Nabokov for a while “in my copious spare time”(which has become something of a catchprhase in my department), and it is expectedly excellent. One particular passage is prominent enough to perscribe posting: in A Guide to Berlin (One of the many “I am such an amazing author that you’re going to love and find meaning in this mundane vignette” style stories in the collection), Nabokov perfectly explains the retro aesthetic:

The horse-drawn tram has vanished, and so will the trolley, and some eccentric Berlin writer in the twenties of the twenty-first century, wishing to portray our time, will go to a museum of technological history and locate a hundred-year-old streetcar, yellow, uncouth, with old-fashioned curved seats, and in a museum of old costumes dig up a black, shiny-buttoned conductor’s uniform. Then he will go home and compile a description of Berlin streets in bygone days. Everything ,every trifle, will be valuable and meaningful: the conductor’s purse, the advertisement over the window, that peculiar jolting motion which our great-grandchildren will perhaps imagine — everything will be ennobled and justified by its age.
I think that here lies the sense of literary creation: to portray ordinary objects as they will be reflected in the kindly mirrors of future times; to find in the objects around us the fragrant tenderness that only posterity will discern and appreciate in the far-off times when every trifle of our plain everyday life will become exquisite and festive in its own right: the times when a man who might put on the most ordinary jacket of today will be dress up for an elegant masquerade.

While on the topic of retro aesthetic, check out Jake Von Slatt’s 2009 Steampunk Gift Guide. David Gingery books and Buffy DVDs, Power Tools and Prissy Bags (although personally I would go for a Torrente if I were to pay too much for a Marcopoloni bag; I just like vertical messengers), truly a man after my own heart.

Posted in Entertainment, General, Literature, OldBlog | Leave a comment

SC09 Schwag Review

schwag_sm.jpg
(Larger image linked)
Now that the end-of semester panic is over, time to get to other important* things. Like sorting out my schwag haul from SC09. The food products were previously removed and consumed and/or disposed of, based on how likely they were to poison me. Some superlatives:
* Best T-Shirt: Silicon Mechanics (this one was close, Cisco has better fabric, Platform Computing has a clever slogan, and Green500.org is a XXXL made of the most garish jersey fabric I’ve ever seen)
* Best Tool-Thing: Juniper Networks screwdriver/light/level thing
– Runner up: CHREC lighted eyeglass screwdriver
– Runner up: Arctic Region Supercomputing Center rechargeable chemical hand warmer
* Best Toy: NCHC Solar Powered Car
* Best Bag: SC09 Conference bag (nice padded laptop affair)
– Runner up: Giant LexisNexis tote (that I should probably put in the microwave to get rid of the tracking devices in…)
* Best Electronic Gadget: ??? (possibly Sure Star computer) powered USB Hub/Cardreader (seriously, this thing is nicer than the one I’ve been using.)
– Runner up: YMI 2GB flash drive
* Most Hackable Schwag: PIONIER button (button with a USB cable; emulates a keyboard and types their URL when pressed. Want to hack and replace the action.)
* Best Lanyard: Cray (this thing is seriously slick, all the other lanyards sucked)
* Best Pun: OpenGear Aluminum bottle opener
* Best Pen – BlueArc blue LED pen(was going to go to FusionIO with it’s light-up gel grip, but it broke the first time I fiddled with it)
* Best LED Object – Instrumental conductivity-sensitive LED “Ice” Cube
– Runner up: NASA flashing LED badge

I wasn’t really actively schwag collecting; these are just what I got making a loose circuit of the show floor.
*This is totally unimportant.

Posted in General, Objects, OldBlog | Leave a comment

Done! (ish)

I just submitted my last project/paper/assignment for the semester, and it feels great. In talking to instructors and fellow students, it sounds like the principle of least-fuckup has asserted itself again, so my grades should be fine even though several of the things turned in in the last few days aren’t as good as I would have liked. Now I just have to attend class tomorrow, and remember to go to my one final next Friday, and all will be well.

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