Back to HackConf

JUL. 27 2021

HackConf 2021 Online edition - Workshops announcement

You probably already know that this year's speakers and their talks are going to be something special.

Now, keeping with tradition, let's hold our minds sharp and see the workshop sessions!


  • Workshops will be held on Saturday, October 23, between 10:30 and 13:30 EEST, entirely online.
  • The tickets for them are separately sold from the conference day tickets.
  • So if you have an Almost FREE ticket, a FULL ACCESS, or a SUPERFAN ticket - yes, you need to buy a separate ticket for the workshop you want to attend.
  • The seats for every workshop are limited! Tickets will be on a first-come, first-serve basis.
  • The tickets are available on the HackConf website.

So, here’s the 14 hands-on workshops!


πŸ”Έ Full Stack App with Flutter and Firebase Workshop


Speaker: Majid Hajian


Majid is a Google developer expert, an award-winning book author, Flutter, PWA, perf enthusiast, and a passionate software developer with years of developing and architecting complex web and mobile applications.

More about the workshop:


Do you really want to create the most beautiful mobile application that works on both Android and iOS, Web, Windows, Linux, macOS while it's sustainable and maintainable in one single code base? Do you need a quick guide to get started for creating a production-ready app? Then this workshop is for you!

Using a serverless approach to handle your backend requirements to implement and scale fast is a viable solution for Flutter development. So, using Firebase to facilitate rapid development with Flutter is inevitable. In this course, Creating a Full Stack App with Flutter and Firebase, you'll learn to create apps using a serverless approach that can easily scale and fulfill your needs:


1. You'll explore what the services are in Firebase.

2. You'll discover how to integrate a Flutter app with Firebase and use Authentication and Analytics services.

3. You'll learn how to benefit from Cloud Firestore to manage your database and messaging to deliver push notifications to your users.

4. You'll delve into writing your serverless functions.

5. When you're finished with this course, you'll have the skills and knowledge of creating a full-stack app using Flutter and Firebase needed to deliver a scalable and high-quality app to your customer.

Each section comes with practices on a working app which we are building throughout the workshop and is suitable for everyone who wants to learn Dart and Flutter from scratch.


Approach: In this workshop, we will build an entire fully functional app together. I will provide the basic skeleton from time to time to speed up the process.


πŸ“Œ Requirements:


  • You are familiar at least with one programming language
  • You have done:
  • 1. Install on Windows (Please use this link.)

    2. Install in Linux / Mac (Please use this link .)

    3. Setup Android Studio and Xcode (Please use this link.)

    4. Setup Emulators (Please use this link.)

    5. Setup IDEAs and Plugins (Please use this link.)


Duration: 3 hours

Max number of attendees: 17

πŸ‘‰ Buy a ticket


πŸ”Έ Agile Visual Threat Modeling (Against a Beer Tap Infrastructure)


Speaker: Bogomil Shopov


Bogo cares about privacy, ethical design, and freedom in many aspects. He spends 20+ years working as a web developer and architect, analyst, manager, product owner/manager in different environments, several countries, and multiple software industries like Healthcare and Hospitality.

He wears many hats and uses the knowledge gathered to optimize the flow of value across complex systems. He contributes to Free software and Open-source projects and initiatives like Mozilla and Creative Commons.


More about the workshop:


Doing threat modeling is one of the main requirements for almost any Agile organization. Most of the teams are doing it wrong, and as an award, they receive a false sense of security, which leads to products and services that attacker personas can easily exploit.

What if you can take the first but crucial step in a fun and handy workshop. I created a visual threat modeling framework that challenges you to create a threat model on a beer tap infrastructure.


Imagine you have a yard, and in it, there is a beer tap. Could you imagine what could go wrong and prevent us from serving good cold beer to our customers?


After identifying the threats, the framework leads your team on a short journey through risk management with Agile poker, attacker personas, and mitigation techniques. It helps you also add countermeasures to your backlog.

The built-in knowledge inside the workshop will lead you a step forward towards your goal of creating more secure services. The journey begins with a small step, let's take it together!


