DeveloPassion's Newsletter #1 - Welcome

DeveloPassion's Newsletter #1 - Welcome
Welcome!
Welcome to the very first edition of DeveloPassion’s newsletter. I’m Sébastien Dubois, the owner of the company (and sole member so far :p), an IT consultancy firm based in Belgium. Through this newsletter, my goal is to share interesting things I stumble upon around software craftsmanship, software development, IT security, UI/UX, and more! I am mostly interested in the front-end ecosystem, around JavaScript, TypeScript, Angular, but this newsletter will not be limited to that. I will also share some of the things that I publish on different mediums. I’ll also share information about what my company and I are doing, what I’m writing on other platforms and just things that I find really cool or funny :) I don’t plan on publishing a newsletter each week, but we’ll see!
Links of the week
Learn TypeScript 3 (Sébastien’s first book)
First of all, I want to share the news about the release (https://twitter.com/dSebastien/status/1197409588443828224) of my very first published book, called “Learn TypeScript 3 by Building Web Applications”. You can find it on Amazon: https://www.amazon.com/gp/product/B081FB89BL. It’s been in the making for quite some time (a bit more than a year) and it’s packed with tons of information about TypeScript, Angular, Vue, React, NestJS, design patterns, defensive programming, testing and much more. What I like most about the book is how Alexis (my co-author) and I have explored modern Web frameworks/libraries, shown how similar they are on many levels and how to best leverage TypeScript with each. I’ve written a few tweets with more details about it here if you’re interested: https://twitter.com/dSebastien/status/1199592265389428737 I don’t want to brag/spam about it, but of course I’ve written it in the hope that people will learn a few things from it. The thing is that I’m quite bad at marketing (really ^^), so I need all of the help that I can get to let people know about it. If you know people who might be interested in learning tons about front-end Web development, then do share the link around! ;-) BTW I have a few digital copies to give away: https://twitter.com/dSebastien/status/1201538453156040708
VS Code
About 3 months ago, my license for IntelliJ has expired. I never paid for it, as I had the chance to get free licenses from Jetbrains thanks to my open source contributions. I must say that I’ve suffered quite a lot since then. To me, the only viable alternative to IntelliJ is VS Code, but to be honest it isn’t on par (at least from my experience) with what IntelliJ delivers right out of the box (even with dozens of extensions ;-). Anyways, I’m giving VS Code a real try and so I’ve looked for ways to improve my setup and really take advantage of it. I’ve spent quite some time tweaking the configuration and wrote an article on Medium about that: https://medium.com/@dSebastien/vscode-tips-for-the-newcomers-b55fd143cd21. The article is called “… tips for the newcomers”, but it’s actually full of useful tips for anyone using VS Code. I’ve also explored tons of extensions and ended up creating multiple extension packs as it makes it a breeze to share those easily. Creating extension packs is quite easy (https://code.visualstudio.com/blogs/2017/03/07/extension-pack-roundup), it’s just a matter of installing a CLI, generating a project using a yeoman generator, adding extension IDs to package.json, tweaking the file and using the CLI to publish (well with a few more details). I’ve linked all of my extension packs here: https://medium.com/@dSebastien/vs-code-extension-packs-to-boost-productivity-fa1ba44dfc2e. At first I wanted to publish a single one, then I ended up creating many more as I didn’t want to mix everything together. For instance, there’s one for Git, which includes everything you need to enjoy Git through VS Code: https://marketplace.visualstudio.com/items?itemName=dsebastien.vscode-git-pack and another one for JavaScript/TypeScript: https://marketplace.visualstudio.com/items?itemName=dsebastien.vscode-js-ts-pack. I’ll certainly write some more about VS Code in the future, as I’m forcing myself to continue using it ;-)
FiraCode
While we’re talking about editing code: which font do you use when you code? Personally, I’ve used the “Hack” font (https://sourcefoundry.org/hack/) for a long time. Recently though, I’ve switched to FiraCode (https://github.com/tonsky/FiraCode), which is also a great monospace font with ligatures. It’s really a breeze to install on different operating systems and a pleasure for the eyes!
JSON and configuration files
This is more of a rant than informational, but a recent tweet has reminded me of this: https://twitter.com/bphogan/status/1200984316873990144 I really hate the fact that so many front-end tools rely on JSON configuration files. For some of them, it’s possible to use other alternatives (e.g., JS config files), but for some it isn’t. It’s really a bummer because JSON wasn’t made for configuration files. My opinion is still the same about this: if your tool uses a configuration file, then please do allow it to take different forms (including at least one supporting comments). For instance, VS Code is great in this regard, as it supports JSONC (JSON with Comments): https://code.visualstudio.com/docs/languages/json#_json-with-comments. Comments do matter a lot for configuration files; without those, it is really a pain to document the rationale behind certains choices/configuration details.
Typewriter sounds?!
I’ve published a new article about typewriter sounds: https://medium.com/@dSebastien/typewriter-sounds-on-linux-7df3e820afe6. You probably are like “WTF?!” right now, but there’s a small story behind that, as I explain in the article. I love hearing the sound of a typewriter while I’m writing text (not code), so I’ve created a small project to do just that on Linux with Python (well fixed an existing one actually). It’s not going to change the world, but it makes me feel good, so that’s a good enough reason… :) Also, it motivates me to write a new book! It won’t be about IT this time, but if there’s enough demand for me to write something else about IT then I might give it a try :p