Laser cutting update: Marvel version

I cut the Marvel-licensed fabric that I picked up from Affordable Textiles on Queen Street (near Spadina) on the laser cutter. It worked out beautifully. I reused the SVG I tweaked after last week’s experiments. As it turns out, even with a 45″ one-way design, 1.5 yards is enough for a top, enough bias strips to bind the neckline and armholes, and two pairs of liner squares. There will be small scraps that I can use for other projects, too.

2015-04-14 21.52.43

This will be my 12th top, and I have the fabric for a 13th if I wanted to. I’m currently wearing the top that I laser-cut out of 100% Italian cotton. 100% cotton seems much more comfortably breathable than the polyester-cotton blend in the broadcloth that I practised with. Maybe I’ll do a few more tops as I come across colours and patterns that I like, and I’ll also gradually branch out to other patterns as well.

A checklist of things to try, fabric-wise:

  • Cotton
    • Fabric ordered online – maybe this cute Dr. Seuss fabric or something else from Jo-Ann (or maybe this one), to remind me to have fun
    • Something from Etsy
    • Fabric using someone else’s design, maybe off Spoonflower
    • Fabric I design
  • Stretch knit
  • Silk or other slippery fabrics

Mwahahaha. =)

2015-04-14d Laser-cutting fabric is awesome -- index card #laser #hacklab

2015-04-14d Laser-cutting fabric is awesome – index card #laser #hacklab

Squirrel brain

I’m dealing with squirrel brain at the moment. It’s different from fuzzy brain in that squirrel brain feels like I have lots of thoughts that don’t yield much depth or connection, while fuzzy brain is like finding it difficult to think or concentrate in the first place.

(This is cool! I’m developing the ability to distinguish among suboptimal states, like the ones I sketched in September last year. Squirrel brain is a little like “buzzy,” I guess, but it has a slightly different feel to it. More diffuse, but not diffuse-as-in-fog. More like scattered, maybe? A different scattered state would be if I knew there were interesting sets of thoughts to explore, but I was too jittery to follow one through. This one is more like… I’ve got the seeds of possibly-interesting ideas, but they haven’t grown enough yet.)

Anyway, since I’m probably not the only one who’s dealt with squirrel brain and I will most likely run into it again in the future, here are some notes. The self-compassionate approach of accepting it is what it is seems to work out better than trying to push myself to come up with something deep and insightful.

2015-04-13c Squirrel brain -- #squirrel-brain

2015-04-13c Squirrel brain – #squirrel-brain

Come to think of it, my favourite writing times are when I’ve been noodling my way around a topic for a while (through sketches and other blog posts), so when I write, I can see the connections, and I can share results from little experiments. So this here – this squirrel brain – might just be because I’m wrapping up some things that have occupied my brain for a while. (Maybe I should do more of the mental equivalent of succession planting…) Anyway, if I keep finding, collecting, and organizing the jigsaw pieces of my thoughts – or, to return to the previous metaphor, planting lots of seeds – it will probably come together later on.

2015-04-13f Drawing and the squirrel brain -- index card #squirrel-brain #zettelkasten #index-card

2015-04-13f Drawing and the squirrel brain – index card #squirrel-brain #zettelkasten #index-card

Index cards work well for those. They’re small chunks, so I don’t feel like I need to think big or deep thoughts. If I make myself draw five or more index cards, I tend to find myself revisiting some thoughts, which is good. The first shallow pass clears my mind and gets things out there. Then I can see what I’ve been thinking and develop it in a second or third or fourth pass. Working digitally is great. I don’t even have to worry about wasting paper or keeping things organized for scanning.

As for writing – I feel a slight urge to be helpful and say useful things in blog posts. I tell people not to be intimidated by that in their own blogs, so I should remember to treat my blog as a personal thinking and learning tool. (If other people find value in it, that’s icing on the cake.)

From time to time, I might post more thinking-out-loud things like this. Not quite stream of consciousness… I tried dictating to my computer earlier, while I was pinning up the bias binding for my gingham top, and I think dictation makes me feel even more fragmented. Anyway, this sort of semi-stream-of-consciousness writing – launching off some drawings, trying to quickly capture an idea – that might be a way for me to work around squirrel brain. The important thing is to plant those seeds, keep collecting those jigsaw pieces, keep writing and drawing. If I forget or I let things blur together, I won’t get to those moments when things click.

