annular ligament displacement, part deux

As a follow-up to my own entry on nursemaid’s elbow, my daughter, while playing with her friends, ended up getting nursemaid’s elbow again yesterday (12/27/2004). Determined to see if anyone has documented a treatment protocol, I found a wonderful article on looksmart findarticles from The American Academy of Pediatrics:

FindArticles.com – Recurrent nursemaid’s elbow treatment via telephone – annular ligament displacement – Experience and Reason–Briefly Recorded
Pediatrics, July, 2002, by Robert E. Kaplan, Kathleen A. Lillis

The first interesting thing to note is that they say that nursemaid’s elbow isn’t so much a subluxation (dislocation) as “a displacement of the annular ligament between the capitulum of the distal humerus and the radial head. (2) The radial head does not move out of its position relative to the capitulum.” Basically, nursemaid’s elbow is not actually “subluxation of the radial head” but instead “annular ligament displacement” (ALD).

After much interesting medical discussion, the article contains two case studies of where a non-medical caregiver was instructed by telephone to treat the ALD rather than going to an Emergency Department (ED) to be treated by hospital staff. The first case study contains the following dialogue:

The child’s uncle was then given the following instructions: “This is what I want you to do. First, grasp your nephew’s right hand with your right hand. Now, place your left hand under his elbow to support it. Then straighten out his arm so the palm is facing upward. Then in one quick and fluid movement, swiftly bend his elbow up, and touch the palm of his hand to his same shoulder.” The instructions were clarified with the uncle and the maneuver was then performed. After the maneuver, the uncle reported that he “heard a pop.” The pediatrician called back in 10 minutes. The child was reported as “back to normal,” and was reaching his right arm over his head.

Later on in the article, the essence of the technique is described:

Two maneuvers are commonly used when attempting to reduce ALD: supination or pronation (sometimes termed hyperpronation). (6,7) Supination is simultaneous supination of the forearm and extension of the elbow, followed by flexion of the elbow as described in the case reports (Fig 4). A very effective pronation maneuver is termed the “handshake” maneuver. (8) We have adapted the maneuver to include extension of the elbow, because we find it easier to perform. In this maneuver, one grasps the hand of the patient’s affected arm as if to shake it. The other hand is placed under the affected elbow. The patient’s forearm is then simultaneously pronated and the elbow is extended. The elbow is then flexed with the forearm maintained in pronation to complete the maneuver (Fig 5).

Supination is defined as “rotation of the forearm and hand so that the palm is up” and pronation is defined as “rotation of the forearm and hand so that the palm is down” according to the MedTerms™ medical dictionary. So, in layman’s terms, for “supination” you rotate the forearm (the part of the arm from elbow to hand) so that the palm is up, extend the elbow (straighten the arm), then flex the elbow (bend the arm). When bending the arm, bend it so the child’s palm ends up basically touching the shoulder of the arm that’s being bent. For “pronation”, particularly the “handshake” method that’s described above, you hold the child’s hand as though you were going to shake hands, then as you extend the forearm (straighten at at the elbow) you rotate the hand so that the child’s palm faces downward, then flex the elbow (bend the child’s arm) keeping the palm facing downward, bringing the arm across the child’s chest towards the other shoulder.

Now, a caveat: I’m no doctor, I just play one on the Internet, here — before you attempt any of this on your own child, I strongly advise you contact your pediatrician, but asking them to walk you through the procedure over the phone may save you a trip to their office, and definitely a trip to the Emergency Department of your local hospital. Our local hospital apparently sees three to four children a day with nursemaid’s elbow — and at $400 a pop, that’s some good money they’re making.

I hope none of you parents have to deal with the annular ligament displacement (ALD) aka “Nursemaid’s elbow”, but if you do, you may want to learn how to treat it yourself, especially if it’s recurrent (happens again and again)!

Tcllian 0.6.8

OK, so after fixing lots of bugs and implementing more messages for the Trillian Pro Plugin SDK, I’ve released Tcllian 0.6.8. I’ve even posted a shill on the Trillian message forums about it to try and reach a wider audience.

Now, if I can only nail down the cause of the crash bug that’s been bothering me all weekend …

Tcllian 0.6.4 is real

A long time ago I blogged about Tcllian, a Tcl plugin for Trillian, a multi-medium instant messaging (IM) client.

Today, I’ve decided to finally make a Tcllian release available for public download. It’s Tcllian 0.6.4, which comes with Tcl/Tk 8.4.9. It’s a threaded build of Tcl/Tk for Win32.

The download is hosted on a slow link (my 384K SDSL) for now, but Sjoerd has offered to mirror it for me. Until then, please be kind and don’t hammer my poor server too hard. :-)

how easily fooled the senses are

An ex-coworker, Saf Stern, forwarded me a link to an interesting optical illusion. It’s one of many that Akiyoshi KITAOKA has been creating. Check out the rest of Akiyoshi KITAOKA’s optical illusions.

How easily fooled the senses are …

from the “comically ironic” department

