Last week I attended Craft Conference in Budapest, Hungary. Here’s the description of the event:

CRAFT is about software craftsmanship, presenting which tools, methods, practices should be part of the toolbox of a modern developer and company, and serving as compass on new technologies, trends. You can learn from the best speakers and practitioners in our community.

It was definitely one of the best conferences I’ve ever been so far and I’m happy to share some highlights!

Workshop Link to this heading

For me the conference started with another Scala/Akka workshop. I taught almost 20 people in a full-day workshop and we covered a bunch of topics - from Scala basics to Akka Clustering and Persistence.

Big thanks to Balabit for hosting the workshop! By the way, they work on a really interesting product and use Scala, Akka and Spark - check the Scala developer position if you’re in Budapest and interested in this stuff.

Conference Link to this heading

The main event was hosted in the Railroad museum and most of the participants arrived there on a private train! That’s pretty much everything you need to know about the level of organizers ;)

Just a few more photos for you to get the atmosphere:

#CraftConf is pretty crazy

A post shared by Yaroslav Tkachenko (@sap1ens) on

Finally, some of the talks I really enjoyed:

Dan North - Decisions Decisions Link to this heading

https://www.ustream.tv/recorded/102892648

Highly recommended to everyone! Dan gives some great examples about different trade offs in our industry. Do you think that automated tests are better than manual? How about deployment? It’s not that simple… watch the talk!

Daniel Stenberg - HTTP/2, the good, the bad and what’s next Link to this heading

https://www.ustream.tv/recorded/102894021

Danial made a nice HTTP/2 overview with a bunch of deep details. Wait until the questions, because those were great too.

Martin Thompson - High Performance Managed Languages Link to this heading

https://www.ustream.tv/recorded/102861825

Really interesting talk from Martin about some low-level details for building high-performance applications in languages like Java and JavaScript. Lots of deep technical knowledge.

Yaroslav Tkachenko - Why Actor-Based Systems Are The Best For Microservices Link to this heading

https://www.ustream.tv/recorded/102894272

Obviously, I want to mention my talk as well :) I was pretty nervous, since it probably was the biggest event I’ve ever spoken.

I explained that messaging and event-driven architectures are still very important in the microservices world, especially if you want to build reliable applications. Also talked about the way actors can be used to leverage asynchronous communication.

Ashley McNamara & Steve Francia - Building amazing cross-platform command-line apps in Go Link to this heading

This was the first hands-on session I attended. Really cool intro to Golang and Cobra - CLI tool behind Docker, etcd, Kubernetes and other Golang libraries.

Here’s the slides, so you can try to build an app in Go yourself: https://docs.google.com/presentation/d/1rsc6Wxd4JEB3celr7sTs3y6vOwpKWAxn-n-q-mg-z5Y/edit?usp=sharing

Claudio Ortolina - Painlessly functional and concurrent: An introduction to Elixir Link to this heading

https://www.ustream.tv/recorded/102836446

Another hands-on session I attended. Very basic introduction to Erlang/Elixir from concurrency perspective and an attempt to implement one of the main OTP patterns (gen_server) from scratch - great content! Here’s the slides if you want to do it yourself: https://www.dropbox.com/s/gf0iq0bv0rcra70/build-your-own-small-scale-otp.pdf?dl=0

Theo Schlossnagle - Better engineering via better discourse Link to this heading

https://www.ustream.tv/recorded/102894526

And finally, the last talk of the conference. Theo is a great speaker and he talked about the way we’re all supposed to participate in conferences and get the maximum value from them. I wish it could the first talk, so we would apply the knowledge right away :)

Also, great story about travelling from him as a bonus. Don’t miss it.

Instead of a summary Link to this heading

Unfortunately, one of the best talks wasn’t recorded. Damian Conway is a true real wizard.

So, just think about this. He built a parser in Perl to execute code in Latin. Yes, full real language with loops and conditionals, a bunch of built-in functions and etc.

What’s more important, Latin is an inflected language and he was able to use it!

In his snippets, you can change the order of operators and arguments, for example, and the program stays valid!

You can check this gem here: http://users.monash.edu/~damian/papers/HTML/Perligata.html

On my way back to the hotel I had a chance to talk to Damian and I found out that it took him just a few days to build the grammar and the parser for the language (he knew Latin already).

That’s what I call a true craftsmanship.