You are here

bfields's blog

Stupid Stupid Cyclist!

Monday night coming home from the grocery store I made Stupid Cyclist Mistake #37: making a left turn across two lanes, I took a gap left for me by a big van in the near lane. Oops--I *know* that's always an awkward position to put yourself in.

I thought I'd checked the far lane, but of course there was a car I hadn't seen. We were both going very slowly and we both braked with space to spare. It was no big deal. But it was embarrassing: I should know to stop and check before crossing a lane that I can't actually see (and from which nobody could see me). Duh.

I also managed to skid my back wheel a bit today when it started raining on my ride to North Campus for a seminar. I didn't hear or feel the skidding itself, just felt the bike fishtail very slightly as I braked. Actually, it was kind of fun, and not as dumb (or dangerous) as the lane-crossing thing. Still, the fact that I was braking that hard suggests I wasn't planning ahead as far as I should have given the freshly wet road.

I didn't make it to the seminar, either, thanks to the combination of the sudden change in weather, some confusion about where the building was, and my having left the trip to the last minute.


assassins, saved, hardware troubles

Saturday night we saw a student production of Sondheim's "Assassins", which was a pretty interesting musical, and well done--it didn't seem like the kind of music that would be easy to learn. Sara should have gone--she's the big murder-ballad fan, and the only person I know (besides her dad) who can sing "Charles Giteau" by heart--but she doesn't often like musicals, and was feeling a little tired at the end of the day.

Sunday I did some puttering around on the computer. The bad connection on my laptop's screen is getting a little worse. Lenovo has a fairly nice hardware manual that, for each part, has diagrams showing how to replace that particular part. So when the problem gets to the point where I can reliably reproduce it, maybe I'll just take a look at the swivel/hinge there and see if there's something like an obvious cable that just needs to be reseated. I'd rather not send it out for warranty service till it's the only hope.

Tonight we watched "Saved!" over dinner, a recommendation from my sister. It's a teen comedy (complete with requisite climax at the prom) set in a "Christian" high school. I didn't love it, but it was cute. It had its moments. Sara thought it was like spinal tap. I don't know what to think of that comparison.

El Topo, vfs locking

I spent a long time Friday afternoon with my coworker David trying to work out how to solve a complicated problem with NFSv4 delegations.

A server can give a delegation on a file to a client, which is basically a promise to a client that

  1. Nobody else is changing a the file
  2. Before somebody else is allowed to change the file, the client will be consulted first and given a reasonable amount of time to acknowledge that it has lost the delegation.

This improves performance by allowing the client to rely on its own cached information about the file instead of having to constantly poll the server to ask if something's changed.

The challenge with the kernel NFS server is that it isn't in control of the data it serves to clients--it just exports preexisting filesystems, which other applications on the server may also be using. So any time we implement something like delegations, we have to make sure it works in cooperation with the filesystems we export.

In this case that means that when a local application opens a delegated file to modify it, for example, we have to block that open until we've recalled any delegations.

We've actually got that part working, more or less. The complicated piece is that the delegation is supposed to cover the metadata of a file as well as its data--so the client also needs to be consulted before we allow the file to be renamed or unlinked. We've been ignoring that problem.

It sounds like a small thing, but it's tricky to avoid race conditions (what if we're giving a client a new delegation at the exact moment that someone is renaming the file? How do we make sure the right thing happens?), and performance regressions.

In the end I think we came up with two solutions--one very complicated, whose correctness I'm less sure of, and one correct, but that requires adding a new field to the inode. The inode is the in-memory structure that stores basic data about a file, and it's advantageous to be able to cache as many inodes as possible in memory, so making it even a little bit larger is something we don't want to do unless we're sure it's the only option.

I worked pretty late, then met Paul and Sara at nine for a sushi dinner in preparation for the midnight showing of "El Topo" at the State theater. We killed the two hours between dinner and the movie by spending some time in Sara's office trying (mostly unsuccesfully) to troubleshoot some of her computer problems. Sara went home, and Paul and I joined a young, rowdy crowd outside the State waiting to get in to the movie.

