Wekoslav Stefanovski has more than two decades of professional developer experience using a variety of development technologies. Has been using C# since the first public beta, and has a long and fruitful love relationship with it. Has been using JavaScript since the previous millennium and has a long and fruitful love/hate relationship with it. Currently, works at Sourcico as Head of development. He is passionate about functional programming, static code analysis, compiler design and code quality metrics.
JSON Web Tokens are everywhere - you are using a bunch of them right now. It's such a common technology, yet, it's very easy to get them wrong. In this session, we get to the nitty gritty of JWT's - what they are, how they work, and how to make sure that we haven't made an app that just waits to be hacked.
Read moreThe web is asynchronous by design, and it has to be. But, there is a bit of a problem in that asynchronous programming has a slight tendency to make people's heads explode. And people really don't like when their heads explode. To get out of the pickle, we need to handle the asynchrony somehow. This talk will explore the reasons for the design of the web, and will try to offer some solutions, from the worst possible to the current state of the art.
Read moreProgramming languages are living things, and they grow and change as time goes by. In evolutionary biology, convergent evolution is defined as the process whereby distantly related organisms independently evolve similar traits to adapt to similar necessities. Which basically means that if something is a great idea somewhere - it's likely it's a great idea elsewhere as well. So, many features that appear in new versions of programming languages are actually features that are "inspired by" other languages - ideas that have been proven to work, and that make the programming experience richer and better. In this presentation, we'll take a look at some of the new features that are coming in C# 12 and TypeScript 5 (5.2 specifically) - and how they are inspired from each other, and from other programming languages and platforms as well.
Read moreKnowing the event loop in JavaScript makes the difference between knowing what’s going on and praying that everything works. In this presentation we will try and cover the inner-works of JavaScript, how the one thread ( that did not sign up for this job ) in the browser handles execution of instructions, what happens if we try running things asynchronously and why the event loop is important in this delicate cycle.
Read moreOne of JavaScript's stronger sides always was the ability to modify itself at runtime, but this was coupled with very weak runtime code information - so we had to work somewhat in the dark. Decorators are a feature that enables us to inject and use cross-cutting concerns - and they have been used with great success in frameworks like Angular and Vue. This talk will inspect how this is implemented in the current TypeScript version, and how we can leverage it to our benefit.
Read more