Measuring PageSpeed performance

Pagespeed is an important factor in providing a good web user experience. A commonly quoted statistic for this is that 40% of people abandon a website that takes more than 3 seconds to load. It is common for sites to see increased conversions after implementing performance optimizations. Pagespeed is not just a factor for user experience but also effects search. Google has stated that page speed is now a factor in their web search ranking algorithm.…

Automated testing with ASP.NET applications with Selenium and Appveyor

Many years ago I read the first edition of Extreme Programming Explained by Kent Beck. While it had a big impact on my programming career -- it was my first introduction to an agile development process -- I never had the opportunity to fully embrace its methodology. Two Extreme Programming practices that I continue to aspire to follow are Test-driven development and Continuous integration.…

Deploying to Azure App Service with custom build script

My agency recently started working on a website built with React. Like most modern sites built using frameworks such as React or Angular, it leverages a Node-based build system. With Kudu, Azure AppService's deployment engine, it is possible to customize your own deployment scripts which is what I needed in order to run the build script for the React website.…

Personal Online Security 101

As a programmer, I take information security seriously because security needs to be baked into the process of developing web applications. While I am not a security researcher, I think I know more about information security than most. At the same time, I see a lot of people not taking basic steps necessary to keep their information protected. So here I present five basic tips that everyone should follow to help protect themselves online.…

The market for Umbraco packages

Recently, the prominent Umbraco package developer Matt Brailsford tweeted ":Hmm, wonder if I can do a kickstarter for an #umbraco package?" I had some thoughts on this but they don't fit into 144 characters, so instead I'm posting them here.…

Password Protecting Azure Websites Revisited

A couple years ago, I wrote about how to Password Protect Azure Websites with Basic Authentication. As I stated, I typically use basic authentication to password protect development or staging sites to block search engines and others from accessing the non-production sites. My post explained how I used a simple Basic Authentication module to implement basic authentication on Azure App Service. While this module works fine, I’ve started using another one called HttpAuthModule which has a couple advantages.…

Adding a timer to trace Ditto mapping

I've been working on improving server response time for an Umbraco project that has complex strongly-typed view models. We are using Ditto, "the friendly view-model mapper for Umbraco", to map our content to our strongly-typed models.…

Using a custom ContentFinder in Umbraco

A while back I wrote about using Vorto, the popular multilingual property editor for Umbraco, with a custom content finder class to serve multilingual content within a single domain. In this post, I will explain how one can use a custom content finder to display a node of content in more than one location.…