Category Archives: Computers

last.fm

As I’ve been telling myself I would for a while, I set up a last.fm account and attached most of my media playing devices to it:

http://www.last.fm/user/PAPPPmAc

The update behavior is …quirky… but I’m not sure if that is a symptom of my usage or the service. I had a bunch of tracks go from “now playing” to “yesterday evening” (apparently because it is confused about time zones), and a few tracks have been randomly excluded/doubled up/etc. (I think it excludes tracks it doesn’t know?), but I’m reasonably willing to call it working server-side. Client side, maemoscrobbler on the n810 is being twitchy, probably because I’ve replaced a bunch of OS pieces it interacts with with patched versions, but basically seems to work. The last.fm plugin in Rhythmbox on my media machine is much better behaved. I wonder if the squirrelyness is just because I had different clients from the same IP in rapid succession.

There are a couple behaviors that seem natural to me and don’t seem to be integrated: I’d really like to be able to export my whole music library into their connection service, and let it feed back selections to the media player via some protocol; It’s the first thing I’ve come across that even competes with my old Rio Karma’s “Rio DJ” features, and I want to be able to do the unattended “play similar music” stunt with my own music library.

Now to see how long until I leave an album muted on repeat for an entire weekend and poison the account’s history/suggestion engine.

Is anyone else scrobbling?

Posted in Announcements, Computers, Entertainment, General, Music, OldBlog | Leave a comment

QNX 30th Anniversary

QNX Software Systems, makers of the QNX operating system, one of the more awesome and under-appreciated operating systems, is celebrating the 30th anniversary of the QNX platform with a series of posts about the history of the company and OS.

I love weird OSes. I love computer history. I’m all over this one.

QNX/Neutrino is a pretty nifty OS, which is a semi-open platform, with ports available for almost every common architecture. It is UNIX-like, so the environment is familiar, and is so small, lean, and cleanly interfaced that you can simply plug/unplug everything above the mircrokernel with their modules or your own code. It is noticeably a real time OS, and has a reputation for high reliability/availability, which is (thanks to it’s small, elegant codebase) certifiable, the combination meaning it is in all kinds of “critical control systems:” stuff like medical equipment and nuclear reactors, but is flexible enough to present a workstation-like environment as well.

There is a famous (among OS nerds) demo QNX used to offer, which provided a complete environment, including windowing environment, networking, browser, and some useful programs, on a 1.44mb floppy, with incredibly tiny system requirements. It is still available from the wayback machine. A commentary on the demo disc is here. It’s fun to bring up and fiddle with on a virtual machine (qemu, bochs, whatever; it isn’t demanding), but isn’t quite as impressive as it used to be since the demo hasn’t been updated in roughly a decade, and the UI looks very dated.

Sometime in the imaginary future where I have time for such things I’d love to sign up for the non-commercial source access and wallow in it for a while, it’s always struck me as beautiful and ahead of it’s time in the same way as BeOS, but without all the tragedy.

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

Google Buzz

I’ve started using google’s new status message/message into the void, pleading for attention/twitter-like system, Buzz. Between being resigned to the fact that google already knows everything they possibly can about me, and the fact that the system is reasonably open and transparent (unlike, say, facebook), I’ve decided it is sufficiently un-creepy to use.

Stuff posted here will (FINALLY, it took 3 days to index my rel=”me” link) start cross-posting to Buzz. Things posted to buzz won’t show up here, but my buzz feed can be followed by non-google-users at My google profile.

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

LLVM Bootstrap

Apparently the Clang frontend has successfully bootstrapped LLVM. Clang has been complete for C for some time, and Objective C (thanks largely to Apple) for almost as long, but since much of LLVM is written in C++, supporting that as well has clearly been an important goal.
Making a complete, functional C++ frontend is one of the ugliest tasks in computing; the C++ spec is a bloody fucking nightmare, which drastically extends C’s already considerable collection of dark corners. The fact that there is now another FOSS implementation, particularly one that is written in a much cleaner way than the one provided by GCC is excellent news for programmers and tool writers alike. Congrats to the Clang devs, and all the upstream LLVM folks involved.

