Codecon 2021
Tags: techtalks, eventsinyourcity, webdev
Published: 2021-05-04 17:45:06

Last week happened [Codecon 2021](http://codecon.dev/) first edition, which was my debut as co-organizer. 

Codecon is a tech event made for developers featuring tech **talks**, **workshops**, **coding marathon**, **puzzles**, **prizes** and lots of community **interactions**.

My role in this edition was mainly developing and taking care of our **gamification** Discord bot. While it's still not open source, it's heavily based on my other Discord bot [Corvo Astral](https://github.com/Markkop/corvo-astral).
  
To keep the tradition of reporting what has been presented on the tech events I participate, here's what I have summarized.

---

## 🎯 Introducing properties tests on C# with FSCheck
By [Arthur Fücher](https://twitter.com/thur) / Watch it [here](https://youtu.be/I_Gb63UrK-g) (portuguese)

![Introducing properties tests on C# with FSCheck](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/t89ainjefhjlx1vi1h0g.png)

In this talk, Arthur showed us the concept of a different test type: **the property one**. Compared to **unit** and **integration** tests, here we're validating if a given **property** from the input and output of a method is being satisfied. For example in a Sum function, we check if its **commutative** property _(x + y = y + x)_ and **identity** property _(x + 0 = x)_ are being respected with several auto-generated inputs.

---

## 🍝 Unspaghetting code: a refactor case
By [Camila Campos](https://twitter.com/camposmilaa) / Watch it [here](https://youtu.be/1v8ZQZV1gjw) (portuguese)

![Unspaghetting code: a refactor case](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/49e99uxbvuztc50i78ke.png) 

Camila talked about a refactor project that she and her team had to do in a **Credit Score** application and how they managed to "tidy up the house" by **aligning** their goals with managers and stakeholders and **drawing** the flux of the application. It's clear that their approach resulted in a big **relief and motivation** to the team and a **faster result** delivery.

---

## 🌌 Galaxies TDD, how to finally understand and apply the tests universe
By [Ana Neri](https://twitter.com/anabneri) / Watch it [here](https://youtu.be/eYltSNAXeAQ) (portuguese)

![Galaxies TDD, how to finally understand and apply the tests universe](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/o0xxdx6ybtl02bk9nvrd.png) 

By presenting the concepts of the **Test Driven Development** using Star Wars theme, Ana elaborated how to achieve a **resilient** software with **good quality**. She also brought the **most common mistakes** we can make when applying TDD and their solutions.

---

## 🔭 From Callback to Observable with RXJS
By [Fernando Daciuk](https://twitter.com/fdaciuk) / Watch it [here](https://youtu.be/82JphanBa_A) (portuguese)

![From Callback to Observable with RXJS](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/cn8z09wppf6dh0t6i2gm.png) 

With a brief presentation and lots of live coding, Daciuk explained what **Callbacks** are, their evolution into **Promises** (kinda) and how we can use **Observables** in the practice.

---

## 👾 Adversary Attacks in Machine Learning
by [Flavio Clesio](https://twitter.com/flavioclesio) / Watch it [here](https://youtu.be/CYUssBcQz5k) (portuguese)

![Adversary Attacks in Machine Learning](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/037y18ho0srss17ripgx.png) 

Flavio showed us several examples of how a **Machine Learning** application can be **exploited** by external agents, such as **model poisoning** or by internal failures, like **unexpected distribution changes**. 
 
---

## 📈 Clojure is a Java better than Java
By [Ana Bastos](https://twitter.com/naluhh) / Watch it [here](https://youtu.be/ruZwYDSaq1M) (portuguese)

![Clojure is a Java better than Java](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/1lew91xu3au002cmofb8.png)

With details and examples, Ana presented **Clojure** as a programming language that runs on the **Java Virtual Machine** and being a **Lisp** derivative. She also pin-pointed its advantages, such as being an **easy to learn** language with simple syntax, have **less code** written to do the same as other languages would and all the good stuff that comes with a **functional** programming language.

---

## ⚔️ Kotlin vs Go: The coroutines war
By [Alex Rios](https://twitter.com/alextrending) / Watch it [here](https://youtu.be/Tm0ukeWkh0M) (portuguese)

![Kotlin vs Go: The coroutines war](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/hjy3utf72idf11s0ew5a.png) 

Alex made clear the difference between **Threads** and **Coroutines** and how **Go and Kotlin** implemented them in their languages. He also showed examples and talked about how useful is to apply the **Structured Concurrency** when using these features.

---

## 🔋 Internet of Things? IOT? What is it?
By [Monica Craveiro](https://twitter.com/mocraveirodev) / Watch it [here](https://youtu.be/di9BTzLEaX0) (portuguese)

![Internet's Things? IOT? What is it?](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/jq4lhsgvqdos2oo7d9i8.png) 

In a very didactic way, Monica explained what is **IoT** and its applications. She also brought subjects related to its **architecture**, such as sensors, dev kits, devices, legal aspects, connectivity, cloud and platforms.

---

## 🎙️ Devs Cansados Podcast live recording
Hear it [here](https://anchor.fm/devs-cansados)

![Devs Cansados Podcast live recording](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/r7apbyadu06fa3de1z9y.png) 

We also had a podcast live recording where "tired devs" talked about the programming industry and the devs everyday life.

---


### Workshops

CodeCon21 also had several [workshops](https://www.sympla.com.br/workshops-codecon-2021__1164184) for affordable prices and with a "buy one and gift or donate another" system.

* Elixir Introduction (Adolfo Neto)
* From Relational Modeling to Dimensional Modeling: assembling a DW example (Caroline Dantas)
* Docker & Docker Compose - A class for starters (Leoni Mella)
* Software Architecture Foundations (Pedro Castilho)
* React Foundations (Juliana Gaioso)
* Laravel + VueJS + Inertial - Develop SPAs without APIs (Thiago Victorino)

### Gamification

And the most interactive feature we had was the gamification system distributed into several activies:

* [Coding Marathon](https://www.urionlinejudge.com.br/judge/en/contests/view/564)
* [Puzzles](https://enigma.codecon.dev/ranking)
* Riddles (on Discord)
* Announced and Hidden codes that can be [claimed](https://codecon.dev/ranking) using a Discord bot

### Conclusion

CodeCon is certainly the most dynamic and interactive web event I've ever witnessed and I've had a blast helping to organize it. The gamification bot I've coded myself worked better than I thought and this year I want to make it opensource so more communities can make use of.  

I want to thanks all the people that have contributed with talks and workshop, [PachiCodes](https://www.twitch.tv/pachicodes) for being our host and everyone who participated in the event.

A big thanks for the people who made this event happen: Gabriel Nunes, Galeno de Melo, Eduarda Cristina, Kaio Felipe and Alan Fachini.  

We're probably going to have a second edition for this year, so stay tuned!

![me](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/56n6hwrvzgoctf0ld7zx.png)