Last active
May 15, 2018 20:04
-
-
Save explodecomputer/6fe0f2dbfecb44929c855c22b084b14c to your computer and use it in GitHub Desktop.
slats
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
randomness <- function(x) | |
{ | |
a <- (sum(x[-1] != x[-length(x)]) / (length(x)-1) - 0.5) * 2 | |
return(round(a, 2)) | |
} | |
make_dat <- function() | |
{ | |
dat <- read.table("~/Desktop/ascii.txt", he=F, sep="\t", stringsAsFactors = FALSE, quote="", comment="") | |
names(dat) <- c("dec", "hex", "binary", "al") | |
dat$binary <- gsub("0", ".", dat$binary) | |
dat$binary <- gsub("1", "-", dat$binary) | |
dat <- subset(dat, select=-c(hex, dec)) | |
return(dat) | |
} | |
make_dat <- function() | |
{ | |
dat <- read.table("~/Desktop/ascii.txt", he=F, sep="\t", stringsAsFactors = FALSE, quote="", comment="") | |
names(dat) <- c("dec", "hex", "binary", "al") | |
# dat <- data.frame( | |
# al=letters, | |
# binary = c("1100001", "1100010", "1100011", "1100100", "1100101", "1100110", "1100111", "1101000", "1101001", "1101010", "1101011", "1101100", "1101101", "1101110", "1101111", "1110000", "1110001", "1110010", "1110011", "1110100", "1110101", "1110110", "1110111", "1111000", "1111001", "1111010"), | |
# short_binary = c("00001", "00010", "00011", "00100", "00101", "00110", "00111", "01000", "01001", "01010", "01011", "01100", "01101", "01110", "01111", "10000", "10001", "10010", "10011", "10100", "10101", "10110", "10111", "11000", "11001", "11010"), | |
# mc = c(".-", "-...", "-.-.", "-..", ".", "..-.", "--.", "....", "..", ".---", "-.-", ".-..", "--", "-.", "---", ".--.", "--.-", ".-.", "...", "-", "..-", "...-", ".--", "-..-", "-.--", "--.."), | |
# stringsAsFactors = FALSE) | |
# d <- data.frame( | |
# al=tolower(c("Q","W","E","R","T","Y","U","I","O","P","A","S","D","F","G","H","J","K","L","Z","X","C","V","B","N","M")), | |
# ita2=c("11101","11001","10000","01010","00001","10101","11100","01100","00011","01101","11000","10100","10010","10110","01011","00101","11010","11110","01001","10001","10111","01110","01111","10011","00110","00111"), | |
# stringsAsFactors = FALSE | |
# ) | |
# dat <- merge(dat, d, by="al") | |
dat$binary <- gsub("0", ".", dat$binary) | |
dat$binary <- gsub("1", "-", dat$binary) | |
# dat$short_binary <- gsub("0", ".", dat$short_binary) | |
# dat$short_binary <- gsub("1", "-", dat$short_binary) | |
# dat$ita2 <- gsub("0", ".", dat$ita2) | |
# dat$ita2 <- gsub("1", "-", dat$ita2) | |
return(dat) | |
} | |
do_one <- function(text, dot, dash, gap, what, dat) | |
{ | |
message("") | |
message(what, ": ") | |
code <- dat[[what]][match(text, dat$al)] | |
code <- paste(code, collapse="") | |
message(code) | |
code <- strsplit(code, "")[[1]] | |
r <- randomness(code) | |
message("Randomness: ", r) | |
len <- sum(code == "-") * dash + sum(code == ".") * dot + (length(code) - 1) * gap | |
p <- sum(code == ".") / length(code) | |
message("Proportion thin: ", round(p, 2)) | |
message("n thick: ", sum(code == "-")) | |
message("n thin: ", sum(code == ".")) | |
message("Length: ", len) | |
} | |
slats <- function(x, dot=4.5, dash=7.2, gap=0.8) | |
{ | |
dat <- make_dat() | |
nom <- names(dat)[names(dat) != "al"] | |
# text <- tolower(x) | |
text <- x | |
text <- strsplit(text, "")[[1]] | |
message(paste(text, collapse = "")) | |
text <- text[text %in% dat$al] | |
for(i in nom) | |
{ | |
do_one(text, dot, dash, gap, i, dat) | |
} | |
} | |
slats("hello") | |
slats("huxley") | |
slats("keep out") | |
slats("long mouth") | |
slats("tribe-bat-such") | |
slats("vegan") | |
slats("friends not food") | |
slats("go vegan") | |
slats("how do you know if someone is vegan") | |
slats("welcome vegans") | |
slats("vegans only") | |
slats("chick peas") | |
slats("hummus") | |
slats("hummus life") | |
slats("hug life") | |
slats("life") | |
slats("live") | |
slats("tofu is life") | |
slats("pathos") | |
slats("indeed") | |
slats("yonder") | |
slats("ponder") | |
slats("imagine") | |
slats("innit") | |
slats("bits") | |
slats("lol") | |
slats("haha") | |
slats("stuff") | |
slats("in between") | |
slats("snug") | |
slats("maybe") | |
slats("happy") | |
slats("chill") | |
slats("palimpsest") | |
slats("vegetables") | |
slats("byte me") | |
slats("no parking") | |
slats("garden") | |
slats("jardin") | |
slats("spiders") | |
slats("peek") | |
slats("smile") | |
slats("grin") | |
slats("poem") | |
slats("lies") | |
slats("ahoy") | |
slats("grow") | |
slats("help") | |
slats("hope") | |
slats("idea") | |
slats("cosy") | |
slats("home") | |
slats("hope") | |
slats("woof") | |
slats("meow") | |
slats("home", dot=4.5, dash=7.2) | |
slats("druid", dot=4.5, dash=7.2) | |
slats("bloss", dot=4.5, dash=7.2) | |
slats("arse", dot=4.5, dash=7.2) | |
slats("wtf?", dot=4.5, dash=7.2) | |
slats("WTF?", dot=4.5, dash=7.2) | |
slats("nick") | |
slats("tree") | |
slats("obvs") | |
slats("andy") | |
slats("gtfo", dot=4.5, dash=7.2) | |
9 | |
9 | |
9 * 45 + 9 * 72 + 8 * 18 | |
# 19 thick | |
# 9 thin | |
# 3 more thin for padding | |
# |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment