#90 - 21.02.2024 18:00

#90: Implementing async with coroutines and fibers – project Loom in C#

Lecturer: Adam Furmanek

Async has multiple problems. It requires specific return type, can switch thread any time, causes deadlocks, uses global state. Can we do better? Can we do async/await without all its mess?

In this talk we will learn how async is implemented, see what problems it creates, and explore other possible approaches. We will reimplement some of its features with monads, coroutines, and fibers to see how it could look like in an alternative world. We’ll see if we can do better than the thread-pool based approach.

This is loosely related to project Loom in JVM world which explores fibers to improve threading.  

Level 300.

REGISTER
Adam Furmanek

A professional software engineer with 15 years of experience. In his career, he has worked with all layers of software engineering and various types of applications, including logistics, e-commerce, machine learning, data analysis, and database management. He has a consistent interest in delving deeper into technology, exploring machine code, and examining implementation details to gain a better understanding of the internals of the technologies he uses daily. Adam enjoys debugging, decompiling, and disassembling code to comprehend memory models, concurrency problems, and other intricacies hidden deeply inside. In his free time, he engages in ping-pong, watches Woody Allen's movies, and maintains a blog at http://blog.adamfurmanek.pl.


you can no longer register for this event

#79 - 19.10.2022

#79 Here comes the Loom, structured concurrency will never be the same

Lecturer: Krystian Zybała

REGISTER
Krystian Zybała

Java Programmer with 10 years of experience who is interested in how JVM works under the hood. Most of the time the madness tries to build performance systems on JVM with Apache Kafka and Cassandra. Formula 1 Fan, Max Verstappen, and Redbull Racing Team.


you can no longer register for this event

#78 - 14.09.2022 18:00

#78 How to start with automatization – how to become an automation tester

Lecturer: Grzegorz Witek

You are a manual tester and would like to develop in automation, but don’t know where to start? Do you want to change your mind and are looking for your path? Or maybe you already have a job as a developer and prefer to take the “other side of the force” and wonder what it is like to be an automation tester?

If the word “YES” appeared in your head at least once, or you are simply interested in the work of an automation tester, I will try to bring you closer to this world. I will also tell a few stories of people who have chosen this path and will present their advice for people who want to go this way.

REGISTER
Grzegorz Witek

I have been associated with software quality since 2010. Starting from a manual tester, through an automation tester, to a quality engineer. In the meantime, I had the opportunity to gain invaluable experience as a 'specialist' in Docker, and also got to know other tools related to DevOps in general. Currently, as an employee of Backbase Polska, I am constantly trying to expand my skills. In addition, I conduct technical training related to programming, test automation and CI / CD processes, and I participate in the Nobilites school by conducting a testing course there. After hours, I actively work locally, organizing meetups and training as part of the KrakQA testing community.


you can no longer register for this event

#77 - 15.06.2022

#77 Tester as a developer – practical use of basics of development and design patterns in tests (python)

Lecturer: Tomasz Majk

The topic of this presentation will be to establish an answer for a question about why automation tester is also a developer. The meeting will be a great chance to meet good practices and deseign patterns on real cases from automation tester work.

REGISTER
Tomasz Majk

For over 10 years in testing. Mostly in test automation (web and mobile), creation of own tools for test support. In his free time responsible for the development of his own web/mobile apps.


you can no longer register for this event

#76 - 11.05.2022

#76 Design patterns and anti-patterns in web application automation testing

Lecturer: Tomasz Stelmach

As the level of complexity of the source code and the software itself increases, so does the level of complexity of the software tests. Test automation is an important and increasingly used form of supporting the testing process. The most important element in building the test automation process is the approach itself and the adopted general concepts. Design patterns are universal, proven in practice solutions to often repetitive design problems. In the presentation, I will tell you why it is worth basing the web application test automation process on proven and widely used design patterns. I will tell you about their concept, application, strengths and weaknesses. I will also present anti-patterns, which, unfortunately, are equally often used on the wide market. The presentation will be based on my over 10 years of experience in writing automated tests, managing test automation teams and managing test departments.

REGISTER
Tomasz Stelmach

My name is Tomasz Stelmach. For over ten years now, I am professionally responsible for testing, securing and maintaining development quality, planning, development and maintaining of Tests Automation process in big organization. Lately I'm involved mostly in IT architecture related issues and DevOps/TestOps - strictly connected with maintaining development quality. My specialities are automation testing of web applications and creating widely understood processes of automation and robotization. I am also a founder of training company "Od laika do Automatyka" https://odlaikadoautomatyka.pl/.


you can no longer register for this event

#75 - 13.04.2022 18:00

#75 What you can expect from Spock 2

Lecturer: Marcin Zajączkowski

Spring 2021 – long awaited – Spock 2.0 has been finally released. Heavily rewritten to leverage JUnit Platform (a crucial part of JUnit 5) is ready for even better testing in your projects.

However, what about the support for Groovy 3 and Java 14+? Is Spock compatible with a brand new Groovy 4 and Java 17+? Could the parametrized tests be even better? How problematic will it be to migrate existing tests from Spock 1.3 (especially those using JUnit 4’s rules)? What other new features and breaking changes are expected in 2.x?

During this talk, I will summarize over 2 years of development, explaining if/how it impacts the status quo (Spock 2 vs JUnit Jupiter 5) presented by me three years ago.

