Posts Tagged school
No longer the Vickers, but still holding up
Posted by Matt in general, microfracture on December 16, 2009
Quite a bit has happened in the past few months since I’ve written anything substantial. With school picking up, it’s hard to write since both activities draw from the same energy source.
Today marks the first time since my knee surgery, nearly a year and a half ago, that I’ve run for seven consecutive days. The last time I ran six days in a row was at the beginning of September, and I felt awful by the end of that streak. From mid-August to the beginning of September, I ran about five or six days in a row and then took the other days on the bike to try to alleviate the completely trashed feeling from running. By the end of September, I had been running about six miles on the days I ran and started to feel more smooth doing it, but I was still pretty beat up.
Part of the beat up feeling was more than likely due to me favoring my non-surgery leg when running. I had been fighting an adductor strain on my right leg that gradually got worse until I was unable to walk without limping. While my left knee felt fine, my right leg hurt just about everywhere. At first, I thought it was just the humidity, but as the summer ended, the problems persisted, and I was forced to stop running at the beginning of October. From then until the beginning of December I spent most of the time on the bike, with a few botched attempts at running once my thigh problems calmed down. However, within the last few weeks I’ve been able to restart running while keeping everything under control. With the introduction of cold weather, it’s a lot easier to run than bike, despite buying warmer clothes to ride in the cold and rain.
At this point, I’m certain that I’ll never feel as good running as I did when I was on my college team. On the team, even on the worst days after a race or hard workout, I still felt light on my feet and able to cruise through a 10-15 mile run without thinking. Today, each step I take is a considerable effort, like I have to drag myself through five or six miles. Comparing how I felt when running on the team with how it feels now reminds me of a passage in Neal Stephenson’s Cryptonomicon. A character in the book compares the power of a bandsaw to other saws and a Vickers machine gun to other firearms:
[T]he most noteworthy thing about the bandsaw was that you could cut anything with it and not only did it do the job quickly and coolly but it didn’t seem to notice that it was doing anything. It wasn’t even aware that a human being was sliding a great big chunk of stuff through it. It never slowed down. Never heated up.
Guns could fire bullets all right, but they kicked back and heated up, got dirty, and jammed eventually. They could fire bullets in other words, but it was a big deal for them, it placed a certain amount of stress on them, and they could not take that stress forever. But the Vickers in the back of this truck was to other guns as the bandsaw was to other saws. The Vickers was water-cooled. It actually had a fucking radiator on it. It had infrastructure, just like the bandsaw, and a whole crew of technicians to fuss over it. But once the damn thing was up and running, it could fire continuously for days as long as people kept scurrying up to it with more belts of ammunition.
Before my surgery and when I was on the team, it was as if I could just go forever and chew through any workout or race, “firing continuously for days.” I never slowed down and rarely heated up. There were limits, of course, but reaching them required hundred mile weeks, punishing pace runs, and draining interval workouts. Like the Vickers, there was also quite the support infrastructure of coaches, trainers, and teammates. But now only running a few miles is “a big deal” for me. It places quite a bit of stress on me, though it is easier than in the late summer. I’m quite sure I’ll have to spend a lot more time on the bike, but maybe I’ll get to the point where I’ll want to run a race.
With respect to school, I’ll be travelling to Stockholm in April to present a paper at RTAS. I’ve been working on several projects related to event detection with accuracy guarantees, which will probably form the basis for my thesis. I also went to RTSS in Washington, DC two weeks ago, but only a few tracks were on wireless sensor networks, but most were about job scheduling and cache replacement policies with the latest multi-core architectures. I’ll also be starting a project with mobile phones with a few other students in our department, which should be interesting. The traditional concept of wireless sensor networks entails small devices with cheap sensors and the processing power of a scientific calculator. However, mobile phones have considerably more power as well as onboard sensors and have more potential for practical applications that people would actually use.
It’s interesting that I spend much of my time writing, creating presentations, and sketching out designs and high-level solutions. About half of my time is actually spent programming. It’s probably a good thing since it gives me a balance between different tasks. Writing papers and creating presentations can be tedious since it can be difficult to cram in months of work into a short paper or presentation. It’s also difficult to create a good balance of high-level descriptions and details to keep people interested but not get confused. When working with a small group of people on a project for a long time, it’s easy to get stuck in a box and not consider things that outsiders would see as obvious. Working with a few other students on my next project should help with this.
It’s when I run into my old teammates that I realize that despite being in the same town and same school that things are really different. One of my teammates got married a few weeks ago and at the wedding, it really hit home that I’m living in a new era. We’re no longer kids. School has taken on a whole new meaning. My relationship with my longtime girlfriend has also taken on a new meaning. Many of the people and the places are the same, but life is different.
The Brain Drain of Public University Funding
Every few months I get an email from the college president at William and Mary concerning the governor’s new proposal for budget cuts. Every time, state funding for higher education takes a hit. This has gone on and on and on ever since I arrived in Williamsburg seven years ago. Undergraduate tuition is now twice what it was when I started as a freshman and it’s hard to believe since I’m still a student here (albeit two degrees later). There’s been a lot of talk of a “college bubble,” where droves of potential students don’t even bother to apply anywhere since the costs are too high and reasonable financial aid is scarce. Why is tuition outpacing inflation at such a ludicrous rate? What can be done to ensure the quality of the American higher education system while making it affordable to all who are qualified?
The rise in tuition for public higher education is coming from two directions: reduction in state funding and increases in administrative costs. Both government and individuals no longer see the benefit of higher education. At the government level, governors and legislators have put higher education on the back burner while focusing on nebulous agendas such as “job creation.” At the individual level, students no longer see education as a priority when attending college; it’s now about the “experience”, prompting administrative bloat to handle the demand for more university-run social programs.
The most obvious cause of tuition increases comes from the never ending cuts in state funding. With UVA and William and Mary receiving a respective 6 and 13% of total income from state sources, it’s hard to believe they are considered state schools. As state revenue sources have dried up, the state government has decided that higher education is no longer a priority. Emphasis in the fall elections are on the economy and the environment, not learning. Specific issues include vague terms such as “job creation” and “sustainability”, as well as more concrete problems like transportation and K-12 education. Higher education is hardly mentioned. It’s assumed that regardless of the winner this fall, state funding will continue to dwindle for “publicly funded” colleges, ensuring de facto privatization.
William and Mary placed fourth on the Forbes Best Public Colleges ranking for 2009. Contributing to this are its small class sizes, nearly all of which are taught by professors. Because of this, professors who are leaders in their fields are readily available to students of all levels. It is the small school size, relative intimacy between the faculty and students, and enthusiasm exhibited by students and professors alike that make William and Mary what it is. As funding is cut, education quality will suffer. Tenured professors will leave for higher paying jobs. Class sizes will increase and will be taught by less qualified instructors and grad students. Consequently, good students will look elsewhere for a solid education. Until the state government decides to make higher education a priority, the future of public colleges in Virginia is doomed.
Falling in lockstep with the state government, college officials and students alike are de-emphasizing the value of a college education, leading to further cost increases. While reduction in state funding is well known, it’s the administrative cost increases that are the most unnerving. It’s a real kick in the face to hear the budget situation at William and Mary described as “deadly serious” while administrative costs have increased by $5 million from last year. Next to several articles about the latest round of state funding cuts is a piece on yet another new administrative position: a full time employee in the Committee on Sustainability. I can’t see how “helping to streamline and facilitate the College’s ecological ambitions” provides any benefit to students in terms of attaining a degree and starting a meaningful career. It’s but another brick in the wall of tuition increases, and it’s all because even students and staff no longer consider education a priority.
In the past 20 years, colleges added more full time administrative jobs than teaching jobs, with positions in areas such as the aforementioned sustainability office, counseling, admissions staff, and social programs. College seems to be no longer about getting a degree and using newfound expertise to get a job or make an impact. Today, college is becoming some kind of fantasy camp, with students surrounded by an increasing number of staff whose job it is to keep them entertained. It’s no wonder that many recent graduates just wind up flipping burgers since the emphasis isn’t on learning anymore, but on some kind of poorly defined college experience. Regardless, more and more people are willing to pay for that four year fantasy camp despite the lack of increased education or income once they graduate. When students place their education first and experience later, perhaps tuition will become more affordable.
How can the brakes be applied to the out of control tuition increases? The answer lies in reprioritizing education above more nebulous concerns. The current governor and gubernatorial candidates have been yakking on and on about reviving the economy. What better way to do that then to provide more affordable higher education? More affordable college education will yield a larger pool of graduates ready to make significant contributions to the economy. The state government has direct control over this and the answer is clear: restore state funding. Until then, the Boards of Visitors at state schools can raise in-state tuition to near out-of-state levels, accounting for the tiny difference in state funding. Since many legislators want in-state students to get even more privileges, such a move will be quite the wake up call to the state government.
On the flip side, students must also reorganize their priorities. Without placing education first, students will simply fall back to meaningless jobs with low pay and low contribution to society. Students must realize that the flood of social programs, support staff, and spanking new facilities is meaningless compared to studying hard and earning a degree in a valuable field. In order to rein in costs, students must demand fewer frills while demanding more elements of a high quality education.
If the current trends run their course, the college bubble may become a reality, forcing a massive decline in the quality of higher education. Students will not pay out the nose for overloaded classes, terrible instructors, and few course options. Four years in such conditions will provide no benefit in terms of education or job skills. The best solution is for government and individuals alike to reprioritize higher education.
Road Races: Less Passion, More Money
Last weekend, my girlfriend ran the Rock N’ Roll half marathon at the oceanfront despite admitting that she barely trained for it in recent months. Afterwards, it was as if she could barely walk. “Why run it?”, I asked. Apparently, she paid $90 for the entrance fee and decided that the money to go to waste. So, what happened here? Why did someone force herself into doing something that she clearly would not if the cost was less? Increasingly, races are organized to make money, not to provide competition and/or enjoyment among the participants. It appears to be part of a larger trend to care less about making a difference and to care more about the bottom line. It isn’t about doing what you love, it’s about doing anything you can to get some green. When the dollar signs loom larger than passion, you get unprepared runners suffering through 13 miles to recoup their costs.
Years ago, the biggest road race in the area was the Shamrock marathon and 8k with a modest entry fee. The turnout was smaller, but the fastest finishing times were still comparable to today. Recently, the local running club handed over control of the Shamrock to a for-profit company. Volunteers were replaced by paid staff. Prize money for elite finishers was increased. What was a well organized regional race was turned into a full blown production with all the frills. Consequently, entry fees skyrocketed. The hype induced a similar increase in turnout. However, the fastest finishing times also only showed marginal improvement.
What does the average runner stand to gain by paying $90 for a race? As bad as $90 sounds, it was only the registration fee several months in advance of the race; the fee increased to $110 three months before. So, does that $90 get you better competition? At a smaller (and probably cheaper) race, there may be fewer runners, but the average half marathon runner will still find plenty of people to try and chase down. Is the $90 worth the dry-fit t-shirt or extra junk that comes in the race packet? Maybe the finishing medal is better. Or, maybe the experience is somehow intrinsically better just because the race was expensive. Clearly, the average runner stands little to gain by running in a large scale production-style road race orchestrated by a for-profit company rather than running in a local road race staffed by volunteers. Somehow, people still pay anyway and all the backhanded marketing hype draws them in record numbers like mosquitoes to a bug zapper.
The increased registration fees only really benefit two groups: the elite runners, and of course, the organizers. With increased entry fees at large races, elite runners are often provided with free travel and hotel rooms. Naturally, they don’t have to pay an entry fee while the increased costs to all other participants provide a larger pile of prize money to the elites. That $90 provided by 20,000 participants also does well in providing the organizers with a nice chunk of change. Those who were once volunteers and provided a great service to the community are now ransacking their fellow runners’ wallets for every last dollar.
It’s bad enough that the registration fee is so high for many of these races. It’s even worse that these high profile races don’t even allow registration transfers in case of injury, lack of training, or sudden employer-mandated travel plans. As a result, some strange things happen as people struggle to cope with a significant monetary loss. Some will trade numbers under the table, throwing off the results when a supposed 55 year old blows away the masters division with a near record time. Others who didn’t prepare or who suffered an injury may force themselves out on the course and punish themselves because they want to get their money’s worth. Others still may decide not to run altogether, leaving several thousand non-starts that could have been filled with ready participants.
I could never justify the cost of such a race, even after I had recently exhausted my college eligibility and was looking for races to run. I had considered slapping down a few massive entrance fees to run a few half marathons or marathons. Before I got that far, my knee gave out. It just isn’t worth it to fork over the $90+ for a race several months in advance that I might not be able to run because of injury. To me, it’s not the hype or the junk that comes in the race packet. It really isn’t even about the competition anymore. If my knee were to withstand a race, I would do it only for enjoyment and I don’t think I need to pay $90 to get that. Even if I had to pay for all of my college races, I don’t know if I could justify the cost if I had to pay extortionist entry fees at each one. I can get much more than $90 worth of enjoyment just by running on my own.
When I ran competitively, I only paid for a handful of races, most of them when I was unattached in college. I think I paid $15 for a cross country invitational at UVA, another $15 to run a 3k at George Mason, and about $50 to run the 5k at Penn Relays. That $50 at Penn Relays got me in a race with plenty of competition, including Alan Webb, who ran 13:30. I ran about a minute slower, just barely getting lapped by him at the end, but it was him and the other runners that helped me drag myself around the track towards the end. In that case, the extra costs of the entrance fee and travel may have been worthwhile, but such cases are outliers. Today, I’m no different than the average recreational runner and I don’t have to pay $50 – $75 more and travel hundreds of miles to race when similar competition could be found right where I live. That is, if it’s competition I want.
I consider myself very fortunate to have crossed paths with people who found that satisfaction didn’t always come from making money. I had high school and college coaches that gave most of their time to me despite earning little or no money. I ran plenty of local road races staffed by volunteers who came just because they loved to be there. It was this passion that came from people like these that helped me go a long way with my running career. Ironically, it was from the same people that I realized I could never run professionally. Like someone who forks over $90 for a race, there would be too much external pressure from a sponsor to run through injuries, train harder than I felt comfortable, and to turn a daily release into a daily grind. Money and love don’t always mix.
It appears as though things that were once steeped in intrinsic value are falling to the marketers. Road racing is only one example. Even coaching for these expensive races is now being offered at an equivalently steep price. Those who once freely gave their time and effort are now turning their passions into profit, raking fellow enthusiasts over the coals. Those who may have run for pure enjoyment are now forking over cash to attend pre-race expos, get race packets stuffed with “free samples”, and get hyped with bands blasting music along the race course. It’s one less thing that’s done because it’s fun. It’s one more thing done only for the money.
Equipment Failure
My aging desktop PC is starting to come apart: today is the first time I have ever heard the click of death. I had always imagined it would sound like the disengaging of the head whenever I shut down the computer. In the middle of reading a research paper, I was interrupted by a violent, pounding racket that came screaming from the case. It was so loud that for a few seconds, I was actually afraid my computer would explode or catch fire.
Fortunately, the drive was mostly unused and had nothing really useful in it, while most everything remained safe on the primary WD Raptor. The really important stuff is already backed up on my network drive or on my department disk space, so if anything else blows up I’ll still be okay. When I removed the offending drive and tried to boot, only the power supply and CPU fans started spinning, leaving me with only a blank screen. Somehow I managed to have unseated the video card from its connection to the motherboard and after I reseated it, everything returned to normal.
Quite a few people try to salvage failing computer components, but I don’t think it’s worth it. The main idea is to patch stuff up just enough to transfer off any important data. There’s the legend of sticking the drive in the freezer overnight to get it working again. Someone even got their video card working by baking it in the oven. The fear of losing data is so great to some that there even exists a sound library of hard drive failures.
I don’t think my computer has much life left in it. I don’t want to switch to my laptop for everything since it only has a VGA output and no digital connection, rendering my monitor useless. I suppose I could get a docking station, but I can’t believe that Lenovo still makes laptops without digital outputs for external monitors. Despite buying it last year, it even came with a pile of serial ports, a dial-up modem, and a PCMCIA slot that nobody would ever use. A new desktop would be good for games but that was the purpose of buying an Xbox, and besides, high end desktops are still pretty expensive. Of course something beefy would also be good for my schoolwork, since the last two projects had implementations that were extremely CPU intensive.
Regardless, I think I’m running on borrowed time.
The government we deserve
While I was running back to my apartment, I passed an old guy on the sidewalk walking in the other direction. The second I passed him he unleashed the nastiest gas I think I’ve ever heard in public. I still can’t believe he actually farted at me.
A local study says that almost one third of young professional Williamsburg residents intend to leave within four years. Although those polled stated that they liked the area, the main complaint was that the cost of living was too high and average pay was too low. This area just isn’t geared towards younger people, especially those who are recent college graduates. Instead, Williamsburg is focused on retirees and tourists, and those that aren’t in those groups get gassed.
Why? Because those in the local government are mostly older or retired and own businesses that cater to tourists. And who elects them? A dominant contingent of older workers and retirees. Since the most of Williamsburg thinks that anyone under the age of 30 is a nuisance, the government reflects this position. The government and locals protest any affordable or student-oriented housing. An effort is made by the city to prevent homeowners from renting out their properties. The noise ordinances have been strengthened. And of course, there’s the arcane three person rule, which effectively limits housing options for young professionals with a low income. As a student or young professional, you either live elsewhere or live with four or more people illegally. You just hope city officials don’t sue you or randomly inspect your residence to see if more than three unrelated people are living together. The city council even wants to remove the 24 hour warning before inspectors show up at your residence. What happened to the fourth amendment?
Younger people come to live in Williamsburg in two ways. They either grew up here or graduated from William and Mary with a local job offer. I’m more of the second category: I don’t think anyone my age would willingly move to Williamsburg unless they had existing ties here. The environment is just too oppressive for most people my age, with plenty of animosity.
Anyone would think that a grassroots effort could be made to at least get more student friendly officials in local government. It’s hard to do that when the voter registrar blocks student voter applications. Recently, the registrar allowed students to register in Williamsburg, which allowed a student candidate to run for office, but enough AARP members went to the polls to ruin his day.
So here in Williamsburg, most people get what they want out of their government: preventing fewer students and younger professionals from living within the city limits.
A similar situation exists with another local government I am familiar with: Virginia Beach. An overwhelming majority of Virginia Beach residents hate cyclists. Though two deaths have occurred in the past two years, drivers are still bloodthirsty. Recent efforts by cyclists to lower the speed limit on some of the more well traveled cycling routes only serves to make the driving population more enraged (the comments on these articles are insane). The roads aren’t safe for cyclists in Virginia Beach because of high speed limits, it’s because of drivers’ attitudes. Most drivers in Virginia Beach think no cyclist has any business being on a road, and the position of the elected government reflects that. When a cyclist died after being hit from behind, the Commonwealth’s Attorney decided not to prosecute the driver. Furthermore, thanks to the city council, there are no bike lanes in Virginia Beach. A more cyclist-friendly government would promote the installation of bike lanes and provide a more friendly environment for cyclists. Unfortunately, since most residents see bike lanes and more cyclists as an infringement of their personal space, they elect officials that share the same position they do. As a result, we get the situation we have now, with animosity building on all sides.
We elect the government that we deserve on all levels, even at the state and federal level. State governments are running out of money and making huge cutbacks in an attempt to balance their budgets. California is so desperate as to hand out IOUs instead of tax refunds. Since the federal government sees the power to tax its citizens as an indefinite line of credit, there is no mandate to balance the budget and the federal deficit is spiraling out of control. People complain that essential government services are being cut while the federal government is incurring serious debt. However, these people are no different than the government they deride. With almost half of all Americans spending more than they make each year, many voters are in no position to complain: they elected a government that acts just like they do. If people were able to make better spending decisions on an individual level, I would imagine the government they elect would do the same.
Somehow, people expect elected officials to be held to a higher standard then those that elected them. However, those in office act the same way everyone else does, bringing along all the same weaknesses and quirks. Though nobody in Williamsburg runs for office with the position to evict students and young professionals, it happens as a matter of course since those that vote share that belief. Since most Virginia Beach residents are on a crusade against cyclists, elected officials end up adding fuel to the fire. While most Americans acknowledge they have poor spending habits and wish to improve and never do, those in our state and federal legislatures do the same thing. Don’t expect the government to save you from anything since your failures are the same as theirs.
Rome Trip: Lightning Strikes Twice
As I sit here back at home writing this, a lone book sits high on the bookshelf, looming over me: “What Are the Odds,” by Mike Orkin. An apt title for the past five days, which were probably the longest five days I’ve had in quite awhile. What are the odds that I would get screwed on the way over and on the way back from Rome? The odds were pretty good.
The mess with the delayed flight from Norfolk keeping me home for two days was frustrating, but at least I was at home and not stuck in Philadelphia. At least on the second attempt I made it without any problems. After three days of walking and my SECON presentation, I was tired and jet lagged and ready to go home. I knew that on my trip back that anything could happen. I’ve had enough experiences with cancellations, delays, and lost bags to know that with each flight I was rolling the dice. On this trip, my number came up twice.
I got up at 6:30 AM Rome time, or 12:30 AM in Virginia. The train station was right across the street from the hotel, but it took almost 15 minutes of walking to get to where the train was. There were 30 platforms, some of which were behind others, so it was quite the walk with my suitcase out to the train. Fortunately, my dad and I bought tickets before we left at a machine so I didn’t have to waste time figuring out how to get a ticket. One wheel of my suitcase started to come apart and made quite the racket as I dragged it around everywhere.
The train left on time and got to the airport on time. I entered the airport terminal the same way we left and assumed that the ticket counter would be just inside. A sign said there were concourses A, B, and C. My dad and I arrived at C, and it appeared as though I would leave the same way. A monitor said the flight was on time.
I tried to find the ticket counter. There was a whole sea of them just inside from where the train dumped me out. A directory listed all the airlines and where the ticket counters were. It said US Airways: counter 511. But, the ticket counters in the terminal only went from 200 to 400. Where was 511? Looking around in disbelief, a small, out of the way sign said US Airways ticket counters were in “Terminal 5″. Terminal 5? How did that line up with concourses A, B, or C? More importantly, how does one get there? Another small poorly placed sign announced that a bus outside would go to Terminal 5. I went outside and found the sign for the bus and waited. As I waited a crowd began to form by the sign. It got bigger and bigger and the bus wasn’t coming.
Finally, the bus came and we packed in. Half the line got left outside. The bus wound its way all over the airport for ten minutes before arriving at the secret Terminal 5. Since I had web check-in and printed my boarding pass at the conference, I didn’t need to stand in line. I got my passport checked off and was put back on another bus to the terminal I started at.
When I got to the gate there wasn’t much going on but soon all the seats were packed and a large Italian family sat next to me and had a loud and heated conversation. Some of them hovered over me as they conversed loudly. Either the concept of personal space is nonexistent to them or they were trying to get me to leave by being obnoxious. It was probably a bit of both: I got up and found another seat next to an American couple who complained about the only coffee in the place was a bar that served only espresso shots. They really wanted their brewed coffee. I didn’t blame them.
The flight back to Philadelphia left on time and arrived on time. I had a window seat, but there wasn’t much to look at but clouds and bits of the ocean beneath. We crossed over the Alps and parts of France, but the clouds covered most of that too. Most of the transatlantic trips I’ve taken had the ocean blanketed by clouds. I’m not sure why this is.
The flight was nine hours, the longest I’d ever taken, but my sister took one that was something like 16 or 18 when she went to China. Nine was uncomfortable enough. I watched a movie, read several hundred pages of a book, and went to sleep. Everything cramped up. Fortunately, the flight attendants came by frequently with drinks.
Since I was near the front of the coach section and had carried on all my bags, it was easy to get off the plane and get through passport control and customs. I was through all that within 10 minutes, and fortunately customs did not ransack my computer looking for contraband. I would have had quite the fit if they decided to do that. I’m hoping these warrantless searches go to court soon.
I arrived in terminal A-West in Philadelphia, and the Norfolk flight left from at the far end of terminal F. My dad says this is about a two mile walk. There is a shuttle bus, but since I had been on the plane for nine hours and hadn’t run or biked in four days, I wanted the exercise. I had to go back through security again at F, but it wasn’t too bad. I had plenty of time: I got through customs at 3:30 Eastern time and my plane to Norfolk didn’t leave until 5.
Then the problems started. At the gate for the Norfolk flight, it was announced that the plane would leave 30 minutes late. A whole pile of people at the gate had missed earlier Norfolk flights and would be standing by for this one. Fortunately, I had a seat assignment.
5:30 came and went and the plane never arrived at the gate and the agent disappeared. Some pilots in uniform came to the gate who were commuting home and whined about the lack of agents. With no plane and no agent, 6:00 came and went. Then, another passenger for my flight who walked down the hall to the departures monitor said the flight was cancelled. Panic ensued.
Getting hold of my parents, I was able to learn the reservations number from the Internet. Apparently the plane got stuck in New York due to weather and they just decided to drop the rest of its flights. I asked the agent about other flights. No flights had seats through Norfolk until 3 PM the next day. No flights had seats through Newport News until the next morning. Despite complaining about my outbound screwup, the reservation agent said I would not be compensated for a hotel room due to weather. The agent booked me on the early morning Newport News flight and I thought about going to one of those Special Services desks and complaining until they gave me a hotel for free.
I talked to my parents again and again, using the power of the Internet, learned that I could get to Richmond. Surprisingly, my mom said if I could get to Richmond, she would drive the two hours to get me. There was a plane that left at 6:25. If I hurried, I might make it. Unlike the Norfolk flight, this flight was a mainline flight and left from C concourse and I was in F. I raced to the shuttle bus and got on the bus which happened to be just about to leave.
As I was on the bus, my phone rang: my adviser. Thinking I was back home, he told me that the session chair said I had made it to the presentation and that it went well. This was the worst time to be discussing this: I told him I was about to be stuck in Philadelphia. He couldn’t believe it. We talked some more about what a mess the travel was and then hung up and got off the bus.
I raced through the terminal and crashed into the check in desk at the gate for the Richmond flight. The plane was there. Two agents were there, one of whom told me to slow down as I mashed into the desk and my bags fell on the floor. I told them my story about the canceled flight and my rebooking and asked if I could get on the plane to Richmond. After a minute of typing, I got a new boarding pass and got on the plane.
The plane closed its door early and we pushed back before 6:25. We got away from the terminal and stopped. Out the window, the taxiways looked like a parking lot of airplanes. They were everywhere. The pilot got on the PA and said weather was preventing takeoffs to the north, but we were going to leave to the south. The problem was that all the northbound planes were in the way and couldn’t move. He sounded less than optimistic about getting out of there anytime soon.
We waited and waited some more. A girl got up to use the bathroom. When she came out, the whole plane smelled of cigarette smoke. A flight attendant came by and asked if she had been smoking, of course she denied doing so. A guy behind me said he was on a flight where someone next to him smoked in his seat and when the plane landed, the smoker was arrested.
7:00 PM came and went and we sat there, looking at the gridlock. A few planes took off. My legs were hurting from all the sitting. I called home and my dad couldn’t believe I was still sitting on the taxiway. My mom had already left for Richmond.
As we sat there and whined about the delay, I learned the guys across from me were also refugees from the Norfolk flight. They had missed an earlier Norfolk flight and were going to stand by for mine until it was cancelled. Like me, they had called someone to come and pick them up in Richmond and drive them back to Virginia Beach.
7:45 passed by and we had moved across a runway but were still stuck with planes in front of us. The captain came on again and said the control tower had slowed down departures to one plane per 20 miles. I hadn’t seen anything take off in almost an hour. It was starting to rain. If a storm came over the airport, that would be the end. We would go back to the gate and hundreds of people would be spending the night in the airport, myself included.
Finally, by 8 PM, planes started taking off again at regular intervals, but the captain told us we were way back in line and it would still be another 25 minutes. Unbelievably, my mom had already arrived at the airport in Richmond and was waiting in the terminal. By 8:50 and after two hours of waiting, we were in the air. Fortunately, it was a short flight and we were in Richmond by 9:30. As we were deplaning, one of the other guys from the Norfolk flight said he was going to flip if his bags didn’t make the plane. Good luck.
My mom met me in the Richmond terminal and it was a quick drive back with no traffic jams. Finally, after midnight and nearly 24 hours of traveling, I was back home. I slept like a rock and it felt great to get out on the bike this morning.
Perhaps I should write letters to US Airways and the DOT. What this will accomplish, I don’t know. Maybe I’ll get a small voucher to use for my next trip, which will stay well clear of Philadelphia. There had better be direct flights to Boston when I go to WASA. I took one when I went to IC4As in 2007, but it might be different now. It seems that the solutions to these travel nightmares may be mitigated by:
- Re-introducing more mainline flights. Apparently, regional jets are more prone to maintenance issues and do not handle weather as easily.
- Add more capacity. With every flight oversold, one cancellation creates a huge cascade of stuck travelers that cannot be rebooked onto the next flight. Adding more mainline flights will help this.
- Add more point to point flights or stagger departures and arrivals at hub airports. It seems that planes leave or arrive at a hub simultaneously, leading to huge traffic delays. Southwest has a good model to follow for this one.
- Reduce capacity through hub airports that are prone to weather delays. It seems that if someone so much as spits in Philadelphia, the whole place shuts down.
- Provide better customer service to help stranded travelers. I only found out the plane was canceled when another passenger told me. With no agent at the gate, the only option was to call the reservation office. Airlines should guarantee that a passenger will arrive at his or her destination within some fixed, reasonable time period or else provide a full refund.
Fortunately, I have time to recover from this before my next plane trip in August. If my next paper gets in to RTSS, I’ll only have to go to Washington. Maybe in the meantime, I’ll actually be able to get back to doing research since the last couple weeks have been spent mostly dealing with this trip.
BCI Pulse Oximeter in TinyOS 2.1
Posted by Matt in development on June 15, 2009
After days of getting lost in TinyOS 1.1 and 2.1 low level hardware abstractions, the Harvard design BCI pulse oximeter now works in TinyOS 2.1.
Prior to writing the driver/interface code, I had to procure the pulseox hardware. Detailed descriptions of hardware, software, and applications are found at the Harvard CodeBlue website. I first ordered a Smiths Medical OEM Digital Micro Power Pulse Oximeter Board. I was able to get in contact with sales staff by emailing Smiths Medical. The pulseox board comes with a finger sensor and runs about $200.
Next, I needed an interface board to connect the BCI pulseox board to the 51 pin connector on the Crossbow IRIS. The Harvard CodeBlue source code has documentation for a PCB layout and suggests that you order the PCB from an online manufacturer. You also have to purchase some other components that must be soldered onto the interface board. Fortunately, I was able to “skip” this step with the help of Leo Selavo, who graciously supplied me with two interface boards. He emphasized that soldering the components onto the interface board requires a lot of skill and experience and if I were to try on my own that I would most likely break the PCB or components several times until I got it right. The setup with pulseox board, interface board, IRIS mote, and finger sensor is illustrated below:
With the pulseox board, interface board, and of course IRIS mote, I was ready to get my heart rate. The biggest challenge still lay ahead: writing code to interface with the pulseox. The CodeBlue pulseox code was written in 2005 for TinyOS 1.0. All of the low level UART and mote hardware interfaces have changed drastically since then, so the old code wouldn’t just work right out of the box. I had seen plenty of posts on the CodeBlue mailing list about implementations for the pulseox in TinyOS 2.x, but nobody had bitten the bullet and actually written anything.
What I wanted was to be able to use the pulseox like a sensor on the MTS300/310 sensorboard: call a Pulse.read() or Oxygen.read() command and get back a uint16_t with pulse or blood oxygen saturation. This is fairly straightforward since I had experience modifying the MTS310 sensorboard code to power on the sensors manually. I created configurations PulseC and OxygenC to provide SplitControl and Read interfaces to power on the sensor and read, respectively. I then wired PulseC and OxygenC to a PulseoxP, which functioned as an intermediary between the application and the low-level pulseox driver code. Like in the original CodeBlue source, I created a BciC configuration and BciP implementation to communicate with the pulseox directly through the UART and return data back to PulseoxP.
The key changes between the CodeBlue TinyOS 1.0 code and my implementation are all found in BciP (or BCIM.nc in the original CodeBlue source). Two issues come to mind. First, setting the mote hardware pins is done differently in TinyOS 2.1. Calls like TOSH_SET_PW0_PIN() are replaced by abstractions. I had to wire MicaBusC.PW0 to the GeneralIO interface in BciC and then call GeneralIO.set() in BciP.
The second difference is with the UART. TinyOS 1.0 uses the HPLUART interface for low level UART communication, but this has been replaced by Atm128Uart0C for the Atmel 1281 architecture. The CodeBlue source code initializes the low level UART to its default state, turns it off, and then sets the hardware registers to the desired UART configuration so that the mote can communicate with the pulseox board. After figuring out what the CodeBlue UART configuration code did, I can’t believe that you can actually write to the registers directly! Imagine if you could do that with user-level code on a PC! To enable transmissions and reception along with interrupts for the UART in TinyOS 1.x, you had to do the following:
// Enable tx/rx interrupts and tx/rx
outp(((1 << RXCIE) | (1 << TXCIE) | (1 << RXEN) | (1 << TXEN)) ,UCSR0B);
TinyOS 1.0 uses the outp() macro to set bits of a given register, but this macro does not exist in TinyOS 2.x. Instead, the UART register bits are configured in a struct with fields for each bit in the register. For the above example in TinyOS 2.1, the following union represents the control register in Atm128Uart.h:
/* UART Control Register */
typedef union {
struct Atm128_UCSRB_t {
uint8_t txb8 : 1; //!< UART Transmit Data Bit 8
uint8_t rxb8 : 1; //!< UART Receive Data Bit 8
uint8_t ucsz2 : 1; //!< UART Character Size (Bit 2)
uint8_t txen : 1; //!< UART Transmitter Enable
uint8_t rxen : 1; //!< UART Receiver Enable
uint8_t udrie : 1; //!< USART Data Register Enable
uint8_t txcie : 1; //!< UART TX Complete Interrupt Enable
uint8_t rxcie : 1; //!< UART RX Complete Interrupt Enable
} bits;
uint8_t flat;
} Atm128UartControl_t;
The flat uint8_t is a real slick way to convert all the elements in the struct to a single word, which can then be written to the register. Following the code that initializes the UART in tos/chips/atm128/HplAtm128UartP.nc, I was able to configure the UART to run with the pulseox board requirements: 4800 baud, double rate, transmission and reception interrupts enabled, no parity checking, 1 stop bit, and 8 bit word size. So, with the previous example to enable transmissions and reception, you do the following in TinyOS 2.x:
Atm128UartControl_t ctrl;
ctrl.bits = (struct Atm128_UCSRB_t) {rxcie:1, txcie:1, rxen:1, txen:1};
UCSR0B = ctrl.flat; // ctrl.flat
I ran my concerns by the CodeBlue mailing list, which elicited a reply from Prof. Matt Welsh that I was headed in the right direction. I finished my implementation, worked out some compile errors, and loaded the new pulseox and general data collection code onto a mote to see what would happen. Almost never does my TinyOS code run correctly on the first try — usually I spend hours or days debugging, but this time it was magic. A number jumped onto the screen in the data column of my PC Java application, which was connected wirelessly though a base station mote to the pulseox mote. The sensor readings seemed reasonable for a heart rate, for jumping up and down and breathing hard made it go up and laying down and trying to breathe slowly made it slow down.
I have made my code available here and any feedback, suggestions, or questions are encouraged. To use it, place the pulseox directory into the tos/sensorboards directory in TinyOS 2.x. In the makefile for your application, add the line “SENSORBOARD=pulseox”.
The mediocre call it obsession
But I call it passion.
Today, there was an article in the local paper about a guy, Paul Boyette, from Chesapeake who had a running streak that lasted over six years. He ran at least two miles every day, running through injuries, terrible respiratory infections, and all kinds of weather. His streak was finally ended by a torn meniscus which proved too painful for him to run through. Oddly, this happened last summer, within a month of the pain in my knee becoming too great to run. The article was really vague as to what happened after he stopped because of the torn meniscus, but one of the photo captions describes him running last month. So, it appears as though he is back to doing what he loves.
The author of the article really makes this guy out to be an eccentric, hounding him because of his massive music and beer stein collections. The author describes how Boyette’s family and friends gave him endless grief about maintaining the running streak and running every day though illness and injury. Boyette is compared with a drug addict, as someone who has to get his fix or else he can’t function. His stacks of meticulously kept running logs and piles of worn out shoes are referenced as paraphernalia, aiding the addiction. A few commenters for the article say the guy is addicted to endorphins.
It isn’t addiction. It isn’t obsession. It is passion. Over the years, I’ve been hounded by people saying the same things, over and over:
“Why are you running in this weather? It’s too [cold/hot/rainy].”
“If you’re tired, take a day off.”
“Why don’t you try doing something else instead of running?”
The mediocre, the average, the run-of-the-mill Joe Six Pack only cares enough to go through the motions with any activity. These people, which make up a large majority of the population, see those who put all their effort into something as obsessive. The mediocre only wish to do good enough and to quit early. They will never feel good about any of their accomplishments, yet they simultaneously envy and criticize those who work extremely hard and become successful. The mediocre are everywhere and would love nothing more than to witness the failure of those who actually try. To that end, the mediocre spread their negativity and criticism to those they know that are successful, secretly wishing their endeavors will implode and their work will be for nothing. The author of the article and the commenters that follow are prime examples of those who just don’t get it.
People scoff at Bill Gates for sleeping in his office during the early years of Microsoft, working at his computer until he collapsed onto the floor with exhaustion. Though the mediocre label him as obsessive and wish to see Microsoft wiped from the earth, every single one of them has used a Microsoft product. If it weren’t for Gates’s efforts, this large scale success would never have been realized. Computing would never be what it is today without those “obsessives” working until they drop on the floor. Still more people can’t believe that the efforts Adam Savage of Mythbusters undertook to recreate an exact duplicate of the Maltese Falcon. He spent months of work researching the prop from the film, drawing sketches, making several mockups, and eventually getting his hands on the original prop to create a near flawless duplicate. In the video, Savage’s passion for his work really comes out as he speaks quickly and excitedly about every last detail of his quest. You don’t see that with the mediocre. You can tell when someone is passionate about their work when they speak of it like Savage, and you can tell when someone really just doesn’t care. I’ve seen professors, other grad students, running teammates, and internship co-workers speak with the same excitedness as Savage when they speak about their latest accomplishments. The passionate can pull you right into the hype.
It disappoints me to see that most others criticize the concentrated efforts of those like Bill Gates and Adam Savage while it is efforts such as those that keep the world in one piece. Without them, this world would be a bunch of slackers.
So why run until the pain becomes unbearable? Why work until you fall asleep at your desk? It is because not doing so would be a failure. I ran every day I could because I wanted to make the best of what I had. I ran every day and through all weather and many illnesses and injuries of my own because I knew there would be a day where the problems would be too great to run. On that day when I finally couldn’t run, I could look back and know that I had done my best. On the day I couldn’t run, I would have no regrets about the past. I would not have to wish that I had gone out for a run on a day that I was only too lazy to go. That day came last summer when my knee made running unbearable. Like Boyette, I had to stop. I had no regrets: I knew that I had made the best with what I had. Those who are mediocre will regret the day that they are unable to do something because of circumstances beyond their control. They had the chance to give it their all, but they didn’t make use of it.
I hope that I never again get criticised for biking or running as much as I can or for doing work when someone wants me to go out. It is what makes me who I am and it is not a disorder that should be treated with magic pills.
Defusing the Binary Bomb
Looking for the “secret defusion phrases” for the binary bomb project? I’m not going to just spit them out for you. What is the challenge in just typing in the answers? Despite an earlier post about the binary bomb when I took a Computer Architecture class, you will not find the answers here.
To solve it, you can do the same thing I did: disassemble the binary and use the debugger. Be sure to set a breakpoint so that you won’t set off the bomb accidentally. As long as you’ve got that breakpoint set, you’ll never lose any points. Step through the assembly code line by line and try to figure out how the input is manipulated.
One reason grad school is different
My sister (and others) have been complaining about the gobs of work they’ve got to get done during exam period. There are papers, projects, and of course, exams. My case is somewhat different. I remember how it seemed all kinds of massive projects and papers were due right before or during exams, and then I would have to suffer through a whole ton of exams. It was a huge weight off my back when it was done.
But now, it’s almost worse. I started working on my current project in September, right after my knee surgery. It’s been going for nine months and now I am finally cramming all of those nine months into ten pages or less, double column.
To put this in perspective for an undergrad: take all the papers, all the projects, all the homework assignments, and all the exams, tests, and quizzes in the last two semesters and make them all due next week. That is the weight of what I am working on. It nags at me every day that I have been working for so long and have nothing to show for it. I think about it in bed before I go to sleep, I think about it when I wake up, I think about it when I’m in the shower, and I think about it when I’m on the bike. As an undergrad and even for the first part of grad school, I got closure incrementally: with periodic assignments and tests and at the finish of each semester when classes end. Closure is now when I get a paper out, and the time span for that seems indefinite.
My first project and paper was faster — it took a semester and a summer. However, I’m still dealing with that project now — I’m going to present it at SECON and when I do, it will almost be a year since the first version of the paper went out.
It seems most undergrads treat papers lightly: “Oh, I can crank out a ten page paper in a few hours and still get an A…” I was the same way — it was spit something out as fast as possible to get it over with, but put enough effort into it to get a decent grade. Now, papers are everything. The paper is how everyone else sees your work. I may have spent the past nine months creating something that could have huge implications for the future of wireless sensor networks, but nobody but my adviser would know about it unless I tell them in a paper. The reviewers will lay the smack down on you if you try to whip out a paper in a matter of hours. Yesterday, I spent six hours writing and got out about five paragraphs. They were five critical paragraphs about the core of what I did, and they had better be comprehensive and understandable from the perspective of an outsider.
I find it hard to tell the story of my project, but I think the difficulty is from inexperience. There are key things that reviewers look for that I must give special attention in addressing. Because of this, there is a pretty rigid way to write a research paper, but even then I find it difficult. It is hard to convey specific algorithmic details, yet be concise and easy to understand. I have to remember the main selling points of my work and refer back to them throughout the paper. For these projects, I find the initial problem discovery, solution design, and implementation to be interesting and sometimes even fun. Enough experience programming and thinking about solutions to problems has helped with that, but I haven’t done much writing.
With time, I imagine writing will get easier. I will know exactly what to do. With my current paper, I’m almost there. I’m almost to the point where I feel good about what I have written and know that everything will turn out okay. I just have to keep working and get it done. Then there will be some closure.


Recent Comments