I was curious about El Topo mainly because the director, writer, star, and composer, Alejandro Jodorowsky, has written a few french comic books that I'd read, and it's a consistent source of fascination to me that someone so odd would somehow manage to make his living turning out such odd work. There's a possibly apocryphal story about his being briefly put in charge of a big budget production of Frank Herbert's "Dune", to star Salvador Dali among others. The idea that so much money could be invested in such an obviously nutty project--even if it was really only considered for a little while--gives a person the encouraging feeling that maybe the world is quite a bit more absurd than people would sometimes have us think.

So in a way it was a little disappointing that the movie turned out to be pretty coherent. Good, even. Who knew? Not that I've actually made up my mind to say that I actually *liked* it yet....

Paul gave me a ride home and I fell asleep around 3 or 4. I woke up in the morning to find Sara had made a lovely sushi-based breakfast complete with a japanese sweet omelet thing. Yowza.

food, heat, clothing

The weird black mushrooms worked just fine with our pseudo-sechuan green beans, so dinner last night was good. I read the last 20 pages or so of Beloved before I went to sleep.

This morning I did my laundry, got into work noonish, and managed to make some small progress. I stopped by Eastern accents on my way home, thinking of getting a hot chocolate, but it was 60ish and sunny, so instead I got some mango juice and a red bean bun. Yum.

For dinner we had acorn squash, brocolli, and rice, in front of another Firefly episode.

The bottom of my new laptop's screen is smeared or wobbly on startup sometimes. Rotating the screen back and forth fixes the problem, so I suspect the swivel/hinge connecting the screen to the rest of it has a bad connection somehow. Ugh. I think the warranty's good for another year, so I guess I can afford to wait a few weeks and see if it gets better or worse.

On the other hand, the bottom shelf of our refrigerator (the one that holds in the drawers) finally got fixed. It cracked under the weight of too much produce several years ago, and we only got around to complaining about it yesterday.

mushrooms, clothing inertia

Seeing as it was thirty and raining this morning--differing from the last few days only thanks to the liquid precipitation--I took the (I thought) entirely reasonable precaution of leaving home with my warm down jacket, gloves, scarf, and a balaklava just in case.

Work went OK, thanks to a combination of little problems satisfactorily solved with small progress on a bigger projects or two, and having some people around to talk to and email about stuff. I also got email from my high school friend Evan who I'd been thinking of recently but hadn't heard from in a year or two.

And by the time I get on my bike to go home it's mid-fifties and sunny and I've got my big jacket unzipped and flapping in the wind, and the other extraneous clothing stuffed in my pannier.

I stopped by Manna and picked up some green onions and, since the only shitakes they had were in some huge quantity, a little bag of odd curly dry bits described only as "black mushroom". Sara has them soaking in some hot water. We'll see.


Work didn't come to any satisfying conclusion today, and I felt a little at loose ends.

I walked home by way of the Co-op, Sparrow's, and Manna. That means holding my shopping bag from the first two while I browse through the others, which always feels a little awkward, but nobody seemed concerned, and what else should I do anyway?

Thanks to our spiffy fuzzy-logical rice cooker and Sara's forethought we had some rice ready for us at dinner, and we cooked some of the stuff I'd brought home to go with it, then ate while watching another episode of Firefly--"Shindig", more of a romantic comedy this time, so maybe we can excuse them from the horror of the previous episode.

The show has a nice team of characters that you come to like over time, but Sara points out that one of them, the mysterious, psychotic, psychic, "River", is an exception. I think it's partly her strangeness, partly just that she's sometimes more a plot device than a character--she's always available to know something nobody else could, or to reveal some previously hidden skill.

