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 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 / api.proxy.server.js
Created November 6, 2012 21:56
A simple express.js server with a proxy that intercepts all requests with /api/ and proxies them to localhost:3000
var express = require('express'),
httpProxy = require('http-proxy'),
app = express();
var proxy = new httpProxy.RoutingProxy();
function apiProxy(host, port) {
return function(req, res, next) {
if(req.url.match(new RegExp('^\/api\/'))) {
proxy.proxyRequest(req, res, {host: host, port: port});
@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" }'

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')
@davemo
davemo / Cross Table Drag Drop.html
Created November 19, 2010 05:51
This works for dragging, dropping table rows between two separate tables across most browsers :)
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN"
"http://www.w3.org/TR/html4/strict.dtd">
<html lang="en">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<title>untitled</title>
<meta name="generator" content="TextMate http://macromates.com/">
<meta name="author" content="David Mosher">
<!-- Date: 2010-11-18 -->
@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 / app.coffee
Last active March 25, 2020 13:25
Got a .coffee file with JSX? Here's how you can transpile to .js with Reacts JSX parsed.
`/** @jsx React.DOM */`
converter = new Showdown.converter
Comment = React.createClass
render: ->
rawMarkup = converter.makeHtml @props.children.toString()
`<div className="comment">
<h2 className="comment">{this.props.author}</h2>
<span dangerouslySetInnerHTML={{__html: rawMarkup}} />
@davemo
davemo / ottawa.js.panel.questions.feb.11.2015.md
Last active August 28, 2019 02:36
Ottawa-JS-Dev-JavaScript-Panel

Ottawa JS, February 11, 2015

Your best advice for people getting started in JavaScript:

Dan:

The Other Simon:

@davemo
davemo / CaptureScreen.cs
Created April 25, 2012 22:10
Gets input from a Vuforia AR Camera and assigns it to a UnityEngine.Texture2D
using UnityEngine;
using System.Collections;
using System.IO;
using MultiFormatReader = com.google.zxing.MultiFormatReader;
public class TakeScreenshot : MonoBehaviour {
public GUITexture mainProduct;
private MultiFormatReader reader;