Skip to content

Instantly share code, notes, and snippets.

@explodecomputer
Last active May 15, 2018 20:04
Show Gist options
  • Save explodecomputer/6fe0f2dbfecb44929c855c22b084b14c to your computer and use it in GitHub Desktop.
Save explodecomputer/6fe0f2dbfecb44929c855c22b084b14c to your computer and use it in GitHub Desktop.
slats
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