Category Archives: School


I will be at SC’13 November 16-21 with the of Kentucky research exhibit again this year in booth 629. Media and impressions should appear somewhere in my ‘net presence during and after the conference, it is always a good show.
Edit:Pushing photos from the show floor into this album.

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

chdk-ptp PKGBUILD

In another episode of fixing things for the Cameras as Computing Systems class I’m taking, I made a PKGBUILD that apparently correctly builds and installs chdk-ptp on Archlinux systems. Chdk-ptp is a tethered-control application for Canon cameras running CHDK, that hooks a variety of custom extensions to the ptp protocol. Their build system is a little lackluster, is missing things like an install rule, and requires a helper script be installed to do some path munging before running the binary, but the documentation is good enough to sort it out, and the program itself seems to work. My package depends on iup-all-bin from the AUR which also provides the cd dependency (not marked in its provides array, though there isn’t an official package to conflict with). I tried to use the built-from-source AUR packages for cd (Seriously, who thought that was a good name for a piece of software?) and iup, but iup was giving me a hassle and the chdk-ptp documentation suggests the binary distribution will be less trouble anyway.

The PKGBUILD format has changed a bit since I was last making my own- I like most of the changes in terms of clarity and modularity, but it does require a bit of re-learning. It also means I have a couple of pet packages that probably need attention.

The build is a little janky so despite it passing through namcap with only one expected warning, I don’t want to put it in the AUR until I’ve tested it enough to be reasonably sure it works as intended. I expect I will get around to that eventually.

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

Gigabit to The Home BoF Opening Presentation

I gave the discussion-starting talk for this week’s CS departmental BoF session. The topic this week was “Unlimited Internet bandwidth – Would it be a game changer or no big deal?” My opening talk was just to get people up to date on the current events to kick off a discussion, though it is very similar to asking “What will we do with the internet” in the early ’80s, and thus rather difficult to suggest up plausible cases that aren’t “The same thing but faster.”


Gigabit to the home is rapidly becoming a reality. Programmable hundred gigabit networks are already being constructed. Cellular networks are improving so fast that people are dumping their wired connections in favor of wireless. In short, networks are becoming so fast that one can begin to imagine a world where bandwidth is essentially unlimited.

But how would the world change if we had (essentially) unlimited bandwidth to everywhere? Would it change anything? Don’t most apps already have all the bandwidth they need? Aren’t networks already fast enough to support “the Cloud”? Have we already max’d out on bandwidth? Are there any super-cool apps that could still be enabled by even faster networks? If so, what are they? Will they be truly radical, or just an incremental improvement?

Come and find out at our next CS Bof, Friday, Nov 1 at 3pm when we will debate whether there are apps that will benefit from even faster network speeds. If there was unlimited bandwidth, what new apps could *you* see emerging? Join us Friday to dream about the possibilities and give your opinion.

Slides , Notes

In a related note, I’ve made slides for several presentations recently in Beamer, including this one, and I’m pretty convinced I’m never voluntarily using Powerpoint or any obstinate WYSIWYG slide system again. Beamer is a superior tool for the job for every kind of presentation using slides I’ve ever run into.

Posted in Computers, Entertainment, General, Objects, School | Tagged | Leave a comment

Fall 2013 Impressions

Following my habit of posting Before/After notes on my semesters, some impressions for Fall 2013 now that every class has met. I’m getting to the point where the bulk of coursework I can and would sign up for tends to be special topics courses, which is a very interesting, if sometimes strange, phenomenon.
Continue reading

Posted in Announcements, General, Navel Gazing, School | Leave a comment

Spring 2013 Semester Retrospective

I lost this draft right after the semester ended, but spotted it while preparing to write up another project, and am now polishing and posting to continue my habit of posting before/after documentation for my semesters. I spent more of the semester than I probably should have on a variety of enriching distractions (like a 3D Printer), but still did very well at all my course obligations, and the distractions were enriching.
Continue reading

Posted in General, Navel Gazing, School | 1 Comment

