Last weekend I went camping with a group of CS and friends. We did not go far: only a few miles northwest to . It was close enough that I . The wind whipping across the open cornfields made it a difficult ride, but I turned into the campground just as the other members of the group arrived in their cars.
We quickly set up camp. I assembled my small one-person tent while the others fought with two mansions that Lyndsy and Dave got as wedding gifts.
We relaxed for the rest of the afternoon with several rounds of and a campfire as it got dark.
The frigid night made me glad I packed my cold weather sleeping bag. The next morning we breakfasted on eggs from Zach's family's chickens. We originally planned to spend part of the day at , but gathering rain clouds prompted us to break camp early. Fortunately, the rain held off and the wind was at my back for my ride back to Champaign.
Despite cutting the trip short, we all had a great time.
You can find more pictures in and Facebook albums.
I have been using as part of some recent research. Spoon allows one to analyze and transform Java source code using a very elegant abstract syntax tree library and several parsing and compiling tools. Spoon assumes that one writes "processors" that act on all occurrences of a particular program element prior to compilation and execution. I required a different approach for my project. Rather than transforming code prior to compilation, I needed to load classes, modify their source code, recompile the changes, and execute the modified code at runtime. I found that there is very little online documentation describing this usage, so I posted my solution .
I have often said that Champaign and Urbana seem bigger than their populations would imply. There are two interesting and walkable town centers (three if you count campustown); a reasonably dense street plan; and a good amount of culture through the university. Champaign is even getting a skyline thanks to several . I recently took pictures of the most visible projects.
The imposing 18-story building is just two blocks from my apartment. Every morning I see the construction crane from my bedroom window. The building, scheduled to open in August, will house retail shops and a grocery store. It will be nice to be able to walk down the street for groceries. Right now, the outer walls are nearing completion.
One can see Burnham 310 and the Tower at Third for miles, but the 24-story highrise at will eventually become the tallest building in Champaign. It sits on the former location of a Burger King, hence its nickname "The Whopper". It does not look like much right now, but it will eventually have a fitness center, pool, and 17 floors of apartments over parking and businesses.
There are three comparatively short infill projects nearby, one at 507 East Green Street, Presby Hall on John Street, and the Saint John's Catholic Newman Center on the western edge of campus.
The university is also for reasons that no one seems to be able to explain.
Finally, will provide nine floors of retail, office space, and high-end condos in the center of downtown Champaign. I heard a story that the university bought one of the condos to house rich alumni for fundraisers and sporting events.
It has been interesting to watch these construction project progress over the winter. A fellow Champaign resident named Dan O'Brien has .
occurred in southeastern Illinois this morning. I slept through , but felt just as I was leaving my apartment. It felt like a gentle shifting. My curtains swayed, but nothing fell over or made noise.
I did not feel a single earthquake during my summer in California. Honestly, I felt a bit cheated. The only other ground movement I have felt happened in Indiana whenever a quarry near my home blasted rock.
Yesterday I finished some classwork earlier than expected, so I took part of the afternoon off to enjoy the beautiful spring weather. I brought my camera and took some pictures of campus.
Last Saturday, the Google Games returned to UIUC. Like last year's games, teams of five had to solve puzzles and build a device using Lego blocks. The organizers changed and improved the games by starting with a trivia contest, removing the long athletic event, and adding a second puzzle session. , , Zack, and I resurrected Team YAY!, and filled in for Wade who was out of town. We did better than last year, but failed to win a prize.
The trivia contest had three categories: "Computer Science", "Math", and "Geek Trivia". A rotating panel of contestants from different teams had to provide questions for Jeopardy-style answers like, "This programming language was named after a French mathematician and philosopher", "93", "This person invented Tetris". It is unfortunate that we had to answer (question) individually since at least one member of Team YAY! knew the answer (question) to every question (answer). Despite that, Zack propelled us to the lead when he knew the answer (question) to "This was Sega's original name".
The puzzles were more varied and required less brute force than last year. We were given two programming problems, a tesselation question, a variation on Sudoku, two graph traversal problems, a faulty network puzzle, and a paper-folding task, among others. I tackled the programming problems. In the first session I had to determine what characters three convoluted functions printed. Lucas solved the function written in Logo that drew its characters. I solved the other two functions written in Python and C that involved deep recursion and factoring polynomials, respectively. In the second session I had to determine what conditions defined several sets of numbers (for example, x is a third power) and then find several additional numbers that satisfied multiple conditions (for example, x is a third power containing the number 4).
We solved the required five out of six questions in the first session, but only three in the second.
For the Lego contest we had to build a trebuchet that could throw a small Lego tire into a bucket eight feet away. Each team was given a bag of standard Lego blocks and a one-pound fishing sinker to use as a counterweight. I was unable to build since I was busy with the programming questions, but I still found the task particularly interesting for two reasons. First, unlike many throwing contests, we were judged on accuracy rather than distance. That factor definitely affected the designs. Second, like last year's bridges, Lego bricks do not naturally lend themselves to building a war engine. Several teams had ingenious ways of reinforcing the throwing arm, but most, including our trebuchet, failed to hit the bucket.
Our trebuchet and the second set of puzzles caused us to fall from our initial lead. and Alejandro's team, Four Normal People and a Nerd, completed the contest in 3 hours 46 minutes, winning faster than the teams at MIT, Harvard, Berkeley, and Stanford. Even though we did not win this year, all of us enjoyed the games. I was pleased to see that Google improved the organization and content according to last year's feedback.
On February 1, I graduated to a sleek aluminum and carbon fiber prosthetic.
Most of you reading this weblog probably already know about "my new leg" since it took me forever to write about it. Sorry about that.
It fits much more snugly and is much more comfortable than my last temporary. The springier toe and more flexible ankle make it much easier to walk. I also think the woven black shell and curving ankle look a lot better. The prosthetist asked if I wanted to get it covered with fake flesh, but I told him I preferred the technical look.