This is a blog about my experience suring a summer internship with DREU. You can look at their website here: DREU: Distributed Research Experiences for Undergraduates.

It went a little like this,

  1. Week One: May 29th - June 1st

    I mostly fumbled around getting accounts set up, moving in to my dorm. Oh, by the way, you probably want to take their advice and live in the dorms. The campus is not car friendly, the parking is outrageously expensive during the daytime, and the parking misers will give you $40 tickets. :( In fact, if you're not going to have your car, at least have a bike, you're going to have to go to Wal-Mart eventually. They picked you out some dorms that are within walking distance to everything you need.

    By the way, I've programmed studBud1000 here to reprogram himself, be afraid. Be very afraid.
    bow down to your robot overlords

    Ok. I'm kidding, studBud1000 is just a toy, he can't actually write code.
  2. Week Two: June 4th - June 8th

    I spent most of this week discussing motion planning with the grad students. They were all eager to help. I also practiced my Linux-Fu and learned how to use a scripting language called LaTeX for publishing mad documents. GUIs are heavy and bulky, but my Linux Fu is light like a feather.

    It appears that studBud1000 has a runtime error...

    fix it studBud1000!

  3. Week Three: June 11th - June 15th

    Finally finished A LOT of preliminary work and learning stuff, and got to finally write some code. (FINALLY!) I can't keep up with my own curiosity. I must learn to narrow in on the problem at hand and just do it. This can be hard with near constant interruptions, meetings, etc. At first I was completely anti-VIM, a terminal text editor, but now actually VIM is starting to grow on me. If you learn the shortcuts, it seems to be pretty fast as long as I can remember to switch in and out of modes.

    After work I like to go home and surf the internet. I got a voter registration in the mail recently, so I am trying to catch up on politics. If I get a vote, I might as well not waste it. I'm not sure if I am a libertarian, but I think I might be. I've been catching up on the wikileaks controversy lately, and also just data security in general.

  4. Week Four: June 18th - June 22nd

    Spent the first half of the week doing PMPL assignment 4, a code assignment. PMPL stands for Parallel Motion Planning Library. I learned some interesting things about refactoring code. I read a wrote a summary of chapter 5 of The Principles of Robot Motion. I'm pretty confused. Even after some google rampage I still don't really understand diffeomorphisms. Did some testing on the ACD code to check for bugs. There were no bugs that I could see that weren't already known.

    After work I am back to my usual routine of surfing the internet. Recently I've been making a collection of electronica with female vocals. I'm a big fan of the remix. There are a lot of artists that make interesting work, but don't know what they're doing with respect to sound quality. A good example of this is dinky garage bands. A remix can take a song that is interesting and make it awesome.

  5. Week Five: June 25th - June 29th

    Read a paper on genus reduction of polyhedra, worked on PMPL code, I'm enjoying the reading group. Started work on implementing the simplification algorithm. I've started looking at a book on how to deal with legacy code, it's something I'm rather new at. In school we would frequently be given a small code base, and we would have to write the rest of the code to make it work. For example, the beginnings of a database would be written, and I would have to finish it. In this case, the ACD code is large enough and complex enough that I sought extra expertise in learning how to add to it without introducing bugs and the like.

    I found this book: Refactoring: Improving the Design of Existing Code which I thought shed some light on the topic, but it is not exactly like my situation. This book talks about improving existing code, rather than adding to it. I suppose, in actuality there is no book that is going to address exactly how solve my problems, but I found it an interesting read. It gave me something to do after work.

  6. Week Six: July 2nd - July 6th

    Read a paper on genus reduction of polyhedra, worked on PMPL code, I'm enjoying the reading group. Spent most of the week implementing the simplification algorithm. Reading papers is starting to grow on me, I'm starting to like the critique part. At first I was hesitant to try and critique something that I could never write at my current skill level, but now I like to just tear them up, looking for flaws and errors. Looking for flaws and errors, or things that could be expanded on in scientific papers, is a great way to come up with research ideas.

    Surfing the internet again. Lately I've been reading up on evolutionary psychology and feminism. I've noticed these two topics are pretty controversial. So I guess I'll just leave it at that. I have a book lying around on the most common algorithms I've been flipping through, although usually after work I don't have the energy to really study the book.

  7. Week Seven: July 9th - July 13th

    I must say, the barbecue here is top-notch. I don't even like barbecue, but I've been converted, because the barbecue here is that awesome. I found some awesome jasmine tea at the store. My days this week consist mostly of sipping tea, and debugging. I'm getting used to using cout statements to narrow down the source of the error as opposed to using a debugger. I tried using GDB. GDB stands for GNU project debugger. It's not what I'm used to, but it seems to have all the required features of a debugger. I noticed there is some python involved if I want to print out certain things to the command line. Since I don't actually know Python yet, I put it on my to do list to check it out more in depth when I had the time. I am very much missing using a debugger, but I feel like I should focus more on the assignment and less on the tools for now.

    After work I spent some time getting back into 3D animation. I cleaned up some models for another project, kind of just for fun really, which prompted a google rampage on the topic. I realized I had forgotten quite a bit of modelling and what not since changing majors to computer science. Spent a lot of time playing with shaders and rigging stuff. I remember in class using bump maps to create detail instead of using geometry

  8. Week Eight: July 16th - July 20th

    I had never really realized before how much goes into technical writing. In a lot of ways it's simpler because all you have to do is state facts in a way that is efficient and descriptive. At the same time, there are a lot of little conventions that I was not aware of. For example, it is of utmost importance to cite information and give credit where credit is due. I actually think this takes the most time. Writing the research paper itself is easy.

    I really like a vietnamese dish called pho (pronounced "fuh") so I went on a quest to see if there was any pho in the neighborhood. There's a joint called Vietnamese Taste, which was closed, but theres another joint called Rosie's Pho on Texas Ave. I'd say it was okay. It was good, but not like the pho in my neighborhood in Dallas. The thing I really love about pho is that the cooks soak the bones in the broth. It gives the broth a really rich flavor. There's a reason dogs go crazy for bone marrow, it's delicious. I also spent a lot of time after work this week looking up scientific papers to read for the reading group. We give little 5 minute presentations on the paper we read each week, but usually we don't get to choose which paper. Having the ability to choose a paper this time around, I spent some time looking. I'm interested in the mathematical foundations of robotics, so I read a very interesting one on whats called the mountaineering problem. I like the paper, but it's probably too much for me to give a 5 minute speech on.

  9. Week Nine: July 23rd - July 27th

    I'm starting to realize that the more I get done, the more I find there is to do. For example, even though my mentor and I are getting pretty good results as far as reducing the overall computation time needed for our algorithm, a lot could be done for automating the process. First of all, I don't like the amount of guesswork we're doing when trying to find the right input parameters. I think maybe in the future we should write some sort of script that will kind of brute-force it and check all possible input parameters for us so we can just cherry pick the ones we like. This of course begs the question, if we're going to do that, why don't we get some parallel computing going on so that doesn't take forever too?

    After work I really don't do much. I practiced my typing. I can type very fast. I played with Maya (modelling and animating ) again. I have a little model that is just a pair of lips with little legs and arms. I'm making some blend shapes so that it will smile in different ways. There are some subtle things about this model that make me like playing with it. Thank goodness there are some tacquerias around town. I am getting really tired of eating microwavable frozen food. Even though there is a kitchen in the building I didn't bring any pots and pans, so I've been pretty much a microwave chef this entire two months. Along with playing around in Maya, I checked out some programming challenge online. I think when I get time, I'm going to do the programming challenge for Digital Art and Logic, and see what happens.

  10. Week Ten: July 30th - August 3rd

    It's almost over. I am looking forward to taking a break so I can do all my laundry, and go home, and take care of other things, but I'm going to miss it here. Mostly we've been agonizing over the research paper, and practicing giving our poster presentations. I enjoy the work. Creating intellectual property in general is tedious, but I think it's rewarding in the end. There is some small satisfaction in automation, because in the end it is much less tedious than the alternative. When I get home, I have made it my prerogative to write more code, and read more technical papers. Even though I am majoring in computer science, I still feel like I just don't write enough code. I made it my prerogative this week to learn some web development skills. Somehow in the two years I've been studying computer science I never learned javascript and css. It's not required after all, but I think it's something every programmer should at least know the basics. My fiance keeps telling me to check out Ruby on Rails. I don't know if I like it or not just yet. Usually a programming language has to grow on me. I usually prefer dong things "the old way" for a little while.

    Hope you enjoyed reading this weekly blog and consider participating in REU at your University.

    check me out being all cool with my research poster