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.
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...
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.
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.
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.
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.
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
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.
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.
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.