Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.

Knit One, Compute One - YOW! 2016

401 views

Published on

Slides for the talk I gave at the YOW! 2016 Conference in Melbourne, Brisbane, and Sydney

Published in: Technology
  • Be the first to comment

  • Be the first to like this

Knit One, Compute One - YOW! 2016

  1. 1. P H O T O : L I S A C O C K B U R N KNIT ONE COMPUTE ONE Kris Howard @web_goddess YOW! Sydney 2016
  2. 2. ENCRYPTION
  3. 3. for i in [1..5] if i % 15 is 0 console.log "FizzBuzz" else if i % 3 is 0 console.log "Fizz" else if i % 5 is 0 console.log "Buzz" else console.log i
  4. 4. 1 2 FIZZ 4 BUZZ
  5. 5. Worked over a multiple of 24 stitches. Row 1 (RS): Knit Row 2: Purl Row 3: *(k2tog) 4 times, (yo, k1) 8 times, (k2tog) 4 times; rep from * to end. Row 4: Purl Repeat rows 1-4 until desired length.
  6. 6. FEATHER & FAN STITCH
  7. 7. Programming Knitting
  8. 8. Programming Knitting
  9. 9. Programming Knitting Me
  10. 10. F L I C K R : L O R N A M I T C H E L L
  11. 11. F L I C K R : S B R I S T O W
  12. 12. KNITTING IS BINARY F L I C K R : S T E P H A N I E A S H E R
  13. 13. “DECODERHAT”BYZABETSTEWART
  14. 14. “BINARYSCARF”BYHEYCARRIEANN
  15. 15. “THEVIRALKNITTINGPROJECT"
  16. 16. R A V E L R Y : C Y NF L I C K R : D E V A B U R G E R
  17. 17. F L I C K R : A D A M K N I T S
  18. 18. F L I C K R : J A C Q U E L I N E - W
  19. 19. “MORSECODE”BYKATEATHERLEY
  20. 20. Letters converted to base 6, graphed, and mirrored “PEACE”BYNAOMIPARKHURST
  21. 21. “BRAILLESOCKS”BYJESSICALANDERS
  22. 22. “ S C O R E B O A R D ” B Y M I C H E L L E H U N T E R F L I C K R : T O N Y & W A Y N E
  23. 23. Cast on 24 stitches.
  24. 24. FOR LOOP
  25. 25. let stitchCount = 24; for (let i = 0; i < stitchCount; i++) { stitch.castOn() }
  26. 26. let stitchCount = 24; for (let i = 0; i < stitchCount; i++) { stitch.castOn() }
  27. 27. let stitchCount = 24; for (let i = 0; i < stitchCount; i++) { stitch.castOn() }
  28. 28. K2 P2
  29. 29. for (let i = 0; i < 2; i++) { stitch.knit() } for (let i = 0; i < 2; i++) { stitch.purl(): }
  30. 30. for (let i = 0; i < 2; i++) { stitch.knit() } for (let i = 0; i < 2; i++) { stitch.purl(): }
  31. 31. for (let i = 0; i < 2; i++) { stitch.knit() } for (let i = 0; i < 2; i++) { stitch.purl(): }
  32. 32. Repeat rows 1 – 4 ten times.
  33. 33. for (let i = 0; i < 10; i++) { nextRow.row1(); nextRow.row2(); nextRow.row3(); nextRow.row4(); }
  34. 34. for (let i = 0; i < 10; i++) { nextRow.row1(); nextRow.row2(); nextRow.row3(); nextRow.row4(); }
  35. 35. for (let i = 0; i < 10; i++) { nextRow.row1(); nextRow.row2(); nextRow.row3(); nextRow.row4(); }
  36. 36. for (let i = 0; i < 10; i++) { nextRow.row1(); nextRow.row2(); nextRow.row3(); nextRow.row4(); }
  37. 37. for (let i = 0; i < 10; i++) { nextRow.row1(); nextRow.row2(); nextRow.row3(); nextRow.row4(); }
  38. 38. for (let i = 0; i < 10; i++) { nextRow.row1(); nextRow.row2(); nextRow.row3(); nextRow.row4(); }
  39. 39. Repeat to end of row.
  40. 40. WHILE LOOP
  41. 41. while ( !thisrow.atEnd() ) { stitch.knit(); }
  42. 42. while ( !thisrow.atEnd() ) { stitch.knit(); }
  43. 43. while ( !thisrow.atEnd() ) { stitch.knit(); }
  44. 44. Repeat rows 1-4 until scarf is 80in long or desired length.
  45. 45. let desiredLength = 80; while ( scarf.length < desiredLength ) { nextRow.row1(); nextRow.row2(); nextRow.row3(); nextRow.row4(); }
  46. 46. let desiredLength = 80; while ( scarf.length < desiredLength ) { nextRow.row1(); nextRow.row2(); nextRow.row3(); nextRow.row4(); }
  47. 47. let desiredLength = 80; while ( scarf.length < desiredLength ) { nextRow.row1(); nextRow.row2(); nextRow.row3(); nextRow.row4(); }
  48. 48. let desiredLength = 80; while ( scarf.length < desiredLength ) { nextRow.row1(); nextRow.row2(); nextRow.row3(); nextRow.row4(); }
  49. 49. let desiredLength = 80; while ( scarf.length < desiredLength ) { nextRow.row1(); nextRow.row2(); nextRow.row3(); nextRow.row4(); }
  50. 50. let desiredLength = 80; while ( scarf.length < desiredLength ) { nextRow.row1(); nextRow.row2(); nextRow.row3(); nextRow.row4(); }
  51. 51. let desiredLength = 80; while ( scarf.length < desiredLength ) { nextRow.row1(); nextRow.row2(); nextRow.row3(); nextRow.row4(); }
  52. 52. Row 3: *(k2tog) 4 times, (yo, k1) 8 times, (k2tog) 4 times; rep from * to end.
  53. 53. while ( !thisRow.atEnd() ) { stitch.k2tog(4); for (let i = 0; i < 8, i++) { stitch.yo(); stitch.knit(); } stitch.k2tog(4); }
  54. 54. while ( !thisRow.atEnd() ) { stitch.k2tog(4); for (let i = 0; i < 8, i++) { stitch.yo(); stitch.knit(); } stitch.k2tog(4); }
  55. 55. while ( !thisRow.atEnd() ) { stitch.k2tog(4); for (let i = 0; i < 8, i++) { stitch.yo(); stitch.knit(); } stitch.k2tog(4); }
  56. 56. while ( !thisRow.atEnd() ) { stitch.k2tog(4); for (let i = 0; i < 8, i++) { stitch.yo(); stitch.knit(); } stitch.k2tog(4); }
  57. 57. while ( !thisRow.atEnd() ) { stitch.k2tog(4); for (let i = 0; i < 8, i++) { stitch.yo(); stitch.knit(); } stitch.k2tog(4); }
  58. 58. Cast on 242 (256, 270, 284) sts.
  59. 59. SWITCH STATEMENT
  60. 60. let size = 38; switch (size) { case 38: stitch.castOn(242); case 41: stitch.castOn(256); case 43: stitch.castOn(270); case 45: stitch.castOn(284); }
  61. 61. let size = 38; switch (size) { case 38: stitch.castOn(242); case 41: stitch.castOn(256); case 43: stitch.castOn(270); case 45: stitch.castOn(284); }
  62. 62. let size = 38; switch (size) { case 38: stitch.castOn(242); case 41: stitch.castOn(256); case 43: stitch.castOn(270); case 45: stitch.castOn(284); }
  63. 63. SUBROUTINES
  64. 64. function twistedRib(stitchCount) { //row 1 stitch.purl(); stitch.knit(); for (let i = 3; i < stitchCount; i++) { stitch.ptbl(); stitch.knit(); } stitch.purl(); needles.swap(); // row 2 stitch.knit(); stitch.purl(); for (let i = 3; i < stitchCount; i++) { stitch.ktbl(); stitch.purl(); } stitch.knit(); needles.swap(); }
  65. 65. function twistedRib(stitchCount) { //row 1 stitch.purl(); stitch.knit(); for (let i = 3; i < stitchCount; i++) { stitch.ptbl(); stitch.knit(); } stitch.purl(); needles.swap(); // row 2 stitch.knit(); stitch.purl(); for (let i = 3; i < stitchCount; i++) { stitch.ktbl(); stitch.purl(); } stitch.knit(); needles.swap(); }
  66. 66. function twistedRib(stitchCount) { //row 1 stitch.purl(); stitch.knit(); for (let i = 3; i < stitchCount; i++) { stitch.ptbl(); stitch.knit(); } stitch.purl(); needles.swap(); // row 2 stitch.knit(); stitch.purl(); for (let i = 3; i < stitchCount; i++) { stitch.ktbl(); stitch.purl(); } stitch.knit(); needles.swap(); }
  67. 67. function twistedRib(stitchCount) { //row 1 stitch.purl(); stitch.knit(); for (let i = 3; i < stitchCount; i++) { stitch.ptbl(); stitch.knit(); } stitch.purl(); needles.swap(); // row 2 stitch.knit(); stitch.purl(); for (let i = 3; i < stitchCount; i++) { stitch.ktbl(); stitch.purl(); } stitch.knit(); needles.swap(); }
  68. 68. function twistedRib(stitchCount) { //row 1 stitch.purl(); stitch.knit(); for (let i = 3; i < stitchCount; i++) { stitch.ptbl(); stitch.knit(); } stitch.purl(); needles.swap(); // row 2 stitch.knit(); stitch.purl(); for (let i = 3; i < stitchCount; i++) { stitch.ktbl(); stitch.purl(); } stitch.knit(); needles.swap(); }
  69. 69. COROUTINES
  70. 70. Row 1: Side,O,*D,C,F,X,F,O,F,X*, D,B,D,A,E,B,E,**X,F,O,F,X,F,X,E**, O,Side,O,rep from * to * once, pm,F,O,F,X,F,C,F,W,F,O,F,pm, rep from ** to ** once, O.
  71. 71. PATTERN LANGUAGES
  72. 72. stitch-maps.com
  73. 73. Rows 1 and 3 (WS): Purl. Row 2: K1, *k2tog, k2, yo, k1, yo, k2, ssk, repeat from *. Row 4: *K2tog, k2, yo, k1, yo, k2, ssk, repeat from * to last st, k1.
  74. 74. knitml.com
  75. 75. <pattern:pattern xmlns:pattern="http://www.knitml.com/schema/pattern" xmlns="http://www.knitml.com/schema/operations" xmlns:common="http:// www.knitml.com/schema/common" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.knitml.com/schema/pattern http://www.knitml.com/ schema/pattern-0.7.xsd http://www.knitml.com/schema/operations http:// www.knitml.com/schema/operations-0.7.xsd http://www.knitml.com/schema/common http://www.knitml.com/schema/common-0.7.xsd" version="0.7" xml:lang="en"> <pattern:directives> <pattern:instruction-definitions> <inline-instruction id="cross-2-over-2" label="2/2 LC"> <cross-stitches first="2" next="2" type="front" /> <knit>4</knit> </inline-instruction> <inline-instruction id="cross-2-behind-2" label="2/2 RC"> <cross-stitches first="2" next="2" type="back" /> <knit>4</knit> </inline-instruction> </pattern:instruction-definitions> </pattern:directives> <pattern:general-information> <pattern:name>Color Sampler Swatch</pattern:name> <pattern:description>A basic 2-color swatch sampler</pattern:description> <pattern:dimensions /> <pattern:gauge type="stockinette">
  76. 76. Pattern "en" { Directives { InstructionDefinitions { InlineInstruction 'cross-2-over-2' [label:"2/2 LC"] { cross 2 inFrontOf 2, k4 } InlineInstruction 'cross-2-behind-2' [label:"2/2 RC"] { cross 2 behind 2, k4 } } } GeneralInformation { Name: "Color Sampler Swatch" Description: "A basic 2-color swatch sampler" Dimensions Gauge 'stockinette' { StitchGauge: 5 stitchesPerInch RowGauge: 7 rowsPerInch } Techniques { Technique: "stranded knitting" KnittingEL
  77. 77. sourceforge.net/projects/knitter/
  78. 78. https://xkcd.com/927/
  79. 79. Knitty: Know It All Bag
  80. 80. F L I C K R : W E M A K E M I L A N O
  81. 81. FLICKR:MARCANET
  82. 82. A N D R E W S A L O M O N E P H O T O : B E C K Y S T E R N
  83. 83. knityak.com
  84. 84. KNITTING AS COMPUTATION
  85. 85. FLICKR:KATEMONKEY
  86. 86. F L I C K R : B E E P 1 O
  87. 87. F L I C K R : C H R I S T I A A N C O L E N
  88. 88. FLICKR:ST3F4N @web_goddess Kris Howard

×