• Clojure Berlin

    ThoughtWorks Berlin Deutschland GmbH

    Hello everyone, Clojure Berlin takes place once a month. On the agenda for tonight: Learnings from 2 years of microservices in Clojure - Ward Coessens As a tech lead for a 6 developer, cross-functional team, Ward has created 5 different microservices in Clojure over the last 2 years. He will share how he tried to fight fear of parentheses, how to avoid creating more then 1 big ball of mud and how schema's solved all his problems (including his loss of hair). A Common LISP Interpreter in the GDR - Ingo Mohr Ingo will give us some insides from the small, but highly committed, LISP community east of the Iron Curtain. He will tell us not only about programming LISP using punch cards, but about the development of an entire Common LISP implementation (with interpreter, compiler and development environment) from the ground up. Ingo has been a passionate software developer for ~40 years. He started as a LISP developer in 1978 in the fields of natural language processing and automatic program verification before moving on to the Academy of Sciences in the GDR. Now, he works as a developer and project manager for Java business applications, and is an avid cyclist (all year round). Clojure Berlin adheres to the Berlin Code of Conduct (http://berlincodeofconduct.org/de/). Your organizers, Paulus ([masked]) and Ben ([masked])

  • Clojure Berlin

    Merantix AG

    Hello everyone, Clojure Berlin takes place once a month. This month we're hosted by Merantix. Note! This is a different location than previous meetups at Merantix. To get in the venue, go through the back yard, enter the last door at the centre. Here's this month's tentative schedule: • Radicle as a P2P REPL (Julian Arni) Radicle is a new P2P stack for code collaboration. In this talk, we investigate the internals of the Radicle architecture. In particular, we see how the Radicle stack can be seen as a collaborative, P2P Lisp REPL that can be adapted to a particular application. Julian K. Arni is a Haskell programmer at Monadic, and one of the developers of Radicle. • lightning talks - Got something to show? Something cool that people should take part of? We'll have space for a couple of lightning talks this evening, so don't be afraid to come up and talk, no matter how small a thing :) Clojure Berlin adheres to the Berlin Code of Conduct (http://berlincodeofconduct.org/de/). Your organizers, Paulus ([masked]) and Ben ([masked])

    1
  • Clojure Berlin

    Wooga

    Hello everyone, Clojure Berlin takes place once a month. This month we're being hosted by Wooga - many thanks to Wooga for opening their doors for us! 1. On Midje (Phillip Mates - https://twitter.com/philomates) Midje is an early-day testing framework in the Clojure world that has a lot to offer in terms of features: mocking, checkers, meta-constants, and auto-testing. Sadly Midje is an all-or-nothing framework that is difficult to integrate with other Clojure libraries and tooling. In this talk I'll present a bundling of `clojure.test`-backed libraries that achieves feature-parity with Midje and allows for a composable testing setup. This bundling includes https://github.com/pmatiello/mockfn, https://github.com/nubank/matcher-combinators, and https://github.com/nubank/selvage. I'll discuss a bit with regards to what these libraries are capable of and share the experiences of migrating my teams micro-services to this new setup. 2. Leveraging macros to reimplement language features (Veit Heller - https://github.com/hellerve/) Macros are loved, hated, and feared, sometimes all at once. They are present in most Lisps, at times embraced by the community, at times not. In Clojure, we use them to create beautiful APIs and powerful abstractions. In this talk, we’ll discuss a few simple but powerful macros that provide features as disparate as comments, conditionals, lists, and local bindings, and think about the deeper philosophy of expanding symbolic expressions. --- Clojure Berlin adheres to the Berlin Code of Conduct (http://berlincodeofconduct.org/de/). Your organizers, Paulus ([masked]) and Ben ([masked])

  • ClojureBerlin LIGHTNING TALKS EDITION

    Red Pineapple Media GmbH

    Hello everyone, This month, in addition to a presentation by George Lipov, we're doing a round of lightning talks. • ⚡LIGHTNING TALKS ⚡ Short talks are fun. We have slots available - bring a topic and take the stage! Topics can include anything from library discoveries and personal projects to experience reports... anything (loosely) connected to Clojure or Lisp really. Prepare slides, or speak off the cuff. It's all up to you... except for one thing: a lightning talk cannot exceed 5 minutes! And our one full-length talk: • Ghostwheel – Robustness and Observability Without the Pain (George Lipov) Clojure is powerful and beautiful, but refactoring, rewriting and extending large codebases can be a fragile process. Spec with generative testing helps alleviate the pain, but its UX leaves a lot to be desired. What can we learn from advanced statically typed languages to achieve a similarly easy automated verification of type correctness in Clojure without actually having to deal with a type system or the manual writing and maintenance of unit tests? How can we move beyond breakpoint and println debugging and what does it have to do with testing? This talk will present an answer to these questions and change your Clojure life (or you get your money back). George (https://github.com/gnl) is the author of Ghostwheel and a Clojurian suffering from a mild obsession with developer UX --- Clojure Berlin adheres to the Berlin Code of Conduct (http://berlincodeofconduct.org/de/). Your organizers, Paulus ([masked]) and Ben ([masked])

    2
  • Clojure Berlin

    Pitch

    Hello everyone, Here's the schedule for January: • Our Journey from Elm and Elixir To Clojure (Martin Kavalar) The big rewrite is considered a terrible mistake by many. Our experience has been different. We would like to share how Clojure sneaked in through the front(-end) door and why we ultimately decided to go full-stack, from Datomic to ClojureScript. You will learn under what circumstances a rewrite can make sense and how to minimise the risks. Martin (https://twitter.com/mkvlr) is a programmer with a degree in Physics. With his small team, he has been running Sauspiel, a web app for the traditional German card game Schafkopf, for over ten years. They are now leveraging that experience to build Nextjournal, to facilitate collaboration, reproducibility and reuse in science. • Monorepos and the Fallacy of Scale (Paulus Esterhazy) Lately Monorepos have been in the news again. Full disclosure: I like them. A lot. In this presentation, I will make the case for keeping your codebase in a single git repository. I will also address some common arguments pertaining to the alleged lack of scalability of the approach. Paulus (https://twitter.com/pesterhazy), Principal Engineer at Pitch, is co-organizer of ClojureBerlin. --- Clojure Berlin adheres to the Berlin Code of Conduct (http://berlincodeofconduct.org/de/). Your organizers, Paulus ([masked]) and Ben ([masked])

    2
  • Clojure Berlin

    Merantix

    Hello everyone, This month we're being hosted by Merantix: https://www.merantix.com/ Clojure Berlin takes place once a month. This month's we'll have two talks: • Trikl - Arne Brasseur Trikl (https://github.com/lambdaisland/trikl) is a library that makes writing command line applications as easy as writing Hiccup. Arne teaches and consults about all things Clojure and ClojureScript, as well as allocating a large part of his time to improving the Clojure ecosystem through open source software like Kaocha and Chestnut, and community initiatives like ClojureVerse and Heart of Clojure. • Solving Jetlag with Clojure - Oliver Eidel People just accept jetlag as a necessary side-effect of traveling across time zones. But is it really? Let's implement recent medical research in Clojure and see if we can solve it! Oliver is a medical doctor and software developer. He works at Merantix Healthcare currently doing product management and regulatory work. He's also the soccer mom of the Clojure Developer team, organizing meetups and pizza. So if you're from Berlin or are in town and have a topic you'd like to discuss, please get in touch. Presentations can be full-length (up to 20 min) or lightning style. If you're interested, please get in touch via email or on twitter (https://twitter.com/clojureberlin)! Clojure Berlin adheres to the Berlin Code of Conduct (http://berlincodeofconduct.org/de/). Your organizers, Paulus ([masked]) and Ben ([masked])

    1
  • Clojure Berlin

    St. Oberholz

    Hello everyone, This month we are being hosted by Nubank — thanks to the generous hosts! The following talks are planned: • Feeding Nubank's data lake: a short story about about datomic at scale (Philip Mates from Nubank, @pmatey) (short talk) A brief journey into how Nubank's Berlin office uses clojure, datomic, core.async, and more to solve data-related problems. • Examining, improving, and benchmarking clojure.core/memoize (Giorgio Valoti) =clojure.core/memoize= is a handy function when you want to avoid paying the cost of invoking a function over and over again. However, the current implementation is subject to race conditions. In this talk we show an alternative approach that eliminates possible race conditions, and benchmark our solution against the current implementation to assess potential performance hits. Giorgio Valoti (@giorgio_v) is a software engineer currently working at Red Pineapple Media • Building a bridge between non-programmers and Clojure applications (Kirill Chernyshov) Sometimes clojure application have to provide a way to adjust business logic to non-technical people. There are not so many options to do that. I would like to present a library that should give business developers a simple and intuitive expression language for changing the rules of business logic on the fly. Kirill (https://twitter.com/DeLaGuardo) is a Lead Clojure Engineer at Xapix GmbH. When he's not busy coding... wait, he is always busy coding. Sometimes even riding a sport bikes. Clojure Berlin adheres to the Berlin Code of Conduct (http://berlincodeofconduct.org/de/). Your organizers, Paulus ([masked]) and Ben ([masked])

    1
  • Clojure Berlin

    Red Pineapple Media

    Hello everyone, This month we're being hosted at Red Pineapple Media. Our Agenda for the Evening: • Building a CI Pipeline with ClojureScript — Misha Karpenko ClojureScript has shown itself as a great language of choice to build single-page web applications. Can it dethrone shell scripting when it comes to building CI pipelines? In this presentation, we'll look at one real-world working example of such a pipeline, and discuss the cons and pros of using ClojureScript in this context. Misha (https://twitter.com/mishakarpenko) is a Co-Founder and Software Engineer at Pitch (https://pitch.com) — a Berlin-based startup committed to building a next-generation presentation software. When Misha's not working, he most likely hangs out with his family and friends, does some sports activities or tinkers on his bicycle. • Carp: A Language for the 21st Century — Veit Heller (https://veitheller.de/) Carp is a statically typed, compiled Lisp that’s deeply rooted in Clojure. It also takes inspirations from Rust, in that it uses a borrow checker to manage memory. This allows us to create a powerful, pretty Lisp that combines great C interoperability, safe memory semantics, and inferred types to make your life easy and enjoyable. In one sentence: it is to C as Clojure is to Java. Veit is one of the core maintainers of Carp. As his day job he works as the CTO at Port Zero, a small Berlinian consultancy. He likes to build programs for domains he knows nothing about. Clojure Berlin adheres to the Berlin Code of Conduct (http://berlincodeofconduct.org/de/). Your organizers, Paulus ([masked]) and Ben ([masked])

    5
  • One-Off: Heart of Clojure Session

    Pitch GmbH

    ⚠️ This is not a regular ClojureBerlin meetup — Read on for details ⚠️ Hey everyone, for those who haven't heard yet, Martin and Arne are organizing a Clojure conference next summer in Belgium called Heart of Clojure: https://heartofclojure.eu Heart of Clojure is an exciting new event for the Clojure community coming to Europe in summer 2019. At this meetup we'll present what we have in mind, and how you can get involved. We'll talk about the location, the venue, the concept, how we work together, what has been done and what still need to happen. People interested to help out will be invited to our organizer forum. This evening is specifically intended for people who want to help out, or companies interested in sponsoring. It will be at Pitch at 18:30 and there will be some vegan food 🥗 very generously sponsored by Pitch ❤️ Looking forward! 😊

    2
  • Clojure Berlin

    Merantix

    Hello everyone, This month we're being hosted by Merantix: https://www.merantix.com/ The following talks are planned: • Singletons (Dmitrii Balakhonskii) In this talk I'll explain the rationale behind state management in server-side applications and demonstrate how popular libraries help with it. Dmitrii is a software engineer doing Clojure at Zalando in Berlin and also in his free time. • datahike - lightweight datalog (Konrad Kühne) This presentation is a short introduction into datahike. Datahike (https://github.com/replikativ/datahike) is a lightweight, durable, open source database with a datalog engine. By providing most parts of the Datomic API queries can be easily imported and implemented. We will take a look at a simple invoicing application to show off some of datahike's features. Clojure Berlin adheres to the Berlin Code of Conduct (http://berlincodeofconduct.org/de/). Your organizers, Paulus ([masked]) and Ben ([masked])

    1