Adventures in 3D Printing

The MakerGear M2 3D printer the KAOS lab ordered arrived last week. I am thoroughly impressed with the machine and how little fussing has been required to get decent prints out of it.

I’ve been pushing annotated pictures of our adventures with the M2 to a G+ album, because the auto-upload from my phone is too good to give up, even if the G+ album manager sucks. Take a look to get a taste of our massive new distraction.

Posted in Computers, DIY, Electronics, Entertainment, General, Objects, School | Tagged , , | Leave a comment

Spring 2013 Impressions

Since I’m in the habit of posting about classes I take at the beginning and end of the semester, and often find something interesting when I look at them later, some quick impressions for courses I’m involved in for the Spring 2013 semester.

Teaching: CS275: Discrete Mathematics
I did this last semester, but under a different primary instructor. I again have pretty much free reign over the recitation period for an hour a week, but this time I do get to do a little bit of new material instead of just examples, and the suggestions on this I should cover are shorter and less specific. I’m more comfortable with the material having done it recently, and my classes seem a little more lively, so it should be a little more fun this time around. That said, doing the same lesson twice back-to-back is slightly more demanding than with a gap, and it is very easy to forget what you did with each group. I’m balancing being a little less organized in the first section with tending to run out of time in the 2nd, so I think they’re getting similar coverage, although the second section is probably having more fun.

Taking: GS650: Preparing Future Faculty
This is a two credit hour, once a week evening course for graduate students who think they might end up in academia. I’m building up a pile of technology-related degrees, have a deep well of contempt for the tech industry, and like teaching, so that sounds right. It actually seems like it will be more useful to me than I expected, in addition to being mostly composed of reading the appropriate news streams, listening to experts talk, and reflecting on both, which is basically what I do with myself anyway.

Taking: LIN511: Introduction to Computational Linguistics
I can talk about how I’m taking this because I thought it would be good for me to look at the other kind of language tools, and how my interest in the cognitive science aspects of computer systems covers it, but I’m really just taking it because it sounded interesting, no one told me I couldn’t (and in fact all the appropriate people encouraged it), and why else have I ever done anything, ever? There is one other CS student in there, and about 34 mixed graduate and undergraduate linguistics students, so my perspective is certainly the minority perspective, although the instructor came to linguistics from computing (and is hilariously British). I came in expecting to need to self-teach a lot of linguistics material, but talking to my classmates, they seem to be having to work as much on the linguistics aspects as I am, and having trouble with the computer parts, so I guess I’m ahead? So far the bulk of the assigned material has been structured manipulation of character srings (Using DATR, which is basically a generic string class system implemented in an ancient dialect of Prolog…), which is for me mostly a good exercise in remembering the OO way that many CS folks view the world. It is interesting, and I’m not suffering, so we’ll call committing to this whim a good choice.

I’m also still not rid of my MS project. I’m deeply tired of it at this point. I’m working to arrange the thing I would like to be working on as a PhD while I continue to try to clear out the parts of the MS project that have never worked, hopefully it will be reasonably fast and graceful.

Posted in Announcements, General, Navel Gazing, School | 1 Comment

SC12 Impressions

I’ve got my pictures from the event up in an album in google’s cloud.

