Browse by Tags

Karl Seguin

Sponsors

The Lounge

Advertisement

  • Back to Basics: Delegates, Anonymous Methods and Lambda Expressions

    Introduction Like generics , delegates are one of those features that developers use without really understanding. Initially this wasn't really a problem since delegates were reserved for fairly specific purposes: implementing callbacks and as the building-block for events (amongst a few other edge...
    Published 11-27-2008 10:15 AM by karl
    Filed under:
  • What's in a Title?

    The relative hype around the Foundation ebook has been pretty fun. Today I noticed a very detailed (and positive) review of the book . Which is, of course, flattering. If there's one thing a few people don't care for though, it's the title. They don't feel that it properly captures the...
    Published 08-14-2008 11:39 AM by karl
    Filed under:
  • My Thoughts on ASP.NET's MVC

    Like me, you might have been surprised that the foundation series didn't have a chapter on the MVC pattern. I'm no fan of the existing page model (I actually think it's horrible), and I've successfully used MonoRail on a few projects, so it would have made for a good topic. My reasons...
    Published 07-22-2008 9:49 PM by karl
    Filed under:
  • Foundations of Programming - Learning Application

    If you're anything like me, you probably learn a lot better by going through code rather than reading books. I'm happy to release the Foundations of Programming Learning Application - it's a complete solution meant to show what was covered in the Foundations series. It's a Visual Studio...
    Published 07-18-2008 9:34 AM by karl
    Filed under:
  • Foundations of Programming Ebook

    I'm excited to finally release the official, and completely free, Foundations of Programming EBook. This essentially contains all 9 Foundation parts including a conclusion and some typical book fluff (table of content, acknowledgement and so on). A number of spelling errors were corrected, along...
    Published 06-24-2008 9:53 PM by karl
    Filed under:
  • Foundations of Programming - pt 9 - Proxy This and Proxy That

    Few keywords are as simple yet amazingly powerful as virtual in C# (overridable in VB.NET). When you mark a method as virtual you allow an inheriting class to override the behavior. Without this functionality inheritance and polymorphism wouldn't be of much use. A simple example, slightly modified...
    Published 06-18-2008 8:32 AM by karl
    Filed under:
  • Foundations of Programming - pt 8 - Back to Basics: Exceptions

    Exceptions are such powerful constructs that developers can get a little overwhelmed and far too defensive when dealing with them. This is unfortunate because exceptions actually represent a key opportunity for developers to make their system considerably more robust. In this chapter we'll look at...
    Published 05-29-2008 8:02 PM by karl
    Filed under:
  • Foundations of Programming - pt 7 - Addendum

    I've made two additions to Part 7. The first is based on a suggestion by Greg to talk about a common cause of memory leaks - events and delegates. The second is about deterministic finalization Memory Leaks with Events There's one specific situation worth mentioning as a common cause of memory...
    Published 05-04-2008 4:28 PM by karl
    Filed under:
  • Foundations of Programming - pt 7 - Back to Basics: Memory

    I'm back. Readers can expect a quality free pdf ebook once the series is complete (end of may at the latest hopefully). Try as they might, modern programming language can't fully abstract fundamental aspects of computer systems. This is made evident by the various exceptions thrown by high level...
    Published 04-27-2008 8:58 PM by karl
    Filed under:
  • Foundations of Programming - PDF

    UPDATED: There's an official free ebook now available here . Tim Barcz was kind enough to compile the the foundation series into a single PDF, for your sharing/printer pleasure. You can grab it here I'll be taking a short break from blogging for the next couple weeks, so have fun playing with...
    Published 01-02-2008 8:12 PM by karl
    Filed under:
  • Foundations of Programming - Part 6 - NHibernate

    In part 3 we took our first stab at bridging the data and object world by hand-writing our own data access layer and mapper. The approach turned out to be rather limited and required quite a bit of repetitive code (although it was useful in demonstrating the basics). Adding more object and more functionality...
    Published 01-02-2008 8:52 AM by karl
    Filed under: ,
  • Foundations of Programming - pt 7 (sorta) - ActiveRecord

    You may be wondering what happened to part 6. Well, it's still being worked on and should be available early next week. I wasn't sure if there would be a part 7 and if so what it would be about - but I was heavily considering writing about an ActiveRecord implementation. Turns out that Kent Sharkey...
    Published 12-28-2007 10:12 AM by karl
    Filed under:
  • Foundations of Programming - Part 5 – Unit Testing

    Throughout this series we've talked about the importance of testability and have looked at techniques to make it easier to test our system. It goes without saying that a major benefit of writing tests for our system is the ability to deliver a better product to our client. Although this is true for...
    Published 12-20-2007 8:22 AM by karl
    Filed under:
  • Foundations of Programming - pt 4 – Dependency Injection

    It's common to hear developers promote layering as a means to provide extensibility. The most common example, and one I used in Part 2 when we looked at interfaces, is the ability to switch out your data access layer in order to connect to a different database. If your projects are anything like...
    Published 12-10-2007 8:22 PM by karl
    Filed under: ,
  • Foundations of Programming - Part 3 - Persistence

    Part 3 of the Foundations series has been posted on DotNetSlackers. You can see it at: http://dotnetslackers.com/articles/net/FoundationsOfProgrammingPersistence.aspx This is an introduction to persistence using objects, which will be re-examined in a later part. I've always believed that CodeBetter...
    Published 12-05-2007 11:10 AM by karl
    Filed under: