Showing posts with label classes. Show all posts
Showing posts with label classes. Show all posts

04 April 2009

April crunchtimes brings May graduations?

One of my professors just called April the worst month of the year. I had never thought of it that way, but in a way it is, and has been since I was maybe 10 or so. The second half of spring semester always comes upon us suddenly: it's staggering (and more than slightly terrifying, truth be told) to think that I only have 6 weeks of school left: 4 weeks of classes, projects week (finals week, too, for seniors), and an empty week (finals week for the rest of the school).

The downside of this, of course, is the 4 weeks I have to get EVERYTHING done. That includes my Computer Vision independent study, Clinic, Clinic presentation, Clinic poster, Clinic report, Photography, Philosophy of Mind, and tools.

Tools is my current favorite. I'm making my hammer now, and I just finished all the work that I need to do on the metal lathe. A quick search of my archives tells me that I haven't actually talked about tools yet, which is strange since I really enjoy it and I'm taking it for pure enjoyment. Tools, or E-8, is one of the first engineering classes that prospective engineering students take at Mudd. It's the introductory shop course, called "Tools" because that's what you build. You use the sheet-metal shop to craft a tool tray, bending, cutting and welding sheet metal into shape. You use the metal shop to build a flat head screwdriver, and most of a machinist's hammer (something like this, with one face made of nylon and the other of hardened steel). You use the wood shop to build the hammer handle.

I have not yet made my tool tray, but I've finished my screwdriver and much of my hammer. The screwdriver handle is made from acrylic using the lathe and the mill, and the blade is made on the mill. The hammer is the most complex piece. The hammer head (a short piece of 1in steel bar stock) is machined on the lathe and mill to fit the handle and both faces. The handle is made with the band-saw and wood lathe followed by a LOT of sanding. The hard face is machined from carbon steel on the lathe, followed by some filing, and then heat treated to bring it up to full hardness. It's polished by sand-blasting and fits into the head by press-fitting. The soft face is made from nylon (the nicest material I've worked with on the lathe) and attaches to the head with a screw. I'll post pictures of my pieces when I get off my butt and take some pictures (possibly tomorrow).

The shop proctors tried to chastise me when I told them (on, say, Wednesday night) that I hadn't started my hammer yet (due Friday of the following week). I corrected them. I am not a sophomore engineering student with no time. I'm a senior computer science student taking this class for fun. I can be in the shop every morning for 3 hours if I feel like it, and if I don't feel like it, I can drop the class (HMC's drop date is insanely late in the semester) or turn in half a hammer. It's a good way to approach the class.

In other news, I photoshopped up my senior page for the yearbook yesterday. Each senior gets a full page in the yearbook to decorate as desired, so I sifted through my (meagre) photo collection and placed the pictures on a canvas in Photoshop.
The pictures include me eating a Chinese-Donut-Burger, my barnstormers co-president, my girlfriend, my roommate (first three years; we have singles now), a prank some friends and I pulled, a prank some friends pulled on me, a few Halloween costumes (I'm the Rorschach near the top), me getting my head shaved for a friend who had cancer sophomore year (he's doing fine and back at school), the boxers a friend decided to hang on her wall after finding them in her laundry, the Mudd Amateur Rocketry Club at ROCStock a few years ago, Iris Critchell with her Cessna 172, and Rotsnake. And lots of gratuitous Photoshop effects.

I discovered Photoshop brush packs. Thus I have a coffee stain, ink stain, and crinkled-paper effects. The torn edges, actually, are incredibly simple to do in newer versions of Photoshop: turn on layer-effects and add a drop shadow, inner glow and outer glow to the layer. That gives the very slight drop-shadow to create some depth in the image and a thin white border to each picture. Take the eraser tool and grab a ragged brush, then erase the corners/edges of the photo. The white border now looks like torn paper where you've erased the image. I used this to create pinholes, torn corners where pushpins may have been ripped out, and half-ripped photographs. Putting the whole thing on a wooden surface gave it a bit more context, and I couldn't resist the coffee stain. The tape strikes me as a bit cheesy, but not too much and I had just learned how to make the tape.