Learning Outcomes:


  • You will understand more about why you need to do threat modeling as a team, often and with care.
  • You will acquire knowledge about a framework you could use to make this process easy to follow, with exact steps and defined outcomes. That leads to you being able to create more secure products.
  • You will meet the STRIDE model, which identifies the most common threats against web applications. Privacy included!
  • You will have some fun while doing it. It's a hands-on experience, so you will have a chance to try everything yourself.

πŸ“Œ Requirements:


You'll need a working machine with access to the internet.

Check out this website before the workshop: threatmodelingmanifesto.org.

Please also take a look at the virtual whiteboard software (no additional cost for you) we will use.


Duration: 3 hours

Max number of attendees: 17

πŸ‘‰ Buy a ticket


πŸ”Έ Angular performance


Speaker: Georgi Parlakov


Angular and DotNet dev. RxJs πŸ”­ explorer. Author ✍ indepth.dev, medium.com, dev.to. Testing πŸ‘ proponent. A dad ❀. More about his projects at gparlakov.github.io.


More about the workshop:


Optimising Angular

Do you have that one page in your Angular app that loads veeery slow? Or the one page with the gigantic unusable grid?

Perhaps you'd like to know how to separate your js bundles into smaller chunks?


Real-world code

If this is you come and let's talk about optimizing Angular apps.

We'll be using a real-world app (Conduit)[https://demo.realworld.io/#/] and optimize together :)


How?

The ways of optimizing performance in an Angular SPA:

- tools and approach

- measure/change/measure

- faster components with ngTrackBy

- debouncing for fewer HTTP calls

- smaller bundles with lazy loading


πŸ“Œ Requirements:

People who have a background and experience with Angular will benefit the most from this workshop.


Duration: 3 hours

Max number of attendees: 17

πŸ‘‰ Buy a ticket


πŸ”Έ Go 101


Speaker: Anton Sankov


Anton is a software engineer, currently employed by VMware Carbon Black, working with Go and Kubernetes. For the past year, his focus has been mostly on Security and building easy-to-use security products.


Speaker: Boris Stoyanov


Boris is working with Go in Coursera, helping bring hands-on education to everyone. He's focusing on observability and process work, building a system that's robust and maintainable.


More about the workshop:


Are you wondering why some language named Go is getting more and more popular? If yes, join this workshop to understand why and make your first steps with it. We will start from scratch and by the end of the workshop you will know how to write Go programs the Go way.

This workshop is useful for anyone with programming experience(with other languages) and wants to start learning Go. We will start from scratch and by the end, the attendees will know how to write simple Go programs. We will focus more on the elements which are more specific in Go than they are in other languages, and on explaining why they are different.


There will also be a hands-on part, where the attendees have to use what they have learned and write a Go program to solve a particular problem.

For the things we are not able to cover in that time frame, we will include materials for the participants to study after the workshop and elevate their Go skills even more.


πŸ“Œ Requirements:


There aren't any requirements except for a positive attitude, open mind, and desire to learn.


Duration: 3 hours

Max number of attendees: 12-15

πŸ‘‰ Buy a ticket


πŸ”Έ Build a Serverless Web Application with AWS


Speaker: Daniel Rankov


Daniel Rankov leads the Cloud Center of Excellence (CCOE) team and guides the overall Cloud and DevOps strategy at MentorMate. Daniel is in a player-coach role, and he has multiple certifications on AWS. Daniel is a co-organizer of the AWS Bulgaria User Group, and in 2021 he is recognized as the first AWS Community Hero in Bulgaria.


More about the workshop:


Build your first serverless web application on AWS! We deploy static content, dynamic content, and authentication to achieve hyper scaling web applications.

You'll create a simple serverless web application that enables users to request unicorn rides from the Wild Rydes fleet. The application will present users with an HTML-based user interface for indicating the location where they would like to be picked up and will interface on the backend with a RESTful web service to submit the request and dispatch a nearby unicorn. The application will also provide facilities for users to register with the service and log in before requesting rides.


πŸ“Œ Requirements:

