I am always happy to get new books. For Christmas I have received four:
Echoes of Scripture in the Letters of Paul
The Orthodox Corruption of Scripture: The Effect of Early Christological Controversies on the Text of the New Testament
The Problem With Evangelical Theology: Testing the Exegetical Foundations of Calvinism, Dispensationalism, And Wesleyanism
The Dictators: Hitler's Germany, Stalin's Russia
I am continuing my reading of Hume's An Enquiry Concerning Human Understanding and will hopefully finish it soon. I also bought and read The Iraq Study Group Report: The Way Forward - A New Approach
. I should be posting a review relatively soon.
Ah yes...you can't beat an increase in the book collection.
Archives: 12/2006
Now that the RC for ASP.NET Ajax is out, we're just around the bend from release. Thank goodness.
So I downloaded the RC and the control toolkit and started playing with the slider, since I would like to use it for a project. Unfortunately, it took me a while to figure out how to hook up clients-side javascript events to the slider. A forum post finally solved my problem. I figured I would share the solution.
Sys.Application.add_load(application_Load);
function application_Load()
{
var behavior = $find('funkyBehaviorId');
//$find('funkyBehaviorId').add_valueChanged(function() { onDoSomething(); });
//$find('funkyBehaviorId').add_valueChanged(onDoSomething);
//$find('funkyBehaviorId').get_events().addHandler("valueChanged", onDoSomething);
//behavior.add_valueChanged(function() { onDoSomething(); });
//behavior.add_valueChanged(onDoSomething);
behavior.get_events().addHandler("valueChanged", onDoSomething);
}
function onDoSomething(sender, e)
{
var div = $get('showMeSomething');
var textbox = $get('_sliderTarget');
div.innerHTML = "" + textbox.value + "";
}
<asp:Panel runat="server" ID="hi">
<asp:TextBox ID="_slider" runat="server" />
<toolkit:SliderExtender runat="server" TargetControlID="_slider" BehaviorID="funkyBehaviorId" ID="_sliderExtender" BoundControlID="_sliderTarget">
</toolkit:SliderExtender>
</asp:Panel>
<asp:TextBox runat="server" ID="_sliderTarget" />
<div id="showMeSomething"></div>
All of the lines in the application load method work. They are all just variations on the same theme. Use whatever style you like. Use the $find method to find the sliderextender based on its behavior id, and attach to some events. The key that I didn't figure out for quite a while was to hook up to the slider extender via behavior id, not to its id or the id of the target. Once I found that out, everything went pretty smoothly.
Thanks to Scot McKnight for the heads up.
Getting a Winform Label to Wrap in a FlowLayoutPanel

This isn't as obvious as I would have liked for it to have been, but here is how you make a label autosize and wrap appropriately for the text assigned to it when the label is in a Windows Forms FlowLayoutPanel.
Read More on "Getting a Winform Label to Wrap in a FlowLayoutPanel" >>
With the Amazon Associate program you can link to Amazon about books from your site and, if someone buys the book, you get somewhere between 4% and 8.5% commission on the purchase. Not bad.
The aStore is similar. It is a place where you can list and categorize books. If someone buys a book through your aStore, then you get some commission. Both seem like nice programs.
My aStore has books that I have liked in tech and Greek and would recommend, and lists of books that I find interesting but have not yet read.
I like books a lot. It is the main type of adornment in my study. When some people or sad about something they eat ice cream or chocolate. I either eat a steak or buy a book...or both.
So I was running FxCop on a library today and it decided to flag a problem, exposing List<T> publicly outside of a class. The recommendation was to use Collection<T>. The reasoning was sound, but there is something in the documentation that needs to be cleared up.
Read More on "On Exposing Generic List Or Generic Collection" >>
But it didn't work perfectly. If you want to do the same, be prepared to deal with some issues.
- Private classes aren't handled well. This is actually a problem with Reflector, not with the plugin. Only two classes (that I could find) used them, so those had to be manually fixed.
- Enums were decompiled as their integer values. C# will not implicitly cast an int to an enum, so all of those ints had to be cast.
- Properties where not properly decompiled, but that's not a surprise. As you .NET geeks surely know, properties are syntactic sugar, and are compiled in IL to get_ and set_ methods. These showed up in the decompiled C# code, and had to be changed to properties manually.
- Ref and out were often switched.
Now I have the MS ASP.NET Ajax library in code files.
So the plugin works pretty well, though things could be improved.
A Few Notes on the Logging Application Block

We are switching a project I'm working on from a custom logging solution to the one built into the Enterprise Library, the "Logging Application Block". This is nice, because it means we can get rid of quite a bit of custom code (that's code we no longer have to debug or maintain). The logging application block is very well done as far as I can tell thus far. It makes it very easy to configure logging without having to change code.
Read More on "A Few Notes on the Logging Application Block" >>
First, it was really small. It was held in a small rodeo arena in Mesquite. Are all circuses as small as this one? Unfortunately, I have no frame of reference.
Second, it was fairly pricey. As I expected, you get coupons to get in fairly cheaply so they can gouge you on pony rides, the bounce house, elephant rides, over-prices mediocre food, and little toy trinkets. The whole fam got in for $20. But we spent quite a bit inside on little things. We bought two flashy lighty things for the kids. One of them stopped working within about 10 minutes.
Third, unlike what they say, it is not fun for the whole family. Abigail (2) was pretty enthralled. It took a while for Jonathan (4) to get impressed. After about 10 minutes of the show he said he was ready to go. We stuck around a while and he eventually started enjoying himself. But for adults...well...calling it lame would be by association an insult to everything which has to this point been called lame. There was so much obviously fake sponteneity. It took about 10 minutes for the "acrobats" and such to actually do something that I didn't think I could do. That's pretty bad. I'm uncoordinated, a slight bit overweight, clumsy, and relatively weak. And I have no experience in gymnastics. The trapeze artists fell once. That was kinda funny.
The supreme act of lame circus-ing was the "volunteer" horse rider. A guy came out to the middle ring and rode standing on the back of two horses. They made a big todo about calling out a volunteer from the audience. The volunteer tried to get up on the horses and fell, and swung around by the safety harness that was attached. In shame she walked off, only to be goaded into doing it again by the ringmaster and the crowd. This time she actually climbed up the horses, but eventually fell off again. Then we saw the trickery. In mid-swing her pants fell off and she was wearing her gymnast-circus-leotard thingy underneath. SHE WASN'T EVEN A VOLUNTEER! That was just the last straw...
If you have really young kids, they might enjoy it. Otherwise, don't waste your time.