I hereby claim:
- I am rooreynolds on github.
- I am rooreynolds (https://keybase.io/rooreynolds) on keybase.
- I have a public key whose fingerprint is D733 6882 4C2A 9659 D64B D38D 751F A66B CEEE B7A6
To claim this, I am signing this object:
//inspired by https://twitter.com/paulpod/status/1330091111889690628 | |
#include <Arduino.h> | |
#include <TM1637Display.h> | |
#include <Bounce2.h> | |
#define CLK 2 | |
#define DIO 3 | |
#define pin_button A0 |
/* | |
* A simple arduino app to send a keyboard combination (Command + F1) | |
* when a button is pushed. This key combination can, using an app like | |
* FastScripts (https://red-sweater.com/fastscripts/) or similar, | |
* trigger a script to perform a specific action, for example | |
* to mute the teleconferencing app of your choice. | |
* | |
* Useful scripts for running at the desktop side: | |
* - Google Meet: https://github.com/aezell/mutemeet | |
* - Zoom: https://gist.github.com/mgaruccio/15734cb2f1442c457f0fa25dd838cc6d |
function CountEmail() { | |
var starredEmails = GmailApp.search('is:starred'); | |
var newunreadEmails = GmailApp.search('is:unread label:inbox'); | |
var urgentEmails = GmailApp.search('label:urgent'); | |
var waitingEmails = GmailApp.search('label:waiting-for'); | |
var chaseEmails = GmailApp.search('label:chase'); | |
var draftEmails = GmailApp.search('in:draft'); | |
var sheet = SpreadsheetApp.getActiveSpreadsheet().getSheetByName("Sheet1"); | |
require 'sqlite3' | |
require 'rubygems' | |
`cp ThingsLibrary.db ThingsLibrary_cache.db` | |
db = SQLite3::Database.new("ThingsLibrary_cache.db") | |
db.results_as_hash = true | |
row = db.get_first_row( "SELECT count(ZTHING.Z_PK) as today FROM ZTHING LEFT OUTER JOIN ZTHING PROJECT on ZTHING.ZPROJECT = PROJECT.Z_PK LEFT OUTER JOIN ZTHING AREA on ZTHING.ZAREA = AREA.Z_PK WHERE ZTHING.ZSTARTDATE != '' and ZTHING.ZSTATUS != 3 and ZTHING.ZSTATUS != 2 and ZTHING.ZTRASHED = 0 and ZTHING.ZSTART = 1 ORDER BY ZTHING.ZTODAYINDEX;" ) | |
today = row['today'] |
const request = require('request') | |
,url = 'http://www.bbc.co.uk/radio4/programmes/schedules/fm.json' | |
request(url, (error, response, body)=> { | |
if (!error && response.statusCode === 200) { | |
const data = JSON.parse(body) | |
var schedule=data.schedule.day.broadcasts; | |
var myDate = new Date(); | |
for (var i=0; i<schedule.length; i++) { | |
var startDate = Date.parse(schedule[i].start); |
I hereby claim:
To claim this, I am signing this object:
/* | |
* Use an Arduino to control an LCD display and some volt meters. | |
* Pass through data from a serial app | |
* (Future versions will display selected data according to switch toggles. Mainly a stub for now) | |
* | |
* Roo Reynolds - rooreynolds.com | |
*/ | |
#include <Bounce.h> |
#include <FastLED.h> | |
#include <avr/pgmspace.h> | |
#include <Animation.h> | |
#include "steady.h" | |
#include "left.h" | |
#include "right.h" | |
#include <Button.h> // https://github.com/virgildisgr4ce/Button | |
#define LED_COUNT 60 | |
struct CRGB leds[LED_COUNT]; |
require 'csv' | |
require 'sqlite3' | |
def setupDB(db, csv_file) | |
db.execute("drop table if exists stories") | |
db.execute("create table stories(id, labels, iterationend, created, accepted, size, requester, owner, type)") | |
CSV.foreach(File.path(csv_file), :headers => true) do |col| | |
db.execute("insert into stories(id, labels, iterationend, created, accepted, size, requester, owner, type) " + | |
"VALUES (?, ?, ?, ?, ?, ?, ?, ?, ?)", | |
[col['Id'], |
const int voltPin = 4; | |
const int maxVoltAdjust = 230; // analog out is max 255, but for my voltmeter 230 == 100% | |
void setup() { | |
pinMode(voltPin, OUTPUT); | |
Serial.begin(19200); | |
} | |
String inData; | |