May 2020 dev links

Manage HTML DOM with vanilla JavaScript only

How to manage HTML DOM with vanilla JavaScript only? For modern browsers and IE 11+.

https://htmldom.dev/

Celebrating 15 years of Git: An interview with Git maintainer Junio Hamano

In celebration of Git’s 15th anniversary, GitHub’s Jeff King (@peff) interviewed Git’s maintainer Junio Hamano about Git’s 15 years and what’s coming next. Jeff King is a distinguished Software Engineer at GitHub and has worked on scaling and maintaining Git on GitHub since 2011, but he’s also been an active contributor to the Git project since 2006. Both Jeff and Junio serve on Git’s project leadership committee at Software Freedom Conservancy.

The Devastating Decline of a Brilliant Young Coder

Lee Holloway programmed internet security firm Cloudflare into being. Then he became apathetic, distant, and unpredictable—for a long time, no one could make sense of it.

https://www.wired.com/story/lee-holloway-devastating-decline-brilliant-young-coder/

HTTP/3 explained

This book effort was started in March 2018. The plan is to document HTTP/3 and its underlying protocol: QUIC. Why, how they work, protocol details, the implementations and more.

https://http3-explained.haxx.se/en

Building Skeleton Screens with CSS Custom Properties

Designing loading states on the web is often overlooked or dismissed as an afterthought. Performance is not only a developer’s responsibility, building an experience that works with slow connections can be a design challenge as well.

While developers need to pay attention to things like minification and caching, designers have to think about how the UI will look and behave while it is in a “loading” or “offline” state.

window.location Cheatsheet

Looking for a site’s URL information, then the window.location object is for you! Use its properties to get information on the current page address or use its methods to do some page redirect or refresh

https://medium.com/@samanthaming/window-location-cheatsheet-f7ff4eff7604

No-Class CSS Frameworks

I linked up Water.css not long ago as an interesting sort of CSS framework. No classes. No <h2 class=”is-title”>. You just use semantic HTML and get styles.

Eloquent JavaScript, 3rd edition

This is a book about JavaScript, programming, and the wonders of the digital.

https://eloquentjavascript.net/

Should you self-host Google Fonts?

In the last few weeks, because of a combination of various things at work, and in side-projects, I’ve been learning a lot about web fonts and also a lot more about Google Fonts specifically. Through that I’ve come up with a more nuanced answer to the question, that in the past I thought was easy: should you self-host Google Fonts?

https://www.tunetheweb.com/blog/should-you-self-host-google-fonts/

April 2020 dev links

Web Security

This course is a comprehensive overview of web security. The goal is to build an understanding of the most common web attacks and their countermeasures. Given the pervasive insecurity of the modern web landscape, there is a pressing need for programmers and system designers to improve their understanding of web security issues.

https://web.stanford.edu/class/cs253/

Things you can do with a browser in 2020

It’s 2020, and browsers can do amazing stuff. This repo contains a non-exhaustive list of less-known features implemented in browsers today. This list isn’t intended for a technical audience; instead it wants to be a “I didn’t know we could do that in a browser!” list. In many cases, listed features aren’t yet part of the standard, and may only be available on certain browsers or configurations.

https://github.com/luruke/browser-2020

The History of the URL

On the 11th of January 1982 twenty-two computer scientists met to discuss an issue with ‘computer mail’ (now known as email).

https://blog.cloudflare.com/the-history-of-the-url/

The ultimate guide to iframes

The iframe element (short for inline frame) is probably among the oldest HTML tags and was introduced in 1997 with HTML 4.01 by Microsoft Internet Explorer.

https://blog.logrocket.com/the-ultimate-guide-to-iframes/

The History of Git: The Road to Domination in Software Version Control

In 2005, Linus Torvalds urgently needed a new version control system to maintain the development of the Linux Kernel. So he went offline for a week, wrote a revolutionary new system from scratch, and called it Git. Fifteen years later, the platform is the undisputed leader in a crowded field.

https://www.welcometothejungle.com/en/articles/btc-history-git

Git Command Explorer

