Skip to main content

KnitPicker - a knitting stitch counter programming project

The art of knitting lace is an intricate process; it takes great skill with knitting and the ability to keep track of complex knitting instructions. One day, my wife Sophie was knitting a particularly complex pattern, and she complained about not being able to keep track of how many stitches she should have for a particular row or how many should be left in the next row. Enter the programmer!


I’ve been throwing together little utilities for myself for ages. Sometimes I want to calculate some value that would take too long by hand; sometimes I want to sort a list in some particular way. Other times I have trouble deciding what to have for dinner, so I’ll write up a list of options and then pop in a random number to pick from it. I have one such script from ages ago that I used regularly when living in Montreal.


It was clear to me that Sophie needed software to handle her problem. With instructions spanning up to a hundred stitches, it’s the sort of thing that’s hard to keep track of in your head, and would take quite a bit of paper to work out by hand. Computers are great at keeping track of numbers and even better at doing arithmetic.


Knitting instructions use a very simple notation: k1 means “knit one stitch,” psso means “pass slipped stitch over,” and so on. These simple steps are listed in sequence to form a row of knitting, and this is the sort of thing a computer is great at processing. The kind of software that does this sort of processing is called a parser. A parser takes a string of characters and breaks it up into individual components called tokens.


I’m not a great parser writer, but I knew of a handy bit of software called Lex. It can analyze different pieces of each token and easily extract numerical information. This made it the right tool for the job, and its ease of use was an added bonus.


I wrote up a quick bit of Lex code, threw together a quick UI with Apple’s Interface Builder, and made the text field update its book-keeping every time the user typed in a new character. This made for a live-updating stitch counter that a lace knitter could use as they worked their way through a pattern. And so KnitPicker was born.


There are some limitations to the software at the moment, such as the lack of support for patterns that contain instructions on repeating a particular section. I had planned to eventually add such support, but never got around to it. Sophie had stopped knitting lace due to problems with carpal tunnel syndrome, no one else was using the software and I had other things to concentrate on.


Had there been other users demanding such a feature, no doubt it would have been added. I did take some time to research the problem, and I’m confident it would not be a big deal.


You can find KnitPicker at my main website, along with other things I’ve thrown together. All in all it was a good learning experience, and for a short while provided Sophie with a useful tool. It’s fun when you can meld your partner’s interests with your own and work out something productive.

Comments

Popular posts from this blog

Losing a loved one, as an atheist

When I was around 11 or 12, I started to question the received wisdom that there was a deity. I came to the conclusion that all signs pointed to no. Do I outright, unequivocally and without reservation deny the existence of such an entity? No. However, I don’t see it as a likely scenario, and until I’m presented with hard evidence, I have enough reason to say that there isn’t. Some people take comfort in their religious beliefs, especially their belief in an afterlife. I have no interest in an afterlife, either for myself of my loved ones. In the past five years I’ve lost both my grandmother and mother, both of whom I loved dearly. No amount of belief in an afterlife would soothe my pain. I mourn at the fact that they are lost from my life, right here, right now. I imagine it’s the same even for those who believe that the dead pass on to somewhere else. You can’t escape the fact that their tangible presence is forever gone from your life. Unless you believe in ghosts, but that’s a ...

Living with Bipolar Disorder

Feeling down when something bad happens is normal. Feeling elated when something good happens is great. Bipolar disorder is neither. Previously referred to as manic depressive disorder, bipolar disorder consists of mood episodes ranging from deep, dark depression to the sense of invincibility and superiority that is characteristic of a manic phase. It disrupts the lives of those who suffer from it and all those around them. Luckily, however, with the right course of treatment it can be kept under control. Bipolar disorder has been found to be linked genetically and physiologically to schizophrenia. A person suffering from bipolar disorder can experience the same sort of hallucinations and delusions as someone with schizophrenia. Both have a genetic component, with a number of genes interacting to create a pre-disposition to these disorders. The families of those afflicted often include others with one of these disorders, mood disorders or alcoholism. Depression is a common symptom ...

An Open Letter to David Hewlett

Dear Mr. Hewlett, I’m writing to you in the hopes that you’ll read this and learn a bit about the great woman who was my mother and a big fan of yours. Helen died recently at the much-too-young age of 59. In April she found out she had pancreatic cancer; less than 5 months later, she passed away. If you don’t read this, that’s okay, I guess, because it’s also a part of my grieving process. I think you’ll be touched by it, but at the same time, it’s helping me deal with the loss. My mother as your fan Every movie you were in, she wanted to see. She didn’t get a chance to before she went. I had wanted to buy her A Dog’s Breakfast for Christmas; I think she would have really liked it. I think Cube would have given her a bit of claustrophobia, but didn’t it do that for everyone? She loved Atlantis. I think your performance was a big part of that. Joe Flanigan and Paul McGillion may also have had something to do with that. The episodes she watched of SG-1 were mostly the ones with...