Skip to content

Instantly share code, notes, and snippets.

View msszczep's full-sized avatar

Mitchell Szczepanczyk msszczep

View GitHub Profile
@msszczep
msszczep / HexColorExplorer.elm
Created February 26, 2020 00:00
Hexadecimal Color Explorer
import Browser
import Html exposing (Html, Attribute, div, input, text, button, p, h1)
import Html.Attributes exposing (placeholder, style, value)
import Html.Events exposing (onInput, onClick)
-- MODEL
type alias Model =
{ field : String
, color : String
@msszczep
msszczep / time.elm
Created November 24, 2019 19:20
Improved Time in Elm
-- Show the current time in your time zone.
--
-- Read how it works:
-- https://guide.elm-lang.org/effects/time.html
--
-- For an analog clock, check out this SVG example:
-- https://elm-lang.org/examples/clock
--
import Browser
@msszczep
msszczep / redis_cheatsheet_notes.txt
Created May 16, 2019 20:59
Quick cheatsheet notes on redis
heroku redis:cli -a [APP]
dbsize
keys *
get [KEY]
@msszczep
msszczep / subanagram_sorted_points.erl
Created April 13, 2019 13:09
Subanagram script in Erlang (from May 11, 2008)
#!/usr/bin/env escript
% This is an Erlang version of the subanagram generator.
% It works far faster and the code is far shorter.
% It takes a word at the command line as an argument.
% e.g.: `./subanagram_prototype.erl representative`
% It delivers as output the words that are eligible subanagrams, ordered in length from shortest to longest,
% along with the number of points from each word, assuming no double or triple letter or word squares.
@msszczep
msszczep / subanagram_prototype.erl
Created April 13, 2019 12:10
Subanagram prototype in Erlang (dated May 3, 2008)
#!/usr/bin/env escript
% This is an Erlang version of the subanagram generator.
% It works far faster and the code is far shorter.
% It takes a word at the command line as an argument.
% e.g.: `./subanagram_prototype.erl representative`
% Note: You need a file of words, one word per line, in the same directory as
% the script.
@msszczep
msszczep / get-json-data.clj
Created June 26, 2018 23:12
Get JSON Data via InLein script
'{:dependencies [[org.clojure/clojure "1.8.0"]
[cheshire "5.8.0"]]}
(require '[cheshire.core :as json])
(def j (cheshire.core/parse-string (slurp "j.json") true))
(def file-names (->> j
:definitions
(map (comp last #(clojure.string/split #"\.") :file))
@msszczep
msszczep / wqc.clj
Last active June 2, 2018 18:13
WQC Score Calculator
; #wqc #clojure
; For the World Quizzing Championships
; http://www.worldquizzingchampionships.com/
(def sample-scores
[["joshua Kreitzer" 1 2 3 4 5 6 7 8]
["Sreeradh RP" 9 10 11 12 13 14 15]
["david striasny" 3 8 8 7 20 4 14 11]])
(defn get-wqc-scores [s]
@msszczep
msszczep / lton2.clj
Created May 15, 2018 01:44
letters->numbers in Clojure, Take 2
(defn l->n [input]
"Given a string and the sequence a = 1, b = 2, ... z = 26, compute the total for the string.
Get a bonus point if the sequence 'zachary' appears in the string."
(let [point-values (zipmap (map char "abcdefghijklmnopqrstuvwxyz")
(range 1 27))
bonus-point (if (re-find #"zachary" (clojure.string/lower-case input)) 1 0)]
(->> input
(map char)
(map point-values)
(cons bonus-point)
@msszczep
msszczep / wordbox.clj
Created May 13, 2018 17:18
Wordbox in Clojure
(defn get-wordboxes [word]
"Given a word like 'cat', make all possible wordboxes in English. Here's an example wordbox:
CAT
O*E
GUN
Note that the words 'cog', 'ten' and 'gun' come from the word 'cat'.
The code below is too slow for words of four-letters-long or longer. I was hoping to make a full-fledged
@msszczep
msszczep / lton.clj
Created May 4, 2018 04:01
letters->numbers in Clojure
(defn letters->numbers [letters]
(let [letter-map (zipmap (map char "abcdefghijklmnopqrstuvwxyz")
(range 1 27))]
(->> letters
(map char)
(map letter-map)
(reduce +))))