27 September 2008

Quest for Graduation: Wages of War

Sorry for abandoning you last week; Clinic suddenly crunched on me. For those of you who haven't run across it yet, Clinic is a really neat program available to most Mudd students. In 1963, Professor Jack Alford of the Engineering Department founded the Engineering Clinic program, grown from the idea that engineers should have the same sort of "clinical" experience that medical students get.


The basic idea is that real-world companies with real-world problems submit a problem that they would like a team of students to work on. If their problem is accepted, a team of 3-5 students in the relevant major gets put together and spends a year working on the project. Clinic is worth 3 units (one normal class) per semester and most students in the majors that offer clinic take 2 semesters -- engineers, masochistic people that they are, take 3.


My Clinic sponsor is Fair Isaac Corporation, of FICO Credit Score fame. They realized that they often have people working in different offices on very similar projects who don't know about one another. This leads to duplication of work, lost efficiency, etc., etc.


The solution? I'm glad you asked. They want us to build them a system that reads their employee's e-mail, determines who is interested in what, and then tells you who else would be interested in receiving any new e-mail you write. It sounds really big-brotherish and scary, but it's contained on the company network and everyhting done on company computers is the property of the company (it's part of the hiring paperwork) so the moral issues are avoided.


It's actually quite a neat project and I have a great team. We were the first team to present our proposed design to the other clinic teams, and while it's great to have that out of the way, it meant we had to prepare the presentation last weekend. That meant we didn't have that time to prepare our Statement of Work, the rough draft of which is due to our faculty advisor on Friday. I was up until 04:40 last night.


Now that I've given you all my excuse I have a request to make of you. Humor my vanity. I know you're out there; the mudderblogs all have Google Analytics tracking our traffic, but I've gotten only one or two comments from prospective students since I started.


I read an interesting article last year; someone did a research project at a university to study the effect of surveilance on people. Students could opt-in to the program and they would then wear tracking devices that would constantly relay their position to a system on the school's computer network. the information was available to everyone at the school. The people who opted into the program could check up on who was checking up on their locations (I'm watching you watch me! You'd better watch yourself!), and astonishingly they started showing signs of depression if noone was looking at the information.


You might think this is shocking at first, but after thinking about it, it sort of makes sense. After all -- that scenario is an actor's worst nightmare; it's the reason most people get stagefright. It's horribly crushing to put yourself on a stage and have nobody interested.


Don't take this to mean I'm upset or depressed by writing this blog -- I'm actually having a great deal of fun doing so -- it's just that I'm writing to help prospective students decide if they want to come to Mudd and I don't feel like I'm having any effect if noone mentions anything. Even if you don't have any questions, drop me a line; say hello. You don't need to sign in to leave a comment, so go ahead and let us know you're there.  We're all excited to hear from you and I just wanted to reiterate that you are, in fact, allowed (and encouraged) to be commenting; asking questions, arguing, and generally being social.

As a parting word, the 10 points I offered for citing the inspiration for the recent post titles is still up for grabs.  You, yes you, should post a comment suggesting where they are coming from.  These 10 points are quite valuable and useful to cash in for instant cred in any geek-trivia competition.

I'll try to get you another update this weekend.

~KMarsh

20 September 2008

Quest For Graduation: Trial by Fire

Once again, I find myself in the digital electronics lab at 2am (or, as I prefer, 0200) -- edit: by the time I finished writing this it was 0340. I'll swear I told myself I'd never do this again, but here I am making the same mistakes I made this time last year. My girlfriend (an engineer) is taking E85: Digital Design and Computer Architecture (required for engineers, not CS, but I took it last year for fun) and I offered to help her when she needed things explained. One of my primary functions should be helping her avoid all the little pitfalls in the terrible-does-not-deserve-to-exist-and-should-die-in-a-fire software that class uses called Xilinx ISE. How this software came to be industry standard I do not know, but it is and it is buggier than any game Sierra ever made back in the 90's. And that's hard to do (mind you, I do love my vintage Sierra games).

