Friday, December 17, 2004
Cory was an early adopter of Creative Commons licensing, which means his recent work is made available, free, a short time after release. The licensing makes things like a collaborative audio books possible, which I think is extra cool.
I paid for and thoroughly enjoyed his first Creative Commons work, Down and Out in the Magic Kingdom. I should get around to checking out Eastern Standard Tribe as well.
Tuesday, December 7, 2004
The interface on the device is terrible, most notably because it doesn't support playlists larger than 999 songs. This is silly considering that it holds 20 Gigs of music.
Well, today I discovered Rockbox, an open source firmware replacement for several players, including mine. Rockbox adds all sorts of features and, most importantly, raises the playlist limit to 20000--much more reasonable and, importantly, larger than the total number of songs I own.
Even cooler, Rockbox supports speaking menus, which means it says aloud the name of the current menu entry. With some effort, you can get it to speak filenames as well, which means you can navigate your playlists without looking. When I have the player in my pocket--or more importantly, in the car--that's going to come in real handy.
And Rockbox is open source. Unfortunately, that means I now have to resist the temptation to modify the firmware and write my own plugins for the thing.
Monday, December 6, 2004
She was watching The Wiggles--a show for very young kids, roughly on par with Barney, slightly less obnoxious, but slightly more cheeseball. The Wiggles were sitting around the kitchen table, talking about germs and dirt, and why it's important to wash your hands and whatnot.
The dirt on dirty dishes is particularly germy, one of them said, which is why it's so important for us to wash our dishes.
Emma, whose second birthday was two weeks ago, turned to me and said, "Thank you washing Emma's cup, Daddy."
So as to avoid the reputation of a braggart, I hereby provide a second Emma story to counter the first one.
Last night I was laying next to her, trying to get her to sleep. (She still needs one of us in the bed to fall asleep.) It was taking forever, and my patience was running thin. Emma was almost asleep for the umpteenth time when she turned over and said, "Stop it. Stop it." She then breathed heavily through her nose to illustrate the problem. She wanted me to stop breathing because it was keeping her awake.
I explained, not very pleasantly, that her request was unreasonable, and that I would not comply. This hurt her feelings, which made the whole falling asleep process take that much longer.
Dude, how can you be so self-aware in your dreams? Doesn't that mean you automatically break out of the dream or something?
To this I say "Ha!" And also "On the contrary..."
At some point in my youth, I started being able to recognize, as I dreamt, that I was dreaming. At first it was just an awareness, but soon I was able to influence the dreams, mostly to steer them away from nightmarishness. The influence turned to control, and eventually I got to the point that I had complete control over my dreams.
In my dreams, I could do anything I wanted, and everyone else did what I wanted. I could steer events in any direction I pleased. I could transition from one theme to another, and as an adolescent boy, a particular theme ended up dominating. I won't mention it directly, but it's one with which roughly 100% of boys are obsessed. No, not fighter jets. The other one.
I'm not sure if complete control over an alternate universe is a healthy thing for a boy with no worldly knowledge, but that's what I had for a while.
Lucid dreaming is not unheard of. A moment's googling yields all sorts of information, some pages more, um, grounded than others. A lot of the pages are about trying to acquire the skill. I came by the skill naturally, or at least on my own. It wasn't until years later that I learned that there was a term for it. I'm not sure how common it is.
As an adult, my dreams aren't nearly as vivid, and I remember them less often. Sometimes I'm aware that I'm dreaming, sometimes I'm not, but I don't generally have the level of control that I once did. This is probably because I don't care anymore, and I don't put any effort into it. On occasion, if a dream becomes particularly nightmarish, I'll will myself awake. That's about the extent of my control these days.
To me, the most interesting thing is that dreams contain conflict at all. Why do bad things ever happen in dreams? It's just the mind screwing with itself. I still have those stupid didn't-study-all-semester dreams, or those can't-find-my-locker dreams, and sometimes during the dream I'll think "This is ridiculous! Brain, you suck!" Sometimes my dreams become self-fulfilling and self-defeating: worrying about something ensures that it'll come to pass. Those dreams are the worst, particularly when I'm lucid enough to realize it's my own mind doing it.
Nightmares are the Sadistic Bastard Prankster in your brain, picking at scabs and poking at shadows, trying to make the scary things come out. Lucid dreams are, essentially, the complete absence of the Sadistic Bastard. When he's gone, all that's left is a world that you control.
Friday, December 3, 2004
Since I added octane boost and then started using premium gas, my car is running great again. So insufficient octane was the problem. Crazy.
Since then, several other sources have confirmed that modern cars do this, though almost nobody I know had heard of knock sensors. And today I ran across an article that describes exactly what happened, and even mentions my car specfically.
High-octane gas isn't just for tuners though. Plenty of stock cars depend on the stuff, including a Celica GT-S with its 11.5:1 compression, or a turbocharged WRX or Volkswagen 1.8T.
What more, my car's manual says they recommend 95 octane, which isn't even sold at gas stations. (In California they only go up to 91 these days.) So the question of the day is: if I boost the gas up to 95 octane, will I notice a difference? A couple months ago I'd have said "no way". Today, I'm thinking about trying it.
Thursday, December 2, 2004
I apologized to Noah. "My dreams are often like this--pointless searches, lost somewhere that's supposed to be familiar, but that's really being generated on demand by the dream. I'm just sorry you got dragged along."
Noah grinned. "It's not a problem."
I then went on to talk about the people we'd encountered in the building, and without thinking I used the term NPC's to refer to them. Noah nodded, agreeing with what I said about the NPC's.
Then, after a moment's thought I looked at Noah and said "Hmmm, I guess that would include you as well."
Noah's grin faded, and he looked hurt. He sulked off, unhappy with the suggestion that he was just another NPC in my dream.
Saturday, November 27, 2004
I love things that you can experience at all sorts of scales. Reminds me, in a weird way, of Katamari Damashii. And also Keyhole, which is like TerraServer, but continuously zoomable.
*It wraps eventually.
Thursday, November 18, 2004
Part way through, they called me up and asked, "What grade gas do you put in it?" "Medium", I said. I knew that the car says it wants premium, but I figured it couldn't matter that much. Octane is all about preventing engine knock; as long as you don't hear knocking, you're fine, right?
Apparently not. I appears modern cars have knock sensors that detect engine knock long before you can hear it, and then retard the spark timing to prevent further knocking. They're actually pretty clever, rolling the timing back until the knocking stops, then advancing until it starts again, to find the sweet spot. Or something. I don't know the details, but the point is that the system settles into a new "learned" configuration, rather than the ideal one.
This means that in a recent car, a knock situation due to lower octane just saps horsepower. The dealer's best guess is that that's what's going on in my car. It's strange that the system would be willing to retard timing almost to the point of unusability, but I guess the priority is to prevent damage.
At their suggestion, I dumped a bottle of Octane Boost into the current tank of medium-grade gas, and will start using premium next time. The Boost seems to have helped--I can merge into standing traffic now!--though it'll take a couple days of responsiveness before I'm fully convinced.
Knock sensors! Who knew?
Wednesday, November 17, 2004
I ordered a 12" Powerbook a week and a half ago and today it arrived! And by "it" I mean the extra battery that I also ordered! The Powerbook isn't here yet! I can't do anything with the battery! But boy, is it shiny brushed metal!
Firefox and Thunderbird each have ways of displaying RSS feeds. Firefox has a cute feature called Live Bookmarks. When it detects that a site has an RSS feed, an icon appears at the bottom right; by clicking it, you can add that feed to your bookmarks. Thereafter, a new "folder" appears in your bookmarks, containing links to the recent stories contained in the feed. Since Firefox already has a solid system for managing bookmarks, it's neat that they can incorporate RSS feeds into that.
Live Bookmarks are cute, but aren't intended to become a full-fledged aggregator system. Thunderbird has one of those, and it's fantastic. Like most modern mail clients, Thunderbird lets you manage multiple accounts at once. For example, I have my personal mail and my work mail visible--but managed separately--in the same program. And it turns out that Thunderbird lets you add another account for "News and Blogs", which serves as an RSS aggregator.
The screenshot on the right shows my thunderbird session at work. My personal and work accounts are visible, along with the collection of RSS feeds I've subscribed to. When you click on a feed, the recent entries appear as "messages" at the top right. Clicking on a message shows the linked content (usually the article itself) in the bottom right.
The important feature here is that Thunderbird can check these feeds regularly, just as it does for your other accounts. It also knows which entries you've read before, so it only highlights the feeds with content you haven't seen. It's really an excellent way to present RSS feeds, and it's the first form of aggregator that might make me stop using my links page.
Monday, November 15, 2004
The first obstacle was its SCSI-ness. Not one of my personal machines has SCSI any more. I dug through the aforementioned crates and found a very dusty ISA SCSI card. After much wrangling, including dozens of reboots of a half-working headless server and an actual interrupt conflict (remember those?), the drive mounted happily. Despite my years of neglect, the drive offered up its wares intact, with no complaint.
That semi-precious data now resides on several forms of modern media, and so the old drive is no longer needed. I feel like I should bury it in a tender ceremony or something.
Meanwhile, I now have easy access to everybody's trout home directories. If you were one of the lucky forty-or-so with accounts, contact me and I'll send a tarball your way.
Also among the data is trout's web site, last updated Nov 14, 1995--nine years ago yesterday. For nostalgia's sake, I have a copy of that site up here. Nearly all off-site links are now dead--how's that for permanence of the web? I've also crippled all the cgi-bin script links, since they no longer work.
I also found a prototype version of the site that I apparently never deployed. It's cute but unfinished and almost entirely devoid of content. The PerkWare page does have a cute motto, though.
Both sites make mention of "The UnfortuNet", a pun that I was very happy with at the time. It appears that somebody else came up with a similar idea (http://unfortu.net/)--about a year later, according to whois.
For me, the most important aspect of trout's data resurrection is the mail archives. The resurrection was actually part of my current obsession: collecting all of my old mail archives--from every account I've had since I started using email (1993 or so)--into a single IMAP account. Those archives were scattered across several machines and ancient hard drives, and Trout's hard drive formed the last piece of the puzzle. My IMAP account is now huge.
Tuesday, September 21, 2004
Most of these systems allow you search the audio database with text queries, which requires the database to have undergone speech-to-text analysis. Speech-to-text, particularly for arbitrary (and unfamiliar) speakers is incredibly difficult, and so it's not surprising that these systems are not mainstream or cheap yet.
But I'm interested in a subset of this problem: single-speaker, speech-only search. That is, I record a bunch of audio clips of me speaking, and then I submit a query--in the form of spoken words. So it's only one speaker, and the system never has to interpret the audio as text.
I know this simpler problem is not trivial, but it seems like it should be much simpler than the commercial systems I've read about. And I can't see any examples of this simpler system.
Tuesday, July 20, 2004
There are several gems, and I need a few more listens before I absorb the bulk of it. My favorite so far is "Bastard wants to hit me", a strangely warbled, paranoid-yet-perky piece in which the speaker is convinced that the stranger over there, waving to me, wants me to come over so he can hit me.
It's been a while since I've been in a throng, and I've never been in one this big, let alone one this big and happy. It was a great experience. Many thanks to those who sponsored me on the walk.
Tuesday, July 6, 2004
Playing it has also made me realize that I knew nothing about flying. Well, not nothing--I could fumble through the sky the moment I started it--but the built-in training program introduced me to the foreign concepts of coordinated turns and control surface trim--both rudimentary aspects of flight. ("Wait, you're telling me that Wing Commander isn't realistic?")
What's worse, my sudden interest in the subtleties of flight have me eyeing sim-geek accoutrements such as high-end yokes and scenery add-ons. Let's hope I get over this before I start buying add-ons for random aircraft.
Fahrenheit 9/11 is propaganda. It doesn't try to be fair, and it doesn't pull any punches. It's also not easy to watch. Watching it, though, you do get the feeling that something big and new is going on. It's not the war itself, or the politics surrounding it--we've sort of become inured to those. It's not even the Bush Administration Conspiracy Theory on which the film is based. Whether or not you buy into it, we've all heard tell of sinister motives in high places. The big and new thing is, instead, an escalation of the dialogue surrounding the war.
The sentiments in Fahrenheit 9/11 are familiar--a lot of us have been opposed to the war from the start. The "revelations" in the film are also not new, at least to anybody who reads more than the front page. But the beauty and the horror of the presentation, and (it turns out) the scope of the audience it's reaching, are stunning. Considering the impact this film could have in this election year, I would be surprised if similar, opposing films didn't appear--and soon. For better or worse, the gloves have come off.
It remains to be seen if anybody can muster a suitable response. Moore is an incredible filmmaker. If Bowling for Columbine didn't show that, then this film certainly does. In it, Moore paints a picture of a crooked, manipulative, violent administration. He paints it almost entirely with the words and images of others, but especially with those of the administration itself. The funny, the ghastly, and the infuriating alternate and then blur together. He paints a vivid picture.
There are parts of Moore's painting that I believe, and parts that I don't. But the administration has its own painting, which it has fed to us in pieces for several years. Of all the stories I've heard, the official one is the least believable. If this film accomplishes anything, I hope it reminds people that there are other, often more plausible interpretations than the ones we're given.
Monday, June 28, 2004
I tried a silly electronic repellant stake, even though people told me they don't work. Turns out they don't work.
Then, on Saturday, Meliisa noticed that the gopher(s) had left a hole open. Ed (her father,visiting for the week) and I pounced on the oppurtunity, bringing out the vicious little macabee traps I'd bought for just such an occasion. As we fumbled with the traps, I saw dirt moving--the gopher was trying to fill in the opening as we stood there! We redoubled our efforts, keeping the tunnel open with a garden spade as we frantically fiddled with the traps.
Once placed, the traps were triggered several times by dirt being pushed upward by the gopher. Twice it seemed we'd caught him, but each time he escaped. As night fell, I filled in all but one hole, and left only one trap active.
In the morning, that trap held one big, dead gopher. Though intellectually I know there are probably more, I choose to believe that we've solved the problem. Let me have my victory.
If you have a gopher problem and, like me, have lost all empathy for the little bastards, I can definitely recommend the macabee traps.
Tuesday, June 22, 2004
Makes me feel like this.
Christopher Hitchens (author of the entertaining The Missionary Posiotion: Mother Theresa in Theory and Practice), takes it apart as pompous, misleading drivel. The Nation lauds it as inspiring and effective polemic. Should be fun.
Monday, May 31, 2004
Consider the following function written in classic functional style (and Haskell syntax).
inverses  = 
inverses (x:xs) = ( (1/x) : inverses(xs) )
This function takes a list and returns a list of equal length with each element inverted. (In Haskell, (x:xs) is a list in which x is the first element and xs is the rest of the list.)
Suppose that division by zero throws an exception. We can expect inverses [3 5 10 4 0 8] to throw because the fifth element is a zero. If we don't want our program to crash and burn, we need to handle the exception somehow.
Perhaps we decide to handle it outside of inverses itself. We wrap it in a "safer" version:
safe_inverses y = try
This function tries inverses y, but if that fails for any reason, it returns an empty list instead. (Not a particularly good strategy, but good enough for our purposes.) (And no, we're not to the weird part yet. Bear with me.)
Now suppose we call safe_inverses and pass the result on to some other function foo:
foo (safe_inverses [3 5 10 4 0 8])
Since there's a zero in the list, an exception is thrown and caught and foo gets the emtpy list, right? Not necessarily. It depends on what foo does. In a lazy functional language (such as Haskell), all work is deferred for as long as possible. In our example, that means that inverses doesn't return its whole result at once: it returns a list with the first element (1/3) plus a magic thingy that knows how to generate the rest of the list. And that magic thingy (it's called a "thunk") is only called if the rest of the list is needed. Notably, if the rest of the list is never needed, the thunk is never used.
In our example, the zero is not the first element of the list. That means that inverses doesn't throw the exception right away. It returns the partial list (starting with 1/3), and does not trigger the catch clause. The partial list "escapes", and makes it all the way to foo. If foo only uses the first element, then no exception is thrown, despite the sinister presence of the zero in the list.
Here comes the weird part. Suppose foo does use the whole list. As it iterates through the elements, thunks are firing behind the scenes to produce values lazily. At some point, one thunk is going to divide by zero, and throw an exception.
But wait! We've "escaped" the try/catch block. We're outside it, right? It's too late for us to handle the exception, isn't it?
Maybe not. If the language is implemented in a certain way, time travel can occur. Here's how.
foo may be outside the try/catch block, but some of those thunks firing behind the scenes are not. Each thunk knows which exception handlers are active for that particular thunk. If one of those thunks throws an exception, it becomes clear that we should have been caught by the try/catch block. And if the language is purely functional, it's trivial to discard all the work we did "between then and now", and go back to the catch clause that we should have taken. We warp back to the catch clause, and so foo does get the empty list.
A disclaimer: this presumes a lazy language with support for continuations. Haskell is lazy, but doesn't support continuations--at least, not at this level. Scheme supports continuations, but is not lazy--at least, not at this level. So I don't know of any language with exceptions that work as described above. (If anybody else does, let me know.) But I'm told it's possible, and I'm working on it in my own toy language.
Wednesday, April 28, 2004
Finally got around to investigating the sprinkler system leak. Turns out it wasn't a leak. It was a sprinkler head!
It seems the previous owner built a little wall of stacked bricks on top of an active, functioning sprinkler head. When this type of sprinkler head can't pop up all the way, water just gushes out. Hence the severe pseudo leak.
Silly previous owner.
Also went biking with Mark Leone in Kennedy Grove Regional Park. He's a seasoned biker, so I felt guilty the whole time I struggled slowly up hills. Great workout, though (and the fourth in as many days).
Mark also helped get our ancient gas mower running again. Yay Mark!
Sunday, April 18, 2004
Also bought an external (USB/FireWire) DVD writer to make it easier to back up our growing archive of digital pictures. Once I'd made several backups, I started playing with the bundled software. Included is MyDVD 4.5, which lets you make simple video DVDs with video or digital pictures.
I decided that a DVD with hierarchical, chronological slideshows of digital pictures would be a nice thing to inflict on relatives, and so I set to making one. It didn't take long for me to get really frustrated.
MyDVD is decent, but it has one serious flaw that makes it painful to use. To import images for a slideshow, it presents a standard Windows file selection dialog. If you want your slideshow to have more than one image (which you probably do), you have to use shift or control to select multiple files.
When you do that, though, the files appear in the slideshow in seeminly random order. So once they're imported, you try to drag them around to rearrange them within the slideshow. And if you make the mistake of selecting multiple images and dragging them at once, they appear in, again, seemingly random order.
So you have no choice but to import the files one by one, which is impossibly tedious, or else import them as a group and then rearrange them one by one, which is only slightly less tedious.
To be fair, the DVDs it generates look great. The menus can have animated backgrounds, and you can use your own background music on the menus and the slideshows. If I had a way to digitize our existing home movies, it would be easy to include those as well. So it's a neat little program.
They just really need to fix multiple selection. Maybe they have, in more recent versions.
Monday, April 5, 2004
Our house had a sprinkler system when we bought it, but it's ancient. Most of the heads spray suboptimally, some don't pop up, some don't pop back down, and a couple heads just bobble helplessly as water flows around them into the grass. Also, the heads in the back yard spray in maybe a three foot radius, not nearly enough to reach much of the yard.
Today I went around and tried to clear grass from around all of the sprinkler heads. Some had been completely overrun by grass, at the root level. To find those I had to turn on the sprinklers and wander around, bent over, listening for pathetic subterranean spray. Clearing the grass helped a bit, but there's still real repairs to do.
I also found out something important. There's a section right in front of the house that was swampy and partially submerged when we were in escrow, and we assumed it was because the sellers were overwatering to make things green. That was probably true, but today I found out that that area gets swampy within minutes of turning on the sprinkler system. There are some sprinkler system valves nearby; I suspect a serious underground leak. Maybe fixing that will give the backyard heads enough pressure to do their jobs.
Saturday, April 3, 2004
I've been meaning to start biking. A few years ago, Melissa bought us nice mountain bikes, but we've only used them a handful of times--and never offroad. The other day I wondered out loud if there were any biking trails near us. Melissa said there was one in Sobrante Ridge Regional Preserve, which actually abuts the development we live in. Go figure!
Today I donned my Bike Nerd Wannabe costume and hopped on my bike. Then I hopped off and hosed down the bike to remove the layer of dust. Hard to look studly with little dust-bunny streamers wisping from your spokes.
Turns out dust was to be the least of my worries, studliness-wise. The ride from my house to the trailhead had me gasping for air. (Our neighborhood is very hilly.) Then I couldn't make it up the first hundred feet of trail in the highest gear. I walked the bike up that stretch, but at least my spokes were clean.
Up a bit from the trailhead was a water tower. (Upper center of the first image, as seen from my driveway.) That spot afforded a complete view of our neighborhood. Then up more hill, including a little more sheepish bike-walking, to yield a view of the water tower from above (second image).
By this point (all of a quarter mile into the trail) I was exhausted, but I pretended not to notice. Luckily, things leveled out for a while, and turned into what I had originally expected from the outing: bumpy but managable trail amidst the Splendor of Nature (third image).
Soon I was on the other side of the hills, and could see past the city of Richmond to Mount Tamalpais, all the way across the bay (fourth image).
Then the trail delved into valleys for a bit, until I skidded to a halt a few feet short of a very large snake. (It was maybe three and a half feet long, and an inch in diameter. It's my story, so I get to call it "very large".) It lay across the path, sunning, and leaving only a few inches clear on either side. It looked like one of those strips that lay across the road to count cars as they pass. One of those, but with an air of reptilian menace.
Three thoughts occured to me:
- If I get bit by a venemous snake, though only a couple miles from home, the exertion of riding on the hills will surely circulate the venom to my brain and kill me.
- Maybe mountain biking is one of those "buddy system" sports. I should have researched this more.
- Hey! I can use this as an excuse to turn around early!
So I turned around. The snake, sluggish from his nap (and probably not venomous, for all I know) spared my life. The hills on the way back also spared my life, but only barely.
Next time I'll bring a buddy. Preferably one that I can outrun. A snake's gotta eat, after all.
Thursday, April 1, 2004
Later, tackled more of the yard. Melissa weeded and trimmed the planter in the front yard, then I cleaned up old shredded woodchip remnants and laid down new chips. Looks much nicer now, mostly because of Melissa's trimming. I also got to edge the front lawn, finally, now that I have an extension cord long enough for our snazzy new weed whacker to reach.
Best of all, I got permission from the next-door neighbors to take down their Mother Of All Thistles. It was over two feet tall, with dandelion-like flowers and wispy seed pods threatening to unload onto our lawn. In fact, they've probably already unloaded, but that's no reason to let it continue.
You see, the neighbors on one side are an elderly japanese couple. The man (Tak) takes meticulous care of his yard: unbelievably uniform, perfectly edged lawn, and lovingly pruned trees and bushes. It's stunning.
On the other side is a couple, about our age, that seems to completely ignore their lawn. Well, they must mow it occasionally, since it's less than a foot long, but it is home to an impressive array of dandelions, thistles, and other weeds.
I'm not in a position to judge. I'm new to the whole yard thing, and I know next to nothing. But it's funny to see the sequence: spectacular yard, pretty nice yard, terrible yard. I'm pleased that our efforts make a difference, even if it pales next to the splendor of Tak's lawn.
Sunday, March 28, 2004
As I mentioned earlier, sections of our yard are being overtaken by weeds. The first image, for example, shows what seems to be a lush, tropical paradise. The second image shows the same spot with all the weeds removed. (This represents several hours' toil today.) I plan to line the whole perimeter of the lawn, including this section, with wood chips (over weed cloth). Other portions of the perimeter are already done this way (third image).
The yard is slowly coming together (last image). I choose to ignore the fact that it was only not-together because we neglected it for the first few months we lived here.
Saturday, March 27, 2004
It's my left knee, which it turns out is also my getting-into-the-car knee. Seems I get into my car (which is a fairly low pseudo-sports-car) by planting my left foot on the ground and pivoting myself in under the wheel, twisting my knee a couple different ways in the process. I'd never given this a second thought, because that level of twisting didn't even register as twisting. Now that it hurts, I've learned the "right" way to get into a car: turn away, lower butt into seat with both feet planted, then grab the wheel and pivot legs in.
Makes me feel like an old man, but my knee tells me to get used to it.
Monday, March 22, 2004
On the label there's a perky little rant about how neato the drink is, and at the end is the slogan
Drink it down & keep it up!
...which I read as...
Drink it up & keep it down!
Friday, March 19, 2004
I'm happy to report that we accomplished both the primary and secondary goals of racquetball: Crashing Into Walls At Speed, and Being Pelted in the Back, respectively.
I forget what the tertiary goal is. If it's Straining One's Lower Back, then I'm three for three.
Serious fun, though. Hoo boy.
* actual quote.
Thursday, March 18, 2004
She's known how to give kisses for a while, but a few weeks ago she learned that it's better (or at least more age-appropriate) to pucker up rather than open up wide in inept-drunk-french-kissing style. Her kisses are now cute instead of, well, sloppy. Around the same time, she learned how to make the little lip-smack noise, which lends her kisses that much more credibility.
This is good because she kisses a lot. She'll happily kiss Melissa or me when asked, but she also likes to kiss her dolls (and toy ducks and anything else vaguely person-or-animal-like). She also picks up random toys and has them kiss each other, accompanied by Emma's little kissing noise.
She's also eager to share her food, though usually not with actual people. Instead, she'll wander around with (for example) a piece of cheese and offer a bite to one of her dolls. The dolls never eat much, which is probably why Emma is so willing to share with them. It's nice to have low-maintenance friends.
Impressively, Emma's food sharing isn't even limited to the animal kingdom. Last weekend she was wandering around the back yard with a cracker, and came upon a wide crack in the sidewalk with little weeds sticking up. She knelt in front of the crack and offered a bite of cracker to the weeds.
If I weren't supposed to be so supportive of sharing I'd say that was really weird behavior.
Wednesday, March 17, 2004
It's looking like I may need to hire somebody to bring the yard under control. Sigh.
The playset has two swings: one baby swing and one belt swing (the kind you're used to). I expected the belt swing to go unused for a few years, but soon after we got it, Melissa told me that swinging alongside Emma is great stress relief. I thought she was being silly, but I tried it. It's embarassingly theraputic. Once I'm swinging, it's all I can do to resist going high and jumping off, but that would set a bad example for impressionable young Emma. Must resist.
Wednesday, January 28, 2004
Colby squinted in the light, casting a sneer that may have been his crooked-toothed version of a grin. "I am not at liberty to say."
"Huh. Maybe we don't want to know. Harrassment, fraud something like that?"
"April Fool's prank." The sneer was definitely a grin.
"No kidding." Then Abe's jaw dropped. "Wait... 'Guess how many ping pong balls?'"
Colby was suddenly interested in tbe power lines running across the street.
"Jesus," Abe squeaked. "That was you?" Colby's gaze shifted to the northbound traffic.
Evan was almost panting. "What? What what what? Tell me!"
Abe turned to Evan. "Okay, I heard this story, I assumed it was... a story. In the lobby of some bank's corporate headquarters, on April Fool's Day morning, there's this huge crate hanging from the rafters. High ceiling, far from the stairs, would have taken a forklift to get it up there. There are hinges on the bottom edges, like it's ready to drop a whole lot of something.
"Under the crate is a digital timer on a little stand, counting down to noontime. Next to it is a sign that says 'Guess how many ping pong balls.'
"As the morning goes on, everyone in the office is talking about it, and they keep gathering in the lobby to stare at this huge crate. It's gotta be big enough to hold tens of thousands of ping pong balls, and everyone's laughing at the thought of an avalanche over the receptionist's desk, flowing out into the street.
"People start taking bets, and a lot of people are betting 'zero', figuring that's the obvious April Fool's joke. But nobody knows, and it's getting closer to noon. Anticipation builds.
"Around eleven one of the employees shows up late. When he sees what's going on he gets all shaky and pulls someone aside. He tells them he's seen this before. At his last company, he says, somebody set up this prank with himself in the crate, then committed suicide. At noon the body dumped onto the floor in front of the entire office.
"The guy telling this story leaves, shaken. His story makes the rounds. People start to get uneasy. They stop making bets. As noon approaches, everyone's heard the story, and still nobody can keep their eyes off the crate.
"But nobody thinks it's funny any more. The head of security starts thinking they should take this thing down, but by now it's almost noon. As the last seconds tick away, everybody gathers at the perimeter of the lobby, keeping their distance from the center.
"At noon the timer beeps, and something in the crate clicks."
As Abe paused for dramatic effect, Evan held his breath, wide-eyed. Colby just stared into the distance, trying to suppress a grin.
"The bottom swings open, and a cloud of paper drifts to the floor. It's all coupons for ten dollars off a new set of tires at a local tire shop. Limit one per customer."
Evan tilted his head. "Huh?"
Abe continued. "Everybody's so relieved there's no dead body, it takes a couple minutes for them to catch on. But then they go outside, and in the parking lot every tire of every car has been slashed."
Evan turned to Colby, who was outwardly grinning by now.
"You... You did that?"
"I am not at liberty to say." Colby snuffed his cigarette against the wall, leaving an ugly mark.
"I can't imagine that went over well. Did they press charges?"
"I am not at liberty to say."
Evan stammered, "But, but... Why?"
"They pissed me off."
Opening the door, Abe snorted "Remind me not to piss you off."
"Don't piss me off."
Tuesday, January 13, 2004
When I listen to a compilation album, my mind frequently becomes confused, because the "next" song is not what I'm used to. This has always been true, and again I expect everyone experiences this.
But it's only recently that I've noticed that, once I've listened to a compilation album enough, each song has two "next" songs: the next song from the original album, and the next song from the compilation album. When the song ends, both songs start playing at once. Depending on which I'm listening to, one gets synced up and the other gets discarded.
I realized recently that, in the delay between songs, my mind rushes to remember which is the right next song. My mind hops back and forth between the two, first letting one dominate and then the other, forming a strange hybrid composition. And when the next song actually starts, if that's the one dominating in my head, the musical portion of my brain is at peace. If not, I feel a vague dissatisfaction.