Click here to Skip to main content

Articles by jgauffin (Articles: 10, Technical Blogs: 45)

Articles: 10, Technical Blogs: 45

RSS Feed

Average article rating: 4.66

ASP.NET

ASP.NET MVC 3 plug-in architecture using Griffin.MvcContrib
Posted: 17 May 2012   Updated: 25 Nov 2012   Views: 16,296   Rating: 4.95/5    Votes: 13   Popularity: 5.52
Licence: The Code Project Open License (CPOL)      Bookmarked: 42   Downloaded: 0
How to create a flexible plugin system with Griffin.MvcContrib.
Localization in ASP.NET MVC with Griffin.MvcContrib
Posted: 25 Mar 2012   Updated: 25 Mar 2012   Views: 23,124   Rating: 5.00/5    Votes: 5   Popularity: 3.49
Licence: The GNU Lesser General Public License (LGPLv3)      Bookmarked: 34   Downloaded: 0
Griffin.MvcContrib gives you localization features without any code changes.

Libraries

Having fun with Griffin.Container
Posted: 16 Aug 2012   Updated: 16 Aug 2012   Views: 5,316   Rating: 5.00/5    Votes: 3   Popularity: 2.39
Licence: The Code Project Open License (CPOL)      Bookmarked: 12   Downloaded: 74
An inversion of control container with modules, decorators, commands, domain events and more.
Extensible component framework
Posted: 10 Mar 2009   Updated: 18 Mar 2009   Views: 12,038   Rating: 5.00/5    Votes: 2   Popularity: 1.51
Licence: The GNU Lesser General Public License (LGPLv3)      Bookmarked: 29   Downloaded: 281
A framework for component based programming (using dependency injection).

Internet / Network

How to create a chat client using a set of communication classes
Posted: 18 Aug 2003   Updated: 25 Aug 2003   Views: 62,943   Rating: 3.71/5    Votes: 6   Popularity: 2.89
Licence: The Apache License, Version 2.0      Bookmarked: 33   Downloaded: 2,120
A pair of classes (no mfc) that can be used for tcp/ip _and_ serial communication.
How to build a chat server based on an IOCP framework
Posted: 18 Aug 2003   Updated: 26 Aug 2003   Views: 80,501   Rating: 3.50/5    Votes: 8   Popularity: 3.16
Licence: Not specified      Bookmarked: 42   Downloaded: 2,218
A winsock server framework that uses I/O completion ports. It is designed for reusability and must be overriden.
Griffin.Networking - A networking library for .NET
Posted: 6 May 2012   Updated: 7 May 2012   Views: 5,693   Rating: 4.95/5    Votes: 5   Popularity: 3.45
Licence: The GNU Lesser General Public License (LGPLv3)      Bookmarked: 24   Downloaded: 0
A somewhat performant networking library for .NET.
Embeddable web server
Posted: 21 Jan 2009   Updated: 21 Jan 2009   Views: 38,726   Rating: 4.96/5    Votes: 28   Popularity: 7.17
Licence: The GNU Lesser General Public License (LGPLv3)      Bookmarked: 98   Downloaded: 2,001
A web server with HTTPS, MVC, and REST support.

Macros and Add-ins

A Flexible Plugin System
Posted: 29 Aug 2008   Updated: 3 Sep 2008   Views: 57,612   Rating: 4.58/5    Votes: 22   Popularity: 6.14
Licence: The GNU Lesser General Public License (LGPLv3)      Bookmarked: 143   Downloaded: 947
A generic plugin system used to load and manage plugins

Design and Architecture

Get injected into the world of inverted dependencies
Posted: 17 May 2012   Updated: 21 May 2012   Views: 13,372   Rating: 4.97/5    Votes: 25   Popularity: 6.95
Licence: The Code Project Open License (CPOL)      Bookmarked: 58   Downloaded: 0
An introduction to Inversion Of Control containers and their purpose

Average blogs rating: 4.38

ASP

