Category Archives: School

Class Impressions: Spring’10

My classes have met for the first time this semester, so it is time for my customary class impressions post. Older similar posts are archived, the link chain starts here. I am only taking 6 hours this semester, originally because my preferred last core class was not offered. I was thinking this would allow me to get ahead on research this semester, but is now also fortunate because of the TA position. The lab sections don’t start meeting until next Tuesday, so I can’t start talking shit (up to FERPA-approved limits) about that yet.

CS585:Linux Internals/Finkel
There are a lot of familiar people in this class, instructor included, and I’m pretty sure it is going to be awesome. It seems like the class is going to be exactly what I hoped; we’re going to dive into the kernel sources and hack around, guided by the books and lectures. We’re using two books, Linux Kernel Development, which is written in the fabulous tongue-in-cheek manner that seems to be endemic to good computer scientists, and Understanding the Linux Kernel, which is an O’Reilly book in the standard tradition.
This should more than make up for the extremely lackluster undergraduate OS class (CS470) I had from UK, seeing as we basically covered CS470, less some tedious detail on implementing resource locks and using shared memory, in the first lecture. Very excited, and expecting very hard projects.

PSY562:Human Technology Interaction/ Carswell

We did the around-the-room introductions thing, and the composition of the class should make things really interesting: 11 Psychology Seniors, a Computer Science Senior, a Computer Science Masters Student, an Education Graduate(didn’t catch which) Student, an Information Sciences Masters Student, a Computer Security person, and myself. In addition to the professional variety, we have hobbies like “Professional Juggler,” “Snake Breeder,” “Dog Trainer,” and “Certified Skydiver,” so there should be no shortage of interesting people. I suspect groups will always be set up with the topics people evenly distributed among the psych kids for the mutual exposure. Apparently the class is going to be fairly guided, and run around a selected central project (”Something significant to the Lexington community”, but we don’t know what yet), which means there won’t be quite as much chance for implementation as I would have liked, but it should be great fun anyway.

There is one other person in both these classes, which proves(or at least allows me to pretend) they aren’t a totally irrational pairing of interests. Looking forward to the semester. Good skills to be had, and it looks as though the classes themselves will be fun.

Posted in Announcements, General, OldBlog, School | 1 Comment

Teaching

My big new behavior for the coming semester is that I’ll be working as a teaching assistant (for those unfamiliar with the system: at the university level TAs are graduate students who handle some portion of the instruction for classes). It had been mentioned to me several months ago that I might be asked to TA EE281 (the basic digital logic lab at UK) this semester, but because no one ever got back to me, I thought they had found a PhD student to do it. Last Tuesday I got a note that in fact it hadn’t been resolved, and, not knowing it had been previously mentioned to me, asking I would be willing to TA. It isn’t ideal; It ruins my perfect “Class only on T/R afternoon” schedule in a big way, one of the lab sections has an awkward little overlap with one of my classes (which I’m told will be worked around), and handling 3 lab sections will be a fair amount of work but I agreed anyway. Its good for the CV, its good departmental sucking up, it pays significantly more than my living expenses, and most importantly, its an experience I would like to have early on since I’m seriously looking at a career in academia. Monday I find out exactly what I’ll be doing from the faculty member running the course; I suspect I will be handling the lab sections and most of the grading, but not much of the lectures/lab design, which should be good for easing in. I might see about doing a little bit of the other parts as well just for the experience.
Before you are allowed to TA, the university requires an orientation. Said orientation took up Thursday and Friday, 8:30A-4:00p, far longer than was actually needed for the amount of content, despite being shorter than the summer version. I’m glad for the orientation, and learned a lot of valuable information, but some of the material the first day was pretty bad; things with as much BS in them as the ed-psych people usually only say “moo.” The good stuff from the first day included the obmbud information session (ass-covering rules, syllabus constraints, etc.), and we had a fairly solid setup for the microteaching exercise. The second day started two hours late due to weather, and was improved for it. The morning was a quick procession of presentations on rules, regulations, recommendations, and resources both for TAs to use ourselves and to refer students to, which did include the joke worthy “Rules about sleeping with your students.” The latter half of the second day was spent running and group critiquing our microteach lessons, and everyone in my room did quite well, definitely better than some of the instructors I’ve had. For my session I ran a 7-minute math-free version of the “Know your parts” style lesson on Light Emitting Diodes, at the hobbyist/beginning EE student level. Even the people who didn’t have the background to completely follow seemed to think my technique was good, and I’m not too embarrassed watching the video now (Things I see now that no one commented on: I made a few dumb omissions to keep time, and looked at my note page too often), so I probably did a reasonable job. I’ll grant that the microteaching system is a good way of vetting and improving teaching ability, and I tend to be quite skeptical of meta-education.
Some of the anecdotal content was pretty useful as well. There were TWO versions of lessons on not being bullied by football players and other large entitled people, because it is apparently that much of an issue. It was also interesting to hear from people already TAing; one of the existing TAs who has been teaching Chemistry 105, which is gigantic and incredibly hostile (its the scraper course kids who mistakenly think they are pre-med), had a lot of good questions on classroom management, particularly with regard to cheating and hissy fits by students that brought up lots of useful information.
As an additional source of irrational excitement, I get one of those nifty blue-flap UK Graduate School messenger bags, which I’ve always really liked for some reason.

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

