Category Archives: General

Gnome 2.28: even more annoying

Despite its many irritations, I’ve been actively tolerating Gnome on my extra machine (running Ubuntu 9.04), with only a few adjustments for the really infuriating things (The “presence” features in OS X/iChat are irritating enough, a half working clone is maddening), and, with those adaptations made, it is a pretty tolerable environment.
…and the GNOME folks went and did something to re-stoke my hate. I use GDM (and a number of other Gnome-dependent pieces, many of which have no compelling reason for the dependencies) on my usual Arch/XFCE4 machine as a matter of convenience and/or preference. In the 2.26->2.28 upgrade (Arch tracks current) the Gnome developers decided to change the way GDM is configured. This change included breaking all existing GDM themes (admittedly, to be more consistent with GTK, which is a good thing, just not graceful), and making it impossible to configure GDM without gconf and/or horrible dbus stunts, which, of course, don’t work on my system. They also seem to have depreciated the “new session in nested window” feature of gdmflexiserver that made GDM preferable to the alternatives… I think I’ll just install SLiM, write a script with Xephyr to replace the nested window feature, and stop whining.

This is an arm of the argument about conventional releases versus Rolling Releases , but brokenness and compatibility issues from holding on to obsolete versions and the issue of occasionally breaking everything with a dist-upgrade/ OS X style point release upgrade still doesn’t seem preferable. This kind of behavior in Gnome is also a big part of why the non-Gnome *buntu distributions (Kubuntu/Xubuntu/etc.) feel like second class citizens; if components inside the Gnome obnoxious-integration umbrella are acting as part of the OS, the other environments are all going to have issues. Apparently Ubuntu 9.10 is built around Gnome 2.28, it will be interesting to see how it all works where everything is done the Gnome way.

This is not to complain about things the GNOME Project does, I do use, and like, a number of their products, especially Evince (which has apparently recently gained annotation features and a Windows port, the two things I most wanted for it). Likewise, the current round of development cycles are cutting a lot of the slow, crufty dependencies out of a number of programs… but I still find their ideas about useless (and forced) integration (see above) and non-configurable interfaces (sane default AND configuration options; it’s not one or the other guys…) incredibly frustrating.

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

Hip Resurfacing

The lesser posting for the last few days is in large part because my father got his hip resurfaced last Thursday, so I’ve been visiting and running errands for my parents. Resurfacing is apparently now the preferable option when it is possible, as it heals faster (makes sense, less is replaced), and may be longer lasting. The widget itself is pretty neat, its a non-ferrous (CoCr) metal ball-and-socket, with a bead-blasted shaft on the ball (To grow into the leg bone) and a ceramic layer bonded to the outside of the socket (to bond with the pelvis*). Having him ask about the chemistry of the replacement module (So how is the ceramic bonded to the…) and weather it was safely non-ferromagnetic for bringing near NMR machines (it is) was clearly a little bewildering to the surgeon, but definitely means hes thinking it through.
Everything went well, and he’s recovering impressively quickly. He is even startling the PTs with how enthusiastic and capable he is about hobbling around with his walker. Should be home in another day or two and as mobile as he was before the operation in a matter of weeks.

*Excuse any gross errors in anatomy, I’ve never been terribly well versed in it.

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

Herb Seared Chicken

hschixveg_sm.jpg

This is a different arrangement of a few parts I’m found of. Chicken breast seared with herbs, this time a little salt, pepper, parsley, and basil, and heavy rosemary, in a hot buttered pan, then deglazed with chicken broth (white wine is really preferable, but it wasn’t worth opening a bottle)for color, moisture, and flavor. Served with zucchini, summer squash, and onions cooked in lemon butter (one of my favorite seasonal vegetable dishes, which is almost out of season), over a bed of farfalle, topped with grated asiago cheese.

Posted in FoodBlogging, OldBlog | Leave a comment

Lonely cats are Lonely

catleg_sm.jpg
Everyone in my house was out for several hours Saturday evening/night, and I was the first (and apparently only) one to make it home for the night. When I flopped down on my bed (after a very energetic cat greeting) for some quality Internet time-wasting, the cats informed me I was never to leave them again. By holding down my leg. Together. It was pretty adorable, and my camera was in reach so I can share.

Posted in General, OldBlog | Tagged | Leave a comment

Bags with Soul

