Journal - July
Week 6: July 2-8
Amazing Fourth of July Weekend! The weather was perfect for Independence Day Weekend. I went to Puffer's Pond with a few people on Saturday. This time I remembered to take my inflatable tube, so I spent quite a while just relaxing on the water and, later, read for a while on the shore. I decided to make a somewhat impulsive trip to Boston on Sunday and meet up with a friend from school for Harborfest. We walked along the Freedom trail, saw some people dressed up in historic costumes, and generally wandered around (later in the day we had to hide from the rain for a little while). I've heard really good things about Boston's fireworks, but I didn't want to battle the crowds, so I didn't spend the night. Monday was the Fourth, so we went to Puffer's Pond again (it was really crowded!), and then watched the Amherst fireworks from just outside of the football stadium. They started out pretty slow; they were just shooting off one at a time and waiting until the last one had finished before the next one went up. But the finale was much more lively and lasted for quite a while. We rounded out the night with some homemade apple pie (made by a fellow REU student - yum!).
I spent the week catching up from last week, preparing for a visit from a group of high schoolers, and thinking about grad school. On Wednesday, I went to lunch with Lori, and we discussed what graduate schools I should apply to. That's a topic I hadn't yet breeched with anyone, so it was a really productive lunch.
A group of rising high school juniors participating in a program that is aimed to encourage them to attend college (and geared toward students interested in medical carreers) visited the CS department on Thursday. Since my project this summer is directly related to the medical domain, I agreed to give a short talk about my project and help lead a CS-related activity. We started off the day by visiting the robotics lab, which is in a different building from the rest of the CS labs. One of the Thursday presentations was on robotics, but I hadn't actually seen the lab yet, so I was realy excited to see it myself. One of the other REU students lead this activity on Finite State Automata, and one of the graduate students in the lab gave a short presentation on his work, which involves developing robots that can help with rehabilitation for stroke victims and other people recoving from injuries. Then we headed back to the CS building, where I lead an activity. We talked about what an algorithm is, and then we did sorting to demonstrate how algorithms are used. Each student stood at the back of the room with a playing card (all from the same suit so that there were no repeat numbers and all mixed up). They came up with an algorithm for sorting themselves on their own (which was essentially an insertion sort), and then they mixed up and sorted again using a bubble sort algorithm. Finally, each of the four REU students helping out gave short presentations on the projects we've been working on this summer. During the weekly REU lunch, around half of the REU students gave presentations on their projects this summer, and then Dr. Jensen gave the last of his lectures on research methods.
I met with Lori on Friday to show her my progress with the visualization. I've been working on a few different ideas for how to represent parallel steps, starting a step, and communication between agents in the process, and our meeting generated some interesting new directions. For example, if we represent two parallel steps next to each other on the screen, what happens when one of those steps has a lot of substeps? Also, when is a start button necessary? I had been of the mind that they were only necessary for leaf steps that took more than a few seconds (for example, actually giving blood can take up to four hours and might need a start button, but a start button would be unnecessary for a step like confirming the identity of a patient); however, we may want to hide substeps until a start button has been pressed. That would allow us to better track where the agents are in the process, and it would allow the agent (nurse) to get a better quick overview of the process without needing to see all of the detail of the substeps. We also discussed the idea of a Cornell-note style "workspace" that would allow agents to make notes "next to" specific steps in the process or send text messages (that is, according to the medical professionals who work with us, the most common way of communicating) directly from this view. Another aspect of the process view we've been working on is how to represent exceptional cases. We have to decide how the agent should indicate that something unusual has taken place (exceptional cases in our processes, for example, include not having patient consent yet, patients losing consciousness during a procedure, etc.). We also need to consider how this affects the process and how we should display it. Certain exceptions, like getting patient consent, may only block a certain part of the process; agents might be able to continue with parallel steps in the process like getting the patient's height and weight before taking care of the lack of consent. Other exceptions, however, are more serious. If a patient loses consciousness or has some other urgent condition, it needs to be clear that the exception handling steps are the only ones that the agents should be working on.
{back to top}Week 7: July 9-15
This weekend was much more relaxed than the last two. I needed time to catch up after travelling two weekends in a row. The group I've been spending my freetime with went to New York City this weekend. Though I'd been planning to go along when they went, it was a little too soon after my last trip to justify going back. I drove them to the bus stop on Friday night and studied GRE vocabulary for the rest of the evening. Saturday morning, I went exploring on my bike. I found the Rail Trail and rode for about an hour and a half. The trail is really flat, pretty, shaded ... basically perfect (save for some super bumpy spots in the pavement). I slept in pretty late on Sunday, did some laundry, studied some more, and went on another bike ride (in the opposite direction on the Rail Trail). I decided that I need to take a camera along next time I ride, so I cleaned up and headed to the store to look for one of those bags that attaches to your bike. Sadly, I was too late, and Dick's was already closed for the night. I skyped with some of my friends from home to keep myself awake until around 1am when I had agreed to pick the group up from the bus stop.
On Monday, Beth, an instructor from the nursing school at UMass, came to our Medical Safety meeting. She talked to us about some of the differences in the language that we use and that medical professionals use. For example, they don't think of special cases as exceptional behavior, and exception handler isn't something they talk about. There's also an ongoing discussion in the lab about defining words like "verify" and "confirm," because they can be misinterpreted by medical professionals. Another interesting point that was made, is that adding extra checks isn't the way to go. One of the static analysis tools that the LASER lab uses determines if there is a single point of failure in processes. Clearly a single point of failure is a weak point in a process; if one person makes a simple mistake, it could have terrible consequences. Adding checks to the process may remove the single point of failure, but it doesn't solve the problem. It can, in fact, make the problem worse, because it diffuses responsibility. For example, if instead of just having one nurse identify the patient, take blood, and label it, another nurse must confirm that the blood was taken from the correct patient and labelled correctly, the nurses are often too busy to actually watch this whole process so they just sign to certify that it was done correctly. This creates extra work for everyone, doesn't solve the problem, and diffuses responsibility. This is just one example of how complex human-intensive systems are. Beth gave some great feedback on my mockups. Some things were simple, like changing the format of names from [first last] to [last, first] or the fact that hospitals use military time. Others were more substantial, like how important it is that they can see an outline of the process before they start, potentially having a list of all of the supplies they will need (so they can gather these before starting), a more clear view (maybe even separate from the process view) of what has already been done in the process, and not showing the unnecessary parent steps (in the Little-Jil language, sometimes parent steps are included because they help with control flow, but they're not always "real" steps). So I worked on those suggestions this week, and I've been asked to have the blood transfusion process completely mocked up for the next meeting (so far I've mostly mocked up demonstrative examples of how certain aspects of the processes could be visualized and I've only done a very basic version of the blood transfusion process that can actually be navigated). We'll be meeting again on the 25th.
I gave a presentation on my project at the REU lunch this Thursday. I think it went really well. The lunch was followed by a short lecture on how ethics play a role in computer science research, beyond plagiarism and falsification of data, which are clearly unethical. Sometimes it's hard to see exactly how far-reaching the technology and software we are developing can be, or what it could be applied to beyond what you intend for it to be used for. The lecturer mentioned, for example, that he had been working on appllying robotics to automate farm vehicles, and now there is research being done that builds on his work and deals with mounting guns on vehicles for military purposes. He says he's not sure how he feels about his work being used in that way. Since the other UMass REU students are funded by NSF, this ethics lecture was required for them, but I think it was really useful and presented in an interesting way. They also gave us details on a field trip for next Thursday. We're visiting the Google and Microsoft offices and the MIT museum in Cambridge.
{back to top}Week 8: July 16-22
I did some (fairly) local exploration this weekend. No one was stirring all of Saturday morning, and I was antsy to get out, so I packed my beach bag and threw on a swimsuit and started to head to Puffer's Pond for some sun. On my way to the car, however, I changed my mind and decided that I needed to check out the Bridge of Flowers instead. The Bridge of Flowers is in Shelburne Falls, MA, and it's exactly what it sounds like - a bridge with flowers planted on it the whole way across. It's really pretty, and according to the pamphlet I picked up, it's the only one of its kind in the world. It was a bit more of a drive from UMass than Puffer's would have been (around 30 minutes), but the drive was nice, and the bridge (and the cute town next to it) was totally worth it. On Sunday I was at least able to rally up one of my roommates enough to get going before noon. We drove out to the Quabbin Reservoir, which provides all of the water for Boston. I was told that three whole towns were evacuated and flooded to create this reservoir. How cool (and also eerie) would it be to scuba dive around a flooded town?!? Quabbin would be the perfect place to ride a bike! There are nicely paved trails all around it (I think I read that the shoreline is around 100 miles long), and there's an amazing view of the water! On our way to Quabbin, we passed through Belchertown. It just so happened to be their car show weekend, so we stopped and checked out all of the old cars on our way back. Neither of us are really into cars, but they're still fun to look at every once in a while, right? And the people who fix them up and bring them to these shows are pretty interesting to watch. We left for Quabbin sort of on a whim, and we hadn't been outside yet, so we did not account for the incredibly hot temperatures ... this made a perfect excuse to stop at Cumbie's for 79 cent any size freeze zone Icees! By the time we got back, some of the other REU students were finally up and moving. We all headed to the Hanger for wings and the Women's World Cup final, which was a super exciting game.
Lori and the other professors in the lab were out of town on vacation this week, so it was a somewhat more relaxed week in the lab (i.e. less meetings). On Monday, two grad students in the lab (Heather and Stefan) and someone from engineering (Jenna) met with me to go over the mockups. Jenna had some really interesting suggestions, like only displaying the current steps in the process at the top of the page and showing the context (i.e. the rest of the process) below that. She also mentioned that there is a list of requirements for medical systems somewhere out there (that our group wasn't currently aware of - it's pretty new). She said that our process guidance probably satisfies many of these requirements, and that explaining how it meets each of these would add even more value to it.
The rest of the week was spent working on a more functioning mockup of the blood transfusion process. So far, I've been mocking up key parts of the GUI that demonstrate the overall look, basic functionality, specific changes that I propose, and how specifics like parallel steps and exceptions might be displayed. Next Monday, Beth (the nurse who works with the lab), will be joining us at our Monday Medical Safety meeting, and this will help her get a better sense of the GUI.
Mockingbird (the online tool I'm using to create the mockups) and I had some pretty major tiffs this week. Creating a fully functional mockup takes a lot of really tedious work. For example, each screen change requires a new "page" to be created in Mockingbird. This generally involves "copying" the previous page and then making subtle changes. If you later realize that you want to change colors or that some alignment was off at the beginning, you have to make the changes on every page separately instead of in just one place (theme colors would really help!). Also, since it's an online tool, it takes forever to load, and sometimes having my iTunes radio, Eclipse, online email, and Mockingbird open at the same time gets to be too much ... I had to force quite Firefox a few times (I guess I could have turned the music off, but no). Anyway, as far as I know it's the best thing out there for this kind of thing (and I'm sure it's great for mockups of websites, which seems to be more of its real intention), but I sure wish I could give them a few suggestions: theme colors - how hard can that be?; the ability to import your own images; the ability to change the outline color or thickness of the boxes and buttons - or at least get rid of the outlines; and maybe making some intuitive things automatic.
This Thursday was the REU Field Trip. We went to Cambridge and visited Google and Microsoft (the NERD Lab - New England Research Development Lab - what a clever name), and then we explored the MIT Museum for a little while. I am definitely applying to graduate school, but I'm not totally sure what I want to do afterwards. I've always pictured myself teaching at a university like Washington and Lee, but after visiting Microsoft, I could also see working for them being another possibility (Google seemed a little hectic for me, but I've heard that it's also a great place to work). It was super windy in Boston, but that did not help the temperature. I probably should have lathered up with sunscreen (we walked between each of the places we visited). Luckily I didn't actually get burnt, but my neck and arms definitely got some color. I've been reading Water for Elephants, and I finished that up on the bus ride home. Now I need to see the movie.
{back to top}Week 9: July 23-29
I was not a very interesting person this weekend. On Saturday, I cleaned my room and did laundry (this was very necessary). I also looked at bike pumps at Dick's. My tires need a little pick-me-up, and the bike pump that I brought with me is the wrong type (who knew there were two styles of bike air holes?). Since I only have a couple of weeks (and only one weekend, which will probably involve lots of final report writing and some packing), I decided that it could wait until I'm home. If I do decide to ride, there's a Nissan dealership not too far down the Rail Trail that has a free air and water station for bikers. Sunday was spent in my room in my bed in my PJs working on the mockups for Monday's meeting. At around 7pm I got to a good stopping point and drove to Panera for dinner. Why have I not been going there more often? It's so good!
Monday's meeting/presentation went way better than I could have hoped for. Having a mockup that walked all the way through the blood transfusion process was actually more enlightening than I would have thought. It gave good motivating examples for when our process should be able to interact with other systems, like Medical Records. There is a step in the process to "Review Patient's Medical history," and we'd like to have a link right there in the process to the patient's medical record. Another part of the process requires that nurses "document vital signs," and ideally, they will be able to input this information directly in our process. According to Beth, it's vital that we make this work, because it will be a huge incentive for doctors and nurses to actually use it (since it will make their job easier/quicker).
I've started working on my final report, and I will give a poster presentation next Thursday and a powerpoint presentation to the lab sometime next week. My plan for the final report and presentaions is to explain the decisions I made this summer and the motivation behind them, discuss the other options I explored and why we decided against them, outline the feedback for further changes that need to be made, and make a note of what apects of the GUI we haven't reached a decision about or explored yet and what's been said about them/what my intuitions about them are. Basically, I want to make it really easy for someone else to pick the project up later.
This week's REU talk was particularly interesting for me. It involved graphics and computational geography, and it linked computer science, physics (optics - not my fave part of physics, but still), and math I learned in partial differential equations. Basically, they're trying to create a better graphic design tool. Images that are stored as pixels don't scale well, and vector drawings aren't drawn intuitively (to make a vector drawing, you have to think about the underlying shapes making up your drawing instead of sketching lines like most artists do ... you also have to get all kinds of details like layering right). So there's this other approach that lets a designer draw a line that "emanates" "colored" heat. That is, the line is assigned a color, and the color fades as you get farther from the line. Laplace's equation is used to determine what the color of each pixel should be (so all that's stored is the line and the color value). The problem with this is that it's pretty limited. No color ever gets through lines. Since heat equations assume that a lines of heat are kept at a constant temperature, the heat distribution (i.e. other lines of heat) on each side of one line are independent. So the research group here realized that they could apply some optics concepts from physics with transparency and bending of light to get more interesting images. It also lets them use textures. The pictures we saw that were created using this technique were really impressive, and they weren't even drawn by a "real" artist! Ok, so I geeked out over that for the rest of the day, but there was also a really great panel of grad students who talked to us after that about everything from applying to grad school and choosing a mentor to being a TA to having a relationship in grad school. It was really great to hear their perspectives.
I met with Lori again toward the end of the week to go over the outline of my final report. Next week will definitely be busy with wrapping up all of these loose ends.
{back to top}Week 10: July 30-August 5
I spent my final weekend in Massachusetts ... in Maine. And New Hampshire. Well, just Saturday. A good friend from school was staying with a W&L alum in Boston. We decided to take a day trip to Maine and New Hampshire. I spent the night with her on Friday, and we headed out pretty early on Saturday morning. We drove to Portland, Maine. Our first attempt at a stop was L.L. Bean (a friend told me it was worth visiting), but there was no L.L. Bean where my GPS said there was. I tried to look it up on my iPhone, but it wasn't worth the hassle. Next stop was Len Libby, a chocolate store that is home to the world's only life-size chocolate moose! My friend bought a mini chocolate moose as a thank you gift to her host in Boston. Sadly, it melted before we could get it back (oops!), but I'm sure the chocolate was still delicious. Then we went to the Portland Head Lighthouse. I've been to most of the North Carolina lighthouses, but I'd never been to a northern lighthouse. This definitely made the trip worthwhile. The lighthouse was very cute, and there was an amazing view of the ocean (and another smaller lighthouse on a small rock island further up the coast). We ate Maine lobster rolls from a stand for lunch. They were so delicious! It was by far the best lobster I've ever had (disclaimer: I haven't had that much lobster). On the way up we passed through a couple of really sweet small towns (York and Old York amongst others), so we routed the GPS to take us to some outlets that were on the way back to Boston and figured we could stop in those towns on the way back. Sadly, the GPS felt we'd had enough of the small-town charm for one day (and, admitedly, the traffic through those towns was pretty bad so we weren't heartbroken that we didn't go back through there). We spent a good part of the afternoon shopping. Then we hit the road again with the GPS programmed to take us back to where my friend was staying, but with the intention of stopping at some kind of beach. One of the local REU students had recommended Hampton Beach, so we followed signs and stopped there. It was ... not my favorite beach (I mentioned to Lori later in the week that I'd visited Hampton Beach, and she was appalled that someone would actually recommend it), but it was still nice to see a bit of New Hampshire and walk on the beach. We finally made it back to the Boston area around 8pm. Despite our delicious lobster lunch, we were very hungry, so we stopped for a late dinner at a pretty generic restaurant. I dropped her off, drove back to Amherst, and slept REALLY well. Sunday was much more calm. I worked on my final report, packed some of my nonessentials, and went for a short run. Oh, and I made apple pie for our lab cookout.
On Monday, we had a very brief medical safety meeting (the medical professionals who really make the medical safety meetings different from the LASER meetings were out of town). We were scheduled to have a lab cookout at Lori's house that evening, but the weather was not looking good so it was postponed until Tuesday. We did end up getting quite a storm that included some pretty big hail (my poor car made it through with only a couple of minor dings on the roof). Tuesday, I went to lunch with Lori, Lee (another professor in the LASER lab and Lori's husband), Shi (the other undergraduate researcher in the LASER lab this summer), and Erin (another DREU student who is working with Dr. Kevin Fu this summer). And on Tuesday night I had another great meal at the cookout. Burgers are one of my faves, and there was fresh fruit and plenty of other munchies to go along with them. And a ton of dessert. I could have definitely gotten away with only bringing one apple pie. There is another group of researchers and REU students based in the Harvard Forest, and they joined us for the cookout. The idea of doing computer science in the middle of the woods is pretty appealing!
I've been working pretty incessantly this week on my poster and final report. Well, I've been working a lot. I also spent a lot of time staring at my computer with one internet window open and no other programs running. Mockingbird, the tool I've been using to create mockups, has an export feature that allows you to download your mockups as PDFs. For parts of the paper, I can get by with screenshots of a small part of the visualization, but the whole page doesn't fit on the screen and I want to include the full walkthrough of a process in my final report, and screenshots just weren't cutting it for that. I pieced three different screenshots together for my poster, but that's not reasonable for the paper. So the export feature takes up a lot of power (hence, not being able to do anything else at the same time) and kept getting hung at around 40 percent and crashing my browser (a google search revealed that this is not an uncommon problem and that it might have something to do with having a poor connection to Mockingbird's servers). The professional programmer in the lab was finally able to download the whole thing using his wired connection on Wednesday afternoon. There was definitely a huge sigh of relief. And maybe a happy little jig. I'm not sure what the alternative would have been. I could have linked to the mockups, but as soon as someone else starts working on the project, they are likely to change (and maybe eventually be deleted) so that definitely wasn't my first choice.
I finished my poster on Wednesday evening and got it printed first thing on Thursday. We set up our posters, took an REU group photo in front of the building, and had our last REU lunch (Indian food - yum!). The poster session lasted from 1:30pm to 3:30pm. It was relatively well-attended (considering it's summer and everyone's pretty busy). Quite a few professors came, and a few REU students from other disciplines were there. Right after that, I hurried upstairs for the weekly LASER meeting, and gave a presentation of my work from this summer. That lasted until around 5pm. I had dinner with a bunch of CS REU students at Bub's BBQ. I was a little skeptical about northern BBQ, but it was actually really good. Bonus: there was a mini-putt-putt course outside that we played on until our food was ready. Afterwards, I got my bike rack and bike securely on my car and then fell asleep almost immediately. It was a long day.
On my last day, I mostly worked on my final report (although I know I'll be finishing it up from home). I also went to lunch with one of the grad students in the lab at a place caled Judy's. They are known for their popovers, so we were sure to get one of those.
I've really enjoyed myself this summer! I feel much more prepared to start applying to graduate schools. I learned a lot about software engineering and a little bit about other areas of computer science. And I had chances to visit interesting new places and do fun new things!
{back to top}