Skip to content

Instantly share code, notes, and snippets.

@halferty
halferty / run.sh
Created August 7, 2018 15:49
Compile and Run TypeScript from JS
#!/bin/bash
npm install ts-node
npm install typescript
node test.js
@halferty
halferty / table_joins.sql
Last active July 28, 2018 03:30
table joins reminder
drop table FImage cascade;
drop table Tag cascade;
create table FImage(id integer primary key, url varchar(255));
create table Tag(id integer primary key, text varchar(255));
create table FImageTag(fimage_id integer references FImage(id), tag_id integer references Tag(id));
insert into FImage(id, url) values(1, 'blah.com/im01.jpg');
insert into FImage(id, url) values(2, 'blah.com/im02.jpg');
insert into FImage(id, url) values(3, 'blah.com/im03.jpg');
insert into FImage(id, url) values(4, 'blah.com/im04.jpg');
insert into FImage(id, url) values(5, 'blah.com/im05.jpg');
@halferty
halferty / irremote_test.ino
Created May 20, 2018 21:54
IRremote usage arduino
#include <IRremote.h>
#define RECV_PIN 2;
#define B_1 0x92DF9279
#define B_2 0x87CDD0EF
#define B_3 0x37788763
IRrecv irrecv(RECV_PIN);
void setup() {
Serial.begin(9600);
Serial.println("Ready to decode IR!");
irrecv.enableIRIn();
@halferty
halferty / heading.rb
Created May 12, 2018 16:05
Make code-comment boxes with hashmark comments (#) or c-style comments (/**/)
#!/usr/bin/env ruby
t=$*[0]
e='#'*79
r='#'+' '*77+'#'
puts [e,r,t.scan(/.{1,40}/).map{|a|m=r.clone;l=(79-a.size)/2;m[l..(l+a.size-1)]=a;m},r,e].join "\n"
@halferty
halferty / run.sh
Last active May 7, 2018 22:03
TS compiled in JS
npm install ts-node
npm install typescript
node test.js
# type in test.ts hit enter
# magic 🎩
@halferty
halferty / sketch.ino
Created April 9, 2018 05:41
arduino leonardo pro mini blink LED
void setup() {
pinMode(17, OUTPUT);
}
void loop() {
digitalWrite(17, HIGH);
delay(100);
digitalWrite(17, LOW);
delay(100);
}
@halferty
halferty / lll.py
Created December 31, 2017 07:46
LLL
zzz = 86
p = random_prime(2^512); q = random_prime(2^512)
N = p*q
a = p % 2^zzz
X = 2^zzz
M = matrix([[X^2, 2*X*a, a^2], [0, X, a], [0, 0, N]])
B = M.LLL()
x = PolynomialRing(RationalField(), 'x').gen()
Q = B[0][0]*x^2/X^2+B[0][1]*x/X+B[0][2]
foundp = a+Q.roots(ring=ZZ)[0][0]
@halferty
halferty / main.c
Created December 29, 2017 08:01
PIC12F675 XC8 blinky 22kHz
/*
* File: newmain.c
* Author: Ed
*
* Created on December 28, 2017, 11:44 PM
*/
//#include <xc.h>
//
@halferty
halferty / gamepad_leonardo.ino
Last active November 20, 2017 11:40
Arduino Leonardo Gamepad
#include "HID.h"
#define BUTTON1_PIN 2
#define BUTTON2_PIN 3
#define BUTTON3_PIN 4
#define BUTTON4_PIN 5
#define BUTTON5_PIN 6
#define BUTTON6_PIN 7
#define BUTTON7_PIN 8
#define BUTTON8_PIN 9
@halferty
halferty / gamepad.ino
Created November 6, 2017 04:37
Arduino DUE Gamepad
#include "HID.h"
static const uint8_t _hidReportDescriptor[] PROGMEM = {
0x05, 0x01, // USAGE_PAGE (Generic Desktop)
0x09, 0x05, // USAGE (Game Pad)
0xa1, 0x01, // COLLECTION (Application)
0xa1, 0x00, // COLLECTION (Physical)
0x85, 0x03, // REPORT_ID (3)
0x05, 0x09, // USAGE_PAGE (Button)
0x19, 0x01, // USAGE_MINIMUM (Button 1)