Category Archives: life

Thinking about grocery stores and recipe variety

The Asian grocery store near us has closed, so we’ll need to find a different source for things that our neighbourhood No Frills supermarket doesn’t carry: pork bellies for lechon liempo, bitter melons and salted black beans for stir-fries, tapioca pearls for bubble tea.

It’s mostly W-‘s thing, actually. I tend to make meals based on whatever I can easily get from No Frills instead of craving particular tastes enough to pick up special ingredients. I think it’s because I’m already satisfied with the variety we have. It’s a little easier that way, too, since I tend to pick up groceries on foot. If I want to make something that requires a trip to a different grocery store, that usually involves a sunk cost of $2.90 or $5.80, or some coordination with W-. I could probably benefit from doing a more detailed price comparison, possibly shifting some of our regular purchases instead of going to Chinatown or PAT Mart only for the kinds of things that No Frills doesn’t stock. I tend to make frequent, small trips to the grocery store as part of getting some exercise and in order to minimize wasted food. Even if soy milk and some vegetables are cheaper in Chinatown, in a small batch, the difference probably doesn’t warrant the transit fare, time, and the effort of lugging those groceries home. Maybe if I feel like long walks in better weather, or if I get one of those grocery carts again… Well, the additional cost of transit isn’t that much, but I guess I tend not to see much marginal value considering the extra time and effort.

Still, the lovely, crispy roast pork belly that W- makes (along the lines of this salt crust roast pork belly, I think) is a nice treat. He’s discerning about the particular cut of meat (even thickness = easier to roast), so he prefers to pick it out personally. We eat it in small quantities since it’s so rich. It’s a good excuse to have lots of vegetables on the side, too. It loses a bit of the crunchiness after microwaving, but it’s good to keep in the freezer or fridge.

There are lots of posts on Chowhound and other forums about where to get a slab of pork belly and comparisons among different sources and types. Hooray for the Internet! W- called around a bunch of places to check if they stocked pork bellies without pre-ordering, and what the prices are like. We checked out T&T Supermarket last weekend. T&T is large, well-stocked, and well-organized, and it’s nice to not deal with downtown traffic or parking. T&T’s prices are bit higher than the ones we’ve seen before (Chinatown or the Asian grocery store that has now closed), but their pork belly prices aren’t as high as the prices at specialty butchers. We might try pork bellies from a few other places before we settle on a new favourite source. Maybe a monthly pork belly roast? Yum.

As for the other things we used to get on a fairly regular basis: PAT Mart and other Asian grocery stores usually have bitter melons. We stock up on cans of salted black beans and packages of tapioca pearls when the opportunity comes up, since they’re shelf-stable. I can make tapioca pearls in a pinch, since the Bulk Barn sells tapioca starch.

It’s nice to live in an international city where I can get these ingredients. If I tweak my grocery shopping or I get better at taking advantage of the times when I’m out, I might enjoy a wider variety of recipes. On the other hand, it might be okay to be generally satisfied with a smaller set of recipes, and focus instead on adding more vegetables. Hmm…

A reflection on leisure and discretionary time

I’m coming up to the 4-year mark of this 5-year experiment with semi-retirement. The start of the final year might even neatly coincide with the next substantial change I’ve been planning. I’ve been very lucky to have had this opportunity to explore, and it’s a good opportunity to reflect on self-direction and leisure.

This past year has been a little like the openness of my final year of university, when my habit of taking summer courses freed up half the typical academic load for the schoolyear and I had plenty of time to explore open source development. This time, I had even more autonomy. No exams to study for, no projects to submit; just choices.

I’m learning that my physical state strongly influences my mental state, which then strongly influences how I use my time and how I feel about that use. If I’m tired or fuzzy-brained, I won’t get a lot done. I’ve learned to make better use of fuzzy-brained times by keeping a list of small tasks I can do, like housework. I invest some of my alert time in building the systems and processes to help me when I’m fuzzy-brained, too. Long-term, I’m probably well-served by investing more time in health. I’ll rest when I need to. Beyond that, if my mind’s not as active or as energetic as I’d like, there’s always working on my energy.

I feel particularly good when I use my discretionary time to:

  • contribute to the Emacs community by organizing resources, writing code or posts, answering questions, and experimenting with ideas
  • build tools for myself (interfaces, scripts, etc.), especially if I can learn more about libraries or frameworks
  • dig deeper into thoughts through a combination of drawing and writing
  • sew something, especially if I end up using it a lot
  • research, plan, and take notes
  • work on other skills
  • watch or read something informative/interesting/useful, particularly if it’s practical or skill-related

