numonic 0.0.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (5) hide show
  1. data/LICENSE +22 -0
  2. data/README.md +80 -0
  3. data/bin/numonic +26 -0
  4. data/numonic.gemspec +16 -0
  5. metadata +51 -0
data/LICENSE ADDED
@@ -0,0 +1,22 @@
1
+ Copyright 2013 Dafydd Crosby (dafydd@dafyddcrosby.com)
2
+ All rights reserved.
3
+
4
+ Redistribution and use in source and binary forms, with or without
5
+ modification, are permitted provided that the following conditions are met:
6
+
7
+ 1. Redistributions of source code must retain the above copyright notice, this
8
+ list of conditions and the following disclaimer.
9
+ 2. Redistributions in binary form must reproduce the above copyright notice,
10
+ this list of conditions and the following disclaimer in the documentation
11
+ and/or other materials provided with the distribution.
12
+
13
+ THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
14
+ AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
15
+ IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
16
+ DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE
17
+ FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
18
+ DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
19
+ SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
20
+ CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
21
+ OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
22
+ OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
@@ -0,0 +1,80 @@
1
+ # Numonic
2
+
3
+ The human brain has trouble remembering long numbers. Take for example:
4
+
5
+ 9285 9495 3463 8841
6
+
7
+ Not very easy to remember quickly, is it? But how about the phrase:
8
+
9
+ painful purple marjoram favorite
10
+
11
+ Nonsensical, but still easier to remember. As you might be guessing now, there
12
+ is a system that turns numbers into mnemonics so that you can remember phone
13
+ numbers, credit card numbers, and any other long number sequence you would
14
+ like to remember.
15
+
16
+ ## System
17
+
18
+ The trick is to break the number apart into consonants, and then make words
19
+ out of the consonants. If you slowly talk out the words, you'll find that
20
+ the sibling consonants for a number have a same 'mouth-feel' to them
21
+ (if you've ever studied lip-reading, you'll catch on right away!)
22
+
23
+ 0 - z, s, and soft c
24
+ 1 - t, d
25
+ 2 - n
26
+ 3 - m
27
+ 4 - r
28
+ 5 - l
29
+ 6 - j, sh, ch, g
30
+ 7 - k, hard c, hard g
31
+ 8 - f, v, ph
32
+ 9 - p, b
33
+
34
+ * vowels have no value ('onomatopoeia' == 2319)
35
+ * silent letters are discarded ('sign' == 02, not 062)
36
+ * w, h, and y have no value ('widely' == 15, 'whirlybird' == 45941)
37
+ * double letters count as one ('sally' == 05, not 055)
38
+
39
+ You can turn these words into phrases, so that the first 10 digits of pi
40
+ can be remembered as:
41
+
42
+ Mutter tulip Nietzche lame
43
+
44
+ ## Installation
45
+
46
+ `gem install numonic`
47
+
48
+ ## Using numonic
49
+
50
+ Numonic helps you learn the system quickly, and can give you mnemonic
51
+ ideas easily. Say you really want to remember your friend Jenny's number.
52
+ Just type in:
53
+
54
+ `numonic 8675309`
55
+
56
+ And you get 'fjklmzp'. Start mouthing out the consonants, and you get
57
+ something like 'fudge kill maze pie'. Awesome! Serve me up a slice of that!
58
+
59
+ Have trouble remembering your license plate? Numonic simply keeps any letters
60
+ that you put in, so:
61
+
62
+ `numonic BDR-529`
63
+
64
+ becomes
65
+
66
+ bdr-lnp
67
+
68
+ which can be turned into
69
+
70
+ butter low nap
71
+
72
+ Got a really long list of numbers in a file? Numonic also accepts STDIN
73
+
74
+ `cat list_o_numbers.txt | numonic`
75
+
76
+ As you might imagine, having a strong vocabulary can help you come up with
77
+ really colorful phrases that make it easy to memorize long numbers.
78
+
79
+ Further reading:
80
+ "The Memory Book" by Harry Lorayne & Jerry Lucas
@@ -0,0 +1,26 @@
1
+ #!/usr/bin/env ruby
2
+
3
+ numonics = {
4
+ '0' => 'z',
5
+ '1' => 't',
6
+ '2' => 'n',
7
+ '3' => 'm',
8
+ '4' => 'r',
9
+ '5' => 'l',
10
+ '6' => 'j',
11
+ '7' => 'k',
12
+ '8' => 'f',
13
+ '9' => 'p',
14
+ }
15
+
16
+ unless ARGV.empty?
17
+ num = ARGF.argv.join(" ")
18
+ else
19
+ num = ARGF.read.chomp
20
+ end
21
+
22
+ num.to_s.split('').each { |d|
23
+ print numonics.include?(d) ? numonics[d] : d
24
+ }
25
+ puts ""
26
+ STDOUT.flush
@@ -0,0 +1,16 @@
1
+ # -*- encoding: utf-8 -*-
2
+ Gem::Specification.new do |gem|
3
+ gem.name = "numonic"
4
+ gem.authors = ["Dafydd Crosby"]
5
+ gem.description = %q{Easily memorize long numbers using mnemonics}
6
+ gem.summary = %q{Numonic translates numbers into consonants so that you can make phrases to remember them}
7
+
8
+ gem.email = "dafydd@dafyddcrosby.com"
9
+ gem.homepage = "https://github.com/dafyddcrosby/numonic"
10
+
11
+ gem.license = 'bsd' # The (three-clause) BSD License
12
+
13
+ gem.files = `git ls-files`.split($\)
14
+ gem.executables = gem.files.grep(%r{^bin/}).map{ |f| File.basename(f) }
15
+ gem.version = "0.0.1"
16
+ end
metadata ADDED
@@ -0,0 +1,51 @@
1
+ --- !ruby/object:Gem::Specification
2
+ name: numonic
3
+ version: !ruby/object:Gem::Version
4
+ version: 0.0.1
5
+ prerelease:
6
+ platform: ruby
7
+ authors:
8
+ - Dafydd Crosby
9
+ autorequire:
10
+ bindir: bin
11
+ cert_chain: []
12
+ date: 2013-10-09 00:00:00.000000000 Z
13
+ dependencies: []
14
+ description: Easily memorize long numbers using mnemonics
15
+ email: dafydd@dafyddcrosby.com
16
+ executables:
17
+ - numonic
18
+ extensions: []
19
+ extra_rdoc_files: []
20
+ files:
21
+ - LICENSE
22
+ - README.md
23
+ - bin/numonic
24
+ - numonic.gemspec
25
+ homepage: https://github.com/dafyddcrosby/numonic
26
+ licenses:
27
+ - bsd
28
+ post_install_message:
29
+ rdoc_options: []
30
+ require_paths:
31
+ - lib
32
+ required_ruby_version: !ruby/object:Gem::Requirement
33
+ none: false
34
+ requirements:
35
+ - - ! '>='
36
+ - !ruby/object:Gem::Version
37
+ version: '0'
38
+ required_rubygems_version: !ruby/object:Gem::Requirement
39
+ none: false
40
+ requirements:
41
+ - - ! '>='
42
+ - !ruby/object:Gem::Version
43
+ version: '0'
44
+ requirements: []
45
+ rubyforge_project:
46
+ rubygems_version: 1.8.24
47
+ signing_key:
48
+ specification_version: 3
49
+ summary: Numonic translates numbers into consonants so that you can make phrases to
50
+ remember them
51
+ test_files: []