Skip to content

Instantly share code, notes, and snippets.

View blakejakopovic's full-sized avatar

Blake Jakopovic blakejakopovic

View GitHub Profile
@blakejakopovic
blakejakopovic / read_twitter_favourites
Created April 18, 2014 01:03
read_twitter_favourites
#!/usr/bin/env ruby
require 'dotenv'
Dotenv.load '~/bin/.env'
require 'twitter' # v5.0
require 'terminal-notifier'
HOST_IGNORE_LIST = [
'www.techmeme.com' #ignored because direct article link is desired
@blakejakopovic
blakejakopovic / README.md
Last active August 29, 2015 14:01
Spark Core UDP Echo

UDP Echo Sketch for Spark Core

A simple UDP echo program for the Spark Core Arduino based device. You can send a single byte (ie. 'a') of data and have it sent back. This program serves no real practical application, but can be used to learn and tinker with UDP and inter-device communication.

Testing UDP

You can test sending and receiving UDP packets using the Packet Sender application, available for Windows, Mac, Ubuntu and Andriod.

user=> (ns there)
nil
there=> (defmulti ^:private doit identity)
#'there/doit
there=> (defmethod doit 1 [x] x)
#<MultiFn clojure.lang.MultiFn@d2de489>
there=> (doit 1)
1
there=> (in-ns 'user)
#<Namespace user>
@blakejakopovic
blakejakopovic / SparkGraph.playground
Created July 2, 2014 08:57
Simple spark graph NSView example written in Swift. Open with Xcode for live preview and coding.
import Cocoa
import XCPlayground
@IBDesignable
class SparkGraph: NSView {
// Background Colour
@IBInspectable var backgroundColor:NSColor?
// Border
@blakejakopovic
blakejakopovic / sysex.clj
Created July 23, 2014 06:22
Extending clj-firmata in TestDrive
(ns testdrive.sysex
(:require [firmata.core :refer [read-sysex-event consume-sysex read-two-byte-data]]))
(def ^{:private true} SYSEX_TYPE_EVENT 0x01 )
(def ^{:private true} SYSEX_TYPE_REGISTER 0x02 )
(def ^{:private true} KIND_ACCELEROMETER 0x01 ) ;;;
(def ^{:private true} KIND_MAGNETIC_FIELD 0x02 ) ;;;
(def ^{:private true} KIND_ORIENTATION 0x03 ) ;
(def ^{:private true} KIND_GYROSCOPE 0x04 ) ;;;
@blakejakopovic
blakejakopovic / cljs-nw-serial.cljs
Created August 3, 2014 08:21
FirmataSerial Nodejs Clojurescript clj-firmata serial adapter
(ns cljs-nw-serial.core
(:require [cljs.nodejs :as nodejs]))
(enable-console-print!)
(def SerialPort (.-SerialPort (nodejs/require "serialport")))
(defprotocol FirmataStream
(open! [this] "opens the stream")
@blakejakopovic
blakejakopovic / firmata-spark-example.ino
Created August 12, 2014 00:41
Spark Core Firmata Example
#include "firmata-spark/firmata-spark.h"
TCPServer server = TCPServer(5678);
TCPClient client;
bool new_client = true;
void setup()
{
// start listening for clients
@blakejakopovic
blakejakopovic / adapter-example.cljs
Created August 14, 2014 08:31
Clojurescript clj-firmata WIP adapter
(ns testdrive.example
(:require [firmata.core :refer [open-board event-channel]]
[firmata.stream :refer [FirmataStream]]
[cljs.nodejs :as nodejs])
(def net (nodejs/require "net"))
(defrecord SocketStream [host port]
FirmataStream
@blakejakopovic
blakejakopovic / SparkFloatToByteTest.ino
Created August 27, 2014 07:59
Spark Core Float to Byte Test
float a = 6.7;
float b = 14.6;
float c = 26.3;
byte* method1(float num)
{
byte buff[sizeof(float)];
memcpy(buff, &num, sizeof(float));
return buff;
@blakejakopovic
blakejakopovic / message-parse.cljs
Created September 11, 2014 05:58
Clojurescript node.js firmata message parser (incomplete)
(defn parse-message
"Parses incoming data and emits valid messages"
[]
(let [data (js/Buffer 0)]
(fn [emitter buffer]
;; Append new data to buffer
(set! data (.concat js/Buffer [data buffer]))
;; Remove incomplete messages (ie. not control charactors)