How to handle transactions in ASP.NET MVC3 [Technical Blog]
Posted: 10 Jun 2012   Updated: 10 Jun 2012   Views: 4,303   Rating: 5.00/5    Votes: 1   Popularity: 0.00
Licence: The GNU Lesser General Public License (LGPLv3)      Bookmarked: 5   Downloaded: 0
Handling transactions in ASP.NET MVC3.

ASP.NET

Three reasons to why you should use View Models [Technical Blog]
Posted: 10 Jul 2011   Updated: 10 Jul 2011   Views: 7,714   Rating: 5.00/5    Votes: 7   Popularity: 4.23
Licence: The GNU Lesser General Public License (LGPLv3)      Bookmarked: 12   Downloaded: 0
A summary of all my answers focusing on View Models in ASP.NET MVC.
Easy model and validation localization in ASP.NET MVC3 [Technical Blog]
Posted: 13 Sep 2011   Updated: 13 Sep 2011   Views: 9,231   Rating: 0.0 / 5    Votes: 0   Popularity: 0.0
Licence: The GNU Lesser General Public License (LGPLv3)      Bookmarked: 6   Downloaded: 0
How to get clean and flexible model + validation localization in ASP.NET MVC3
A more structured MembershipProvider [Technical Blog]
Posted: 21 Sep 2011   Updated: 21 Sep 2011   Views: 9,288   Rating: 0.0 / 5    Votes: 0   Popularity: 0.0
Licence: The GNU Lesser General Public License (LGPLv3)      Bookmarked: 9   Downloaded: 0
A MembershipProvider that uses DependencyResolver to lookup the dependencies that it needs.
Simplified localization for DataAnnotations [Technical Blog]
Posted: 24 Nov 2010   Updated: 26 Sep 2011   Views: 11,516   Rating: 3.33/5    Votes: 3   Popularity: 1.19
Licence: The GNU Lesser General Public License (LGPLv3)      Bookmarked: 3   Downloaded: 0
Simplified localization for DataAnnotations
How to handle errors in ASP.NET MVC [Technical Blog]
Posted: 10 Nov 2011   Updated: 10 Nov 2011   Views: 10,579   Rating: 5.00/5    Votes: 2   Popularity: 1.51
Licence: The GNU Lesser General Public License (LGPLv3)      Bookmarked: 8   Downloaded: 0
With this post, I’ll show how you can use the built-in features in MVC to handle errors.
Griffin.Container: Introducing the command support. [Technical Blog]
Posted: 22 Jun 2012   Updated: 22 Jun 2012   Views: 1,462   Rating: 0.0 / 5    Votes: 0   Popularity: 0.0
Licence: The GNU Lesser General Public License (LGPLv3)      Bookmarked: 0   Downloaded: 0
Commands are a great way to decouple logic in an application, since the command invoker have no knowledge of where the command is handled. You also move the focus from the how the task is solved to the task itself.
HtmlHelper for enums in ASP.NET MVC3 [Technical Blog]
Posted: 6 Apr 2011   Updated: 6 Apr 2011   Views: 5,780   Rating: 5.00/5    Votes: 1   Popularity: 0.00
Licence: The GNU Lesser General Public License (LGPLv3)      Bookmarked: 2   Downloaded: 0
How to get enums to work with HtmlHelpers.
Getting information into the Layout without using ViewBag [Technical Blog]
Posted: 12 Sep 2011   Updated: 12 Sep 2011   Views: 6,959   Rating: 0.0 / 5    Votes: 0   Popularity: 0.0
Licence: The GNU Lesser General Public License (LGPLv3)      Bookmarked: 0   Downloaded: 0
How to get information into the Layout without using ViewBag.
How to handle transactions in ASP.NET MVC3 [Technical Blog]
Posted: 6 Jun 2012   Updated: 6 Jun 2012   Views: 2,853   Rating: 4.50/5    Votes: 2   Popularity: 1.20
Licence: The GNU Lesser General Public License (LGPLv3)      Bookmarked: 2   Downloaded: 0
Handling transactions in ASP.NET MVC3.

Client side scripting

