Fun Iterating PagedCollections With Generics and Iterators
Oh boy are you in for a roller coaster ride now!
Read MoreWindows Live Writer First Impression
Subtext Breaks Into The Top 15 Active Projects In SourceForge
No, this is not a case of breaking and entering. With preparations for the next release of Subtext, apparently our SourceForge ranking has climbed up into the top 15. Now keep in mind this is a ranking of the most active projects, and is not a ranking of the success or value of a project. It is an amalgamation of source control checkins, discussion forum activity, and other statistical factors.
Read MoreI Swear I Didn’t Commission This
Or did I?
Read MoreHow To Get The Calling Method And Type
Here are a couple of useful methods for getting information about the
caller of a method. The first returns the calling method of the current
method. The second returns the type of the caller. Both of these
methods require declaring the System.Diagnostics
namespace.
The Using Statement And Disposable Value Types
A while ago Ian
Griffiths wrote
about an improvement to his TimedLock
class
in which he changed it from a class
to a struct
. This change
resulted in a value type that implements IDisposable
. I had a nagging
question in the back of my mind at the time that I quickly forgot about.
The question is wouldn’t instances of that type get boxed when calling
Dispose
?
Praise For a Good Company
Today I was thinking about how much I enjoy doing business with a particular company and realized my natural inclination was not to blog about it. Yet when a company really drops the ball, I have no problem airing my criticisms. I don’t know about you, but I don’t like to be around people who are only critical and never offer praise. It gets to be tiresome.
Read MoreASP.NET Supervising Controller (Model View Presenter) From Schematic To Unit Tests to Code
UPDATE: For a more full featured implementation of this pattern for
ASP.NET Web Forms, check out the WebForms
MVP project! It’s available as
a NuGet package! Install-Package WebFormsMVP
Tying MVP To the ASP.NET Event Model
I knew this question would come up, so I figure I would address it in its own blog post. Mike asks a great question about my MVP implementation (actually he asks two).
Read MoreThreading - Never Lock This Redux
A while ago I wrote that you should never lock a value type and never lock this
. I presented a code snippet to illustrate the point but I violated the cardinal rule for code examples: compile and test it in context. Mea Culpa! Today in my comments, someone named Jack rightly pointed out that my example doesn’t demonstrate a deadlock due to locking this
. As he points out, if the code were in a Finalizer, then my example would be believable.
Log4Net And External Configuration File In ASP.NET 2.0
Recently I wrote that I could not seem to get Log4Net to work with an external configuration file while running ASP.NET 2.0 in Medium Trust. It turns out that I should have been more explicit. I could not get Subtext to work with Log4Net in Medium Trust, but it had nothing to do with Medium Trust. Mea culpa!
Read MoreIs The Null Coalescing Operator Thread Safe?
In response to my blog post on ViewState backed properties and the Null Coalescing operator, Scott Watermasysk expresses a worry that the null coalescing operator opens one up to a race condition in the comments of his blog post.
Read MoreTiny Trick For ViewState Backed Properties
This might be almost too obvious for many of you, but I thought I’d
share it anyways. Back in the day, this was the typical code I would
write for a value type property of an ASP.NET Control
that was backed
by the ViewState
.
Los Angeles User Group Meeting
Tonight I attended our local Los Angeles .NET Developers Group meeting for the first time in years. I pretty much never go to these meetings because I just haven’t found them worth dealing with the congestion of rush hour traffic in the UCLA area, which is really bad. Of course I should probably view user group meetings in the same way Jeff Atwood views conferences - I am not there for the talks, I am there to meet you.
Read MoreLog4Net Patch For ConnectionStrings
I submitted my first
patch to
the Log4Net
project today. The patch enables the AdoNetAppender to get its
connection string from the ConnectionStrings
section of a web.config
file. Hopefully it gets accepted and applied.
Log4Net Breaking Change in 1.2.9
I am a little late in reporting this, but I hadn’t realized the problem until I had to maintain an older project that used Log4Net 1.2.8. I upgraded it to log4net 1.2.10 and noticed it stopped working. I then found this comment in the log4net mailing list archives.
Read MoreSee! The Monkeys Are Trying To Take Over. But Luckily There Is Help.
This story from Boing Boing just cracks me up. Apparently monkeys have been harassing passengers of India’s Delhi Metro. This has become such a problem that they have had to hire some langurs (a fierce looking primate) along with a langur wrangler to scare away the monkeys. Here is a description of one such incident.
Read MoreBlog Upgrade
If you read this blog outside of an aggregator, you might notice a few minor new tweaks. I am dogfooding Subtext 1.9 which runs on ASP.NET 2.0. We are very close to preparing a release, so I figured I would beta test this one on my own blog and see if everything works well.
Read MoreOpen Source Is Free Like A Flower
Jeff “The CodingHorror” Atwood takes issue with the idea that software developers have any moral obligation to contribute to Open Source projects. And you know what? I agree. However I do take issue with his conclusion as well as some of the points that he makes in an attempt to bolster his argument.
Read MoreSoccer Statistics Can Be Painful
One thing I love about my soccer league is that they have a kick butt website. The design isn’t much to look at, but the site is chock full of useful information both current and historical.
Read More