The Goober Song

If you’re a goober and you know it, clap your hands (clap clap)
If you’re a goober and you know it, clap your hands (clap clap)
If you’re a goober and you know it
Your bedtime will surely show it
If you’re a goober and you know it, clap your hands (clap clap)

Tycho goes to the eye doctor

Well, the specialist was a bust.

We took Tycho in to see the eye specialist this morning. We had already called ahead, and warned them that Tycho was difficult and would need sleepy gas before they could examine him. We had an appointment of sorts — they’d said to bring him in anytime between 7:00 and 9:00, the earlier the better.

We arrived at 7:30, told them our name, filled out the little new-patient information sheet, and waited. Tycho made some noise in the car on the way there, but once we got into the waiting room, he was really quiet. After a while, they let us into a waiting room, which is when he decided that yeah, this really was the vet, and started hissing. We opened both doors on his cat carrier, but he declined to come out, and crouched there, hissing every now and then, tail lashing.

More waiting, and eventually the doctor came in. We did introductions all around, and explained again, as we had when we called in originally, that they’d need to put him under before they examined him. The doctor went to look at Tycho, who hissed. And the doctor flinched back, very visibly. Tycho was still being pretty mild — he wasn’t even yowling yet, like he usually does at the vet.

Then the doctor told us that we didn’t have a surgical appointment, so he couldn’t see Tycho today and we’d have to bring him back. We were a little bewildered by this, and explained that we did have an appointment. At which point the doctor said that he “didn’t really appreciate working on cats like this”, said we’d have to go somewhere else, and left the room.

This is crazy. Our regular vet would never think of refusing to treat a cat just because of the cat’s attitude. In fact, they’ve assured us they have much worse patients than Tycho. Jennie was so furious she was in tears, and I’m not too happy myself. It’s obvious that not all the fault goes with the doctor — his staff obviously didn’t pass along the message we left about Tycho being temperamental — but whatever the case, we were treated pretty poorly. And we still don’t know what’s wrong with Tycho’s eye, or how bad it was, or what’s going to happen next.

We can’t even get hold of our regular vet. She had to leave the office, because she got bitten by a dog this morning. I think there’s some kind of message there, but I’m not quite sure what it is.

It’s a pretty crappy turn of events, and we’re stuck worrying. We’ll get Tycho taken care of, one way or another; there are doctors out there who actually love animals and want to help. We may have to go on a road trip, which would be just joyous with a yowling beanlet in the back seat, but one way or another, we’ll make sure he’s okay.

He is himself again, I’m happy to report. He was pretty sluggish for about a day after his last vet visit, but he’s back to normal, struggling when we try to medicate him, and tearing around the house at the speed of beanlet. We’ve got our bitty back. We just want to know what we need to do to keep him okay. And because this doctor was scared of cats, or something, we still don’t know that.

Dance of the OWL

So I showed up for the morris-dance session this evening, only to find out that it hadn’t panned out for this evening; for a variety of reasons, most of the members didn’t show up, so they called it off. I was kind of looking forward to trying something new. Oh well.

Actually, I won’t have any lack of new somethings to try this week — tomorrow I’m playing substitute, and helping lead the 9th-grade OWL class. I have to admit, I’m very interested in what goes on in that 9th-grade curriculum, not having been a Unitarian yet when I was in 9th grade. And I’ve really enjoyed our adult OWL classes. But I’m still a bit intimidated by the thought of spending an hour and a half, talking to some very smart, very spirited ninth-graders, many of whom have been Unitarians all their lives, about sexuality.

It should be quite the experience. Especially since the topic for tomorrow will be “options for unwanted pregnancy”. I’ve already been warned that, even though it’s far from the only topic on the agenda, we’ll spend a good chunk of time talking about abortion. Whew. I’m going straight off the deep end on this one!

Advantage Database: the good

When our app was originally written years ago, it used Paradox to store its data. More recently, we’ve been porting our code to run on the Advantage database from Extended Systems — a genuine client/server database.

We spent a decent bit of time evaluating different database servers (including Microsoft SQL Server). Advantage came out as our top choice, and I thought it’d be worthwhile to share some of the biggest reasons why.