REGISTER
Marcin Zajączkowski

An experienced architect aiming for high quality solutions. Very engaged in evangelising Software Craftsmanship, Clean Code and Test-Driven Development as a conference speaker and trainer. An expert in deployment automation with Continuous Delivery and Continuous Inspection of Code Quality. An enthusiast of Reactive Systems and broadly defined concurrency. Besides, an open source author and a contributor, a (minor) Spock committer and an occasional blogger (https://blog.solidsoft.pl/).


you can no longer register for this event

#74 - 16.02.2022

#74 Hazelcast 5 – Hands-On

Lecturer: Grzegorz Piwowarek

In this presentation you will learn what’s Hazelcast place from an architectural point of view and you will get to know Hazelcast from the developer point of view during a live-coding session.

REGISTER
Grzegorz Piwowarek

Grzegorz Piwowarek is a senior engineer at Hazelcast, runs training courses and blogs at 4comprehension.com. He is interested in distributed systems, system performance, and architecture. There are rumors that he only exists at compile time.


you can no longer register for this event

#73 - 12.01.2022 18:00

#73 Testing Kotlin Coroutines

Lecturer: Marcin Moskała

Kotlin Coroutines introduce powerful testing tools that let us control time. This gives us tools, for much better testing than before. In this presentation, we will see, how to test different cases both in Android and in the backend. How to make sure that two processes run concurrently, how to check the time dependencies, and how to use JUnit rules to make all that testing effortless.

REGISTER
Marcin Moskała

Marcin Moskała is an experienced developer and Kotlin trainer. He is the founder of the Kt. Academy, an official JetBrains partner for Kotlin trainings, author of the books Effective Kotlin and Android Development with Kotlin. He is also the main author of the biggest medium publication about Kotlin and a speaker invited to many programming conferences.


you can no longer register for this event

#72 - 15.12.2021 18:00

#72 Bare metal Java

Lecturer: Jarek Pałka

Java, or JVM, has well-deserved fame as a hardware-unfriendly platform, and thus nobody sane will build database systems or solutions where “mechanical sympathy” is crucial. using Java, except Apache Kafka, Elastic, Cassandra and Neo4j ;).

Garbage collector, speculating JIT, lack of control over “object layout”, terrible support (mainly due to lack of abstraction) for functions of modern processors and operating systems.

And also JNI (who was there, I know what I’m talking about). Complex, slow, no major update since the day of release.

But things are going to change. With Project Panama and JEPs like foreign memory API. There is a promise to make things simple, fast and safe. This talk will take a look at the state of Project Panama, focusing on the foreign linker and foreign memory API, our new interface to the C world. Of course, you can expect running examples, core dumps, segfaults and other fancy things.

I will show how to call C code (from POSIX spec) from Java, and calling Java code from C. We will also discuss the topic of foreign memory as these specs are tightly coupled together.

REGISTER
Jarek Pałka

For more than 20 years in the IT industry, as a database administrator, programmer, architect, manager and "onsite disaster engineer". At the moment, working at Neo4j as performance engineer, enjoying the way of code, and exploring dungeons of JVM and OS, after few years as chief architect in SaaS business and teach lead in Allegro.pl. I took part in small, medium and large projects nonsense, under the principles of "Waterfall", Agile and in the absence of any methodologies, always with the same effect. What led me to the conclusion that no matter what you do, as long how you do it well, in the simplest possible way and use appropriate tools that do the work for you. In the meantime, I fell in love in the ideas of TDD and Software Craftsmanship, to the limits exploring beautiful in its simplicity ideas as REST and NoSQL, only to abandon them to explore the secrets of "systems thinking" and admire the strength that brings "metaphor" and discover that we are all objects in an eternal virtual machine. Humble follower of the church of JVM, bytecode and JIT researcher, exploring all sorts of parsers, interpreters and compilers. From time to time you can hear my low-quality jokes about architecture conferences in Poland. I am also author of a blog on http://geekyprimitives.wordpress.com/ and self-proclaimed dictator in the program committee at SegFault ,CoreDump, 4Developers and JDD conferences.


you can no longer register for this event

#71 - 06.10.2021

#71 Soft skills for Storming Trooper

Lecturer: Sławomir Sobótka

It was supposed to be beautiful… We used a few hundred sticky notes, we took a picture / screenshot of them and posted them on twitter and linkedin, we gave each other high five but after a year, our microservices and lambdas ended up in bolognese sauce…

What went wrong? How could we overlook Single Source of Truth again, and post a dozen Single Points of Failure? 

The most difficult skills in programming are soft skills.

During the presentation you will learn:
– how to ask questions that do not suggest an answer
– how to formulate typical technical questions so that they address business problems
– how to adapt your interface to the interface of a person with a completely different history of education
– how to recognize the cognitive preferences of interlocutors and adjust to them

REGISTER
Sławomir Sobótka

Sławomir is the owner of a training and consulting company, Bottega IT Minds, associating 60 technical experts. During 17 years of work in the IT industry, he was a programmer, architect, team leader, mentor, and trainer. On a daily basis, he integrates Domain-Driven Design, patterns, and styles of architectural, agile manufacturing processes and common sense. He applies the overarching principle: recognize the problem class and select the appropriate tool class for it.


Don't forget to register!

REGISTER