Category Archives: School

A Compiler Target Model for Line Associative Registers

I just submitted my first “real” publication (which was already accepted based on the extended abstract) A Compiler Target Model for Line Associative Registers, to CPC2010 in Vienna, Austria this July. Very excited.

I got “a little less support” from my adviser than I might have liked, but I’m reasonably confident in my writing skills, and a lot of the material had already been worked over for putting in a (previous, rejected) paper I coauthored, so the process of putting it together wasn’t too bad. It was stated as “I trust you to take care of it,” but it was still really irritating. That said, there is something vaguely awkward about the paper that I haven’t quite been able to put my finger on; I think I thought about and played with it for too long, and lost track of what was actually there at any given time. Have a look and tell me what weirdness didn’t get caught because no one (else) read it closely before it went out, I’ve already found a redundant qualifier left in the last line of the abstract… just be warned that the topic is a little obscure.

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

Spring 2010 Semester Retrospective

One of the intents of this blog is to publicly keep track of my before and after impressions of classes to share, and since another semester is complete, it’s time to repeat the process. The Spring 2010 “Before” post can be found here, and the link chain can be followed back. This one is a little belated from travelling immediately after the semester ended.

CS585:Linux Internals/Finkel
This is a very, very good class, which is also a HEAP of work. It really is taught by discussing the inner workings of some part of the kernel in class, and writing programs that manipulate them in some way… unfortunately, the detailed discussions and programs are not necessarily in the same order, or even the same topics, so very much of the value of the class is being given pointers on topics to learn indipendently. With that in mind, resources wise, Robert Love’s Linux Kernel Development is a really excellent book, that I would have done well to actually read ahead in instead of constantly using to catch up, and LXR is unbelievably useful for working with kernel code.
Keeping it short, if you want to be able to do *useful* things with operating systems, this class is perfect, and Dr. Finkel’s instruction was, as always, excellent. Just be aware you will be doing a lot of time consuming independent learning and programming.

PSY562:Human Technology Interaction/ Carswell
This class is in the unusual position of being at once very interesting and very easy. I love the topic, to the point that my current first-choice PhD program when the time comes is in the area, so getting some formal credentials to support my interest was a high-value proposition. While I would have liked a little more depth, and a little more variety in perspective; we took a very Human Factors/ Ergonomic perspective most of the time; the topic has historically also been approached from a more classical psychological perspective, an Industrial Design perspective, and (my favorite) an Information Theory perspective, it provided an excellent overview for people who didn’t have as much prior reading, and was still an excellent exercise for those of us who did.
The class dynamic was pretty cool with the mixture of psychology seniors and other-topic “upper level” (mostly graduate) students. The other-topic graduate students tended to be considerably more vocal (sometimes to a fault) than other groups in class, and we all seemed to have higher expectations of what would be demanded of us than other students or the actual expectations, which was instrumental in preventing it from ever becoming stressful. From talking to other students, finding the class easy wasn’t limited to people with significant prior knowledge, so I’m reasonably sure I’m not just expressing my own skewed perception.
The project around which a lot of the class work and discussion was based was a usability/Human-Factors analysis of Lexington’s Mass Transit System (LexTran). Although it wouldn’t have occurred to me as an obviously suitable topic, the sad state of LexTran, the broad variety of issues to be addressed, and the LexTran official’s willingness to to get involved made for a very good situation. My particular project was on designing appropriate mechanisms to display bus tracking (AVL/GPS) information to users, and focused chiefly on the design of suitable smart signage, but other individual projects included website design, map design, route planning and representation, and environmental improvements for the transit center itself. This is the UK PR article (which is, amusingly, on a webpage that is a usability nightmare) about the class project, and even has a terrible picture of me from the final poster session.
Apparently it will be offered again next semester, which is interesting because this was the first time it had been offered in a while, and I highly recommend anyone interested sign up, especially if you have an otherwise intense semester planned, as it manages to not be difficult or time consuming, while also avoiding being a waste of time. As best I can make out, the requirements for instructor consent are “Seem Competent/Interesting” and “Express Interest,” since Dr. Carswell is quite interested in having a variety of disciplines represented, making it is an option for a wide variety of students.

TAing EE281
It turns out I really do enjoy teaching, which is extremely fortunate given my intended career. Most of the kids actually seem to have learned something from being in my class, and initial opinions from both students and faculty seem to be that I did a good job. I cleaned up the grading policies (created a set of fixed-form rubrics for all the assignments, etc.), and have a set of notes from the labs on necessary modifications and improvements. It also really, really improved my ability to work with Verilog, especially debugging, since dealing with 30some inexperienced coder’s problems exposes one to a LOT of code, with a lot of different approaches and bugs.
The plan is for me to do a little bit of writing up (ABET, and some internal-to-UK thing) from my notes over the summer, and TA the same course again in the fall, which I’m actually kind of looking forward to.

Overall: Hooray. I like what I’m doing, I like where it’s headed, and I’m not feeling over-extended like I did in some of my more intense semesters as an undergraduate.

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

Saturday Grading