Introducing griffin.editor – a jQuery textarea plugin [Technical Blog]
Posted: 22 Feb 2012   Updated: 25 Feb 2012   Views: 4,378   Rating: 5.00/5    Votes: 1   Popularity: 0.00
Licence: The GNU Lesser General Public License (LGPLv3)      Bookmarked: 4   Downloaded: 0
I’ve tried to find a jQuery editor plugin which works out of the box without configuration. The WMD editor used by stackoverflow.com looked nice but I couldn’t find a version that I got running. My main issue with most editors …Read more »

Session State

Get an unique session in each browser tab [Technical Blog]
Posted: 17 Feb 2012   Updated: 17 Feb 2012   Views: 15,219   Rating: 4.78/5    Votes: 2   Popularity: 0.90
Licence: The GNU Lesser General Public License (LGPLv3)      Bookmarked: 6   Downloaded: 0
Get an unique session in each browser tab

Validation

Introducing a validation library [Technical Blog]
Posted: 28 Oct 2010   Updated: 28 Oct 2010   Views: 5,993   Rating: 5.00/5    Votes: 2   Popularity: 1.51
Licence: The GNU Lesser General Public License (LGPLv3)      Bookmarked: 8   Downloaded: 0
Introducing a validation library

Azure

Azure failed me [Technical Blog]
Posted: 24 Feb 2013   Updated: 24 Feb 2013   Views: 2,341   Rating: 4.33/5    Votes: 3   Popularity: 1.91
Licence: The GNU Lesser General Public License (LGPLv3)      Bookmarked: 1   Downloaded: 0
How Azure failed me.

C#

Generic type restriction for enums [Technical Blog]
Posted: 10 Jul 2011   Updated: 10 Jul 2011   Views: 5,530   Rating: 4.43/5    Votes: 3   Popularity: 2.39
Licence: The GNU Lesser General Public License (LGPLv3)      Bookmarked: 6   Downloaded: 0
How to restrict a generic type identifier to only allow enums.
Generic repositories – A silly abstraction layer [Technical Blog]
Posted: 22 Feb 2012   Updated: 22 Feb 2012   Views: 6,644   Rating: 3.50/5    Votes: 6   Popularity: 2.80
Licence: The GNU Lesser General Public License (LGPLv3)      Bookmarked: 7   Downloaded: 0
Let’s look at what generic repositories give you.
Double check pattern [Technical Blog]
Posted: 10 Jun 2012   Updated: 10 Jun 2012   Views: 2,753   Rating: 0.0 / 5    Votes: 0   Popularity: 0.0
Licence: The GNU Lesser General Public License (LGPLv3)      Bookmarked: 3   Downloaded: 0
Double check pattern in lazy loading.

.NET Framework

The problem with extension methods used as part of a framework. [Technical Blog]
Posted: 16 Sep 2011   Updated: 16 Sep 2011   Views: 6,307   Rating: 0.0 / 5    Votes: 0   Popularity: 0.0
Licence: The GNU Lesser General Public License (LGPLv3)      Bookmarked: 1   Downloaded: 0
Two of my favorite frameworks/libraries uses extension methods heavily. Autofac uses extension methods during registration and ASP.NET MVC3 for their HTML Helpers. Since extension methods are static, they are closed for extension. Which are one of the most important principles …Read more »
ADO.NET, the right way [Technical Blog]
Posted: 6 Jan 2013   Updated: 6 Jan 2013   Views: 6,411   Rating: 4.75/5    Votes: 4   Popularity: 3.01
Licence: The GNU Lesser General Public License (LGPLv3)      Bookmarked: 27   Downloaded: 0
This post will teach you everything from making your ADO.NET code driver independent to how to implement the repository pattern and unit of work.

Date and Time

Displaying date/time using the user timezone in ASP.NET MVC [Technical Blog]
Posted: 23 Nov 2012   Updated: 23 Nov 2012   Views: 2,397   Rating: 0.0 / 5    Votes: 0   Popularity: 0.0
Licence: The GNU Lesser General Public License (LGPLv3)      Bookmarked: 4   Downloaded: 0
This post will show you how you can display date/time using the user timezone (without it being configured anywhere in your application). Storaging dates in your data source The first thing you have to do is to make sure that all dates are stored using Universal Cordinated Time (UTC). The easiest wa

