Older blog entries for Skud (starting at number 171)

Further thoughts on workflow

Further to My mostly-mobile digital workflow a couple of weeks ago. It’s had a little while to shake down, and I’ve come up with two real problems so far:

First, the exercise of replying to comments is tricky on mobile. Quite apart from the typing-on-my-phone issue is the problem that I can’t see the comment I’m replying to as I reply to it. This leads to me saying to myself, “I’ll answer that when I’m next at my laptop”, and then forgetting. Apologies to anyone who’s had belated or entirely absent replies lately. I think a semi-fix for this might simply to be to open the “reply” in a separate window from the comment I’m reading (in WordPress, I could have a reading copy open in Safari while replying via the WordPress app). It’s a bit fiddly though. Other suggestions welcome.

(As an aside, this seems like a must-have feature for blogging platforms that have mobile apps. Why doesn’t WordPress have this? Anyway, consider it noted as a desired feature for any future Dreamwidth mobile app development.)

Secondly, I am missing an RSS reader. I switched from Google Reader to NewsBlur last year around the time of the kerfuffle that I won’t bother linking to, but I have one fundamental problem with NewsBlur on mobile: there’s no star/favourite/etc option on the mobile client, and I use that (or used to use it) heavily for “interesting, come back and deal with it later” articles: often recipes or knitting patterns from my various food and craft blogs that I want to do something with later, but don’t really want to go through the steps of bookmarking right now. That may sound incredibly lazy — how hard is it to bookmark something on the spot? — but opening a link to the article on its blog site, then clicking through to Pinboard, then zooming in and entering tags and all that, then saving, is a pretty heavy multi-step process for something non-urgent. I used to like just starring them all and then one night when I was in the mood for looking at recipes and knitting patterns, going through and dealing with them all as a batch.

The upshot of this, anyway, is that I’m not really using NewsBlur as much as I could be, and I wind up missing lots of posts by people I’d like to read. Or rather, I sometimes eventually see them, but usually after the comments have peaked and died, and so it’s more of an archival reading exercise than a live one. (See, eg., Charlie Stross’s meta post on comments, which — ironically yet predictably — I didn’t see til it had about 250 comments, after someone I follow on Twitter linked it.

I would actually like to see those things more or less as they’re posted. For those bloggers who automatically post on Twitter when they have a new post, I can do that. For those that don’t… *sigh*. I’m actually pondering setting up an RSS reader via Twitter, since that’s something I check nearly constantly. I could create an account for the purpose, and a set of RSS-to-Twitter ifttt recipes. Has anyone done something similar? The obvious pitfall I can see looming is that I’m not sure ifttt supports multiple Twitter accounts, so I might need a separate ifttt account as well. Ugh. Thoughts?

A final alternative: I’ve been using Flipboard a bit for random browsing, but could quite happily upgrade it to a more serious role in my workflow. It supports RSS but only via Google Reader. Don’t suppose anyone knows of a way to get RSS on Flipboard without Google?

Syndicated 2012-06-03 08:54:52 from Infotropism

Fresh links for May 24th through May 31st

  • How Headphones Changed the World – "A short philosophical history of personal music", at The Atlantic
  • Amanda Palmer And Steve Albini On ‘Piracy’: It Only Helps Musicians – Surprise! (NB: not actually surprising) Steve Albini "rejects the term piracy" and thinks sharing music for free helps musicians, especially those who tour and play lots of live gigs. BTW, if you've never read Steve's rant about where money goes when you sign with a major label (linked from this article) then you definitely should.
  • A respose to Tom Tom’s OSM FUD – Tom Tom (the satnav provider) tries to spread fear, uncertainty and doubt about OpenStreetMap; here's a great takedown of their claims. Via David Gerard.
  • Commodore 64 Bass Guitar by Jeri Ellsworth – A bass guitar made out of an old C64. Nuff said.
  • Internet Arbitration | Judge.me – I honestly don't know whether this is an excellent disruption of a broken system, or a sign that we're heading even faster into an SFnal dystopian future. The fact you can pay by bitcoin makes me think the latter's more likely.

Syndicated 2012-05-31 13:14:49 from Infotropism

Technology without fossil fuel

Okay, I polled the twitters and enough people said that musing about worldbuilding was more interesting than it was masturbatory. So, in that case:

Assume that I desire a world different from ours in tech, but quite advanced in its own way. Does it make sense for this world to not have fossil fuels, and thus not have (or have a very different, less dirty) industrial revolution? Could it get to a point where it has, let’s say, widespread electric (or similar) power, intensive agriculture, and advanced medical technology (or at least around our level)? What differences would be implied for their culture? What sort of lifestyle would they have?

Example: lack of fossil fuels implies fewer/different plastics, and thus not having cheap synthetic fabrics. Clothing would be less disposable, people would own less of it, and it would be made/repaired with greater care.

For extra credit: does the scenario change if a) their environment is physically/geographically constrained so as to limit growth, and/or b) the society did not develop independently, but was seeded by another high tech one (e.g. us) so that they started out already having reasonably good non-fossil-fuel energy sources.