I have been following LLVM development reasonably closely, as my master’s project will hopefully culminate with a functional port of the LLVM backed to LARs, and am continually impressed by how accessible, friendly, and well documented the code base and community are.

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

The von Neumann Bottleneck


Surely there must be a less primitive way of making big changes in the store than by pushing vast numbers of words back and forth through the von Neumann bottleneck. Not only is this tube a literal bottleneck for the data traffic of a problem, but, more importantly, it is an intellectual bottleneck that has kept us tied to word-at-a-time thinking instead of encouraging us to think in terms of the larger conceptual units of the task at hand. Thus programming is basically planning and detailing the enormous traffic of words through the von Neumann bottleneck, and much of that traffic concerns not significant data itself, but where to find it.

John Bauckus in his ACM Turing Award speech, 1977

This is becoming the mantra for my research; it is the simplest possible cogent explanation of why a LARs-like design is important, overdue, and just plain cool. Especially interesting is that the need for such a design was obvious to forward thinking computer folks in 1977, but until now it has only been seriously tackled as a problem for software tools on top of von Neumann style hardware, rather than a cause to change design of the hardware itself. I suspect this quote will find it’s way into the into the introduction of my master’s thesis when the time comes.

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

Chromium

I downloaded Chromium (google chrome, but purely FOSS, so there is a build that can be grabbed directly from the Arch repos) to play with this weekend, and it is way more promising than last time I played with it. In particular, I wanted to see if the touted speed benefits were real, and see if there was a viable alternative after the massive UI (”Open in new tab” is a critical feature for tabbed browsers…), resource consumption, and stability regressions in Epiphany after it’s switch from Gecko to WebKit.

I should note that my browser usage is a little weird; I keep one Firefox window per topic (usually 3-4) on my first virtual desktop, plus an instance of Epiphany on the second virtual desktop, which is used for mail (it stays logged in to my google account, Firefox doesn’t), banking and various other things I’d rather not have logged in alongside my normal browsing, or brought down when I manage to crash Firefox.

As for Chromium itself (I’m using “Chrome” and “Chromium” interchangeably here):

The good:
* Fast. Very, very fast. Especially javascript, which is it’s claim to fame.
* Responsive. The UI is WAY more responsive than Firefox, I’m yet to have a “did that work?” moment with it.
* The default new tab behavior that places text entered to a new tab into a google search is correct as far as I’m concerned, I’ve had Firefox set up that way for ages.
* Per-tab processes to prevent broken pages from taking down the browser.
* Extensions in separate processes. This is probably the best feature, Flash crashes all the time on my machines, and I hate having to restart Firefox to get it back.
* Incognito windows. This is a partial solution to the logged in/not logged in issue that makes me keep two browsers up.
* Perfect default tab opening behavior; tabs created from “Open link in new tab” open next to the parent tab, tabs created by ^+T open at the end of the bar. I’ve never managed to make that work consistently right in Firefox, despite having a nice extension to do so.

The bad:
* That “innovative” UI that doesn’t integrate with the desktop theme, and gets clumsy when you turn on the “Use System Title Bar and Borders” option in the vain hope that it will help.
* That same “innovative” UI that puts the tabs in that awkward fitts-law worst case scenario place close enough to the edge of the screen to require long travel, but not close enough to get edge benefits. I am not alone in this opinion, would it really be so bad to add an option to fix that?
* No scrolling tab bar. I usually have several windows with <20 tabs each, but if I spawn tabs for all the interesting unread threads in a forum or somesuch, I really like to be able to read the titles.
* Ravenous memory and cycle consumption: if you think Firefox is bad about consuming resources, just wait until you see Chrome. Then again, the latest builds of Epiphany have a nasty habit of bugging out taking up some CPU time constantly, and Chrome is way better than that.
* Awkward bookmark-group behavior. There is a “open all in new window” feature (which is very cool), but it extends to sub-folders (which is not).