To complete this tutorial, you will need:

  • An AWS account, created at least 24h before the workshop
  • A text editor
  • Recommended browser: The latest version of Chrome Basic familiarity with AWS and services like AWS Lambda, Amazon API Gateway, Amazon DynamoDB is recommended but not required.
  • Bring your own AWS account for the event. The account should be created at least 24h before the event start. Estimated cost: 0.25$

Duration: 3 hours

Max number of attendees: 17

πŸ‘‰ Buy a ticket


πŸ”Έ State management for reusable React components


Speaker: Danail Hadjiatanasov


With 8+ years of experience in the field, 4 of which spent on building a UI library used by some of the largest banks in the world. Today he is proud to be part of the Material-UI core team and continue doing what he loves - develop high-quality, reusable UI components.


More about the workshop:


If you ever had a case of managing state in reusable components, you probably wondered what would be the best way to handle that. We will check some common examples of UI components that require an internal state, and we will explore possible ways to achieve that and in the same way, expose an API for developers to control or retrieve your component state. After nailing the basics, we will create a React component using the described approach from scratch and aim to cover requirements such as high reusability, available API, and extendability.


πŸ“Œ Requirements: Advanced React knowledge is a must


Duration: 1 h. And 30 min

Max number of attendees: 8-12

πŸ‘‰ Buy a ticket


πŸ”Έ Ensure clean, potable water to communities in Tanzania through Machine Learning


Speaker: Hristina Biserinska


Originally from Petrich, Hristina has lived from suburban college towns in Bulgaria, the capital Sofia, to university centers in the Netherlands, all throughout, developing her passion for that data science which meaningfully improves our reality through data. She continually seeks to apply the potential that machine learning holds for making good not only for the business but also for society.


More about the workshop:


Access to clean drinking water is still one of the most significant problems for millions of people. For some areas in the world, water points were created to ensure access to clean water. A smart understanding of which water points will fail can improve maintenance operations and ensure that clean, potable water is available to communities across Tanzania.


Our goal in this workshop will be to predict which water pumps are functional, which need repair, and which don't work at all, experimenting with different classification algorithms.


For this workshop, we will use data from the Tanzanian Ministry of Water and Taarifa. The data holds many challenges - zero and missing values, duplicated information, spelling mistakes, etc. We will need to address them with a proper data cleaning strategy, holding in mind the dataset's specifics, in order to create a reliable prediction model.


πŸ“Œ Requirements:


  • Knowledge of Python basics and experience with pandas, matplotlib and scikit-learn libraries.
  • Installed Anaconda 3 (Individual Edition).

Duration: 3 hours

Max number of attendees: 15

πŸ‘‰ Buy a ticket


πŸ”Έ Concurrency Fundamentals in Practice with Java


Speaker: Preslav Mihaylov


Preslav is a software engineer at Uber, working on Java & Go microservices in the FinTech domain with a solid background in public speaking & technical training. He's been leading various programming courses, seminars & workshops since 2015 to more than 2000+ attendees from 10+ countries.


More about the workshop:


Concurrency is a topic often overlooked when studying programming. Why study it? You'll just avoid spawning threads, and you'd be okay, right? The bad news is - you're already writing concurrent code. In this workshop, we'll cover the much-needed fundamentals with lots of practical examples.

In this workshop, we'll go through several stages.


  • First, we'll understand where the gaps are in our knowledge & understanding of concurrency.
  • Then, after we hit that realisation, we'll start building a foundational understanding, step by step, which is agnostic of language, framework or environment.
  • After a few rounds of that, we'll get hands-on and start tackling some real concurrency problems with the knowledge you've just attained. The language we'll use is Java due to its popularity and rich toolchain, which would enable us to explore all shades of concurrency issues, mechanisms, and tools.
  • By the end of the workshop, you'd learn the importance of studying concurrency and some of the fundamental concurrency issues & the mechanisms we have to tackle them. More importantly, you'll receive substantial practice writing concurrent code yourself.
  • Finally, you'll learn about the next steps you ought to take to complete your study of the subject and go back to your project with the confidence that you can now write safe and effective concurrent code - what was once quite a daunting endeavour.

