3 June 2021
Using HTMX with ASP.NET Core: Infinite scrolling
I demonstrate how you can add an infinite scrolling experience for a list of items using ASP.NET Core and HTMX
29 May 2021
Using HTMX with ASP.NET Core: Inline editing
I demonstrate how you can add an inline editing experience for a list of items using ASP.NET Core and HTMX
18 April 2021
Starting Jetbrains Rider when it hangs on startup
Shows how you can disable plugins when startin Jetbrains Rider when a plugin interferes with the normal startup process
9 February 2021
Using HTMX with ASP.NET Core: Deleting items with a page refresh
I demonstrate how you can add AJAX delete requests for a list of items using ASP.NET Core and HTMX and implement a page refresh
2 February 2021
Using HTMX with ASP.NET Core: Deleting items
I demonstrate you you can add AJAX delete requests for a list of items using ASP.NET Core and HTMX.
16 January 2021
Using HTMX with ASP.NET Core: Introduction
Often we only want to add a little bit of interactivity to web pages without creating to a full-blown Blazor app or SPA. In this post, I will introduce you to HTMX, an alternative to these technologies.
23 June 2020
Migrating from Google Photos to Flickr
As part of a process of limiting my exposure to Google products, I am migrating my photo storage from Google Photos.
27 February 2020
Using the LINQ OrderBy operator with null values
A quick tip on how to sort null values at the end of a list when using the LINQ OrderBy operator
25 February 2020
Embed surveys in your ASP.NET Core application with SurveyJS
SurveyJS is a JavaScript library that allows you to easily ember user surveys or questionnaires in your application. Let's see how you can use this library in an ASP.NET Core application.
20 February 2020
Scheduling posts when publishing with Gatsby and Netlify
Demonstrates how you can schedule the publishing of content when using Gatsby and Netlify
18 February 2020
Filter user records using Global Query Filters
I demonstrate how you can use EF Core Global Query Filters to filter data belonging to the current user.
12 February 2020
Filter user records using extension methods
A technique to easily filter out database records belonging to the current user.
10 December 2019
Useful ClaimsPrincipal extension methods I use in my projects
Here are a few ClaimsPrincipal extension methods I use in my project to retrieve user information from the claims
4 December 2019
Sending an anti-forgery token with Razor Pages AJAX requests
ASP.NET Razor Pages uses anti-forgery tokens to protect websites against Cross-site request forgery (CSRF) attacks. When posting information to Razor Pages, you need to take special care to send this anti-forgery token otherwise the request will be rejected
2 December 2019
Check for suspicious email addresses when registering users
Check the reputation of a user's email address when registering for your application to try and prevent spammers from registering
29 November 2019
A quick helper method to display user claims
It often happens to me during development that I want to inspect a user's claims. Here is a quick helper method I implement in my projects that displays the user's claims
12 July 2019
Using Tailwind with Gatsby
I continue the migration of my website from Hugo to Gatsby. In this blog post, I look at removing the styling that is included in the blog starter kit and add the Tailwind CSS library to my website.
9 July 2019
Migrating blog posts from Hugo to Gatsby
I continue the migration of my website from Hugo to Gatsby. In this blog post, I look at moving the markdown files with the blog posts as well as the images into the Gatsby website.
8 July 2019
Sorting out the Gatsby folder structure for my blog
In this blog post, I continue migrating my personal website to Gatsby. Specifically, I am looking at how to sort out the folder structure for my blog posts.
4 July 2019
Getting started with the Gatsby blog starter kit
One of the first steps in moving my personal website over to Gatsby is to bring across the blog content. In this blog post I expore Gatsby's blog starter kit and look at my options for bringing my blog content across.
1 July 2019
Migrating my website from Hugo to Gatsby
I have decided to migrate my personal website from Hugo to Gatsby and write a series of blog posts on the process. In this first blog post, I'll discuss the reasons for the change as well as my decision to go with Gatsby.
28 June 2019
Use Polly fallback policies for default return values
Fallback policies in Polly allow you to provide a substitute value in the event of a failure. This is useful in situations you don't want failure to throw an exception, but instead return a default value.
26 June 2019
Use Conveyor to access your IIS Express app over the internet
Conveyor is an extension for Visual Studio that allows you to access your local IIS Express app from the public web. This can be useful in situations where you want to test webhooks, for example.
25 June 2019
Access your local ASP.NET Core web application from the public web
ngrok is tunnelling software that allows you to expose your local web server to the outside world. This is ideal for scenarios like testing webhooks.
10 June 2019
Automatic reconnects with SignalR 3.0
SignalR 3.0 adds the ability to automatically attempt to reconnect clients with the connection to the server is dropped
6 June 2019
How to restore a SQL Azure database locally
This guide will show you how you can create a backup of a SQL Azure Database and restore it to a LocalDB database
12 April 2019
Determine available runtimes on Azure App Service
Demonstrates how to determine the available .NET Core and Node runtimes on Azure App Service
18 March 2019
ModelState interfering with Model Binding in ASP.NET Core
Describes an issue I ran into where ASP.NET Core apparently was not binding to my model correctly which turned out to be a case of ModelState interfering.
20 November 2018
Securing Vue routes when using Auth0 and odic-client.js
Demonstrates how to secure routes in Vue with navigation guards when authentication users with Auth0 and oidc-client.js
14 November 2018
Using Auth0 with Vue and oidc-client.js
Shows how you can make use of the oidc-client JavaScript library to enable users to log in to your Vue application with Auth0.
26 October 2018
Creating clocks for multiple time zones in Windows 10
Demonstrates how you can create clocks for multiple time zones in Windows 10 so you can easily keep track of the current time in another part of the world.
22 October 2018
Cleaning Visual Studio build output using the git clean command
The "Clean Solution" command in Visual Studio does not clear all the build artifacts. Here's how you can use the Git clean command to remove all unwanted build artifacts
12 September 2018
Updating your .NET project dependencies with Dependabot
Dependabot is a service that will automatically create pull requests to update outdated dependencies in your .NET projects.
11 September 2018
Deleting records in ASP.NET Core using AJAX with partial page refresh
This follow-up from my previous blog post on the topic demonstrates how to refresh an entire section of a page when deleting a record with AJAX.
4 September 2018
Some thoughts on remote work
After working remotely for many years, I share some of my thoughts on it and why I am heading back to the office.
14 August 2018
Deleting records in ASP.NET Core using AJAX
You can delete records and update the user interface using Ajax, which gives a much better user experience that refreshing the entire page.
8 August 2018
You might not need Angular
Introduction post to a series of blog posts that demonstrate how you can use the jQuery Unobtrusive Ajax library to achieve interactivity on normal, server-rendered ASP.NET Core applications
24 July 2018
Refresh a Google Access Token with Polly
Google access tokens are short-lived, but you can configure a Polly policy to refresh the access token when expired.
21 July 2018
Store a Dictionary as a JSON string using EF Core 2.1
Demonstrates how you can store the contents of a Dictionary property as a JSON document in your database when using EF Core 2.1
29 June 2018
Change Favicon based on the application state
Changing your application's favicon is a convenient way to communicate the current state of the application to the user.
28 June 2018
Communicate the status of a background job with SignalR
Demonstrates how you can use Coravel to schedule background jobs and then report on the status of a job with SignalR
27 June 2018
Deserializing different JSON structures to the same C# class
The JsonConverter class allows you to deserialize differently structured JSON objects to the same C# class.
26 June 2018
Analyzing .NET Core project dependencies: Finding transitive dependencies
Demonstrate how to use the .NET Core CLI to find transitive dependencies for any .NET Core project.
20 June 2018
Analyzing .NET Core project dependencies: Finding Package References
Demonstrate how to use the .NET Core CLI to analyze dependencies for any .NET Core project.
19 June 2018
Disposing of services when using Dependency Injection with .NET Core console apps
Look at how you can ensure that services are disposed of when using dependency injection with .NET Core Console applications.
31 May 2018
May 2018: My month of shipping
I dedicated May to finishing and shipping all of the half-baked ideas that have been brewing for the past years. This is how it went.
25 May 2018
Using version ranges for package dependencies in .NET project files
When adding package references in your projects files, you are not limited to specifying a specific version. You can specify a version range instead.
11 May 2018
Custom Hits rendering with Algolia InstantSearch
Demonstrates how you can customise the rendering of the result hits when using the Hits widget in Algolia InstantSearch
17 April 2018
Determine the ConsoleColor from a 24 bit hexadecimal color code
The .NET Console is limited to 16 colors. Learn how you can convert a hexadecimal color code to one of the 16 colors available in the console.
11 April 2018
Determine the GitHub repository from the working directory
Determine whether the current working directory is part of a Git repository, and if so, retrieve information for the remote GitHub repository.
5 April 2018
Using ANSI colour codes in .NET Core Console applications
Demonstrates how to use ANSI colour codes in .NET Core console applications, as well as the limitations of this on Windows.
2 April 2018
Retry failed network requests with Polly
Polly is a fault-handling library which allows you to-among other things-implement a retry policy in your applications. This is ideal in situations where you have flaky network connections with intermittent connectivity issues.
27 March 2018
Quick Tip: Pass arguments to your app when using the .NET CLI
A quick tip to demonstrate how you can pass arguments to your application using the .NET CLI
22 March 2018
Getting started with Blazor
Blazor is an experimental .NET web framework using C#/Razor and HTML that runs in the browser with WebAssembly. Let's see how you can start experimenting with this today.
22 March 2018
Generate "pretty" URLs for DocFX websites with Netlify
By default, DocFX generated websites contain the .html file extension in the URL. You can use Netlify's asset optimization features to clean these URLs up.
5 March 2018
Manually supplying certificate when validating RS256 signed JWT with OWIN
Shows how you can validate RS256 signed tokens in the OWIN JWT middleware using an offline certificate.
1 March 2018
Implementing an OpenIddict Authorization server: Social Login with GitHub
Expanding the OpenIddict authorization server to allow users to sign in with their GitHub accoouts.
26 February 2018
Implementing an OpenIddict Authorization server: A Basic Authorization Server
A basic introduction to creating an OpenIddict authorization server for OpenID Connect clients.
25 January 2018
Using ShareX for blogging or documentation screenshots
A walthrough of my ShareX configuration for creating screenshots for blog posts and other forms of documentation.
23 January 2018
Creating a Github Webhook with ASP.NET Core and AWS Lambda
AWS Lambda is an ideal use case for developing GitHub Webhooks. Here's looking at how you can implement one using ASP.NET Core.
4 January 2018
Authenticate with OAuth 2.0 in ASP.NET Core 2.0
An introduction to the generic OAuth 2.0 authentication handler in ASP.NET Core 2.0 which allow you to authenticate users using any OAuth 2.0 provider.
20 December 2017
Using Tailwind with Angular
A look at using the Tailwind CSS framework in Angular applications, allowing you to rapidly build custom user interfaces.
13 December 2017
Using Tailwind with Vue
A look at using the Tailwind CSS framework in Vue applications, allowing you to rapidly build custom user interfaces.
12 December 2017
Using MariaDB with ASP.NET Core 2.0
MariaDB is an open source database compatible with MySQL. Here's looking at how you can use this in your ASP.NET Core application.
11 December 2017
TIL: The @ symbol in JavaScript import statement
A quick explainer of the @ symbol in the JavaScript imports statements for Vue applications.
6 December 2017
Building future dated previews with Hugo and Netlify
You can use the netlify.toml file in your repository to override Netlify build settings, allowing you to generate future posts for certain branches.
5 December 2017
Why I like Netlify
I have switched my blog over to Hugo hosted on Netlify. Here are some great Netlify features I think you will like.
4 December 2017
Add mapping to your application with Leaflet.js
Leaflet is a great free, open source JavaScript library which allow you to add mapping to your applications.
20 November 2017
Creating Authorization Policies dynamically with ASP.NET Core
A great tip I picked up from an NDC Oslo presentation which shows how you can dynamically create authorization policies for the ASP.NET Core authorization middleware.
14 November 2017
Obtaining an Access Token from a GitHub Application Webhook
Shows how to generate an access token to call the GitHub API when creating a Webhook for a GitHub application.
23 October 2017
Scheduling Hugo posts on Netlify
A look at a couple of approaches you can use to schedule future posts using Netlify and Hugo.
15 October 2017
Initial thoughts on the Lenovo X1 Carbon (5th Gen)
I upgraded to a new 5th Generation Lenovo X1 Carbon. Here are some of my initial thoughts.
12 September 2017
Forcing user to sign in with their Google Organization (G Suite) account
Demonstrates how you can configure the Google authentication handler to only allow users from a certain domain to sign in to your application.
10 September 2017
Razor Pages tip: Define extra handlers for a Razor Page
Razor Pages allow you to define extra handlers over and above the normal OnGet and OnPost handlers. This can be useful for handling AJAX requests.
7 September 2017
How to exclude files from Git only on your computer
A useful tip for exluding files from just your own local Git repository by using the .git/info/exclude file
5 September 2017
Tips for developing templates for dotnet new
The .NET Core CLI allow you to supply custom templates for creating new projects. Here's looking at some resources for developing your own templates
6 August 2017
Using Visual Studio Code for C# (.NET Core) development
VS Code is a great tool for developing ASP.NET Core applications. Here's looking at some resources which you will find useful.
1 August 2017
Accessing the OIDC tokens in ASP.NET Core 2.0
The ASP.NET Core OIDC middleware allow you to save the ID Token and Access Token, so you can access these in your application.
30 May 2017
Overriding the NameClaimType when using the ASP.NET Core OpenID Connect middleware
Overriding the NameClaimType when in the ASP.NET Core OpenID Connect middleware allow you to specify a different claim from the ID Token to use as the name of the subject.
26 May 2017
Access the JWT bearer token when using the JWT middleware in ASP.NET Core
When using the ASP.NET Core JWT authentication handler, there are instances in which you may want to access the actual bearer token which was passed to the request.
18 May 2017
Determine a user's location from their IP Address in ASP.NET Core
You can determine a user's location from their IP Address. It is not as accurate as the HTML 5 Geolocation API, but their are many instances where this is acceptable.
7 May 2017
Creating a Serverless Application with ASP.NET Core, AWS Lambda and AWS API Gateway
Creating a simple serverless application using ASP.NET Core, AWS Lambda and AWS API Gateway
11 April 2017
Creating a Serverless Application with .NET Core, AWS Lambda and AWS API Gateway
A look at creating a simple serverless application using .NET Core, AWS Lambda and AWS API Gateway
10 April 2017
Manually validating a JWT using .NET
Shows how you can manually validate a JSON Web Token using .NET
10 April 2017
Preventing a UWP ListView item to be reordered
Demonstrates how you can prevent an item in a UWP ListView to be reordered.
23 March 2017
Compress images with C#, .NET Core, AWS Lambda and TinyPNG
Get started with C# and .NET Core by creating a Lambda function which compresses images uploaded to S3 using TinyPNG.
22 March 2017
Getting started with .NET Core and AWS Lambda
A look at some resources to get you started with developing .NET Core applications hosted on AWS Lambda
18 February 2017
Compress Images using the TinyPNG CLI
The TinyPNG CLI is a command-line tool that allows you to shrink images using the TinyPNG API.
16 February 2017
Vue.js Learning Resources
A look as some of the resources I find useful for learning Vue.js
10 February 2017
The Japanese Business Card Exchange Ritual
Looking at the peculiar culture of business card exchange in Japan
31 January 2017
Handling validation responses for ASP.NET Core Web API
Shows how you can alter the response sent from your Web API in response to validation errors
5 December 2016
Managing Cookie Lifetime with ASP.NET Core OAuth 2.0 providers
Demonstrates how you can manage the lifetime of the authentication cookie when using the ASP.NET Core OAuth 2.0 authentication providers
24 November 2016
Running a specific test with .NET Core and NUnit
Demonstrates how to run a single unit test, or sets of unit tests, when using the NUnit 3 test runner for .NET Core.
24 November 2016
Using Configuration files in .NET Core Unit Test Projects
Demonstrates how you can use the .NET Core Configuration system in .NET Core unit test projects
12 July 2016
Using Roles with the ASP.NET Core JWT middleware
The JSON Web Token middleware in ASP.NET Core knows how to interpret roles inside your JWT.
7 July 2016
Adding parameters to the OpenID Connect Authorization URL
I show how you can add extra parameters to the Authorization URL when using the ASP.NET Core OpenID Connect middleware.
31 May 2016
Accessing the Request object inside a Tag Helper in ASP.NET Core
I look at a couple of options you can use when you want to access the Request object inside your Tag Helper.
30 May 2016
ASP.NET Core: No more worries about checking in secrets
I talk about the new configuration model in ASP.NET Core and how it can protect you from accidentaly checking secrets into source control.
6 March 2016
Using custom converters in JSON.NET: Array or Object?
Custom converters in JSON.NET allow you to write custom logic when serializing or deserializing JSON. In this post I look at an example where the JSON returned could be either an object or an array.
7 February 2016
Using JsonExtensionData with JSON.NET
The JSON.NET JsonExtensionData attribute allows you to serialize elements of a JSON document which does not have matching properties to a collection.
24 January 2016
Assign execute permissions with Git
Ran into a "Permission Denied" problem recently on Linux with executing a script from Jenkins, and this is how it was resolved.
5 January 2016
5 Weeks of ASP.NET Weekly Tools and Libraries - Part 5
Part 5 in a series of 5 blog posts which recaps the Tools and Libraries I covered during 2015 in ASP.NET Weekly
29 December 2015
5 Weeks of ASP.NET Weekly Tools and Libraries - Part 4
Part 5 in a series of 5 blog posts which recaps the Tools and Libraries I covered during 2015 in ASP.NET Weekly
22 December 2015
5 Weeks of ASP.NET Weekly Tools and Libraries - Part 3
Part 3 in a series of 5 blog posts which recaps the Tools and Libraries I covered during 2015 in ASP.NET Weekly
15 December 2015
5 Weeks of ASP.NET Weekly Tools and Libraries - Part 2
Part 2 in a series of 5 blog posts which recaps the Tools and Libraries I covered during 2015 in ASP.NET Weekly
8 December 2015
5 Weeks of ASP.NET Weekly Tools and Libraries - Part 1
Part 1 in a series of 5 blog posts which recaps the Tools and Libraries I covered during 2015 in ASP.NET Weekly
1 December 2015
Taking a break from blogging new content for a while
I will take a break from blogging new content for December and perhaps a part of January as well, and will feature some of the content from ASP.NET Weekly.
24 November 2015
Unit testing ASP.NET 5 Controllers with Entity Framework 7 In-Memory Database
I look at how you can use the new In-Memory database support in Entity Framwork 7 to unit test your controllers.
17 November 2015
Finding work as a freelance software developer
I discuss a few of the techniques you can use to find work as a freelance developer or contractor.
10 November 2015
Allowing user to set culture settings in ASP.NET 5: Part 2
I demonstrate how you can allow users to save even more fine grained culture settings preferences against their profile.
3 November 2015
Allowing user to set culture settings in ASP.NET 5: Part 1
I demonstrate how you can allow users to save their culture settings preferences against their profile.
27 October 2015
Moving your Entity Framework 7 models to an external project
A look at how you can keep your Entity Framework models in a separate project from your main ASP.NET 5 project.
20 October 2015
How ASP.NET 5 determines the culture settings for localization
I describe the steps the ASP.NET 5 Localization middleware takes to determine the correct culture settings for a specific request.
13 October 2015
Unit testing controllers in ASP.NET 5 (MVC 6)
One of the new things I had to figure out in doing unit testing in ASP.NET 5 was how to mock the necessary infrastructure to test my controllers. In this blog post I show a few techniques you can use.
6 October 2015
Setting the thread culture in ASP.NET 5
A quick note on setting the Culture in your ASP.NET 5 application to a specific setting.
29 September 2015
Using enums with the ASP.NET 5 (MVC 6) Select TagHelper
The new select TagHelper allows you to bind to an enumerated type, and I show you how you can display a list of possible values in the Select list.
22 September 2015
Creating a lightweight API wrapper with Refit
I demonstrate how you can create your own very lightweight API wrapper when you don't want to use a large external library to access with external APIs, or when no official wrappers exists for an API.
15 September 2015
Using Option Groups with the Select TagHelper in MVC 6
Demonstrates the support of the new Select TagHelper in MVC for option groups (OptGroup)
8 September 2015
Calling contributors for OAuth providers for ASP.NET 5
A call for contributors to help with the new OAuth providers for ASP.NET 5
1 September 2015
Allowing users to quicky add records with an 'Add Another' checkbox
Shows a simple technique you can use to allow users to quickly add records by selecting a checkbox that indicates that they want to add another record after saving.
25 August 2015
Dependency injection with Autofac and Azure WebJobs
Shows how you can use Autofac to resolved WebJob instances and inject dependencies into your web jobs
18 August 2015
Resolve dependencies differently depending on whether user is logged in
I demonstrate how you can use Autofac to resolve dependencies differently based on whether the user is authenticated or not.
11 August 2015
Unit Testing with NBuilder and NSubstitute using either a FakeDBSet or a mock DbSet
I extend the example from the previous blog post to demonstrate how you can unit test by mocking DbSet instead of using a fake DbSet.
4 August 2015
Unit Testing with FakeDBSet and NBuilder
I show how I unit test queries against my DbContext using a Fake DBSet and NBuilder.
3 August 2015
Please update RSS feed subscription to this blog
I am moving my blog to Jekyll soon. Please update RSS feeds
28 July 2015
Generating SEO (and user) friendly URLs in your ASP.NET MVC Application
Demonstrates how you can generate URLs in your application which are not only more friendly to search engines, but for users as well.
21 July 2015
Reasons I like NSubstitute: Generate output based on input parameters
NSubstitute is a mocking framework for .NET. One of the reasons I like NSubstitute is because you can generate the output for a mocked function call, based on the input parameters passed to the function.
14 July 2015
Communicate from an Azure WebJob to your website with SignalR
Demonstrates how you can use SignalR to communicate the progress of background tasks from a Azure WebJob to your ASP.NET website.
7 July 2015
Create test data with NBuilder and Faker
Shows how you can easily create test data with NBuilder and Faker as part of your Seed data generation process for Entity Framework.
30 June 2015
Popup OAuth authentication with ASP.NET and SignalR
Shows how you can authenticate a user with an OAuth provider using a popup dialog. Also uses SignalR for callbacks to automatically refresh the page after authentication.
14 June 2015
Observations from living in Southeast Asia for two and a half years
Some of my observations from living in Southeast Asia for the past two and a half years (most of it in Thailand)
19 May 2015
Resolve your DbContext as an interface using the ASP.NET 5 dependency injection framework
Shows how you can extract an interface from your DbContext and then resolve the interface with the ASP.NET 5 dependency injection framework
12 May 2015
2 Approaches when rendering a list using the Bootstrap grid system
Discussing 2 different approaches you can use when rendering a list of items in a row and column layout using the Bootstrap grid system.
27 April 2015
Using the ASP.NET OAuth providers without ASP.NET Identity
The ASP.NET OAuth providers do not have to be used in conjunction with ASP.NET Identity. I show you how you can use them on their own.
21 April 2015
Advanced configuration in the ASP.NET 5 Generic OAuth Provider
I cover a couple of more advanced configuration scenarios in the ASP.NET 5 generic OAuth authentication provider, such as Scopes and retrieving user information.
14 April 2015
An introduction to the ASP.NET 5 Generic OAuth Provider
An introduction to the new generic OAuth authentication provider which is part of ASP.NET 5
7 April 2015
Unit testing with Dates
Testing business logic which depends on the current date for calculation can be a bit tricky. I show you how you can mock the current date so you can write better unit tests for this code.
24 March 2015
The ASP.NET Developer's guide to Bootstrap
A few resources for ASP.NET developers to help you with learning and getting more value from Twitter Bootstrap.
20 March 2015
Hey ASP.NET developers: Twitter is stealing from your 140 characters
When using the word ASP.NET in Twitter, Twitter will use 22 characters instead of 7. This blog post shows you how to fool Twitter.
4 March 2015
Paging in ASP.NET Web API: Real-time ID-based Navigation
Looking at how we can page over real-time data by using the ID of the record
25 February 2015
Paging in ASP.NET Web API: Generating Pagination Links
Looking at how we can allow users of our API to page through result sets by giving them pagination links to follow when requesting.
18 February 2015
Paging in ASP.NET Web API: Using HTTP Headers
Looking at how we can implement paging in ASP.NET Web API by sending paging meta data in HTTP Headers. Also looks how you can request specific pages through headers.
11 February 2015
Paging in ASP.NET Web API: Using a JSON Envelope
Looking at how we can implement paging in ASP.NET Web API by wrapping the result set in a simple JSON envelope containing the data as well as paging meta data.
20 January 2015
Paging in ASP.NET Web API: Introduction
An introductory post on my new series on how to do paging in ASP.NET Web API. This will look at the various techniques used by some of the most popular APIs
8 December 2014
My favourite Nuget packages for .NET development
A list of all my favourite Nuget packages which I seem to use over and over again
2 December 2014
Using Autofac and Common Service Locator with Azure WebJobs
Demonstrates how to use Autofac and the Common Service Locator to resolve dependencies in Azure WebJobs
18 November 2014
Creating a Dropbox Webhook in ASP.NET
Demonstrates how to create a Dropbox webhook in ASP.NET and ensure that requests to the webhook originates from Dropbox
3 November 2014
Building an interactive grid with ASP.NET Web API and AngularJS: Add searching (Part 5)
Demonstrates how to build a grid with sorting and paging using ASP.NET Web API, AngularJS, Restangular and ng-Table. This is Part 5 which adds searching.
28 October 2014
Building an interactive grid with ASP.NET Web API and AngularJS: Add sorting (Part 4)
Demonstrates how to build a grid with sorting and paging using ASP.NET Web API, AngularJS, Restangular and ng-Table. This is Part 4 which adds sorting.
21 October 2014
Building an interactive grid with ASP.NET Web API and AngularJS: Add paging and ngTable (Part 3)
Demonstrates how to build a grid with sorting and paging using ASP.NET Web API, AngularJS, Restangular and ng-Table. This is Part 3 which adds paging and ngTable.
14 October 2014
Building an interactive grid with ASP.NET Web API and AngularJS: A basic grid (Part 2)
Demonstrates how to build a grid with sorting and paging using ASP.NET Web API, AngularJS, Restangular and ng-Table. This is Part 2 which adds a very basic grid.
7 October 2014
Building an interactive grid with ASP.NET Web API and AngularJS: The basic setup (Part 1)
Demonstrates how to build a grid with sorting and paging using ASP.NET Web API, AngularJS, Restangular and ng-Table. This is Part 1 which covers the basic setup.
22 September 2014
Switching to Statamic
Chronicles my experiece in moving my blog from Hexo on Azure to Statamic running on Linux.
28 July 2014
Determine which command is assigned to a keyboard shortcut in Visual Studio
How to determine which Visual Studio command is assigned to a specific keyboard shortcut.
23 July 2014
Share translations between ASP.NET MVC and AngularJS
The ASP.NET MVC (or Web API) and AngularJS parts of your apps share the same translations. This shows how you can share those using a single source for translations.
13 July 2014
Remote Client Side Validation with FluentValidation
Extending your use of the FluentValidation library by integrating it with the remote validation in jQuery Validation.
27 March 2014
Cleanup Code in Resharper not available
Sometimes you may find that the Resharper Code Cleanup option is not available. This discusses the likely cause and how to work around it.
25 March 2014
Using Google Authenticator with ASP.NET Identity
Extends the 2 factor autentication in ASP.NET Identity 2 to also add support for the Google Authenticator application.
24 February 2014
2 Factor Authentication via SMS with ASP.NET Identity 2.0 and Twilio
Shows how you can send the emails for the 2 factor authentication in your ASP.NET MVC application via Twilio.
18 February 2014
2 Factor authentication with ASP.NET Identity 2.0 - Beta 1
ASP.NET Identity 2.0 adds support for adding 2 factor authentication to your application. This walks you throught the process of setting it up.
27 November 2013
OWIN OAuth provider for GitHub
Introduces you to the GitHub OAuth provider for ASP.NET MVC (using OWIN) and shows you how to use it in your own projects.
26 November 2013
Introducing the Yahoo and LinkedIn OAuth security providers for OWIN
Introduces you to the Yahoo and LinkedIn OAuth providers for ASP.NET MVC (using OWIN) and shows you how to use them in your own application.
11 November 2013
Google+ OAuth Sign In for ASP.NET Identity
ASP.NET MVC 5 does not include an OAuth login provider for Google+ out of the box. This post shows how you can create your own.
5 November 2013
How to disable item selection in the WinRT GridView
Demonstrates how you can disable selection of Windows 8.1 GridView items dynamically by using a DataTemplateSelector
31 October 2013
3 Techniques you can use to make your data templates dynamic
Demonstrates how you can use Value Converters, Data Template Selectors and the Visual State Manager to make your Windows 8.1 GridView data templates more dynamic.
28 October 2013
Get the Twitter profile image using ASP.NET Identity
You have authenticated a user in your ASP.NET application using their Twitter profile, but how do you store the Twitter OAuth token to make subsequent API calls? This shows you how.
21 October 2013
3 Ways to add modern icon goodness to your Windows 8.1 app
Discusses 3 different options you can use to add modern icons to your Windows 8.1 XAML application.
18 October 2013
Pretty social login buttons for ASP.NET MVC 5
Demonstrates how to customize the login buttons in ASP.NET MVC 5 with the look and feel of the various Social Media Networks
15 October 2013
Mocking an abstract class using NSubstitute
Sometimes it is necessarry to mock an abstract class. I demonstrate how you can achieve this using NSubstitute as your mocking framework.
12 August 2013
Plan B: Data scraping
When there are no official APIs to integrate with an external system you can always fall back on the time tested method of screen scraping. We take a look at how you can do this.
8 August 2013
7 ways in which you can contribute to Open Source projects
Even if you cannot contribute source code to an open source project, there are various other ways in which you can help out. We take a loot at a few of those.
5 August 2013
Extracting Open Graph Protocol Data
Demonstrates how you can download Open Graph data from a web page using the AngleSharp library.
22 July 2013
Introduction to the Open Graph Protocol
A brief introduction to the Open Graph protocol which you can use to add context to your HTML pages which is understood by Facebook and others.
8 July 2013
App Certification Chronicles: Facebook Accounts and the In-App Purchase
My first attempt at submitting an app to the Windows 8 app store went less than spectacular. Here are a few things which you need to look out for.
3 July 2013
Breaking up with Facebook when you're an App developer
When you are a developer who registered an application in Facebook, deleting your Facebook account will also delete you application. This shows you how to transfer your Facebook application to a new "developer only" Facebook account
19 June 2013
Add an RSS feed to Feedly using the RSS Subscription Extension
Configure the RSS Subscription extension in Google Chrome to quickly add any RSS feed to your Feedly subscriptions.
12 June 2013
Using Fluent Validation with ASP.NET MVC – Part 4: Database Validation
Part 4 of 4 of my introduction to using FluentValidation in ASP.NET MVC. This post covers how to validation against your database.
26 May 2013
Using Fluent Validation with ASP.NET MVC - Part 3: Adding Dependency Injection
Part 3 of 4 of my introduction to using FluentValidation in ASP.NET MVC. This post covers how to inject dependencies into your validation classes.
13 May 2013
Using Fluent Validation with ASP.NET MVC - Part 2: Unit Testing
Part 2 of 4 of my introduction to using FluentValidation in ASP.NET MVC. This post covers how to unit test your validation classes.
6 May 2013
Using Fluent Validation with ASP.NET MVC - Part 1: The Basics
Part 1 of 4 of my introduction to using FluentValidation in ASP.NET MVC. This post covers the basics of setting up FluentValidation.
19 April 2013
How TDD assists me
My take on how I use Test Driven Development to stay on track and keep moving forward with my work, even when I am offline.
20 March 2013
Synchronising collections using ReactiveUI
Demonstrates how you can subscribe to the collection change notifications in ReactiveUI to keep to sepate collections in sync.
10 March 2013
Google+ Signin for ASP.NET MVC 4
Demonstrates how to create a Google+ sign in button for your ASP.NET MVC 4 website.
25 February 2013
Split Views and ViewModels in Caliburn Micro
Demonstrates how to configure the ViewLocator and ViewModelLocator in Caliburn Micro when you split your Views and View Models across different assemblied.
21 February 2013
Caliburn Micro: Beware the default Windows Store app templates
When setting the DataContext property of a XAML page in a Windows 8 Store app, Caliburn Micro does not set the DataContext to the correct View Model.
18 February 2013
Passing custom parameters to Caliburn Micro actions
Demonstrates how you can pass custom parameters to Caliburn Micro actions by using the SpecialValues collection of the MessageBinder class.
9 February 2013
Customizing External Login Buttons in ASP.NET MVC 4
Demonstrates how to customize the login buttons in ASP.NET MVC 4 with the look and feel of the various Social Media Networks.