Dan Abramov overreacted.io

Goodbye, clean code

Dan Abramov on the dangers of doing DRY wrong:

Obsessing with “clean code” and removing duplication is a phase many of us go through. When we don’t feel confident in our code, it is tempting to attach our sense of self-worth and professional pride to something that can be measured. A set of strict lint rules, a naming schema, a file structure, a lack of duplication.

First you have to learn the rule of writing software. Then you have to learn how and when to let go of the rules.

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.

Python github.com

Exploring and understanding Python through surprising snippets

Here’s a fun project attempting to explain what exactly is happening under the hood for some counter-intuitive snippets and lesser-known features in Python.

While some of the examples you see below may not be WTFs in the truest sense, but they’ll reveal some of the interesting parts of Python that you might be unaware of. I find it a nice way to learn the internals of a programming language, and I believe that you’ll find it interesting too!

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

Learn devdegree.ca

Shopify's Dev Degree

This is awesome! I hope it’s a huge hit and is quickly emulated by other successful tech companies.

Dev Degree is a 4-year, work-integrated learning program that combines hands-on developer experience at Shopify with an accredited Computer Science degree from either Carleton University or York University.

Working closely with our university partners, students take three university courses on campus each term and spend ~25 hours each week at Shopify.

This is 4,500+ hours of work experience paired with 4,000+ hours of academic experience. You earn $160k in salary, tuition, & vacation AND there’s a built-in 50/50 gender parity in the program.

JavaScript github.com

A Next.js site demonstrating SSG support with a Notion-backed blog

I’m not sure which is more interesting: the fact that Next.js is getting in to the static-site generation game or the fact that Notion is becoming popular enough amongst devs that people would use it as a back-end for their blog.

The Notion aspect, while interesting, comes with a big disclaimer:

since it is using a private API and experimental features, use at your own risk as these things could change at any moment.

Alex Hudson alexhudson.com

The "no code" delusion

Alex Hudson:

Increasingly popular in the last couple of years, I think 2020 is going to be the year of “no code”: the movement that say you can write business logic and even entire applications without having the training of a software developer. I empathise with people doing this, and I think some of the “no code” tools are great. But I also thing it’s wrong at heart.

We had a great dialog about this topic on our 2020 predictions episode of JS Party. I tend to agree with Alex’s analysis, which is in-depth and well-reasoned. What do you think about the “no code” movement? Hype or reality? Somewhere in between?

Stream Icon Stream – Sponsored

Building a Svelte chat app with Stream

Building a chat app from scratch is a pretty daunting task. But you don’t need to start from scratch when you can get a working concept up and running in just a few minutes using Stream’s Chat API and Svelte 3. This post on the Stream blog will help to get you started. In this article, you’ll learn how to build a chat app with Stream Chat API and Svelte 3. I’ll demonstrate how to add users to the app, how to retrieve the message history and how to send and receive messages between users.

read more

logged by @logbot permalink

Svelte github.com

A Svelte compiler & watcher that works with Snowpack

The goal of svelvet is to make svelte play nicely with snowpack and web_modules.

As of today, svelte depends on a loader for webpack or rollup which compiles your svelte components into individual js files. Since snowpack’s goal is to avoid the need for a bundler, we can’t use those loaders, but we can use svelte’s internal compiler api to do 95% of the work for us. On top of that, svelvet adds automatic file watching to recompile your svelte files just like a loader would, but much faster!

I’m not gonna lie, any green field that offers a super light build process is looking pretty stinkin’ green these days. That being said, there’s a reason we call it the bleeding edge.

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.

Victor Zhou victorzhou.com

A gentle introduction to Visual Question Answering using neural networks

Show us humans a picture of someone in uniform on a mound of dirt throwing a ball and we will quickly tell you we’re looking at baseball. But how do you make a computer come to the same conclusion?

Visual Question Answering

In this post, we’ll explore basic methods for performing VQA and build our own simple implementation in Python

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.

0:00 / 0:00