Overall, it is definitely my new second-choice browser, and I’ll keep it installed to use when I have problems with Firefox. I might even switch despite the UI issues; some of the above features are really nice, and adblock works just as well with chrome (this is very important for my primary browser). It should be neat seeing the next few versions of Chrome and Firefox, real competition (sorry IE and Opera, you don’t really count) is a wonderful thing.

EDIT: Apparently adblock doesn’t work quite as well in Chrome, Firefox adblock actually prevents ad material from downloading, Chrome adblock simply prevents it from rendering. Not an issue with a fast connection and fast machine, but you might want to go ahead and fix your hosts file to get rid of the more egregious offenders anyway.

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

Blackboard for the Lose

I never used Blackboard as an undergrad, and from my experiences this semester using it as a student in my PSY562 class, and a TA for EE281, I am very, very glad. Every time I log into Blackboard, I get the feeling it was designed by people who have heard of the Internet, but never actually used it.

The UI is totally incohesive, painfully slow(I tried several different browsers, including Chromium, faster javascript engines don’t help much), and woefully difficult to interpret, on top of being simply ugly.

My biggest complaint however is the grade input interface (which is hard to show without running afoul of FERPA); I want a TABLE. It could be a fancy javascript spreadsheet like google docs. It could be a HTML table full of HTML textboxes with a submit button (as long as the tabbing order is column-major). It could demand some format of file upload, so long as it was capable of incremental updates. Instead, there is a nigh-unusable single-shot file upload widget, with no incrementing support, and a clumsy javascript table-thing which posts per-cell, making it miserably slow to enter to. For now, I’m just keeping grades in a spreadsheet on my machine, and taking some time each week to synch it up with blackboard, because directly using the interface is too infuriating.

I’m also noting that I’m not the only one who has issues with making Blackboard work. There is delicious irony in that more often than not there are emails or before-class discussions about failures in interacting with blackboard (usually including the instructor) in my class on Human Technology interaction.

These criticisms are aside from the issues I have with Blackboard, LLC Being dicks with (since invalidated) patents they shouldn’t have been granted in the first place

Sadly, playing with the public demo of Moodle, which seems to be the most successful open-source Course Management System, I find it really isn’t much better on most fronts, but does seem substantially more responsive, and has a slightly more cohesive UI. More importantly, it isn’t any worse, is not large tens to hundreds of thousands of dollars (ref, may have to push “Guest Login” to view) per year in licensing fees, and, as an open project, is more likely to improve with time.

Seriously, why is anyone using this thing? Is it convenient for the admins? (I doubt it with how often it seems to be down) Was it just a buzzword for a while, so everywhere that wanted to look like they were keeping up with educational technology bought a license, then couldn’t get rid of it? Does blackboard LLC have really good kickbacks for the IT people who make purchasing decisions? It doesn’t even have the obvious link with finance trolls like the other terrible, expensive software UK has adopted to explain it.

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

Reference Manager

I’ve decided I need to start using a reference manager utility. My old system of keeping a text file full of BibTeX entries in a folder with pdf’s, with an extra “file:” field for the file name of the document is a little crude, and starting to break down as I get large piles of documents for some topics.

Because my PSY562 class this semester is largely using readings from HFES journals, I’m going to use the pile it generates as a testbed to find something I can use generally.
My requirements for a reference manager include:
* Accepts and Emits BibTeX Citations
* Capable of linking citations to files
* Storage format which is (roughly) human readable
* Easily transported database
* FOSS
* Works on Linux
* Limited dependencies (I’d prefer to avoid Java or Qt)
* Works without network connection