πŸ“Œ Requirements:


  • To have a properly setup Java 8 environment - IDE & running hello world. We'll use only the standard library, so no need for any external dependencies.
  • A basic understanding of Java's syntax is required - what's a class, interface, control-flow structures, etc. If you don't have experience with Java, but you're coming from a language with similar taste, such as C#, you should be fine. However, I'd still recommend getting your hands dirty with Java before the workshop by doing some fizzbuzz problems at e.g. leetcode so that we don't spend time covering Java's syntax.

Duration: 3 hours

Max number of attendees: 17

πŸ‘‰ Buy a ticket


πŸ”Έ Advanced Leadership class


Speaker: Subby Angelov


Some 20 years ago, Subby started as a developer. Now he leads 9 teams with more than 80 people. In his leadership practice, he had to solve many different cases involving many different people. The experience he gained is worth sharing. Subby believes that the best way you can do good to someone is by sharing what you know. He believes in shortcuts and speed lines. He is a passionate speaker and enthusiastic to help people achieve more.


More about the workshop:


In this workshop, through real cases, we will find answers of:

- How to get most of you and your team together?

- How to find time for the important things?

- Which are those things?

- How to manage the upper management and/or customers? … those and many more.


We will discuss real case scenarios and find out what works and for whom? What are the limitations and the benefits of the different approaches? You will go with practical ideas on how to tackle the challenges on your very next working day.


πŸ“Œ Requirements:


There aren’t specific requirements. If you want to upskill yourself and gain practical leadership skills, this class is for you.


Duration: 3 hours

Max number of attendees: 17

πŸ‘‰ Buy a ticket


πŸ”Έ AppSec405


Speaker: Ivan Iushkevich


Penetration tester and security auditor with 10+ years of experience. I am passionate about searching bugs, vulnerabilities in the source code of different applications, have vast experience in banking systems and web application penetration testing. Also a security trainer and lecturer in a university.


More about the workshop:


Bob recently joined a big and very famous company, Appsec404, which conducts security assessments. Bob has always dreamed of working in this area, and now he has a chance, and he does not want to miss it.

At the same time, he was not the only one hired and got the coveted position of an application security specialist, and Bob must prove himself as good as possible. Bob will have to solve many problems related to finding and fixing vulnerabilities to move up the career ladder. At least, the main thing is to do the job and not follow any sort of rabbits, right?


During our workshop, you will help Bob and face many tasks related to finding vulnerabilities in various web applications and fixing them. To not go into details, we will study the vulnerabilities and reports published on HackerOne and Bugcrowd, and solve a few real problems.


In addition, you will learn what needs attention when testing and implementing various functions in web applications and what can happen if certain functions are not used promptly.


πŸ“Œ Good to know in advance:


The workshop is 95% practical, so attendees must have any laptop/PC and internet. No additional software is required.


Who is this workshop for?


Web developers, appsec specialists, and anyone interested in information security.


Duration: 3 hours

Max number of attendees: 17

πŸ‘‰ Buy a ticket


πŸ”Έ Leverage AI and NLP to solve a huge scientific problem. Win a prize in the process!


Speaker: Victor Botev


Victor takes his bachelor's degree in Software Engineering, and his master's in Artificial Intelligence in Sofia and Computer Systems and Networks in Sweden. With rich experience both in academia and industry, in his career, Victor has developed AI for detecting fraud in using the electrical grid and also helping cars drive autonomously.

He has also participated in numerous challenging projects, amongst them building a whole formula car, with which he won various international awards.


Speaker: Georgi Dimitrov


Georgi finishes his bachelor's degree in Software Engineering and his masters in Technological Entrepreneurship. He is ex math, taekwondo, and chess competitor. Georgi starts working in IT at times when there is still no cloud. After several years he starts putting more and more effort into the product side of software development and around 3 years ago decides that he wants to embrace a dynamic, impactful journey with Iris.AI and leverage AI and NLP for scientific exploration.


More about the workshop:


