Roman Veselý Software Engineer from Slovakia. Somewhere between trees and bytes of code.

Learning Log #3

List of interesting news, resources or issues and their solutions I have been lately dealing with.

Learning in public - is a quest to be as open as possible. But there’s also kind of a counterpart to such spreading movement, that has probably always been a part of the World Wide Web - dark web. Beware, not The Dark Web, but The Real Dark Web - rarely acknowledged majority of web developers.

I have recently revealed my first browser extension, which enhances Google Calendar. To work it needs to fetch calendar data from Google API. There is a neverending (okay, several steps…) approval process one has to undergo to get API access. To make the extension work also under Firefox I had to specifically request support to whitelist allizom.com as a verified domain. It just cannot be simpler, everything for the user’s security…

Is your project compiled from TypeScript? Are you too strict? If so, you may like --strict compiler option. It’s a shorthand for enabling all (currently 7) strict type-checking options. You can always turn off individual options if needed.

Some time ago I was struggling with TypeScript generic types and decided to reach for help from smarter guys on Stack Overflow. I received an answer, thanks! The solution is based on very specific conditional type which I was not familiar with back then,… and I’m probably still not. But, there is a one truly helpful talk by Gregor Woiwode describing the matter of this TypeScript magic. I really recommend you to watch if you want to understand it better.

How to make your application faster? Firstly, you may want to know how does it behave under a slow connection. To get an idea of what is it like, developers at Facebook have 2G Tuesdays - simulating slow connection for the whole one day. This is how the performance should be tested! From the talk New adventures in front-end by Vitaly Friedman.

How to make your application more accessible? What about to include No mouse day into your development process?

That’s enough for now, see you next time!