.NET F# Open Source Software Web Development Functional Programming JavaScript TypeScript JavaScript Typescript Developer Experience Developer Tools
Łódź, Łódź Voivodeship, Poland
Krzysztof is a photographer, globetrotter, and public speaker. He works as a Senior Research Engineer at [GitHub Next](https://next.github.com/), where he designs and builds the next generation of developer tools such as [GitHub Copilot](https://copilot.github.com/).
After the work, Krzysztof is an open-source software maintainer passionate about functional programming (especially F#), editor tooling and developer experience - he has created and maintained several OSS projects varying from [language servers](https://github.com/fsharp/FsAutoComplete) to [web frameworks](https://github.com/SaturnFramework/Saturn) to [VSCode plugins](https://github.com/ionide/ionide-vscode-fsharp).
Additionally, he is a passionate public speaker. You can meet him at many conferences around the world, where he is always trying to meet new people and learn how to make the lives of software developers better.
The MVC pattern has been one of the most important architectural patterns for server-side web development - it has been implemented and popularized by frameworks like Ruby On Rail or ASP.NET MVC. However, this pattern was traditionally coupled with object-oriented programming. In the talk, I will show how to reinvent MVC pattern, and structure your web application in a functional language - F#.
The talk will cover some brief introduction to F# - modern functional programming language running on .Net platform, show how to model MVC layers using functional composition, and at the end show some examples of applying MVC pattern with Saturn - opinionated, web development framework for F# which implements the server-side, functional MVC pattern
OSS has won. After years of convincing people to use open source software, fighting with false dichotomy between OSS and industrial, commercial software, and defending against negative biases, position of OSS is no longer disputed – it's been used by the vast majority of companies around the world, it has become default choice when choosing technologies, it powers the internet, our PCs, mobile phones and most devices we use every day, it's been accepted by huge, conservative companies that were against the whole concept a few years ago.
But were we ready for that? Have we built enough foundations for this new world, or are we just building the castle on the sand and another disaster like Heartblead is going to happen? Are assumptions on which we’ve built our mental model about OSS still correct in 2018? And what's the future of the OSS ecosystem?
Language Server Protocol (LSP) is a project that has changed how editor tooling is built over the past two years. It is a specification of the communication between a client (editor) and a server that provides language tooling capabilities such as autocomplete, tooltips, etc. It reduces the m-times-n problem to the m-plus-n problem —similar to how Virtual Machines solve the same problem for deploying code to many platforms.
In the talk, I'll give general overview of the protocol, show some of its capabilities and explain why it is so important. I'll also dive into some sample implementations, showing you how you can leverage LSP to create rich editing experience for many different editors.
F# editor tooling is in a unique position among FP languages - cross-platform, feature-rich, stable, innovative and supported and actively developed by both OSS community and commercial vendors. It's also ubiquitous - powered by the compiler which is developed with tooling in mind.
By the end of the talk, you should have an idea of how to design pieces of a compiler so that accurate tooling can be built, how constraints of a language affect tooling, and some of the challenges tooling developers face.
F# excels at building efficient, scalable and robust web solutions. Web programming is based around receiving a single HTTP request and replying with a result, which maps very well to a stateless, functional approach. Advantages to using F# for web programming include using high level, declarative, composable code, interop with rich .Net ecosystem, and using battle-tested solutions like Kestrel and ASP.NET Core. The introduction of the [SAFE stack](https://safe-stack.github.io/) presents significant productivity gains for .NET developers to build full stack web applications in F# which run on both the server and in the user’s web browser, whilst taking advantage of F#'s functional-first feature set and capabilities, including reduce bug rates and quicker time to market.
In this talk you'll learn how to write end-to-end applications that run on the server (across Mac, Windows or Linux) and browser using F# for the entire system and effectively use the SAFE stack toolchain including .Net CLI, Fable, and Saturn tooling.
Javascript has conquered the software development world - developers can use it in the browser, on the server, to write mobile apps, on the desktop with Electron, and even to create serverless services. Whether you like the language or not, the truth is JS developers have built an incredible ecosystem with libraries and tools to do almost anything.
During the talk, I'll show how to bring the power of F# - robust, static type system with type inference, pattern matching, and immutable design, and succinct syntax - to this vast and rich JS world using Fable - F# to JS compiler.
It will be a practical talk, showing various use cases of Fable - from building React-based web applications, through building serverless, edge web services using Cloudflare Workers, creating mobile apps, to building VSCode extensions.
.NET Conf: Focus on F#
A Tour of F# Editor Tooling
|
29 Jul 2021
|
Lambda Days 2020
Behind F# editor tooling
|
13 Feb 2020 - 14 Feb 2020
Kraków, Lesser Poland, Poland
|
Scale By The Bay 2019
Hacking F# in JS ecosystem
|
13 Nov 2019 - 15 Nov 2019
San Francisco, California, United States
|
BRISTECH 2019
LSP: the magic behind your IDE
|
7 Nov 2019
Bristol, England, United Kingdom
|
Workshop - SAFE Stack (focused on Fable & Elmish) |
21 Oct 2019 - 25 Oct 2019
Zürich, Zurich, Switzerland
|
F# Zurich User Group
Reinventing MVC pattern for web programming with F#
|
24 Oct 2019
Zürich, Zurich, Switzerland
|
Open F# 2019
Keynote - Ionide. The OSS Story
SAFE Stack Dojo |
25 Sep 2019 - 27 Sep 2019
San Francisco, California, United States
|
Fable Conf 2019
Building F# Tooling
|
6 Sep 2019 - 7 Sep 2019
Antwerpen, Flanders, Belgium
|
Prage F# User Group
State of the union
|
9 Apr 2019
Prague, Hlavní město Praha, Czechia
|
F# eXchange 2019
Reinventing MVC pattern for Web Programming with F#
|
4 Apr 2019 - 5 Apr 2019
London, England, United Kingdom
|
FOSDEM 2019
Hacking F# in JS ecosystem
Reinventing MVC pattern for web programming with F# Panel: OSS and .Net |
2 Feb 2019 - 3 Feb 2019
Brussels, Brussels Capital, Belgium
|
Workshop - F# development with SAFE Stack
Workshop - F# development with SAFE Stack
|
7 Nov 2018
Vienna, Austria
|
FableConf 2018 + RemmidemmiConf 2018
Keynote - Future of F# web development
|
26 Oct 2018 - 27 Oct 2018
Berlin, Germany
|
Open F# 2018
Web Programming with F# and SAFE Stack (workshop)
Reinventing MVC pattern for web programming with F# Challenges of post-OSS world. |
27 Sep 2018 - 28 Sep 2018
San Francisco, California, United States
|
OSCon Portland 2018
Getting started with Fable - F# to JS compiler
|
16 Jul 2018 - 19 Jul 2018
Portland, Oregon, United States
|
NDC Oslo 2018 |
13 Jun 2018 - 15 Jun 2018
|
New Crafts Paris 2018
Challenges of post-OSS world
|
17 May 2018 - 18 May 2018
Paris, Île-de-France, France
|
flatMap(Oslo) 2018
Getting started with Fable - F# to JS compiler (workshop)
|
2 May 2018 - 3 May 2018
Oslo, Norway
|
NYC F# User Group
Reinventing MVC pattern for web programming with F#
|
25 Apr 2018
New York City, New York, United States
|
Talk for Jet.com
Challenges of post-OSS world.
|
24 Apr 2018
Hoboken, New Jersey, United States
|
The Hanselminutes podcast
F# and the functional SAFE Stack with Krzysztof Cieślak
|
23 Mar 2018
|
Workshop - Introduction to F# |
22 Jan 2018 - 24 Jan 2018
Kaunas, Lithuania
|
CodeMotion Milan 2017
Hacking F# in JS ecosystem
|
10 Nov 2017 - 11 Nov 2017
Milan, Lombardy, Italy
|
Remmidemmi Conf 2017
Path to happiness with OSS
|
4 Nov 2017
Berlin, Germany
|
FableConf 2017
Building editor tooling with Fable
Write your own VS Code extension - workshop |
22 Sep 2017 - 23 Sep 2017
Bordeaux, Nouvelle-Aquitaine, France
|
New Crafts Paris 2017
Hacking F# in JS ecosystem
|
17 May 2017 - 19 May 2017
Paris, Île-de-France, France
|
Get.Net Lodz 2017
Hacking F# in JS ecosystem
|
22 Apr 2017
Łódź, Łódź Voivodeship, Poland
|
F# eXchange 2017
What's new in F# xplat tooling in 2017?
|
6 Apr 2017 - 7 Apr 2017
London, England, United Kingdom
|
.Net Fringe 2016
Getting productive with F# Open Source tooling
|
10 Jul 2016 - 12 Jul 2016
Portland, Oregon, United States
|
F# Technology Creators Workshop
Ionide - new features
|
13 May 2016 - 14 May 2016
Cambridge, England, United Kingdom
|
F# eXchange 2016
Forge - F# CLI tooling
|
15 Apr 2016
London, England, United Kingdom
|
NDC London 2016
Ionide and state of F# open source environment
|
11 Jan 2016
London, England, United Kingdom
|