• Teaching Games How To Solve Themselves (with Robert Avram)

    Want to get in touch with Reinforcement learning? Then this meetup is a perfect fit for you. We welcome with us Robert Avram who is going to present this interesting topic. Afterwards, we will start hacking in small groups, so please bring your own laptop with Clojure configured with you. If you need help with this, you will find someone at this meetup who helps you to get it up and running. You should definitely install Clojure and Leiningen on your machine and prepare your favorite IDE to work with Clojure. Most users use Emacs / Spacemacs with CIDER or IntelliJ with Cursive. But there are also good plugins for Visual Studio Code, Atom, etc. Beginners will find some experienced users at this meetup, who can pair with each other. Abstract: Ever wonder how AI's get to learn to play games well? Ever wonder how teaching and learning actually look like? Ever wonder how you might do these things yourself? And of course, ever wonder how it might look like in Clojure? Let's try to stop wondering for a moment and actually do it. Allow me to show you how one may take a game and by means of Reinforcement Learning, teach it how to solve itself. All of which, of course, done in Clojure. Robert's Bio: Robert is a software engineer at REWE Digital and spends some of his time building Microservices in Clojure, and the rest sporadically exploring the world of functional programming. From time to time he also likes to pester unwilling individuals with discussions about it. Preparation: To prepare for the hacking session, have a look at this video (https://youtu.be/2pWv7GOvuf0) and at Robert's "Reinforcement Learning Made Simple" (https://youtu.be/6SDCwn8MGtQ) from this year's :clojureD This meetup can be held in English or German language, depending on the preferences of the audience. Also, the InVision Chefs will be preparing delicious refreshments for you, Agenda: 18:00 - Doors open, Drinks & Snacks 18:45 - Introduction by Robert Avram 19:15 - Short Break 19:30 - Hacking in teams 21:30 - End of Event

    3
  • Clojure: Auf den Pfaden des Mars Rovers

    sipgate

    Dieses Meetup eignet sich auch für Clojure Einsteiger oder die die es werden wollen. Wir wollen nun an das vergangene Meetup anknüpfen und erste Schritte mit dem Mars Rover Kata wagen. Dafür haben wir ein kleines Projekt vorbereitet, welches die GUI für unseren Mars Rover und die Marsoberfläche darstellt. Wie im Bild zu erkennen ist, sieht man das Asteroidenfeld als Rauten und den Rover in der Mitte in rot. Der Rover nimmt eine Folge von Kommandos entgegen, die nacheinander ausgeführt werden. In diesem Kata geht es nun darum Tests für die Logik dieses Problems zu entwickeln, den Code dafür zum implementieren und letztlich den Rover über die Oberfläche mit einer Reihe von Befehlen zu schicken. Abhängig von der Gruppengröße werden wir als Modus Pair-Programming oder Mob-Coding verwenden. Bereitet also eure Laptops vor, installiert euch Clojure und Leiningen und richtet euren Editor entsprechend ein. Es ist sehr sehr hilfreich, wenn euer Editor Clojure unterstützt und konfiguriert hat, sodass ihr direkt aus dem Editor heraus zur REPL verbinden könnt. Es werden nun grundlegende Funktionen benötigt, die auch schnell nachgeschlagen werden können. Abweichend werden wir dieses Meetup bei Sipgate hosten (vielen Dank dafür!). Es findet in der ehemaligen Kneipe Hafenquelle statt, wo uns diverse Bildschirme, Technik, Getränke und Snacks erwarten werden. Agenda: 18:00 Uhr: Türen auf 18:30 Uhr: Snacks Danach: Kurzeinführung und Beginn des Katas Das Meetup wird von Jens (@jbendisposto) und Christian (@cmeter_) gehalten. Beide sind passionierte Clojure Entwickler und wollen euch die funktionale Welt schmackhaft machen.

  • Clojure: Erste Schritte

    InVision AG

    Ein neues Jahr hat begonnen -- Zeit eine neue Programmiersprache kennenzulernen! Wir beginnen das Jahr mit einem Einsteigermeetup, wo wir uns mit den Grundlagen von Clojure beschäftigen wollen und anschließend direkt ins praktische Entwickeln erster Programme und dem Lösen von einfachen Katas gehen werden. Anfänger sind hier herzlich willkommen, Fortgeschrittene werden auch mit Aufgaben versorgt, sodass das ganze Spektrum abgedeckt wird. Bringt eure Laptops mit, installiert euch Clojure Plugins für den Editor / IDE eurer Wahl und schon kann es losgehen. Mittlerweile gibt es einige Editoren, die Clojure-Support mit sich bringen. Das ist auch ziemlich gut, denn nur durch eine gut eingestellte IDE / Editor kommt die ganze Stärke von Clojure zum Vorschein, wenn man die REPL direkt mit integrieren kann. Die Aufgaben werden so vorbereitet sein, dass ihr auch eine automatisch mitgelieferte Web-IDE nutzen könnt und euch so um gar nichts mehr groß Gedanken machen müsst ;-) Die Programme werden so vorbereitet sein, dass ihr sie direkt mit Leiningen (https://leiningen.org/) starten und nutzen könnt. Bitte daher auch unbedingt Leiningen installieren. Wir beginnen den Abend mit Networking, gehen dann zu einem gemeinsamen Essen über (die InVision Chefs werden uns wie immer mit einem vorzüglichem Gericht versorgen) und hören uns dann einen Kurzvortrag an, wo die Grundlagen von Clojure gezeigt werden. Anschließend gehen wir in Kleingruppen weiter ans praktische Entwickeln über, bei dem ihr stets von erfahrenen Clojure-Entwicklern begleitet und unterstützt werdet. Also keine Scheu -- es wird sich lohnen. Wir freuen uns auf euch!

    8
  • Taming the Dynamic: Typing Disciplines for Clojure (with Robert Avram)

    On the next meetup, we welcome Robert Avram who is going to present an interesting topic to us: typing disciplines in Clojure. Afterwards, we will start hacking in small groups, so please bring your own laptop with Clojure configured with you. If you need help with this, you will find someone at this meetup who helps you to get it up and running. This meetup can be held in english or german language, depending on the preferences of the audience. Abstract: Honestly, there's no denying it. Types truly are useful. Extremism with respect to static typing may be debatable, but both the visible and checked guarantee of a function's behaviour is a rather invaluable tool. Clojure is by no means devoid of such tools, irrespective of its dynamism. I would like to show you the various ways you could "type" Clojure and what you gain, but also what you lose, by doing so. Bio of Robert: Robert is a software engineer at REWE Digital and spends some of his time building Microservices in Clojure, and the rest sporadically exploring the world of functional programming. From time to time he also likes to pester unwilling individuals with discussions about it.

    1
  • Hands on: Native Clojure with GraalVM

    InVision AG

    On the next meetup we are happy to welcome again our guest Jan Stępień who is giving us a Hands On evening with Native Clojure with GraalVM. The discussion-language of this meetup is dependent on the participants, so we can vary between English or German. Abstract: GraalVM challenges the status quo on the JVM. This newly-released compiler suite brings substantial speed improvements and support for polyglot applications. It also allows us to translate our JVM bytecode into small self-contained native binaries. In this session we’ll explore Graal’s impact on Clojure. We’ll start with a presentation introducing GraalVM. Then we’ll move on to a hands-on workshop. We’ll use GraalVM to build native binaries with simple command-line tools. We’ll measure their start-up time, memory consumption, and execution speed in comparison to a traditional JVM-based approach. We’ll also experiment with web applications and package them as minimal Docker images. Be sure to download the newest GraalVM release and related tooling ahead of time. - https://github.com/oracle/graal/releases - Leiningen and https://github.com/taylorwood/lein-native-image (or Clojure CLI tools and https://github.com/taylorwood/clj.native-image) - Docker for your operating system Bio of Jan: Jan is a senior consultant at INNOQ, where he works with people and with computers. He's based in Berlin but you can run into him in other parts of the country too. Jan enjoys community events, where he often discusses functional programming, architecture, and testing. He used to organise the Munich Clojure Meetup; swing by if you're in town, we're a really friendly bunch.

    6
  • Webanwendungen in Clojure

    InVision AG

    Die Sommerpause ist vorbei! Beim nächsten Meetup wollen wir uns mit Webanwendungen in Clojure beschäftigen. Dabei werden wir uns gemeinsam ein paar Bibliotheken anschauen die dafür verwendet werden können und dann gemeinsam einen kleinen Webservice entwickeln. Es wird auch um das Persistieren von Daten gehen und wir werden darüber diskutieren, warum es in Clojure kein All-in-one Framework zur Webentwicklung à la Django, Ruby on Rails und Co. gibt. Das Meetup richtet sich auch an Clojure-Anfänger, da wir nicht in die Tiefe gehen werden. Auch wenn man Clojure noch nicht gesehen hat, wird man schnell einsteigen können, da die Syntax sehr einfach ist und das Problem einfach in Clojure zu lösen ist. Wenn danach noch Zeit und Lust besteht, können wir in kleinen Gruppen eigene Webservices entwickeln. Dafür bringt ihr bitte euren eigenen Laptop mit und installiert euch Leiningen sowie einen passenden Editor mit Clojure-Unterstützung. Speaker: Christian Meter @cmeter_

    1
  • Einstieg in Clojure: Grundlagen und erste Programme

    Beim nächsten Meetup möchten wir einen Einstieg in Clojure bieten. Dabei freuen wir uns natürlich über alle Interessierten, vor allem Einsteiger, die schon immer mal Clojure entwickeln wollten oder ihr Wissen auffrischen möchten. Aber auch erfahrenere Entwickler, die gerne ihre Erfahrungen um Clojure teilen möchten, sind herzlich eingeladen. Wir werden an diesem Abend die Grundlagen von Clojure und funktionaler Programmierung vorstellen und anschließend in kleinen Programmierübungen das Wissen vertiefen. Wie immer beginnen wir den Abend mit Networking, anschließend gibt es ein leckeres Abendessen und frisch gestärkt stürzen wir uns dann auf Clojure. Bitte bringt eigene Laptops mit und installiert euch Leiningen (https://leiningen.org/). Wir werden einen Webeditor konfigurieren, sodass ihr im Prinzip keinen eigenen Editor für Clojure installiert haben müsst, es steht euch aber natürlich frei das zu tun. Es empfiehlt sich im letzteren Fall unbedingt die entsprechenden Plugins für Clojure zu installieren. Das wären zum Beispiel CIDER für Emacs / Spacemacs, Cursive für IntelliJ, vim-fireplace für vim, ...

    3
  • Clojure Meetup Mai: Transducers

    Heinrich Heine Universität

    Transducers sind schon seit Clojure 1.7 in der Sprache, werden aber häufig übersehen. In diesem Meetup wollen wir uns mit Transducern befassen und folgende Fragen klären: Wozu dienen sie? Wie funktionieren sie? Und warum sollte ich mich damit befassen? Nach dem Vortrag bleibt genügend Zeit den einen oder anderen Transducer selbst zu implementieren oder um sich mit anderen Teilnehmern auszutauschen. Den Ort klären wir noch und werden wir hier veröffentlichen. Eventuell wird es wieder die Universität Düsseldorf. Auszug von clojure.org zu Transducers: "Transducers are composable algorithmic transformations. They are independent from the context of their input and output sources and specify only the essence of the transformation in terms of an individual element. Because transducers are decoupled from input or output sources, they can be used in many different processes - collections, streams, channels, observables, etc. Transducers compose directly, without awareness of input or creation of intermediate aggregates."

    3
  • Hands on: Property Based Testing

    Universität Düsseldorf, 25.12.02.55

    On the next meetup we are happy to welcome our guest Jan Stępień who is going to show us property-based testing and how to test stateful systems. In doing so we are learning techniques of property based testing and deepen knowledge about it in some practical exercises. Therefore, it is quite useful if you bring your own laptop with Clojure / Leiningen installed. We also advise you to install a suitable editor to directly get it started. There are also several plugins available for many popular editors. So pick the one you like and join our meetup! The discussion-language of this meetup is dependent on the participants, so we can vary between English or German. And now a short description about the upcoming evening: Property-based testing changes the way you look at your test suites. Instead of specifying test cases one after another, this advanced testing technique enables you to use logic to automatically generate a stream of inputs. The ecosystem of Clojure libraries offers us excellent tools to introduce property-based testing into our projects. Let's try to uncover their strengths together in this hands-on session. We will discuss how property-based testing compares to traditional testing methods and understand its principles based on simple examples. In order to bust the myth of the inapplicability of property-based testing in a real-world setting we'll bring up some use cases from industry. We'll formulate properties allowing us to test more complex, stateful systems. Finally, we'll wander into the world of concurrency and the automation of race condition detection. Bio of Jan: Jan is a senior consultant at INNOQ, where he works with people and with computers. He's based in Berlin but you can run into him in other parts of the country too. Jan enjoys community events, where he often discusses functional programming, architecture, and testing. He used to organise the Munich Clojure Meetup; swing by if you're in town, we're a really friendly bunch.

    3
  • Lambda lambada - An introduction to functional programming and modern languages

    ## This is a Crosspost from this Group: https://www.meetup.com/de-DE/lambdadus/events/247287024/ ## Welcome to our first Lambda meetup. We'll start off with six fascinating and beginner-friendly talks giving you a glimpse of functional programming and modern FP languages. All talks will be held in English. Introductory talk [Jens Bendisposto] - What is this functional programming everyone is talking about? Lightning talks - Clojure [Joy Clark] - The power of sequences - Elixir [Mario Mainz] - BEAM me up! - Elm [Antoine Catton] - The good, the bad and the ugly - Scala [Valentin Willscher] - Typesafe conciseness - best of two worlds - Idris [Jan Schulte] - Black magic type witchcraft Our host Sipgate is thankfully preparing some refreshments for us :-)

    4