backpack_sm.jpg
I’ve always had a thing for high quality, high utility bags, so when my beloved old Clive Front backpack finally started to fall apart, I was pretty unhappy about it. Since Eagle Creek (the former parent/sister company of Clive) re-absorbed Clive and subsequently killed the line (and purged most references to Clive from their website), I was preparing to write it off as dead. I sent an email to their service department asking if they would still service the bag (Clive bags came with an absolutely amazing lifetime warranty) anyway, and they proved they are a class act by informing me that it was indeed still covered, and promptly producing an RMA number. It took a couple weeks for it to come back, but it has returned with a new bottom panel neatly sewn in.
That bag has been in near continuous use since my sophomore year of high school, and until this round had only needed service once when the zipper toggles snapped. It is a hell of a bag.

I’m still irritated by the death of the Clive line. Some of their later products were pretty uninspired hipster junk, but a quick trip through the wayback machine to Clive’s old skateboard backpack line (The only kind of skating I ever do is longboarding, and no one in their right mind is going to try to strap a 34” deck to a backpack, but they were their best bags anyway) shows what good backpack design looks like.

Posted in Objects, OldBlog | Tagged , , , | 2 Comments

N8x0 PowerVR Drivers!

Since the N800 came out there has been a lot of rumbling in the community about the unutilized hardware present in the device (and it’s sibling/successor, my beloved N810). The piece most complained about are the PowerVR MBX 3D accelerator and 5MB SRAM included on the OMAP2420 SoC the device is built around. The explanation has always been a mixture of licensing issues for the drivers, and that the external Epson S1D13745 display controller was better suited to the 800×480 (still unusually high for mobile devices) resolution, despite being rather slow and devoid of 3D-capability.

With the advent of the N900 and it’s non-backward-compatible Maemo 5 OS, there is some fear in the community that the N8×0 devices will be abandoned. The N900 looks like a very cool device, but like many tablet owners, part of the appeal of my N810 was that it wasn’t designed to have a >$50/month cellular data plan. Nokia’s offical (and seemingly very classy) stance is that they will provide support for continued community developed FOSS software for the platform, which currently mostly means Mer, a community firmware/ partial Maemo 5 backport. There are also several other linux-based OS ports to the N8×0 platform, and a burgeoning effort to produce a binary-compatibility-maintaining system software update like the ones Nokia used to produce for Maemo 4 which will hopefully all cross-pollinate sources and keep the platform alive. One only has to look at how long the OpenZaurus (later merged into OpenEmbedded/Ångström) community held on, and how much they accomplished to be hopeful.

The combination of these thoughts? Nokia (and the various other relevant IP owners) announced they will be supplying drivers for the PowerVR to the community in the immediate future. With a little luck the Mer hackers will get them integrated into a release soon, which may contribute to tipping to Mer as the predominant OS for n8×0 devices over the OS2008/Maemo 4 stack Nokia provided.

I depend so much on my n810 I haven’t really been into OS hacking on it, but as it ages and the community firmwares come to the fore I suspect I’ll get more into it (if I have time). Maybe as they get cheap I’ll even end up with one of the “knockoffs” to use as a test platform in the same primary machine/beaterbox setup as my bigger machines.

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

Epigrams on Programming

My Languages for Computers, Languages for Computing post reminded me of several of the “Perlisms” from Epigrams on Programming, a collection of humorous observations on programming published by Alan Perlis in SIGPLAN Notices 17(9), September 1982. Most of them are still as, or more, relevant now than they were when they were published.

Everyone who deals with computers regularly: GO. READ. THEM.

Some of my favorites:
19. A language that doesn’t affect the way you think about programming, is not worth knowing.
31. Simplicity does not precede complexity, but follows it.
49. Giving up on assembly language was the apple in our Garden of Eden: Languages whose use squanders machine cycles are sinful. The LISP machine now permits LISP programmers to abandon bra and fig-leaf.
87. We have the mini and the micro computer. In what semantic niche would the pico computer fall?
114. Within a computer natural language is unnatural.

The fact that many of the epigrams are contradictory in clever ways just makes them better.

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

Chicken Fricassee

chixfric_sm.jpg
A somewhat nontraditional chicken fricassee, inspired by the version served at Gumbo Ya-Ya. This batch is too spicy (due to the Euclid Kroger’s epically inconsistent peppers) and not dark enough (due to my inability to get a roux that dark without burning it), but quite delicious. It definitely bears playing with, I want to get better at braising (Especially maintaining color and texture), and this is a easy, tasty way to practice.

Posted in FoodBlogging, OldBlog | Leave a comment

Languages for Computers, Languages for Computing