Fall 09 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. My before for Fall 2009 is here (and quoted below), and the link chain should go back from there for previous semesters. The big mistake for the semester was time management; I worked out a schedule to handle the time consuming, project-oriented classes better, but I failed to count the time I spent on SC09 against my total time to get things done, and as a result found myself two weeks behind, too late in the semester to fully recover. I managed to walk out of both classes with a B, so it wasn’t terrible, but I definitely missed out on some of the value of the courses because of it.
It would be nice if FlatPress supported a “Read More” feature like some of the other blogging engines, because this is about to be a long post.

EE685: Digital Computer Structure/Heath
Expected: This is rumored to be the most time consuming class offered by the ECE department at UK, and 1/3 of the grade is derived from a single project. I’ve only had one class with the instructor, and didn’t have a terribly positive experience with him. The biggest day-to-day issue is he has a number of mannerisms that drive me slowly insane (”favorite” example: “In this case” is NOT a flavoring particle). There are few enough English-speaking instructors in this field it would be really wonderful if the native English speakers actually did so. I also find some of his grading policies grating, I once had a concrete example where more points were awarded for syntactically correct, algorithmically incorrect solutions than algorithmically correct syntactically flawed solutions on an exam. This is what highlighting editors are for. The other snag is that the tools we will be using for the big project (Xilinx’s ISE and MentorGraphic’s ModelSim) are both big, hateful pieces of software, which are incredibly ponderous to use, and will do all manner of unpredictable things with your input, sometimes changing behavior after simply restarting the program. I am not looking forward to spending more time with them. Gripes aside, it IS a topic I really, really love, and the opportunity to play with it in depth is highly desirable, and further instruction on the underlying theory should be useful for my research.
Actual: Not a bad experience, but not as enriching as it might have been. The big problems for the course were pacing, both in the course layout, and my own, mentioned above. The distribution of work, with a large number of time consuming homeworks early in the semester, and very little non-project coursework late in the semester was less than ideal; replacing some of the homework with more checkpoints on the project might have helped. The pacing of the material itself was also an issue; I found the lectures ponderous, and we didn’t make it significantly further or deeper into the material than when I took EE480. I will grant that It is an almost impossible course to schedule well; for a project of that scale to be workable, it would basically have to be two semesters, one for the material and one for the project.
I also found that I liked my old 3rd edition of Computer Architecture: A Quantitative Approach a little better than the 4th edition we used. I’m not sure if it’s just that I know where things are in the old one, but the focus and organization seemed better in the old version. It’s also a little inconvenient that they moved most of the appendices (which are about 2/3 of the book by volume) over to a CD instead of printing. There is also an odd skew in the Henessy and Patterson books that I’ve been slowly noticing as I deal more with computer architecture, but since they are pretty much the definitive texts on the topic, it is appropriate to run a course like this out of the upper level one.
I think the most useful skill I picked up is I now have a much better HDL workflow arrangement, using GTKWave and Icarus on top of my usual Linux platform. I think the key factor in switching is learning to write good procedural testbenches, which are better than doing it manually even with the heavier tools. Because Verilog is actually an IEEE standard, porting from my preferred setup to ISE is usually pretty much copy and run, but there are a few features that don’t translate quite right, particularly to the older version of ISE in the labs on campus. The thing I found most disappointing was that I never managed to get the project working. I still think my design was good, but the experience I wanted was seeing a processor design all the way from design to HDL implementation, and that didn’t happen.

