Skip to content

Instantly share code, notes, and snippets.

@programmarchy
programmarchy / mocha-serial.js
Last active December 29, 2015 03:48
mocha in your serial
var assert = require('assert');
var SerialPort = require('serialport').SerialPort;
var device = require('./config.json')['device'];
describe('opening and closing a serial port', function() {
var serialport;
this.timeout(10000);
before(function() {
@programmarchy
programmarchy / cube-leap.js
Created December 6, 2013 23:15
Controlling Cubelets with the Leap Motion
if (process.argv.length < 3) {
console.log('Usage: node run.js PORT [ID1] [ID2]');
return;
}
var device = process.argv[2];
var SerialPort = require('serialport').SerialPort;
var bluetoothCubelet = new SerialPort(device, { baudrate: 38400 });
var cubelets = require('cubelets');
@programmarchy
programmarchy / ember_auth.html
Created July 15, 2016 00:39
Extracts ember auth info from localStorage
<pre id="credentials"></pre>
<button onClick="javascript:sendRequest()">Send Request</button>
<script>
function getEmberSessionCredentials() {
var data = localStorage['ember_simple_auth:session']
if (!data) { return null }
var session = JSON.parse(data)
if (!session) { return null }
@programmarchy
programmarchy / SirenProtocol.swift
Created July 16, 2016 18:15
The Siren specification in Swift protocols
// Siren: a hypermedia specification for representing entities
// https://github.com/kevinswiber/siren
protocol SirenRoot: SirenEntity {}
protocol SirenEntity {
var classNames: [String]? { get }
var properties: [String: AnyObject]? { get }
var entities: [SirenSubEntityType]? { get }
var links: [SirenLink]? { get }
@programmarchy
programmarchy / TemplateImageButton.swift
Created April 27, 2017 22:59
View templated images in Interface Builder
import UIKit
@IBDesignable
class TemplateImageButton: UIButton {
#if TARGET_INTERFACE_BUILDER
let templateImageView = UIImageView()
override init(frame: CGRect) {
@programmarchy
programmarchy / Fastfile
Created September 14, 2018 20:21
A Fastlane action that publishes a Pact contract to a Pact broker. See https://pact.io for more details.
# Example Fastfile using the `publish_pact_to_broker` action.
#
# NOTE: Since Fastlane uses dotenv, create a `.env` file in the fastlane
# directory to set `PACT_BROKER_USERNAME` and `PACT_BROKER_PASSWORD` and
# keep it secret by adding it to .gitignore.
default_platform(:ios)
xcodeproj = "MyProject.xcodeproj"
slack_url = "https://hooks.slack.com/services/MY/SLACK/WEBHOOK"
@programmarchy
programmarchy / BusyController.swift
Created November 15, 2018 06:50
A simple drop in controller for making a UIView look busy
import UIKit
class BusyController<V: UIView> {
let view: V
var busyView: UIView? = nil
var busyText: String = "Loading...".localized()
init(view: V) {
@programmarchy
programmarchy / build-app-icon.sh
Last active May 12, 2020 10:11
Given a high resolution icon image, use imagemagick to scale down to all iOS app icon dimensions
APP_NAME="YOUR_APP_NAME_HERE"
SRC=./Design/AppIcon.png
DST=./$APP_NAME/Assets.xcassets/AppIcon.appiconset
convert $SRC -resize 1024x1024 "$DST/AppIcon1024x1024.png"
convert $SRC -resize 2048x2048 "$DST/AppIcon2048x2048.png"
convert $SRC -resize 29x29 "$DST/AppIcon29x29.png"
convert $SRC -resize 58x58 "$DST/AppIcon29x29@2x.png"
convert $SRC -resize 87x87 "$DST/AppIcon29x29@3x.png"
convert $SRC -resize 80x80 "$DST/AppIcon40x40@2x.png"
#include <FastLED.h>
#define LED_PIN 7
#define NUM_LEDS 240
CRGB leds[NUM_LEDS];
int offset = 0;
void setup() {
FastLED.addLeds<WS2812, LED_PIN, GRB>(leds, NUM_LEDS);
@programmarchy
programmarchy / install.sh
Created April 14, 2021 03:53
Modified install script to locally install Deno version manager (dvm)
#!/bin/sh
# Copyright 2019 the Deno authors. All rights reserved. MIT license.
# Copyright 2020 justjavac. All rights reserved. MIT license.
# TODO(everyone): Keep this script simple and easily auditable.
set -e
# if [ "$(uname -m)" != "x86_64" ]; then
# echo "Error: Unsupported architecture $(uname -m). Only x64 binaries are available." 1>&2
# exit 1