The most widely used solution, EndNote, fulfills very few of the above (plus, interoperability dickishness, but fortunately there are lots of projects to make reference managers floating around the ‘net that seem promising. Unfortunately, most of the promising ones are dead. The best of the actively-developed bunch seems to be Referencer. Referencer is a C++/gtkmm app (so it plays nice with my XFCE4 environment), with a Python plug-in system (Should I ever choose to use it), reasonably limited ties to the various non-GTK gnome libraries, and stores it’s records in XML. It looks remarkably close to what I want, and has some features I didn’t know I wanted (preview icons, tags) that are pretty useful. I think it’s going to be a keeper, but would love to hear what other people are using.

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

Kentucky Touch screen / Natural User Interface meeting

Earlier tonight I attended a sort of open-access seminar on multi-touch user interfaces, catalyzed by an EE senior design group working with Awesome Inc. to create a large multi-touch wall for the outside of their space. The attendece was wonderfully diverse on account of the announcement hitting the professional, academic, and hobbyist communities in Lexington (more events need to propagate like that!). Attendees included several members from the Lexington IEEE chapter (co-opted as a chapter meeting), a number of local creative types, many students from UK, and several other interesting folks.

The discussion centered around the CCV effort of the NUI group, and was fairly solid, although I would have appreciated a bit more technical depth. I actually ended up dominating a couple conversations on account of being better read in the area than most of the other attendees, and don’t consider myself particularly well-versed in multi-touch display technology. I still don’t really understand TUIO, I was rather hoping someone there would be able to explain it.

One small downside, I still get the uncomfortable feeling that everything said or done at Awesome is being sucked in and analyzed as a potential source of financial gain. The culture there always seems exploitative (or at the very least commercial) instead of communal, which is very unfortunate, as they have set up a nice space, and seem to be attracting interesting events.

I really am attracted to open-access, discussion based topic seminars like this, and would love to see more of them happen. There are lots of good efforts to bring that sort of thing to Lexington, from a seminar series Dr. Finkel is attempting to arrange this semester (based on students and faculty giving short presentations on neat things they have found), to Collexion and Dorkbot’s regular meetings. This is not the first time I’ve been after this sort of thing either, for a while the UK LUG was running some decent events in this vein, in particular I remember a successful LUG event on PyGTK, but the LUG is several years defunct…again…because those of us who were active didn’t have time to keep it going on our on (and be students), and no one else stepped up. I think some of the short-form lecture series like ignite have had events here as well, but those have never seemed as useful to me.

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

A Tiny Plastic Dot

(This is very much an example of one of the little manic episodes that make me a good generalist/appear high functioning)
The left touchpad button on my laptop (Thinkpad T60p, hostname Monolith) has been “limp” for a while. It bothers other people who use my machine, because (objectively) it really does feel very wrong, but it had broken gradually and I had acclimated enough that it didn’t bother me. Last night I started paying attention to the problem, and it became maddening, so I decided to see if I could fix it. I looked at the problem last time I had the machine apart, so I knew there was a torn plastic tactile dome to blame. It is (as best as I can make out) impossible to order just the appropriate domes, and a whole new touchpad is 1. defeatist, 2. about $12 from shady ebay sellers, and 3. requires waiting for it to be shipped. I decided a better (ie. creative, free, immediate, and credit-card-fraud free) solution would be to go rummage in the parts bins, find a sufficiently similar tactile dome in something dead, and install it. The closest match I could find was the keyboard domes from the corpse of my old VPR Matrix 180B5 (The worst made laptop I have ever encountered. Every bit as fragile as one would expect something made by a Best Buy house brand to be, even though it was basically a re-badged Samsung P10. Polystyrene is not chassis material.) I now have a partial match (it’s a little too weak, and not “snappy” enough) installed, which is good enough to keep it from being bothersome.
Thinking about tactile domes reminded me of a fabulous article I read (I thought) about them several years ago. It turns out it was a much more general article about handheld devices, but it really was fabulous. The article is “Handhelds of Tomorrow” from the April 2002 issue of Technology Review. Ideo has a PDF available outside a paywall. The part about the tactile bubbles was one little subsection about Peter Skillman, who was “the hardware guy” at palm/handspring (weird corporate history).
The search for the article reminded me of a previous kick on the work of one of the other important palm/handspring people, Jeff Hawkins, who in addition to being a founder of both companies, is doing amazing work in neuroscience as it relates to computing, and has written a book On Intelligence and given a awesome TED talk on the topic.
Hurrah for (hypo)manic episodes?

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