I feel good when I:

  • declutter, organize, document, and/or improve our routines, files, and other resources
  • cook something yummy (mostly focusing on familiar recipes at the moment, but I’m looking forward to exploring more)
  • play video games with W-, especially when we pick up new in-jokes or when we pull off neat tricks when beating the enemies
  • keep the household running
  • go for a long walk, especially with a useful destination and an interesting podcast to listen to or a question to think about
  • stretch a little or do whatever exercises I can
  • watch a good movie with W-, especially when it results in more in-jokes or an appreciation of how the movie is put together

On the other hand, I feel like time’s just passing when I:

  • write, but not end up posting my notes (although it’s a little bit better if I organize them for later review)
  • read casually, without a particular application or goal: books, e-books, the Internet
  • play games, especially if there’s not much sense of progress

I’ve come to enjoy a lot of different kinds of discretionary time. I think I don’t need a lot of pure leisure, at least not the vegging-out kind. I definitely like having a lot of discretionary time – to be able to choose what to do when – but even the things we do for day-to-day living can be enjoyable.

I will probably have less absolute time for leisure and less control of my time in general, but I think I’ll be okay. Because of this experiment, I’ve been learning that time probably isn’t my limiting factor when it comes to things like writing or learning or making things. It’s probably more about curiosity, observation, motivation, and experience, and those are things that I can develop through the years.


2015 in photos

Here are a few pictures from 2015. =)


Replacing my wardrobe with things I made; also, laser-cutting! (Notes)


New barbecue, yay!


Experimented with computer-aided pattern making. (Notes)


W- dried the corn from our neighbour’s Halloween display, and has been feeding happy squirrels and birds.


Neko likes the radiator.


Celebration dinner after winning the library hackathon (notes).

Learning about patchwork and sewing

I’ve been looking into patchwork and quilting as a way to reuse scraps of fabric left over from sewing. That way, I don’t end up stashing stray odd-cuts forever, and I don’t feel guilty about trashing or donating material. (There are only so many zippered pouches I need in my life!) I can cut as many standard-size pieces as I can, and then store those in a more organized way.

I wanted to start pretty small: 4″x4″ squares (3.5″ after sewing with 1/4″ seam allowances), maybe 11×11 squares for a finished size of 38.5″ square. I still have lots of scraps to cut up, but I figured I’d give it a try first before committing the rest of my stash. Make a prototype, see what it’s like, maybe turn it into something for the cats or something to drape…

I counted the squares I cut from some fabric I had lying around, and assigned one-character labels for them. I stopped after I cut a little over 121 squares (11×11).

A red gingham 12
b black gingham 38
m marvel 6
D beige 11
B white crosses 56

Time to plan! I created a dot grid (in Emacs, naturally) and began filling it in with characters, like so:


At first, I tried to keep track of the number of squares manually, but that got annoying to update as I tweaked the layout. By the time I got to something like this:


… I found this code to be really helpful for making sure I hadn’t put in more of one character than I had, and to show me which ones I still had left.

