Skip to content

Instantly share code, notes, and snippets.

View manewitz's full-sized avatar
👾

Mike Manewitz manewitz

👾
View GitHub Profile
@manewitz
manewitz / token.rb
Created May 26, 2015 18:08
Ruby String Token Generator
# Extracted library from a deprecated app
class Token
PREFIXES = ['ab', 'ac', 'acr', 'acl', 'ad', 'adr', 'ah', 'ar', 'aw', 'ay', 'br', 'bl', 'cl', 'cr', 'ch', 'dr', 'dw', 'en', 'ey', 'in', 'im', 'iy', 'oy', 'och', 'on', 'qu', 'sl', 'sh', 'sw', 'tr', 'th', 'thr', 'un', 'st', 'str', 'kn']
DIPTHONGS = ['ae', 'au', 'ea','ou','ei','ie','ia','ee','oo','eo','io']
CONSONANT_PAIRS = ['bb', 'bl', 'br', 'ck', 'cr', 'ch', 'dd', 'dr', 'gh', 'gr', 'gn', 'gg', 'lb', 'ld', 'lk', 'lp', 'mb', 'mm', 'nc', 'nch', 'nd', 'ng', 'nn', 'nt', 'pp', 'pl', 'pr', 'rr', 'rch', 'rs', 'rsh', 'rt', 'sh', 'th', 'tt', 'st', 'str']
POSTFIXES = ['able', 'act', 'am', 'ams', 'ect', 'ed', 'edge', 'en', 'er', 'ful', 'ia', 'ier', 'ies', 'illy', 'im', 'ing', 'ium', 'is', 'less', 'or', 'up', 'ups', 'y', 'igle', 'ogle', 'agle', 'ist', 'est']
VOWELS = ['a', 'e', 'i', 'o', 'u']
CONSONANTS = ('a'..'z').to_a - VOWELS
@manewitz
manewitz / progress_bar.rb
Created July 24, 2012 19:42
Formatador Progress Bar Example
# This is an example of using the progress bar feature of Formatador.
require "rubygems"
require "formatador"
require "rake"
current = 0
total = 100
# get terminal width
@manewitz
manewitz / 01_ubb_tracks.rb
Created October 9, 2012 13:28
Ultimate Breaks and Beats data
# The Limit - "She's So Divine" (from CP-721 12" single) (1982)
# Kashif - "I Just Gotta Have You (Lover Turn Me On)" (from CP-728 12" single) (1982)
# Kenton Nix featuring Bobby Youngblood - "There's Never Been (No One Like You)" (from WES 22130 12" single) (1980)
# Mr. Magic - "Magic's Message (There Has to Be a Better Way)" (from POS-1213 12" single) (1984)
# Tia Monae - "Don't Keep Me Waiting" (from CART-320 12" single) (1983)
# Cloud One - "Flying High" (from HS-1010 12" single) (1982)
# Ednah Holt - "Serious, Sirius Space Party" (from WES 22138 12" single) (1981)
# Conversion - "Let's Do It" (from S-12336 12" single) (1980)
# The Monkees - "Mary Mary"* (from More of the Monkees) (1967) Colgems Records
# Wilbur "Bad" Bascomb - "Black Grass"* (from PAS-6048 7" single) (1972) Paramount Records
@manewitz
manewitz / rock_paper_scissors.rb
Created October 14, 2012 01:02
Rock Paper Scissors in Ruby
class WrongNumberOfPlayersError < StandardError ; end
class NoSuchStrategyError < StandardError ; end
VALID_MOVES = %w{R P S}
def rps_game_winner(game)
raise WrongNumberOfPlayersError unless game.count == 2
game.each do |move|
unless VALID_MOVES.include?(move[1])
@manewitz
manewitz / color_demo.rb
Last active October 12, 2015 00:17
Formatador Presentation
#! /usr/bin/env ruby
require "rubygems"
require "formatador"
styles = [
:bold,
:underline,
:blink_slow,
:blink_fast,
@manewitz
manewitz / fql_music_likes.rb
Created July 4, 2013 19:45
Playing with the Facebook API. This is aggregates music 'Likes' from your Facebook Friends list. Visit https://developers.facebook.com/tools/explorer, click "Get Access Token", and assign appropriate permissions to get your token, assigning it to the FACEBOOK_GRAPH_ACCESS_TOKEN constant.
# Aggregated music 'Likes' from my Facebook Friends list
require 'koala'
# Visit https://developers.facebook.com/tools/explorer
# and click "Get Access Token", assigning appropriate permissions
@graph = Koala::Facebook::API.new(FACEBOOK_GRAPH_ACCESS_TOKEN)
@manewitz
manewitz / ruby_stuff.md
Created June 19, 2017 17:18
ruby_stuff.md

Ruby/Rails Tutorial Resources

Deep breath...

Ruby

24 Diner
Arlo
Austin Ale House
Austin Java
Bacon
Bar Chi
Barley Swine
Biscuits and Groovy
Black Sheep Lodge
Black Star Co-op
@manewitz
manewitz / sieve_of_eratosthenes.ex
Last active February 16, 2023 17:14
Elixir implementation of the Sieve of Eratosthenes algorithm for finding prime numbers.
defmodule SieveOfEratosthenes do
@doc """
https://www.baeldung.com/cs/prime-number-algorithms
Naive implementation of the Sieve Of Eratosthenes for finding primes below `number`
"""
@spec primes(number) :: list
def primes(1), do: []
@manewitz
manewitz / unicorn_hat_hd_circuits_spi.ex
Last active July 25, 2023 22:04
Elixir - Unicorn Hat HD via Circuits.SPI [WIP]
{:ok, spi_ref} = Circuits.SPI.open("spidev0.0", speed_hz: 9_000_000)
off = <<0x72>> <> (<<0::8, 0::8, 0::8>> |> :binary.copy(16 * 16))
red = <<0x72>> <> (<<255::8, 0::8, 0::8>> |> :binary.copy(16 * 16))
green = <<0x72>> <> (<<0::8, 255::8, 0::8>> |> :binary.copy(16 * 16))
blue = <<0x72>> <> (<<0::8, 0::8, 255::8>> |> :binary.copy(16 * 16))
white = <<0x72>> <> (<<255::8, 255::8, 255::8>> |> :binary.copy(16 * 16))
Circuits.SPI.transfer(spi_ref, red)