Archive for November, 2005

Breaking the Pound Barrier

November 24th, 2005 by daryl

A couple of weeks ago, I posted that I had dropped 37 pounds. Shortly thereafter, I caught something nasty that kept me away from the gym for about two weeks. On top of that, though we continue to eat pretty low-fat meals, we’ve strayed away from the strict measurement of our fat intake. We’re making meals that seem low-fat, but I don’t have a book telling me that I’m getting X grams of fat a day. Moreover, I feel as if I’ve been snacking a lot more, though I do keep my snacks more or less healthy (I’ve rediscovered sherbet, for example, which is fat free and yummy; I’ve also rediscovered pretzels, which I never used to like very much because they struck me as being sort of bland). And I’ve been drinking a lot more calories in orange juice (downing about a gallon a day for a week or so). I also had begun to feel as if I was starting to get a little chubbier than I had gotten. So when I returned to the gym at last yesterday, I fully expected to have put 5 or 10 pounds back on.

As it turns out, I was down a few more pounds. I’ve punched through the 200 mark, weighing in at 199 yesterday and 198 today. I’m still no featherweight, but this is the first time I’ve been under 200 pounds since probably college, so it’s a definite milestone. It also makes getting back to my college weight seem entirely plausible. I’ve lost 42 pounds and have 13 to go. Can you imagine losing 55 pounds? That’s an average sized child. It’s a third of a slightly below average (I’d guess) adult woman. I’m not bragging here. I’m stupefied at the thought that I had let myself get to the point at which, after losing the weight of an average 7ish-year-old, I’m still technically overweight and still have enough fat around my gut to get a good double handful.

One thing I’ve noticed lately is that as I’ve found myself getting closer to being trim, my body image has changed for the worse. 42 pounds ago, I thought I seemed a little chubby. Now as I walk by the row of mirrors on the way to the shower in the locker room, I see a little jiggle around my waistline, and I see the little sag of what’s left of my gut, and it looks somehow worse. It’s as if where before, I was so far from being trim that I seemed pleasantly filled out, I’m now close enough to being thin that every little bulge stands out. Don’t get me wrong: I’m happy with where I am, and it’s not as if I’m going to stop eating or start yakking after I eat. It’s just interesting to see how my perception of myself has changed over the last couple of months.

Use it or Lose It

November 21st, 2005 by daryl

I’m much more typo-prone than I used to be. Strictly speaking, I’m not only more typo-prone, but more usage-error-prone as well. For example, it used to be that if my fingers typed “it’s” for “its,” I’d auto-correct without even consciously thinking about it. I knew better, but my fingers made a mistake, and my brain reacted quickly enough to the muscle mistake that it told my fingers to correct even before I consciously registered that I had typoed. Lately I find that my brain doesn’t correct as quickly or necessarily even automatically. I’ll review posts after publishing and find typos and spelling errors that I didn’t catch. (I’ve always been a near perfect speller and have had the same auto-correct mechanism for spelling goofs.) Sometimes I never catch them and they have to be pointed out to me. To my credit, this is partially because I’m usually posting in a hurry, and it’s not like I’m publishing in the New York Times here, after all, so who cares? But I do care, not out of any concern for you, my precious three readers, but out of a sense of pride. I’ve always been pleased with my ability to auto-correct, my near-impeccable spelling and grammar. To see it deteriorating (largely through lack of directed exercise) is painful. I’ve been staring at blocks of code for too long, I think. Luckily, in my latest job shift, I find myself doing more writing. I do reasonably well-thought-out blog posts at my other blog several times a week. Here’s hoping that exercising my proofreading muscles a bit more strenuously as I’ve been trying to do will pay off. Do me a favor and keep an eye out for my long slide into incomprehensibility; if I slide very far at all, do let me know, preferably employing good usage and grammar in order to set a good example.

Xajax in Drupal

November 21st, 2005 by daryl

I’ve taken a little break from tech postings here because most of my tech postings of late had been about Flock, and I wanted to group those elsewhere. Here’s another tech posting that’s relevant to Flock because I wrote this code for a project for Flock, but it doesn’t exactly belong at that blog because it’s not specifically about Flock. So feel free to skip over this one, dear family members.

Xajax is a php library that makes ajax development a cinch. I’ve looked at a few ajax libraries, and there are better implementations than what xajax provides on the javascript side, but the ease with which one correlates php function calls to javascript function calls in xajax is well worth the reduced functionality in many cases. For example, xajax doesn’t (as far as I’ve investigated, at least) provide elegant drag and drop functionality. But for simple updating of content upon request completion, it handles the basics without forcing you to write your own javascript callback functions (which can be a pain and which can make your source code look really nasty). Here’s a quick primer on how it works:

  • Write php functions to do server-side data manipulation and to use xajax calls to manipulate the page upon request return.
  • Register these functions in your php script. This gets the correlating javascript functions added to the javascript include.
  • Include the javascript in your source, tell xajax to process requests, etc. (all this is outlined in detail at the xajax site).
  • Add the javascript function calls to your source. If your php function was named “delete_member,” your javascript call is named “xajax_delete_member.”

