clojuTRE is a Clojure conference organized by Metosin. The event has single track, late start, short talks (20 minutes and 5 minutes Q&A) and a funky after party for networking, discussions and draft beer. We welcome both newbies and seasoned Clojurists. Main event is held on Saturday 2.9.
Small FP Conf is a small conference, dedicated for presentations about other languages than Clojure, held on Friday 1.9. Talks will start at 3-4PM and and the event lasts about 3 hours. There will be a joint after-party with clojuTRE on Saturday evening.
In Tampere, Finland.Tullikamarin Pakkahuone
You can fly either directly to Tampere-Pirkkala airport (TMP) or Helsinki-Vantaa (HEL). Tampere airport is quite small so you might have better luck finding flights to Helsinki.
From Tampere airport there is a public transport bus connection to Tampere center which takes about 40 minutes and costs 3€. Another option is to take a taxi which takes about 25 minutes and costs about 19€.
From Helsinki airport it is possible to take a train to Tampere. This trip has one transfer and should take about two hours and cost 21€. Tampere railway station is just next to the venue and several hotels.
Nearly all hotels at Tampere center are within walking distance to the venue.
Friday is dedicated for presentations about other languages than Clojure. Are you interested about Elixir, Haskell, TypeScript or something?
The venue is open from 15:30. Be on time so you have time to get your badge.
The main event will start at 12:00 and end at 19:00.
The venue is open from 11:30. Be on time so you have time to get your badge.
We will start with some beers and food at the Pakkahuone. Saturday's afterparty is open for attendees of both days.
Getting stuck in battle with command line Sed, AWK, Perl and friends? Trying to provision your cloud environment using good old JSON, and just wish you had some.... you know, data manipulation ability on hand? Do you secretly love Make and just wish you could run adhoc ClojureScript tasks without having to dwell on packages and namespaces, depedencies and requires?
We would like to introduce how we do DevOps and Cloud Provisioning, using Mach - a ClojureScript replacement of Make built on Lumo - and Roll, a ClojureScript wrapped Terraform setup for building you a Blue/Green custom PaaS.
We will also discuss our approach to config - one config to rule them all!
Last year I've released Keechma - a frontend micro framework for ClojureScript. Since then we've built a bunch of apps with it, and in this talk I'll talk about our experiences and challenges we encountered along the way. I will also cover how Keechma's architecture allowed us to tackle these challenges and the supporting libraries that were written as a result of our experience.
Develop AWS lambdas right from the comfort of your repl: no edit-package-deploy cycle, just plain blissful and glorious repl experience. (This talk is unfit for tree-hugging audiences as some violent tree-shaking is depicted.)
We think in words, we talk with words, we understand the world thanks to words. Metaphors take words to the next level explaining concepts that were escaping our understanding before. In 1980 George Lakoff revolutionised the Linguistic and Philosophic worlds when he studied how metaphors affect our thinking, how they influence our actions and even shape who we are. What happens with the metaphors that we use in the Software Industry?
In this talk we are going to review the importance that metaphors have in our code quality, in the algorithms we choose, and the products we ship.
Specql is a new library for PostgreSQL that introspects your tables at compile time to create clojure.spec definitions and runtime information. Specql provides generic crud operations (including upsert!) with fully namespaced keys.
The talk will showcase the uses of the library with real-world examples and also provide information on how to integrate external information to your clojure.spec definitions.
The author demonstrates the fun and value of experimentation and learning through doing, by presenting key features of the Heresy programming language and how they implement functional programming concepts in unique and possibly questionable ways. Heresy is a BASIC-inspired dialect of Lisp designed originally as a learning tool for functional programming, with a focus on immutability without expense to ease of use.
Symmetry is everywhere, from constraining how builders lay brick to guiding physicists as to the nature of reality.
In the short book The Symmetries Of Things the mathematician John Horton Conway, in his uniquely playful style, classifies all the symmetries of the 2D plane.
In this talk you will learn the Magic Theorem, how many plane symmetries there are, how to identify miracles and wonder-rings and see lots of pretty pictures draw with Quil and a tasty Clojure DSL
Most developers allegedly hate writing documentation. On the other hand, pretty much everyone considers good project documentation to be a strong indicator of the project's quality. Go figure!
In this session we'll examine the state of the current documentation initiatives and practices in Clojure, some overall problems with documentation in Clojure and some potential solutions. Here's a few topics will touch upon:
Documenting things can be fun and extremely rewarding! Join us and find out how!
As programmers we build increasingly complex software by creating abstractions and composing them. While this method is good for programmer productivity it comes at a performance cost and usually results in slower programs.
In functional programming, and Haskell in particular, there is a popular idiom to compose abstractions using an intermediate data structure: a producer function generates some piece of data which handed over to a consumer function. This form of composition suffers from having to allocate the intermediate data.
To deal with the cost of composition, the Haskell community has adapted an optimization, called fusion, which can eliminate intermediate data structures and fuse together a producer and a consumer into one function. The net result can often be as good as hand-tuned code. This talk will cover various forms of fusion and how they enable programmers to create and use guilt-free abstractions which don't come with a performance cost. It's like having your cake and eating it too.
Scala.js allows developers write robust and scalable web frontend apps purely in Scala. This talk gives an introduction to Scala.js and what it brings to frontend development. We will use as examples two Scala libraries, Suzaku and Diode, that allow developers write clear, concise and (mostly) functional UI code purely in Scala.
Reagent is a framework used to create React applications in native ClojureScript. Re-frame offers a state container framework that is often used with Reagent.
How to design a large SPA with Reagent and re-frame without suffering performance issues? What are good design guidelines when writing a re-frame application and how to debug performance issues?
In this talk we'll go through some common mistakes that could cause performance issues to your application. We'll also discuss how to notice and solve these issues.
This talk will go over the RowList type-level structure in PureScript and how it can be extracted from row types for applications such as JSON serialization, type constraints, working with sophisticated record types, and more.
Zach is the author of Elements of Clojure, and a number of open source libraries. He has approximate knowledge of many things.
Jon Pither is a development team leader by trade, having led several high profile Clojure projects including introducing Clojure at multiple Investment Banks, an online newspaper website, a major property portal, and an international public electric bikes scheme. Jon is a co-founder of JUXT, a consultancy specialising in using Clojure and other best of breed technologies.
Mihael Konjevic is the author of the Keechma framework. He's been working as a web developer for over a decade, and currently works as a CTO of http://floatingpoint.io - a company he started to be able to work with technology he likes. In his free time he's practicing martial arts and likes to travel.
Christophe is an independent dev and trainer, working from the french countryside. He has been clojuring for so long that he remembers when there was no multimethods and
core.clj was called
boot.clj. He is least known for suggesting the
^:keyword shorthand to Rich and mildly known for some libs and coauthoring Clojure Programming (O'Reilly).
Kimmo is lucky enough to hack in Clojure for fun and at Solita where he works in the buzzing world of real-time analytics, creating data pipelines in AWS with Clojure. Father of two active boys.
António is a functional programmer and a regular contributor to ClojureScript and Om. He works as a Software Engineer at Ladder, a company that is reshaping the life insurance market.
Alvaro Videla used to work at Apple as a Distributed Systems Engineer and previously was a Core Developer for RabbitMQ. Before moving to Europe he used to work in Shanghai where he helped building one of Germany biggest dating websites. He co-authored the book "RabbitMQ in Action" for Manning Publishing. Some of his open source projects can be found here: http://github.com/videlalvaro. Apart from code related stuff he likes traveling with his wife, listening/playing music and reading books.
Tatu is a software architect and resident Clojure evangelist, a parenthusiast if you will, at Solita and is currently working on a large scale public sector service in Clojure/ClojureScript.
John Berry is a largely self-educated writer, comedian, and software engineer with a special passion for functional programming and Lisp languages. Formerly a Clojure developer at our esteemed hosts, the author now toils in the Scala mines deep within the bowels of a local food delivery app.
Doing a mix of Dev and Ops that might be called DevOps, part time mountaineer, mathematician.
Bozhidar is the maintainer of CIDER and the editor of the community Clojure style guide. Most people would probably describe him as an Emacs zealot (and they would be right). He's also quite fond of the Lisp family of languages, functional programming in general and Clojure in particular.
Believe it or not, Bozhidar has hobbies and interests outside the realm of computers, but we won't bore with those here.
Josef Svenningsson splits his time between being a consultant at HiQ and an Assistant Professor at Chalmers University of Technology. At HiQ he's currently stationed as a designer and systems manager for Ericsson. On the academic side he has a broad range of interest in computer science and has published papers on wide variety of topics, including: program analysis, constraint solving, security, programming language design, testing and high-performance computing. His programming language of choice is Haskell.
I'm a coder, serial entrepreneur and a long time contributor in the Scala ecosystem, including scalafiddle.io and popular libraries like Diode and Boopickle.
Esko is a programmer at Reaktor. He loves solving complex problems where both deep technical understanding and interaction with people are involved, although best thing in his work is that he gets to write Clojure and ClojureScript daily.
Adam is the CEO of IntelliFactory, specializing in developing F# enterprise web and mobile applications. He is a 7x F# MVP, the author of five F# books, key F# community member and evangelist, and a regular speaker at developer conferences and workshops.
People are different. Let's respect that.
We, the organizers, want everybody to be able to enjoy ClojuTRE. We hope that everybody, regardless of gender, gender identity and expression, age, sexual orientation, disability, physical appearance, body size, race, ethnicity, or religion, can feel welcome and respected at ClojuTRE.
We need your help to to achieve this. We are counting on you!
Use your common sense. Don't be a jerk, ok?
If you notice any wrong doing please contact any organizer. You can also call or send an SMS to number +358 50 326 2280 (Mikko).
If you interested in sponsoring the event contact firstname.lastname@example.org for information.