A Live Developer Journal

Scanning work's teck slack channel for resources to look at

Updated on an ongoing basis

SEP 2019

AUG 2019

With this space, I'm going to scroll through the technical channel on our work's Slack and capture the resources I haven't had a chance to look at, as well as some of the interesting conversation points (especially the conversations I wasn't directly involved in). This is going to be fun fun fun

CSS

Scalable and Modular Architecture for CSS. SMACSS is more of a style guide than a framework. It's an attempt to document a consistent approach to site development when using CSS.

Quantity queries for CSS

Axiomatic CSS and lobotomized owls

MDN Web Components

Create atomic design systems with Pattern Lab

CSS trickery and calc function

Book design basics part 3: Running the numbers

The CSS attr() function got nothin on custom properties

The jQuery plugin with 379 truly animated SVG (vector) icons

The filter CSS property applies graphical effects like blur or color shift to an element.

Position: sticky is amazing

The Sass Ampersand

Sass - assign variable with another variable

JavaScript

Here's a really interesting gotcha in JavaScript... This is annoying because the point of functional programming languages is that we can pass functions around as first class parameters, but this makes it risky to do so. Why ['1','7','11'].map(parseInt) returns [1, NaN, 3] in JavaScript.

Constant confusion: Why I still use JavaScript function statements

How to pass JS Object and functions to a web component.

Mutation observers

The super keyword is used to access and call functions on an object's parent

Mixins

Version Control

Trunk based development

Git config

An emoji guide for your commit messages

Events Storming

Introducing Event Storming by Zion Brandolini who came up with Event Storming.

Experiences using event storming a bit of context about benefits of ES and a few ways to customise it (like starting with the end event and working backwards etc).

An introduction to event storming: The easy way to achieve domain-driven design

System

Process definitions

once we’ve got the category and restyle work merged, we can work on extracting the process definitions and making the system properly generic, which will make it super straightforward to retire the old, rigid, state-based datastore and replace it with an events store that is OCP-compliant

For now the process is hardcoded unstead of drawing from the JSON process definition.

12-factor

that SO answer I sent you yesterday would let us set up an independent instance of apache, with control over where the logs etc went which would move us closer to 12-factor

Apache

running the Apache daemon as a standalone process is genius and it would let us set environment variables etc without having to fudge it in with modenv etc

Event sourcing

This is the kind of architecture that we're progressing towards: Event Sourcing - by Martin Fowler

SPA

Some reasons why a Single Page App is essential (and why we probably don't need it): You probably don't need a single page application

Testing

Beyond page objects: next generation test automation with serenity and the screenplay pattern

Rspec parameratized

Scenario outline Cucumber

Documentation

JSDOC tag reference

Documentation JS

Programming principles

SOLID

Page Objects Refactored: SOLID steps to the screenplay/journey pattern

Design Patterns

Human Readable Code - Introduction to refactoring to patterns

UI-patterns - Cards

Material Design

Material design is a system for building bold, beautify, and consistent digital products

Material Design: The color system

Programming General

The differences between imperative vs declarative programming

This is interesting, using graphs to represent the structural part of the data flow, and events to represent the actual data: Streams in the Beginning, Graphs in the End' Part III: Why it’s all connected - Dataconomy

Bitemporal Data Modeling: How to Learn from History - Exago

There are some really great functions available in the Chrome developer console that I didn’t know about. I particularly like `monitor`Console utilities API reference

[I] mentioned about how do we store useful commands. I'm somewhat drawn to this approach: Scripts to rule them all

[anonymous] was asking about whether we should store timezones with dates, and it reminded me of this video:The problem with time and timezones - computerfile

Jekyll - simple, blog aware, static sites

How developers stop learning: Rise of the Expert Beginner

Blisk - A browser for web developers

General Chat topics

It goes back to Eric Doenenburg’s code toxicity metrics… if something is awful but rarely touched, we can probably leave it. If it’s awful but we touch it every day, then that’s super high priority.

Microsoft study finds that biggest correlating factor for number of bugs is organisational complexity (too many projects, too many people, high staff turnover)

Nice article about persuasion The art of persuasion hasn't changed in 2000 years

Balance the grind - conversations on work, life & balance