Last active

Embed URL

HTTPS clone URL

SSH clone URL

You can clone with HTTPS or SSH.

Download Gist

Morse code brute force solver

View First Guy
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191 192 193 194 195 196 197 198 199 200 201
# ruby morse-solver.rb "-...--.-."
bgn
bgte
bmae
bmen
bmete
bmr
bqe
btc
btke
btnn
btnte
bttae
btten
bttete
bttr
dac
dake
dann
dante
datae
daten
datete
datr
degn
degte
demae
demen
demete
demr
deqe
detc
detke
detnn
detnte
dettae
detten
dettete
dettr
dpn
dpte
dwae
dwen
dwete
dwr
neac
neake
neann
neante
neatae
neaten
neatete
neatr
neegn
neegte
neemae
neemen
neemete
neemr
neeqe
neetc
neetke
neetnn
neetnte
neettae
neetten
neettete
neettr
nepn
nepte
newae
newen
newete
newr
nign
nigte
nimae
nimen
nimete
nimr
niqe
nitc
nitke
nitnn
nitnte
nittae
nitten
nittete
nittr
nuc
nuke
nunn
nunte
nutae
nuten
nutete
nutr
teeac
teeake
teeann
teeante
teeatae
teeaten
teeatete
teeatr
teeegn
teeegte
teeemae
teeemen
teeemete
teeemr
teeeqe
teeetc
teeetke
teeetnn
teeetnte
teeettae
teeetten
teeettete
teeettr
teepn
teepte
teewae
teewen
teewete
teewr
teign
teigte
teimae
teimen
teimete
teimr
teiqe
teitc
teitke
teitnn
teitnte
teittae
teitten
teittete
teittr
teuc
teuke
teunn
teunte
teutae
teuten
teutete
teutr
tiac
tiake
tiann
tiante
tiatae
tiaten
tiatete
tiatr
tiegn
tiegte
tiemae
tiemen
tiemete
tiemr
tieqe
tietc
tietke
tietnn
tietnte
tiettae
tietten
tiettete
tiettr
tipn
tipte
tiwae
tiwen
tiwete
tiwr
tsgn
tsgte
tsmae
tsmen
tsmete
tsmr
tsqe
tstc
tstke
tstnn
tstnte
tsttae
tstten
tsttete
tsttr
tvc
tvke
tvnn
tvnte
tvtae
tvten
tvtete
tvtr
View First Guy
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191 192 193 194 195 196 197 198 199 200 201
# ruby morse-solver.rb "..-....-..."
bgn
bgte
bmae
bmen
bmete
bmr
bqe
btc
btke
btnn
btnte
bttae
btten
bttete
bttr
dac
dake
dann
dante
datae
daten
datete
datr
degn
degte
demae
demen
demete
demr
deqe
detc
detke
detnn
detnte
dettae
detten
dettete
dettr
dpn
dpte
dwae
dwen
dwete
dwr
neac
neake
neann
neante
neatae
neaten
neatete
neatr
neegn
neegte
neemae
neemen
neemete
neemr
neeqe
neetc
neetke
neetnn
neetnte
neettae
neetten
neettete
neettr
nepn
nepte
newae
newen
newete
newr
nign
nigte
nimae
nimen
nimete
nimr
niqe
nitc
nitke
nitnn
nitnte
nittae
nitten
nittete
nittr
nuc
nuke
nunn
nunte
nutae
nuten
nutete
nutr
teeac
teeake
teeann
teeante
teeatae
teeaten
teeatete
teeatr
teeegn
teeegte
teeemae
teeemen
teeemete
teeemr
teeeqe
teeetc
teeetke
teeetnn
teeetnte
teeettae
teeetten
teeettete
teeettr
teepn
teepte
teewae
teewen
teewete
teewr
teign
teigte
teimae
teimen
teimete
teimr
teiqe
teitc
teitke
teitnn
teitnte
teittae
teitten
teittete
teittr
teuc
teuke
teunn
teunte
teutae
teuten
teutete
teutr
tiac
tiake
tiann
tiante
tiatae
tiaten
tiatete
tiatr
tiegn
tiegte
tiemae
tiemen
tiemete
tiemr
tieqe
tietc
tietke
tietnn
tietnte
tiettae
tietten
tiettete
tiettr
tipn
tipte
tiwae
tiwen
tiwete
tiwr
tsgn
tsgte
tsmae
tsmen
tsmete
tsmr
tsqe
tstc
tstke
tstnn
tstnte
tsttae
tstten
tsttete
tsttr
tvc
tvke
tvnn
tvnte
tvtae
tvten
tvtete
tvtr
View First Guy
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49
#/usr/bin/ruby
 
abort("Usage: morse-solver.rb [code]") if ARGV.length != 1
 
MORSE = {
".-" => "a",
"-..." => "b",
"-.-." => "c",
"-.." => "d",
"." => "e",
"..-." => "f",
"--." => "g",
"...." => "h",
".." => "i",
".---" => "j",
"-.-" => "k",
".-.." => "l",
"--" => "m",
"-." => "n",
"---" => "o",
".--." => "p",
"--.-" => "q",
".-." => "r",
"..." => "s",
"-" => "t",
"..-" => "u",
"...-" => "v",
".--" => "w",
"-..-" => "x",
"-.--" => "y",
"--.." => "z"
}
 
def get_letters(input_code)
MORSE.each do |code, letter|
next unless input_code.start_with?(code)
remainder = input_code.sub(/^#{code}/, "")
if remainder.empty?
yield letter
else
get_letters(remainder) {|part| yield letter + part }
end
end
end
 
get_letters(ARGV[0]) do |found|
puts found
end
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Something went wrong with that request. Please try again.