Note that I’m not getting a commission if any of my readers buys Advantage, or anything like that. I’m just starting with the good stuff. In later posts, I’ll go into some of the problems we’ve run into with Advantage, but I want to set the context first — Advantage is a decent database system with some pretty good features.

BDE replacement, sort of. For Delphi shops (like us), Advantage provides TDataSet descendants that, much of the time, are pretty similar to their BDE counterparts. You can drop them in, almost, and expect them to work, if you’re lucky. (More on this in a later post. But they did try.)

You can also use Advantage from Java (JDBC) and .NET (via the usual DataReader interfaces). I don’t remember whether they support ODBC and/or OLE DB, or not; that’s not a detail we really cared about.

ISAM access. If you’re porting old code that does record-by-record processing, and don’t want to rewrite it right away, Advantage will still accommodate that code quite nicely; it has all the usual operations like First, Next, Prior, FindKey, etc. They claim it’s designed to get decent performance from these ISAM operations. Obviously, that’s not the best way to write client/server code — way too many round trips — but it should work fine for the smaller stuff, and tide you over until you can get around to rewriting the bigger stuff with SQL or stored procs.

Good SQL support. It’s not the fanciest out there, but it does support some nice features like conditional functions and nested queries. I’ve used better (MSSQL) and I’ve used worse (Paradox); Advantage, IMHO, is much closer to the “better” end of the spectrum (aside from its occasional… endearing quirks). They get good performance from their SQL engine, and you can view query plans and all that kind of stuff. Unlike some of the other databases we looked at, Advantage is not just an ISAM database with SQL tacked on as an afterthought; they’ve got a good engine in there.

Extended stored procedures. This is probably the coolest feature, from our point of view. You can write code that runs in-process on the server, and you can write it in whatever language you like — Delphi, C++, C#, whatever. As long as you can write either a DLL or a COM object, Advantage can run your stored proc on the server. Have ISAM code that runs slowly on the client, because of all that network overhead? No problem; run it on the server instead.

Free local edition. There’s ADS (Advantage Database Server), and there’s ALS (which they claim means “Advantage Local Server”, but that’s a dirty lie — ALS isn’t a server, it’s the absence of a server). ADS is client/server; ALS is not. When you’re using ALS, your app opens the table files directly (and therefore isn’t the best idea for lots of concurrent users, for the same reason Paradox isn’t).

It’s almost no effort to write one app that can run against either ALS or ADS, decide between them at runtime, or even use both at once. ALS is free (ADS, on the other hand, has per-seat licenses you have to buy — but their per-seat costs are way cheaper than MSSQL licenses), and it supports every feature of ADS except one. ALS even supports stored procedures, which get called just as if they were running on the server (it’s just that they get called on the client instead). The only feature ALS doesn’t support is transactions — the BeginTransaction, Commit, and Rollback calls will silently do nothing if you’re running on ALS.

Tycho’s eye problems

Last night, Jennie noticed some icky-looking stuff on Tycho’s eye. A thin line of whitish stuff on the outside of his eye, right next to the eyelid. At first, I thought it might have been mucus or something (he’s been sneezing a lot lately), but in any case, it worried us enough that Jennie took Tycho to the vet this morning. As always, that was a major production; they had to put Tycho in the sleepy-gas box so the vet could even examine him (as always).

Result of that visit: we still don’t know what’s wrong (pretty normal, for our cats), but we have an appointment for Tycho to see an eye specialist on Friday (not normal — first time any of our cats has needed to see any kind of specialist). The vet said it’s possible that it’s a tumor. It might also be just a scratch, or something like that, but she thinks his eye would be watering more, and he’d be showing a lot more pain, if that were the case. Or, knowing our cats, it might be something completely different. His eyelids are puffy enough that I’m guessing at some kind of infection rather than a tumor, but… well, I’m hardly the expert here. We’re keeping our fingers crossed — all we can really do, for now.