Exception Handling

InvalidOperationException: “Exception” in disguise? Or just the new ApplicationException? [Technical Blog]
Posted: 5 Nov 2010   Updated: 5 Nov 2010   Views: 3,950   Rating: 5.00/5    Votes: 1   Popularity: 0.00
Licence: The GNU Lesser General Public License (LGPLv3)      Bookmarked: 4   Downloaded: 0
Microsoft added ApplicationException with the idea that all exceptions that you made should derive it. Fair point, your should be able to handle your own exceptions, right? The problem is what nobody used it and therefore Microsoft changed it’s recommendation … Continue reading →
Common mistakes when working with exceptions [Technical Blog]
Posted: 27 Nov 2010   Updated: 30 Nov 2010   Views: 6,615   Rating: 4.67/5    Votes: 8   Popularity: 4.21
Licence: The GNU Lesser General Public License (LGPLv3)      Bookmarked: 11   Downloaded: 0
There are a few mistakes that's really common when it comes to exception handling and I thought that I should write a small entry about them. Continue reading →
The art of creating exceptions [Technical Blog]
Posted: 3 Dec 2010   Updated: 6 Dec 2010   Views: 18,320   Rating: 4.72/5    Votes: 16   Popularity: 5.74
Licence: The GNU Lesser General Public License (LGPLv3)      Bookmarked: 27   Downloaded: 0
This will be my final piece on exception handling. It's been fun, but the show must go on, right? Got any suggestion on what I should rant about in this blog? Leave a comment. Continue reading →
Do NOT catch that exception! [Technical Blog]
Posted: 5 Nov 2010   Updated: 1 Mar 2013   Views: 22,727   Rating: 4.97/5    Votes: 24   Popularity: 6.86
Licence: The GNU Lesser General Public License (LGPLv3)      Bookmarked: 42   Downloaded: 0
Ohhh, I've recently seen one to many application where the developers try to be safe by catching exceptions all over the place. It can be everything from a small simple method that doesn't throw that many exceptions to a large method with multiple try/catch statements. Most of those catch blocks jus
What are exceptions? [Technical Blog]
Posted: 3 Apr 2013   Updated: 4 Apr 2013   Views: 3,229   Rating: 5.00/5    Votes: 2   Popularity: 1.51
Licence: The GNU Lesser General Public License (LGPLv3)      Bookmarked: 5   Downloaded: 0
This blog has been quiet for a while. I am currently writing a book about localization. Me and my partner is also getting close to release of our new startup. One of it’s features is to automatically catch unhandled exceptions … Continue reading →
How to design exceptions [Technical Blog]
Posted: 8 Apr 2013   Updated: 8 Apr 2013   Views: 3,769   Rating: 5.00/5    Votes: 1   Popularity: 0.00
Licence: The GNU Lesser General Public License (LGPLv3)      Bookmarked: 11   Downloaded: 0
This article will teach you how you should design your exception classes.
Throwing exceptions [Technical Blog]
Posted: 16 Apr 2013   Updated: 16 Apr 2013   Views: 2,116   Rating: 5.00/5    Votes: 3   Popularity: 2.39
Licence: The GNU Lesser General Public License (LGPLv3)      Bookmarked: 5   Downloaded: 0
Throwing exceptions is in itself trivial. Just invoke throw with an exception object. But when should you throw? Should you create a new exception or rethrow an old one? What should you include in the exception info? What are exceptions … Continue reading →

Internet / Network

New version of Griffin.Networking – A networking library for .NET [Technical Blog]
Posted: 19 Nov 2012   Updated: 19 Nov 2012   Views: 2,730   Rating: 5.00/5    Votes: 1   Popularity: 0.00
Licence: The GNU Lesser General Public License (LGPLv3)      Bookmarked: 10   Downloaded: 0
New version of Griffin.Networking.

Localisation

Better support for localization in ASP.NET [Technical Blog]
Posted: 5 Jan 2013   Updated: 5 Jan 2013   Views: 2,723   Rating: 0.0 / 5    Votes: 0   Popularity: 0.0
Licence: The GNU Lesser General Public License (LGPLv3)      Bookmarked: 3   Downloaded: 0
Support for localization in ASP.NET.