* CS655: Programming Languages/ Finkel
Expected: I took CS450 (same basic course) from the same instructor (who is a VERY interesting person and a fairly notable figure in computing) a few years ago. It was quite a bit of work(program in a new language every 2 weeks on top of the theory!), but it was the CS prefixed class I feel I gained the most from as an undergraduate, so I have very high hopes that this will prove invaluable as well. It appears to be structured the same way: language theory supplanted by rudimentary forays into various examples, which should be fascinating, I just hope the theory is a little more in depth and implementation-focused for the graduate version.
Actual: This was a very fun class. Very informative, and very broadening as far as my ability to get my head around different programming paradigms. Dr. Finkel’s lectures, were, as always, excellent, and the spectrum of topics were well chosen. Explanations were conceptually complete, and included historical context, which is often missing in engineering classes. Everyone studying a computer-related field at UK should take at least one class from Dr. Finkel, just for the experience. I would have liked to have seen a little more attention to implementation, but that isn’t really the point of the class so I can’t complain. I’m not sure that it was as enriching for me as CS450, but is strongly suspect that is because I already picked up allot of the important general lessons from CS450. The only other complaint I have is also my own fault; in a case of unfortunate timing, the section on concurrency, which is probably the thing I was most looking forward to in the class, was the week of SC09, so I completely missed it.
The textbook Advanced Programming Language Design(mirrored in full text online here), is really excellent, if a little out of date. It uses interesting examples, either exotic or archetypal, instead of the usual (almost exclusively procedural) familiar standbys and current fads. Being Dr. Finkel’s own book also means it was well-matched to the course. The other book on the topic I am familiar with, which was used for CS450, Programming Languages:Principles and Paradigms, is really inferior by comparison, despite being over a decade newer.
As a final added bonus, there was a paper option for the final project, which I took, and the grading process included editing on writing quality as well as content; something I haven’t had done in far, far too long so I am getting horrendously sloppy. Even though I disagree with some of the style edits (C’s eccentricites are endemic to the language…), having the sentence structure and “its/it’s”-type errors pointed out, instead of just being rewarded for still being able to write something strongly resembling correct English, is really good for keeping me able to write.

All in all, a pretty good semester. Both classes being ostensibly extended versions of things I had previously did detract a little from my experience, and my schedule fuckup didn’t help matters, but neither of those is a condemnation of the classes.

Posted in General, OldBlog, School | 1 Comment

Done! (ish)

I just submitted my last project/paper/assignment for the semester, and it feels great. In talking to instructors and fellow students, it sounds like the principle of least-fuckup has asserted itself again, so my grades should be fine even though several of the things turned in in the last few days aren’t as good as I would have liked. Now I just have to attend class tomorrow, and remember to go to my one final next Friday, and all will be well.

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

Panic Time!

Through a couple of poor time management decisions, and the usual end of semester crunch, my last two weeks of this semester are going to be an adventure. I’m pretty sure I can pull through with something resembling grace (ie. alive and with acceptable grades), although it will be unpleasant, and likely only via a principle I’ve never managed to teach myself to have faith in (despite many, many reliable repetitions); that everyone else is going to fuck up at least as badly as I have. Head down, shoulders back, reduced posting until I get through.

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

SC09 Booth Hacks

sc09booth1.jpg
The aggregate.org booth is cheap. Really cheap. So cheap that most of the major vendors have single pieces of hardware that cost more than our entire booth. But we still looks classier than all but a handful of the booths on the exhibit floor. This is because we were clever. Where other exhibitors have 42”+ LCD screens, we have large swaths of plasticized paper, wrapped around a modular shelving frame, and rear-projected to by a bunch of old XGA projectors. Because all displays have black backgrounds, we have what is visually four, four foot diagonal displays with no edges. For less total cost than a single 50” LCD. The group has been using a rig like this for years.

