Skip to content

Instantly share code, notes, and snippets.

View jonmagic's full-sized avatar

Jonathan Hoyt jonmagic

View GitHub Profile
@jonmagic
jonmagic / email.rb
Last active December 20, 2022 17:17
A handy Rails model for storing emails with a little logic to let a User have multiple email addresses but a single primary address.
View email.rb
class Email < ActiveRecord::Base
# Nope, it's not RFC compliant. F*** that regex.
# http://www.ex-parrot.com/~pdw/Mail-RFC822-Address.html
EmailRegex = /\A([^@\s]+)@((?:[-a-z0-9]+\.)+[a-z]{2,})\z/i.freeze
before_validation :strip_spaces
# Public: The email address.
# column :address
View gist:329259
class Song
include MongoMapper::Document
plugin Grip
attachment :mp3
key :title, String
key :artist, String
key :album, String
key :genre, String
View docCookies.js
/*\
|*|
|*| :: cookies.js ::
|*|
|*| A complete cookies reader/writer framework with full unicode support.
|*|
|*| https://developer.mozilla.org/en-US/docs/DOM/document.cookie
|*|
|*| This framework is released under the GNU Public License, version 3 or later.
|*| http://www.gnu.org/licenses/gpl-3.0-standalone.html
View decorator_perf.rb
require "benchmark"
require "delegate"
require "forwardable"
class Person
def initialize(name, ip)
@name = name
@ip = ip
end
View reputation.rb
class Reputation
class Error < StandardError; end
def initialize(sample_size:, not_spammy_sample_size:)
@sample_size = sample_size
@not_spammy_sample_size = not_spammy_sample_size
end
attr_reader :sample_size
attr_reader :not_spammy_sample_size
@jonmagic
jonmagic / red_green.ino
Last active July 21, 2019 17:41
Program for red and green light interactive alarm clock.
View red_green.ino
#include <math.h>
int BUTTON = D0;
int GREEN_LED = D1;
int RED_LED = A4;
int buttonState = 0;
// Takes the current hour (0-23) and multiplies it by 60 (minutes) and then
// adds the minutes after the hour (0-59.
View test.md

clarified butter

View useful_pandas_snippets.py
# List unique values in a DataFrame column
# h/t @makmanalp for the updated syntax!
df['Column Name'].unique()
# Convert Series datatype to numeric (will error if column has non-numeric values)
# h/t @makmanalp
pd.to_numeric(df['Column Name'])
# Convert Series datatype to numeric, changing non-numeric values to NaN
# h/t @makmanalp for the updated syntax!
@jonmagic
jonmagic / Adafruit_GPS.cpp
Created April 21, 2018 05:07 — forked from dmiddlecamp/Adafruit_GPS.cpp
Spark GPS demo with Adafruit Ultimate GPS breakout
View Adafruit_GPS.cpp
/***********************************
This is our GPS library
Adafruit invests time and resources providing this open source code,
please support Adafruit and open-source hardware by purchasing
products from Adafruit!
Written by Limor Fried/Ladyada for Adafruit Industries.
BSD license, check license.txt for more information
All text above must be included in any redistribution
@jonmagic
jonmagic / install-kafka.txt
Created December 11, 2017 05:59 — forked from jarrad/install-kafka.txt
Install Kafka on OSX via Homebrew
View install-kafka.txt
$> brew cask install java
$> brew install kafka
$> vim ~/bin/kafka
# ~/bin/kafka
#!/bin/bash
zkServer start
kafka-server-start.sh /usr/local/etc/kafka/server.properties