Come to our workshop and experience firsthand what it is like to use AI for state-of-the-art science exploration and solving future hi-tech challenges. We will host a small competition where every participant will use our NLP engine to help humanity solve a major scientific problem! There will be prizes for the best :) Before starting the competition, you will witness a demo of the engine and the technology behind it.


πŸ“Œ Good to know in advance:


The workshop is suitable for everyone that loves or is interested in AI, NLP, Science, or just wants to compete for winning a prize while helping to solve challenging problems.


No specific skills are required for participation, only motivation, and curiosity!


Duration: 3 hours

Max number of attendees: 17

πŸ‘‰ Buy a ticket


πŸ”Έ LXD workshop


Speaker: Marian Marinov


Marian is a system administrator by heart. He has been working with Linux for almost 20 years. Currently he is Head of DevOps at WebHostingCanada. He is a big fan of FOSS and regularly speaks at different FOSS conferences around the world. Marian also helps with the organization of OpenFest - Bulgaria's biggest FOSS conferences. In his spare time he teaches Linux system administration and Network security courses in Sofia University and SoftUni.


More about the workshop:


Everyone needs a dev/testing environment for their project, why don’t we create it under our own Linux OS with one of the best open source container tools available? This workshop will give you the basics needed to manage containers using LXD.


πŸ“Œ Requirements:


Previous experience with the Terminal is a must.


Duration: 3 hours

Max number of attendees: 17

πŸ‘‰ Buy a ticket



πŸ”Έ Reactive Architectures


Speaker: David Leitner


David is Coding Architect at SQUER, a Viennese Software Company, which is working with different stacks and environments, but always an overarching mission: connect ideas and provide impact β€” with technology.

He spends much of his time on the frontlines tackling the challenges of scaling software and complex domains, with a strong focus on reactive systems, cloud-native architectures and state of the art web technologies.

David enjoys sharing his knowledge as a speaker at conferences and as a lecturer for his post-diploma courses at the University of Applied Sciences Technikum Vienna.


More about the workshop:


Modern software architectures are amidst a paradigm shift β€” more and more software landscapes are built upon asynchronous and reactive patterns. This movement is understandable, as it takes scalability, resilience, and real-time integration to an elusive new level.

Unfortunately, we observe that many new customer projects only use parts of this paradigm shift sensibly. Thus, they often end up with an only partially reactive architecture that introduces a lot of new complexity without allowing us to utilize the full potential of reactivity.


This workshop will teach you the reactive paradigm's central concepts, core ideas, and the corresponding manifest and make them understandable. Based on this knowledge, we will go into hands-on use-cases to build an end-2-end reactive system, from a reactive frontend integrated via GraphQL, back to a persistent event stream, that allows us to follow a fully push-based design.

We will understand concrete patterns, like event-centric persistence, the concept of hydrations or projections, and how to improve resilience and elasticity by such a software architecture.


πŸ“Œ For who is this workshop?

The best audience for it is mid/senior engineers and hands-on architects.



Duration: 3 hours

Max number of attendees: 17

πŸ‘‰ Buy a ticket



πŸ”Έ Angular Universal - be more SEO/CDN/User friendly with server-side rendering


Speaker: Maciej Treder


Senior Software Development Engineer at Akamai Technologies; Twilio Champion; Enthusiast of web technologies especially Single Page Apps, Progressive Web Apps, microservices, and Internet of Things. Author of articles about JavaScript, NodeJS, and Angular.

Open Source contributor - creator of @ng-toolkit opensource project - set of tools for expanding existing Angular applications.


More about the workshop:


Angular Universal is an underestimated server-side-rendering technique. During this workshop you will learn that SSR is not only about the Search Engine Optimization (SEO) but also improves application performance, provides better user experience and enables you to create more sophisticated Single Page Applications.


πŸ“Œ For who is this workshop?

The workshop is suitable for everyone who has an idea of what SPA and Angular are. However, the best audience is entry and mid-level developers.



Duration: 3 hours

Max number of attendees: 17

πŸ‘‰ Buy a ticket