- From Zero to Hero – build data-driven webs like a pro
Welcome to a night of functional programming for the web! This evening we have the pleasure of offering members of this user-group a sneek peak at Henrik Feldt's speech for NDC2017 (http://ndcoslo.com/talk/suave-web-development-in-f-done-right/) and the amazing pair Ville Svärd and Linus Ericsson who will talk about their experience with writing a functional frontend on top of a fully cacheable, functional, value-oriented database in a real-world project. 17:00 – Mingle 17:20 – From Zero to Hero of HTTP APIs Software should just work! Suave gives you HTTP super powers by letting YOU decide how you want your API to respond. Libraries should be competent at what they do and then get out of your way. In this talk I'll show you how to program F# with Suave to create smooth HTTP APIs from scratch and how to leverage functional composition and functional programming in a sweet symphony to quickly and effortlessly deploy a service. We'll go behind the scenes and discover the thought patterns behind the hugely popular https://suave.io web server and web library written in all F#. Henrik has programmed for the web since the late nineties; take this opportunity to learn about how to write server-side software for the web by a true web development expert and co-author of the Suave web server, a cross-platform, functional-first library for building HTTP APIs. 18:10 – Food 18:25 – The Database as a Value What happens when your database can be viewed (and treated) as a value and a data structure in a functional sense - that is immutable and persistent? Furthermore, what if its structure and data is available to its clients and queries can be resolved locally - in memory? 18:50 – Functional, reloading, data-driven, reactive frontend Or buzzword-driven frontend development - the functional way. I want to present our experience with having a frontend that dynamically loads new code, is reactive AND how that relates to functional programming and immutability. As a bonus - advantages of using the same (functional) programming language in both backend and frontend. 19:20 – Roundtable "Does functional programming work for real-life projects?" The three presenters and a member of the audience will gather in a roundtable. The member of the audience is shifted as the discussion flows and the participants can join in to ask questions and discuss how to use the functional paradigm in real-world software. 19:50-20:30 – Mingle and AW ~ Venue and food Foo Café (http://foocafe.org/stockholm) is hosting, food will be provided – all you have to bring is yourself, maybe a friend and a pleasant demeanour! The event is hosted at Internetstiftelsen (https://www.iis.se/) and Foo Café (http://foocafe.org/stockholm), so it's also an opportunity to check out their brand new offices in Hammarby Sjöstad.
- Getting started with Fable and F# -> JS
We've been invited to Foo Café and will take the opportunity to have great food and drinks and talk about something functional. I suggest that we chat a bit about the F#-to-JS compiler Fable, by Alfonso Garcia. It will be mostly an introduction and then pair/peer/group programming – getting everyone started writing F# to JS. Trouble getting in? Call [masked] to get in touch.
- ReactJS + Redux - functionally opportunistic
# Lessons learnt designing qvitoo.com's system with ReactJS and Redux - Henrik Feldt The last year we'll reworked qvitoo.com to using redux. Now we're moving towards offline support – but not read-only offline support, but full interactive usage of the HTML5 app. During the presentation we'll learn from Henrik Feldt both about lessons learnt with webpack, HTML5/ServiceWorkers, HTTPS and HTTP2.0 but with focus on how this all will enable us to build sites that support the offline use-case. As such, the offline support is not a retrospective tutorial on how we did it, but will show a proof of concept as well as go through the individual pieces of the PoC. ## React, redux, one-way data flow but what about immutability? - Henrik Andersson Let's talk about the benefits of immutable data structures and where to draw the line of using them in a React type architecture. This talk focuses on React type architecture but can most certainly be applied to any software project. # Food and Drinks Like normal there will be food and drinks available. Write in the signup-note about any allergies or if you're vegetarian/vegan. ## Note the new address: Drottninggatan 95 A
- Intro to functional programming
Let's have a bit of food and something good to drink. We'll hang out talking about interesting programming topics with at least a single presentation about how to write functional code. The rest of the evening will be about just talking to each other – if someone wants to present that's warmly welcomed. This is more of a private event with no company hosting. Come if you like to hang out with people and talk about interesting things. To get into the venue, please call[masked]. ## Intro to functional programming API composition We'll show case an writing API client and talk about how code gets composed into something beautiful.
- Functional small talk
Join us for an evening of functional lightning talks at Omegapoint 29th February! If you want to give a talk, email us in advance with a topic or just enter the stage during the meetup and talk! :) Scheduled tasks: - Henrik on what it's like building a metrics library in concurrent ML/Hopac with real-world examples - Oskar Gewalli on building F# parsers Welcome and see you there!
- Functional Web Programming
Dear Functionados! Let's prolong the feeling of the summer's light and warmth by meeting up again and spend some time together with our favorite programming paradigm! This time we'll have a look at functional programming in a Web-context. Dynabyte will treat us with something to eat and drink! Please let us know if you have any food allergies or want vegetarian food. Agenda 18:00 Doors open at Dynabyte (http://www.dynabyte.se) 18:30 Sebastian Bensusan talks ClojureScript! Polymorphic UI's in ClojureScript We know how to handle Polymorphism in the small with protocols and multimethods but how do we handle Polymorphism in the large?While developing a Form Builder, we collected tools and practices to structure our codebase so that adding each new Field Type would add no extra complexity. The journey highlights the strengths (and weaknesses!) that Clojure(Script) has to deal with architecture in several concerns: rendering, validating, etc. 19:30 Henrik Feldt talks Suave (http://suave.io)! Suave from Scratch Expect a smooth presentation on Suave, going through how to set up your Hello World example, to getting the basics of an API working together with your ReactJS app. We'll start with the Hello World and a small guide to what I use as my development environment. Then we'll move into the topic of building single page applications, specifically with ReactJS. The set up for ReactJS will include webpack, npm, RxJS and a supporting library for making observable web requests from the browser. Then I'll show how you can iterate very quickly with Suave and React, as well as how RxJS can be used to provide push based state in your app, together with EventSource on the server side. Yours immutable, Functional Programming Stockholm
- Concurrency in F#
Presenter During this meetup we'll have a look at handling concurrency when there are side-effects. Henrik Feldt (me!), the CEO/Founder of Logibit, who builds qvitoo (https://qvitoo.com/) will be presenting. About the Meetup Go has gotten a lot of traction in the Ops community for among other things its co-routines/channels - we'll have a look at how F# would create similar channels that work under the same constraints; cooperative multi-threading, deterministic resource disposal, lazy reading but with socket back-pressure and so on. I'm thinking Hopac (https://github.com/Hopac/Hopac) as the main topic of discussion, built around the book Concurrent ML (http://www.amazon.com/Concurrent-Programming-ML-John-Reppy/dp/0521480892). An intro is available (https://github.com/Hopac/Hopac/blob/master/Docs/Programming.md#programming-in-hopac). Don't miss this chance to learn from someone who writes all production code in F# for a micro-service architecture. The aim is to be able to implement simple socket clients in F#, so bring your machine to have a go at doing it yourself after the introduction. I use XS (https://xamarin.com/studio), but you can use vim/emacs (http://fsharp.org/guides/mac-linux-cross-platform/#editing) too. Sponsor Our sponsor of the evening is the Detectify (https://detectify.com/) crew whose product is a vulnerability scanner for your web app, built to run as a part of your CD pipeline, -aaS! They're hiring, too, so if you're looking for a fun job that could entail writing concurrent code for scanning thousands of hosts simultaneously, you should have a look at what they have to offer =).
- Dive into Elixir
Introduction to Elixir, the scalable Erlang VM-language, by Lennart Fridén, and volunteers (interested?). About the language: http://elixir-lang.org/ Robert Virding, a co-creator of Erlang will be there to share some of his experience and knowledge about erlang, the language and the runtime. For this meetup we're looking for companies willing to sponsor food and beverages and venue. Contact me through Meetup or [masked]. This event is organized together with Stockholm-Elixir. Event Changelog: v1: Scheduled for Wednesday 29th, took the Robert's name in vain v2: Replaced Robert's name with Lennart's v3: Scheduled for Thursday 30th, Robert is in on the action again!
- Meet and talk Clojure-Riemann & F#-monitoring
We'll meet and do group- and pair-programming in F# and Clojure with focus on event stream processing in Riemann. The current timing sketch looks like this: 18:00 - Crisps and mingle 18:15 - Welcome from the organisers 18:25 - A bit of an intro to Clojure - for functional programmers - basic syntax and common functions by To Be Announced 18:40 - A bit on monitoring production systems, some F# showcased that sends metrics, questions, discussion by Henrik Feldt from Intelliplan 18:50 - Introduction to Riemann's event processing model by Marcus Holst from Intelliplan 19:15 - 10 minute break 19:25 - organise into groups, try to detect the Chinese hackers from Intelliplan's production rsyslog/SSH logs (will be provided in some format) and alert based on a replay of those logs in real time. This event is co-hosted with sthlm.clj (http://www.meetup.com/sthlm-clj/). Our hosts for the evening is Intelliplan (http://www.intelliplan.se/vill%20du%20bli%20utvecklare%20p%C3%A5%20intelliplan); we're focusing our current development on turning our product into numerous web applications with a backend made with functional programming in F#. To manage complexity and load we're moving towards more distributed systems. Say hello to one of us during the meetup and we can schedule a more private meeting at our office at a later date!