So my first week at the ArticuLab was a little nervewracking (mostly because everyone is so brilliant and wonderful, and I am perpetually in admiration/fear (mostly fear) of brilliant and wonderful people).
Me hiding in fear
But nervewrackingness aside, it was a pretty fun time. Lauren, the lab manager, set up a workstation and laptop for me, and the rest of my team helped with everything from downloading things to explaining code.
Once I introduced myself to incremental processing (via research papers via Timo) and the SARA code, I was able to collect some log files, make some non-code-involved conclusions about their time performance, and start thinking about creating a data structure to parse said files and gather statistics (in order to make better and bigger conclusions).
Things I Learned
- how to find my computer's IP address
- CMU's buildings are like mazes (but well-labeled mazes)
- the study-abroad program from L'Auberge Espagnole is a real thing
- Android Studio is good for something other than draining my laptop battery at an average rate of 1 percent/min
- kale does not exist in France
- how to close applications on an Android phone
- each key to the ArticuLab is named after a different Pokémon
- leap seconds are a thing and Android Studio does not implement them
To get started with my internship, I read some papers on incremental processing (provided slash written by Timo), downloaded some software, and cloned some GitHub repositories.
By the second day, I was able to have small (slightly hardcoded) conversations with Sara (to differentiate between the overall system and the animated lady on the phone, I'll use SARA and Sara, respectively) via phone--I say slightly hardcoded because instead of using an actual dialogue manager, I ran the code through a file that spat out the same outputs each time. At any rate, I was able to use the resulting log messages to trace through the code and better understand how the system works.
I continued chatting with Sara and collecting data for most of the week, noticing which processes seemed to take more time (200 milliseconds) than others (0 or 1 milliseconds). I was also able to collect phone logs through Logcat on Android Studio (and eventually NLU/DM logs).
Since my eventual objective is to create a data structure that can analyze all this information for me, I started thinking about different ways to parse the logs and obtain the important lines. I also spoke with Timo about the logistics of the data structure; since I'm already familiar with Java, he suggested I use that to code. We finished off the week by (after our team meeting) drawing out a proposed data structure (to be implemented in the very near future).
Shoutouts: Florian very kindly spent oodles of time helping me set up my programming environment and diagramming SARA on the whiteboard so I could understand the system better. And Timo (just as kindly) spent more oodles writing up my internship plan, explaining lots of things to me, and diagramming even more things on the whiteboard.
Lauren, the lab manager, held an orientation session for the eight new interns (me included) starting work this week. We got keys to the lab, went over the rules, learned how to log hours/save files, and were introduced to the kitchenette (and its free food!).
This week, we (a) did introductions, since there were so many new people; (b) each had thirty seconds to report on our progress this week; and (c) talked about evaluating research papers. Also, Justine brought doughnuts.
Each of us reported (in more than thirty seconds) on our progress this week and plans for next week (which Florian then summarized on the whiteboard in more eloquent form).
These are more or less lifted from Bitbucket, where I keep a README of these things.
Got lost in the computer science building; attended Lauren's orientation; met Timo, Florian, and Yoichi and discussed my project; read some papers.
Read more papers; discussed my project with Timo; set up programming environment and talked about SARA with Florian; talked to Sara via phone.
Set up Android Studio; read through SARA project code; talked to Sara and collected logs of the conversations.
Analyzed yesterday's log data; met with Timo to set up laptop in order to allow it to collect more/better log data; discussed a data structure to collect and organize said data (apologies for the overuse of "data").
Wrote code to parse log files; attended Friday's lab meeting and team meeting; further discussed data structure with Timo.
Walking to School
It takes about thirty minutes for me to walk from my apartment to the ArticuLab. My first thought about this was, Hey, that's about how long it takes me to get back from piano! (as in, walking back to my apartment after piano lessons during the school year), which felt okay to me. I don't love walking back from piano (actually, I kind of hate it), but it's doable.
But then I realized something: it takes me a little over thirty minutes to walk back from piano, and as I go to school in Baltimore, this means (at least for this area of Baltimore) it's a little more like speedwalking (slash running for my life). And so far, walking to the ArticuLab has been more of a leisurely stroll.
Traveling in Pittsburgh vs. Baltimore
Conclusion: my summer commute is actually a lot shorter*, which means it's even better than an okay walk. (It's actually quite nice.) So life is pretty good.
* Sure enough, Google Maps tells me that the trek to piano is almost a mile longer than the one to the ArticuLab.
- after two days of unsuccessful attempts, I finally figured out how to turn on the stove in my apartment
- over the weekend, I hunted down some music practice rooms on campus (which is good because sometimes I play the piano)
- read some Lemony Snicket, Long Day's Journey into Night, and a book that incidentally takes place in Pittsburgh about two blocks away from where I live