Trying to get a few things cleared away before I start a new position on Monday morning. Shortly after the January release of my GSearch libraries for .NET 3.5 and Silverlight 2, Codeplex user FBrink discovered that my conversions for lattitude/longitude in the local search class were naive, in that they failed when the current culture uses the comma character as a decimal separator. Tonight I released version 1.1 of the .NET and SL libraries, which corrects that issue, as well as updating some similarly naive code in the search class event raising machinery. You can check out the release notes and grab the latest source and runtimes at the CodePlex project page.
I’ve released version 1.0 of the Silverlight Gradient Editor. This version fixes a few small bugs and usability issues, and adds support for transparent gradient stops using the system color picker. This will probably be the last release of the editor unless I discover some problems. There’s not really much more to do with it. It came into existance because I needed a gradient editor control for the drawing application I’m working on, and once I had one it was a very small leap to add some code output and slap it into a web page. Hope you find it useful. If you do, or if you run into some problems, drop me a note and let me know.
In the process of working on GMemory, a Silverlight 2 game I wrote as an exercise a couple of weeks back, I became familiar with Google’s RESTful webservice API. Using this API applications can execute searches and receive results back. The API is not a complete drop-in replacement for the full-blown Google search engine – it can produce at most 64 results (8 items per page over 8 pages), for example – but it is an interesting and useful way to incorporate search results into your applications. Results come back in the form of some nested JSON types, which are easily deserialized into .NET classes once you understand the structure and get the type definitions correct. I had to do that for image searches to make GMemory work, so once that was done I decided to go ahead and implement the rest of the search types as well.
The result is GSearch, a library of classes for searching Google from .NET 3.5 and Silverlight 2 managed code. The library encompases all the supported search types on the current version of the Google API, meaning blogs, books, images, locations, news, patents, video, and web pages. The classes are very easy to use, and you’ll find some examples in the readme files accompanying the runtime packages. The .NET distribution also includes GSearchPad, a WPF example program that will allow you to execute any of the search types with custom arguments and display the results.
GSearch is copyrighted software released under a BSD Permissive license. Feel free to play around with it and use it in your own commercial or noncommercial apps. This is the first release, and there are sure to be some warts left in it. If you find one, or have a question, please feel free to drop a comment here or shoot me an email.
Over the last week my family and I had the pleasure of joining the rest of our far-flung and extended clan in Nag’s Head for the wedding of my brother and his delightful fiancee. Which is to say that by the end of the week the clan was even more extended and far-flung than it had been when we started. The wedding was held on Coquina beach, across from the access road to Bodie Island Light. The weather, and the relatives (for the most part), behaved admirably, and an excellent time was had by all. I had never been in the Outer Banks area before, and was captivated by the dunes, the long stretches of pristine beach, the Atlantic breakers rolling in after three days of steady winds. I managed to get out and take some pictures, capturing some scenes from Oregon Inlet all the way to Hatteras Light. I’ve collected the better ones in this gallery. Have a look and let me know what you think!
I figured out that the little balloon with the number “2” in it that appeared next to the “Plugins” menu choice in the admin screen meant that WordPress thought there were two plugins that required upgrading. I’m not sure why it thought that, as there was really just one. But that one didn’t show up right after upgrading to 2.6. It showed up the next day. Once I upgraded Sociable the tooltip disappeared.
Well I got around to upgrading this evening. I’m not sure whether I would ever go through this if it weren’t for the pale yellow nag bar that appears in the admin screen whenever there’s a new version. That’s a pretty effective device. Everything went smoothly, though it took a few minutes longer because I decided to actually follow advice this time and grab a database backup and a copy of the existing files. One little wierdness: since upgrading one of those little “tool tip balloons” appears next to “plugins” in the admin menu. It has the number “2” in it. Apparently there are two plugins that want… something. I understand when comments want to be admin’d, but I’m not sure what these two plugins want, or which plugins it is that want something. Clicking the balloon just goes to the plugin admin screen. Other than that I haven’t noticed any difference, which I’ll take as a good thing. Well, the nag bar did go away, and I guess that’s good too.
I left a message this morning at The Raptor Trust inquiring as to the progress of the young Broadwing Hawk we brought them last week, something they encourage people to do through an option on their voicemail system. Not all animal welfare organizations will provide progress updates to the people who rescue wildlife, so my daughters and I very much appreciate this aspect of their operation. A short time later I received a call from Donna who told me that the bird was doing well, and that she had been in an outdoor aviary since the 6th of July. They were unable to find any medical problem, however Donna noted that she is a young bird and that, to paraphrase her comments, fledgelings often get into trouble. Whether she was just confused and lost, or had been sideswiped by a car without sustaining serious injury we’ll never know, but at least she is well now, and we can look forward to her release back into the skies of Northern New Jersey. I can’t say enough about the professionalism and care that the folks at the Trust have displayed, and I encourage anyone who finds an injured raptor to contact them.
The princess was feeling quite a bit better when I went out to check the cage this morning. We tried to give her a restful night, but of course the girls and I couldn’t help peeking in from time to time. When I went up about 2 AM she was standing in the corner with her head tucked under her wing. A blanket covered the cage to darken it. When I lifted the blanket first thing this morning she was standing there looking at me, beak half open. She didn’t touch any of the chicken the kids provided for her, and I don’t know if she drank any of the water, but she did crap in the cage, as well as outside of it (thus settling the age-old debate about whether bird poop just drops out or has actual velocity), so at least that end of her is working. If you don’t know to whom I refer here, check out the post immediately below this one.
I ran out and picked up a pair of thick work gloves, and about 10:30 AM we transferred her from the wire cage to a cardboard box that would be safer for travelling. She didn’t appreciate the effort we were going to on her behalf, and just about put her talons through the gloves. About 11:15 AM we arrived at The Raptor Trust in Millington, New Jersey, on the edge of the Great Swamp wildlife refuge. The Trust just celebrated their twenty-fifth anniversary, and they have quite a compound there. After a young lady took the box from us we walked around and viewed the collection of raptors. Among the permanent residents are Great Snowy Owls, Golden Eagles, Bald Eagles, Vultures, Peregrine Falcons, and three or four kinds of hawks. It’s really quite a place.
Eventually we want back to the office to collect our box and towel. The volunteer who accepted the hawk from us told us she was a Broadwing, not a Red-tailed. She said that after the bird had calmed down they would be giving her a complete medical examination including x-rays, after which they would know what actions to take. If possible she will be returned to the wild. We’d like to think that’s what will happen. I feel pretty good about her chances after having her talons wrapped around my gloved fingers this morning. The staff at the Trust think she was probably hit by a car and stunned, and if she can’t fly it might indicate a broken shoulder bone. I’ll try to find out what happens to her and post an update down the road.
This evening I spent an hour driving around with a cup of coffee, looking for some photographic opportunities. On my way home, coming across the bridge on Flocktown Road where it crosses Stony Brook Creek, I noticed a small hawk standing by the shoulder. It was about 8:30 PM, rapidly growing dark, but the little silhouette was unmistakable as a raptor. It was just standing there, virtually on the white line, staring at the truck as I passed.
I see hawks in flight all the time over Northwestern New Jersey, and down in the pinelands to the south as well. But I had never seen one standing by the side of the road. I taught the kids over the years that any time they see an animal that doesn’t run away, they should fear it. Flight is more or less the normal behavior for almost any creature we’re likely to encounter in the U.S., except under certain circumstances. That bird should not have been there, and my immediate fear was that it would be hit. That part of Flocktown is very dark, and the bridge is somewhat narrower than the main roadway.
I wheeled the truck around and came back by it. It didn’t move one inch from where it was seemingly rooted. I went up and turned around again, and came back down and pulled off near the creek, popping the blinkers. With the FJ in the way, the bird was as safe from cars as it was going to get without flying. I grabbed the camera and slowly approached the bird. It still didn’t move, though it opened its beak and lifted its wings, in a clear warning that it was obviously too weak to make good on. I worked my way up slowly and got quite close, snapping the picture you see above. I was afraid of scaring the bird out into the road, but if it had taken flight that would have been fine with me.
She didn’t. I think of her as “she” because hawks seem female to me, though I couldn’t tell you from any anatomical clue whether she is. If an egg popped out, then I would know. I stopped about five feet away and crouched as I looked her over. Cars passed, slowed, nobody curious enough to stop. She was fully fledged, and definitely looked to be a red-tail, but quite young. There was no evident injury. Her claws and legs looked good. She partially stretched her wings and I didn’t see any damage to either. She stood straight and with her head up, eyes alert. And yet she was in evident distress, and I had no idea what to do.
I placed a cel call to the Washington Township police, but they had to put me on hold and I lost the call. I had planned to ask if they knew of a rescue organization or state agency that would come get her. After all, hawks are a protected species, and this one needed protecting. I called home and my daughter Emily looked up a state agency online for me, and I called them. The young man at the action line said that there was nothing the state would do, but that he needed to take a report from me anyway. Mercifully, I lost the call.
A car came by about this time and she flapped about two feet off into the brush, out of immediate danger, and sat there. Yes, I admit, as she lay there in her misery I took her picture. I’m not proud of it, but there you are. I got back in the truck and went home. She was off the road, and there didn’t seem to be anything I could immediately do to help. She’s a small bird, but you ought to see those talons. I didn’t intend to just wade in and grab her. Too much chance of injury to one or the other party. Back at the house my daughter Olivia looked at the pictures and demanded that we save the hawk. I searched a bit and found a story of a guy who had rescued one by taking it up gently with a towel. We grabbed an old hand towel and climbed back in the truck.
Back out on Flocktown Road by the bridge, we shined a flashlight into the brush, but the hawk was gone. I was certain she had not flown off (otherwise she certainly would have done so back when some goon was leaning over taking her picture). The road drops off into a gully that contains the creek at that point, and I hoped she had not flapped her way down in there. The ticks are ferocious this year. I moved the light around, and suddenly there she was, stuck about two feet up in a shrub, kind of wedged in like she had attempted to fly, and hadn’t been able to do it.
I have never captured a wild hawk before, of any size, so I have no idea whether what I did was right or wrong. I basically walked up and wrapped the towel gently around her wings, and took ahold of her legs, equally gently. She flapped, but made no sound and really was not able to resist much. We got her home and made a place for her in our dog’s cage, which is quite large, and for the moment she seems content. I called The Raptor Trust in Millington, NJ, and they called me back at 10:20 PM. We’re scheduled to speak again in the morning, and then either we will transport the princess to Millington, or they will have a volunteer come get her. If it weren’t for the folks at the trust I’m not sure what we would have done with her.
I still don’t know what’s wrong with her; only that something is. Hopefully some people who know what they’re doing will be able to sort her out. I’d like to think she’ll survive, but honestly I’d be more hopeful if I could see some injury that I know will heal. I’ll try to follow-up and post an update on her condition as things progress.