Embedding words in knitting rewrite, part 1
A few months ago I proposed a rewrite of my secret code pages because they’re a little disorganized and confusing for many people. It doesn’t help that I tacked on some extra content in places that it didn’t really fit. Anyway, I think it needs doing.
I’m going to post the drafts as blog posts before changing the originals. Please feel free to tell me if anything is confusing!
Here is my outline of what I’m planning, though I might change it as I go.
I’m going to keep the introductory page as it is. I’ll edit the summary after doing the rewrite. I don’t think there’s much point to changing that until I know how the whole set of pages will look.
This blog post contains two edited pages:
Converting Words to Numbers
A first step in converting words to knitting (or other fiber arts) is to encode letters as numbers. One way to do this is to assign a number to each letter. The simplest method for this is to use regular numbers, assigning A=1, L=12, and Z=26. This can produce nice results, and is most useful for the simple layout methods. (The somewhat more involved methods require using a zero at the beginning of the first 9 letters, so that A=01, B=02, and so on.)
If you don’t like the way the patterns come out with these usual numbers, you can translate the numbers into different numeral systems, or bases. These are ways of counting used in mathematics and computer programming, but it’s not necessary to understand them for code purposes. (I think this is a good explanation of bases.) I’ve provided a chart at the bottom of this post for numbers in base 10 down to base 6, as well as ASCII values. There are certainly other possibilities.
If I take the word peace, here are the different numbers produced by the different bases.
- base 10: 16 05 01 03 05
- base 9: 17 05 01 03 05
- base 8: 20 05 01 03 05
- base 7: 22 05 01 03 05
- base 6: 24 05 01 03 05
- base 5: 031 010 001 003 010
- base 4: 100 011 001 003 011
- base 3: 121 012 001 010 012
- base 2: 10000 00101 00001 00011 00101
(The reason the last four letters are encoded the same way in bases 6-10 is that they are clustered up at the beginning of the alphabet. If there were Ts or Ys or Qs in peace, then the coding would look more variable.)
Another option is to use the numbers on a telephone keypad, though this would be a one-way cipher; it would be trickier for someone looking at the stitch pattern to turn it back into the original letters, even if you wanted them to.
Using this method, the word peace would be 73223.
Using ASCII values for letters also works. (And in fact, it comes with upper and lower case letters and punctuation.) Unicode values would allow the use of characters that aren’t used in the English alphabet. Alternately, if you regularly use a different alphabet, you could assign numbers to those letters instead.
The very first way I thought of to convert meaning to numbers is to use the Dewey Decimal System —one of the methods librarians use to assign call numbers to books so they can be shelved according to their primary topic. The best resource for this (because it goes into the most detail) is the set of books that lists all the Dewey numbers in it. To use this, you’ll need to go to a library that uses Dewey for its call numbers; I recommend contacting the library reference desk to find out if they have the books available for you to use.
A good backup system is to use WorldCat. Do a subject search for your meaning. If that doesn’t produce results, do a keyword search, and then pick a likely looking subject heading. On the detailed record page, look for the Dewey Decimal number for the books that come up. The one that appears most often is probably the Dewey Decimal number for your topic.
Finally, if you enjoy the idea of encryption, there are a number of techniques for putting words in secret code, which you could then further encode as knitting. See Further Resources for some suggested links.
The Problem of Zero
Once you’ve generated numbers to use in your stitch patterns, you’ll be using those numbers to count stitches or squares on a grid. Counting to zero can be tricky. One option is to add one to every digit, so that 0 is 1, 5 is 6, and 9 is 10. Another option is to turn zero into ten. A third option is to ignore all zeros. Note that this last possibility will make your code one way: decryption will be nearly impossible, even for someone who knows the code.
I usually use a fourth possibility for dealing with zeroes with my usual code layouts, but it’s easier to explain alongside the layout method.
Letter Conversion Table
10 | 9 | 8 | 7 | 6 | ASCII | |
---|---|---|---|---|---|---|
A | 01 | 01 | 01 | 01 | 01 | 65 |
B | 02 | 02 | 02 | 02 | 02 | 66 |
C | 03 | 03 | 03 | 03 | 03 | 67 |
D | 04 | 04 | 04 | 04 | 04 | 68 |
E | 05 | 05 | 05 | 05 | 05 | 69 |
F | 06 | 06 | 06 | 06 | 10 | 70 |
G | 07 | 07 | 07 | 10 | 11 | 71 |
H | 08 | 08 | 10 | 11 | 12 | 72 |
I | 09 | 10 | 11 | 12 | 13 | 73 |
J | 10 | 11 | 12 | 13 | 14 | 74 |
K | 11 | 12 | 13 | 14 | 15 | 75 |
L | 12 | 13 | 14 | 15 | 20 | 76 |
M | 13 | 14 | 15 | 16 | 21 | 77 |
N | 14 | 15 | 16 | 20 | 22 | 78 |
O | 15 | 16 | 17 | 21 | 23 | 79 |
P | 16 | 17 | 20 | 22 | 24 | 80 |
Q | 17 | 18 | 21 | 23 | 25 | 81 |
R | 18 | 20 | 22 | 24 | 30 | 82 |
S | 19 | 21 | 23 | 25 | 31 | 83 |
T | 20 | 22 | 24 | 26 | 32 | 84 |
U | 21 | 23 | 25 | 30 | 33 | 85 |
V | 22 | 24 | 26 | 31 | 34 | 86 |
W | 23 | 25 | 27 | 32 | 35 | 87 |
X | 24 | 26 | 30 | 33 | 40 | 88 |
Y | 25 | 27 | 31 | 34 | 41 | 89 |
Z | 26 | 28 | 32 | 35 | 42 | 90 |
Next up: Basic layouts for encoded numbers: Ribbing
Basic layouts for encoded numbers: Ribbing
These are two straightforward ways of turning numbers into knitting. I’m sure there are other possibilities as well. Neither of these requires the leading zero for the letters at the beginning of the alphabet. I’ll use the base ten numbers for peace for the ribbing: 16, 5, 1, 3, 5.
Easier ribbing:
Please note that this is a very wide repeat, most suitable for a blanket. Worked in finer yarns, it would be possible to make a hat or a sweater, but it needs a multiple of 60 stitches!
This involves alternating how many stitches to knit and then purl, using the numbers generated by the code. Since there are an odd number of letters in peace, the word is repeated twice before the pattern starts over.
Row 1: *k16, p5, k1, p3, k5, p16, k5, p1, k3, p5; work from *.
Row 2: *k5, p3, k1, p5, k16, p5, k3, p1, k5, p16; work from *.
Slightly more complex ribbing:
In this case, there will be one (p1, k1) column for each letter. The band of ribbing is the same number of rows as the largest number in the word, and the rib for each letter stops at the row with the same number as that letter. Depending on the height of the ribs, this might or might prevent curling.
Knit a swatch of this, at least 3 repeats, or 30 stitches wide, and then look at each side to see which you like best. This method is slightly more complex. However, it’s generally more useful because the stitch repeat is smaller.
Basic Layouts: Sequence knitting
If you’re not already a sequence knitter, I’ve written a review of the Sequence Knitting book that might get you started. If you went to use an encoded word for sequence knitting, I recommend a really short word. I would particularly recommend using the telephone keypad method of turning letters into numbers. And if you’re reading this and haven’t tried sequence knitting, it’s good fun!
Basic Layouts: stripes
Basic Layouts: Checks
Next up: charting numbers on a rectangular grid (like a piece of graph paper).
Whew. I hope that wasn’t too long for one post! In any case, I hope it’s an improvement, though it’s the later sections that need more help, I think. Please feel free to let me know if there’s anything here that’s confusing.