On: 25 Aug 2018
JavaScript in Modern IoT devices.
Mihail Mateev | Level: Beginner | English
Most of people never considered that JavaScript can be one of the best technologies ever used on embedded devices. This talk is about best practices and real-life cases on devices, powered by JS frameworks.
On: 27 Aug 2018
Preparing a large scale migration from angularjs to angular, react or vue
Danny Hanke | Level: Intermediate | English
In 2021 the LTS for angularjs ends and we currently have more than 170k lines of code in our project with a lot more features already in the pipeline. Continuing to implement new features with angularjs would mean to take a big technical debt and this is why our team is currently at a turning point.
In this talk I want to share our current thought process, technical decisions and the migration plan for the upcomming year
On: 27 Aug 2018
The current state and future of JavaScript
Pavel Kolev | Level: Intermediate | English
Panel Discussion with
Ilia Idakiev and Radoslav Stankov
On: 27 Aug 2018
JavaScript was doomed from the beginning
Pavel Kolev | Level: Beginner | English
Have you ever wondered if there is a reason why JavaScript is/was one of the most hated languages but yet become a standart requirement for every developer. We'll go back in time when everything shaped up during the first browser wars and see if the history isn't repeting itself today. Are we going to a second wave of JS hate trend?
On: 29 Aug 2018
Serverless Javascript
Valentin Georgiev | Level: Intermediate | English
What is serverless? How can we build powerful and scalable-by-design applications that don’t care about neither servers or containers? How to avoid idle time costs and utilize all other benefits of the serverless approach? All this and more about the technology that put docker in the legacy list.
On: 03 Sep 2018
Cryptography for JavaScript Developers
Svetlin Nakov | Level: Intermediate | English
Most developers believe they know cryptography, just because they store their passwords hashed instead of in plaintext and because have once configured SSL. In this talk the speaker will fill the gaps by explaining some cryptographic concepts with examples in JavaScript. The talk will cover:
- Hashes, HMAC and key derivation functions (Scrypt, Argon2) with examples in JavaScript
- Encrypting passwords: from plain text to Argon2
- Symmetric encryption at the client-side: AES, block modes, padding, KDF, HMAC, examples in JavaScript
- Digital signatures, ECC, ECDSA, signing messages, verifying signatures, examples in JavaScript
- Why client-side JavaScript cryptography might not be safe? Man-in-the-browser attacks, Cross-Site Scripting (XSS) / JavaScript injection, etc.
On: 03 Sep 2018
Web Components Everywhere
Iliya Idakiev | Level: Intermediate | English
This presentation will be a deep dive into what Web Components are and why they exist. We will talk about custom elements, templates, shadow DOM and see how to create a custom Web Component, what are the pros and cons of using a framework and doing it natively. We will also cover the solutions for Server Side Rendering of our Web Components and what is the current browser and framework support. At the end we will touch on Angular Elements and see how we can integrate an Angular Component into a React application.
On: 03 Sep 2018
NgGotchas
(or How Angular unpleasantly surprised us.)
Georgi Parlakov | Level: Intermediate | English
Talk about knowledge from the trenches of using angular and how it surprised us (our team).
The goal is to share knowledge and hopefully help someone not fall in the ng-gotchas traps that we did.
We'll tell the story of how Angular Modules and RxJs work in mysterious ways.
The story includes the Angular Providers and how they get created, work and get destroyed. We'll also try to uncover some of the RxJs mysteries.
Series on the subject https://medium.com/series/ng-gotchas-40f4f0ff0632
On: 03 Sep 2018
NgGotchas
(or How Angular unpleasantly surprised us.)
Georgi Parlakov | Level: Intermediate | English
Talk about knowledge from the trenches of using angular and how it surprised us (our team).
The goal is to share knowledge and hopefully help someone not fall in the ng-gotchas traps that we did.
We'll tell the story of how Angular Modules and RxJs work in mysterious ways.
The story includes the Angular Providers and how they get created, work and get destroyed. We'll also try to uncover some of the RxJs mysteries.
Series on the subject https://medium.com/series/ng-gotchas-40f4f0ff0632
On: 03 Sep 2018
Dockerizing Angular Contribution
Georgi Parlakov | Level: Beginner | English
Abstract: Goal is to provide a story of a person not really highly skilled in Docker and still able to dockerize a Dev environment for a particular project.
The problem: a lot of the projects on GitHub have very specific requirements on the contributors machine. When one wants to contribute to more than one project it becomes increasingly possible to have conflicting requirements. Also one OS could simply not support the environment required.
Why is this a problem: anyone wanting to contribute to open source needs to scale issues not necessarily connected to the project itself but with infrastructure that project depends on/expects to be present.
The solution: a development Docker image to serve as a foundation for contributors.
The presentation will follow these guidelines
Story of me trying to contribute to Angular:
- issue CRLF vs LF endings (windows vs linux)
- different node version that what I already used
- Interested in Docker
Some details general js projects development in a container (not too Angular specific)
- npm modules
- sync code host/container
- building
- debugging
Target audience:
Beginner/Intermediate developers. Generally people interested in docker, angular and open source
On: 06 Sep 2018
Building Smart Web Apps with Cognitive Services AI
Ivelin Andreev | Level: Intermediate | English
Smart homes, smart phones, even smart stones… Today users expect everything to be smart and web sites to be tailored to their needs, and intelligent enough to serve within less taps. The huge advancements in machine learning and big data in recent years made that possible. One of the most complete and advanced services that is a step in front of the competition, and allows developers to add AI to their products, is Azure Cognitive Services. This session will be about how computer vision, natural language processing, speech and intent recognition could allow building smart apps with enhanced experience and be more engaging, personal and relevant.
On: 14 Sep 2018
Make you a redux for fun and profit
Wekoslav Stefanovski | Level: Intermediate | English
Unidirectional data flow has been all the rage these past years – mostly thanks to libraries like React that use it heavily. But it is a bit of a counter-intuitive pattern of work, so this presentation aims to demystify why and when it’s actually needed and to explain all the strange words (dispatcher, reducer, store) that are used within it by making a simple implementation in TypeScript from scratch.
On: 14 Sep 2018
Why JavaScript when you can see sharp?
Wekoslav Stefanovski | Level: Beginner | English
So far JavaScript had a monopoly on web code - we could either write some form of JavaScript or not execute code on the web.
The WebAssembly standard changes that, by defining a binary code standard that could be directly executed by the browser. That binary code could be written in any language compilable to wasm - and that could mean C# as well.
In this session we'll take a look at Blazor, an engine that enables us to write C# code for the server, C# code for the client, run it, and, if we're lucky, it might even work.
On: 17 Sep 2018
Concurrency, Parallelism and Scheduling in JavaScript
Mihail Mikov | Level: Intermediate | English
What is concurrency? What is parallelism? What is scheduling? What is the difference between a fiber, thread and a process? What are CSP and the actor model? What about threads with shared memory? In this talk we will explore how these concepts are implemented and used in JavaScript.
On: 22 Sep 2018
A Brief History of Everything about Javascript
Radoslav Stankov | Level: Intermediate | English
JavaScript is all the rage right now, but it wasn't always like that. For decades people thread it is a toy language. Why is that? How did that change? As most in many aspects of life looking backward can help us move forward.
On: 27 Sep 2018
Developing apps for iOS and Android at the same time
Rene Pot | Level: Beginner | English
With native development you’ll just be focussed on just one platform. With Titanium you can focus on multiple at the same time. But developing for two platforms based on the same codebase you encounter a lot of issues you wouldn’t when developing natively. So how would you solve this?
In this talk we’ll discuss common pitfalls, best practices on how to structure your code, handle the differences between the platforms, and still keep your code maintainable. I’ll be demonstrating you how to achieve this in Titanium, but most points discussed will be applicable in any cross-platform framework.
On: 01 Oct 2018
Profiling performance on the user's device... and then understanding what the metrics are trying to tell you.
Martin Chaov | Level: Advanced | English
Have you ever wondered how your application is perceived outside of your own environment? You probably tried using Google Analytics or Catchpoint or some other monitoring tool. However, the data is usually overwhelming and unintelligible. In this talk I am going to show you how to gather metrics from the browser via Navigation Timing and Beacon APIs, explain what they mean, and how to troubleshoot them.
On: 06 Oct 2018
CSS headache in Angular
Igor Joshevski | Level: Intermediate | English
Multiple ways to apply CSS in the Angular 2+ project, which ones is practical and good, which one is bad. How to take care about code/UI refactoring with minimal impact over actual application UI.
On: 07 Oct 2018
How to build augmented reality (AR) apps with JavaScript
Trifon Statkov | Level: Beginner | English
On: 09 Oct 2018
Knock knock, who's there? Authenticating your single page apps using JSON Web Tokens.
Sam Bellen | Level: Beginner | English
When it comes to writing code, there’s nothing we take more serious than authentication and security. Modern single page applications bring along new challenges. By using solutions like the OpenID Connect protocol and JSON Web Tokens we can improve the user experience when authenticating with your apps, providing a seamless authentication process.
In this talk I will try to explain in depth, the way JSON Web Tokens work and can be used to secure your single page apps. I will explain the difference between using opaque tokens and JWTs. The talks will also give an overview of a modern authentication flow and a step by step breakdown of how it works exactly. No specific previous knowledge is required, but it helps the audience has some experience with authenticating users.
On: 15 Oct 2018
Comparing Service Based Architectures
Dimitar Danailov | Level: Intermediate | Bulgarian
Microservice architectures are popular, described as “SOA done correctly”. But what are the real differences between ESB-flavored Service Oriented, Service Based, and Micro_service architectural styles? And what about middle ground between the shared everything of SOA versus shared nothing of microservices?
This talk explores the similarities and differences between various service-oriented architectural styles. I describe the characteristics of SOA, microservices, and hybrid service-based architectures, along with decision criteria to help choose between them. I also discuss specific engineering practices, orchestration styles, reuse strategies, and migrating between architectural styles (e.g., from monolithic applications to service-based or microservice). No one architecture can solve every problem, and many projects take on more complexity than necessary by choosing the wrong architectural pattern. This talk equips attendees with the knowledge and context to choose the architecture that best fits their needs.
On: 17 Oct 2018
How and when to do Server side rendering
Shota Papiashvili | Level: Intermediate | English
We will talk about why to do server side rendering, what we can achieve with that and some best practices for the different frameworks and approaches
On: 25 Oct 2018
Building a Functional Frontend with Clojurescript & Re-Frame
Boyan Bonev | Level: Advanced | English
The topic will cover the reality of building for the browser with a functional language offering amazing javascript inter-op - Clojuresript. We'll take a closer look at what Clojure is, why its relationship with React is so strong and how could we build a functional frontend via Re-Frame, a precursor of reactive programming.
The talk will be a healthy mix between an experience report and overall information and hopefully incite interest in the JS ecosystem beyond Javascript.
On: 29 Oct 2018
Office UI Fabric - building modern Office 365 applications
Dimcho Tsanov | Level: Intermediate | English
Building nice-looking solutions that fit seamlessly into Office 365 is not anymore a challenge.
The front-end framework Office UI Fabric simplifies the whole development process. Its use with React provides many ready-to-use controls.
Join this session and learn why Office UI Fabric is the recommended framework for Office 365 development.
The talk will cover:
- What is Office UI Fabric
- How to use Office UI Fabric with React
- Real world examples with SharePoint, Dynamics and Outlook
On: 29 Oct 2018
Chatbots Point of View
Ivan Vlaevski | Level: Intermediate | English
"By 2020, the average person will have more conversations a day with bots than they do with their spouse" (L. Heather Pemberton | Gartner)
How to build enterprise grade human-like advisor?
Today chatbot development is brought to the level of creation a new solution starting from a template.
The enigma of building an inteligent agent lies into system integration, machine learning, knowlage extraction and training.
How we do it?
On: 29 Oct 2018
Three Points of Vue
Plamen Zdravkov | Level: Intermediate | English
Vue.js progressive framework is getting more and more popular across javascript community and I wanted to share three points that I believe are making it a huge candidate for being chosen for the next project that you are planning to start.
On: 30 Oct 2018
React Native: A Practical Guide For The Web Developer
Nikolay Nikolov | Level: Intermediate | English
Imagine that you are a web developer who has experienced the JavaScript headaches to some extent and has heard about React Native, though wants to know a bit more about this new fancy technology. Oh, you are one? Great! Come and join me for a chat about the hottest cross-platform framework – its story, ideas, core concepts, and more!
In this talk you will get a practical overview of React Native from the perspective of a full stack developer. We will begin with clarifying the main moving parts in the technology and its relationship with vanilla React and JavaScript. Following will be a curated list of key development concepts for the React Native engineer such as layouts, state management, notifications basics. Wrapping up in the spirit of the modern software lifecycle – latest DevOps-ish trends for React Native and the supposed exciting future of the platform.
On: 31 Oct 2018
Web assembly - The benefits that you get today
Hristo Klisurov | Level: Intermediate | English
Web assembly is widely considered as one of the biggest changes that the web world has seen in decades, yet only a handful of companies use it in production. There's a common misconception that it's still too green as a technology and there are no practical applications for it.
In this talk, we see why this is not true and how we can benefit from Web Assembly today. We'll start with one of the biggest winners - the gaming industry. We'll see the performance gains that games created with popular engines like Unity 3D and Unreal engine 4 get from WA. Then we'll check how WA plays with popular JS suspects such as Angular, React and Vue and how "expensive" are calls between JS and WA. We'll finish with some real-life examples and what's around the corner for Web Assembly.
On: 31 Oct 2018
Micro Frontends - A Microservice Approach To The Modern Web
Ivan Jovanovic | Level: Advanced | English
The web is changing every day and it’s so hard to follow and implement all the new and fancy stuff that is being built. Cool new frameworks, libraries, methodologies and new approaches to solving problems. Usually is not that easy to deprecate some old technology and migrate to the new one. There are not many developers that still want to work with Angular 1 or Backbone and moving to something new is becoming necessary. If this sounds familiar to you, then this talk is for you! There is an innovative way to migrate from the old technology, to change the applications step by step and to implement all new things that the cool kids are using. This is the story of Micro Frontends, a microservice approach to the modern web, the story that will change the way you look and develop your apps!
On: 31 Oct 2018
Thinking Reactive in JavaScript
Ivan Jovanovic | Level: Intermediate | English
You have heard for React, right? Well, it's not reactive at all. This talk will show you how to think in a Reactive way, how to properly use streams and improve your apps. We’ll talk about some great alternatives to React for writing frontend apps. There is something cool about functional programming, pure functions and pure data streams that you should know.
On: 01 Nov 2018
JavaScript on your own personal cloud
Samuil Aleksov | Level: Intermediate | English
For the past 6 months I've been building a new home for my JavaScript projects.
I'll walk you through understanding what a cloud is, installing OpenStack and OpenShift or running a pure k8s cluster.
Lastly, I'll share with you interesting numbers, all the lessons learned and hopefully save you a lot of time and headaches.
This talk is suitable for people interested in running their own cloud, DevOps or those of you who are just curious about understanding how a cloud works.
I'll try to explain most of the components involved, but it is good to have a minimum knowledge about networking, bare metal and hypervisors.
On: 02 Nov 2018
Securing your JavaScript SPA's and web API's with OAuth and Azure AD
Radi Atanassov | Level: Advanced | English
This session is about showcasing how to get your SPA authentication right from the start. I will demonstrate various scenarios to secure SPA's and web API's with Azure AD and OAuth or OpenID Connect.
On: 06 Nov 2018
Web Components in React.js, (JSX In Depth)
Nik Nenkov | Level: Beginner | English
how did web development change with the concept of web components, how they are created and rendered in react.js and why they are useful
On: 07 Nov 2018
Angular + .NET Core => application for Mobile, Web, Desktop
Ignat Andrei | Level: Intermediate | English
I will show various architecture for Web / Desktop / Mobile application built on top of .NET Core and Angular
On: 09 Nov 2018
High performance Angular in Automotive Infotainment Projects
Simon Kazakov | Level: Intermediate | English
Using Angular in infotainment systems for the automotive industry? Yes, that's actually possible and it's done in top sports cars.
We will go through the various challenges we face during development and how we solve them so that our applications perform blazingly fast as our cars. The main topics are RxJS, startup patterns related to DI and Angular Change detection.
Speakers: Galin Angelov, Dimitar Milev Matthias Bezold, Simon Kazakov
On: 12 Nov 2018
TypeScript? Hakuna Matata!
André Melancia | Level: Beginner | English
For a long time, the King JavaScript ruled the jungle. He spoke with great wisdom, but nobody could understand his complicated and incomprehensible accent.
He had a son which was know as TypeScript. He studied in the best Object Oriented Universities in the world, and was able to talk the everyday language of all the animals in the jungle.
He will be the king in the future. Come to this session to learn his language.
Long live the new King!
On: 12 Nov 2018
Starting with programming: getting that developer job you want
Martin Chaov | Level: Beginner | English
This is a topic I wanted to do for a while. I have almost as much experience with interviews as I have with software development. I am not sure if that is a good thing... :D
This talk is aimed at the newbies and future programmers, and is going to cover:
- Myths concerning the profession
- Development as a 9 to 5 job
- Development as a passion
- How to find your development job
- How to prepare for interviews
The talk could be in Bulgarian or English, depending on the audience.
On: 14 Nov 2018
Raspberry Pi simulator secrets
Catalin Gheorghiu | Level: Beginner | English
Raspberry Pi simulator? What is that, what we can learn from it, and what is the use of it. At the end of this sweet (as in kinder chocolates sweet) you will know hos to create at home in 10 minutes an Azure IoT solution, how you can use on Pi Java type languages, and even Arduino code. And everything you can really try back home, virtually free. Lets see if you can be amazed what you can learn from a simulator.
On: 14 Nov 2018
Question and Answers Session
Radoslav Stankov | Level: Beginner | English
On: 15 Nov 2018
Time to move to Reactive Programming
Pavel Kolev | Level: Intermediate | English
Nope - it is not React. This talk is for everyone who is still not familiar with the concepts of Reactive Programming. RX can change your development life. At least it changed mine.
On: 15 Nov 2018
Virtual Reality and 3D made easy
Samuil Aleksov | Level: Beginner | English
In this session I'll show you how declarative frameworks like A-FRAME lower the entry barrier to 3D and Virtual Reality.