I still haven't quite finished "Beloved", which is a problem, since the next book-group book, "If on a Winter's Night a Traveler", is one I'd like to get an early start on. I've read it before, but it's a book I'll never feel I've really got figured out.


Tonight I finally believe i found the cause of the bug I'd been trying to track down. I wrote a patch, verified that I could reproduce the problem on the latest kernel without the patch applied, then couldn't with it applied, wrote an explanation of the problem, where it originated, the symptoms, and how I'd fixed it, and shipped it off to the people responsible. Hopefully that'll do the job.

Of course while testing I was also reminded of some equally (or perhaps even more) mysterious problems in the same general area. But I should probably work on something else a while before getting back to those....

Sara handed me a Diskworld book ("The Light Fantastic") to read--it's fun, like all of them, and a little different from the ones I've last read, which were among his more recent.

I finally got around to placing an order with REI for a replacement for my old panniers. They look big, and nifty, and very, very yellow. They're also expensive as heck, so I hope they work out a little better than the last ones.

beloved, firefly, weekend

My mom gave me a copy of "Beloved" while I was at home, since I mentioned it was last Tuesday's book group reading. I read some on the train home, but by Tuesday was still barely halfway through. I went to the meeting anyway, and the fact that there were less people than usual just made it more fun, to my mind. It's been my bus-ride reading for the rest of the week, and I'm close to the end now. I like the feeling of being dropped into the middle of a scene and being forced to dig a little to get my bearings, and "Beloved" does a lot of that. And I know I'd have fun figuring out more things if I read it again--though I don't love it enough that I'll do that right away.

I borrowed my sister's copy of the complete "Firefly" episodes, and we made it through the first disk's worth (3 episodes) this week. It's been fun, though the last one was a bit too much horror for either of us (I could do without these "reaver" guys that keep popping up), especially watching it right before bedtime as we did last night.

We'd passed on watching a movie with Paul and Ajit, mainly just because we feeling too sleepy after our early dinner at Pizza House with Dave's parents and the jugglers.

I spent most of today gathering a little more detail on a very annoying bug in my privacy code and fooling around with git, while listening to the shortest song from every album that I own (skipping a few that didn't have anything under 5 minutes or so; Coltrane's half-hour "Om" came up on shuffle a few days ago, and that's quite enough of that, thanks.)

hot and cold

Yesterday almost made us think summer had come, with the temperature reaching 70. This morning there was snow on the ground, and the wind was bitter on the walk home by way of the coop.

friends, amtrak, work

Friday night my high school friend Darren stopped by for dinner. I heated up some of my mom's Turkey soup, and made some whole wheat muffins and a Waldorf salad (based on my mom's suggestions--she makes it with yogurt and some honey and orange juice, instead of the usual mayonnaise). He seems to enjoy hanging out with my family as well, and after dinner he, Helen, and my mom, and I played a game of Carcasonne, and then (having worn out mom) a fiercely contested three-player game of Bohnanza. Helen and Darren and I then sat around and talked mainly about movies until he left for the night.

I checked my email just as I was ready to go to bed and found a surprise message from MJ, a good friend, fellow math student, and housemate from Reed. I'd known for a while that he was trying to get a job in the area, but it had been held up and I hadn't heard from him in a while, so I was starting to wonder.

Anyway, he'd been in his new apartment in Baltimore for a few weeks now and had just gotten his internet service up and running, hence the email. So saturday he stopped by earlier in the aftermoon and helped out with dinner--this time split pea soup, salad, and little pre-made frozen mushroom pocket things, and then we watched a fun episode of the Jeeves and Wooster TV series that I last remember seeing--oh, maybe in high school?

Sunday I took the train home, got little sleep (as usual), had a nice breakfast at Angelo's with Sara, and barely managed to keep my eyes propped up through a day of work before coming home and sleeping 12 hours.

Tuesday and Wednesday were a little better, though I'm still feeling a little tired and unproductive at work.


Subscribe to RSS - bfields's blog