Learn github.com

How I write backends

From late 2012 to the present I have been writing backends (server-side code) for web applications. This document summarizes many aspects of how I write these pieces of code.

I’m writing this lore down for three purposes:

  1. Share it with you.
  2. Systematize it for future reference and improvement.
  3. Learn from your feedback.

Jobs github.com

The path to a software architect

What exactly is a software architect, anyhow?

A software architect is a software expert who makes high-level design choices and dictates technical standards, including software coding standards, tools, and platforms. (Source: Wikipedia: Software Architect)

If that’s something you’d like to do (or are doing, but want to do it better), then this is a great resource for you. It covers the levels of architecture, important skills to obtain, books to read, and a technology roadmap.

Linode Icon Linode – Sponsored

Linode Kubernetes Engine is here!

Linode Kubernetes Engine (LKE) is a fully-managed container orchestration engine for deploying and managing containerized applications and workloads. LKE combines Linode’s ease of use and simple pricing with the infrastructure efficiency of Kubernetes. You can now get your infrastructure and workloads up and running in minutes instead of days. If you’ve been following along with the Changelog infrastructure, you’ll be pleased to know we’re rolling out LKE as we speak. We love what we’ve seen so far! Oh and be sure to use the code changelog2019 or changelog2020 (whichever works) to get our special pricing.

read more

logged by @logbot permalink

Productivity thecut.com

7 reasons why you’re always tired

This is not my normal beat, but I thought it might help those of us (most of us, right?) fighting fatigue. Knowing why, after all, is half the battle.

To understand more about the different types of fatigue, I spoke to Dr. Jaclyn Tolentino, a primary care physician at Parsley Health, as well as Dr. Richard Firshein, a general practitioner and insomnia specialist who runs the Firshein Center in Manhattan. Here are the most common culprits of exhaustion, and how to treat them.

I would imagine many of us fall victim to more than one of these, but the ones we likely share are #3 (stress tired) and #5 (bad sleep hygiene). Maybe a Brain Science episode on this subject is in order?

JavaScript github.com

A tiny (196B) JS utility to generate calendar views

I love how much is squeezed into this truly tiny library.

import calendarize from 'calendarize';

// Week = [Sun, Mon, Tue, Wed, Thu, Fri, Sat]
const view = calendarize(new Date('2019-12-20'));
//=> [
//=>   [ 1,  2,  3,  4,  5,  6,  7],
//=>   [ 8,  9, 10, 11, 12, 13, 14],
//=>   [15, 16, 17, 18, 19, 20, 21],
//=>   [22, 23, 24, 25, 26, 27, 28],
//=>   [29, 30, 31,  0,  0,  0,  0],
//=> ]

Check out the demo to see it in action.

Side note: the demo “reimplements” jQuery in one line:

const $ = document.querySelector.bind(document);

This reminds me of how I answered a question in our Slack recently about whether or not I’d use Umbrella JS again if starting a new project today.

if I were merely doing JS sprinkles I’d probably just write a few ‘ergonomics’ functions around querySelector and friends.

The web really has come a long way in a short time.

Lars Wikman underjord.io

Lumen - Elixir & Erlang in the browser

Lars Wikman:

The Lumen Project is an alternative implementation of the Erlang VM, more known as the BEAM. It is designed to work in WebAssembly with the specific goal of bringing Elixir and Erlang to the browser with minimal overhead, tightly compiled rather than porting a full VM. Can it replace JS for some developers?

An excellent article, highly recommended. Lars hangs out in our community chat and suggested we do an episode with the Lumen team. Talks are underway, so stay tuned for that.

The New Stack Icon The New Stack

Deploy a pod on CentOS with Podman

If you’ve been following along in the open source news cycle lately, you’ve probably heard that Red Hat has dropped the docker container runtime engine from both its Red Hat Enterprise Linux (RHEL) and CentOS Linux distributions.

I must not be following along, because that’s news to me.

That being the case, what do you do when you need to deploy containers? Fortunately, they’ve created a near drop-in replacement for docker, called Podman.

Podman is a rename from kpod, sorta. The new thing is actually called libpod, and Podman exists as the CLI for that library. It’s all a bit confusing, but what’s cool is none of this requires a daemon like the Docker Engine.

If you’d like to give it a go, this walk-through by The New Stack will get you started.

Chris Coyier CSS-Tricks

JAMstack vs. Jamstack

Chris Coyier:

The “official website” changed their language from JAMstack (evoking the JavaScript, APIs, and Markup acronym) to Jamstack. It’s nothing to be overly concerned about, but I care as someone who has to write the word in a professional context quite often. If we’re going to “Jamstack,” so be it.

I prefer JAMstack, myself, but I think the Ajax analogy he quotes is an apt one. Aside: if this trend continues, Chris and the team might need to rename the site to “Jamstack-Tricks” soon.

Oh, and while we’re here: It’s Changelog not ChangeLog 😄

Uber Engineering Icon Uber Engineering

Uber's new GTN algorithm speeds up deep learning by 9x

Here’s a new acronym for you: Generative Teaching Networks (GTN)

GTNs are deep neural networks that generate data and/or training environments on which a learner (e.g., a freshly initialized neural network) trains before being tested on a target task (e.g., recognizing objects in images). One advantage of this approach is that GTNs can produce synthetic data that enables other neural networks to learn faster than when training on real data. That allowed us to search for new neural network architectures nine times faster than when using real data.

Fake data, real results? Sounds pretty slick.

Python github.com

Efficient, reusable components for 3D computer vision research with PyTorch

PyTorch3d is designed to integrate smoothly with deep learning methods for predicting and manipulating 3D data. For this reason, all operators in PyTorch3d:

  • Are implemented using PyTorch tensors
  • Can handle minibatches of hetereogenous data
  • Can be differentiated
  • Can utilize GPUs for acceleration

Get started with tutorials on deforming a sphere mesh into a dolphin, rendering textured meshes, camera position optimization, and more.

0:00 / 0:00