We had a day of playing with Lisp in CS655 in preparation for the next assignment, and, like every time I am exposed to Lisp, it makes me think about one of my favorite ways of classifying programming languages. The dichotomy is is, as above, “Languages for computers” — Languages that directly manipulate the way computers tend to be actually implemented (Like C and FORTRAN, which have admittedly symbioticly pushed the design of modern computers) and “Languages for computation” — Languages built around a computational model (Like ML and Smalltalk). I’m a much bigger fan for the former.

Lisp sort of falls in-between. Lisp is definitely a “Lambda calculus with sugar” language in conception, but it has at various times actually made sense for the hardware it ran on. Initially, Lisp was implemented on the IBM 704; the CAR and CADR nomenclature for the head and tail of a list endemic to Lisp is derived from the way in which registers could be split and addressed on the 704, and is actually a fairly clever way of efficiently utilizing the available resources. This is also probably why Lisp is case insensitive; the 6-bit, Hollerith-card derived BCD character representation used on early IBM machines only had capital letters. Later on, mostly as a response to the AI communities’ love of writing computationally intensive programs in Lisp, which was (and continues to be) extraordinarily inefficient on most hardware, there were several generations of dedicated Lisp Machines, built with a bizarre tagged architecture specially suited to running Lisp code. These are now a well and truly dead breed, as they were expensive special-purpose machines of the kind almost completely eliminated by commodity hardware in the 90s, but did prove that it was possible (albeit expensive and ungainly) to make hardware that suited Lisp the same way most machines are suited to C and Fortran.

The remainder of this post is sort of an expansion of my griping about ML a few posts back, generalized to “computation” style languages. My first objection is partly personal; I’m much more interested in the way computers actually work, than the (admittedly alluring and elegant) field of computational theory, which frankly has very little bearing on the way computers work, and even less on the way they are used. This does lead to an argument that programs should be written to suit the prevailing hardware rather than the programmer, as they will be run many times but only written once, but that argument can be over-applied to any high level language, and can be mitigated by ever increasingly smart compliers. Another reason I don’t tend to take the “computation” type languages all that seriously is that I don’t really believe in attempting to formally verify programs. My observation is that programmers tend to be pretty good at writing what they mean (possibly excluding fringe cases) in any language they are comfortable with, but pretty bad at figuring out exactly what they intend to write, which is a validation problem, usually made worse by attempts at premature verification. There are a couple notable efforts to formally verify non-trivial programs, like se4l, but these conspicuously tend to be written in languages not designed to support formal verification. To the best of my knowledge there aren’t any formally verified programs large numbers of people actually use on a regular basis (it would be cool if there were; please correct me if there are examples, I’d love to see them).

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

XMOS

I ran into an ad for development boards from XMOS the other day, and, being generally curious about unusual little processors, read up on them. The architecture they are using sounds like a really good idea to me, and I hope it’s as well executed as it is clever. Some of the cool stuff:

Programmable hardware – they call it “Software Defined Silicon”, it appears to be FPGA-like programmable switching setups between the cores, and some programmable features in the IO blocks.

Static scheduling – This is my bet for the way to solve the memory latency problem that continues to be my favorite candidate for “the next big problem in computing”. Caches and parallelism can only hide so much, and caches are responsible more than their share of uglyness.

LLVM-based tools- I’ve been working with LLVM for LARs, and there is a lot of similarity to the designs. I’m pretty well convinced now that LLVM is a Good Thing and the programming environment they built with it sounds promising; it appears to be C, extended with features to better support thread concurrency and the programmable I/O stuff.

The biggest worry is they don’t seem to actually have their chips in any high profile devices, which may just mean they haven’t been around long enough, and may mean there is some hidden problem with their products that I haven’t caught on to yet.

I don’t have enough free time and energy to think its a good idea to drop $100+ on a dev kit which will sit unused on my shelf “until I have time”, nor do I have a project for which it would be appropriate, but I’d love to to sit down and play with one of their dev kits (the little credit-card boards are cool, but the one with the QVGA touchscreen is way cooler…) and see if it really is as good as it looks (One of the many cool project ideas I doubt I’ll ever get to: I’d love to try to port a conventional(ish) OS to these things in a way that actually took advantage of the architecture (I’m thinking tricks with a microkernel across threads), both for the porting experience and because it would be a good (predicted) future of parallel programming playground. There is a review of the fancy kit with the screen above, and it sounds like the software tools (at least at the time of the review) and documentation are still a little rough, but they seem to agree its a promising idea, and do note that XMOS seemed to be aware of the issues and showed signs of moving to solve them. Definitely a product to watch.

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