Here are the big, cool things I learned on the floor or at the various evening events:

  • Xeon Phi. Xeon Phi everywhere. Intel may have backed off on Larrabee, but the MIC descendants are proliferating quickly, and appear to actually be in use. They really are interesting parts – 60 node Linux x86 SMP box attached to a host system over PCI Express via a network-like interface. Somewhere between a tiny desk-side cluster and a GPU with a programming model you can actually use.
  • The population was much less male dominated than is typical for computing events. This is always a good thing.
  • The average age of attendees also seemed to be down by the better part of a decade.
  • The national labs losing their booths to the government-wide travel restrictions (apparently some folks went junketing in Vegas and it was that bad) changed the feel of the floor. Fewer, but longer and deeper conversations. More open layout, because many of the usual big constructed booths belong to the national labs. Users from the national labs hanging out at vendor’s booths. Not altogether a bad thing, but it was quite different.
  • ARM64 (aka aarch64, aka ARMv8). It is happening. It is odd (64KB pages, etc.). Large companies are being bet on it. We’re talking many billions of dollars, biggest bet since Itanium kind of big. The priority seems to be avoiding the Itanium mistakes, making sure the designs arrive promptly, and making sure software support is ready. Dell is talking quietly, Calxeda is gunning for it, Nvidia was showing (but only quietly) plans, AMD is being pointed to as a likely leader, and ARM was is sitting in their little 10×10 booth along one wall of the exhibit floor looking very pleased with themselves.
  • AMD is dying. The untimely (and vigorously denied) rumor that they hired J.P. Morgan to begin plans to sell part or all of themselves made it look even worse, but they had almost no presence on the floor, and scheduled a tiny booth next year.
  • We talked to a number of networking vendors making interesting things (free-air optical switching, multi-port Ethernet NICs, etc.). Infiniband is so good and so cheap (in a relative sense) for cluster applications right now that everyone else is hunting for an edge. This is a good thing for researchers.

There will be at least one more SC12 post later, when my cube of schwag arrives. The T-shirt harvest was great this year…

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


I will be at SC12 November 10-16, with the of Kentucky exhibit in booth 631.

I will be posting pictures and impressions through at least one of my online presence mechanisms . I fully expect it to be weird this year with a bunch of the national labs pulled out due to travel restrictions, but it should be interesting.

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

Pigeonhole Contamination

I just had one of those “My whole life is a lie!” moments while preparing to teach the CS275 (discrete math) recitation that includes the Pigeon Hole Principle section.
Years ago, I took my basic discrete math course from Dr. Ken Calvert, who notably recieved his Ph. D. from U.T. Austin during the time Edsger W. Dijkstra was faculty there (this will become important in a moment). Dr. Calvert taught us several formulations of the Pigeon Hole Principle, including the traditional

Pigenhole Principle: “if more than n objects are distributed into a set of n compartments, some compartment must receive more than one of the objects.”

the Purified Pigeonhole Principle: “For a non-empty, finite bag of numbers, the maximum value is at least the average value.”

And finally the Refined, Purified Pigenhole Principle:“In any finite set of numbers, the maximum is at least the average, and the minimum is at most the average.”

What I didn’t realize until now is that the Purified Pigeonhole Principle is a Dijkstra-ism, and the Refined, Purified Pigenhole Principle may be unique to Dr. Calvert (or at least some set of people contaminated by Dijkstra).

Dijkstra objected to teaching the traditional formulation of the pigeonhole principle, and lays out his argument against it in EWD980 (for those not familiar, one of Dijkstra’s famous quirks is that he took meticulous hand-written notes, all marked “EWD” and numbered. There are a number of mathematical concepts named for whoever related them to Dijkstra, simply because his notes are the first rigorous written record.) Basically, he claims that the typical form requires explicit instantiation, is an operational formulation (and those are bad), and is a statement that locks the student into its chosen analogy. The PPP formulation is also more general than the traditional PP formulation with less verbiage, and makes the (also correct) contrapositive more obvious. I am not as clever as he was, just go read the EWD. Furthermore, I can’t find any mention of the RPPP online except for on Dr. Calvert’s own pages. Since the RPPP is the PPP with the contrapositive manifestly stated, I suspect the name may simply be to indicate it is a refinement of Dijkstra’s approach to teaching the PP.

…So naturally, I started at EWD980 until I understood it well enough to teach, took some notes, and will contaminate my students with the alternative formulations tomorrow, because it is a better formulation for many tasks, and because EWD is one of those rare people who is generally more correct than the common wisdom. I do think knowing the traditional formulation is important, and easier to apply to a variety of common tasks, but knowing both is better than either.

Posted in Computers, General, School | Leave a comment