Weekly review: Week ending April 10, 2015

I played around with using the laser cutter to cut fabric, and that worked out really well. I’ve sewn up the two tops that I cut, and I’m looking forward to cutting a couple more.

Also, lots of progress on the Emacs Conference / hangouts organization front, thanks to folks like Samer, Ryan, Philip, Howard, and Alex! Emacs has such a wonderful community. Anyway, there’s a Google+ page now.

This week, I’m looking forward to more gardening and more cooking. Whee!

2015-04-13a Week ending 2015-04-10 -- index card #weekly #journal output

Blog posts


Link round-up

Focus areas and time review

  • Business (40.1h – 23%)
    • Earn (8.0h – 19% of Business)
      • Prepare invoice
      • Earn: E1: 1-2 days of consulting
      • Earn: E1: 1-2 days of consulting
    • Build (5.8h – 14% of Business)
      • Drawing (4.1h)
      • Paperwork (1.7h)
    • Connect (26.3h – 65% of Business)
      • Talk to Christina Gonzales about Quantified Self
  • Relationships (2.1h – 1%)
    • Work on project F
  • Discretionary – Productive (10.0h – 5%)
    • Emacs (1.3h – 0% of all)
      • Develop Hangout on Air checklist and document the process
      • Make Google+ event for hangout with John Wiegley
      • use-package video with John Wiegley
      • Merge Emacs Conf updates
      • Announce Emacs Hangout and prep note
      • 2015-04-15 Emacs Hangout
    • Check with W- regarding RRSP
    • Try laser registration ideas
    • Set up 10″ bias template
    • Add Philip Stark to hangouts page
    • Move videos to new channel
    • Renew domain
    • Review Createspace
    • Download Helpouts history
    • Sort out rest of taxes for 2014
    • Writing (2.4h)
  • Discretionary – Play (5.1h – 3%)
    • Have massage
  • Personal routines (32.8h – 19%)
  • Unpaid work (13.2h – 7%)
  • Sleep (64.6h – 38% – average of 9.2 per day)

Experimenting with spending more time at Hacklab

This week I experimented with making Hacklab my default location. I biked there on Monday and Tuesday because the weather was good, and I took the subway on Friday because I wasn’t sure about the forecast for rain.

On Monday, I laser-cut pieces for the simple tops that I’ve been sewing. I’ve been skipping the pleat, since it doesn’t make any difference to the fit of the garment and skipping it makes the top easier and faster to sew. The pattern fits the laser cutter if I cut it on a fold, and I can cut registration marks on a sheet of paper to make aligning that fold easier. I cut the pieces for one top out of the peach broadcloth that I’d salvaged from my box cushion prototype. (Waste not, want not!) I cut the pieces for another top from a black gingham check that I wanted to experiment with, since it’s supposed to be one of this season’s trendy patterns. I was delighted to find that the laser-cut pieces actually matched up – not just in terms of the notches (which I can take credit for), but even in terms of the pattern. (Probably more coincidence than skill.)

I didn’t pay attention to the direction of the gingham check because I assumed the stripes were the same visual weight. It turns out one direction is a bit heavier than the other, so now my shirt has horizontal stripes when it looks like most of the commercial gingham shirts I’ve seen had dominant stripes (if any) running vertically… Ah well! I cut bias strips and wrappers for another experiment out of my excess yardage, so I don’t think I have quite enough left to make a new shirt. I’ll finish and wear what I have. If I decide it’s worth doing another gingham thing, I might be able to get half a yard and do another one.

On Tuesday, I came early so that I could get some bread dough rising while I went for a massage. (Knead and be kneaded?) That worked out well, and we had some lovely crusty bread for the open house dinner. Eric and I also checked out this community garden in the neighbourhood. Our chances of getting a plot are probably pretty low (long waiting lists), but apparently they have a small herb area that could use more volunteers, so we might give that a try. Alternatively, Alex says it’s okay for us to set out planters in the back, and he even has an automated watering system. It would be great to grow lots of basil and other herbs for cooking.

