Category Archives: School

Fall 2010 Semester Retrospective

With trip to Hawaii immediately following the end of the semester, I didn’t get to posting my customary class Impressions/Retrospective post for the end of the Fall2010 semester, but I have remembered to do so now. The chain of such posts starts here, with the Fall2010 impressions post.

EE611
This course was a lot more unpleasant than I expected. I basically enrolled in it out of a distaste for leaving a class until my last semester, and the darling problem with our EE graduate program where the core courses are Semiconductors (EE661), Computer Architecture (EE686), Electromagnetics (EE685), Signals (EE640), and Signals (EE611), and the program isn’t big enough to offer all of them all the time.
I scraped through by hundreds of hours of work trying to make up for my grossly inadequate math background AND learn the new material that relied on the missing stuff, and I only got a C, but I made it, and now I’m done with coursework toward the MS. I’ve never been proud of a C before, but there it is.
I do have a reasonable conceptual model for most of the material … I just can’t actually do most of it without computational aid and a reference, which was a problem for tests. The obnoxious thing is, I genuinely spent at least as much time with my old signals, controls, and linear algebra books that I did on the course material, because what I remembered from the courses (and I THINK what we covered in them) wasn’t nearly adequate to prepare me for this course. I noticed that students from undergraduate programs with more of a “Math and Memorization” focus (read “programs in China”) had a lot better time in there than the rest of us.
Not a class I should have taken, or would take again, but not all together horrible. Certainly not recommended, unless it is your area of specialization.

EE281 TA
I really do like teaching, and especially this course. It is at just the level where students first get to design for themselves, the content is material I’m good at, and the actual labs are the kind of small-scale hardware projects I do for fun. Procedure wise, I made a couple new changes, the most interesting one discussed in EE281 Car: Mixed Success, but I also built up a semester-to-semester tracking course binder with rubrics and instructional notes (which still needs to be cleaned up once more and copied to pass off to the new TA…), and did a little more of lecturing/instruction than last time. All told, quite successful, with NO (still amazed at this part) students who were lost or not trying at the end.
The degree of “I put effort in and something good happened as a direct result” in teaching college courses is ridiculously rewarding, and the amplification of effort from working with a class just makes it better.
I’d love to do it again, but I don’t really have time to both satisfactorily finish my masters’ project and teach this semester, and in general I need to work on being careful about not letting teaching suck up too much of my time in the future.

Now, onward, to research!

Posted in General, OldBlog, School | 1 Comment

Last class at UK

I realized that yesterday I probably sat in my last normal lecture at UK, AND signed off my last lab as TA. It is kind of an odd feeling. My last class as long as I make it through my EE611 final anyway…

Posted in General, OldBlog, School | Leave a comment

SC10 Review

A quick review of my observations from SC10.

The two takeaway messages from the show floor this year:
1. “We’ve all bought these damn GPUs, now how do we make them work?”
2. “Everyone should want the shiny flash storage devices, even though their capacity, price, and especially lifespan are still kind of dubious.”

As for my experience, I had some excellent discussions with people from The Portland Group, AMD, ARM, and various universities, and the always interesting opportunity to meet many of the advisor’s former gradstudents. We also had the yearly Burton Smith update, which provided excellent food for thought, as you might expect from anyone who is in the “Microsoft Fellow, paid to do whatever they feel like as long as Microsoft gets dibs on the results” phase of life.

The aggregate.org/University of Kentucky booth was pretty successful, with the usual handmade look, with the lighted sign tower/print on demand system as last year, a new hexagonal structure with three large rear projection screens, and the MOG Maze. We were kind of worried about being next to nVidia on the show floor, but it turned out to be a good thing, in that it attracted lots of the right kind of people to be interested in our research, and allowed us to hear the 5 minutes of technical content from each of their 30-minute talks.

I should also mention that we learned that Under NO CIRCUMSTANCES should anyone, ever ship with YRC, who managed to not only damage our packed booth, starting with damage to the pallet before it even left Lexington, but delivered it on a different, crappier pallet than it left on.