Find the right commands you need without digging through the web.

https://gitexplorer.com/

Everyone has JavaScript, right?

https://kryogenix.org/code/browser/everyonehasjs.html

Clean Code concepts adapted for JavaScript

Software engineering principles, from Robert C. Martin’s book Clean Code, adapted for JavaScript. This is not a style guide. It’s a guide to producing readable, reusable, and refactorable software in JavaScript.

https://github.com/ryanmcdermott/clean-code-javascript

The Java Web Scraping Handbook

Web scraping or crawling is the act of fetching data from a third party website by downloading and parsing the HTML code to extract the data you want. It can be done manually, but generally this term refers to the automated process of downloading the HTML content of a page, parsing/extracting the data, and saving it into a database for further analysis or use.

https://www.scrapingbee.com/java-webscraping-book/

March 2020 dev links

Old CSS, new CSS

I first got into web design/development in the late 90s, and only as I type this sentence do I realize how long ago that was.

https://eev.ee/blog/2020/02/01/old-css-new-css/

Hiding Elements On The Web

Through our work as web developers, we need to hide elements for many reasons. For example, a button that should be visible in a mobile viewport, and hidden in a desktop viewport. Or, a navigation element that is hidden on mobile and shown on the desktop.

https://ishadeed.com/article/hiding-web/

Understanding Async Await

When writing code for the web, eventually you’ll need to do some process that might take a few moments to complete. JavaScript can’t really multitask, so we’ll need a way to handle those long-running processes.

Async/Await is a way to handle this type of time-based sequencing. It’s especially great for when you need to make some sort of network request and then work with the resulting data. Let’s dig in!

Fixing memory leaks in web applications

Part of the bargain we struck when we switched from building server-rendered websites to client-rendered SPAs is that we suddenly had to take a lot more care with the resources on the user’s device. Don’t block the UI thread, don’t make the laptop’s fan spin, don’t drain the phone’s battery, etc. We traded better interactivity and “app-like” behavior for a new class of problems that don’t really exist in the server-rendered world.

Awesome stock resources

A collection of links for free stock photography, video and Illustration websites

https://github.com/neutraltone/awesome-stock-resources

JVM Ecosystem Report 2020 

Welcome to our annual JVM ecosystem report! This report presents the results of the largest annual survey on the JVM ecosystem. The survey was conducted in the second half of 2019 gathering the responses of over 2000 participants. We would like to thank everyone who participated and offered their insights on Java and JVM-related topics.

https://snyk.io/wp-content/uploads/jvm_2020.pdf

Why Your Mouse Cursor Looks The Way It Does

Have you ever wondered why the arrow-shaped mouse cursor on your computer is tilted instead of vertical? 

https://www.fastcompany.com/3026625/why-the-mouse-cursor-is-tilted-instead-of-vertical

Git from Beginner to Advanced

Getting comfortable with Git took me a long time. I thought I’d write a quick guide that assumes no prior knowledge, along with some of my favourite tips and tricks.

https://www.madebymike.com.au/writing/how-to-git/

Custom Text Underlines

Link underlines are usually an element where form steps back in favor of function. But they can be used as a design element, too, as some great examples show.

https://ishadeed.com/article/custom-underline-svg/

Learn CSS Positioning

Are you ready to start learning about how positioning works in CSS? This interactive article is for you.

https://ishadeed.com/article/learn-css-positioning/

February 2020 dev links

Inside look at modern web browser

In this 4-part blog series, we’ll look inside the Chrome browser from high-level architecture to the specifics of the rendering pipeline. If you ever wondered how the browser turns your code into a functional website, or you are unsure why a specific technique is suggested for performance improvements, this series is for you.

Part 1: https://bit.ly/browsers-pt1

Part 2: https://bit.ly/browsers-pt2

Part 3: https://bit.ly/browsers-pt3

Part 4: https://bit.ly/browsers-pt4

The CSS Cascade

Or, How browsers resolve competing CSS styles.

https://wattenberger.com/blog/css-cascade

Tiny helpers