Today I went to Hacklab to talk to a friend. Since I was in the area anyway, I also took the opportunity to pick up some bamboo fabric from Designer Fabrics so that I can look into making a pair of yoga pants.

I wanted to laser-cut the bias strips for the gingham check. I thought about using the 10″ square continuous method, but I settled for making long bias strips instead so that I could fit an extra square in there for another project I’m working on. While I was sorting that out, Alex came in with a MIDI keyboard, a laptop, and a projector. He proceeded to set it up to project the keyboard training program onto the keyboard itself, which was really nifty. We had fun playing around with different pieces.

Mmm. I like this. Going to Hacklab nudges me a little more towards making stuff and talking to people, I think. Let me see what next week is like. On the flipside, it means less time at home and less time preparing meals, but if I leave Hacklab earlier and I plan what to cook, I can probably still have that in place by the time everyone’s ready for dinner.

On another note, Designer Fabrics didn’t have any polyurethane laminate (PUL – waterproof, breathable, washable in hot water; often used for diapers, but good for general waterproofing and even making food-safe lunch bags and other containers). Fabricland has some, but it’s a bit pricy at $33/m. It seems people tend to order that online, so I might give online shopping a try.

To never need to be needed

I’m feeling a little under the weather at the moment. There will probably be a number of fuzzy days like this in the near future, but I get the feeling that this is not my normal state. If I reflect on who I was several years ago, I think that my normal state has been slowly, slowly moving towards the kind of foundation I described in “Starting from a small life“: self-care and close relationships. That’s there, most days, and so I’ve been starting to think of growing a little further outwards, becoming a bit more involved in the community. That’s why I’ve been thinking about what I can do to support friends. If I have energy and attention beyond what’s needed to improve our household’s quality of life to a reasonable point, I can look into helping and getting to know other people around me.

Fortunately, people around me tend to be geeks who don’t mind when I reach for awkwardly technical phrases like “explicitly negotiated communication protocols” (the phrase “talking about talking” doesn’t quite fit). I enjoy exploring questions, perspectives, and ideas. I tend to combine pessimistic planning with optimistic belief in people and a large dose of loving-kindness and acceptance. It’s not always easy – sometimes I catch myself wishing away the challenges that other people face – but I learn a lot.

Now that I’ve been reaching out to other people, more, I’ve started noticing this strange little quirk. I want to explore it in writing so that I can point to it and see it more clearly, and maybe I can learn from other people’s experiences along the way too.

2015-04-08e On keeping the bigger picture in mind -- index card #connecting #support #ego

2015-04-08e On keeping the bigger picture in mind – index card #connecting #support #ego

Sometimes, after I’ve shared a reflection, I find myself hoping for an equally thoughtful response: another disclosure, another follow-up question, another exploration. I understand why part of me feels that way. It’s part curiosity, part (still!) that slight orientation towards recognition, towards knowing what things are useful.

But I can also see a freer part of me that thinks and reflects and shares without needing reciprocal gifts, and this is the part that I want to encourage in myself. This is the part that is indifferent to being needed, that celebrates when people have found their own stillness for reflection or their own strength to stand.

Even writing about this is something I might distrust a little. I might be writing this mostly for my understanding and long-term memory (having learned the hard way that private notes tend to disappear), but receiving a comment or an e-mail or a blog conversation feels good because of that moment of resonance with someone else.

Still – loving-kindness and acceptance, especially towards myself. It’s okay if I want that moment of shared humanity, that resonant thrum of thoughts in sync. And it’s also okay if I make it a gift, to let the people I want to support choose how much support and when and in what way.

To never need to be needed, but to share life out of generosity – I think that’s one of the freedoms I want to cultivate. Hmm…

2015-04-08 Emacs Lisp Development Tips with John Wiegley

You can find John Wiegley on Twitter (@jwiegley) or at