As for post-graduation plans, I'm not sure yet where I'll be working; I have an offer from DreamHost, and I'm waiting on a few more. I'll probably take the summer off, though, and start in the fall. Over the summer I think I might take some classes at The Crucible in Oakland and visit old friends.

~KMarsh

29 January 2009

And so I emerge victorious from the black depths!

Welcome back. Sorry it's taken me this long to update, but I am indeed back at Mudd and the semester has gotten underway. Today's title refers to my first time in a darkroom since senior year of high school. I'm taking intermediate B&W photography this semester and the darkroom here is somewhat different than what we had in high school. It's also in the sub-basement of the physics building. Next to rooms with really big lasers.

In other news, I decided not to continue with Russian this semester, so in addition to photography I'm taking Philosophy of Mind on CMC, Clinic, Tools, and independent study with Professor Dodds. It's a light semester with only 12 units (I can't get on the Dean's List for this semester because of this, for instance), but I think I'll be very happy with my decisions.

In addition to all the academic classes I'm taking I also am taking 2 ballroom dance classes on Pomona. Pomona has a dance department whose students study modern dance, ballet, and other expressive dance forms. Mudders can take those classes for Humanities credits (that department is where I did my humanities concentration in Movement Studies, actually), but the ballroom dance classes are perhaps more accurately called "lessons" and are taken for PE credit (0 credits at Mudd, but you're required to take at least 3 pe classes before you graduate. I think I'm up to 10 now, 2 of which I helped teach...). The head of the Claremont Colleges Ballroom Dance Company, Paul Roach, is a recent Pomona College alumnus and teaches the ballroom classes. He's a very funny guy and has a unique style of teaching dance to large groups that I find to be very similar to the style employed by my martial arts instructor before I left for college. This semester I'm taking Silver (intermediate level) International Standard Dance and Silver Social Dance.

Standard is Paul's personal favorite dancing, and it is much more commonly danced in competition than socially (except, perhaps, for weddings you rarely see it in social situations) so that class is very exacting. That class drives us very hard for technique. The 5 Standard dances are Waltz, Tango, Foxtrot, Quickstep and Viennese Waltz. This semester we are starting with Waltz and then moving on to Tango. Last year Liz and I took the Bronze (beginning) International Standard Dance class in which we spent most of our time on Quickstep, but also learned some Waltz and ended with Viennese Waltz. I've never danced Standard Tango and I'm really looking forward to that.

The social dance class is one of the most fun things I've ever done in my life. Bronze Social was alright, but the goal there was mostly to teach an enormous group of people the basic steps to a number of common dances (Cha-cha, Salsa, Triple-Step Swing, Polka and Lindy) and to try to get people out of their shells and make them more comfortable in social situations (while Mudd is the most technical school of the 5-C's, the others are no slouches and the difference between college students and high school students is, in some cases, only spelling, so social interaction can be a foreign concept to many people.

Silver Social, on the other hand, is an amazing class. Paul deliberately told us not to form lines like most of the dance classes and the result is a very organic and fairly chaotic group of fairly good dancers who are learning how to be themselves while dancing and look good while having fun on the dance floor. It is more fun than I can do justice to and I suspect will be a very, very good source of stress relief later on in the semester.

Dancing is fun, and I'm really glad I started taking these classes while I was at college.

~KMarsh

21 December 2008

Would M'lady Care to Dance?

