Siili Solutions crew (3 from .core and our great director from Technology Craftsmanship Verneri) visited the Dutch Clojure Days (DCD ‘19) in Amsterdam on the 6th of April. This is a short recap from our experiences in this great one day single track conference. We may dive deeper into one or more of the subjects that were on the agenda in Amsterdam but right now we will keep things concise.
Community at Amsterdam
Heimo: – As a community organiser in Helsinki area it was great to see and hear how vibrant the Dutch community is. It was a pleasure to get to know the organisers, and I am looking forward for more collaboration among European Clojure communities.
Eetu: – First thing I noticed was how friendly and open our Dutch hosts were. One part of our mission in .core is to create collaboration within Finland and internationally. So we were delighted about the openness and spirit that we encountered. This gave us an idea about an international meetup scene. How are we going to make this happen. We don’t know yet. Let’s see what happens.
Tuomo: DCD ‘19 was great! The venue excellent and everything was well organized. The talks were generally speaking quite practical and about real-world experiences, and thus easy to follow.
But let us get to the business. The talks.
nREPL – redux
Heimo: – For me the big thing in this talk was the point about funding and collaborating on important Clojure infrastructure components – libraries and tooling. We as a community need to do more and we can do more.
Eetu: – As the talk was about nREPL, the challenges, rewrites and one man show that was going on due to circumstances it was nice to see that there were some good things happening in the development on that front. With short discussion after the talk collaboration with Siili came to the table and we are very interested doing this together.
Tuomo: – When Bozhidar hits the podium, the audience is usually in for an entertaining and informative talk and this one was no exception. As nREPL is a cornerstone for many development tools, the talk touched upon the very foundations of Clojure development experience. It also demonstrated the importance of a welcoming contribution process for an open source project.
Building BNR Smart Radio & FD.nl Recommender system
Heimo: – I nodded multiple times throughout this talk as much of the reasoning and thoughts about how Clojure fits into these data processing and data science jobs where so congruent with my own thoughts and experiences.
Heimo: – Regarding the serverless part we spoke with Verneri that perhaps we should give more love also to Hedge and improve tooling for serverless Clojure functions. Could be fun to work with people on improving that.
Eetu: – It is nice to see that the Clojure is used handling large amounts of data. There were two examples in this conference alone. Streaming and other forms of moving data around are becoming the new norm alongside to conventional media. And so happy to see that public sector actors are strongly committed also with Clojure.
Decentralized evolutionary computation with Clojure and ClojureScript
Heimo: – I have to say that Rakhim’s talk was the most interesting and fun talk about genetic algorithms I have ever seen. Combined with the live demo it was concrete and fun presentation about a rather hard subject. After the talk I started to think if it would make sense to look revisit genetic algorithms and some other a bit more obscure concepts in CS field with fresh eyes.
Heimo: – The good thing is that Rakhim already promised to redo a version of this talk at next Clojure meetup in Helsinki.
Heimo: – I think Alex packed a lot of experience and wisdom into a short talk, and I sincerely hope that he follows through on writing a small series of blog posts about the experience with more details.
Eetu: – This was to me personally the most interesting talk in the conference. These things are in our path every time when we try to evolve systems and bring in new languages. (Not just Clojure.) The challenges and lessons learned were truly valuable. It also included some basic Java. 😉
Clojure powered services at Finnish Broadcasting Company
Eetu: – Heimo shared his insights about YLE and the talk went through mostly used Clojure tools and libraries in YLE.
Re-find: discover functions with spec
Re-find was a fun idea. A tool that tries to find the function that fills the input and output conditions. What function gets you to x.
What stayed in our minds was the thing that using native image to speed up starting of a tool and of course how to make boot better and better in the future.
How I Supercharged Learning Clojure through Gamification
Heimo: Learning Clojure can be hard. This talk provided nice ideas and tips on how to create a structure and environment for personal learning.
The core of the talk was also nicely captured in this tweet:
1. Start with something familiar
2. Read someone else’s code
3. Change someone else’s code
4. Write you own game
Heimo: As a todo-item we should write more about our internal educational programs and share our insights from the master & apprentice and study group programs.
Tuomo: When learning a new language, the jump from tutorials and basic programming puzzles to real projects can be challenging. Mey’s talk was all about how to get across this gap from beginner to practitioner.
The rise and fall of e2e testing at scale
Heimo: Testing is hard and it also seems to be hard to not to do testing that does not produce value. Phillip totally captured pain points that I have also seen in different environments and projects – and briefly explored possibilities in going forward.
Heimo: I am getting more and more intrigued by the ideas of testing in production and building systems in more safe to fail ways.
Conclusion – worth the time and effort
Heimo: As a first time visitor to Dutch Clojure Days I was positively surprised how good the event was and how professionally it was organised. As I had watched some of the previous year’s presentations online I expected a good conference, but I was blown away with how friendly and inclusive the community really was.
Heimo: Clojure is a niche language in all the European markets and sometimes it might feel that as a clojurist we are alone. But if we look at the brainpower and capabilities available in the whole european Clojure ecosystem – the situation starts to look more interesting.
I definitely see good possibilities and opportunities in collaboration and learning across Clojure communities in Europe. Smart people are solving interesting problems all around Europe – and there is much to be learned from each other.
Heimo: I’ll definitely want to visit Dutch Clojure Days again.
Eetu: As do I.