Minifying an SVG, extracting CSS from HTML, or checking your color palette for accessibility — we all know those moments when we need a little tool to help us complete a task quickly and efficiently. If you ever find yourself in such a situation again, Tiny Helpers might have just the tool you’re looking for.

https://tiny-helpers.dev/

web.dev

Explore our structured learning paths to discover everything you need to know about building for the modern web.

https://web.dev/

Life Of A Pixel

This talk is about how Chrome turns web content into pixels.  The entire process is called “rendering”. We’ll describe what we mean by content, and what we mean by pixels, and then we’ll explain the magic in between. 

bit.ly/lifeofapixel

Twelve Days of Front End Testing

There are so many different tests we need to be running on the front end, it’s hard to work out what your need to test for and where to start.

https://24ways.org/2019/twelve-days-of-front-end-testing/

Asynchronous vs Deferred JavaScript

JavaScript is considered a “parser blocking resource”. This means that the parsing of the HTML document itself is blocked by JavaScript. When the parser reaches a <script> tag, whether that be internal or external, it stops to fetch (if it is external) and run it.

https://bitsofco.de/async-vs-defer/

Today, the Trident Era Ends

Starting now, Microsoft will roll out their new Chromium-based Edge browser to their millions of Windows 10 users. And this will also mark the end of an era. The era of the Trident-Engine.

https://schepp.dev/posts/today-the-trident-era-ends/

You might not need a CSS framework

CSS frameworks have been around for a while and they have gotten extremely popular in the front-end development scene. These frameworks provide snippets of code you can just copy and paste in your website to craft the whole layout and UI.

You have already probably read a lot of articles about how they might be good for your projects, but here I would like to do the opposite: to highlight some of the drawbacks they might bring to your websites or applications, and how you can avoid or mitigate them.

GitSheet

A dead simple git cheatsheet 

https://gitsheet.wtf/

January 2020 dev links

Software disenchantment

I’ve been programming for 15 years now. Recently, our industry’s lack of care for efficiency, simplicity, and excellence started really getting to me, to the point of me getting depressed by my own career and IT in general.

https://tonsky.me/blog/disenchantment/

A Recap of Frontend Development in 2019

A look back at the top events, news, and trends for frontend and web development

https://levelup.gitconnected.com/a-recap-of-frontend-development-in-2019-1e7d07966d6c

Loading web pages fast on a $20 feature phone

Building a fast, core foundation for your site gives everyone a good experience; whether they’re on a low-cost feature phone or the latest high-end smart phone.

https://dev.to/addyosmani/loading-web-pages-fast-on-a-20-feature-phone-8h6

[GIF] Timelapse of the most popular web browser by country since 2008

Fit on a Floppy

Webpages are getting bigger and bigger. The internet is getting faster and faster but not everywhere at the same pace. A floppy is a physical reminder of filesize.

Will your website fit on a floppy?

https://fitonafloppy.website/

My Bathroom Mirror Is Smarter Than Yours

Sometime late last year I realized that I wanted my ordinary bathroom mirror to be more like the future we were promised in the movies.

https://medium.com/@maxbraun/my-bathroom-mirror-is-smarter-than-yours-94b21c6671ba#.aug7t8ypf

PostgREST – PostgreSQL database directly into a RESTful API

PostgREST is a standalone web server that turns your PostgreSQL database directly into a RESTful API. The structural constraints and permissions in the database determine the API endpoints and operations.

https://postgrest.org

SQL, Java Top List of Most In-Demand Tech Skills

But Python, now at number three, and AWS, at number six, are coming on fast, says job search firm Indeed

https://spectrum.ieee.org/view-from-the-valley/at-work/tech-careers/sql-java-top-list-of-most-indemand-tech-skills

What broke the bank

A disastrous IT migration corrupted 1.3 billion customer records. The culprit was insufficient testing.

https://increment.com/testing/what-broke-the-bank/

Linux exists only because of a happy accident

How Linus Torvalds accidentally created Linux

https://augustl.com/blog/2019/linus_and_linux_happy_accident/