Skip to content

Instantly share code, notes, and snippets.

View jimsynz's full-sized avatar
💜

James Harton jimsynz

💜
View GitHub Profile
@jimsynz
jimsynz / Clock.cpp
Created January 12, 2011 22:31
Main Arduino sketch.
#include "Clock.h"
#include "WProgram.h"
void Clock::low_tick() {
if (finite) {
if (ticks_to_go >= 0) {
set_aiko_callback(0, interval);
ticks_to_go--;
tick();
}
@jimsynz
jimsynz / .bashrc
Created May 3, 2011 23:50
Don't waste time compile avr-gcc on your mac, just add this to your bashrc
if [ -d /Applications/Arduino.app ]; then
export PATH="$PATH:/Applications/Arduino.app/Contents/Resources/Java/hardware/tools/avr/bin"
fi
@jimsynz
jimsynz / oops.txt
Created May 13, 2011 00:14
Error when pushing to github...
[12:11][jnh@Marjory]~/Dev/axe.io/thinkinator_firmware$ git push origin vusb-integration
Identity added: /Users/jnh/.ssh/id_rsa (/Users/jnh/.ssh/id_rsa)
Counting objects: 60, done.
Delta compression using up to 2 threads.
Compressing objects: 100% (49/49), done.
Writing objects: 100% (52/52), 97.26 KiB, done.
Total 52 (delta 23), reused 0 (delta 0)
remote: /data/github/current/config/basic/redis.rb:26:in `read': No such file or directory - /data/github/current/config/redis.yml (Errno::ENOENT)
remote: from /data/github/current/config/basic/redis.rb:26:in `read_redis_config'
remote: from /data/github/current/config/basic/redis.rb:33
static inline void bootLoaderInit(void)
{
PORTB |= (1 << 5);
PORTD |= (1 << JUMPER_BIT); /* activate pull-up */
if(!(MCUCSR & (1 << EXTRF))) /* If this was not an external reset, ignore */
leaveBootloader();
MCUCSR = 0; /* clear all reset flags for next time */
}
@jimsynz
jimsynz / reply.html
Last active September 26, 2015 23:38
Never discourage replies.
<!DOCTYPE html>
<head>
<title>Please reply</title>
<style type="text/css">
#reply {
width: 400px;
}
#reply p {
border: 1px solid #888888;
background: #D4FFFC;
@jimsynz
jimsynz / do.sh
Created September 21, 2011 03:54
cat tim.csv | ruby -e 'STDIN.each { |l| @h ||= {}; n,v = l.split(","); v=v.to_f; @h[n] ? @h[n] += v : @h[n] = v }; @h.each { |n,v| puts "#{n},#{v}" }'
@jimsynz
jimsynz / test.c
Created September 29, 2011 00:41
#include <stdio.h>
#include <math.h>
int main() {
int i;
for (i = 0; i < 256; i++) {
int x = ((int)pow(2, (i / 32.0)) / 2);
printf("%d: %d\n", i, x);
}
return 0;
require 'ipaddr_extensions'
def generate_unique_local(mac, subnet_id = 0, locally_assigned=true)
now = Time.now
ntp_time = (now.to_i << 32) + now.nsec
system_id = '::/64'.to_ip.eui_64(mac).to_i
integer_key = (ntp_time << 64) + system_id
key = []
16.times do |i|
key << ((integer_key >> (i*8)) & 0xff)
@jimsynz
jimsynz / gist:1478578
Created December 14, 2011 21:18
weirdness abounds...

Observe:

$ host 130.216.85.10
10.85.216.130.in-addr.arpa domain name pointer cisco-capwap-controller.wlan.auckland.ac.nz.
10.85.216.130.in-addr.arpa domain name pointer cisco-capwap-controller.auckland.ac.nz.
10.85.216.130.in-addr.arpa domain name pointer cx-alfa-wism-controller-c.net.auckland.ac.nz.
10.85.216.130.in-addr.arpa domain name pointer cisco-lwapp-controller.wlan.auckland.ac.nz.

$ ruby -r socket -e "puts Socket.gethostbyaddr([130,216,85,10].pack('CCCC')).inspect"

["cisco-lwapp-controller.wlan.auckland.ac.nz", ["10.85.216.130.in-addr.arpa", "cisco-capwap-controller.wlan.auckland.ac.nz", "cisco-capwap-controller.auckland.ac.nz", "cx-alfa-wism-controller-c.net.auckland.ac.nz"], 2, "\x82\xD8U\n"]

@jimsynz
jimsynz / user.rb
Created December 19, 2011 07:37
Validate email addresses.
class User
# pathetic
validates_length_of :email, minimum: 6 # "x@x.cc"
# minimum
validates_format_of :email, with: /^[A-Z0-9._%+-]+@[A-Z0-9.-]+\.[A-Z]{2,6}$/i, message: "is not a valid email adress."
# legitimate
validate :email do |user|