Syndicated 2012-05-30 22:01:41 from Infotropism

How is story formed???

This morning in the shower (formerly my favourite place for musing about random shit, though rapidly being supplanted by my bike commute) I was pondering something a teacher said about XLR cables and gender changers, and I got to thinking about what sort of lifeform would be male at one end and female at the other, and if that existed, what role would something play that was female (or male) at both ends? Next thing I knew, I had a fairly complex society imagined, with line marriages and rites of passage and institutional oppression and all that good stuff* (* not actually good stuff). And of course I started thinking that I should write something. The problem is, I have this world but no story to go in it.

Last time this happened, it was a complex alternate history of convict-era Australia, where the French invade in 1802 and the resistance is formed of the former NSW Corps and some of my favourite bits of the Royal Navy. But, hilarious as it would be to make Macarthur and Bligh team up to fight crime the French, I don’t actually want to tell that kind of “yay! colonialism!” story, and so all my detailed worldbuilding sat and gathered dust for a good long while.

I can’t remember which of our summer house-guests it was (anatsuno?) who suggested that I simply tell another story — one that I wanted to tell — set in that world, with all the military invasion stuff as background rather than foreground. It was excellent advice, and the story that I subsequently started to write is definitely the better for it.

So, what about this world with the gender stuff I was thinking about? I’ve got the background, but what’s the actual story? I randomly wondered what a police procedural would be like, and started building something around that on the bike ride home. It’s turning out quite interesting in my head, but that was a genre chosen more or less at random, which seems like a rather hit-or-miss method.

Do any of you have this worldbuilding-first habit? If so, how do you find the damn story?

Syndicated 2012-05-29 07:30:20 from Infotropism

When Alice Met Bob

The night before last, I had a dream that O’Reilly Media were making a Hollywood film — a romantic comedy, to be exact — about public key cryptography. The lead characters were called Alice and Bob, and they met cute by bumping into each other on the street and dropping the USB thumbdrives that had their private keys on them.

I’m suspect you could actually make a good story out of this, albeit a bit of an over-didactic Doctorow/Stephenson-esque one, since you’d have to ram in quite a lot of techno-cultural exposition along the way if you wanted it to make any sense at all.

Syndicated 2012-05-26 00:59:25 from Infotropism

