Monthly Archives: September 2009

Preaching to the Choir

The Bruce Schneier talk in the previous post was quite good; he is an excellent and entertaining speaker (an hour without any sort of slides or visual aids!), but was a little disappointing because he was very much preaching to the choir. Most of the (nearly auditorium-filling) audience was made up of upper-level CS students, and CS/EE faculty who are for the most part well versed (especially the many attendees with cognitive science background) in the high level conception of the perceived security/actual security/security model paradigm he discussed. The talk would have been excellent for a less focused audience, but I would have enjoyed hearing his thoughts on some interesting specific topic, either technical (his work on Skein?), or high profile (Chemically improbable liquid bomb plots? C6H12O6 + H2O2 ===> 6CO2 + 18H2O does not an airliner-destroying bomb make…), or a topic which he has not thoroughly saturated the geek news channels with his thoughts on. Several of the other attendees I spoke with afterward felt the same way. This is just a particularly strong instance of a general problem; the people who would get the most from a high-generality talk don’t know to come, and the people who do know to come already know the material. I have no idea what the solution is, finding and engaging the potentially interested on campus is nearly impossible (the noise levels are too high), and offering only highly technical seminars seems to violate the egalitarian ideal of public talks.

In other announcements, DorkbotLex#6 will be this Saturday (2009-09-18) at 4PM in room 101 of the Reynolds Building (349 Scott Street), with the following topics:
* “Twitter Cutups” Patrick Morissey
* “Propoganda Machine” Aaron Miller
* “Biofeedback software” Matt Ward
as always, it should be cool.

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

Bruce Schneier Lecture at UK

To quote the announcement that went out to the mailing lists:
September 17th, 2009 at 5:30p.m
W.T. Young Library Auditorium

“Reconceptualizing Security”
Bruce Schneier
Chief Security Technology Officer, BT.

In a startling change of pace from the usual uninspiring speakers UK tends to bring in, Bruce Schneier, one of the world’s foremost security experts, will be giving a lecture tomorrow night. It sounds like it will be about the perceived security/actual security idea (this is the person who coined the phrase “Security Theater”) he often talks about, and it should should be VERY cool.

I’m definitely going to be there, and there is some talk that it will fill up quickly, so I would suggest showing up early if you plan to come.

Posted in Announcements, Computers, General, OldBlog, School | Tagged | 1 Comment

Haiku!

The Haiku project to reimplement BeOS just released their first alpha, and despite having less than no time to do so, I took a few minutes to play with it, and it is bringing back some great memories. BeOS was a really spectacular operating system which was floating around the edges of the market in the late 90s, with some truly revolutionary features, some of which are still not widely adopted. Remember WinFS, that Microsoft has been failing to deliver since 2003? Be had almost all the amazing indexeng/medatdata/journaling features (basically everything but encryption) in it’s BeFS in 1997. And that “new” Grand Central Dispatch thread model in the most recent version of OS X? BeOS had something analogous from the beginning (around 1995). It was, in many ways, a perfect, highly responsive desktop OS, which (if not for the anticompetitive practices of Apple and Microsoft) could have owned a large portion of the market. Probably my favorite memory of BeOS was running the classic “BeOS is more responsive” demonstration: bringing up dozens of instances of the built in media player, each playing a different mp3, on pathetic (I did it on a Pentium MMX @ 233Mhz with 192Mb of RAM) hardware… and having them all play smoothly and mix together. I’m not sure my current machine could do that under Linux OR Win7, and it is (roughly) ten times as powerful.
This OSNews Article has a good history and perspective; the quick version is that Be, Inc. was formed largely from disenchanted former Apple employees (including Joseph Palmer, an electrical engineer/ industrial designer who I’ve always looked up to), designed themselves a revolutionary platform (hardware and software), moved to a software-only model because they couldn’t afford to maintain their hardware buisness, and were actively pushed out of the market by Apple (who took action to keep BeOS from running on new Macs, and killed the clone business, ruining the market for PPC hardware) and Microsoft (who bullied PC vendors into refusing to bundle BeOS). Before Be imploded, and had their assets bought by Palm, Apple almost bought Be as the core for the “post-classic” Mac after the Copland project failed. Instead they bought NeXT (also made up mostly ex-Apple people) for roughly Be’s asking price, and that eventually became OS X.
Best of luck to the Haiku team, a big part of me hopes that progress will continue, and sometime in the not too distant future my everyday use machine will be a Haiku box.

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

HDL Testbenches