Threads, Processes & IPC

Begin/End asynchronous methods vs the new Async methods [Technical Blog]
Posted: 6 Sep 2011   Updated: 6 Sep 2011   Views: 9,043   Rating: 3.00/5    Votes: 1   Popularity: 0.00
Licence: The GNU Lesser General Public License (LGPLv3)      Bookmarked: 3   Downloaded: 0
An article helping you choose which asynchronous model you should use in your .NET project.

Debug Tips

An easier way to debug windows services [Technical Blog]
Posted: 6 Sep 2011   Updated: 6 Sep 2011   Views: 9,187   Rating: 4.50/5    Votes: 4   Popularity: 2.61
Licence: The GNU Lesser General Public License (LGPLv3)      Bookmarked: 17   Downloaded: 0
Have you got tired of attaching the Visual Studio debugger to the service application? I got the solution just for you! It's a small helper class containing a static method which you need to invoke.
ADO.NET Fakes version 2.0 [Technical Blog]
Posted: 26 Feb 2013   Updated: 26 Feb 2013   Views: 1,427   Rating: 4.00/5    Votes: 1   Popularity: 0.00
Licence: The GNU Lesser General Public License (LGPLv3)      Bookmarked: 3   Downloaded: 0
The library is a complete ADO.NET driver which is designed to aid you in unit testing.

Design and Architecture

Why Domain Driven Design (DDD) is so great [Technical Blog]
Posted: 22 Sep 2012   Updated: 22 Sep 2012   Views: 7,536   Rating: 4.00/5    Votes: 1   Popularity: 0.00
Licence: The GNU Lesser General Public License (LGPLv3)      Bookmarked: 10   Downloaded: 0
This article aims to describe why I think that DDD aids you tremendously in creating robust and flexible applications. Today we got several cool frameworks and libraries that we can use. ORMs, WCF, ServiceStack, SignalR, WebApi, IoC etc etc. Just thinking of all can make any serious developer go cra
A less evil singleton [Technical Blog]
Posted: 22 Jul 2011   Updated: 22 Jul 2011   Views: 4,958   Rating: 5.00/5    Votes: 1   Popularity: 0.00
Licence: The GNU Lesser General Public License (LGPLv3)      Bookmarked: 2   Downloaded: 0
Wrap a singleton in a facade to make it less evil.
Repository pattern, done right [Technical Blog]
Posted: 13 Jan 2013   Updated: 13 Jan 2013   Views: 11,970   Rating: 4.83/5    Votes: 6   Popularity: 3.74
Licence: The GNU Lesser General Public License (LGPLv3)      Bookmarked: 29   Downloaded: 0
This post aims to explain why the Repository Pattern is still a great choice.
Service locator is not an anti pattern [Technical Blog]
Posted: 1 Oct 2012   Updated: 3 Oct 2012   Views: 5,281   Rating: 0.0 / 5    Votes: 0   Popularity: 0.0
Licence: The GNU Lesser General Public License (LGPLv3)      Bookmarked: 6   Downloaded: 0
I'm getting really tired of all blog posts that states that service locator is an anti pattern. It's not.
Liskovs Substitution Principle [Technical Blog]
Posted: 27 May 2011   Updated: 27 May 2011   Views: 7,636   Rating: 5.00/5    Votes: 2   Popularity: 1.51
Licence: The GNU Lesser General Public License (LGPLv3)      Bookmarked: 3   Downloaded: 0
This post is all about LSP.
Single Responsibility Prinicple [Technical Blog]
Posted: 22 Jul 2011   Updated: 22 Jul 2011   Views: 3,857   Rating: 0.0 / 5    Votes: 0   Popularity: 0.0
Licence: The GNU Lesser General Public License (LGPLv3)      Bookmarked: 3   Downloaded: 0
SRP is one of the easiest principles to learn, but one of the hardest to master. The reason to this is that it can be quite hard to see if a method or class breaks SRP or not.
Inversion of control containers – Best practices [Technical Blog]
Posted: 1 Sep 2011   Updated: 2 Sep 2011   Views: 10,982   Rating: 0.0 / 5    Votes: 0   Popularity: 0.0
Licence: The GNU Lesser General Public License (LGPLv3)      Bookmarked: 5   Downloaded: 0
A set of best practices helping you to get the most out of your container.