We were also given a hacked router set up for MIT’s RoofNet mesh system, which we ran in our booth during the show as part of an experiment Kurt Keville was running to test Roofnet under congested conditions (10,000 geeks VS Wifi Network is a special opportunity), which is pretty cool and I hope to get to play with later.

One of the most impressive displays on the floor was Hardcore Computer’s incredibly well polished liquid immersion cooling systems. A base price of $5k for a desktop system like that is not even unreasonable.

And now for the fun stuff, mostly to shout out vendors who gave me good crap:
Best Party: The Exhibitor Reception, which, among other things, had excellent duck etouffee and a great hosting venue.
Runner up party: The FusionIO afterparty, which, while not very well attended, was directly across the street from the conference center, and had free food, free booze, and pushed the limits of good taste…
fusioniofun_sm.jpg
(FusionIO Employee. “Mounting” a hard drive motif mechanical bull. In a skirt. Saints cheerleaders in the background.) They also had a reasonably neat shirt (top right below).
And from the swag:
sc10swag_sm.jpg
Best Bag: The Conference bag. It isn’t terribly well made, but it is a neat layout.
Best Shirt: Silicon Mechanics wins again. I wear their shirt from last year all the time, its just a great design.
Best Pin: Teradactyl’s little pewter-finish pterodactyl pins. They also get points because the advisor won a pterodactyl-shaped RC plane in a drawing.
Best Toy: Penguin Computing’s standard stuffed Tux, which has now joined the rookery on the back of my printer.
Best Pun: The TeraGrid PetaFlops flip-flop sandals.
Best Office Supply: Sandia National Lab’s little tape-flag/postit selection folders.

LinuxJournal and LinuxMagizine both gave out sample issues, and I may end up subscribing to one or the other, I haven’t had a paper user-centered computing magazine since I lost interest in Macs and dropped my MacAddict subscription in 2002 or so.

A couple vendors were giving out copies of their tools on CD, the most interesting to me was copies of the Open64 toolchain from AMD, which I’ve heard about but never had the opportunity to play with.

Overall, it wasn’t quite as awe-inspiring for me as last year, but I suspect that has as much to do with having seen it before as any difference in the show. There was certainly a lot of good personal networking going on both indivdually and for the research group, and there really is nothing else quite like Supercomputing, the mixture of research and industry creates an incredible intense experience, which is, as far as I know, completely unique.

Posted in Computers, Entertainment, General, OldBlog, School | 1 Comment

EE281 Car: Mixed Success.

281car.jpg
This week we did the lab the parts in my New Teaching Robots post were for, and it was very much a “mixed success” sort of situation. I put a test chassis and circuit together about a week and a half ago, and modified the sample solution from the crappy old cars to work with the new ones, and that was reasonably successful, although it did exhibit a little bit of sluggishness and jitter, which, in retrospect, I should have taken as a warning sign.

Last week we had a build party to put the chassis together, so that interested students in the class, as well as other people interested in robotics, could come play with the parts (and perform the repetitious part of assembling a small fleet of identical machines). That event was quite successful, resulted in a collection of 6 mostly complete chassis, and a lot of enthusiasm. I even had one student build a circuit to ensure that would be reasonable, and that went well.
281car_bottom.jpg

For the lab, we told students upfront that it was an experimental new lab they were participating in the design of, rather than something routine they were simply expected to perform. This was a good call, as it immensely with investment in the activity, and to reduce frustration when things didn’t work as planned for reasons outside of their control.
There turned out to be three basic problems with my design for the lab:
– In our enthusiasm for the new cars, both the faculty instructor for the course and I forgot that the protoboard power supplies usually used in this lab don’t tolerate the >1.5A spikes from driving substantial inductive loads well. This was a major compounding factor, and the most likely cause for the sluggishness I observed in the test case. This was fixed for the last section (there are nice 4-channel 5A variable output supplies in the lab), which helped alleviate some of the flaky behavior.
– I seriously overestimated the fabrication skills of most of the students. They haven’t developed what I consider “natural” design practices as far as physical layout or EMC, so constructing physically and electronically robust circuits on the small section of breadboard attached to the backs of the chassis was out of reach for many of them. I was very hands on with each group once the problem became clear, and had the latter two sections build some parts of the circuit off-board with suggestions, but it was still an issue.