(let ((totals
       (mapcar (lambda (x) (cons (char-to-string (car x)) (length (cdr x))))
               (-group-by 'identity (string-to-list (replace-regexp-in-string "\n" "" data))))))
  (mapcar (lambda (x) (append (list (assoc-default (car x) totals)
                                    (- (elt x 2) (assoc-default (car x) totals)))
                              x)) squares))

The first column has the number of squares used in the design. The second column has the number of squares left. The remaining columns were copied from the original table.

12 0 A red gingham 12
38 0 b black gingham 38
5 1 m marvel 6
10 1 D beige 11
56 0 B white crosses 56

After lots of sewing and pressing, I ended up with something that looked reasonably like a patchwork quilt. It was actually pretty relaxing to sew once I got the hang of arranging things, since it just used straight lines. I unpicked two seams after stitching them incorrectly. The rest of the seams turned out okay.

2015-12-28 17.16.17

In retrospect, maybe I shouldn’t have included two strong black-and-white prints. This one feels a little like an optical illusion, and it’s not that restful to look at it in full. I probably won’t be using it as a wall hanging, but it might be nice to use it to dress up one of the cat beds. I could skip the batting, buy a cotton or flannel sheet from the thrift store for use as backing, and then quilt it for practice. Skipping the batting this time around might let me get away without setting up a walking foot, too.

I still have tons to learn about dealing with colours and prints. Maybe I can learn faster with smaller blocks. I’ll probably cut more 4″ squares since that’s a convenient size for my grid ruler, and maybe 2.5″ or 2″ if there are leftover scraps that won’t fit. Then I’ll organize them by value and colour and see what I can make. I can turn them into shopping bags, since our current collection is starting to wear out. We’ll see how that goes!

What’s worth making?

I’ve been thinking about what’s worth making and what’s worth buying. Sometimes it’s cheaper to buy finished products used (or even new) than to buy the raw materials to make my own, especially in terms of common clothes and accessories. On the other hand, there are benefits to using and developing my DIY skills, such as cooking and sewing (and maybe eventually woodworking again).

Thinking about my considerations for that make vs. buy decision can help me improve those decisions. If I can make that “make” decision better, I can benefit from improved skills, more satisfaction, and possible savings. If I can make that “buy” decision better, I can take advantage of the capabilities of industries. Here are some factors that nudge me towards making things instead of buying them.

When something is much more expensive to buy than to make: Considering the quantities I use, the characteristics I want, and the cost of raw materials and time, it can be much cheaper to make things than to buy them. Cooking generally falls into this category. Sometimes sewing does too, especially if I can use fabric from sales or the thrift store.

When I want to adjust for personal fit, taste, or needs: It’s been nice to enjoy our favourite meals without being limited to what’s offered in restaurants. I also like being able to make several copies of simple blouses that fit me well in colours and fabrics that appeal to me, instead of trawling through stores to find the intersections of fit, style, fabric, colour/pattern, and price.

For that extra bit of satisfaction: I feel a little more satisfied when I enjoy something I’ve made compared to something I’ve simply bought. I’ve noticed this with the clothes I wear and the meals I make, and I’m looking forward to enjoying this even more as I learn how to make accessories.

When something is difficult to find: It’s often hard to find the things I want in store. Sometimes even online searching can be a hassle, especially with international shipping.

Independence from market trends and frustrating shopping experiences: Along those lines, it’s nice to be able to skip noisy malls and arbitrary trends.

Conversation starters and identity signallers: There’s a less of this because I don’t usually pay extra for novelty prints (well, aside from that Marvel comics one! =) ). I don’t feel the need to wear my geekiness on my sleeve – it usually comes out pretty quickly in conversation anyway. Still, it’s fun to infuse a little bit of personality into the things I make, like adding a cat-shaped pocket to a peasant blouse or making things that match each other. Who knows, maybe it will lead to interesting conversations with other crafters.

Convenience, not having to search: A well-stocked pantry lets us make something we like without having to look for a restaurant that’s open with the kind of food we might want to eat at the moment. Likewise, I want to eventually develop an organized stash of flexible, easy-to-coordinate fabric so that I can make things as needed (ex: apparel cotton, flannel, lining, knit, PUL). I haven’t quite sorted out my system yet, and I tend to do things in single colours/patterns because I’m not confident about coordinating. Someday, though!

Gifts: I’m pretty meh about giving and receiving gifts. It’s better when things are consumable or home-made, or preferably both. =)

Developing skills and appreciation: The more I make things, the more I learn about how things are constructed. This helps me appreciate the things around me, and it might even help me make those buying decisions more effectively.

Fuel for thinking/writing/sharing: Experiments in making things can often be turned into blog posts and ideas.

Ethical considerations: Although manufacturing can be good for the economic growth of developing countries, I’m not too comfortable with ethical issues in factories for clothing or other consumer goods. Besides, I like the waste reduction of repurposing things that might otherwise be trashed or turned into rags.

The intrinsic enjoyment of the activity: Cooking is fun, especially when W- and I cook together. Sewing is starting to be pretty fun too. It has its frustrating moments, but I’m starting to build up a good stash of “Look! This actually works!” memories.

In terms of decisions to buy instead of make:

  • There are things I definitely don’t have the skills or materials to make, so that’s an easy “buy” decision.
  • If I could make it, but it’s much cheaper and easier to buy things, then I might put off making them.
  • I tend to put off buying things if I know I can buy them inexpensively on short notice. I’ll wait until I have a clear need for them, since it’s often better to make do than to have more than we need.
  • I’ll buy in advance if I have a clear idea of our usage, or if there’s a good enough sale that I’m comfortable with the trade-offs.

Sometimes I also consider the question: “What else could I be doing with this energy, time, and money?” My life is pretty flexible at the moment, so it’s usually a choice of:

  • doing more consulting: good for building up skills and savings, but can be too tempting compared to the long-term value of other activities
  • doing something else in the real world: other DIY things, taking care of chores/errands/exercise
  • coding or learning something intangible: automating parts of my life, developing skills
  • thinking/drawing/writing about stuff: good for understanding, remembering, and connecting

There’s time enough for a little bit of everything, so I don’t worry too much about the decisions moment by moment. Still, it’s nice to be clear about the factors to consider so that I can recognize them more easily when they come up. =)

Based on our enjoyment of DIY videos on YouTube, I think I’ll enjoy a life that’s tilted even more towards making things. It would be awesome to be able to think spatially and draft my own patterns, and maybe get more into laser cutting, 3D-printing, and woodworking too.

We’ll see how things go!

Python + sewing: Making basic shapes and splitting up larger patterns

More Python and sewing. =) The first step was to make parameterization even easier by allowing command-line specification of measurements. I refactored some code from and modified mkpattern to accept the new arguments, splitting up the name and value based on regular expressions (commit). That way, I could quickly generate patterns based on different dimensions, like so:

