SAFE Template - a year retrospective
In this blog entry, we'll take a look at SAFE Template - how it got created, what's the current state and what does it take to release a stable 1.0 version.
Read more...In this blog entry, we'll take a look at SAFE Template - how it got created, what's the current state and what does it take to release a stable 1.0 version.
Read more...If your application targets .NET, chances are you're using FAKE to build it. In this entry I'll show you why it's worth to upgrade to version 5 of FAKE.
Read more...In this entry I describe my talk on creating web apps in F# and SAFE Stack - the motivation behind, as well as format of the talk.
Read more...The power and beauty of F# pattern matching are often underestimated. To shine more light on them I decided to share code fragments which exercise pattern matching to deal with date ranges. This will be a simple divide and conquer implementation for a workaround over poorly designed API.
Read more...In this entry, I'm introducing recently published version 2 of my Suave Music Store tutorial
Read more...What if author of a programming book could maintain his content and related code in the same place? In this entry I'll share with you my experimental idea for code-heavy F# tutorials.
Read more...In this entry I introduce a brand new command called "why" in Paket dependency manager. It was inspired by a recent project of Facebook, Yarn and aims to display user-friendly reason for a specific package to be under dependency management. The command is available in Paket 3.26.
Read more...How to make a F# workshop for your colleagues more attractive? Let them edit your slides and interact with the browser! This entry presents an idea of using FsReveal to combine your presentation and workshop exercises into a single file.
Read more...In this first of a series of posts about XSLT (hopefully to come), I'd like to share my thoughts on 2 different approaches to processing XML documents. From a shorter and implicit version I will transit to a bit longer and explicit transform, with the latter being easier to reason about. What are the costs of trade?
Read more...Modularity is becoming more and more popular nowadays. Managing separately maintained components in .NET ecosystem is usually achieved by using NuGet packages. Unfortunately with current NuGet approach, there's no easy way of testing new changes in referenced projects. Today I want to show you how we can make our lifes easier with brand new Paket feature: paket.local.
Read more...In this short entry I'll present how one can create a small load balancer in F# to optimize distribution of a set of computations between multiple nodes. The example will make use of powerful F# libraries: FSharp.Control.AsyncSeq as well as FSharpx.Async.
Read more...I've written the Suave Music Store GitBook, which helped quite a few people to get started with the Suave.IO library for creating web applications in F#. However the original version of tutorial didn't really feel x-platform, as it was designed to work on Windows only. I decided to revisit the tutorial and add 3 more sections describing how to convert the app to run on mono and place inside a Docker container.
Read more...Efficient continuous delivery process can speed up greatly development cycle, improve feedback loop and help to manage automatic deployments.
In this entry I'll present how one can configure a continuous delivery chain using combination of following tools: FAKE, Paket and TeamCity.
Property-based testing is a wonderful tool to verify correctness of your programs. However, some people struggle with finding reasonable cases to use the technique. In this entry, I'll try to prove that property-based testing can be used in every-day coding by showing a rather exotic example of applying property-based testing to check results of XSL transformations.
Read more...