After three classes (EE281, EE480, EE585) where I should have been taught how to write real, procedural testbenches for my digital circuit simulation instead of clicking in inputs on ISE’s (ISE is the subject of much swearing and hatred) waveform editor, there was a nominal effort to demonstrate it in EE685, and between that example and the Verilog book I bought for my own edification some time ago (It’s an OK book: I’m yet to find a HDL text I really like), I finally managed to get it down. This is important for three reasons: First: NO MORE CLICKING! I can write little procedural blocks to generate counting-order covering inputs, or other arbitrary stimulus. Second: Automatic Testing! For simple modules, I can simply write two logically equivalent but stylistically different versions, and, barring any design-level fuckups, determine that they both work by telling the simulator to compare the two version’s behavior and alert me if they differ. Third (and most signifigantly) it allows me to do my check/test/verify my modules without dealing with ISE. There are a number of free Verilog tools, most significantly Icarus Verilog, a Free (GPL) synthesis/simulation suite which seems to be well liked (and builds and installs easily on my machine), which allow me to have a whole toolchain without the hassle of maintaining my own ISE installation, or putting up with the glacially slow (despite being very, very powerful; bad configuration) lab machines for longer than is required to generate a test run to turn in for class.
Icarus looks to be an interesting challenge; it definitely doesn’t go out of it’s way to be user friendly, it requires an external tool like GTKWave to display waveforms, and it’s got some features and switches that I’m not even sure what are for, but it is documented and seems to be quite reasonable.
One feature Icarus doesn’t (AFIK) have is the ability to synthesize to the various programmable chips (which are all very, very proprietary). I do have my own FPGA board, which I got in a burst of excitement after first being exposed to FPGAs, and have never had a chance to play with as much as I’d like. Somewhere deep, deep down on the list of projects is to get a decent programming cable for it (my current one is an old parallel model), and spend some quality time playing around with it, I clearly wouldn’t be alone.

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

Ada

The latest weird obsolete piece of technology I’ve decided I enjoy is the Ada programming language, an older imperative language, developed at the request of the Department of Defense in the late 70s, and named after Augusta Ada King, Countess of Lovelace. The CS655 text Advanced Programming Language Design uses Ada-like syntax for its examples, so I invested a few minutes in reading some of the Ada Spec while working the first homework: its really a pretty cool language, especially the concurrency features that are actually integral to the language instead of half-baked in after the fact now that we’re rubbing up against the limits of single-thread CPU designs, and various compile-time and runtime self-checking features.

I’ve been exposed to an Ada-like language once before; VHDL, with which I’m fairly familiar, is derived from Ada’s syntax in the same way Verilog is derived from C. The advantages aren’t so obvious there; Verilog has a lot of the more idiomatic behavior cleaned out…and you can tear Verilog’s amazing array slicing features from my cold, dead hands.

I’m coming to appreciate that there are two distinct design philosophies in computing; incidental, haphazard, and/or organically grown designs which tend to become extremely quirky over time (ex: C, LaTeX, both of which I love dearly, largely for their quirks), which I will call “idiomatic designs” (the phrase is occasionally used elsewhere, not always for the same thing), and painstaking, careful “intentional designs” like Ada and that tend to be kind of unwieldy in real world applications. Unlike a lot of intentionally designed technologies, which tend to exhibit design-by-committee syndrome, the objection to Ada seems to be more because there was an attempt by the Department of Defense to mandate Ada for defense projects before it was fully mature, which bred considerable resentment, rather than any deficiencies in the language itself. I suspect Ada might actually make a comeback as a result of the elegant concurrency support, unless there is a miracle breakthrough in automatically parallelizing compilers in the near future. (I’d bet on the lack of usable generalized parallel programming models being the next big issue in computing.)

Probably more interesting than the dichotomy is the fact the organic approach is winning in most sectors. A lot. C and it’s various descendants are going strong; Ada is almost a dead language. UNIX is spreading; VMS is dying out.
In general, it seems like Idiomatic designs are idiomatic to suit themselves to what people actually use and enjoy using, even when they don’t objectively make sense.
Clearly I’m already learning useful things from CS655.
Side note: the best resource on C weirdness ever. It will hurt your head.

Posted in Computers, General, OldBlog | Tagged | 1 Comment

Food: Fuck Yeah.

Eggplant_Plated_sm.jpg
Italian fried eggplant (at least an hour and a half in the kitchen to make, plus the place looks like the Mongols and Catholics (ca.1200-1205) gathered in your kitchen for a round table on razing technique afterwards), plating and all, and J. Lohr 2006 Bay Mist Riesling (my current favorite cheap table wine). A Saturday evening well spent.

Posted in FoodBlogging, OldBlog | Leave a comment