August 6, 2026 ·
11 min readBefore I could talk to a Tessel 2 I had to get a command line tool from 2015 running on a 2026 machine, which turned out to be a bigger project than I expected and didn't touch the hardware at all.
August 3, 2026 ·
13 min readBefore you can fix something you have to know what it is, so I went digging through a decade of stale repos to find out what's actually running on a Tessel 2.
July 31, 2026 ·
6 min readI've got a box full of Tessel 2 boards that haven't been touched in years and I don't know if they even work anymore, so let's find out.
July 3, 2026 ·
6 min readHow I migrated the Aspire Community Toolkit's NuGet publishing workflows from a long-lived API key to NuGet trusted publishing with GitHub OIDC.
June 18, 2026 ·
7 min readHow we evolved from static test lists to intelligent test selection in GitHub Actions to make CI/CD faster and smarter.
May 25, 2026 ·
7 min readHow I built an automated intake process for external plugins in the Awesome Copilot marketplace using GitHub Issues, Actions, and a healthy dose of supply chain paranoia.
May 13, 2026 ·
4 min readA small Windows automation that lets me launch my GitHub Copilot terminal profiles straight from Explorer.
February 9, 2026 ·
4 min readA look back at the year that was
December 9, 2025 ·
5 min readWith the recent release of the Aspire Community Toolkit v13, let's see how AI was used to help with the release.
December 3, 2025 ·
7 min readA look at how I used AI to help me revive my blog after a year of neglect.
January 13, 2025 ·
7 min readThe story of my 2024 running journey.
January 9, 2025 ·
4 min readA look back at the year that was
September 1, 2024 ·
3 min readSpring has sprung here in Australia and it's time for the house to adapt
August 13, 2024 ·
11 min readLet's have some fun with Generative AI
June 3, 2024 ·
6 min readA look at how to connect to an Azure PostgreSQL Flexible Server using Entra ID rather than username/password using Npgsql
February 22, 2024 ·
3 min readWith Aspire Preview 3 there is a new service connector for OpenAI, let's check it out.
January 23, 2024 ·
2 min readTired of losing all the data when you restart your .NET Aspire app? Let's fix that!
January 9, 2024 ·
5 min readA look back at the year that was
January 1, 2024 ·
13 min readThe story of my 2023 running journey.
December 2, 2023 ·
12 min readWalking into a room, lights turning on, feels like magic.
October 29, 2023 ·
3 min readLet's get responses to the client as fast as we can.
October 6, 2023 ·
3 min readEverything is better with visuals.
September 20, 2023 ·
15 min readIt seems to be my lucky day, I've gotten about a dozen of these in the last 24 hours.
September 7, 2023 ·
10 min readChatty - finish this sentence for me
September 4, 2023 ·
4 min readLet's take a look at the SDK for OpenAI and have we can use it.
September 1, 2023 ·
4 min readIt's time to start a new series with everyone's favourite topic of the moment, AI!
August 18, 2023 ·
10 min readLet's take our smart home to the next level with a wall mounted dashboard!
June 22, 2023 ·
7 min readLet's setup a NAS and backups for our smart home.
April 27, 2023 ·
5 min readIt's time to go on a holiday, but what about your smart home?
March 15, 2023 ·
6 min readWe've seen how we can use DAB with SWA and React, now let's look at how we can use it with SWA and Blazor
March 15, 2023 ·
6 min readWant to easily create a GraphQL API for your Azure Database? Well, let's see how easy it is with SWA Database Connections.
March 15, 2023 ·
7 min readIt's never been easier to create a GraphQL server on Azure, let's check out what's new
March 1, 2023 ·
11 min readYou know what's fun? Having to debug your own home...
February 13, 2023 ·
14 min readBecause a physical key is so old school
February 3, 2023 ·
12 min readNext job on the smart home, motorised blinds
January 16, 2023 ·
6 min readWe installed a motorised gate, so guess what, I need to automate it!
January 11, 2023 ·
3 min readSometimes we want to add things to a devcontainer, but how do we do that in the simplest way
January 11, 2023 ·
4 min readA look back at the year that was
January 5, 2023 ·
14 min readIt's time to get to the thing most people associate with a smart home, lights.
January 3, 2023 ·
6 min read2022 was a tough year
January 2, 2023 ·
17 min readThe story of my running in 2022
November 7, 2022 ·
9 min readWhat day do the bins go out? What bins are we putting out this week?
October 24, 2022 ·
13 min readIt's starting to get warm in Sydney, let's get the ceiling fans working with Home Assistant
October 10, 2022 ·
5 min readWe're improving the support for Next.js on Azure Static Web Apps, check out what's new!
October 10, 2022 ·
4 min readGraphs are great for DoS queries, so how can we prevent them?
August 24, 2022 ·
4 min readA second take on how to work with CosmosDB's docker-based emulator
August 23, 2022 ·
5 min readAnother day, another phish
August 18, 2022 ·
7 min readIt's time to start automating, and let's start with our appliances
August 18, 2022 ·
8 min readLook, another phishing attempt. Let's unpack this one
August 17, 2022 ·
5 min readWith Synthetic GraphQL we created resolvers to pass-through to REST calls, but what if we want to have resolvers on types other than Query
August 16, 2022 ·
8 min readIt can be a lot of work to rewrite your APIs to GraphQL, but what if we could do that on the fly
August 15, 2022 ·
4 min readAlways good to keep your subscriptions clean, but how do you know what's not needed
August 9, 2022 ·
2 min readCustom SWA deployments can cause problems with adding PR comments, but it's an easy fix
July 26, 2022 ·
3 min readSensors, lights, plugs, switches, wifi, ZigBee, Z-Wave, oh my...
July 22, 2022 ·
3 min readDeploying Blazor to SWA but want different config per-environment? Here's how to do it
July 19, 2022 ·
9 min readThe default SWA pipeline is a good starting point, but let's look at how to split it up more.
July 18, 2022 ·
7 min readI'm building a smart home, so come join my journey
July 14, 2022 ·
6 min readThis took a lot of chasing down to work out, so hopefully I can save you some time
June 29, 2022 ·
7 min readI'm trying to get better at using Infrastructure as Code, so first up - deployments with SWA!
June 16, 2022 ·
11 min readLet's take a look at making OAuth2 simpler with APIM Authorizations
May 10, 2022 ·
6 min readA look at a phishing attempt on me today
May 2, 2022 ·
2 min readWanting to learn GraphQL? Come join my workshop
April 8, 2022 ·
4 min readAre you using Static Web Apps and wanting to know the URL of the app you deployed in GitHub Actions? Here's how to do it
March 4, 2022 ·
15 min readLet's setup the ultimate local dev experience for making web applications.
February 8, 2022 ·
8 min readA new tool for generating OpenAPI specs from JavaScript and TypeScript Azure Functions
January 17, 2022 ·
7 min readBringing this little service to the modern age
January 12, 2022 ·
11 min readThe story of my running in 2021
January 11, 2022 ·
5 min readA look back at the year that was
December 7, 2021 ·
5 min readLogging and monitoring are important to understand how an app is performing, so let's integrate that into Apollo
November 16, 2021 ·
1 min readCatch up on the panel session on the State of Serverless from GraphQL Summit 2021
November 16, 2021 ·
1 min readI make a lot of Azure Static Web Apps, so I make it easier to scaffold them.
November 2, 2021 ·
3 min readWe've got local dev with Keystone working, now we'll look at what we need for hosting
November 2, 2021 ·
4 min readIt's time to start a new series on using Keystone on Azure. Let's look at how we setup a local dev environment.
October 14, 2021 ·
7 min readCurious on how to run Strapi 3 on Azure without learning about VM's, check this out then!
September 1, 2021 ·
8 min readIt's been a month since I got my Moonlander, so how's it all going?
August 31, 2021 ·
1 min readHere's how to regen all your keys for CosmosDB
July 29, 2021 ·
10 min readI decided to upgrade my keyboard to a split layout, here's my first impressions
July 16, 2021 ·
8 min readSWA gives you authentication, but without much of a user profile, so let's look at how to add that.
July 11, 2021 ·
3 min readLet's look at how to work with Azure Functions output bindings from F#, specifically for CosmosDB
July 9, 2021 ·
2 min readDo you want to do changes to how CosmosDB serialises/deserialises data in the Azure Function bindings? Then have a read of this post.
July 9, 2021 ·
1 min readCheck out our live stream on F# and web development, with Fable and Azure Functions
July 9, 2021 ·
2 min readSome templates to make it easier to get started with F# and Static Web Apps
July 5, 2021 ·
11 min readIt's time to talk authentication, and how we can do that with GraphQL on Azure
July 2, 2021 ·
5 min readAuthenticated SWA endpoints can be tricky to test, as you don't control the headers... until now!
June 24, 2021 ·
6 min readLet's look at how we can solve the deployment when using Blazor and TypeScript in a single SWA project
June 3, 2021 ·
1 min readThere's so many awesome new tools to make web dev easier, let's check some of them out.
May 27, 2021 ·
10 min readI'm mad about devcontainers, so let's take it to the limits!
May 25, 2021 ·
6 min readLet's check out the Azure Static Web Apps CLI and how to use it with VS Code
May 12, 2021 ·
5 min readWith Azure Static Web Apps supporting custom authentication, let's look at how we can use Auth0 as a provider.
May 12, 2021 ·
6 min readWith Azure Static Web Apps supporting custom authentication, let's look at how we can use Okta as a provider.
April 29, 2021 ·
6 min readWhile remote workshops can be hard, here's a few tools to make them a little easier.
March 30, 2021 ·
2 min readLet's look at how to make it a little easier to work with authenticated Static Web App APIs
March 15, 2021 ·
5 min readIt's time to take a look at how we can do real-time GraphQL using Azure
March 8, 2021 ·
6 min readA look at devcontainers and why you should have them on all projects
January 22, 2021 ·
8 min readLet's look at how we can extend the GitHub CLI to give us information about GitHub Actions
January 11, 2021 ·
8 min readLast year I wrote a post about how I implemented an overly complex approval workflow with GitHub Actions. While it wasn’t the simplest solution, at the time it was a means to …
January 4, 2021 ·
3 min readA look back at the year that was
December 21, 2020 ·
1 min readI created a small npm package to make SWA auth simpler in React apps
December 15, 2020 ·
3 min readThe result of me nerd-sniping myself
December 10, 2020 ·
16 min readDynamically generating forms can be a challenge, so let's break down how to do it with React Hooks
December 7, 2020 ·
1 min readCheck out my session on DevOps Labs about Static Web Apps
November 23, 2020 ·
4 min readComing to a project with a lot of dependencies to update? Here's how to script it
November 12, 2020 ·
1 min readWant to learn some of the best parts of .NET 5? Join me at Devs Speak
November 6, 2020 ·
6 min readLet's look at how to automate releases to GitHub Packages using GitHub Actions
November 5, 2020 ·
7 min readWe've got access to the camera, now to display the feed
October 22, 2020 ·
7 min readLights, camera, action! It's time to get devices for our app.
October 21, 2020 ·
1 min readFirst we created a JavaScript series, now it's Node.js time
October 19, 2020 ·
2 min readSolving problems no one has with tools they don't need!
October 13, 2020 ·
1 min readGet ready to dive into all things JavaScript
October 8, 2020 ·
5 min readLet's look at how we can make a foldable web experience using React for the Surface Duo
October 6, 2020 ·
5 min readLet's get started with building our video chat app
September 29, 2020 ·
1 min readLet's check out a new Azure service and build a video calling app
September 17, 2020 ·
9 min readWe're defining a GraphQL schema with a type system, but can we use that type system for our application?
September 8, 2020 ·
9 min readCan you make a two PC stream setup without spending much money?
September 4, 2020 ·
12 min readLet's take a look at how to integrate a data source with GraphQL on Azure
August 21, 2020 ·
8 min readLet's have a look at how to create and use custom events in JavaScript
August 12, 2020 ·
2 min readA quick tip on how to make it easier to diagnose production problems with Static Web Apps
August 7, 2020 ·
8 min readLet's look at how we can create a JavaScript GraphQL server and deploy it to an Azure Function
July 30, 2020 ·
14 min readI recently ran my first virtual workshop and wanted to share how I did it and some thoughts I had on doing it
July 21, 2020 ·
7 min readLet's look at how we can create a dotnet GraphQL server and deploy it to an AppService
July 20, 2020 ·
13 min readOnline events are the way of the times, let's touch on a few things I've learnt from them so far
July 13, 2020 ·
6 min readLet's get started looking at GraphQL on Azure
June 29, 2020 ·
5 min readA little tweak to my tmux setup for privacy needs
June 20, 2020 ·
1 min readKicking off a new live stream series on converting from ASP.NET Core to Serverless
June 12, 2020 ·
1 min readA continuation of my live streaming, this time looking at how to generate types from GraphQL.
June 4, 2020 ·
9 min readLast week saw Microsoft Build done fully online, but let's talk about how we did it.
June 3, 2020 ·
2 min readLet's go build something!
May 27, 2020 ·
9 min readA few tips on how to use enums in TypeScript, and some gotcha's to watch out for
May 18, 2020 ·
2 min readMicrosoft Build will be coming to you live for 48 hours straight!
April 24, 2020 ·
1 min readWant to go from zero to hero with Docker? This will get you up and running in no time.
April 24, 2020 ·
2 min readA few videos showing how I configured my terminal for WSL2
April 7, 2020 ·
7 min readA quick start on how to create a GraphQL endpoint on an Azure Function
April 6, 2020 ·
1 min readDo you want to learn Docker? Check out this session I ran recently
March 25, 2020 ·
5 min readI get asked occasionally how I setup my machine, so here we are
March 23, 2020 ·
18 min readHow to create an approval-based workflow with GitHub Actions
March 16, 2020 ·
3 min readIntroducing a library to make Cosmos DB easier with F#
March 2, 2020 ·
3 min readA nifty trick I learnt recently for working with local npm packages
February 28, 2020 ·
1 min readI'm back on Visual Studio Toolbox to talk about GitHub Actions and Azure Functions
February 17, 2020 ·
5 min readWhen a talk goes bad.
February 17, 2020 ·
1 min readA quick guide on how to use VS Code to work with Git and Azure Functions
January 23, 2020 ·
4 min readLet's have a bit of a dig into how a new TypeScript feature works
January 22, 2020 ·
3 min readHas it been that long already!
January 13, 2020 ·
3 min readHere's how to create Azure Functions in F# easily.
January 10, 2020 ·
4 min readLooking to deploy Azure Functions with GitHub Actions? Here's how to get started.
January 6, 2020 ·
7 min readA story of my running in 2019.
January 3, 2020 ·
26 min readHow I created a little service to create social media images for my blog.
January 2, 2020 ·
4 min readA look back at the year that was
December 19, 2019 ·
12 min readYou win some, you loose some, but that's how conferences go.
December 17, 2019 ·
15 min readA look at how to deploy a Hugo static website to Azure Static Websites and Azure CDN.
December 11, 2019 ·
7 min readThe load time for our Blazor + Lucene.NET app is a bit slow, let's look at how to optimise it.
December 10, 2019 ·
6 min readBlazor is designed for whole-app dev, but what if you don't want it for that?
December 3, 2019 ·
1 min readI sat down with SSW.tv to talk about how to create workflows using Durable Functions
November 29, 2019 ·
21 min readI recently added search to my website and decided to look at how to do it with Blazor, WASM and Lucene.NET
November 27, 2019 ·
3 min readHave you setup Content Security Policies? Do you want to use WebAssembly? Well here's what you need to do
November 19, 2019 ·
8 min readA look at how to create a custom React Hook to work with AppInsights
October 24, 2019 ·
4 min readCombining React Error Boundaries with AppInsights for automatic error logging
October 23, 2019 ·
1 min readHere's a video of my Serverless Days Melbourne talk on Durable Functions
October 11, 2019 ·
3 min readWhen a Promise falls in the woods and no one is there to catch it, does it error?
October 4, 2019 ·
8 min readMonitoring of SPA's is important, so let's look at how to do that in a React app using AppInsights
September 27, 2019 ·
8 min readLet's look at how you can use Entities in Durable Functions v2 to create an API cache
September 24, 2019 ·
10 min readIt's time to take another look at CIL, how do conditionals and loops work?
September 23, 2019 ·
4 min readHow to use React Hooks to create a polling API using setTimeout
September 17, 2019 ·
6 min readIL is full of these things call OpCodes, but what are they?
September 11, 2019 ·
6 min readHere's something I learnt about interfaces in .NET while exploring IL
September 2, 2019 ·
6 min readA reflection on my journey over the last 10 years
August 30, 2019 ·
5 min readA new release of dotnet-delice with even more license discovery support
August 20, 2019 ·
3 min readEver wondered what licenses are in use of your project? Here's a tool to help you out
August 14, 2019 ·
7 min readA look at how you can abuse CSS for evil(?)
August 8, 2019 ·
3 min readA guide on how to display test outputs from VS Code Extension tests in Azure Pipelines
August 2, 2019 ·
4 min readWhat's next with my IoT project?
July 25, 2019 ·
3 min readAdding extension management to the VS Code Profile Switcher
July 23, 2019 ·
23 min readMoving from manual DevOps to automated DevOps
July 16, 2019 ·
12 min readIt's time to rub some DevOps on IoT
July 12, 2019 ·
3 min readA quick look at how to use the FSharp.Azure.Storage package in Azure Functions
July 12, 2019 ·
8 min readA guide to creating a Slack 'slash command' using Azure Functions as the handler.
July 8, 2019 ·
4 min readHas it already been 6 months? Or has it only been 6 months?
July 8, 2019 ·
9 min readLet's build something with Blazor!
July 1, 2019 ·
8 min readHow I go about processing data streams from IoT devices
June 28, 2019 ·
2 min readI've created a little VS Code extension for swapping between different profile setups
June 19, 2019 ·
5 min readA look at how you can do local development with IoT solutions
June 12, 2019 ·
14 min readLet's start diving into the codebase, starting with capturing data
June 7, 2019 ·
6 min readA look at managing data in an IoT project
June 5, 2019 ·
9 min readHow I came to the solution design for my IoT project
May 30, 2019 ·
4 min readSome beginning words on the Home Grown IoT project I've been working on for a while
May 27, 2019 ·
7 min readA guide on extending Saturn, an F# web framework, by creating a Basic Authentication provider
May 24, 2019 ·
3 min readUsing parameters with job templates in Azure Pipelines
May 17, 2019 ·
1 min readSome Docker containers can't connect because they can't find the process, here's a fix
May 8, 2019 ·
5 min readHow to orchestrate event-based workflows using Azure Durable Functions
May 8, 2019 ·
2 min readFixing problems with a corrupt vscode remote instance
April 12, 2019 ·
3 min readHow to setup an Azure Pipeline agent to use a specific version of Go for a build
April 4, 2019 ·
4 min readUsing VS Code to debug a .NET Core application running within a Docker container
April 3, 2019 ·
3 min readA few weeks ago Microsoft announced their improvements to TypeScript Azure Functions with some new templates to help you get started.
As I’m currently doing a bunch of stuff …
March 20, 2019 ·
7 min readA quick lap around how to use Azure Container Instances
March 14, 2019 ·
2 min readAdd a bit of flare to your console.log messages
March 7, 2019 ·
1 min readHow to share drives when using AzureAD to log into Windows
March 5, 2019 ·
3 min readHow to create an Azure Function using F#
February 18, 2019 ·
10 min readHow to setup CI/CD with Azure DevOps to deploy npm packages
February 12, 2019 ·
8 min readTime to put all the pieces together and get something built!
February 8, 2019 ·
11 min readIt's time to bring this into a web devs toolchain
February 7, 2019 ·
5 min readWe've learnt how to write to the DOM, but how about returning values to JavaScript functions?
February 6, 2019 ·
10 min readLooking at interop between Go and JavaScript via WASM
February 5, 2019 ·
7 min readWriting your first piece of Go to combine with WASM
February 4, 2019 ·
4 min readIntroducing a new series on learning Go by writing WebAssembly
January 14, 2019 ·
4 min readI've left Readify and completed my first week at Microsoft!
January 8, 2019 ·
3 min readA look back at the year that was
July 5, 2018 ·
5 min readHow we automate deployments of DDD Sydney's static websites
June 21, 2018 ·
6 min readHow I went about slashing Azure costs for DDD Sydney from $60 to $1.50 per month
May 22, 2018 ·
1 min readSome info about my NDC Security talk on Securing Single Page Apps
March 22, 2018 ·
6 min readHow to use Chauffeur to make it easier to create integration tests against the Umbraco API
March 4, 2018 ·
3 min readSome more thoughts around content ownership.
February 23, 2018 ·
2 min readSearching and installing packages from the Umbraco feed with Chauffeur
February 23, 2018 ·
1 min readAfter a long time Chauffeur v1.0 is out
January 30, 2018 ·
4 min readSome fun with customising your PowerShell prompt.
January 21, 2018 ·
1 min readAn overview of my upcoming talk at Umbraco Down Under Festival
January 15, 2018 ·
8 min readMy thoughts about getting into blogging and how to manage your content
January 11, 2018 ·
2 min readA look back at the year that was
December 8, 2017 ·
7 min readIntroducing PowerShell nvm v2, a cross-platform Node.js version manager
November 17, 2017 ·
3 min readHow to use Microsoft Flow and Azure Functions to create simple demo APIs
November 13, 2017 ·
2 min readA valid(?) use case for using a Docker Linux container to run a GUI application on Windows
November 12, 2017 ·
3 min readHow to remove your reliance on globally installed node tools
October 31, 2017 ·
3 min readMy story of when I 'Hit Refresh' on my career.
October 26, 2017 ·
5 min readWhat's new in the latest Chauffeur release?
October 9, 2017 ·
5 min readHow I'm using Microsoft Flow with HIBP to notify me of breaches
October 5, 2017 ·
3 min readMicrosoft Edge on iOS and Android, what does it mean?
October 2, 2017 ·
1 min readSome new features in the web platform from the MS Edge Web Summit
October 1, 2017 ·
2 min readLearning Docker by starting at the basics and working our way up
September 27, 2017 ·
3 min readA look back at the last 12 months of being a Readify PC
September 21, 2017 ·
5 min readI’m currently writing a blog post on VS Code for Linux, running inside a Linux docker container, hosted by Docker for Windows (on my Windows 10 machine), with the UI being …
September 15, 2017 ·
16 min readMy takeaways from the MS Edge Web Summit
September 1, 2017 ·
1 min readA few years ago Tatham Oddie and I launched a little website for testing HTTP responses called httpstat.us.
With websites being encouraged to move to HTTPS-first (like how Google …
August 30, 2017 ·
1 min readThe relaunch of my whatkey service
August 30, 2017 ·
6 min readIn August this year I was lucky enough to speak at NDC Sydney for the 2nd time, this year I use the material from my redux series for one talk and did a second talk about getting …
August 10, 2017 ·
5 min readIn my last post I talked about animating SVG objects and how to combine that with React. As I talked about the catalyst for it was looking into how we could do charts.
Well of …
August 8, 2017 ·
4 min readI’ve been working on a project recently that we’ve using React for the UI component of it. While starting planning out the next phase of the project we looked at a …
August 7, 2017 ·
4 min readAnother year has come and gone and with that DDD Sydney!
Last year I wrote about what I learnt organising DDD Sydney for the first time and I wanted to talk a bit about what …
July 31, 2017 ·
1 min readLearn about automating Umbraco with Chauffeur
July 27, 2017 ·
2 min readWell it’s finally happened, I’ve finally listened to the advice I’ve quite often received from readers that my website layout isn’t great, the code examples …
October 12, 2016 ·
1 min readA presentation I gave at the F# Sydney UG on implementing redux in F#
October 10, 2016 ·
11 min readExploring how redux can be used as a generic design pattern, not just a JavaScript library
August 29, 2016 ·
20 min readA look back at my time at Readify, what I've learnt and how I've grown
July 17, 2016 ·
7 min readTime to take a look at middleware
June 27, 2016 ·
4 min readWorking with multiple reducers
June 9, 2016 ·
7 min readAn introduction to the Store and how to make a simple one.
June 9, 2016 ·
3 min readConverting our tests and demo across for use with Reducks
June 6, 2016 ·
4 min readA start in the series about learning the inner workings of redux
June 1, 2016 ·
6 min readA look back at what I learnt organising DDD Sydney 2016
February 8, 2016 ·
4 min readAutomating the publishing of PowerShell modules to the gallery with VSTS Build
January 3, 2016 ·
2 min readAre you ready for the end of old Internet Explorer?
January 1, 2016 ·
4 min readA look back at the year that was.
December 7, 2015 ·
7 min readTelling the time with F# and ntp.
August 30, 2015 ·
2 min readOne of my favorite F12 under appreciated tooling features is tracepoints and I want to look at how to simulate it in Chrome's dev tools.
June 30, 2015 ·
1 min readA fix for a small problem in MS Edge F12 tools on Windows 10 build 10158.
June 15, 2015 ·
1 min readMy new Pluralsight course, Umbraco Jumpstart is out!
June 11, 2015 ·
6 min readA tongue in cheek look at JavaScript framework analogies.
June 8, 2015 ·
6 min readA look at how to page-based security with React and react-router.
June 6, 2015 ·
1 min readI recently talked about Chauffeur and my thoughts on deployments on uHangout.
June 6, 2015 ·
2 min readI did two talks at ANZCoders on front-end development, covering the toolchain and a look at React.
February 6, 2015 ·
12 min readA walkthrough of how to create a F# Type Provider.
January 25, 2015 ·
5 min readOn the 21st of January Microsoft showed off their new browser code named Project Spartan, so let's have a look at what it's about.
January 25, 2015 ·
4 min readJust use WebKit seems to be a common belief in web developers, but there's a danger involved in that mindset.
January 17, 2015 ·
3 min readTaking what we learnt in the last post and evolving the approach.
January 16, 2015 ·
5 min readHere's an approach on how to create React components that have role-based security on them.
January 11, 2015 ·
4 min readWhen using the Thinktecture Identity Server you might want to do an automatic redirect upon logout, which doesn't happen OOTB, so here's how to do it.
January 3, 2015 ·
2 min readThere's a new config system in ASPNet5, so when you use an Azure Website how can you read the values stored in the Azure config?
January 2, 2015 ·
3 min readHow to run grunt (or gulp) tasks when deploying ASPNet5 applications to Azure Websites.
January 1, 2015 ·
5 min readI recently did some painting of our house and here's how to approach it like an IT consultant.
December 4, 2014 ·
4 min readHave you ever wondered how you would go about hosting multiple WebAPI servers within a single process?
September 26, 2014 ·
3 min readWhen creating Xamarin apps from a CI process like TeamCity it can be useful to generate the version accordingly.
September 11, 2014 ·
2 min readA common question with db.js is how to merge data from a remote store into the local store. When doing so you need to think about how you're handling an add vs an update statement.
August 21, 2014 ·
2 min readHere's a simple approach to creating an expanding list with CSS.
July 22, 2014 ·
5 min readA look back at the 5 years that has been DDD Melbourne
June 9, 2014 ·
5 min readIntroducing Chauffeur, a new classy way to delivery changes around Umbraco instances.
April 3, 2014 ·
3 min readA look at the CSS editor improvements in the F12 tooling refresh
April 3, 2014 ·
2 min readA look at the JavaScript console improvements in the F12 tooling refresh
April 3, 2014 ·
4 min readA look at the JavaScript console improvements in the F12 tooling refresh
April 3, 2014 ·
1 min readIntroducing a new website to help track the development status of features in Internet Explorer
March 6, 2014 ·
3 min readEver had an event firing from jQuery but you don't know where in your code they are firing from?
March 6, 2014 ·
2 min readToday I learned something important about the `nth-child` CSS selector that seems to be a common misconception.
February 12, 2014 ·
1 min readIt's time to really address that annoying habbit of developers to use `Assert.IsTrue` in their tests.
January 28, 2014 ·
5 min readPreviously we looked at cleaning up callback hell with thunks and generators, but in this post we'll look at the next approach to managing callbacks, Promises, and how we could clean that up with generators.
January 18, 2014 ·
7 min readWe'll continue our exploration into the new `yield` and have a look at how it can be used to avoid the so-called callback hell which can plague JavaScript applications.
January 13, 2014 ·
9 min readGenerator functions in ES6 don't have to just do a single `yield`, they can `yield` multiple times, but when doing so how do you execute those functions?
January 12, 2014 ·
10 min readA look at how you can write integration tests with the new ASP.Net Katana project web applications when they are behind an authentication layer.
December 31, 2013 ·
7 min readRevisiting how to implement LINQ in JavaScript on top of ES6 but this time it's actually going to be on top of ES6 features!
November 28, 2013 ·
2 min readDealing with the case of the missing Location header in an ASP.Net WebAPI response.
September 16, 2013 ·
6 min readA look at how to use Azure Mobile Services with AngularJS and dealing with what I believe is a broken approach to the AngularJS promise API.
September 16, 2013 ·
1 min readA quick clarification on my previous post about LINQ in JavaScript using ES6 features.
September 11, 2013 ·
3 min readA quick tip on how to use `bluesky` from Azure Mobile Services.
September 6, 2013 ·
8 min readIt's been a few years since I last blogged about the concept of LINQ in JavaScript as a lot has changed in the JavaScript landscape.
So let's revisit the idea of it with a look at how you could leverage LINQ in JavaScript for ES6.
August 2, 2013 ·
5 min readWhen was the last time you wrote an AJAX request?
When was the last time you did it without relying on jQuery?
In this article we'll look at how do do just that, how do make an AJAX request without jQuery to better understand what's going on.
July 22, 2013 ·
4 min readJust because it looks like a duck, walks like a duck, quacks like a duck doesn't mean it's a duck. There's dangers with making assumptions of your JavaScript objects based on their surface area.
That said, a lot of power can be gleamed by these seemingly innocent assumptions.
July 14, 2013 ·
4 min readTime to revisit something that was overlooked in the last post, the `new` operator in JavaScript and what it does.
July 10, 2013 ·
6 min readMy colleague Luke Drumm challenged me to implement C# style indexers in JavaScript.
So let's have a look at how you can do that, and how you can make some very interesting JavaScript objects that are self replicating. We'll build on the knowledge of using `bind` and `apply` from the last two posts.
July 5, 2013 ·
4 min readAfter confusing my colleagues with how to invoke functions with a modifided set of arguments at a single time the next evolutionary point was to confuse them with creating functions that are always called with a different state.
July 4, 2013 ·
4 min readAfter having confused one of my colleagues with some code that used the JavaScript `apply` method and giving them an answer that didn't leave them completely bemused I thought I'd share my explanation with the world.
June 26, 2013 ·
1 min readI'm going to be presenting a JavaScript workshop at the upcoming DDDMelbourne conference
June 21, 2013 ·
2 min readEver had a path to a path to a property on a JavaScript object that you want to walk? Something along the lines of `foo.bar.baz`.
Recently I was trying to solve this problem and came across a nifty little trick
June 18, 2013 ·
5 min readAfter moving my site to DocPad I found a problem, DocPad is a massive memory hog! The result of this is that I can't even run it on a single Heroku web dyno, a static HTML site can't run on a single web dyno!
So let's have a look at how I went and solved the problem
June 10, 2013 ·
11 min readWith the decision to go to Git from FunnelWeb I wanted to be able to maintain the history of the changes. Since many of my posts have multiple revisions I wanted them to be listed as changesets in Git.
In this post we'll look at how to get the content out of FunnelWeb (or any content database) and into Git as full history.
June 10, 2013 ·
3 min readIt's time for a refresh, my blog has made a move, this time away from FunnelWeb.
But why, how and what for the future of FunnelWeb?
May 30, 2013 ·
6 min readThroughout the last few posts we’ve looked at the different ways which we can store data offline in browsers and then created a basic little API that will help is with doing …
May 28, 2013 ·
5 min readThe last piece of the puzzle when looking at offline storage options is a bit of a shift from what we’ve been looking at so far. Generally speaking we’ve been looking …
May 27, 2013 ·
12 min readThe next stop in our offline storage adventure is to look at the big daddy of offline storage, IndexedDB. Now I’ve blogged about IndexedDB in the past but today I want to …
May 23, 2013 ·
6 min readIn the beginning there was a simple way to store data offline in an application, or more accurately, across sessions, and that is the HTTP Cookie.
Cookies are used for everything, …
May 23, 2013 ·
2 min readSo you’ve got an idea to build an amazing new web application, it’s going to make you tens of dollars, hundreds of cents, it’s all web API’ed and SPA. …
May 23, 2013 ·
4 min readLast time we looked a using cookies to store offline data and we also saw that there’s a number of problems with that approach. So let’s move forward, let’s look …
May 7, 2013 ·
2 min readA mystery that resulted in a strange mix of expected responses
April 19, 2013 ·
2 min readA new program from the IE team
April 10, 2013 ·
1 min readUpcoming speaking on IndexedDB
March 25, 2013 ·
2 min readA new release of a KnockoutJS plugin for Glimpse
March 10, 2013 ·
8 min readObligatory post about my experiences to date with a Surface Pro
January 22, 2013 ·
4 min readAn introduction to another new library from me, this time it's mathy, a simple formula parser
January 17, 2013 ·
8 min readIs it time for the IE brand to end-of-life?
January 14, 2013 ·
3 min readA look at what's changed since I last pointed out the failings of the IE dev tools
January 8, 2013 ·
2 min readIt's time for another rant, this time it's with how some people write their unit tests
January 7, 2013 ·
4 min readSome of my impressions from trying to implement something in TypeScript
January 6, 2013 ·
2 min readTime for yet another year in review
October 18, 2012 ·
3 min readA little word on the db.js support for Chrome
October 8, 2012 ·
5 min readThe quirk of reverse index querying in IndexedDB and in turn db.js
October 5, 2012 ·
5 min readA starting point for learning where and how
October 4, 2012 ·
1 min readHow had I missed all this before?
October 3, 2012 ·
3 min readAnother quick look at what you can do with TypeScript
October 2, 2012 ·
9 min readAn overview of how to create indexes and execute powerful queries against them using db.js
October 2, 2012 ·
2 min readIt's that time again, time for more Pub/Sub!
October 1, 2012 ·
8 min readAn introduction to db.js, an IndexedDB wrapper.
September 26, 2012 ·
1 min readCouldn’t make it to Teched Australia this year?
Made it and absolutely loved my session?
Well good news everybody, it’s now online for your viewing pleasure, check it …
September 24, 2012 ·
4 min readEver wondered how to check if a file exists in Windows 8?
September 21, 2012 ·
5 min readHow to setup a basic git server for Windows
September 14, 2012 ·
8 min readA look at how you can create JavaScript classes in WinJS
September 14, 2012 ·
5 min readSettings in Windows 8 XAML suck. Period.
September 5, 2012 ·
5 min readA few times I’ve seen questions posted on the Umbraco forums which ask how to deal with case insensitivity text with Examine, and it’s also something that we’ve had to …
August 31, 2012 ·
3 min readHack of the day goes to how you hide the soft keyboard on a Windows 8 application
August 28, 2012 ·
1 min readOh that WebView control is a funny one
August 20, 2012 ·
7 min readSo I'm starting to learn XAML...
July 11, 2012 ·
2 min readAn update on using ASP.NET MVC with Umbraco 4.
June 27, 2012 ·
4 min readThe code smell that's creeping into JavaScript development
June 25, 2012 ·
9 min readHi, my name's Aaron Powell and I was involved in killing Umbraco 5.
June 13, 2012 ·
3 min readKeen discuss contributing to Umbraco's core, join the discussion now!
June 12, 2012 ·
8 min readHow to combine ASP.Net MVC applications with an Umbraco project
June 4, 2012 ·
2 min readA subtle change to IndexedDB in IE10 PP6
June 4, 2012 ·
3 min readSo you’re building a Windows 8 application and you want to authenticate against an external service. For this it’s likely that you’re going to want to store a …
June 1, 2012 ·
1 min readA Windows 8 application for the Pinboard bookmarking service
May 29, 2012 ·
9 min readAn look into what is involved in JavaScript compression and minification as well as where the benefits lie.
April 10, 2012 ·
3 min readWrapping up the OWIN series
April 2, 2012 ·
6 min readTaking the View Engine concept one step further
March 23, 2012 ·
7 min readA look at how you'd put together a View Engine for OWIN.
March 21, 2012 ·
2 min readToday we got caught out by a recent npm change
March 19, 2012 ·
5 min readA look at how to give power to our responses by making different response types easier to handle
March 16, 2012 ·
9 min readNow it's time to do some routing on top of OWIN
March 15, 2012 ·
6 min readIn my last post I looked at getting started with the basics of OWIN and how to create a server which wont do anything overly useful. In this post I want to go a step further and …
March 14, 2012 ·
5 min readAn introduction to OWIN and building a server.
February 21, 2012 ·
1 min readI decided that I’m tired of explaining why you should do JavaScript combination and avoid inline scripts.
So here’s a comic that should explain it.
Click for a larger …
February 16, 2012 ·
4 min readFor my Stats It project I’m using KendoUI as my UI widget layer (and charting) as it has several more UI widgets that I’m looking for than jQuery UI offers. But …
January 25, 2012 ·
3 min readWanting to include a Macro in your v5 package, where do you start?
January 24, 2012 ·
7 min readA look at the v5 task system, particularly how to create an installer task
January 5, 2012 ·
2 min readA quick guide to sending emails from nodejs on Heroku using SendGrid
December 29, 2011 ·
5 min readWorking with tbd to build your requests without backend services
December 23, 2011 ·
2 min readA few useful match helpers for Jasmine
December 22, 2011 ·
3 min readAs the year wraps up it brings time for the atypical year in review post!
While last year I declared to be the year of the conferences but of course this year was just as crazy …
December 19, 2011 ·
2 min readHi, my name’s Aaron and I’m a former member of the Umbraco core team. Before I departed the core team something I was pushing for was greater involvement between the …
December 12, 2011 ·
6 min readAn introduction to tbd, a data generator for JavaScript
December 12, 2011 ·
5 min readWhy you shouldn't use (and don't need to use) the $.proxy method in jQuery
October 24, 2011 ·
8 min readI’ve never done much Xaml development, I started reading a WPF book and played around with it only to realise I didn’t have any understanding of this concept of a …
October 12, 2011 ·
5 min readA few months back I announced a new site I was running called JavaScript Quiz. When I started to site it was to be done quickly so I chose an out-of-the-box blogging platform, that …
October 12, 2011 ·
4 min readAnyone who follows me on twitter will have probably noticed that in the last two weeks I’ve been tweeting with a geolocation in Vietnam. If you’re really smart you may …
September 18, 2011 ·
6 min readIf you’ve been doing much work with KnockoutJS you’ll probably see examples where the code looks like this:
var todoViewModel = function() { this.items = new …
September 15, 2011 ·
1 min readSo it saddens me to say but as of today I will not be contributing to Umbraco, I have been stepped down from my contributor role on the project.
I wish Shannon, Alex, Matt, Niels …
September 5, 2011 ·
7 min readWorking with the DOM and QUnit from Node.js
September 4, 2011 ·
1 min readI recently spoke at Teched AU in a session called Chasing the Evolving Web.
Here’s the assets from the talk:
Slides Recording And here’s a list of the tools which I …
September 3, 2011 ·
5 min readTaking your QUnit tests out of the browser to use your tests with Node.js
September 3, 2011 ·
1 min readI recently spoke at Teched NZ in a session called Chasing the Evolving Web.
Here’s the slides from the talk:
Slides And here’s a list of the tools which I looked at in …
August 9, 2011 ·
3 min readIn my previous post I outlined one of the biggest issues I have with KnockoutJS as being its WPF/ Silverlight binding syntax and how it requires you to put JavaScript into your …
August 9, 2011 ·
2 min readThis is a bit of a joke that I wrote on our internal mailing list in which we were poking fun at different technologies and making up stories around them. I thought it was funny so …
August 8, 2011 ·
1 min readBecause if you are you get to see me not once but twice! Woot!
Come down and check out WEB203 - Chasing the Evolving Web and learn how to keep ahead of the game when it comes to …
August 8, 2011 ·
1 min readBecause if you are you can see me not once, not twice, but three time, and really, who wouldn’t want to see me that much :P.
Come down to COS204 - Umbraco and Azure to learn …
August 8, 2011 ·
3 min readA few times I’ve ruffled a few features by making the statement that I am not a fan of KnockoutJS.
Let me start by clarifying a few things:
I think the concept of KnockoutJS …
July 12, 2011 ·
3 min readLet's have a bit of a fun doing something that's probably a bad idea with the AmplifyJS Request API.
July 10, 2011 ·
1 min readToday I released a little website, http://javascriptquiz.com, which was inspired by http://cssquiz.com.
Basically it’s a site which I’ll put out JavaScript questions …
July 6, 2011 ·
3 min readIn the beginning there was...
July 2, 2011 ·
6 min readPostman will help you deliver things around your JavaScript application
June 8, 2011 ·
3 min readDoes everyone remember the good old days of when websites had the introduction
This website is best viewed in 800x600 and Internet Explorer 5
No? We’ll you missed the …
May 26, 2011 ·
2 min readIn a site I’m working on I wanted to add a data attribute, you know, data-*, to a form that was being generated from a controller action in MVC3. So I have the code like …
May 21, 2011 ·
4 min readIn my last post I looked at how to use jQuery validation in a dynamic form and some problems you can have with handling rule sets.
Something I mentioned in the posts was that I was …
May 20, 2011 ·
11 min readCurrently at work I’m part of a team that’s developing a really JavaScript heavy application and in doing so we’re finding problems, challenges and solutions. One …
April 28, 2011 ·
1 min readI’m going to be speaking at REMIX11 this year, I’ll be presenting Chasing the evolving web: things you need to know to be a modern web developer.
So get yourself a …
April 27, 2011 ·
1 min readWell it’s that time of year again, the time when CodeGarden is coming back!
As is tradition I’ll be in attendance (3rd year running) and representing a new employer (although I’m …
April 27, 2011 ·
4 min readWarning - the following is an opinionated piece and based on my experience. It doesn't reflect that of any of my employers or of any sane human beings
April 3, 2011 ·
1 min readIncase you don’t follow me on twitter you may have missed the annoncement over the weekend that I’ve been awarded my first Microsoft MVP award, for Internet Explorer …
March 30, 2011 ·
5 min readThe client I’m currently working for is using an MVP pattern with WebForms (not WebFormsMVP but an internally developed one) which is using an active view pattern. What this …
March 28, 2011 ·
5 min readThis post stems out of a discussion last night with Demis Bellot (@demisbellot) on twitter. Keep in mind that a) I don’t work on the NuGet team (or for Microsoft) and b) …
March 13, 2011 ·
6 min readA look at how to make a simple JavaScript animation library
March 8, 2011 ·
4 min readA tool for when you just want to server some files.
March 2, 2011 ·
2 min readSome thoughts on how to improve the IE9 JavaScript developer tools
February 26, 2011 ·
1 min readThis is a script that I’ve been keeping in my toolbox since NuGet was first released.
Ever now and then I need to do an install of a package across all projects in a …
February 25, 2011 ·
5 min readLooking at localStorage, sessionStorage and the like
February 24, 2011 ·
2 min readHow to dig into the NuGet feed easily
February 20, 2011 ·
4 min readHow to create a plugin engine using NuGet as the distribution format
February 18, 2011 ·
1 min readInterested in tracking what doing nothing really means to you?
February 11, 2011 ·
1 min readHow do Umbraco look in IE9 RC?
February 11, 2011 ·
3 min readA (known) issue with the IE9 RC geolocation API.
February 9, 2011 ·
1 min readAww yeah, old-skool win
February 9, 2011 ·
6 min readThis time we'll implement the marquee tag, just because we can!
February 8, 2011 ·
5 min readHow to implement the blink tag using jQuery and some silliness :P
February 6, 2011 ·
2 min readA look at the way ECMAScript 5 is improving LINQ in JavaScript
January 30, 2011 ·
3 min readA small tweak to console.assert in IE9
January 27, 2011 ·
4 min readAn overview of how to manage content in the two different CMSs
January 25, 2011 ·
6 min readA look at how to make pluggable Controllers using MVC3
January 24, 2011 ·
1 min readHelp me get a session at MIX11 ;)
January 20, 2011 ·
1 min readVideo of my Unit Testing with Umbraco session from CG10
January 19, 2011 ·
2 min readEver needed to find the name that'll be generated for a property in MVC? Here's how
January 16, 2011 ·
5 min readIn this article we'll look at the difference between the two systems when it comes to creating content.
January 15, 2011 ·
4 min readA look at the admin systems for Orchard and Umbraco
January 12, 2011 ·
1 min readAn introduction to a series of looking at comparing Orchard CMS and Umbraco
January 11, 2011 ·
9 min readA comparison between the install experience between Orchard CMS and Umbraco Juno
December 28, 2010 ·
7 min readHow to implement a fully functional custom Umbraco MacroEngine using NHaml language
December 27, 2010 ·
2 min readA quick look at the new abstraction layer on top of the Umbraco Macro Engine in Umbraco Juno
December 24, 2010 ·
2 min readA look back at what was 2010
December 24, 2010 ·
3 min readA quick look at how to use the Razor support which is coming with Umbraco Juno (4.6)
December 22, 2010 ·
4 min readHow I do my development of Umbraco web applications.
December 20, 2010 ·
1 min readTalk given at SydJs on building JavaScript frameworks
December 13, 2010 ·
8 min readA quick guide on how to contribute to Umbraco using Mercurial
December 11, 2010 ·
3 min readA Mercurial primer for Umbraco developers
December 7, 2010 ·
2 min readAn overview of a simple site which helps JavaScript developers working with keyboard events
December 4, 2010 ·
3 min readHaving some fun with NodeJS and a crazy Danish dude
November 27, 2010 ·
7 min readNo more XSLT, DRL for the win
November 27, 2010 ·
5 min readSome things which I've learnt while working with IronRuby in Umbraco
November 10, 2010 ·
3 min readAn interesting problem when assigning CSS classes in JavaScript
November 7, 2010 ·
2 min readTurning an image into a string... simply
October 23, 2010 ·
4 min readJavaScript functions are more than just functions
October 1, 2010 ·
6 min readCreating a custom LINQ to Umbraco provider - implementing a Tree
September 30, 2010 ·
1 min readMaking LINQ to Umbraco way more awesome
September 30, 2010 ·
5 min readTime for more crazy JavaScript, functions that can rewrite themselves!
September 30, 2010 ·
2 min readWhat is the DocumentDataProvider, why does it exists, and how can it complete me?
September 22, 2010 ·
8 min readHow to create and return KeyedCollection which use Lazy<T> under the hood
September 12, 2010 ·
6 min readHaving disconnected eventing in JavaScript using a simple little framework
September 12, 2010 ·
3 min readA core JavaScript library from my JavaScript Tools
September 12, 2010 ·
1 min readThe home of JavaScript tools I have produced
September 6, 2010 ·
4 min readWhy does LINQ to Umbraco not implement the IQueryable interface?
August 30, 2010 ·
5 min readAn interesting quirk I found from ClientDe
August 28, 2010 ·
2 min readThis article was migrated from old website, originally dated 19 March 2009
August 28, 2010 ·
2 min readSo today I had a problem which was doing my head in. I had a form which has a bunch of DropDownLists on it, some of which are disabled (depending on the radio button selection). …
August 28, 2010 ·
1 min readAre your SharePoint features corrupting your page layout?
August 28, 2010 ·
3 min readCreating an integration test of sending an email
August 27, 2010 ·
6 min readCreating custom DataProviders for LINQ to Umbraco
August 27, 2010 ·
6 min readCreating custom DataProviders for LINQ to Umbraco
August 27, 2010 ·
8 min readA look what LINQ to Umbraco is and what it isn't
August 8, 2010 ·
2 min readAs you have probably seen we at TheFarm require a senior .NET developer, and there is a some-what sad reason for this… I’ve decided to move on from TheFarm.
I’ve …
August 7, 2010 ·
4 min readI think ASP.Net WebForms is really quite good, and here's some thoughts on the topic
July 10, 2010 ·
7 min readA more in-depth look at how to use Lucene for storage and building a simple application
July 5, 2010 ·
4 min readA series of helper methods for working with the DLR in C# 4.0
July 3, 2010 ·
5 min readAs you’re most likely already aware Lucene.Net is a Document Database, which means that it’s essentially a key/ value store, with the crux of the interaction through …
June 29, 2010 ·
2 min readA wrap up from my talk on doing unit tested ASP.NET with Umbraco
June 28, 2010 ·
3 min readUsing the C# dynamic features to make it easier to work with Dictionary objects
June 27, 2010 ·
7 min readA look at CG10 and just how awesome it was
June 16, 2010 ·
2 min readAn easy way to return XML from ASP.NET MVC
June 16, 2010 ·
5 min readUsing Twitter to stalk someone has never been so easy!
June 14, 2010 ·
3 min readUsing implicit operators in model binding with ASP.NET MVC
June 9, 2010 ·
2 min readAutofac doesn't support injection of value types as properties, here's how to support it.
May 30, 2010 ·
4 min readThis may not be the best idea, but hey, why not, let's writing Presenters with F#!
May 27, 2010 ·
3 min readWhat is an Analyzer?## When you want to insert data into a Lucene index, or when you want to get the data back out of the index you will need to use an Analyzer to do this.
Lucene …
May 23, 2010 ·
7 min readClient event pools are great to have disconnected AJAX components on a page
May 18, 2010 ·
1 min readArticles, links and helpful tidbits for working with Webforms MVP
May 18, 2010 ·
5 min readCross-Presenter messaging is really handy, and here's how to do testing of it when it's in a presenter
April 25, 2010 ·
2 min readThis post was migrated from my old website. Originally posted on 01/01/2010
April 25, 2010 ·
4 min readLooking at a limit with type casting in .NET 3.5 and how .NET 4.0 can help solve it.
April 25, 2010 ·
1 min readA common problem when writing XSLT extensions
April 25, 2010 ·
1 min readToday a colleague asked me a question:
“How do you do a null-coalesce operator which will return a property of an object when not null?”
If you’re not familiar …
April 25, 2010 ·
3 min readThis post was migrated from my old blog. Originally posted on 07/01/2010
April 25, 2010 ·
2 min readA neat trick with operators in .NET
April 25, 2010 ·
5 min readXSLT has a place in development and Umbraco, here's why I think a lot of people miss understand its place
April 25, 2010 ·
1 min readDateTime.MinValue doesn't match the SQL server minimum date. So how do you deal with it using LINQ to SQL?
April 24, 2010 ·
7 min readLINQ is just a pattern, this shows you how to produce it in JavaScript
April 22, 2010 ·
2 min readDDD Melbourne is on during May and I'll be there to speak about Umbraco
April 14, 2010 ·
3 min readOverview and table-of-contents for Lucene.Net articles
April 12, 2010 ·
4 min readAn overview of WebForms MVP Contrib project
April 11, 2010 ·
1 min readLooking into how the DataTypes are designed for Umbraco
April 11, 2010 ·
2 min readA look at the events changes in Umbraco versions
April 9, 2010 ·
1 min readFirst off I’d like to say thanks to all who attended tonights Umbraco webinar, I think we had mid 20’s for most of the session, really excited by the volume.
Anyone who …
April 8, 2010 ·
4 min readThe blog post referred to is no longer available, I’ll see about updating this to not require that
April 8, 2010 ·
5 min readEasily generating Excel documents using LINQ to XML
April 8, 2010 ·
2 min readSomething to be careful of with downloading assemblies
April 8, 2010 ·
3 min readOh the pain, OH THE PAIN
April 8, 2010 ·
2 min readSometimes the truth hurts
April 8, 2010 ·
3 min readWhy does the new version of Aaron-Powell.com not use Umbraco?
April 7, 2010 ·
2 min readEver wondered how LINQ to Umbraco was build? Well look no further
April 7, 2010 ·
1 min readSource of all that I've written about in the .NET world
April 7, 2010 ·
3 min readThis article is for working with Members in Umbraco 3.x. If you’re looking to work with Members in Umbraco 4.x then refer to this article.
April 7, 2010 ·
2 min readAn overview of LINQ to Umbraco
April 7, 2010 ·
2 min readInstructional videos to get you up and running with LINQ to Umbraco
April 7, 2010 ·
5 min readUseful Links:
Extending Umbraco Members
MembershipProvider
RoleProvider
ProfileProvider
ProfileBase
SettingsAllowAnonymousAttribute
April 6, 2010 ·
2 min readSo it doesn't fall into other categories? You'll find it here, along with random rants.
April 4, 2010 ·
1 min readArticles on the topic of web development
April 1, 2010 ·
1 min readAll my articles about the worlds friendliest CMS
January 23, 2010 ·
2 min readSo at the start of this week I put up a blog asking Why this code works, and to be honest I've grown quite a bit of an ego since then as no-one has been able to answer the question …
July 15, 2009 ·
3 min readTo know recursion you must first know recursion
June 13, 2009 ·
3 min readOk, I'm going to go on a bit of a rant here.
I'm a Mac user, have been for nearly 2 years now and I think buying a Mac was one of the smartest moves I made as a Microsoft …
June 8, 2009 ·
3 min readThis post will be looking at another problem I had to overcome with creating the SFG for LINQ to Umbraco, this time I'll look at how to do an installer while using wild-card …
June 8, 2009 ·
4 min readLINQ to Umbraco is trucking along brilliantly and I recently solved a really big problem that I had, creating a Single File Generator (SFG).
For anyone who's not familiar with a …
June 6, 2009 ·
3 min readTo know recursion you must first know recursion
June 1, 2009 ·
5 min readI've been doing a lot of playing with testing frameworks and working out what's the best to use for the different needs. There's two kinds of frameworks out there for .NET, mocking …
May 30, 2009 ·
2 min readOne of the goals of LINQ to Umbraco is to be able to have Umbraco applications which are done without a web context, starting to using Umbraco as a service.
Now there's been plenty …
May 24, 2009 ·
2 min readAs most people are aware by now Windows 7 will be having the ability to run a virtualised version of Windows XP within it. Scott Hanselman has a good post up on it (see here), even …
May 19, 2009 ·
2 min readWhat's the difference with LINQ to using query syntax to pure lambda expressions?
May 17, 2009 ·
3 min readA couple of months ago I picked up a cope of Advanced ASP.NET AJAX Server Controls and read it cover-to-cover.
When ASP.NET AJAX was first released back in 2007 I bought …
May 17, 2009 ·
1 min readI thought today was an apt time to post another update on LINQ to Umbrace, as one month from today I'll be in Copenhagen Denmark preparing for the Umbraco retreat and then Code …
May 12, 2009 ·
3 min readToday Alistair Denyes finally gave the presentation on Integration Testing which he's been saying he'd give for something like 12 months, so I thought it'd be a good …
May 5, 2009 ·
3 min readRecently I did a blog post on my implementation of LINQ in JavaScript which was just talking about a little project I was working on to produce a LINQ-style API within …
May 5, 2009 ·
2 min readBringing jQuery and MS AJAX together
April 26, 2009 ·
2 min readYet another one of my posts about how I just don't get Twitter, this time it's about the way which sites can go viral via Twitter, and how quickly they spread.
A while ago a site …
April 23, 2009 ·
1 min readI finally go around putting a proper syntax highlights on my blog, to fix up that I was previously hand-doing the UI for any code that I was putting into my blog.
I've gone with …
April 20, 2009 ·
5 min readLet me start by saying that I am aware that there is a LINQ to JavaScript project on Codeplex but this was done by me are more of an achidemic exercise/ challange.
So while …
March 24, 2009 ·
1 min readSomething that I've come across a few times when working on SharePoint/ MOSS 2007 features. When importing a Page Layout the ASPX some times becomes corrupt. You end up with …
March 23, 2009 ·
4 min readSince I've started writing LINQ to Umbraco I have been doing a lot of investigation into the way that LINQ works and how to go about building your own custom LINQ provider. One …
March 20, 2009 ·
3 min readAs I mentioned in a previous post I'm working on a LINQ provider for Umbraco, a proper one, not one which is exploiting the operations on LINQ to Objects.
Well I thought I'd do an …
March 19, 2009 ·
2 min readWell I'm making good headway with LINQ to Umbraco, in the next few days I'll be doing a very interesting check in (which I'll also blog here about). My tweet-peeps already have an …
March 10, 2009 ·
1 min readSo Karl posted today (well, tomorrow at 2.29am or something, yeah my blog isn't the only one who's dates are freaky!) asking what value Twitter adds.
As I recently posted I have a …
March 6, 2009 ·
2 min readSo in my last post I showed a nifty Typemock extension for doing repetition within Typemock's AAA syntax on the WhenCalled method. When I wrote that extension it was only done in a …
March 3, 2009 ·
1 min readUsing AAA with Typemock there's a bit of a problem if you want to repeat the returned value a number of times before then doing something different. It's very useful if you are …
March 1, 2009 ·
4 min readI've been a big fan of the Opera web browser for a number of years, I've used it since it's v4 days. I remember it being an ad-supported browser and I remember when it became free …
February 25, 2009 ·
2 min readAs I stated in my last post (oh so 5 minutes ago! :P) I'm working on a new project for the Umbraco team, one thing I'm really focusing hard on with LINQ to Umbraco is Test Driven …
February 25, 2009 ·
3 min readWell today I have produced the latest version of the UIL, v1.1, which can be downloaded here: http://www.codeplex.com/UIL/Release/ProjectReleases.aspx?ReleaseId=23765. This version …
February 22, 2009 ·
4 min readFirst off, let me start by saying that I often really hate SharePoint. Well maybe I should be a bit more specific, I really hate Publsihing Portals in Microsoft Office SharePoint …
February 5, 2009 ·
2 min readUmbraco 4 may have been out for a week now but I've been busy and I am only slowly getting to upgrading a project I've been working on to the current build.
But I finally got …
February 1, 2009 ·
2 min readWell it's been 6 months since I first announced the Umbraco Interaction Layer project, but I'm happy to announce that v1.0 is available on the CodePlex site for download!
*Pauses …
January 31, 2009 ·
2 min readLast Thursday I attended a session through Victoria.NET on jQuery hosted by Damian Edwards.
It was a good beginner session on jQuery, I was familiar with most of it but there were …
January 30, 2009 ·
2 min readSo today I had a problem which was doing my head in. I had a form which has a bunch of DropDownLists on it, some of which are disabled (depending on the radio button selection). …
January 29, 2009 ·
2 min readWell I've been doing some more changes to my website (and not breaking it... much :P) and I've finally got round to adding a feature that Ruben was nagging for, a comment RSS feed. …
January 25, 2009 ·
4 min readRuben (of Umbraco fame) recently wrote a post entitled Extension Methods: Silent static slaves which was in response to a comment I'd left on a previous post about static classes …
January 25, 2009 ·
3 min readThis is going to deviate from my standard brain dribble a bit and be more of an opinion piece.
So recently the EU has announced it is going to fine Microsoft again because Internet …
January 25, 2009 ·
1 min readWell I'm a whore in all it's forms now (well, actually it's been that way for a while), I'm a twitter-er.
You'll find my occational tweets here.
I don't really find the appeal of …
January 21, 2009 ·
1 min readJust a quick apology to anyone who has tried to submit a comment to my blog since I did the site refresh.
Part of my new code base around the comment submission was not working so …
January 17, 2009 ·
5 min readI read an article last year about implementing a Client Event Pool and I really liked the concept. Joel shows a very good way to use it but I've been doing my best to find a …
January 15, 2009 ·
2 min readThe other month Ruben did a post on using the new Umbraco event model and today I had to solve a problem which it seemed like it would be the best way.
I needed to have a …
January 12, 2009 ·
2 min readAny astute visitors to my website will have noticed a few changes today. And for those who didn't I don't really blame you, they aren't that obvious.
First off, I've upgraded my …
January 5, 2009 ·
2 min readAlthough there's been big praise for the Umbraco 4 RC release, and after I upgraded a site I'm working on to it, I had high hopes. One of the things I wanted to really play with …
December 24, 2008 ·
4 min readA month ago I did a post about the TypeMock mocking framework and the nice people at TypeMock were kind enough to give me a 1 year license for their software. Although I haven't …
December 22, 2008 ·
3 min readSomething else I see all too often at work (although not as often as not understanding the difference between client and server) is the existance of the PDB file on a production …
December 18, 2008 ·
2 min readSystem.Exception is a funny class, it's a class that on its own isn't really that practical. In the talk that Brian Abrams talk on Framework Design Guidelines from PDC 2008 (a …
December 15, 2008 ·
1 min readWell I've moved a step closer to having my entire life monitored by Google, I now have my feed monitored via Feedburner. You can find me here: …
December 15, 2008 ·
2 min readSomething that really annoys me is that when people don't use the correct name of a product, and by not using the name of the product completely miss what the product is for. I …
December 14, 2008 ·
3 min readSo an interesting post come up on Stack Overflow (which, if you're not into you really should be) which was on the idea of ORM's and whether why are they becoming popular. I'm a …
December 13, 2008 ·
1 min readAll ASP.NET developers should know by now that Microsoft is officiall supporting jQuery as part of Visual Studio 2008 (and beyond). Well I've finally got to doing a project where …
December 11, 2008 ·
6 min readWell avid reader I'm sure you are able to work out what the title is in reference to (bonus points if you got the episode right). Well there is a bit of a reason for it, but it's …
December 5, 2008 ·
1 min readMaybe I'm a slow learner or maybe this is one of those beautifully hidden features of the .NET framework but I came across a nifty little static method (thanks to this post on …
December 5, 2008 ·
2 min readWell I've gone and beaten the Umbraco guys to RC1, although I'm sure v4 RC1 is just around the corner. But, none the less I'm happy to have RC1 of the UIL ready for download. …
December 2, 2008 ·
2 min readSo about 2 months ago I decided to start playing around with Visual Studio schemes to find something that was just right for dev work. I'd always been a standard VS scheme user, …
November 25, 2008 ·
2 min readSo while going through my blogs I came across one about a new mocking framework specifically designed for unit testing within SharePoint. The blog can be found here and from …
November 19, 2008 ·
2 min readWell loyal readers I am proud to announce the release of the Umbraco Interaction Layer... Beta 1! Yep that's right, I've completed my primary set of features and now it's just a …
November 13, 2008 ·
2 min readIn my recent blog browsing I came across an interesting post from Joel at See Joel Program on maintaining an ASP.NET session within an AJAX application. It's a very good post and …
November 11, 2008 ·
1 min readWell I release the UIL Preview 3, and in my work to support Umbraco v4 Beta 2 I found a change with the GetAll property signatures. As you may notice reading the …
November 6, 2008 ·
4 min readIn between the time spent packing and unpacking while moving house I've been working on my next release of the UIL, and I'm happy to say that it is ready and it is exciting. There …
October 31, 2008 ·
5 min readAs most people would know PDC is on at the moment over in the US and as usual Microsoft is showing their bag-o-tricks about what they are working on. With PDC we saw a CTP release …
October 25, 2008 ·
2 min readEarlier this month I did a post about common mistakes made by developers new to JavaScript but there's a point I forgot to cover which I see a lot of. Nearly every language has a …
October 6, 2008 ·
3 min readRecently I've been doing a lot of AJAX work, I'm preparing a presentation on best practices. I've also been helping some people at work who has been working on a very AJAX rich …
September 27, 2008 ·
3 min readSo recently I was working on project where a client wanted to have customisable email templates which could be merged with data from their database so we store the email as an XML …
September 25, 2008 ·
2 min readI'm sure that a lot of people have played with LINQPad and if you haven't I strongly suggest you do. In short LINQPad is a C#, VB & SQL code snippet tester. A lot of people …
September 16, 2008 ·
5 min readThe other day one of the guys I work with was trying to work out the best way to generate an Excel document from .NET as the client had some wierd requirements around how the …
September 15, 2008 ·
2 min readWhen deploying Umbraco into a new environment (a UAT, a production, etc) everyone has a check list that the tick off against. This will cover items like: Modifying the web.config …
September 11, 2008 ·
2 min readAs a general rule I'll avoid web cookies, they've got a bad wrap, and are too often used and abused. But for storing long life information on a client there's not really anything …
September 5, 2008 ·
1 min readSo I've just sat down to read over the pilling up blogs from the last few days when I came across this one from Karine Bosch. Patrick Tisseghem passed away earlier today. Anyone …
September 3, 2008 ·
5 min readSo today Google released their foray into the web browser market with Google Chrome and I'm sitting here wondering does the world really need another browser? Lets look at the big …
September 2, 2008 ·
2 min readSo today I was working to fix a problem on a site of ours which was to do with logging out of a site which uses the Umbraco Membership as the authentication provider.
The bug was …
August 28, 2008 ·
4 min readSo it can be generally agreed that UpdatePanels are evil. Plenty of people have blogged about this, there's a good post here which goes over it in more details. To give a …
August 28, 2008 ·
4 min readSo in my last post I looked at how to use an UpdatePanel to do data paging and then optimising the HTML to get the best performance from our requests, but it still wasn't optimal. …
August 21, 2008 ·
1 min readWell again my MBP is back to the repairer, I've been having intermitent issues with the keyboard and mouse since it last was repaired (on an unrelated matter) and finally I'd had …
August 13, 2008 ·
2 min readSo I've been doing more and more work with the Umbraco API of recent (particularly in regards to my website) but I'm getting more and more frustrated at the interaction which …
August 13, 2008 ·
2 min readSo I was going through my blog feeds the other and came across a post about the CTP release of an ASP.NET Virtual Earth server control (Channel9 video here). I'm doing quite a bit …
August 9, 2008 ·
2 min readOk, well it's actually v0.2.3143.41238 but who's counting :stuck_out_tongue: So I've got a new version of my MSBuild tasks ready, and in this new minor release I added a new …
August 7, 2008 ·
3 min readRecently we've had several projects which have come through in which we are building a solution in Umbraco and the client wants to have memberships within the site. Umbraco 3.x …
June 10, 2008 ·
2 min readUnit testing is a vital role of development these days, and with recent development within the .NET framework and the Visual Studio system it is easier than ever to create unit …