Work Issues

Repositories, Unit Of Work and ASP.NET MVC [Technical Blog]
Posted: 17 Feb 2012   Updated: 17 Feb 2012   Views: 12,323   Rating: 1.00/5    Votes: 1   Popularity: 0.00
Licence: The GNU Lesser General Public License (LGPLv3)      Bookmarked: 8   Downloaded: 0
There are a lot of posts discussing repository implementations, unit of work and ASP.NET MVC. This post is an attempt to give you and answer which addresses all three issues. Repositories Do NOT create generic repositories. They look fine when …Read more »

Uncategorised Technical Blogs

Simplified autofac registrations [Technical Blog]
Posted: 28 Oct 2010   Updated: 28 Oct 2010   Views: 6,499   Rating: 5.00/5    Votes: 1   Popularity: 0.00
Licence: The GNU Lesser General Public License (LGPLv3)      Bookmarked: 5   Downloaded: 0
Simplified autofac registrations
Nlog configuration [Technical Blog]
Posted: 28 Oct 2010   Updated: 28 Oct 2010   Views: 8,490   Rating: 3.50/5    Votes: 2   Popularity: 1.20
Licence: The GNU Lesser General Public License (LGPLv3)      Bookmarked: 4   Downloaded: 0
I&#8217;ve switched from my own logging framework to nlog. NLog seems quite flexible is under active development and suits my needs perfectly. I&#8217;m logging both to the console and to files using the following configuration file: <section name="nlog" type="NLog.Config.ConfigSectionHandler, &#82
Reintroducing my compiler class. [Technical Blog]
Posted: 22 Jul 2011   Updated: 22 Jul 2011   Views: 2,740   Rating: 1.00/5    Votes: 1   Popularity: 0.00
Licence: The GNU Lesser General Public License (LGPLv3)      Bookmarked: 0   Downloaded: 0
I created a class a couple of years ago which simplifies the CodeCom handling when you want to dynamically create objects in .NET. I got reminded of it when I read a question at stackoverflow.com. The class can be used &#8230;Read more »
Localizing jQuery plugins [Technical Blog]
Posted: 17 Feb 2012   Updated: 17 Feb 2012   Views: 9,779   Rating: 4.00/5    Votes: 1   Popularity: 0.00
Licence: The GNU Lesser General Public License (LGPLv3)      Bookmarked: 2   Downloaded: 0
I&#8217;ve spent some time to figure out how to localize my jQuery plugins and I&#8217;ve just found out a way that works just fine. Disclaimer: I&#8217;m not 100% sure of how namespacing works in jQuery so this might not be &#8230;Read more »

Third Party Products and Tools

How Resharper rocks my average work day. [Technical Blog]
Posted: 11 Feb 2013   Updated: 11 Feb 2013   Views: 1,431   Rating: 5.00/5    Votes: 1   Popularity: 0.00
Licence: The GNU Lesser General Public License (LGPLv3)      Bookmarked: 6   Downloaded: 0
I&#8217;ve been using Resharper since I started coding in .NET/C#. It&#8217;s a tool with a lot of features which aids you in the average day development. In this blog post I&#8217;m going to show you the features that I use the most. Enter ALT+Enter ALT+Enter is the hotkey that you have to start wi
No tips have been posted.

jgauffin
Founder Gauffin Interactive AB
Sweden Sweden
Member
Freelance developer/architect with a passion for code quality, architecture, refactoring, networking and threading.
 
Solid skills in .NET/C#/MVC3
 
Blog: http://blog.gauffin.org


Advertise | Privacy | Mobile
Web03 | 2.6.130516.1 | Last Updated 20 May 2013
Copyright © CodeProject, 1999-2013
All Rights Reserved. Terms of Use
Layout: fixed | fluid