Category Archives: General

Anti-Convergence

I saw a couple of really impressive examples of Anti-Convergence on the trip to Portland, and ran into a couple pretty good arguments for the concept. The best example was the girl in front of me on the long leg of the flight; she was dual wielding an iPod Touch (or iPhone) for games, and some sort of hard drive based music player for music. The strange thing is, I’m sure the experience of each was better than using the touchscreen as a convergence device as I’m sure Apple intended. Touchscreens are still terrible interfaces for music players. I use, and for the most part enjoy, my n810 as a music player, but the inability to use it without taking it out and looking, like I could with the physical interfaces of it’s predecessors, is frequently irritating.
I ran into several good reasons for not using a single device, because I was (so much as I could) doing so. I was, for several hours, using my n810 as a a music player and ebook reader. The combination keeps the onboard DSP and the screen (with backlight) enabled, which drains the battery very much more quickly than either operation (particularly music only) on its own, to such an extent I had to switch to reading a dead tree book or risk killing my entertainment. The thing is, I don’t need more battery (MOAR BATTERY!) very often, just on a rare, almost always premeditated occasion. Maybe those silly little rechargeable external battery pods are actually a good idea.
This hits both issues; the eggs in one basket problem, where having a single converged device leaves a single point of failure (compounded by my tendency to hack on my gadgets), and the battery tech issue, where the ability to power gadgets is significantly lagging other gadget features right now.
I also always run into a pair of problems with cellular convergence devices; the blooducking assholes in the cellular industry, and the potential for breaking my phone. There is a strong tendency to lock down the ability to hack on devices with phones, and the ones they haven’t locked down are extraordinarily expensive. There is a fairly valid argument for the lock-down, as it is a reasonable concern that users (or some black-hat assholes’) actions could disable the cellular functionality, potentially cutting someone off in an emergency.
Maybe one day there will be a magical converged device (perhaps one of these things with a dual-layer epaper+active screen?), that will fit in a pocket and suffice as a web access mechanism, phone, music player, and ebook reader. Until then, I’ll keep eyeballing all the fancy new widgets, and using my collection of (moderately) reliable old ones (and dead tree books) until there is actually an improvement.

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

Google Go

Being in a programming language design course (and being the sort of person who would play with it even if I weren’t) google’s new programming language, Go, is pretty intriguing. A few of the things I notice:

* There are some pretty significant people behind it. Ken Thompson (one of the great old bearded ones) lends a lot of credence to anything he touches, and Robert Griesemer and Rob Pike both have pretty distinguished records of their own.

* Really? “Go”? There is already a (very low profile) language “Go!” which is causing a bit of a stink (the suggestion of renaming Go “Issue 9” is really clever, particularly in light of the people involved; I’d support it). There is also the problem that “Go” is essentally impossible to google for, and “Go Programming Language” has the acronym “GPL” which is already pretty well populated in the computer context. Also, the game Go has Go taken in computational circles. Too many conflicts to be a good idea.

* SLICES! — OMG YES SLICES! Slices are one of those features that I miss whenever I am writing in a language that doesn’t support them. There aren’t many software languages with slice support, but Verilog and some of the other HDLs have them and they are wonderful. The implementation (slices are associated with an array which contains the values, and merely provide bounds) isn’t bad, and the “create a hidden array for a slice not associated array” feature isn’t too heinous, although perhaps it would be cognitively cleaner to restrict slices to existing arrays, or make them genuinely first class.

* Baked-in concurrency goodness. They don’t seem to be quite done with this (FAQ even says so), but having language primitives for concurrency and well-defined concurrency/atomicity behavior over the whole language is becoming really, really desirable with the advent of many-core, many-thread machines and quality generic software tools to automagically parallelize serial code looking rather unlikely (but very cool). I’ve noted that proper concurrency models are something to appreciate before, and will probably do so again.

* I’m not entirely clear on what kind of usage they are envisioning for Go. It isn’t really suitable for the OS people; it has no pointers, no explicit memory management, no existing OS with appropriate hooks to use it on… (that said a Plan9-like OS, written as much as possible in Go would be rad). The applications and web people have moved on to ;decadent languages with unbelievably gigantic standard libraries (<rant> and given up any pretense of programming for the computer that will be running the code over and over and over, it’s all about the developers who write it once and maintain it…</rant>). One environment where it would be very nice is old-style low-UI applications and services (ie. once the bindings are in place it would be nice for *nix daemons). Having spent a fair amount of time poking around inside of compilers it would be quite well suited for compiler development as well; I bet we’ll see a bootstrap compiler in a matter of months.

* I’m feeling some of the same vibe as D (which I briefly fiddled with some time ago) coming off of Go, but Go seems MUCH cleaner. D holds on to most of the ugly in C++ (which I’ve never met anyone who refutes is an ugly language, even Bjarne Stroustrup is on board with that assertion), while Go is creating a clean start, and not including all kinds of decadent features.

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

Pork Medallions with Herb Fried Potatoes

porkmedallionpotato.jpg

Pork Medallions (cut from a tenderloin), and potato cubes, rubbed with kosher salt, ground black pepper, oregano, garlic powder, and rosemary, then pan (or actually, wok) fried (separately) at high temperature so everything gets a nice crust on it. Eaten with salad so there is SOMETHING in the meal that isn’t deliciously oil saturated.

I want to figure out some kind of sauce to add a little moisture to the affair, but I couldn’t come up with anything suitable this time. It seems like a sour cream base with something vegetable-y (parsley?) would be good, but I haven’t quite worked it out.

Posted in FoodBlogging, OldBlog | Leave a comment

Buildycrunkin’

I am currently at Buildycrunken #1:Hocus Focus. It is packed with people and win.

buildycrunkin1-1.jpg

To clarify, according to the mailing list, Buildycrunkin’ (a verb) is what one does at Buildycrunken (a noun). I suppose that means I am gettin’ buildycrunk? It is very important to establish proper etymology in these situations.

And look! its diverse geeks. Not just the usual computer folks, but knitters and boardgamers and geeks of all kinds (including, you know, girls…)

buildycrunkin1-2.jpg

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

SC09

I will be attending SC09 in Portland Oregon November 14-19 with my research group. In the standard spirit of having impressive low budget booths, this year our booth will feature a 4-sided rear projection display, a 16ft lighted sign (just the skeleton in the picture), both made chiefly from modular shelving, and the MOG maze. I volunteered myself to take care of allot of the preliminary arrangements, so I’ve spent an unspeakable number of hours over the last two weeks making sure everything was ready to go. This included setting up half a dozen computers, and finding and packing many of the booth’s component parts into nice rectilinear blocks to load on to our shipping pallet . I’m hoping that kind of behavior will slowly introduce my advisor to the concept of “doing things ahead,” which is, by all appearances, totally foreign to him. He noticed packing was easier this year; I’m not sure he understands why that was.
The pallet was (or at least should have been) picked up by the shipping carrier a little after noon today. Hopefully everything important is on it.

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

Buildycrunken #1 : Hocus Focus

Collexion, in collaboration with our hosts Third Street Stuff and Coffee, and participants groups like ReBelle Stitch & Bitch, National Novel Writers’ Month’s Lexington writers, and the Kentucky Ruby Users Group are holding

Buildycrunken #1: Hocus Focus

9:00 PM Nov. 6th through 9:00 AM Nov. 7th (yes, thats ALL NIGHT HACKING) at Third Street Stuff & Coffee. The idea of the event is a social, collaborative environment to work on projects of all kinds.

I probably won’t stay the whole night, but I do plan to head over to 3rd street in the evening and join in. I’ll either flit around and join in some of the community projects (the Collexion mailing list has chatter about a homebrew IR Laser Tag system…) or try to get some work done on one of my projects as suits me. There will be workers, hackers, knitters, programmers, gamers and goings on of every sort; I encourage everyone to come join in.

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

Blogs Worth Reading

I added a blogroll page in lieu of setting up a delicious account or something. Sharing the procrastination.

Posted in Announcements, General, OldBlog | Leave a comment

Registration Time is Here Again

Being the sort of person who always tries to arrange things ahead of time so they will be how I want them when the time arrives (I’ve taken to using the phrase “Practicing my Wu Wei“, although it’s a slight misappropriation), I have a spreadsheet with a highly flexible, contingency-laden plan for my master’s degree that I pull out every time class registration rolls around. This sheet is much like the one I used to game 3 simultaneous degrees out of my bachelors’, so has obviously had a far amount of scheming put into it. Because I am also a curious person, there are some oddities I’d like a chance to take. The coming semester has a couple of the weird things offered, which means my first choice schedule will push some technicalities on my masters requirements (and/or force me to take an extra class…which wouldn’t exactly be the worst thing ever).

