Skip to content

Instantly share code, notes, and snippets.

@rcarmo
rcarmo / azure-minimal-cluster-base.json
Last active August 7, 2016 19:36
Minimal Azure Cluster Templates
{
"$schema": "http://schema.management.azure.com/schemas/2015-01-01/deploymentTemplate.json#",
"contentVersion": "1.0.0.0",
"parameters": {
"prefix": {
"type": "string",
"defaultValue": "master",
"metadata": {
"description": "Master node(s) name prefix"
}
@rcarmo
rcarmo / gist:4255864f2755636b22cc29a8c2c9230b
Created August 9, 2016 13:59 — forked from tonymtz/gist:714e73ccb79e21c4fc9c
Uninstall XQuartz.app from OSX El Capitan
launchctl unload /Library/LaunchAgents/org.macosforge.xquartz.startx.plist
sudo launchctl unload /Library/LaunchDaemons/org.macosforge.xquartz.privileged_startx.plist
sudo rm -rf /opt/X11* /Library/Launch*/org.macosforge.xquartz.* /Applications/Utilities/XQuartz.app /etc/*paths.d/*XQuartz
sudo pkgutil --forget org.macosforge.xquartz.pkg
# Log out and log in
@rcarmo
rcarmo / gist:01ecea6a5e93e0de89d8d5d4c411638b
Created August 20, 2016 18:05 — forked from tofarley/gist:8285845
My Blender render farm ansible playbook.
---
- name: Create render slaves on Rackspace Cloud
hosts: renderslaves
user: root
connection: local
gather_facts: False
tasks:
- name: Provision a set of instances
local_action:
module: rax
@rcarmo
rcarmo / *bigcartel.slack.com*
Created October 20, 2016 19:06 — forked from alexparker/*bigcartel.slack.com*
UserScript for toggling slack sidebar
var sideBar = $('#col_channels_bg').is(':visible');
$(window).on('keypress', function(e) {
// uses cmd+b
if (e.metaKey && e.charCode == 98) {
var display = sideBar ? 'none' : 'initial';
var left = sideBar ? 0 : '';
$('#col_channels_bg, #col_channels').css('display', display);
$('#messages_container').css('margin-left', left);
$('#footer').css('left', left);
@rcarmo
rcarmo / gradient.py
Last active July 30, 2018 17:40
Elegant Python RGB/RGBA multi-step linear gradients with generators
#!/usr/bin/env python3
from itertools import tee
# colors are floating-point 3-element tuples (doing RGBA is a matter of setting the component count)
def poly_gradient(colors, steps, components=3):
def linear_gradient(start, finish, substeps):
yield start
for i in range(1, substeps):
@rcarmo
rcarmo / aiohttp-server.py
Created February 25, 2017 22:04 — forked from gdamjan/aiohttp-server.py
Example: asyncio and aiohttp, handling longpoll, eventsource and websocket requests with a queue and background workers
from aiohttp import web
from threading import Thread
import asyncio
import time, uuid
loop = asyncio.get_event_loop()
def long_blocking_thing(sleep):
time.sleep(sleep)
return 42
@rcarmo
rcarmo / 0-monitor.py
Last active November 21, 2018 12:10
EnviroPHAT events to Azure IoT Hub, with Stream Analytics output to Azure Data Lake and PowerBI
#!/usr/bin/env python
# Minimalist environmental data logger to Azure IoT Hub
# Rui Carmo, November 2018
from envirophat import light, motion, weather, leds
from base64 import b64encode, b64decode
from hashlib import sha256
from time import time, sleep
from urllib import quote_plus, urlencode
@rcarmo
rcarmo / puppeteer.js
Last active January 10, 2022 03:49
Trying to get a single-page PDF screenshot out of puppeteer
const puppeteer = require('puppeteer');
function sleep(ms){
return new Promise(resolve=>{
setTimeout(resolve,ms)
})
}
(async() => {
@rcarmo
rcarmo / webarchive.js
Created August 18, 2017 11:53
ES6 script for creating web site snapshots in .webarchive format (WIP)
const bplist = require('bplist-creator'),
request = require('request'),
xpath = require('xpath'),
dom = require('xmldom').DOMParser,
url = require('url'),
fs = require('fs');
const USER_AGENT = 'Mozilla/5.0 (Macintosh; Intel Mac OS X 10_12_4) AppleWebKit/603.1.30 (KHTML, like Gecko) Version/10.1 Safari/603.1.30',
ACCEPT_HEADERS = {
@rcarmo
rcarmo / rPi3-ap-setup.sh
Last active September 25, 2017 14:10 — forked from Lewiscowles1986/rPi3-ap-setup.sh
Raspberry Pi 3 access-point-setup
#!/bin/bash
#
# Tweaked for Ubuntu
#
if [ "$EUID" -ne 0 ]
then echo "Must be root"
exit
fi