I’ve already written about the sign tower. It’s now complete, and is the kind of object that other people use as a beacon to navigate the show floor. It is also the mount for our previously mentioned slow update skycam.
printondemand.jpg
A new clever widget of ours is the on-demand handout printing system. We new we wanted on-demand printing, so we brought a printer, a big lighted trackball, and an extra (decade old) laptop. Over the course of the morning, I assembled an intentional-, professional-looking setup. Originally, I was envisioning a simple, full screen, GTK application, but setting up one-click printing in GTK is a pest, so I came up with a much, much better hack (erm…solution): HTML. I made a simple HTML page, with a table of captioned 300px wide thumbnails of the technical handouts, linked to the real PDF files. I then abused the Firefox settings on the laptop, so that the default automatic handler for PDF files is… lpr. One click, and the requested file is automagically printed, in a separate background process, with the queue managed transparently by CUPS. Set Firefox to full-screen display, and, with a little bit of styling, instant classy interactive on-demand printing interface, that isn’t an obvious hack job. Based on opening night, the slow printer is having a little trouble keeping up with demand, but so long as we keep a reasonable buffer, the system is really nice, and the slight delays it produces have repeatedly given visitors a chance to latch on to one of our other projects.

Thus far, definitely a fun conference, with lots of neat things to do. Also a really, really large conference; the woman at the checkin desk at our hotel said the conference took up about 6,000 rooms,and the idea of 11,000 or 12,00 attendees isn’t incongruous.

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

SC09 Live Camera

I have some thoughts from the trip to Portland to write up when I’m not horribly tired, but for now the SC booth setup is well underway, and we have a fisheye camera pointed down at the booth from the top of our 20-ish foot lighted sign tower, running slow live update to the internet (the script should be refreshing every minute) for your viewing pleasure. I’ll try to post up neat stuff from the show, and will probably dump the good pictures from the trip into my flickr stream as I get the chance.

Posted in Announcements, General, OldBlog, School | Tagged , | Leave a 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

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

ML and Music

I’ve been working on figuring out ML for an Advanced Programming Languages assignment. ML is a peculiar language, so it’s been taking some time, and when I’m spending hours staring at blocks of text I tend to get more into music as a complimentary activity. Both are turning up things worth sharing.
ML:
Functional programming has always confused me; as a computer engineer it strikes me as a deeply unnatural thing for the computer to do (what the hell does it look like in memory? — I mostly know and it isn’t pretty), and it isn’t a terribly natural paradigm for humans (although I will grant that is would likely be no more of a contortion for someone not accustomed to programming than any other paradigm). I guess there is a reason the deeply functional stuff tends to be mostly limited to “interesting” languages that are mostly outside the mainstream. I can “feel the power” on a lot of fronts; the ability to completely describe functions as input/output pairs is cool, recursion is natural and easy, and the type system is nifty, but it all still feels a little uncomfortable to me.
Music:
I’ve spent the last couple weeks on a Hyper Crush kick . Pandora brought me Hyper Crush off an A Kiss Could be Deadly derived station a while ago, and it took me a while to make up my mind about them. They make INCREDIBLY catchy, ostentatiously course, and somehow still incredibly geeky techno-influenced hiphop, which is either absolutely brilliant or unforgivably obnoxious. Aside from endless energy and spectacular synthesizer work, their songs are laced with a vast and remorseless collection of samples from and references to bits of pop-culture ephemera from the 1960s onward. Just to name a few, one track begins with a sample from The Shangri-Las “Leader of the Pack”, and another borrows its background from “Crazy Frog”. Both mixtape releases (Both available legitimately free online, but buried behind some flash obstructions) are shot through with samples from West Side Story, The Wizard, Back to the Future, and a wide swath of 80s and 90s video games. It is the pure sound of geeks letting their hair down, and it feels damn good.

To compliment the loud, I started listening to The xx yesterday, which I actually learned about from the music section in the back of last week’s The Week, which is usually too pretentious to pay attention to. Their debut album xx is unbelievably complex and nuanced for a first effort from a group of 20somethings. The lyrics are often male/female harmonies (I like the female vocalist’s voice much better, but thats par for the course with me), which are not necessarily the same words or timing for both voices but remain in harmony none the less. The lyrics are also quite subtle, one could reasonably make it through the entire album without realizing it’s mostly about sex. The coolest thing to me is how much they play with negative space; the crisp gaps are as much a part of the music as the instrumentation itself. There really isn’t any standout track, good or bad, on the album, so just go listen to any random track.

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