I’ve been saying for a while I’d jump on the opportunity to take Dr. Finkel’s Linux Internals class (A CS585 Topics course he has offered at least once in the past) if it were offered again while I am still at UK, and it looks like I have the opportunity. I’m currently taking a class from Dr. Finkel, and I think that elective should technically have an EE prefix, but as far as learning opportunities go it is hard to beat.

Likewise, I’ve been eyeballing a Human Technology Interaction course (in this case the one offered as a PSY 562 topic) for a while, and my advisor has agreed it would be a reasonable thing for me to take toward my degree. That said, the suggested prereqs are “Completion of 28 hours in psychology, including PSY 427, or consent of instructor.“… I have a graduate level Cognitive science class, a fair amount of independent HCI reading, a sociology class from near the beginning of my undergrad, a Cognative Science person who will vouch for me, (and the instructor is my landlady)… I think I can swing this, but it will definitely be unusual, and I will have to wait to see how the instructor reacts to my query.

Summary: I want to take two special topics classes, neither of which are in my department, one of which is taught by someone I’ve already taken two classes from, and one of which is taught by my landlady.

In a related matter, when browsing for classes, I got a message on myUK last night:
NOTICE: All SAP systems on myUK Portal will be down for 90 minutes from 1:30am EDT until 2:00am EST on Sunday November 1, 2009 due to the time change.
Clearly a sign that the university is getting their money’s worth on the enormous expensive IRIS system they bought from SAP. Oh no, wait, that other thing: Fail. I wonder if it breaks on Feb. 29 every leap year too?

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

Karmic Koala

I (probably foolishly) bumped my spare machine (which has lately acted as a jukebox/CIFS server) to Ubuntu 9.10 “Karmic Koala” the day it was released, since the machine doesn’t do anything critical. For a point upgrade on a fixed release system, it was quite smooth, but I’ve discovered a weird bug with SMB and FUSE that I haven’t yet been able to find a solution to. The basic jist of the problem is that under 9.10 it seems to be impossible to share things stored on volumes mounted via FUSE over CIFS; it just throws permissions errors when clients try to connect, even if guest access is enabled. There are other reports of Samba issues after upgrading to Karmic.
I’m reasonably sure it’s some kind of permissions issue having to do with the combination of ntfs-3g/fuse (the drive it shares is a large NTFS-formatted external drive) and Samba in conflict, but I haven’t yet managed to track it down.
Other than that one minor regression, Karmic seems to be a nice clean incremental update; no amazing new features (at least that I care about), and no catastrophic performance regressions or other classic upgrade symptoms. The noticeable improvements are mostly the result of moving off of the obsolete branches of various pieces of software, so modern plugins and compatibility improvements are available.
I’ll update this post with a solution if and when I find a solution, discounting “Install a more predictably behaved OS” style solutions.

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

xlock on pm-suspend

I’ve always preferred that my machines be locked when they wake up from sleep/suspend/hibernate/etc., and this has been a little bit of a fuss to hand-configure on Linux of late. The problem is that the pm-utils suite that almost all distributions use isn’t really well suited to triggering a lock, and not everyone thinks it should be able to. The Ubuntu solution follows the “not in pm-suspend” idea, and predictably adds another (bulky) layer of abstraction, using gnome-power-manager lock the screen and call the suspend scripts separately. Because I don’t always call pm-suspend the same way and don’t want an extra thing running anyway, that isn’t an option for me. So, a solution to run xlock on every invocation of pm-suspend that ACTUALLY WORKS is to add an appropriately named file in /etc/pm/sleep.d, like the following:

22lock

#!/bin/bash
user=`finger| grep -m1 :0 | awk '{print $1}'`
case $1 in
    hibernate)
        su $user -c "xlock -mode blank -display :0&"
        ;;
    suspend)
        su $user -c "xlock -mode blank -display :0&"
        ;;
    thaw)
        ;;
    resume)
        ;;
    *)  echo "The xlock-on-sleep script is broken"
        ;;
esac

Remember to make the file executable (chmod +x).
The finger/grep/awk incantation at the top is a cheap (and not entirely proper) way of grabbing the first user on display :0, which is USUALLY the user logged in on what is USUALLY the local X server; sudoing to an appropriate user (and the explicit “-display :0”) is required because the script is run in an environment where the display isn’t visible and the user is always root.
xlock and it’s options can be modified or swapped out for your screen-locker of choice.

(Posting as a reminder to myself, and because I didn’t see a solution when I searched)

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