python ../mkpattern --client=../customer/Sacha/sacha-cm.json \
   --pattern=../patterns/ \
   --styles=../tests/test_styles.json \
   -m height=4in -m width=7.5in -m seam_allowance=0.5in \
   -m depth=7.5in -m strap_width=1in -m strap_length=10in -m hem_allowance=1in \

I sketched basic patterns for cylindrical and box-type containers the other day, so I wanted to try them out. It turned out that the Python framework I used for sewing patterns didn’t yet support arcs. Adding the arc element to the SVG was straightforward. I initially faked the bounding box for the arc, but since that made the code misbehave a little, I looked around for a better implementation. I translated the code from this post from 2011 to Python and added it to the code (git commit). That allowed me to make a simple cylinder pattern generator. I haven’t tested it yet, but it looks reasonable.

2015-10-27 20_30_11-foo.svgThe box tote was interesting to work on. When I did the math, I couldn’t believe that the calculations were that simple. I was waiting for a sqrt or a cos to show up, I think. Still, the small-scale paper version I taped up looks like it makes sense, and I’ll sew a full-size version soon. J- asked for a light blue lunch bag that would fit our standard containers, and I’ve been meaning to make a casserole carrier for a while now. It would be handy to be able to make bags that are the right size. Too small and things don’t lie flat, too big and they move around too much.

2015-10-27 20_31_54-foo.svg - Inkscape

I spent most of my time making a flexible circle skirt pattern, pretzeling my brain around circumferences, angles, multiple pieces, and fullness multipliers. I’m happy with the way it turned out. It can generate patterns for quarter-circle skirts, half-circle skirts, full-circle skirts – even an arbitrary fraction of skirt fullness split into an arbitrary number of pieces, with optional seam allowance, waist seam allowance, and hem allowance. If you give it the fabric width, it will split the pattern into however many pieces are needed. If you specify a seam allowance and you want a full-circle skirt in a single piece (maybe for dolls), it’ll leave room for the seam allowances by adjusting the inner radius. We’re heading into snow pants season, so I probably won’t get around to testing it in fabric for a while. Caveat netrix, I guess.

I also got around to writing a tool for splitting up large patterns so that I could print them on a regular printer. I had tried Posterazor and a few other tools for splitting up large images into smaller pages, but I wanted something that would add cutting lines and page numbers. It turns out that all you need to do is change the SVG’s height, width, and viewPort. I added a rectangle for the cutting line and some text for the page numbers. I haven’t figured out how to use pysvg to replace the contents of an existing text element, but since the tool prints out non-overlapping regions, I just keep adding more text elements. My script creates a numbered sequence of SVGs. I haven’t found a convenient way to print multiple SVGs in one go, but I can select multiple PNGs and print those, and I can use Inkscape’s command line to convert SVGs to PNGs like so:

inkscape -z -e output-01.png -d 300 output-01.svg

There’s supposed to be a -p command to output Postscript ready for printing, but command-line printing on Windows doesn’t seem to be as much of a thing as it is on Linux. Something to figure out another time, maybe. Anyway, now that I have a conversion pipeline, I can write a Bash script or Emacs Lisp to process things automatically.

I’ll probably move from all this theoretical script-writing to more hands-on sewing during the rest of the week. My fabric order has arrived, so I’ve got a bit of cutting and sewing ahead of me.

Hmm. With the command-line measurement and scaling overrides, it might be interesting to use this framework for papercraft and laser-cutting too. Someday!