That’s it. Arguments passed to the js function are passed straight through to the php function, and you have to do no special mumbo jumbo to make the thing work. The out-of-the-box functionality is pretty simple when compared to the libraries available at, for example, script.aculo.us, but xajax is reportedly extensible, so you’re certainly not limited to what you get out of the box.

Now, on to why this is ideal for Drupal development. The more I use Drupal, the more appealing I find its API. It’s pretty simple to extend the software. For example, I recently wanted to add a little snippet of code next to the title of any sort of node. Lucky for me, the Drupal developers thought to include a nodeapi hook, which lets you do just what I wanted to do. For all its niceness in some areas, though, it’s painful to do some things in Drupal. Adding global ajax support seemed a likely candidate for such pain because Drupal’s got menu hooks, a permissions system, etc., that I thought might make for tedious hacking.

I started by simply including the xajax code in one module I was working on (as proposed here), but when I wanted to include the same sort of functionality in another module, I started getting collisions. The library code was called more than once, so I found myself getting php errors. This prompted me to try to find a way to make xajax work globally across a Drupal install. And it turned out to be dead simple. I simply included the xajax library as in the example linked to above. If the node is enabled, this adds the javascript include to the template globally. Then I added some code that checks all installed Drupal modules for a function named MODULE_xajax_init (where “MODULE” is the module name). This init function for relevant modules performs the function registration calls. The routine for adding ajax support to any module in Drupal, then, now goes as follows:

  • Install and enable xajax.module.
  • For the module you’re writing, define MODULE_xajax_init and include function registration calls.
  • Within your module, define the php functions you’ve registered.
  • Add javascript calls to your UI.

That’s it. Voila. Magic, easy ajax support in Drupal.

Xajax is especially suited to Drupal because it handles everything using simple php code. There’s no writing of nasty javascript callbacks and embedding those into your templates or, worse, into your module itself. The appeal of using this xajax module is that it works globally across your Drupal install with no “function already defined” type errors and, well, it’s done and it’s free. You can download the module here.

Coming to Bed

November 10th, 2005 by daryl

We’re cosleepers. That is, we let our baby sleep with us in bed. It’s pretty nice for me because I get the nice feeling of knowing that my baby’s near at hand, but it’s rough on Mleeka, who generally spends the night either nursing or being climbed upon. Lennie is an acrobatic nurser, an acrobatic sleeper. She’s been known to nurse standing up on Mleeka’s lap and bent over at the waist, mostly asleep. She’s nursed nearly upside down. It’s crazy. She also used to be a big pincher, and Mleeka’s got one mole that Lennie likes to twiddle and tug on. This, we’ve decided, is hereditary, and I figure it’s just payback for all the bumps Mleeka’s picked at on me all these years, often in spite of my loud and spastic protestations.

In the last couple of months, we’ve actually been able to put Lennie down in the bed in her room (I say “the bed in her room” rather than “her bed” because our old queen bed is on the floor in her room, and we can put her down in it but not in her own bed, which has pretty much never been used). She’ll sometimes sleep in there for hours at a time, and it’s been a big relief for Mleeka, who can get a few hours in until Lennie wakes up at 3:30 in the morning to begin the slugfest. I suppose we could be hard-asses and let the kid scream, do the whole cry-it-out method. That seems to work for many, but it’s not something we’re comfortable doing, though we know perfectly well-adjusted kids who’ve cried it out.

A few weeks ago, I woke up in the morning with no recollection of having heard Lennie crying but with a dim dreamish memory of having woken up to find her walking through the living room and having brought her to bed. A few nights later, I woke up to a tiny rapping at our bedroom door, and when I got up to see what was up, there stood Lennie. She broke down as soon as she saw me, flopped onto the floor, and started crying. This was sort of a big milestone. She knows that we’re around when she wakes up, and she knows that she can come find us. She’s done this a couple of other times as well. Last night, I heard her crying in the living room and went in to scoop her up.

We’re careful now about keeping a living room and a kitchen light on so that she can see her way to our room. While this is a very cool milestone, it’s also a little scary. I can see her waking up, not feeling especially tired or clingy, and playing in the living room by herself. When she’s under even peripheral observation, her playing more or less alone is fine, but her doing so with both of us dead asleep in the other room freaks me out a bit. The other day, she climbed up and stood up on her little play table, for example, and she sometimes crawls up onto the coffee table or stands on the couch and bounces. Unpoliced, she could hurt herself. For now, she’s usually too groggy to do any of these things, I think, but that may not always be the case.

All worries aside, we’re very pleased that our little girl has demonstrated this new trick and feels enough at home to make her way to our bedroom. It doesn’t surprise us, but it does please us to know that she feels secure that we’ll be where she expects us to be.

203

November 6th, 2005 by daryl

So a couple of months ago, I made a clerical error in posting that I weighed 247. At a recent doctor’s appointment, I checked and discovered that I had been only 242 (a veritable featherweight). The scale at my gym is two pounds off from the scale at the doctor’s office (at said recent doctor visit, I weighed myself at the gym just hours before weighing in at the doctor’s office). So let’s call the original weight 240 because I weigh myself most frequently at the gym, so that’s my benchmark.