gradings10.jpg
See the giant piles of paper in the left of the picture? That is my last round of grading for the semester, and the entire plan for my Saturday. On the upside, FPAT is empty the Saturday before finals week, so I can spread out all over the ECE Commons and play loud music while I do it. Every time I use a massive 3-sided desk/table/workbench rig like that it makes me want one, it’s so nice to spread out on a huge solid accessible workspace.

Posted in General, OldBlog, School | Leave a comment

NAK Build Party

buildnak.png
My research group will be building our new (smallish) research supercomputer NAK:(NVIDIA Athlon XP cluster in Kentucky) on Friday, April 16, 2010 from 10A to 4P in FPAT672. UK students and other interested Lexingtonians are invited to come help with the build, so if you would like to play with the guts of a big cluster, you will be welcome at the (re)Build Party.

If you can come up with a better phrase (with a better acronym) for the “NoBuPAG” principle discussed in the machine description, that will be really welcome too.

NAK will provide a testbed for continuing research into building tools for performing useful compute work on GPUs. It presents a different model than the conventional GPU as an attached co-processor to powerful compute nodes model, which has thus far proven impractical to program for. Instead, NAK treats the nodes as “Nothing But Power And Ground” (and a network interface…), and will be running all of the heavy compute on the GPUs themselves, through a mechanism extended from our MOG project.

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

Dr. H.J. Siegel Talk

Dr. H.J. Siegel, an old colleague of my advisor and a leading figure in multiprocessing, will be at UK to give a talk next Monday. Abstract:

Title: An Introduction to Research Issues in Heterogeneous Parallel and Distributed Computing

Time: 10AM, Monday, March 1, 2010

Room: 112 RMB

Abstract:

In heterogeneous parallel and distributed computing environments, a suite of different machines is interconnected to provide a variety of computational capabilities. These capabilities are used to execute a collection of tasks with diverse computational requirements. The execution times of a task may vary from one machine to the next, and tasks must share the computing and communication resources of the system. An important research problem for heterogeneous computing is how assign tasks to machines and schedule the order of their execution to maximize some given performance criterion. An overview of a conceptual model of what this involves will be given. An example of resource allocation research will be presented. The example involves an ad hoc grid environment, with energy constrained mobile computing devices that could be used in a disaster management scenario. Open problems in the field of heterogeneous parallel and distributed computing will be discussed.
“Alligators” that make heterogeneous computing challenging will be shown.

To give a little background on Dr. Siegel, tweaked from a discussion with a friend and former group-mate who went to do his PhD under Dr. Siegel:
“There is a threshold, somewhere around tenure in academia, at which you are no longer effectively discouraged from cultivating eccentricities.” This is true for most tenured faculty, but the cowboy + leading figure in multiprocessing combination is a winner among winners.

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

Kevin Rudd is an Ignorant Yokel

From a thread at the excellent phdcomics phorum where I frequently lurk and occasionally post, Australian Prime Minister Kevin Rudd said something awe-inspiringly ignorant about reproduction and higher ed.
It’s simultaneously comforting and distressing to know that the US isn’t alone in having ignorant yokels running things.

From the article, narrator is female:

At that point one of my friends introduced me, dropping in that I am completing a PhD. At this, [Australian Prime Minister Kevin] Rudd rolled his eyes and in a terse voice lacking any sense of irony remarked that is the “excuse” that “all” young women are using nowadays to avoid starting families.

Why is this an incredibly ignorant thing to say? Let us count the ways…
1. There are well established positive correlations between parent’s education level and almost every indicator of success for children. (and a corresponding inverse correlation between education level an fertility…the “only stupid people are breeding” argument.)
2. I don’t know the numbers from Australia, but in the US 5.587% of the population over 15 has a Master’s degree, and 1.066% has a PhD, around 60% and 40% female respectively. (src, pdf) — “all” the young women? really?
3. There are too damn many of us anyway.
4. What the hell would posses someone to say that? Really? Is it the 1930s?

In a totally unrelated matter, one of the three people sharing the Nobel Prize in Medicine last year was a female Aussie PhD…

This is not to say the US is doing any better on looking bad right now. We have this shit, where a bunch of assholes are trying to pull an Intelligent Design (nomenclature swap to hide the fact they don’t have a leg to stand on) to shove their religious bullshit into the social sciences curriculum.

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

We Have the Classiest Grad Students

Man Charged With Attempted Murder In Plot To Kill Witnesses

Yeah, that Polish Mike is the Polish Mike from the ECE department, that I did a Digital Controls project with a couple semesters ago, and who was TAing EE222.

I’m hoping the unnamed passenger in the article wasn’t his girlfriend, who is a recent graduate from our department, bright, and to the best of my knowledge uninvolved in Mike’s shadier behaviors.

Strangely enough, he was a competent engineer and a cool guy — aside from the drug dealing, apparent mob connections, and murdering, obviously. He was always very honest about his various fuckups, and would sometimes warn us that he had a court date coming and might not be back. We’d always just wish him good luck and make sure not to get involved, because, frankly, what else can you do? We were always kind of impressed that he kept coming back, he must have had some damn good legal representation. I suspect this latest incident is going to break the cycle of reappearances for quite some time.

EDIT: Folks in the department have talked to the girlfriend, she wasn’t involved. Also, you can check out Mike’s status on the LFUCG Division of Community Corrections page.

Posted in General, OldBlog, School | 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

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