0:00:00 Paredit mode. Start with it from day 1! Matching pairs of parentheses, won’t let you delete one without the other. Inserts appropriate newlines, too
0:03:56 Emacs as a Lisp environment. (Also, Helm is what’s responsible for the display.) Evaluating a function makes it available in the global scope, which has all these functions and commands you can do. This makes it easy to iteratively develop your functions, because you can just execute things directly.
0:05:08 Without (interactive), you can’t call functions with M-x. You can use M-: or put the call in your scratch buffer.
0:06:00 command-log-mode
0:06:47 pp-eval-last-sexp. Check out for other config things
0:07:14 debugging. e to evaluate within the current context. Also, stepping, quit.
0:08:09 Edebug with C-u C-M-x. Interactive debugging. SPC moves you forward, one Lisp form at a time. It shows you results in the minibuffer. You can descend into Lisp forms or go into functions. ? shows keybindings. Check out the Emacs Lisp chapter on EDebug, highly recommendeg.
0:09:25 You can also use the (debug) form to go to the debugger.
0:10:26 eldoc: Seeing arguments in the minibuffer as you type, because no one remembers all the arguments anyway. eldoc-mode, or add (turn-on-eldoc-mode) to your config.
0:11:30 What functions should you call in the first place? What concepts? Emacs predates many standard terms, so that’s why things are a little confusing. Ex: “frames” and “windows” are not what you might think they are. OS window = frame. Area within Emacs = window. Opposite of HTML. Use the Emacs tutorial C-h t.
0:13:04 Read the Emacs Lisp intro, which you can get to with C-h i (which lists the manuals that are available). Read the Emacs Lisp manual too.
0:14:03 Other weird terms: point, mark, marker. (point) vs (point-marker).
0:15:35 C-h f (describe-function) shows the help for the function. Nearly all functions you’ll probably call are documented well. Lots of options. Check out C-h f for interactive, for example.
0:17:17 C-h v (describe-variable).
0:17:46 More in-depth documentation: C-h i, go to the Emacs Lisp manual, then use i to view the index.
0:18:22 info-lookmore shows you the Info documentation for the symbol under point. Works for other Lisps too (ex: Common Lisp)
0:19:46 Sanity-checking paired parentheses with M-x check-parens. Handy for adding to your after-save-hook in Emacs Lisp mode.
0:20:40 Paredit editing capabilities. Ex: C-k kills the current sexp. paredit-raise-sexp replaces the parent sexp with the following sexp. slurping and barfing. Barfing – spitting out an element from the list form. C-{ or C-} (with suggested keybindings). C-( and C-) are slurping, which pulls forms in. Works for strings, too.
0:22:38 Maximum barfage and slurpage. Useful for slurping everything in, for example. paredit-slurp-all-the-way-forward.
0:24:13 redshank (companion to paredit) for refactoring. Ex: redshank-condify-form converts an if to a cond for when you realize you’ve got more than two conditions.
0:25:05 M-1 M-( surround the next one thing with parens
0:25:25 redshank: wrap a let, change if to a when, etc.
0:25:52 C-h k (describe-key) shows what a keyboard shortcut or menu item will do.
0:27:26 Took a while to get used to paredit, but you eventually get into the zen of paredit.
0:27:54 Linter – M-x elint-current-buffer. Loads every module that your code depends on (so the first time is slow), and then shows you style notes.
0:28:50 C-q for manually inserting parentheses
0:29:10 Helm, which shows you all the other stuff that matches your query. Lets you select by regex, multiple patterns, etc. Much nicer and more interactive.
0:30:29 Profiler M-x elp-instrument-function, then call the function, then elp-results will show you the time it took to execute. Results aggregate, and are reset when you call elp-results.
0:32:30 Measuring memory consumption. Also, internal representation of lists. reverse vs. nreverse. Like nconc, nreverse, setcar, setcdr. This can greatly speed up your code, if you can avoid using the garbage collector. EmacsWiki – memory-use-counts, but not particularly helpful? Another package that extends the Emacs Lisp profiler? Avoid premature optimization.
0:38:55 elint and flycheck? flycheck’s designed for external processes, so that might be a challenge. Possibility: use async to spawn another Emacs? Doesn’t seem to be available yet.
0:40:40 ert
0:48:11 testcover,, undercover.el
0:48:13 Read Emacs Lisp manual, etc.
0:48:20 Creating a mode. You don’t have to make it from scartch – start by copying someone else, and then strip away everything you don’t want.
0:49:58 checkdoc – checks the style of your documentation strings.
0:51:30 defining a minor mode
0:56:08 when to define a major mode – structure of your buffer