The Scottish Rite Temple in Oakland, California plays host to the quarterly Gaskell Ball. Gaskell's is a social ball set in the Victorian era.  The signature dance is the Viennese waltz (danced in the old social style, rather than modern ballroom style) but other dances make more than token appearances, such as polka (deadly, high-velocity, skipping), heel-toe galop (aim and charge at other couples in utter chaos), polka mazurka-waltz (slow Viennese waltz with a kick every half turn to warn off hapless dancers and small children), schottiche (German interpretation of what the French thought the Scotts were doing...or something), and some insane set dances with names like "The Jolly Dog Polka" and "Sir Roger de Coverly" (the latter is often followed on the setlist by the "de Coverly Recovery Waltz").  They have a live band, Brassworks, who, incidentally, played at SteampunkCon earlier this year.

The regulars are generally the same people who work at renaissance faires and things like The Great Dickens Christmas Fair.  This means two things: first, the people are a little bit strange.  Second, the costumes are AMAZING.  Many of the people make
 their own costumes and they are phenomenal.  My girlfriend made my vest and tailcoat as well as her dress.  She's actually the only active member of the sewing club at Mudd aside from Professor Sparks, who makes positively stunning quilts.  They hope to get more members soon, so if you've an interest in sewing (or learning to sew) you should be pleased to hear that you'll have an outlet at Mudd for your creative urges.  And time.  Sort of.  This dress took Liz 2 years from start to finish, but most of the work was done last semester in preparation for Gaskell's (the ruffles, unseen in this picture took 8 hours of labor each...there are 5 of them.  I can't possibly imagine spending an entire work week doing nothing but ruffles).
Oh, and I mentioned the bizarre dance that is the Schottiche earlier.  It's danced to 4 counts as follows: step-step-step-HOP, step-step-step-HOP, step-HOP-step-HOP, step-HOP-step-HOP!  You can do any number of variants, like the Goose-step Schottiche for a military aspect, the Vecchi Schottiche for a sketchy old man aspect, or the ever-popular Penguin Schottiche for a hilarious and somewhat cute aspect.  This dance is usually danced in the shuttle position (partners side-by-side, hands held across the front of their bodies) rather than a traditional ballroom position: your partner's knee comes sharply up with each HOP....  Penguin Schottiche, however, is usually danced in something akin to a conga line.  Oh, and Schottiche is pronounced "shoddish" (like the pokemon).

In addition to dancing, I also took pictures.  I'm taking Intermediate Black and White Photography next semester (in addition to 2 dance classes, clinic, a philosophy class, and independent study...) and my grandparents gave me their old Canon A1 to use.  It's about 30 years old and hasn't been used in nearly that long so I took it with me to the ball to see how it worked.  That film is in the shop tonight getting developed (the first three pictures here were taken on my digital camera), so stand by for an update when I get it back and digitized.  Until then, happy holidays!

~KMarsh

11 December 2008

Apprentice Products Pitches Guitar Trainer to VC's

Apprentice Products. The name 4 HMC students gave the mock company they created for Professor Evans' "Enterprise and the Entreprenuer" class. Their flagship product: Guitar Trainer. A week and a half ago four of us sat across a table from three venture capitalists, all of whom have been successful enough in the startup world to fund startups themselves. Chris Seib, Marco Thompson, and Eric Johnson took the time out of their busy schedules to drive/fly to Mudd (yes, Eric flew himself and Marco in in from San Diego in his Piper Saratoga II, tail no. N392HP. No, I didn't fly back with them) and listen to a bunch of students organized into made-up companies ask them for $2-5 Million in funding.

The whole class was fascinating -- Professor Evans has helped many student-born companies get off the ground (some succeed, others...he calls them "smoking black holes") and he told us the stories of several of them, including why they failed or some of they things they did correctly that contributed to their successes.  He lectured on the different facets involved in building a startup company and the importance of paying attention to them all.  The pitch to the VC's was the final project and really the thing the class had been building to the entire time.  The VC's listened to our pitches and gave really great feedback -- they do this sort of thing for a living, so they're rather adept at it.  After class we went out to dinner at a fancy restaurant with Chris (an HMC alumnus, actually) and had a wonderful meal while chatting with him.  All in all, a really cool experience unlike anything I think I would have gotten anywhere else.

