At TouK, we try to early adopt technologies. We don’t have a starter project skeleton that is reused in every new project, we want to try something that fits the project needs, even if it’s not that popular yet. We tried Kotlin first it mid 2016, right after reaching 1.0.2 version. It was getting really popular in Android development, but almost nobody used it on the backend, especially — with production deployment. After reading some “hello world” examples, including this great article by Sebastien Deleuze we decided to try Kotlin as main language a new MVNO project. The project was mainly a backend for mobile app, with some integrations with external services (chat, sms, payments) and background tasks regarding customer’s subscription. We felt that Kotlin would be something fresh and more pleasant for developers, but also liked the “not reinventing the wheel” approach — reusing large parts of Java/JVM ecosystem we were happy with for existing projects (Spring, Gradle, JUnit, Mockito).
map functions. As an argument for these functions we can pass lambda expression Read more
Some time has passed since we wrote our last blogpost about Apache NiFi where we pointed out what could be improved. It is very nice tool, so we are still using Read more
In the 2018 Advent of Code challenged I solved all the puzzles in Groovy. It is pretty obvious, that choosing good data structure is the most important to obtain Read more
Kotlin allows you to put method implementation in an interface. The same mechanism can be found in Java interfaces as default methods (and also Groovy or Scala traits). Read more
So, Russia 2018 World Cup is over. There were lots of good moments, and some worse (especially for us, here in Poland….). But is there something we can learn from this event as programmers? Recently, I had a few free evenings and played a bit with a World Cup API. In this post I want to show you what is Clojure way of dealing with REST APIs and when it beats other languages in this field.
Complaining and doing nothing to solve a problem. That’s what everybody does on the Internet. And that’s precisely what I am going to do. Why? Read more
At TouK we have so called TouK's Thursday Breakfast. It's name comes from King Stanisław II August's idea of Thursday Dinners. Our implementation is as a breakfast as it takes time at 10 am.
We gather from time to time on Thursday to discuss some interesting topics that are non-technical. For example we summarize projects, discuss important events in company's life, etc.
Technical topics we discuss on Fridays during TouK Weekly Workshops.
This time we tried to activate all employees to share thier sources of knowledge - interesting Internet addresses: pages, blogs, vlogs etc. It could be done with an "ordinary" Google Forms poll but we love to do it differently. We've made a voting cards and voting box.
We've put it in the kitchen and made a call to action with special posters.
On that very day most of the company came and we've discussed all proposals.
There were two hosts - me and my colleague Tomasz. We've pulled out every card and asked the author to say a few words about this particular knowledge source. We've also presented this page on projector wall. Lot's of new ideas appeared.
But where's the fun?
This was a surprise for all. Me and Tomasz were disguised as company owners. We were acting like them even with some typical gestures. People were laughting all the time and it was really nice.
Some tips and takeaways?
- Prepare yourself. Take all results and visit them before to have a consistent list of pages. Let's waste no time on googling for proper resource.
- Prepare poster or email everybody that the meeting will take place.
- Have some snacks and/or soft-drinks. This should be a nice meeting.
- Don't declare. Have a chat and share opinions. Discuss.
- Make jokes. Have fun.
I really encourage you to share knowledge. It doesn't have to be so serious and boring.
Me and Tomasz :)
Testing Kotlin with Spock Part 2 – Enum instance method
The enum class with instance method in Kotlin is quite similar to its Java version, but they are look a bit different Read more
The Distributed Monolith term surely has a bad press. When you read through blogs and conference talks I’m sure you’d better build a “traditional” monolith rather that Read more