Well, that, and giving him the two different kinds of eye ointment the vet gave us; we’re hoping that they’ll even make his eye a little better by Friday, but we’ll just have to see. Both ointments have to be squirted directly into his eye, and both are a gel-like consistency (oh, for the days of good old liquid eyedrops). One has to be put in twice a day, and the other is four times a day, and we can’t give them both to him at the same time — we have to give him the four-times-a-day one, wait at least five minutes, and then give him the twice-a-day one, if we can still find him by the time the five minutes have passed.

Thing is, he hasn’t been running away when we go to get him, or struggling too much when we hold him down and put stuff in his eye. I don’t know if he’s subdued (or exhausted) from the trip to the vet and the aftereffects of the anaesthesia, or if he’s in too much pain to put up much fight, or if the stuff actually makes his eye feel enough better that he’s willing to put up with it for now. In any case, he’s certainly not acting like his usual self, and I’m worried about my bitty.

Sigh. Holding out for Friday. (We could’ve gotten him into the specialist earlier than that, if we hadn’t known for a fact that he’d need to be tranquilized for the experience; that wound up dictating the schedule slot.)

Wish him luck. Poor beanlet.

Sleep study, and general ADD update

So I went in for a sleep study, a week ago Friday. (Boy, I’m behind in my blogging, aren’t I?)

It was an interesting experience. I counted 22 different wires taped, and in some cases glued, to different parts of my body (mostly my head — that’s where they used the glue). Then they expected me to go to sleep, in a strange bed — and then got me up at 5:30 the next morning (eek!).

Oddly enough, even though I lay wide awake for an hour and a half before I finally fell asleep, and even though I therefore only got about five hours of sleep, I woke up fairly refreshed and alert. It was some of the best sleep I’d had in a while. File that away under “peculiar”.

I learned some stuff from talking to the sleep doctor, the morning before the sleep study. Like, the allergy meds my family doctor had given me samples of (Alavert-D — basically loratadine (Claritin/Alavert) plus pseudoephedrine) would keep me awake at night; the loratadine by itself will neither keep you awake nor put you to sleep, but pseudoephedrine will keep you awake. She recommended that I try taking the Alavert-D in the morning, and Benadryl before bedtime; Benadryl is both a more potent anti-allergy thing, but also pretty good for helping you sleep. (My psychologist looked it up, and decided to have me keep taking Benadryl at night for a while, instead of the lithium. We’ll see how it goes.)

I had to fill out a sleep log for a full week before I went in for the sleep study, and found that I wasn’t getting as much sleep as I thought; I had thought I was getting around 7 hours a night, but it was actually closer to 6. So lately, between Benadryl at night and my 11:00 bedtime (which I’m currently half an hour past — bad me), I’ve actually been getting a little better-rested, I hope.

Still got a ways to go. My ADD has an amalgam of causes, I think. Lack of sleep certainly plays into it. So does dehydration; I can’t focus when I get dehydrated, and my body simply doesn’t fire the “thirsty” signal like it did when I was a kid. I’ve been trying to drink much larger quantities of water, and have almost entirely cut caffeine, except when I get jitters coming off the dextroamphetamine. I’ve been trying (most weekdays, at least) to take the dextro every morning; if I take more than one a day (or if I’m late eating lunch), I get jittery later, so I’m trying to get into a regular routine before I add an afternoon dose.

I haven’t been to the gym in about a month, and haven’t gotten my bike out either. Bad me. I’ll darn well get some exercise tomorrow, though. CUUPS (Covenant of Unitarian Universalist Pagans) put on a May Day celebration yesterday at First Church, and the youth group gave a pancake breakfast, which I helped with. As entertainment, CUUPS had some “Morris Dancers“. It was quite cool, and at the end, they commented that they’re recruiting… so I’ll be giving that a shot. Don’t be surprised if you hear I got trucked to the emergency room for exhaustion.

The other big challenge at this point is my glasses; it’s another month before we start a new year on our flex plan and I can get new everyday glasses (small change; once again, my eyes have actually gotten better) and new computer glasses (big change — I don’t have a separate pair of computer glasses right now). I think eyestrain is really wearing me out by the end of the day, and I’m looking forward to getting that taken care of, so I can see how much the other stuff really is helping.