Skip to content

Instantly share code, notes, and snippets.

View davemo's full-sized avatar
😀

David Mosher davemo

😀
View GitHub Profile

So, You Want to be a Frontend Engineer

Frontend Engineering is a challenging but rewarding career path. Working on the frontend began with the inception of the internet, the web browser and its core technologies (HTML, CSS, JavaScript), but has become significantly more complex over the past 26 years. Because most frontend engineering occurs in the context of multiple iterations of a Browser, it contrasts with other disciplines like Backend Engineering which tends to focus on a single stable platform. This resource is intended to give you a sketch of some of the learning-paths that can lead you to a career as a Frontend Engineer.

What do I need to know?

To start, let's examine a high-level list of topics that established frontend engineers should have knowledge of. In each of these topics, the level of depth required to get started as a frontend engineer may vary, but it's good to have a general breadth of knowledge on all of these topics.

These lists are not exhaustive, rather a good **startin

@davemo
davemo / vite.config.js
Created November 26, 2021 21:51
Migrating from Parcel Implicit ~ Alias Resolution to Vite Explicit ~ Resolution
import { defineConfig } from 'vite'
import path from 'path'
import react from '@vitejs/plugin-react'
// https://vitejs.dev/config/
export default defineConfig({
plugins: [react()],
resolve: {
alias: {
'~': path.resolve(__dirname, './src')

So, You Want to be a Systems Engineer

Systems Engineering (also known as Infrastructure Engineering, Operations Engineering, or DevOps) is a challenging but rewarding career path. Because Systems Engineering draws from a wide variety of smaller topics, it can be hard to know where to start and in what order to begin. This resource is intended to give you a sketch of some of the learning-paths that that can lead you to a career in Systems Engineering.

What do I need to know?

To start, let's examine a high-level list of topics that established systems engineers should have knowledge of. In each of these topics, the level of depth required to get started as a systems engineer may vary, but it's good to have a general breadth of knowledge on all of these topics.

These lists are not exhaustive, rather a good starting point to gain general knowledge.

@davemo
davemo / haml2erb.md
Created January 30, 2019 13:08
Convert HAML to ERB across a folder on Mac OS

steps

  1. install herbalizer somewhere on your PATH, i put mine in ~/bin

cd ~/bin && wget http://openmbta.org/herbalizer && chmod +x herbalizer

  1. do a dry run to see if your renames look ok

find . -name '*haml' | xargs ruby -e 'ARGV.each { |i| puts "herbalizer < #{i} > #{i}.erb" }'

@davemo
davemo / deconstruct-2018-takeaways.md
Last active May 29, 2018 20:59
I have a list of short takeaways from each talk that capture the most valuable lesson for me.

Allison Parrish: There is great beauty in applying scientific concepts (interpolation) and the scientific method to domains that we wouldn't normally think to (syntax, grammar, poetry).

Anjana Vakil: Language matters, and has historically evolved to meet the needs of its speakers; we need to be better at helping the language in the domain of computing evolve beyond where it is currently being held back.

Augie Fackler: API design can (and should) be decoupled from API implementation; this decoupling can provide a valuable articulation point that yields flexibility in the right areas without compromising on principles.

Elle Vargas: We need to embrace the technical neophytes (or Juniors) mindset in our organizations, because they are best equipped to bridge the gap between people with little to no technical background and experts; failure to do this leads to security compromises on the scale of the manipulation of democracy.

Gary Bernhardt: The technical community needs to be aware of the altruisti

@davemo
davemo / forward-js-talk-notes.md
Last active April 25, 2018 15:33
My Notes for talks from ForwardJS Ottawa 2018

ForwardJS Ottawa, April 4/5, 2018

Essentialism

Andy Mockler (@asmockler), Shopify Analytics Team, Chicago

inspirational sources:

  • book: Essentialism by Greg McKeown

key concepts:

  • essentialism is about getting the right things done

Keybase proof

I hereby claim:

  • I am davemo on github.
  • I am dmosher (https://keybase.io/dmosher) on keybase.
  • I have a public key ASAjl7nZA81gfQd-iomz3uGBjmQfBlYnEOEnehGNxILLGgo

To claim this, I am signing this object:

@davemo
davemo / bump.sh
Created April 12, 2017 21:05
bumps versions, tags and pushes with git
#!/bin/bash
# works with a file called VERSION in the current directory,
# the contents of which should be a semantic version number
# such as "1.2.3"
NOW="$(date +'%B %d, %Y')"
RED="\033[1;31m"
GREEN="\033[0;32m"
YELLOW="\033[1;33m"
@davemo
davemo / Makefile
Last active April 12, 2017 21:04
makefile with helpful default targets!
VERSION ?= $(shell cat VERSION)
.PHONY: help version clean bump release
.DEFAULT_GOAL := help
build: ## build the app
do stuff
clean: ## clean artifacts
@davemo
davemo / Dockerfile
Created March 22, 2017 20:35
nodenv exits with a 1 value with vanilla docker image with missing deps
FROM ubuntu:xenial
MAINTAINER Test Double <dave@testdouble.com>
RUN apt-get -y update
RUN apt-get -y install git-core
ENV NODENV_ROOT /usr/local/lib/nodenv
RUN git clone https://github.com/nodenv/nodenv.git ${NODENV_ROOT}
RUN git clone https://github.com/nodenv/node-build.git ${NODENV_ROOT}/plugins/node-build
RUN git clone https://github.com/nodenv/nodenv-update.git ${NODENV_ROOT}/plugins/nodenv-update