Custom error handling and logging in Suave
Some years ago when you wanted to develop a .NET web application it was almost given that it will run on IIS, but today we have a sheer amount of different web server technologies to our availability....
View ArticleJMeter Load Testing from a continuous integration build
In the last two weeks I have been doing a series of load tests and the tool I've been using was Apache JMeter. JMeter is an open source, cross platform load testing tool written in Java. Unlike the...
View ArticleBuildStats.info |> F#
After working on the project on and off for a few months I finally found enough time to finish the migration to F#, Suave and Docker of BuildStats.info.The migration was essentially a complete rewrite...
View ArticleCreating a Slack bot with F# and Suave in less than 5 minutes
Slack has quickly gained a lot of popularity and became one of the leading team communication tools for developers and technology companies. One of the main compelling features was the great amount of...
View ArticleLoad testing a Docker application with JMeter and Amazon EC2
A couple of months ago I blogged about JMeter load testing from a continuous integration build and gave a few tips and tricks on how to get the most out of automated load tests. In this blog post I...
View ArticleBuilding and shipping a .NET Core application with Docker and TravisCI
With the .NET Core ecosystem slowly maturing since the first official release this year I started to increasingly spend more time playing and building software with it.I am a big fan of managed CI...
View ArticleRunning Suave in ASP.NET Core (and on top of Kestrel)
Ho ho ho, happy F# Advent my friends! This is my blog post for the F# Advent Calendar in English 2016. First a quick thanks to Yan Cui who has pointed out this calendar to me last year and a big thanks...
View ArticleError Handling in ASP.NET Core
Almost two years ago I wrote a blog post on demystifying ASP.NET MVC 5 error pages and error logging, which became one of my most popular posts on this blog. At that time of writing the issue was that...
View ArticleThank you Microsoft for being awesome
OK so I have to admit that I can have a pretty big mouth sometimes, which is certainly not a good quality to have. I don't shy away to be (overly) critical if things annoy me:As you can see, about a...
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 ArticleDrawbacks of Stored Procedures
A few weeks ago I had a conversion with someone about the pros and cons of stored procedures. Personally I don't like them and try to avoid stored procedures as much as possible. I know there are some...
View Article