Techreport blog

Engineering Insights & Guides

The best problem-solving writing in software engineering — databases, performance, security, frontend and distributed systems, in one feed.

11,842 articles
Distributed — Socratic vs. Euclidean Forms of API Documentation - High Scalability -

Socratic vs. Euclidean Forms of API Documentation - High Scalability -

I was emailing a service about their documentation and while their doc was good, about one particularly tricky concept they told me that once you use it for a while, that’s when you’ll understand it. In other words: you’ll only understand it after you understand it. I didn’t like that response. I want documentation that takes me from an unproductive newbie to a somewhat functioning journeyperson.

HSHigh Scalability·February 24, 2020Distributed
Frontend — Persisting React State in localStorage

Persisting React State in localStorage

A common thing in React development is that we want to store a bit of React state in localStorage, and re-initialize from that value on the next page-load. This quick tutorial shows you how we can build a custom hook that does exactly this!

JWJosh W. Comeau·February 24, 2020Frontend
Frontend — Setting Up Tailwind CSS In A React Project — Smashing Magazine

Setting Up Tailwind CSS In A React Project — Smashing Magazine

In this article, Blessing Krofegha introduces Tailwind CSS, a CSS library that gives you all of the building blocks you need to build bespoke designs without opinionated styles. With Tailwind CSS, you get to create the components that suit what you want or what you are working on. These components can be created by harnessing the power of the utility-first prowess of Tailwind CSS. You’ll also lear

BKBlessing KrofeghaBlessing Krofegha·February 24, 2020Frontend
Security — How To Build A Simple Cryptocurrency Blockchain In Node.js — Smashing Magazine

How To Build A Simple Cryptocurrency Blockchain In Node.js — Smashing Magazine

The blockchain technology is receiving a lot of attention because of its ability to enhance [security](https://www.smashingmagazine.com/category/security) in trustless environments, enforce decentralization, and make processes efficient. In this tutorial, Alfrick Opidi demonstrates how to create a simple cryptocurrency, called `smashingCoin`, using the concepts of JavaScript classes and Node.js. G

AOAlfrick OpidiAlfrick Opidi·February 21, 2020Security
Frontend — Animate SVG Path Changes in CSS

Animate SVG Path Changes in CSS

Every once in a while I'm motivated to attempt to draw some shapes with <path>, the all-powerful drawing syntax of SVG. I only understand a fragment of

CCChris Coyier·February 20, 2020Frontend
Career & Teams — Seen by Indeed

Seen by Indeed

Are you looking for a tech job where you clock in, or for a career where you’ll be seen?

GGGeoff GrahamGeoff Graham·February 20, 2020Career & Teams
Engineering — 2019 Transparency Report

2019 Transparency Report

We’re excited to share GitHub’s 2019 Transparency Report, a by-the-numbers look at how we handle requests for user data and moderate content on GitHub.

AVAbby VollmerAbby Vollmer·February 20, 2020Engineering
Engineering — GitHub partners with HackYourFuture

GitHub partners with HackYourFuture

GitHub is now a proud sponsor of Hack Your Future, a not-for-profit coding school for refugees and other people that have limited access to education and the labor market. Learn more about the latest campaign, Behind the Source.

TEToya EastToya East·February 20, 2020Engineering
Design & UX — How To Design Mobile Apps For One-Hand Usage — Smashing Magazine

How To Design Mobile Apps For One-Hand Usage — Smashing Magazine

iPhone was built to be comfortably used for one-handed operation, allowing for a smoother thumb movement across the screen. 90% of the smartphones sold today have 5-inch displays. Bigger screen real estate presents newer challenges and opportunities for app makers and designers. In this article, Maitrik Kataria will show you how designing apps for one-handed usage can solve those challenges.

MKMaitrik KatariaMaitrik Kataria·February 20, 2020Design & UX
Engineering — Footnote Characters

Footnote Characters

There are special superset number characters that are sometimes perfect for footnotes. Here they are:

CCChris Coyier·February 19, 2020Engineering
AI & ML — Moore's Law is not Ending Soon and the Reason May Surprise You - High Scalability -

Moore's Law is not Ending Soon and the Reason May Surprise You - High Scalability -

Jim Keller recently gave a fascinating and far ranging interview on the AI Podcast. You can find it at Moore's Law, Microprocessors, Abstractions, and First Principles. One of the many topics of discussion was the often predicted death of Moore's Law. In case you've never heard of Jim Keller before, from this intro you can immediately understand why he may have special insight on the topic: Jim Ke

HSHigh Scalability·February 19, 2020AI & ML
Frontend — How To Use The HTML Drag-And-Drop API In React — Smashing Magazine

How To Use The HTML Drag-And-Drop API In React — Smashing Magazine

In this tutorial, Chidi Orji will show you how to build a React drag-and-drop component for file and image uploads. In the process, we’ll learn about the HTML drag-and-drop API. We will also learn how to use the useReducer hook for managing state in a React functional component.

COChidi OrjiChidi Orji·February 19, 2020Frontend
Engineering — Solving Sticky Hover States with @media (hover: hover)

Solving Sticky Hover States with @media (hover: hover)

Mezo Istvan does a good job of covering the problem and a solution to it in a blog post on Medium. If you tap on something that has a :hover state but you don't leave the page then, on a mobile device, there is a chance that :hover state "sticks." You'll see this with stuff like jump-links used as tabs or buttons that trigger on-page functionality.

CCChris Coyier·February 18, 2020Engineering