Despite my supposed wisdom from having experienced all this before I ran us into a 2 hour detour when I forgot that xilinx (look! I'm not even dignifying you with the capital letter deserved by proper nouns, you awful program!) is sensitive to which file you have selected when you tell it to run the simulator. Thus I ended up having her simulate the schematic file rather than the testbench file. The result: the simulator happily simulated the circuit with no input. It didn't have any test program to run through the circuit to check it, so it just said "Okay, your inputs are floating, so I can't really say what the outputs should be, but I've got it sitting here simulated." This led us on a merry 2 hour chase reorganizing how we did the input wiring in the schematic before I noticed that the wrong file was selected in the other window because xilinx is made of FAIL.

On top of the whole xilinx sucking thing, realize that there's a much better way to do this: HDLs. HDL is an acronym for Hardware Description Language. There are two popular (read: industry standard) HDLs: VHDL and Verilog. VHDL is an acronym for VHSIC HDL and VHSIC is an acronym for Very High Speed Intigrated Circuits program. It was developed by the Department of Defense. Hence the 2-level deep acronym. VHDL is more common in academia, and Verilog is more common in industry. Professor Harris, one time digital engineer for Intel, decided we should use Verilog. I digress. The point is, the cute little gui that gives everyone so many headaches in xilinx is really just a wrapper around verilog. When you click the buttons to make it simulate it writes (rather nasty) Verilog behind the scenes. If you wrote the Verilog yourself to begin with, as we do in later labs, you'd avoid all the headaches of xilinx and it'd be much faster to boot.

\end{rant}

By now I've probably scared you all off and bored the rest to tears. I had a nice paragraph here about what I think is cool about Verilog (it looks like a programming language, but each "function" is actually a hardware module so you can't treat it exactly like programming) but then blogger went and ate it, so I'll leave it with that bit inside the parenthesis. If anyone's particularly interested feel free to leave a comment for me and I'll describe it in more detail. To finish off I'll leave you with an interesting proposal: Professor Dodds teaches a class called "Programming Practicum" in which students must solve problems similar to those found on the ACM programming challenges. He gives bonus points for being the first to solve a problem in a particular obscure language. This has led people to solve some of his problems in languages like x86 assembly, Prolog, PostScript, and Tex, of all things. I think someone should solve one in Verilog, that is, someone should implement the solution in hardware and run a simulation to get the answer.

As a parting word, I'll give 10 points to the first person to correctly identify the inspiration to the recent post's titles.


~KMarsh

17 September 2008

Quest for Graduation: So You Want To Be A Mudder

Здравствуйте!

We're back and school has begun. Actually, it began 3 weeks ago. The semester started off rushed for me, but it's settled down for now and I finally have time to blog again. As you may have noticed, I'm learning Russian. It's far too much work to be worth it (6 hours of class/week + 2 hours of homework/night = totally not worth it), but it's my favorite class so far. Be that as it is, however, I'm enjoying all my classes considerably more than usual -- there are often one or two that I just need to take, but this year all my classes are of my own choosing (except clinic, sort of) and I'm enjoying them all.

I'm enjoying living in Case, too. The rooms are huge, although mine is still filled with boxes that I haven't unpacked yet or are waiting to return to storage, and this time around I actually know the people I'm living with and they all range from "I don't know you very well yet" to "damn cool". We've got my Wii in the corner of the L and Litz got a PS3 over the summer so we're going to buy Rock Band 2 when they come out with the new peripherals for it. I also managed to acquire an armchair and 3-seat couch from my grandparents when they bought new furnature. It is some of the most excruciatingly comfortable furnature I've ever experienced, so I'm happy.

Computer Vision is such a cool class. I'm not really sure how much Professor Dodds actually knows about robotics and computer vision because he's always telling us stories about things he tried that didn't work, but I get the feeling that he knows his stuff. It doesn't actually matter, though, because he is extremely good at teaching it and at inspiring excitement and enthusiasm in his students, and that's really the whole point. Our first project was to write a program in C++ or Matlab that locates a can of spam in an image. We took a bunch of pictures of each other holding spam in class on the first day and used those to test our programs. We met with mixed success, but had a fun time seeing what we could do with the code libraries available.

In non-academic news I am now co-president of the Barnstormers (as mentioned before, apparently...). The Barnstormers are HMC's club for all things aeronautical, and Claire and I were given leadership of the club when Matt McKnett graduated. We've already done some cool stuff, like skipping class to hang out with Stan Love -- an HMC alumnus who happens to be an astronaut, but we have even more cool stuff coming up.

First is the annual aero alumni fly-in. At the end of September each year many of the school's alumni who have airplanes will fly in to Brackett Field, take current students up on joyrides with them in everything from carbon-fiber homebuilts to a Citation 2 jet. After the flying we all retire to the Aviation Room at Hoch-Shannahan dining hall (paid for by the aero alumni, hence the "Aviation Room") to have dinner and catch up.

Second is an event we've been planning since last year (also mentioned before). When Claire and I took over the Barnstormers, Matt and Iris proposed that we try to take any interested students on a gliding trip. We started looking at possible glider schools and sent an e-mail to the student body asking for interested parties. Within hours I'd received over 50 responses. Now, after sending an e-mail to the new freshman class, I have over 80 people who have expressed interest. The club got $2400 in funding from the school for the trip, and if even half of those people are still interested when the time comes we'll probably have to make them pay more than I wanted. Also, Claire, Iris and I flew out to visit one of the potential glider schools and the guy there mentioned that he could probably fit about 12 students in one day, so we'll have to split this up into multiple days. More on this as it unfolds.

That's about all I can think of right now, but keep an eye out for more regular posting -- I'll probably start updating on Friday or Saturday and I'll see about getting an RSS feed going. As a parting word, kudos to all those who caught the reference in this post's title.

~KMarsh