281car_cable.jpg
6+ feet of Cat5 cable (twisted pairs) carrying ~5V signals switching at various speeds in the 0-100kHz range are one hell of an electromagnetic echo chamber, and I didn’t adequately account for that in the design. I’m still not sure how much of the strange behavior this can be blamed for, but there were sufficient effects to require substantially different passive components depending on which end of the cable which section of the circuit was built.

The latter two problems could have been alleviated, and the first one discovered much earlier, if we had stuck with the original plan to have PCBs milled and pre-assembled for all the discrete components, with fixed cables for attaching the FPGA boards the state machines were designed on. Hopefully at some point in the not-too-distant future there will be a chance to get that done for next semester.

Despite the problems, all the students were engaged, and a lot of them stayed and played with their design even after we told them they had done enough to be counted as completing the lab. In terms of educational outcome, we lost the excitement of making something which can move around reliably on its own (except for several groups who set up simple wired feedback from the sensor to the FET while they finished their sate machines…), but in explaining the various ways in which things went wrong, gained brief, simple, practical exposure to concerns in drive systems, emc, fabrication, and at least half a dozen other topics they will be taking courses in over the next two years. Most importantly it exposed students to some of the process of engineering whole systems, which is something one rarely gets until working on one’s own projects. I do wish it had gone as smoothly as the adder lab I replaced with a comparison of different adder designs (in Verilog) last semester, to introduce size/speed performance metrics, procedural test-benches, and the RTL/Tech schematics generated by ISE, while still teaching the basic lesson in binary arithmetic, but things did go surprisingly well for the level of unforeseen technical difficulties.

I feel almost as bad about spewing the above stream of awful loaded-meaning education jargon as the shortcomings of my plan, but there is no language I’m aware of for discussing the education process that hasn’t been co-opted by idiots.

Posted in DIY, Objects, OldBlog, School | Leave a comment

New Teaching Robots

281botparts_sm.jpg
Some days, I really love my job. That is the mechanical parts for 8 little teaching robot chassis I quickly designed, which will be used for, among other things, a late-in-the-semester EE281 lab where students develop their own line-following state machine and PWM motor control. Nice little Tamiya modular platforms with infrared reflectivity sensors to replace of the horrible, flaky, ten year old toy trucks with de-soldering braid brush sensors that are currently used. I will be recruiting folks (preferably undergrads with an interest in robotics) to assemble sometime next week after the rest of the parts get in.

Posted in DIY, Objects, OldBlog, School | 1 Comment

SC’09 Video

I did a taped group-promotion and demonstration of the MOG Maze at Supercomputing last year, but we were never able to actually find the video posted online. I was doing an unrelated identity-management search while working on Ph.D. applications, and … here it is at techinsight.tv, with somewhat illogical search terms. Embedded below.

*obligatory listening-to-recording-of-own-voice cringe*

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

Class Impressions: Fall ’10

Another semester has begun, and it is thus time for my class impressions post. The chain to previous semesters’ before/after posts begins here. I have only the one class left toward my masters’ degree, plus working on the project, and teaching.

EE611: Deterministic Systems/ Zhang
This class is looking a lot like a warmed over version of the first 2/3 of controls, which I took several semesters ago as EE572 Digital Controls from Dr. Walcott. It took me about half the semester to get the hang of things in there, so another opportunity to solidify my understanding of systems manipulation isn’t a bad thing. The early indications are that the lectures are …discombobulating… rather than useful, but between the book, notes, and materials from last time I think I can handle it anyway. It doesn’t look to be unreasonably difficult, and the elastic grading policy puts a safety margin in place in case it turns out to be. Somewhat disappointingly, this class glosses over the modeling process too; I’d love to actually learn how to formally develop models of existing systems so the analysis/control techniques are actually useful, rather than just elaborate exercises in linear math.