Yesterday and today at the gym, I weighed in at 203. I’ve lost 37 pounds. My face is thinner, and jeans that I could barely squeeze into a month ago have spare room in the waist now. Pants I bought a little large a little over a month ago now have 5 or 6 inches of extra room in the waistline and are essentially unusable. I wear a large tee-shirt comfortably now rather than feeling self-conscious about the XLs that looked like tents on me. I still have bulges above my waistline, but they’re much smaller. I still have a little bit of a pot belly, but it’s much smaller. It’s a little speedbump along the trail to heaven (as the line of adolescent hair in the belly button region was called in my youth) rather than a steep dropoff. One can now almost see a layer of abs underneath the remaining girdle of fat.

I’m fully recovered from my gall bladder removal now and returned to my regular gym schedule this weekend. I’m running 25 - 30 minutes and then doing an upper body workout that reportedly has resulted in much greater firmness.

Twentyish more pounds and I will have reached my initial goal of getting back to my college weight. When I set that goal, I figured it was a pipe dream, but almost 40 pounds down the path, it’s seeming downright attainable. I’m healthier. I feel better about myself. I’m a little ashamed to admit it, but I look in the mirror more than I did before, checking the profile, occasionally flexing a bit to see just how firm the old upper body’s getting. It’s a little ridiculous, yes, but let’s try to think of it as if I’ve just gotten a new car and am kicking the tires and sitting in it out in the driveway to experience the pleasure of the new car smell. Eventually, the newness of my (soon to be) hot bod will wear off and I’ll just be your average hunk who’s too cavalier about his guns, his gams, and his gut to bother checking them out every time he changes clothes. In the mean time, if you catch me kissing my biceps, be sure to sock me one and welcome me back to the real world.

16.5ish months old

November 6th, 2005 by daryl

It’s been too long since I’ve posted a baby update. I suck. Lennie’ll be 17 months old in a couple of weeks, and it’s impossible to imagine her as a squirmy little baby anymore. She speaks in sentences now. She expresses herself in reasonably complex ways. She plays games and recognizes (and tries to provoke) humor. To use the old metaphor, she’s a sponge.

For example, Mleeka often says “No, ma’am” when being emphatic about telling Lennie not to do something. So now, when Lennie’s expressing her displeasure or disagreement with something, she’ll do so emphatically by saying “No, ma’am” in a clipped sort of tone.

It’d be futile to try to list all of the new words she’s picked up since I last wrote about her, so I’ll go with some of my favorites. There’s “booger” (pronounced “booder”). She’s very boogery right now, especially from her eyes. When I tell her she’s got eye-boogers (and they’re so huge and crusty when she wakes up that I’ve best described them to friends as being cornflake-like), she points to her nose and says “booder.” Then there’s “color,” which she pronounces “tohtah” or something similar that can’t really be rendered using anything but linguistic symbols. She usually says this while pointing frantically at where we keep her markers. She likes to make coloring a team sport, insisting at the least that you watch her color and often handing you markers to help her color with. If you write something (anything) and ask her what it says, she peeps “Lennie.” And lately she’s taken to doing a writing-like stroke, pointing at it, and saying “Lennie.” This stems I guess from the fact that her little red chair has her name embroidered on it, and we’ve always pointed at it and said her name.

She’s got a few phrases now too, the cutest being “c’mere” and “let’s go,” which she says when she sees us getting ready to go somewhere. She’ll head for the back door and wait there impatiently, saying “let’s go.”

For a while, she was doing really well with her shape sorter and her puzzles, but she’s put those aside for now in favor of the keyboard. She remains a big dancer and seems especially fond of R&B.

One of my favorite things in the world right now is our morning routine. I sit here in my big chair working, and when she’s awake, Mleeka helps her down from the bed, and she sort of meanders into the living room, rubbing her (of late very boogery) eyes, still sort of sleepy and dazed. She catches sight of me and I coo at her and talk to her and she grins. We usually play or read a little bit, and I’ll turn on PBS Kids if they’re on, and I’ll try to get some breakfast in her. She’s pretty keen on eggs, and I need to get better about just making it part of the every day routine to make her an omelette. Usually, it’s not terribly long before she’s ready to go back in and wake Mleeka up, but on pretty much a daily basis, we have these few little minutes of good daddy/daughter time.

Of course, most of the rest of the time, she’ll have nothing to do with me lately. That’s not entirely true. I’ll take her out to play at the bookstore or we’ll just dance around and play in the evenings most nights, but she’s very much a mama’s girl lately. For a while, she had been sleeping in her own bedroom for a few hours a night, but she’s insisted on being on Mleeka most nights lately, and if I try to comfort her, she squawls and squirms as if I’m jabbing her with sharp things. It’s all very demoralizing for me and frustrating for Mleeka, who naturally would like to have a little personal space sometimes. This has been going on through what must have been a bad teething bout and lately a cold. Hopefully as she gets over these things, she’ll be a little less clingy with Mleeka and a little more comfortable with me.

I guess that’s it for now. There’s so much I’ve missed reporting.