Managing The Aspire Community Toolkit With AI
With the recent release of the Aspire Community Toolkit v13, let's see how AI was used to help with the release.
With the recent release of the Aspire Community Toolkit v13, let's see how AI was used to help with the release.
A look at how I used AI to help me revive my blog after a year of neglect.
The story of my 2024 running journey.
A look back at the year that was
Spring has sprung here in Australia and it's time for the house to adapt
Let's have some fun with Generative AI
A look at how to connect to an Azure PostgreSQL Flexible Server using Entra ID rather than username/password using Npgsql
With Aspire Preview 3 there is a new service connector for OpenAI, let's check it out.
Tired of losing all the data when you restart your .NET Aspire app? Let's fix that!
A look back at the year that was
The story of my 2023 running journey.
Walking into a room, lights turning on, feels like magic.
Let's get responses to the client as fast as we can.
Everything is better with visuals.
It seems to be my lucky day, I've gotten about a dozen of these in the last 24 hours.
Chatty - finish this sentence for me
Let's take a look at the SDK for OpenAI and have we can use it.
It's time to start a new series with everyone's favourite topic of the moment, AI!
Let's take our smart home to the next level with a wall mounted dashboard!
Let's setup a NAS and backups for our smart home.
It's time to go on a holiday, but what about your smart home?
We'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
Want to easily create a GraphQL API for your Azure Database? Well, let's see how easy it is with SWA Database Connections.
It's never been easier to create a GraphQL server on Azure, let's check out what's new
You know what's fun? Having to debug your own home...
Because a physical key is so old school
Next job on the smart home, motorised blinds
We installed a motorised gate, so guess what, I need to automate it!
Sometimes we want to add things to a devcontainer, but how do we do that in the simplest way
A look back at the year that was
It's time to get to the thing most people associate with a smart home, lights.
2022 was a tough year
The story of my running in 2022
What day do the bins go out? What bins are we putting out this week?
It's starting to get warm in Sydney, let's get the ceiling fans working with Home Assistant
We're improving the support for Next.js on Azure Static Web Apps, check out what's new!
Graphs are great for DoS queries, so how can we prevent them?
A second take on how to work with CosmosDB's docker-based emulator
Another day, another phish
It's time to start automating, and let's start with our appliances
Look, another phishing attempt. Let's unpack this one
With Synthetic GraphQL we created resolvers to pass-through to REST calls, but what if we want to have resolvers on types other than Query
It can be a lot of work to rewrite your APIs to GraphQL, but what if we could do that on the fly
Always good to keep your subscriptions clean, but how do you know what's not needed
Custom SWA deployments can cause problems with adding PR comments, but it's an easy fix
Sensors, lights, plugs, switches, wifi, ZigBee, Z-Wave, oh my...
Deploying Blazor to SWA but want different config per-environment? Here's how to do it
The default SWA pipeline is a good starting point, but let's look at how to split it up more.
I'm building a smart home, so come join my journey
This took a lot of chasing down to work out, so hopefully I can save you some time
I'm trying to get better at using Infrastructure as Code, so first up - deployments with SWA!
Let's take a look at making OAuth2 simpler with APIM Authorizations
A look at a phishing attempt on me today
Wanting to learn GraphQL? Come join my workshop
Are 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
Let's setup the ultimate local dev experience for making web applications.
A new tool for generating OpenAPI specs from JavaScript and TypeScript Azure Functions
Bringing this little service to the modern age
The story of my running in 2021
A look back at the year that was
Logging and monitoring are important to understand how an app is performing, so let's integrate that into Apollo
Catch up on the panel session on the State of Serverless from GraphQL Summit 2021
I make a lot of Azure Static Web Apps, so I make it easier to scaffold them.
We've got local dev with Keystone working, now we'll look at what we need for hosting
It's time to start a new series on using Keystone on Azure. Let's look at how we setup a local dev environment.
Curious on how to run Strapi 3 on Azure without learning about VM's, check this out then!
It's been a month since I got my Moonlander, so how's it all going?
Here's how to regen all your keys for CosmosDB
I decided to upgrade my keyboard to a split layout, here's my first impressions
SWA gives you authentication, but without much of a user profile, so let's look at how to add that.
Let's look at how to work with Azure Functions output bindings from F#, specifically for CosmosDB
Do you want to do changes to how CosmosDB serialises/deserialises data in the Azure Function bindings? Then have a read of this post.
Check out our live stream on F# and web development, with Fable and Azure Functions
Some templates to make it easier to get started with F# and Static Web Apps
It's time to talk authentication, and how we can do that with GraphQL on Azure
Authenticated SWA endpoints can be tricky to test, as you don't control the headers... until now!
Let's look at how we can solve the deployment when using Blazor and TypeScript in a single SWA project
There's so many awesome new tools to make web dev easier, let's check some of them out.
I'm mad about devcontainers, so let's take it to the limits!
Let's check out the Azure Static Web Apps CLI and how to use it with VS Code
With Azure Static Web Apps supporting custom authentication, let's look at how we can use Auth0 as a provider.
With Azure Static Web Apps supporting custom authentication, let's look at how we can use Okta as a provider.
While remote workshops can be hard, here's a few tools to make them a little easier.
Let's look at how to make it a little easier to work with authenticated Static Web App APIs
It's time to take a look at how we can do real-time GraphQL using Azure
A look at devcontainers and why you should have them on all projects
Let's look at how we can extend the GitHub CLI to give us information about GitHub Actions
Last 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 …
A look back at the year that was
I created a small npm package to make SWA auth simpler in React apps
The result of me nerd-sniping myself
Dynamically generating forms can be a challenge, so let's break down how to do it with React Hooks
Check out my session on DevOps Labs about Static Web Apps
Coming to a project with a lot of dependencies to update? Here's how to script it
Want to learn some of the best parts of .NET 5? Join me at Devs Speak
Let's look at how to automate releases to GitHub Packages using GitHub Actions
We've got access to the camera, now to display the feed
Lights, camera, action! It's time to get devices for our app.
First we created a JavaScript series, now it's Node.js time
Solving problems no one has with tools they don't need!
Get ready to dive into all things JavaScript
Let's look at how we can make a foldable web experience using React for the Surface Duo
Let's get started with building our video chat app
Let's check out a new Azure service and build a video calling app
We're defining a GraphQL schema with a type system, but can we use that type system for our application?
Can you make a two PC stream setup without spending much money?
Let's take a look at how to integrate a data source with GraphQL on Azure
Let's have a look at how to create and use custom events in JavaScript
A quick tip on how to make it easier to diagnose production problems with Static Web Apps
Let's look at how we can create a JavaScript GraphQL server and deploy it to an Azure Function
I recently ran my first virtual workshop and wanted to share how I did it and some thoughts I had on doing it
Let's look at how we can create a dotnet GraphQL server and deploy it to an AppService
Online events are the way of the times, let's touch on a few things I've learnt from them so far
Let's get started looking at GraphQL on Azure
A little tweak to my tmux setup for privacy needs
Kicking off a new live stream series on converting from ASP.NET Core to Serverless
A continuation of my live streaming, this time looking at how to generate types from GraphQL.
Last week saw Microsoft Build done fully online, but let's talk about how we did it.
Let's go build something!
A few tips on how to use enums in TypeScript, and some gotcha's to watch out for
Microsoft Build will be coming to you live for 48 hours straight!
Want to go from zero to hero with Docker? This will get you up and running in no time.
A few videos showing how I configured my terminal for WSL2
A quick start on how to create a GraphQL endpoint on an Azure Function
Do you want to learn Docker? Check out this session I ran recently
I get asked occasionally how I setup my machine, so here we are
How to create an approval-based workflow with GitHub Actions
Introducing a library to make Cosmos DB easier with F#
A nifty trick I learnt recently for working with local npm packages
I'm back on Visual Studio Toolbox to talk about GitHub Actions and Azure Functions
When a talk goes bad.
A quick guide on how to use VS Code to work with Git and Azure Functions
Let's have a bit of a dig into how a new TypeScript feature works
Has it been that long already!
Here's how to create Azure Functions in F# easily.
Looking to deploy Azure Functions with GitHub Actions? Here's how to get started.
A story of my running in 2019.
How I created a little service to create social media images for my blog.
A look back at the year that was
You win some, you loose some, but that's how conferences go.
A look at how to deploy a Hugo static website to Azure Static Websites and Azure CDN.
The load time for our Blazor + Lucene.NET app is a bit slow, let's look at how to optimise it.
Blazor is designed for whole-app dev, but what if you don't want it for that?
I sat down with SSW.tv to talk about how to create workflows using Durable Functions
I recently added search to my website and decided to look at how to do it with Blazor, WASM and Lucene.NET
Have you setup Content Security Policies? Do you want to use WebAssembly? Well here's what you need to do
A look at how to create a custom React Hook to work with AppInsights
Combining React Error Boundaries with AppInsights for automatic error logging
Here's a video of my Serverless Days Melbourne talk on Durable Functions
When a Promise falls in the woods and no one is there to catch it, does it error?
Monitoring of SPA's is important, so let's look at how to do that in a React app using AppInsights
Let's look at how you can use Entities in Durable Functions v2 to create an API cache
It's time to take another look at CIL, how do conditionals and loops work?
How to use React Hooks to create a polling API using setTimeout
IL is full of these things call OpCodes, but what are they?
Here's something I learnt about interfaces in .NET while exploring IL
A reflection on my journey over the last 10 years
A new release of dotnet-delice with even more license discovery support
Ever wondered what licenses are in use of your project? Here's a tool to help you out
A look at how you can abuse CSS for evil(?)
A guide on how to display test outputs from VS Code Extension tests in Azure Pipelines
What's next with my IoT project?
Adding extension management to the VS Code Profile Switcher
Moving from manual DevOps to automated DevOps
It's time to rub some DevOps on IoT
A quick look at how to use the FSharp.Azure.Storage package in Azure Functions
A guide to creating a Slack 'slash command' using Azure Functions as the handler.
Has it already been 6 months? Or has it only been 6 months?
Let's build something with Blazor!
How I go about processing data streams from IoT devices
I've created a little VS Code extension for swapping between different profile setups
A look at how you can do local development with IoT solutions
Let's start diving into the codebase, starting with capturing data
A look at managing data in an IoT project
How I came to the solution design for my IoT project
Some beginning words on the Home Grown IoT project I've been working on for a while
A guide on extending Saturn, an F# web framework, by creating a Basic Authentication provider
Using parameters with job templates in Azure Pipelines
Some Docker containers can't connect because they can't find the process, here's a fix
How to orchestrate event-based workflows using Azure Durable Functions
Fixing problems with a corrupt vscode remote instance
How to setup an Azure Pipeline agent to use a specific version of Go for a build
Using VS Code to debug a .NET Core application running within a Docker container
A 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 …
A quick lap around how to use Azure Container Instances
Add a bit of flare to your console.log messages
How to share drives when using AzureAD to log into Windows
How to create an Azure Function using F#
How to setup CI/CD with Azure DevOps to deploy npm packages
Time to put all the pieces together and get something built!
It's time to bring this into a web devs toolchain
We've learnt how to write to the DOM, but how about returning values to JavaScript functions?
Looking at interop between Go and JavaScript via WASM
Writing your first piece of Go to combine with WASM
Introducing a new series on learning Go by writing WebAssembly
I've left Readify and completed my first week at Microsoft!
A look back at the year that was
How we automate deployments of DDD Sydney's static websites
How I went about slashing Azure costs for DDD Sydney from $60 to $1.50 per month
Some info about my NDC Security talk on Securing Single Page Apps
How to use Chauffeur to make it easier to create integration tests against the Umbraco API
Some more thoughts around content ownership.
Searching and installing packages from the Umbraco feed with Chauffeur
After a long time Chauffeur v1.0 is out
Some fun with customising your PowerShell prompt.
An overview of my upcoming talk at Umbraco Down Under Festival
My thoughts about getting into blogging and how to manage your content
A look back at the year that was
Introducing PowerShell nvm v2, a cross-platform Node.js version manager
How to use Microsoft Flow and Azure Functions to create simple demo APIs
A valid(?) use case for using a Docker Linux container to run a GUI application on Windows
How to remove your reliance on globally installed node tools
My story of when I 'Hit Refresh' on my career.
What's new in the latest Chauffeur release?
How I'm using Microsoft Flow with HIBP to notify me of breaches
Microsoft Edge on iOS and Android, what does it mean?
Some new features in the web platform from the MS Edge Web Summit
Learning Docker by starting at the basics and working our way up
A look back at the last 12 months of being a Readify PC
I’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 …
My takeaways from the MS Edge Web Summit
A 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 …
The relaunch of my whatkey service
In 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 …
In 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 …
I’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 …
Another 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 …
Learn about automating Umbraco with Chauffeur
Well 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 …
A presentation I gave at the F# Sydney UG on implementing redux in F#
Exploring how redux can be used as a generic design pattern, not just a JavaScript library
A look back at my time at Readify, what I've learnt and how I've grown
Time to take a look at middleware
Working with multiple reducers
An introduction to the Store and how to make a simple one.
Converting our tests and demo across for use with Reducks
A start in the series about learning the inner workings of redux
A look back at what I learnt organising DDD Sydney 2016
Automating the publishing of PowerShell modules to the gallery with VSTS Build
Are you ready for the end of old Internet Explorer?
A look back at the year that was.
Telling the time with F# and ntp.
One 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.
A fix for a small problem in MS Edge F12 tools on Windows 10 build 10158.
My new Pluralsight course, Umbraco Jumpstart is out!
A tongue in cheek look at JavaScript framework analogies.
A look at how to page-based security with React and react-router.
I recently talked about Chauffeur and my thoughts on deployments on uHangout.
I did two talks at ANZCoders on front-end development, covering the toolchain and a look at React.
A walkthrough of how to create a F# Type Provider.
On 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.
Just use WebKit seems to be a common belief in web developers, but there's a danger involved in that mindset.
Taking what we learnt in the last post and evolving the approach.
Here's an approach on how to create React components that have role-based security on them.
When 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.
There'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?
How to run grunt (or gulp) tasks when deploying ASPNet5 applications to Azure Websites.
I recently did some painting of our house and here's how to approach it like an IT consultant.
Have you ever wondered how you would go about hosting multiple WebAPI servers within a single process?
When creating Xamarin apps from a CI process like TeamCity it can be useful to generate the version accordingly.
A 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.
Here's a simple approach to creating an expanding list with CSS.
A look back at the 5 years that has been DDD Melbourne
Introducing Chauffeur, a new classy way to delivery changes around Umbraco instances.
A look at the CSS editor improvements in the F12 tooling refresh
A look at the JavaScript console improvements in the F12 tooling refresh
A look at the JavaScript console improvements in the F12 tooling refresh
Introducing a new website to help track the development status of features in Internet Explorer
Ever had an event firing from jQuery but you don't know where in your code they are firing from?
Today I learned something important about the `nth-child` CSS selector that seems to be a common misconception.
It's time to really address that annoying habbit of developers to use `Assert.IsTrue` in their tests.
Previously 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.
We'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.
Generator 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?
A look at how you can write integration tests with the new ASP.Net Katana project web applications when they are behind an authentication layer.
Revisiting how to implement LINQ in JavaScript on top of ES6 but this time it's actually going to be on top of ES6 features!
Dealing with the case of the missing Location header in an ASP.Net WebAPI response.
A 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.
A quick clarification on my previous post about LINQ in JavaScript using ES6 features.
A quick tip on how to use `bluesky` from Azure Mobile Services.
It'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.
When 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.
Just 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.
Time to revisit something that was overlooked in the last post, the `new` operator in JavaScript and what it does.
My 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.
After 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.
After 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.
I'm going to be presenting a JavaScript workshop at the upcoming DDDMelbourne conference
Ever 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
After 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
With 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.
It'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?
Throughout 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 …
The 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 …
The 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 …
In 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, …
So 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. …
Last 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 …
A mystery that resulted in a strange mix of expected responses
A new program from the IE team
Upcoming speaking on IndexedDB
A new release of a KnockoutJS plugin for Glimpse
Obligatory post about my experiences to date with a Surface Pro
An introduction to another new library from me, this time it's mathy, a simple formula parser
Is it time for the IE brand to end-of-life?
A look at what's changed since I last pointed out the failings of the IE dev tools
It's time for another rant, this time it's with how some people write their unit tests
Some of my impressions from trying to implement something in TypeScript
Time for yet another year in review
A little word on the db.js support for Chrome
The quirk of reverse index querying in IndexedDB and in turn db.js
A starting point for learning where and how
How had I missed all this before?
Another quick look at what you can do with TypeScript
An overview of how to create indexes and execute powerful queries against them using db.js
It's that time again, time for more Pub/Sub!
An introduction to db.js, an IndexedDB wrapper.
Couldn’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 …
Ever wondered how to check if a file exists in Windows 8?
How to setup a basic git server for Windows
A look at how you can create JavaScript classes in WinJS
Settings in Windows 8 XAML suck. Period.
A 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 …
Hack of the day goes to how you hide the soft keyboard on a Windows 8 application
Oh that WebView control is a funny one
So I'm starting to learn XAML...
An update on using ASP.NET MVC with Umbraco 4.
The code smell that's creeping into JavaScript development
Hi, my name's Aaron Powell and I was involved in killing Umbraco 5.
Keen discuss contributing to Umbraco's core, join the discussion now!
How to combine ASP.Net MVC applications with an Umbraco project
A subtle change to IndexedDB in IE10 PP6
So 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 …
A Windows 8 application for the Pinboard bookmarking service
An look into what is involved in JavaScript compression and minification as well as where the benefits lie.
Wrapping up the OWIN series
Taking the View Engine concept one step further
A look at how you'd put together a View Engine for OWIN.
Today we got caught out by a recent npm change
A look at how to give power to our responses by making different response types easier to handle
Now it's time to do some routing on top of OWIN
In 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 …
An introduction to OWIN and building a server.
I 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 …
For 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 …
Wanting to include a Macro in your v5 package, where do you start?
A look at the v5 task system, particularly how to create an installer task
A quick guide to sending emails from nodejs on Heroku using SendGrid
Working with tbd to build your requests without backend services
A few useful match helpers for Jasmine
As 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 …
Hi, 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 …
An introduction to tbd, a data generator for JavaScript
Why you shouldn't use (and don't need to use) the $.proxy method in jQuery
I’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 …
A 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 …
Anyone 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 …
If 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 …
So 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 …
Working with the DOM and QUnit from Node.js
I 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 …
Taking your QUnit tests out of the browser to use your tests with Node.js
I 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 …
In 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 …
This 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 …
Because 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 …
Because 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 …
A 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 …
Let's have a bit of a fun doing something that's probably a bad idea with the AmplifyJS Request API.
Today 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 …
In the beginning there was...
Postman will help you deliver things around your JavaScript application
Does 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 …
In 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 …
In 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 …
Currently 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 …
I’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 …
Well 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 …
Warning - 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
Incase 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 …
The 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 …
This 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) …
A look at how to make a simple JavaScript animation library
A tool for when you just want to server some files.
Some thoughts on how to improve the IE9 JavaScript developer tools
This 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 …
Looking at localStorage, sessionStorage and the like
How to dig into the NuGet feed easily
How to create a plugin engine using NuGet as the distribution format
Interested in tracking what doing nothing really means to you?
How do Umbraco look in IE9 RC?
A (known) issue with the IE9 RC geolocation API.
Aww yeah, old-skool win
This time we'll implement the marquee tag, just because we can!
How to implement the blink tag using jQuery and some silliness :P
A look at the way ECMAScript 5 is improving LINQ in JavaScript
A small tweak to console.assert in IE9
An overview of how to manage content in the two different CMSs
A look at how to make pluggable Controllers using MVC3
Help me get a session at MIX11 ;)
Video of my Unit Testing with Umbraco session from CG10
Ever needed to find the name that'll be generated for a property in MVC? Here's how
In this article we'll look at the difference between the two systems when it comes to creating content.
A look at the admin systems for Orchard and Umbraco
An introduction to a series of looking at comparing Orchard CMS and Umbraco
A comparison between the install experience between Orchard CMS and Umbraco Juno
How to implement a fully functional custom Umbraco MacroEngine using NHaml language
A quick look at the new abstraction layer on top of the Umbraco Macro Engine in Umbraco Juno
A look back at what was 2010
A quick look at how to use the Razor support which is coming with Umbraco Juno (4.6)
How I do my development of Umbraco web applications.
Talk given at SydJs on building JavaScript frameworks
A quick guide on how to contribute to Umbraco using Mercurial
A Mercurial primer for Umbraco developers
An overview of a simple site which helps JavaScript developers working with keyboard events
Having some fun with NodeJS and a crazy Danish dude
No more XSLT, DRL for the win
Some things which I've learnt while working with IronRuby in Umbraco
An interesting problem when assigning CSS classes in JavaScript
Turning an image into a string... simply
JavaScript functions are more than just functions
Creating a custom LINQ to Umbraco provider - implementing a Tree
Making LINQ to Umbraco way more awesome
Time for more crazy JavaScript, functions that can rewrite themselves!
What is the DocumentDataProvider, why does it exists, and how can it complete me?
How to create and return KeyedCollection which use Lazy<T> under the hood
Having disconnected eventing in JavaScript using a simple little framework
A core JavaScript library from my JavaScript Tools
The home of JavaScript tools I have produced
Why does LINQ to Umbraco not implement the IQueryable interface?
An interesting quirk I found from ClientDe
This article was migrated from old website, originally dated 19 March 2009
So 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). …
Are your SharePoint features corrupting your page layout?
Creating an integration test of sending an email
Creating custom DataProviders for LINQ to Umbraco
Creating custom DataProviders for LINQ to Umbraco
A look what LINQ to Umbraco is and what it isn't
As 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 …
I think ASP.Net WebForms is really quite good, and here's some thoughts on the topic
A more in-depth look at how to use Lucene for storage and building a simple application
A series of helper methods for working with the DLR in C# 4.0
As 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 …
A wrap up from my talk on doing unit tested ASP.NET with Umbraco
Using the C# dynamic features to make it easier to work with Dictionary objects
A look at CG10 and just how awesome it was
An easy way to return XML from ASP.NET MVC
Using Twitter to stalk someone has never been so easy!
Using implicit operators in model binding with ASP.NET MVC
Autofac doesn't support injection of value types as properties, here's how to support it.
This may not be the best idea, but hey, why not, let's writing Presenters with F#!
What 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 …
Client event pools are great to have disconnected AJAX components on a page
Articles, links and helpful tidbits for working with Webforms MVP
Cross-Presenter messaging is really handy, and here's how to do testing of it when it's in a presenter
This post was migrated from my old website. Originally posted on 01/01/2010
Looking at a limit with type casting in .NET 3.5 and how .NET 4.0 can help solve it.
A common problem when writing XSLT extensions
Today 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 …
This post was migrated from my old blog. Originally posted on 07/01/2010
A neat trick with operators in .NET
XSLT has a place in development and Umbraco, here's why I think a lot of people miss understand its place
DateTime.MinValue doesn't match the SQL server minimum date. So how do you deal with it using LINQ to SQL?
LINQ is just a pattern, this shows you how to produce it in JavaScript
DDD Melbourne is on during May and I'll be there to speak about Umbraco
Overview and table-of-contents for Lucene.Net articles
An overview of WebForms MVP Contrib project
Looking into how the DataTypes are designed for Umbraco
A look at the events changes in Umbraco versions
First 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 …
The blog post referred to is no longer available, I’ll see about updating this to not require that
Easily generating Excel documents using LINQ to XML
Something to be careful of with downloading assemblies
Oh the pain, OH THE PAIN
Sometimes the truth hurts
Why does the new version of Aaron-Powell.com not use Umbraco?
Ever wondered how LINQ to Umbraco was build? Well look no further
Source of all that I've written about in the .NET world
This 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.
An overview of LINQ to Umbraco
Instructional videos to get you up and running with LINQ to Umbraco
Useful Links: Extending Umbraco Members MembershipProvider RoleProvider ProfileProvider ProfileBase SettingsAllowAnonymousAttribute
So it doesn't fall into other categories? You'll find it here, along with random rants.
Articles on the topic of web development
All my articles about the worlds friendliest CMS
So 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 …
To know recursion you must first know recursion
Ok, 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 …
This 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 …
LINQ 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 …
To know recursion you must first know recursion
I'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 …
One 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 …
As 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 …
What's the difference with LINQ to using query syntax to pure lambda expressions?
A 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 …
I 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 …
Today 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 …
Recently 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 …
Bringing jQuery and MS AJAX together
Yet 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 …
I 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 …
Let 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 …
Something 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 …
Since 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 …
As 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 …
Well 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 …
So 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 …
So 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 …
Using 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 …
I'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 …
As 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 …
Well 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 …
First 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 …
Umbraco 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 …
Well 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 …
Last 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 …
So 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). …
Well 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. …
Ruben (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 …
This 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 …
Well 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 …
Just 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 …
I 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 …
The 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 …
Any 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 …
Although 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 …
A 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 …
Something 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 …
System.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 …
Well 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: …
Something 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 …
So 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 …
All 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 …
Well 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 …
Maybe 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 …
Well 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. …
So 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, …
So 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 …
Well 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 …
In 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 …
Well 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 …
In 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 …
As 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 …
Earlier 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 …
Recently 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 …
So 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 …
I'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 …
The 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 …
When 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 …
As 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 …
So 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 …
So 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 …
So 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 …
So 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 …
So 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. …
Well 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 …
So 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 …
So 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 …
Ok, 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 …
Recently 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 …
Unit 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 …