EE281:Digital Logic Lab /Me (+Jeff Ashley)
Based on feedback from students and faculty, I seem to have the system down pretty well for running this lab, and actually do feel like I have a pretty good handle on it. With a few changes to the class to address problems that cropped up last time (no, you can NOT start that lab from 5 weeks ago that you never made up…), I think things should run pretty smoothly. Dr. Ashley has indicated he’ll be a little more hands off this semester, and I think I’m up to the greater autonomy. I’d like to make a few changes on the same scale as last time, and now that I have some of the nontechnical matters situated more to my liking (ex: my nice formal (work saving) grading scheme), the changes can be more material-oriented. Perhaps getting HD44780 character displays (nice, simple parallel protocol with good visual feedback) into one of the later labs, or some similar practical tools with good theoretical underpinnings. I have every expectation that I will be spending an absolutely obscene amount of time in the lab again, but I actually feel good about the whole thing. I really rather like teaching.

My research is starting to make decent progress, I’m optimistic about teaching, and the remaining class looks perfectly tolerable; it should be a good semester.

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

Summer Projects

I haven’t been posting much lately, most of my time has been sucked up by a variety of summer projects, both personal and school related, and most of them haven’t been terribly externally interesting or photogenic.

Several of the projects derive from the research group inheriting a heap of hardware from the departure of the last member of UK’s Cluster Fluid Dynamics group, which we are currently in the process of sorting out. One part of the heap is 30 little Dell SX260s (cute li’l SFF Pentium 4 boxes from 2003 or so), and some associated server and network hardware. I’ve spent a couple afternoons building and configuring a portable (ish) cluster from the pile, and the result is PIK (Pentium/Intel Cluster in Kentucky, following our current naming scheme):
pikfront_sm.jpg
And check out my OCD wiring job:
pikback_sm.jpg
Unfortunately, six of the small nodes and one of the servers seem to be dead, all apparently due to bad capacitors… which is sadly entirely unsurprising on for hardware from around 2003. There is still a discussion if it would be worthwhile to replace the caps, it is apparently not too difficult on these motherboards.

On another front, I still haven’t managed to get my 500-some photos from Vienna sorted out; I think only a few of those will end up getting posted as they relate to other things — the urge to just shoot with a little digital and a large memory card creates a really unmanageable number of photos.

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

Off to Vienna!

Off to Vienna tomorrow (solo) to present on my research (solo) at CPC’10!
Two Aspects:
1. YAYYYYYY, trip to Europe (that I’m not the one paying for), to talk about my work with a healthy assortment of the rather small community who can follow and are interested in doing so.
2. AHHHHHH, The paper and presentation both have known issues related to there not reliably being a second set of eyes on the writing, this is the first time I’ve presented a paper at a conference, and this is the first time I’ve dealt with the incessant bullshit of air travel without at least one other person who knows what they’re doing.

Still, quite excited, and, an unmitigated YAY for the bonus weekend in Vienna, it’s been too long since I’ve touristed somewhere, and Vienna looks excellent.

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

DIY Molex Y-Cable

diymolex_sm.jpg
I think this thing might hold the record for the most times I used the phrase “Don’t do this” in a single fabrication.
It’s a 20-pin ATX Y-cable (for running two motherboards off a single power supply), built from two dead power supplies and a dead motherboard. The cables are available commercially, and if it works out will be ordered in bulk, but the research group needed a quick test cable, and all the necessary components were just sitting there in the dead parts pile…
The plan for these is to double up old Athlon (Thunderbred and Barton) machines on single power supplies, to reduce the number of power supplies (and total power budget. Related facts: 1. Switch mode power supplies are way more efficient when heavily loaded. 2. Power supplies and fans are by far the most fragile parts on disc-less machines) on a 128 node cluster built from scraps from KASY0 and some machines we recently inherited from the Computational Fluid Dynamics group in Mechanical Engineering. This cluster will be for testing network topologies (particularly Fractional Flat Neighborhood Networks), so the important thing is that it have lots of independent nodes, and not much else.

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