Hey,
As developers, are we paid to write code? This challenging question raises concerns about product quality, code quality, and our purpose as developers in a world of coded applications. You’ll find an interesting post that dives deeper into the matter in the “Work & Life” section of our reading list this week.
But we have other amazing resources to look at this week, too: new tools, new tutorials, and we’ll also take some time to reconsider CSS print styles. Let’s get started!
News
- Firefox 50 was released this week. The new version comes with support for the
referrerpolicy
attribute and a fix for dashed and dotted borders. On the other hand,box-sizing: padding-box
was removed, just like theonce
option for Event Listeners. The upcoming version, Firefox 51, which is currently in beta, will introduce a couple of changes, too:<img>
with emptysrc
will now fire an error event and JavaScript will be blocked if it’s served with a wrong MIME type. Furthermore, the non-standard Web Payments API will be removed, Accept header for XHR will be simplified, and SHA-1 certificates issued by public CA will no longer be accepted.
Tooling
- Dennis Brotzky wrote a beginner’s step-by-step guide to Code Splitting with Webpack 2 and React Router.
- Rahul Yadav shares how to use Webpack and WebPagetest on a Continuous Integration server to collect metrics and performance statistics on your web application.
- Splittable is a next-generation module bundler for JavaScript that aims at combining efficiency with ease of use. It supports code splitting and tree shaking and uses Babel and Browserify to resolve modules and their dependencies and Google’s Closure Compiler for efficient compilation of code. Definitely one of the most advanced module bundlers available today. Unfortunately, it still needs the Java version of Closure Compiler to work, since the JavaScript variant doesn’t support the relevant feature yet.
Security
- blake2x is a new hashing function that is even better than blake2. It does not only allow hashes of any arbitrary size but also has a key derivation function and a deterministic random bit generator.
- What to do if a third party causes your site to throw mixed content warnings? Thanks to the
upgrade-insecure-requests
headers you can fix your site by applying the header via your Content Security Policy.
JavaScript
- When should we use
for … in
and when should we usefor … of
loops? Ire Aderinokun explains the differences and advantages of these basic JavaScript loops in detail.
CSS
- Manuel Matuzovic confesses that he totally forgot about CSS print styles and how easy it actually is to provide a basic printing experience for users. Manuel only realized this when he saw Aaron Gustafson complaining about Indiegogo’s completely messed up print layout if you want to print your order receipt (it’s basically not printable).
Work & Life
- Do you have a plan for your hiring interviews? The people at GitLab certainly have, and they share it with the public: Read their Hiring Guide to get some useful advice on writing job ads, handling rejections, and conducting interviews.
- Garann Means quit the web industry about two years ago. Now she shares what that really meant to her, why she did it, and why it’s important that we think very carefully about it before we take this step for real. It’s easy to joke about leaving the industry, but the consequences are real and might differ a lot from what we expect.
- Theo Nicolaou on Web Development and Pressures. The web will still be here tomorrow and we can all still help to move it forward in our own way and we can still make a huge impact on the world we live in, even when we don’t read articles every day, work on side-projects all the time and contribute to open-source projects regularly. Sometimes it’s okay to just do something different, relax or go out with your friends.
- “You Are Not Paid to Write Code.” Tyler Treat wrote about our job as developers and why we introduce the possibility of failure into a system every time we write code or introduce third-party services. Our job is to find solutions that (if possible) don’t require a new system and to keep out everything else from a codebase unless it’s really necessary.
Anselm