For a while now, I’ve been kind of half-seriously joking that AOL should release its Netscape Enterprise Server web server as open source software since it already did with its other web server software, AOLserver.

Today, my joke has become a reality in a way: Red Hat announced that it is acquiring the Netscape Enterprise Suite from AOL and will be releasing it as open source software (press release). The Netscape Enterprise Suite includes Netscape Directory Server and Netscape Certificate Management Server.

Perhaps another one of my long-term visions will also come true: I can finally implement NSAPI support for AOLserver, which would make things a little easier for folks to migrate to AOLserver.

nsingres is now official

It’s official: I just committed the nsingres module to SourceForge CVS. nsingres is an internal DB driver for AOLserver.

Source tarball is available here: nsingres-0.1-src.tar.gz

encodings and character sets

Janine Sisk at Furfly has been working hard to migrate her customers to the latest AOLserver 4.0.x release, which has been helping the project find bugs and answer migration questions. This has been incredibly helpful and the most recent issue involved encoding and character set settings.

Her problem, in a nutshell, is that users are entering data into the system originally authored in Microsoft Word which uses the Microsoft Windows Codepage 1252 character set which contains codepoints for things like en-dashes (0x96 = U+2013), ellipses (0x85 = U+2026), and some other elements. However, if you treat CP1252-encoded data as UTF-8 (RFC 2279), it won’t render correctly: all bytes in the range of 0x80-0xFF, which contains en-dashes and ellipses, are encoded using two bytes instead of just one. In this particular case, the en-dashes become transcoded from 0x96 to the sequence 0xC2 0x96. The 0xC2 looks like this — Â or 쎂 — depending on which one your browser rendered correctly. You may recognize it and wonder how it got in your own pages and how to remove it, too.

For Janine, her solution was to instruct AOLserver to use the ISO-8859-1 character set as the output character set, which would mean the inputs by the users originally in CP1252 would get output from the server as ISO-8859-1 which is a close enough match, I guess. The configuration might look like this:

ns_section "ns/parameters"
ns_param OutputCharset iso-8859-1

I’m not sure what she has the other related encoding and character set settings set to, but I’ve asked and hopefully will find out and update this entry with the details.

hanging on by a thread

I’ve been doing a lot of core dump analysis at work on Solaris, digging deep into the bag of coder kung-fu using adb, which is a debugger that is not for the faint of heart.

So, trying to help someone troubleshoot a problem with AOLserver on Linux, I asked the simple question of “did it drop a core file”? The answer was, “No, it didn’t.” That prompts the next question, “Did you set ulimit -c unlimited?” The affirmative answer surprised me: how is it not dropping a core file? Ahh, that’s when it occurred to me: Linux has had issues with threads (same info, more polished) for a long time now. So, I decided to do some hacking on my own Debian Linux box running my own hand-compiled 2.6.7 kernel.

Apparently, there are some kernel patches to implement multithreaded core dumps which suggests that the patches were merged into the 2.5.47 kernel. So, why isn’t AOLserver writing a core file when it segfaults?

After making dinner and putting the kids to bed, I thought about it and wrote a little test program that starts a thread then aborts in the thread. It wrote out a core file just fine! Then it dawned on me: AOLserver does a setuid to drop root privileges — Linux, by default, won’t write a core file out if the process has changed uid/euid. Figuring I wasn’t the first person to want Linux to behave like every other Unix out there, I found my answer in the unofficial comp.os.linux.development.* FAQ: How can I make a suid executable dump core? Making the change in nsd/nsmain.c, adding the prctl(PR_SET_DUMPABLE) call, I can now get AOLserver to dump a core file on Linux. Yay.

I’ve just filed SF Bug #1031599, attached the diff’s and committed the change.

While this doesn’t solve the original problem of why this person’s AOLserver is crashing, at least now I might be able to get a core file to look at …

breaking these chains of love

OK, I don’t know how I possibly missed this, but last month Computer Associates has released its Ingres r3 database product as open source software!

Now, I’ve been using MySQL for many years, and have been recently considering using PostgreSQL in order to get features that MySQL is still lacking (views, stored procedures, etc.) — but now, I can use Ingres instead!

You can download Ingres r3 today! (Requires free site registration.) The current source tarball is ~76MB. I’ll be downloading it tonight … expect to see an AOLserver nsingres module soon.

I don’t know if you can tell … but damn, I’m excited …

is sparc dead?

David S. Miller, a world-reknowned Linux kernel hacker, key contributor to the sparclinux/sparc64 port, and all-around nice guy, wrote to debian-sparc a great message that starts:

You can laugh and call it Wintendo all you want, but even the I/O performance of modern x86 (and Opteron) systems blows Sparc away.

Later on, he writes:

[…] If I’m setting up a high end web server,
I don’t think I’d be using Sparc thanks :)

If I wanted a fast machine with good cpu performance and a fast disk
and networking, I’d get a 3+ Ghz Xeon or an Opteron with PCI-X or
perferably PCI Express. […]

Read the whole message to get a good explanation of why he feels this way and the numbers behind his assertions.