Browse by Tags

Tagged Content List
  • Blog Post: Musings on Software Testing

    It was spring 2003, I had just finished a weekend camping in the southern Arizona desert.  I was dusty and physically exhausted from hours of playing paintball.  For those who have never been in those parts, imagine long straight roads with dry sage brush, painful cactus, and jagged mountains...
  • Blog Post: All About Iterators

    Design patterns have been all of the rage for a number of years now. We have design patterns for concurrency, user interfaces, data access, object creation, and so many other things. The seminal work on the topic is the Gang of Four 's book, Design Patterns . When used appropriately they are a fantastic...
  • Blog Post: Performance Engineering

    Recently, many people have asked me about the performance of Linq. The questions have ranged from the broad, "How can I analyze the performance of code using Linq?", to the very specific, "Why is the performance of this code sample not what I expected?" I want to address these questions. So before I...
  • Blog Post: Linq to ASCII Art

    Last night I was searching for an audio version of Painters and Hackers by Paul Graham . Pretty soon I had completely forgotten about the book and found myself reading the Wikipedia article about Hackers . Isn't Internet search great? Of all of the things in the article, the one thing that captured my...
  • Blog Post: How Linq to Objects Queries Work

    If you have ever tried to step through a Linq to Objects query in the debugger, you may have been mildly surprised at the results. It may have seemed as if the program had a mind of its own and ran certain expressions when it wanted to and not when it was supposed to. Be assured, it is doing the right...
  • Blog Post: Reading and Writing Queries

    Now that we have discussed some of the underpinnings of query expressions, we can turn our attention to how to use them. As has already discussed , most people who see query expressions immediately think of SQL and often even mistake query expressions for embedded SQL. While it is true that there is...
  • Blog Post: Thus Quoth the Humble Programmer

    I love Scheme! It is such a beautiful language. I was first introduced to it during college. At that time, I thought it was an interesting language but I didn't see the power of the language until later. That moment came when I experienced reading The Structure and Interpretation of Computer Programs...
  • Blog Post: Transparent Identifiers

    My last post described in detail how query expressions in C# are translated, but I have a confession to make. I did a little bit of hand waving through one part of the translation rules. The astute reader (whomever that is, whenever I read such things I always wonder, "Am I that astute reader?") may...
  • Blog Post: Comprehending Comprehensions

    Not long ago, I was reading through some articles posted on programming.reddit.com when I came across an article claiming that C# is trying to be a dynamic language . One user posted a comment that mentioned that C# 3.0 included among other things "embedded SQL". Unfortunately, it seems that there is...
  • Blog Post: Types of confusion

    When I began programming in my early teens, I was very excited to learn about programming and also excited to become a "real" programmer . I remember picking up a book from the library that purported to teach what real programmers were like. I absorbed the material and enjoyed every page. I can only...
  • Blog Post: Saving the State of Enumerators

    Cyrus and I were writing some code together the other day and we used an interesting data structure that I wanted to share with you. This data structure I will call a chain which is essentially a immutable singlely linked list. interface IChain <T> : IEnumerable <T> { IChain <T>...
  • Blog Post: captivated foreach statements

    I am sure that most people who use C# regularly use the foreach construct. Intimately understanding this construct is not usually required for proper usage. The syntax is straightforward and it would seem that the semantics would also be straightforward; however, beginning in C# 2.0 there is a subtle...
Page 1 of 1 (12 items)