Skip to content

Instantly share code, notes, and snippets.

View mneil's full-sized avatar

Michael Neil mneil

  • Pacific Northwest
View GitHub Profile
@mneil
mneil / Dockerfile
Created April 19, 2019 17:32
MCUXpress Docker Build
FROM ubuntu:16.04
LABEL Description="Image for buiding arm project with mcuxpresso"
WORKDIR /work
ENV SDK_VERSION 2.5.0
ENV IDE_VERSION 10.3.0_2200
COPY ./mcuxpressoide-${IDE_VERSION}.x86_64.deb.bin /work
COPY ./SDK_${SDK_VERSION}_LPC54018-IoT-Module.zip /work
@mneil
mneil / conftest.py
Created November 24, 2020 21:28
Patch boto3 to avoid credentials errors and real API calls during unit tests.
'''
Unit test setup automatically called
'''
from unittest import mock
import pytest
# Fixture, autouse
@pytest.fixture(scope='session', autouse=True)
def patch_boto3(request):
@mneil
mneil / __init__.py
Last active February 3, 2023 16:06
AWS Lambda Python Log Factory w/ Filter Secrets
'''
Place this file in your lambda package next to the handler file.
Setting the log formatter on lambda loses the request id out of the context.
But, you often want to use a logger across a few files and name them
or change the log format.
This factory will ensure that the lambda context id is available to any
log format you choose. It also has the ability to filter out strings
from the logs using a regular expression.
@mneil
mneil / setup-mutato.sh
Created April 2, 2020 22:34
Mutato Environment Setup
#!/bin/bash
cd /path/to/your/github/repo
echo "GITHUB_TOKEN=$GITHUB_TOKEN" > mutato.env
aws-vault exec <profile name> -- env | grep AWS_ >> mutato.env
docker run -it --rm --env-file mutato.env -v `pwd`:/project stelligent/mutato bootstrap
docker run -it --rm --env-file mutato.env -v `pwd`:/project stelligent/mutato deploy
@mneil
mneil / Upstart Twistd Server
Last active May 8, 2017 20:30
Upstart Twistd Server
# UPSTART SCRIPT
# /etc/init/{taskname}.conf
# This task is run on startup to run miniweb which is a tiny static server
description "Run the miniweb web form"
start on (filesystem and net-device-up IFACE!=lo)
task
exec sudo twistd -no web --path /path/to/web/dir --port="tcp:8000"
@mneil
mneil / server.py
Created May 3, 2017 23:45
Python Static Server w/SSL
import BaseHTTPServer, SimpleHTTPServer
import ssl, os, sys
port = int(sys.argv[1]) if len(sys.argv) > 1 else 4443
cwd = os.path.dirname(os.path.realpath(__file__))
pem = os.path.join( cwd, 'mycert.pem' )
os.chdir(cwd)
class MyHTTPRequestHandler(SimpleHTTPServer.SimpleHTTPRequestHandler):
def end_headers(self):
@mneil
mneil / Basic Upstart
Created April 4, 2017 23:36
Upstart script to launch miniweb static server at boot time and serve a folder.
# UPSTART SCRIPT
# /etc/init/{taskname}.conf
# This task is run on startup to run miniweb which is a tiny static server
description "Run the miniweb web form"
start on (filesystem and net-device-up IFACE!=lo)
task
exec /usr/bin/miniweb -p 8000 -r /home/helios/Documents/ticket-config
@mneil
mneil / kioskmode.bat
Created February 15, 2016 19:56
Kill chrome and open a new page in kiosk mode
taskkill /F /IM Chrome.exe /T
### Open a local index.html file in the same directory as this batch file
# start chrome --kiosk --profile-directory=Default --app="%~dp0/index.html"
### Open a website URL
start chrome --kiosk --profile-directory=Default --app="http://google.com"
@mneil
mneil / gist:58555011ed3ab3b8a0c7
Last active March 16, 2016 20:30
Muut Google Sites Widget
<Module>
<ModulePrefs title="Preferences for __UP_forum__" height="400"/>
<UserPref name="myforum" display_name="Muut Playground" default_value="playground" datatype="string"/>
<Content type="html">
<![CDATA[
<div id="muut-gadget"> <script type="text/javascript">
var prefs = new gadgets.Prefs();
var forum = prefs.getString("myforum");
document.write('<a class="muut" href="https://muut.com/i/'+forum+'">'+forum+'</a>');
</script>
@mneil
mneil / gist:11c9d355ea8c39e186ba
Last active August 29, 2015 14:16
Muut Ruby Federated Identites Example
@user = {
:user => {
:id => 'johndoe', # required
:displayname => 'John Doe', # required
:email => 'john.doe@gmail.com',
:avatar => '//gravatar.com/avatar/e5fb96fe7ec4ac3d4fa675422f8d1fb9',
:is_admin => true
}
}
require 'digest/sha1'