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!

Roman