Fresh links for May 18th through May 24th

  • Plan a Trip Through History With ORBIS, a Google Maps for Ancient Rome – How come it took three weeks for me to hear about this mapping hack to help you understand travel routes and expenses in Ancient Rome? Maps, history, digital humanities — what's not to love? I only wish this existed for other time periods. Imagine how useful it would be for people writing historical fiction!
  • Criminal Creativity: Untangling Cover Song Licensing on YouTube – A few interesting things here, including the little-known fact that you need a (nearly impossible to get, if you're an ordinary person) synch license to post a cover song on YouTube, and that ContentID can now identify cover songs, up to and including drunk guys belting out "Bohemian Rhapsody" in the back of police cars.
  • Brodustrial: WWJD? – Via jwz: an industrial music performer discovers he's booked to play alongside some really nasty bigots. Asking, "What Would Jello Biafra Do?" he ends up calling out the racism and sexism of the other bands' lyrics, videos, and album art in a PowerPoint presentation — while opening for them. It's good viewing, but NSFW.
  • bootlegMIC | Open Music Labs – A better mic for your iPhone, inspired by the crappy sound of all the concert videos on YouTube. Sold as a kit, the bootlegMIC is a small electret mic that plugs into your phone's headphone jack. Gain adjustment is done by swapping out resistors til you find one that works for your phone and use case.
  • DJ Rupture’s Sufi Plug Ins – Great post about Western assumptions built into music software such as Ableton, and some plugins that challenge those assumptions.

Syndicated 2012-05-24 11:04:47 from Infotropism

Fresh links for May 16th through May 17th

  • Ravelry API – Wait, what? How did I miss this. Ravelry has an API now, and they've been using it internally since Feb 2012, so it isn't just an unloved add-on. (You probably can't follow the link, which is to the Rav API forum, unless you're a member. But anyone who might be interested in this probably is already, so…)
  • Our real first gay president – Newsweek says Obama's the US's "first gay president", ignoring James Buchanan, who was openly gay in the 19th century. This article has some great context and thoughts on the ideology of progress. "Remembering that James Buchanan was homosexual complexifies our national narrative, to be sure, but it is a complexity that we need."
  • The world’s hottest digital markets: a music map – Interesting… this map is trying to show you digital music services' market share worldwide, but it also lets you see which digital music services are available in which countries.
  • Welcome to Life « Tom Scott – A science fiction story about what you see when you die. Or: the Singularity, ruined by lawyers.
  • The Bombay Royale – Karle Pyar Karle – Check out The Bombay Royale. They're a Melbourne band (including some recent graduates from my school) who play surf/disco/funk/Bollywood fusion, and apparently they've got a gig at the HiFi Bar on Swanston Street this Saturday. I'm planning on going.

Syndicated 2012-05-17 03:06:49 from Infotropism

Knitting as programming

I’ve seen a few people, over the years, compare knitting to programming. It usually goes something like this:

Wow, have you ever looked at a knitting pattern? It looks kind of like source code! Those knitters must be real geeks!

And it’s often accompanied by a snippet of a set of actual knitting instructions that look like incomprehensible gibberish to the uninitiated, but which your grandma could probably read and turn into a jumper or a scarf or an attractive toilet-paper-roll cover (my Nanna actually knitted these!)

In case you haven’t seen this kind of knitting pattern before, here’s an example:

1st Row: P. 3, * k. 1, p. 1, k. 1, p. 3, repeat from * to last 4 sts. (k. 1, p. 1) twice. etc.

A typical knitting pattern from the 1940s. This one is Sun-glo pattern #2616, "Country Club", a sporty cabled sweater in two colours, in case you were wondering.

There was even a post a little while ago entitled Knitters and coders: separated at birth? that talked about knitting patterns as code, and worked through some examples using regular expressions. It was a good post, but I don’t think it went far enough, so I want to riff on it a bit.

Here’s the thing. Let’s say you have a pattern that says:

row 10: k2 p3 *(c6f p6) rpt from * 8 times c6f p3 k2

(Or as the aforementioned article would put it would put it, (c6f p6){9}.)

You read those instructions and do what they say, producing a row of knitting that incorporates a number of cable twists against a purl background.

Is what you’re doing programming? Of course not! It’s the reverse of programming: you’re reading a series of low-level instructions and doing what they say. It would be more accurate to say you’re an interpreter, or possibly a compiler, since it’ll usually save you time and trouble to read a pattern right through before you begin. (Ask me how I know. Ugh.) You might even be called a human computer.

But let’s be clear: even though what you’re doing when you read a pattern is a complex technical skill, and involves code, it’s not programming.

Despite that, I very firmly believe that knitting is like programming. I just think that the common analogy drawn — of printed knitting patterns as source code — is not a very good one for describing the intellectual process of knitting as it is practiced by the current generation of geeky crafters.

To explain this I’m going to have to take a detour, so please bear with me. What follows is based on conversations I had years ago with my friend Rose White, aka @yarnivore, who studies hacker culture and presented at CCC (a hacker conference in Germany) on the subject of guerilla knitting. Watch Rose’s guerilla knitting talk on Youtube. I’m going to proceed to paraphrase Rose for the next few paragraphs here, so credit goes to her, and all blame for any errors to me.

In her presentation, Rose talks about knitting patterns as intellectual property through history. When knitting was first developed in the middle ages, it was a secret skill known only to the members of exclusive knitting guilds, who didn’t share it with anyone else. However, as Rose points out, knitting is easy to reverse engineer, so it didn’t take long for non-guild people to figure it out and start doing it. As one of the great knitters once wrote:

“Really, all you need to become a good knitter are wool, needles, hands, and slightly below-average intelligence. Of course, superior intelligence, such as yours and mine, is an advantage.” — Elizabeth Zimmerman

And so, from about the 16th or 17th century onward, you start to see more people knitting for themselves and their families, or as a cottage industry. Throughout this period, a number of traditional knitting styles and patterns were developed, but the fundamental thing about them was that, for the most part, they were the sort of patterns you could pass from person to person without writing them down.

Take a sock as an example. The simplest sock is a tube of fabric knitted until it’s long enough, then closed up at one end. Of course, it’ll fit better if you find a way to make it bend at an angle around the heel, and there are a number of techniques you can use for that. Ribbing at the cuff will help it stay up better. If you want a long, shapely sock you can add more stitches around the calf and reduce them at the ankle. You’ll save yourself some discomfort and possible blisters if you find a way to graft the toe end instead of sewing a lumpy seam. And of course you’ll probably want to embellish your sock according to the local fashion: perhaps a fancy coloured band around the top, or twisted cables down the side, a repeating texture all over.

This is just the icing on the cake, though: socks are all just tubes, when you get down to it. Fundamentally, there’s nothing about knitting a sock that needs a pattern; for hundreds of years, all anyone needed was a “slightly below-average intelligence”, an already-knitted one to look at every so often for reference, and perhaps a few pointers from someone who’d done it before. Gloves, jumpers, and other knitted garments are much the same. For the most part they’re just a series of tubes. Ba-dum-tish!

Fast forward to that point in the industrial revolution when most textile production has become mass production, most working class people are pulling long hours in factories and mills, and it’s cheaper to just buy a pair of socks than to knit your own. At this point, knitting becomes a bit of a luxury activity, and you start to see this in the proliferation of Victorian-era knitting books for ladies, specialising in delicate items like lace doilies and silk purses. No longer were people knitting practical items based on traditional patterns you could figure out with “below-average intelligence”; it became hip to show off your accomplishments by knitting increasingly complex and fiddly items, the patterns for which you could find in the finest publications for the discerning gentlewoman.

And then, in the 20th century, something truly awful happened. You see, the yarn companies realised that if they started publishing patterns themselves, they could use them to sell more yarn. But they didn’t want people using just any yarn. The idea was that you’d buy, say, a Patons pattern and then buy the Patons yarn to knit it with. To make sure that consumers were locked into the Patons brand, they’d make sure that the patterns were obfuscated so you wouldn’t be able to figure out how to substitute another company’s yarn.

This is fundamentally bullshit, and it’s amazing that they ever got away with it, but by this stage people had lost touch with a lot of the traditional methods, and so they didn’t have much choice. Just so the non-knitters understand how diabolical this is, let’s pause for a moment to talk a bit more about how knitting works. If you already knit and know about gauge and yarn substitution, you can skip down to below the next image.

Knitting is basically formed by repeating a single stitch (the knit stitch), which loops a length of yarn through itself in such a way as to form a stretchy fabric. To create a piece of knitting, you “cast on” a certain number of stitches, then knit, either back and forth, or round and round in circles. Each stitch looks like a “V” on one side and a sort of nubbly or wavy effect on the other side. If you want to see this, take a close look at your socks, which probably have Vs on the outside, nubbles on the inside, and alternating Vs/nubbles in the rib around the top. (A “purl” stitch is just a backwards knit stitch, with the V and nubbly sides reversed.)

Depending on the thickness of your yarn and needles, your stitches might be tight or loose. Big needles give looser stitches, and small needles give tighter ones with the same yarn. The measurement of this tightness or looseness — how many little V shapes you have per unit of distance — is called gauge or sometimes tension. For instance, worsted weight yarn on 4.5mm needles normally knits up at a gauge of 5 stitches per 2.5cm/1″, while finer yarn knit on smaller needles will have more stitches in the same distance.

As long as you know the gauge of your project and the yardage it requires, it’s fairly simple to substitute one yarn for another. However, 20th century yarn companies didn’t want you to know this, and they went out of their way to make sure you were locked in to their proprietary system.

Warning -- Use the wool specified, otherwise success of garment cannot be guaranteed. 3 skeins "Sunbeam" or "Wilga" blanket wool, shade No. 2101... etc.

So, this is the system that created knitting patterns like the one I linked at the top of this article, where yarn companies write the patterns and knitters interpret the code and execute it, without much input into the process, not even a choice of what yarn to use.

If being an instruction-executing machine doesn’t sound too appealling to you, you’ll be pleased to hear that there is an alternative. Modern knitters, especially those online, are increasingly returning to traditional techniques, making their own patterns, and adapting existing patterns to their own needs. One of the great leaders in this trend was the late, great Elizabeth Zimmermann, quoted above. EZ, as she is known, helped popularise, or perhaps re-popularise, traditional forms of knitwear in the United States, and along the way taught knitters to throw off the shackles of mid 20th century commercial knitting patterns and think for themselves again.

One of EZ’s best known patterns is for a sweater knitted to what she calls the Elizabeth Percentage System, or EPS. It’s so simple that almost anyone can understand it, and I often use it as an example when explaining the technical side of knitting to non-knitting geeks. It goes something like this:

  • Knit a gauge swatch and measure how many stitches per inch you have. Now measure your torso around your widest point, or your favourite existing sweater. Multiply the number of stitches by the number of inches. This is your key number (K).
  • Using a circular needle, cast on K stitches. This will be the hem around the bottom of your sweater. Knit until you get to the armpits (measure yourself or a favourite sweater to figure out how far that is).
  • For each sleeve, cast on 20% of K, then increase gently (2 stitches every 6 rows should about do it) til you get to 33% of K, then knit straight until your sleeves are long enough.
  • Join the sleeves to the body, and knit the yoke area (i.e. upper chest and back), decreasing — in one of several possible ways, all of which can be derived arithmetically — until you get to 40% of K, which is the neck opening, and cast off.

Of course, you can elaborate in various ways: ribbing at hem, cuffs and collar; textured stitches across part or all of the garment; coloured designs in the yoke area; leave a gap at the front and knit back and forth to make a cardigan. The options are endless, but the fundamental design is the same.

Now, people will possibly point out that EZ’s EPS pattern is copyright, but there’s a lot of bullshit about copyright in the knitting community, so let’s be clear right now: ideas cannot be copyrighted, though the expression of them (the specific words EZ wrote in her books and newsletters) can be. The idea of EZ’s EPS sweater is simple, based on traditional techniques, easy to reverse-engineer, and in fact could be done by anyone with “below-average intelligence” as she herself points out. There’s nothing tricky about it, it’s just simple craft.

But taking this simple kind of design and elaborating on it is where knitting really becomes like programming. When I knit a sweater this way, I’m not executing instructions written by someone else. I’m creating my own code, designing and implementing my own project from the ground up.

I start out by considering my requirements: What sort of garment do I want: pullover, cardigan, long coat? What design elements do I want to incorporate: pockets, a hood, shaping to make it more fitted at the waist, a warm shawl collar, those awesome thumb-holes in the sleeves that let you pull them down and wear them as fingerless mittens? What materials and tools do I have at my disposal? Can I take the opportunity to try out a new technique or refine my skills?

I prototype my design by knitting a swatch or something small like a hat, using the same stitches and yarn as I’m thinking of using for my finished project. From this, I figure out my gauge, and using one of the many tools available I can calculate the yardage I’ll need, without ever relying on a yarn company to tell me how much of their product I ought to buy. Modern yarn sellers list the yardage of their yarn on the label, or failing that, websites like Ravelry have all the information I could need.

To implement my design, I draw on a variety of design patterns — yeah, knitting’s had them far longer than OO programming has — that I’ve learned through classic books like EZ’s or Barbara Walker’s, and through blogs like TechKnitting: short row shaping for better fit, twisted rib for extra stretch in the cuffs and collar, underarm grafting to make a seamless join, endless options for buttonholes, cast-off techniques for all occasions. Some knitting techniques even follow agile principles, like EZ’s “thumb trick” for mittens or her “afterthought pockets”, which are inserted when and where needed without requiring Big Design Up Front.

When it comes to this kind of knitting, an experienced knitter is one who takes a modular approach, mixing and matching existing patterns and individual techniques, to build a finished product. It’s someone who can look at a pattern and figure out how to knit it in a different yarn, a different gauge, and a different size, without breaking a sweat over the calculations. It’s someone who geeks out on the knot topology, the 3D spatial reasoning, and the materials science of it all… and knows how to put them to practical use. It’s the difference between being a code monkey and being an engineer.

So when we talking about how “knitting is like programming”, let’s take a minute to go beyond reading and executing code and think about how much further knitters’ technical skills really extend.


Epilogue: Since I suspect a bunch of geeky knitters will read this, I’m going to lay out my current technical challenge and see if anyone has any thoughts.

I’m knitting a triangular shawl beginning at one of the tips, started by casting on 3st and increasing at the start of every second row. It has integral i-cord borders, which I’m doing by yf, sl 3 at the end of each row, then on the next row I k3 then continue as usual.

On the straight side of the shawl this makes a nice border, firm but stretchy. But on the diagonal side (i.e. the side with the increases) the i-cord, which after all only has half as many rows as there are in the main part of the knitting, is stretched really tight. I’m worried that it’s going to limit my ability to block the shawl as vigorously as I’d like to.

My current best idea is that every second time I do the i-cord on the tightly-stretched diagonal side, I insert an extra row. That is, I would go yf sl3 at the end of the previous row, turn, k3, slip them back on the original needle, then knit the three stitches again and continue. I figure this gives me 3 i-cord rows for every 2 I had previously, which is not far from the sqrt(2):1 ratio of the side lengths. Anyone done this before?

Syndicated 2012-05-16 13:22:36 from Infotropism

Open thread / Ask me anything

When I posted the comment policy the other day, it mentioned that comments on any given post close after a certain time, and if you want to leave a comment elsewhere you should do so on the most recent open thread. So, here is one for that purpose.

I’ll also make it an “ask me anything” thread, in the tradition of the AMA forum on Reddit. If you’ve got questions about sound engineering, Melbourne, leaving tech, or whatever else, bring ‘em on.

Syndicated 2012-05-16 02:41:17 from Infotropism

162 older entries...

New Advogato Features

New HTML Parser: The long-awaited libxml2 based HTML parser code is live. It needs further work but already handles most markup better than the original parser.

Keep up with the latest Advogato features by reading the Advogato status blog.

If you're a C programmer with some spare time, take a look at the mod_virgule project page and help us with one of the tasks on the ToDo list!