Display build history charts for AppVeyor or TravisCI builds with an SVG widget
If you ever browsed a popular GitHub repository (like NUnit or Bootstrap) then you must have seen many of the available SVG badges which can be used to decorate a repository's README file.While some...
View ArticleDeath of a QA in Scrum
The world is changing fast and the software industry even faster. Today I am a software developer with almost 9 years of commercial experience and recently I was told that this is about the time when a...
View ArticleWhen to use Scrum? Waterfall vs. Scrum vs. Kanban vs. Scrumban
"Why", I love this word and it is probably my most favourite question to ask. It is also a curse at the same time, because if it is not followed by a satisfactory answer I can easily find myself in an...
View ArticleHow to make an IStatusCodeHandler portable in NancyFx
I am currently working on several micro services using the NancyFx framework with many projects sharing the same underlying architecture.The IStatusCodeHandler interface is one of the core...
View ArticleDesign, test and document RESTful APIs using RAML in .NET
Building a RESTful API is easy. Building a RESTful API which is easy to consume is more difficult. There are three key elements which make a good API:Intuitive designGood documentationDocumentation...
View ArticleDiagnosing CSS issues on mobile devices with Google Chrome bookmarklets
Yesterday, when I was browsing my blog on my mobile phone I discovered a small CSS issue on one of the pages. One of my recent blog posts had a horizontal scrollbar which shouldn't have been there. A...
View ArticleRunning NancyFx in a Docker container, a beginner's guide to build and run...
The quiet Christmas period is always a good time to explore new technologies and recent trends which have been on my list for a while. This Christmas I spent some time learning the latest ASP.NET...
View ArticleASP.NET 5 like configuration in regular .NET applications
ASP.NET 5 is Microsoft's latest web framework and the new big thing on the .NET landscape. It comes with a whole lot of new features and other changes which makes it very distinctive from previous...
View ArticleUnderstanding ASP.NET Core 1.0 (ASP.NET 5) and why it will replace Classic...
ASP.NET has quite some years on its shoulders now. Fourteen years to be precise. I only started working with ASP.NET in 2008, but even that is already 8 years ago. Since then the framework went through...
View ArticleSHA-256 is not a secure password hashing algorithm
SHA-256 is not a secure password hashing algorithm. SHA-512 neither, regardless of how good it has been salted. Why not? Because both can be computed in the billions per minute with specialised...
View ArticleFunctional ASP.NET Core
In December 2016 I participated in the F# Advent Calendar where I wrote a blog post on running Suave in ASP.NET Core. As part of that blog post I introduced the Suave.AspNetCore NuGet package which...
View ArticleFunctional ASP.NET Core part 2 - Hello world from Giraffe
This is a follow up blog post on the functional ASP.NET Core article from about two months ago. First of all I'd like to say that this has been the longest period I haven't published anything new to my...
View ArticleGiraffe goes Beta
After 6 months of working on Giraffe, lots of improvements, great community contributions and running several private as well as commercial web applications in production I am really happy to announce...
View ArticleEvolving my open source project from a one man repository to an OSS organisation
Over the last couple of months I have been pretty absent from my every day life, such as keeping up with Twitter, reading and responding to emails, writing blog posts, working on my business and...
View ArticleExtending the Giraffe template with different view engine options
This is going to be a quick but hopefully very useful tutorial on how to create a more complex template for the dotnet new command line tool.If you have ever build a Giraffe web application then you've...
View ArticleAnnouncing Giraffe 1.0.0
I am pleased to announce the release of Giraffe 1.0.0, a functional ASP.NET Core web framework for F# developers. After more than a year of building, improving and testing the foundations of Giraffe it...
View ArticleGiraffe 1.1.0 - More routing handlers, better model binding and brand new...
Last week I announced the release of Giraffe 1.0.0, which (apart from some initial confusion around the transition to TaskBuilder.fs) went mostly smoothly. However, if you have thought that I would be...
View ArticleStop doing security (yourself)
Security has a very special place in software engineering. It is very different than other disciplines, because it is a problem space which cannot be approached with the same mindset as other problem...
View ArticleOpen Source Documentation
Since January 2017, which soon will be two years ago, I've been maintaining an open source project called Giraffe. Giraffe is a functional web framework for F# which allows .NET developers to build...
View ArticleASP.NET Core Firewall
About a month ago I experienced an issue with one of my online services which is running in the Google Cloud and also protected by Cloudflare. I had noticed a spike in traffic which only showed up in...
View Article