~KMarsh

14 October 2008

Quest for Graduation: Shadows of the Real World

They say there is no life after Graduation. If so, I've seen some pretty lively corpses in the last couple of years. But now it's my turn and I have to find a place to work when I am no longer with you. Normally this wouldn't be very hard -- everyone needs computer scientists, right? -- but I have to find something near whatever my girlfriend finds so we don't have to commute too far. Again, we're both in technical fields so this shouldn't be too hard. My girlfriend, however, is looking very closely at the Air Force Flight Test Center at Edwards AFB. For those of you who don't know, Edwards AFB is in the Middle of Nowhere:
This is great when you want to test supersonic aircraft or munitions, either of which may leave enormous craters in the ground (depending on whether they work or not, respectively). It is somewhat sub-optimal when it comes to having anything else within a reasonable commute of the place.

Hopefully they will have a place for a poor computer scientist among all the engineers. Besides...how cool would it be to learn to fly from a fighter pilot?

In other news, I am really enjoying my Computer Vision class. Professor Dodds is a fun guy and he really makes learning these things fun. Two weeks ago we implemented an algorithm called "seam carving". This algorithm will remove connected seams of pixels from images to resize them to different aspect ratios without cropping or distortion. The idea is that you first find the edges of a picture (or some other measure of "energy"), then find the string across the picture with the least "edgyness" or "energy" and remove it. This maintains any interesting areas of the picture, where "interesting" is defined by your energy function; in this example, edges are "interesting".
This picture is of a Pentium Pro I opened up (fairly destructively) to get a look at what was inside. The die on the left is the L-2 cache and the die on the right is the processor itself (Pentium Pro was based off the Pentium II's microarchitecture, which is what the Core2 chips are based on, as well). The image in the upper right is the energy function; white pixels are strong edges, black pixels have no edge strength. The lower left picture is the result of adding up energy across the image to find the lowest energy "seam" and the picture in the lower right shows the carve result (same scale as the original image in the upper left). This method doesn't always work well, but when it does it can produce some spectacular results. There is an extension (that we did not implement) to use seam carving to resize videos as well.

This week we're working on auto-mosaicking to create panoramic images from a set of pictures.

Also: I'm looking forward to Halloween like crazy; it's by far my favorite holiday and there are always such great costumes here at Mudd.

~KMars

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

11 May 2008

Free at Last, Free at Last...

My thanks to Dr. Martin Luther King Jr. for this post's title. As of yesterday I am done with my junior year here at Mudd. All my classes are done, including exams/projects and I'm waiting until I move into my summer apartment on the 19th and start work. Of course...as a Mudder, having nothing to do is that pinnacle of the states of being that we all strive to achieve, but, being Mudders, having achieved it we're rather like my dog who once actually caught a rabbit that he was chasing and then had absolutely no idea what to do with it so it kicked him in the face and ran off again. We need things to do. Thus I have projects lined up to work on:
  • Theremin: My summer roommate (a fellow roboticist and rocket scientist, possibly at the same time) has agreed to build a Theremin with me over the summer. Not because we can play music (although he's actually quite good with a guitar...mostly I can't play music), but because it oozes sciency sexiness. The theremin is a musical instrument played by waving your hands around it -- it consists of two antennae and some circuitry. One antenna controls the volume (closer your hand gets, the softer the volume) and the other controls the pitch (a variable-period oscillator is connected to the antenna and moving your hand changes the capacitance, altering the period of oscillation. This creates beats with a fixed-frequency oscillator and that signal is sent out to an amp). And I have friends who wonder how to make E&M sexy for high-schoolers.
  • Blender 3D Robot Gait Plugin: Blender 3D is an open-source 3D modelling program. It has an extensive api and my friend Jacques over at Robots of Joy has realized the lack of good tools to let garage roboticists design walking gaits for multi-legged robots. Thus the idea was born to write a plugin for Blender 3D that lets the garage warrior build a model of his or her robot, animate it, and send out the commands for the motors when it's ready.
  • Work: Oh yeah...I'll be working at Guidance Software in Pasadena. They do digital forensics. I'm not entirely sure what I'll be doing for them, but it should be neat. It will also be good experience working in the software industry.
And now for something completely different: I now have another reason to build a PC capable of playing modern video games (no, I won't leave you, 8-bit DOS games and buggy Sierra games, they're just prettier...it's really all superficial. You're still my favorites, I promise). It's called Mirror's Edge, and it's amazing:

I have Portal, Half-Life 2 (yes, I've never played it yet), and now Mirror's Edge on my list of compelling reasons to actually spend money on a decent computer. This game looks awesome. There are at least two things that are strikingly unusual about it. First, there's no HUD (on-screen display). Watch again. There's no ammo indicator, health bar, minimap, or any of the other elements you expect to get in between you and the world of the game. Second, your character's limbs are rendered, yet it's a first-person game. This is an attempt to make jumping decent in first-person games (perhaps the biggest complaint about Portal, actually). Finally someone has gone out on a limb and made what looks like a pretty good parkour game -- they did this by focusing on the parkour and not trying to add it as an extra like in Prince of Persia (decent games, but not great).

The game is set in something of a totalitarian dystopia where the government reads all electronic communications, so the only safe way to send illegal information is by using message runners. Your character is one of these message runners and, as seen in the trailer, the feds try to stop you. You can beat them up and even take their guns, but you only have whatever remains in the magazine when you take it and bigger guns will hamper your movements, so it's better to run away in most cases.

Mind you -- I still would rather do this stuff myself. I have a friend (who actually failed out of Mudd in a spectacularly epic way) who was learning some parkour and he showed me a little bit last time he came to visit. There's a decent spot to practice some of the basics on Mudd, but I'd like some other people to work with. Maybe I'll get a group together next year. For those of you who haven't seen it or don't know what parkour is, here's one of the more popular videos:

Actually, this would perhaps be better classified as free running (distinguished from parkour by its emphasis on acrobatics rather than efficiency), but either way it's really cool.

~KMarsh

03 May 2008

Army of (Friendly) Robots

A few weeks ago the CS department used the colloquium period to tell us students what the professors would be working on over the summer. Professor Dodds' presentation included a slide proclaiming that he would be building an Army of (Friendly) Robots. He claimed this is because an Army of Robots should be on everyone's ToDo list, but helikes the thought of friendly robots more than the thought of unfriendly robots.

Last Thursday was the demonstration day for our robotics class. As you may remember, my team was intending to enter the Semantic Robot Vision Challenge, but unfortunately two of our 4 members were also taking VLSI which maybe sorta ate all our time and possibly our souls. We scaled it back so that we were only looking for textbooks, under the assumption that textbooks have very well-defined images, and did not implement the bounding-box stuff. Even so we were in the lab Wednesday night from 17:00 until class the next morning. We seemed to work best in shifts of two or three; you've heard that too many cooks will spoil the soup, and in this case there weren't enough different parts for all of us to work simultaneously on the project.

We each had "expertise" in a different area of the project, too; I knew how to make the wheels take the robot where I wanted it to go and had a good general feel for making Python talk to the different microcontrollers we were using (the ER1 Evolution base, the AcronameBrainStem controlling the servos, and the Arduino board controlling the sonar). Heather was the vision person and she did most of the work making our robot identify the books. Greg was the man who braved the dark waters of computer networking to get our MacBook Pro and Dell PC talking to one another via a short length of ethernet cable and even magicked up the campus network on the MacBook's wireless and shared it with the Dell. I don't understand such black arts, but he managed it. Ellen was the servo wizard. I bloody hated those things. They were built from magic and the desolation of lost souls and were even more finickey than the network to get right and always did something wrong if you looked at them cross-eyed, but she managed to bend them to her will somehow.

Next up we actually had to integrate all these pieces. We had a subversion repository full of code fragments that were each a proof of concept for controlling one element of our setup, but with three microcontrollers, two computers, and code written in both C and Python it was no mean task to get them all working together. In fact, it took all night. I was took the task of writing the main Python driver while Ellen was at a play rehersal and Greg and Heather worked on the vision code. I spend a good deal of time making it modular and following good coding procedures and I think that will really help anyone who decides to follow in our footsteps or really anyone who needs to figure out how to make any of these controllers work.

Once I had that put together, we hooked everything up, turned it on, and watched with bated breath as our robot ran headlong into a cardboard box. Turns out that the sonar sometimes returned a bad value and that would crash my program, so I caught the exception and ignored it -- potentially a dangerous thing to do, but it was a 30second fix and I was in a rush. After some confusion stemming from dead batteries powering the servos (did I mention how much I hate those things yet?) we actually got it running and completed the final tests around 07:00 Thursday morning. By this time Greg was passed out and Ellen had gone to bed leaving Heather and I to run the final tests and add in some amusing code of our own. Here is a video of our demo. Professor Dodds isn't the greatest of steadycam men, but it's probably the most exciting video of our robot so far. And for those of you who are wondering, Yes. The "Where are you hiding" is a tribute to the turrets in Valve's Portal.




~KMarsh

19 April 2008

Registration and Current Coursework

I've settled on a language now: I'm going to take Russian next semester. I wanted to learn a new alphabet/writing system but I'd been told that Chinese and Japanese are huge time sinks and I don't want to deal with that on top of clinic et cetera. I sent an e-mail to Professor Little who teaches the engineering Project Management course to ask him how much it will overlap with the Software Development course I took last semester and depending on the answer I'll take either that or Computer Networks.

Last night the entire school decided to party. I'm not entirely sure why, but among other reasons it seems that everyone realized that we're near the end and the mountain of coursework is, in fact, doable. For some value of doable, at least. I've finished one of the movement analyses I have to do and have started researching my big paper, so that's good, but VLSI needs to be documented, so we have a huge task writing that up now as well. My robotics project has been scaled back to the problem of finding textbooks instead of generic objects because two of our team members are in VLSI and couldn't work on the robot much recently. I'd better get back to researching.

~KMarsh

14 April 2008

Registration is in the Air

The end of the semester is upon us and as the flowers struggle up through the melting frost (yeah right) the time for pre-registration is come. We just got our pre-reg packets which include our yellow card, tons of fliers, other random spammy papers, and the all important course catalog for the 5C's. Here's the idea: Similar to room draw, everyone at Mudd, by class, gets a time slot to register for classes next semester (officially registration isn't until next semester starts, but we pick our classes and everything now during pre-registration). We fill out the provided card with the classes we wish to take (as well as some alternates in case classes fill before we get to register) and have it signed by both our humanities adviser and our technical adviser. When the time comes we stand in a huge and delayed line, skipping classes and playing general havoc with the school to try to get into the classes we need to graduate.

Tentatively, my schedule for next semester looks like this:
  • CS Clinic (cool industry research/work project class)
  • CS Colloquium (get talked at for an hour a week by people doing CS-y things)
  • Computer Vision (taught by Zach Dodds, who is Awesome, about once a decade)
  • Occult and Magical Philosophy (taking it on Pitzer with friends -- fills Humanities reqs.)
  • Some Language Class
    • German -- 4 days a week and I've wanted to take it for a while.
    • Japanese -- possibly quite useful, but 5 days a week and people tell me it's hard/huge time requirement.
    • Chinese -- 5 days a week, but taught on Mudd by a new prof. Fills an on-campus hum req. but new prof is a gamble. I'm not remarkably interested in it.
    • Russian -- 5 days a week. Slavic language may be useful for travel in Eastern Europe.
  • Some Other Class
    • Project Management -- Engineering class, may have overlap with Software Design.
    • Networks -- I don't know much about computer networks and I really should learn.
    • Enterprise and Entrepreneurs -- Econ class on Mudd, fills on-campus hum req. Easy prof.
    • Materials Science & Energy Conversion/Storage -- something cross listed under Chem, Engineering, and Physics. Sounds interesting, but held at 8:00-9:15pm
Pretty cool choices, this semester, all in all. Oh, and for those of you who wondered, VLSI has improved immensely -- we got the microcode done and are just puttering around with optimization now. I still have to start that research paper, but I'm really enjoying myself at the moment.

~KMarsh

03 April 2008

I'm Okay...Really.

Those of you who read Trevin's blog will have heard already about VLSI. For those of you who don't, VLSI is an acronym for Very Large Scale Integration and is the name for the processor designing, laying out, and fabricating integrated circuits -- computer chips. HMC's VLSI class is taught by a man who is a legend in the industry and as such is incredibly hard. I'm a computer science major, not an engineering major, so I decided to take the class because I enjoyed the simple digital design class and wanted to learn down to the electron level how computers work. That thirst has been slaked.

When the class started, it was incredibly interesting to me and even though it was a lot of work (we had a 16 hour problem set once...) I was really enjoying it. Now in the second phase of the class we are working as a 14-student team on a single, big project: we're building a 6502 microprocessor -- the chip that was the heart of machines like the Apple II and the Nintendo Entertainment System. This sounds cool, and it is, but my partner and I were brought onto the microarchitecture team and for the first few weeks were slogging through this code that we didn't write and had no idea of how it was structured. The last few weeks have been spent finally understanding the code and trying to fix it. All the while the other teams are moving forward and if they're not waiting on us now, they certainly will be if we don't get finished soon.

I think you'll understand, then, when I say that I'm just done with that class. I can't drop it (not because I'm not allowed to, but because I've got this far and really would like to finish it, and also because other people are depending on me to do my work and if I leave then suddenly someone else has to step in and take over for me), but I'm sure my grade is suffering terribly because of the slow progress we're making and, worse yet, this class is eating into the time I should be devoting to my other classes -- I have little time to be working on robotics, which is still fun, and I have a research paper for a humanities class that I have yet to start. Hopefully we'll get this microcode finished this week so we can start paying attention to other things.

~KMarsh

20 February 2008

in Which Robots Rule the Post

In this post I was planning to talk about the career fair last Friday at which some fellow students and I pulled a great prank (with permission, of course), but then we decided to do the same thing on a bigger scale later so we're going to keep it hushed until then (read: check back in later for an awesome story). Robbed of its primary focus the post became very contrived and a rather dull discourse on how great the career fair is, ra-ra-ra, go Mudd.

That's boring.

Instead, let's talk about something cool: robots. With lasers. Got your attention yet? It only gets better. I'm taking CS 154, robotics, this semester and I have to say, building robots is just as cool as you hope it'll be. First off, the class is taught by Professor Zach Dodds who is just about the nicest person you could hope to meet. Not a particularly hard teacher and he doesn't give the same intimidating impression of towering knowledge and experience as some of the other professors here, but a really nice guy who really knows his stuff -- many of his stories are about robots he built in his college days that didn't end up working, but don't let that fool you: Dodds is a smart man with boundless energy. Dodds' research interest is in computer vision, which couples tightly with robotics. He's got a working NES in the lab with a Duck Hunt cartridge. The Duck Hunt light gun is strapped to a pair of servo motors that can point it at any spot on the screen and they are connected through software to a camera that watches the screen and controls the gun to play the game. It was built by some of his students several years ago and this year there are two teams using the Wii Remote as part of their projects.

He's also interested in cheap robots. While his robotic idols are Stanley and Boss, the autonomous cars that won the DARPA Grand Challenge and DARPA Urban Challange, he likes working with students on projects that cost very little, and still work well. A classic example is using a webcam and laser pointer as a low cost rangefinder -- true laser rangefinders cost thousands of dollars, but by using an off-the-shelf webcam and a cheap laser pointer it is possible to get very accurate range data. Couple that with some servos and you have quite a good ranging system. I told you I'd work lasers into it.

Just last summer three girls, all rising sophomores, did research with Professor Dodds and entered a competition. Their goal was to build a robot that would autonomously seek out and "capture" 6 colored markers. The capture was done by driving up to a marker and reading off the sequence of colors that made up the marker. They threw together an iRobot Create (the Roomba platform) with a Macbook on top of it and some legos holding up little sonars and a camera. I think the whole thing (except the macbook, which one of the students already owned), cost under $200. Almost all of their competition was teams of graduate students and the next cheapest robot was somewhere in the realm of $6,000. Our team of sophomore girls won the competition. And let the bruised egos of the mighty come crashing down.

I mentioned that I was taking the class, but I have yet to mention my project. My team's project is ambitious...possibly too ambitious. We're entering the Semantic Robot Vision Challenge. The goal is to build a robot that can receive a text file containing a list of objects and search for images online of those objects. Once it has a bunch of images it has to autonomously rove around a testing environment which contains many of the objects from the list, taking video or pictures of its surroundings. After touring the environment it has half an hour to sort through its video and select one frame that has each object in it, declare what the object is, and place a bounding box around it. So far we have a laptop on wheels. On the agenda this week is integrating the motors and vision together. For that we need to get the computer talking to the camera and some servo motors, then write software that will make the camera center on a region of a particular color using both the servos mounting the camera and the wheels turning the robot. Since we haven't gotten our short-range IR sensors or sonars working yet we can't really make it autonomous, but we're going to work on making it capture images and process them against a small database.

I'll keep you posted as this gets further along.

~KMarsh

08 February 2008

in Which Our Hero Awakens

Welcome, all! I'm Kyle Marsh, now a junior at Harvey Mudd College. This blog is linked to the HMC Admissions office and was conceived as a means to let prospective students, their parents, and a variety of other people not directly involved with the college gain a perspective into the life of her students. That said, this blog is completely my own work which means I get to choose the topics, the wording, the style, and all other aspects of the blog without censorship from the college administration.

I will discuss my life as it relates to my college experience, various people I know through the college, different activities I've done and anything else I feel is relevant. To start off, here's a little bit about me:

I'm a martial artist and love physical activities such as climbing, parkour, and dance. In fact, I decided to concentrate my humanities work in "movement studies". You'll also find that I have terrible punctuation when it comes to quotation marks; this is an artifact of being a computer science major, as I believe quotation marks should enclose exact phrases without containing any residual syntax.

I enjoy a wide range of activities and take the opportunities I get at Mudd to try new things when they present themselves; since I've been here I've built and launched a rocket, sailed a yacht race, flown a small plane, gone "hashing" (it's a running game, since you ask), worn a santa-hat for nearly two months straight, strung hammocks from the rafters of the dining hall, re-shingled a roof and then put solar panels on it, and enjoyed some of the most rockin' guitar hero jams with my roommate of two and a half years.

I have a girlfriend whom I met on the Pre-Orientation backpacking trip when I first came to Mudd and who is studying abroad in Ireland this semester. I currently live in Atwood dorm, the largest dorm on campus and far, far superior to Trang's Sontag dorm. I work two campus jobs currently: tutoring for the Programming Languages class and Staff (system administration) for the computer science department. I have a group of friends who go tree climbing at midnight on Fridays or Saturdays and a nasty habit of climbing the side of my dorm instead of taking the stairs.

Once again, welcome aboard and I hope you enjoy it. If you have any questions or comments, leave them on the comment panels here or send me an e-mail or instant message. My e-mail is firstname_lastname@hmc.edu and my AIM screenname is Shienath.

~KMarsh