April 2015

John Wiegley on organizing your Emacs configuration with use-package

April 1, 2015 - Categories: emacs

In this video, John Wiegley talks about use-package, how he uses it to get ridiculously fast Emacs bootup times, and how you can use it too. =)

For more info about use-package, see https://github.com/jwiegley/use-package.

Starting from a small life

April 2, 2015 - Categories: experiment

The impression I get from people’s descriptions of their lives or careers is that many people (or at least the ones who talk about stuff like this) go for a big goal. They want to influence lots of people. They want to make a big difference. Sometimes it works out really well, but there are plenty of cautionary tales too: people who get what they strove for, but who’ve sacrificed their health, happiness, or relationships along the way.

It seems, based on the prevalence of these cautionary tales, that it’s quite rare to find healthy ambition. This is an assumption, though. Is it true or false? I think it might be false. There are probably lots of examples of people who dream big and have wonderful, happy lives, but they don’t get written about as much. (Something about news and schadenfreude, maybe?)

Anyway, an alternative might be to start small and build a solid foundation along the way. If I look around, I can see lots of good examples of this, although people some are more deliberate about it than others are. Instead of moving towards a specific, large goal that’s a big jump from your current positions, you develop capabilities and gradually expand in interesting directions.

2015-03-06c Growing slowly from a solid foundation -- index card #purpose #influence #success #growth

2015-03-06c Growing slowly from a solid foundation – index card #purpose #influence #success #growth

You start with a solid foundation of self-care. You cultivate a good community around you, and then you grow at a sustainable rate.

I used to have hang-ups about opportunity costs or wasted potential. Now I reason that if I don’t get around to figuring out XYZ because I’m growing too slowly, someone else is probably going to figure it out, or it wasn’t needed anyway.

Another danger, perhaps, is complacency. After all, if you’re growing outwards from a strength or a position of comfort, it’s easy to say: “Why not just stay here a little longer?”

I think it helps to think of some skills or areas you can improve at each stage, since you’ll be making progress on multiple stages all the time anyway. It’s not like you’ll master self-care and then move on to relationships. You learn a little of one, you try a little of another, and you build up different areas gradually.

2015-03-06d What does that progression look like -- index card #growth #success #purpose

2015-03-06d What does that progression look like – index card #growth #success #purpose

For example, I’m pretty happy with my self-care skills of understanding, being happy, learning, and reflecting. If I get better at health, everything gets better too. I’m getting the hang of enjoying vegetables, and I’m back to biking – yay! Similarly, I can practise getting better at thoughtfulness in close relationships, and at asking for help in terms of connecting with a small community. For expanding the communities I’m in, I can practise sharing tips and lessons learned.

Another thought about slow progress: it might be okay even if I’m taking things more slowly than I think other people do (or that a hypothetical Sacha might do). If I’m accelerating, I can do interesting things later on. So, that leads to these questions: Am I accelerating? If so, how?

2015-03-06e Am I accelerating - If so, how -- index card #growth #success #acceleration

2015-03-06e Am I accelerating – If so, how – index card #growth #success #acceleration

Compared to myself from five or ten years ago, I think I’m improving my self-care skills at a faster rate. Learning more about tools for thinking has helped, and I’m picking up life skills too. In terms of close relationships, I’m accelerating in terms of W- and local friends, but not in terms of family and friends in the Philippines. In terms of a tribe or small community, I think Hangouts accelerate things a little, and so does asking questions or thinking things through out loud. In terms of community, I accelerated more over the past few years (experiments with publishing and knowledge management) than I have in the past few months, but there might be ways I can play with that.

Back when I was a whiz kid (probably like most people who were into programming at an early age), I occasionally thought about those fast-growth success stories like 30 Under 30 (or 40 under 40, or Young Presidents’ Organization, or…). There’s something to be said about being on the fast track, demonstrating momentum. The narrative is clear. The goal burns bright. It’s easy to prioritize.

This other path of slow growth and neighbouring possibilities has its own challenges. It’s easy to get distracted and drift. I’m curious if I can do it well, and what I can learn from the process. I imagine that if it plays out beautifully, I’ll have a rich tapestry of a life while being able to trace the threads that connect the different sections. People are great at rationalization, so I can connect the dots going backwards.

In the meantime, looking forward, I imagine that I’ll grow steadily and solidly, with the occasional leap enabled by trust and safety nets, and with a community of people I admire, learn from, and help. I imagine that my impact will grow as I develop my capabilities, so I don’t accidentally end up screwing up thousands of people’s lives or wasting millions of people’s time. It might feel embarrassingly slow at moments (or even most of the time), as I take tiny steps or cover the same ground. But it’s a life, and it might be an interesting one.

If I’m curious about this path, how can I explore it more effectively? I’ve sketched a few areas to focus on, so I can work on those. And then there’s reminding myself that it’s okay to write about the small steps, the lessons learned, the reviews… Let’s see how it works out!

Related:

What can I do to support friends?

April 3, 2015 - Categories: connecting

An analogy: I remember reading that in the job market, good talent is hard to find. The people who are amazing are often already working for companies that make an effort to keep them happy. If something makes them dissatisfied, they have networks of people who have been trying to recruit them for years. So, when the opportunity to connect with, help out, or hire an amazing person comes up, you should take advantage of it.

I think good people might be like that too. I suspect there are way more good people than are on my radar, like the way that someone may not be a good fit for what you’e looking for but amazing for something else. Still, there are people whom I find it easy to resonate with. They rarely need help, so it’s good to be able to help them when they need it.

There are some things I need to keep in mind. Supporting people shouldn’t get in the way of my self-care or equanimity, or interfere with more important relationships. (No sense setting yourself on fire to keep someone else warm, as some communities on Reddit say.) I can help, but I may need to remind myself that I can’t take responsibility for other people’s problems. At best, I can help them with scaffolding to make it easier for them to develop their own solutions. And it can’t be always an outgoing flow, getting people past the negative stuff; I should see a future where they’re on their feet, exploring things that inspire and engage me. They shouldn’t become dependent on me, and I shouldn’t become accustomed to being needed or encourage that. So, if I can help while keeping healthy boundaries, I think we can make this work.

Based on past experience, the dangers and tripwires I should watch out for include:

  • Supporting people to the point of feeling like it’s a duty or that I’m getting drained
  • Letting detrimental behaviours slide (for example: research says venting turns out to be bad for you, and I don’t like listening to it anyway)
  • Dealing with potential transference
  • Figuring out what’s needed: non-judgmental support versus feedback

But if I take responsibility for managing my self-care and I work out good communication protocols, it might work out.

2015-03-28a Looking closely at helping friends -- index card #support #friendship

2015-03-28a Looking closely at helping friends – index card #support #friendship

I might even be able to use the Ben Franklin Effect in an unusual way. By helping people, I may grow to appreciate them more.

It’s good for me too. It means being able to respond to the pull of shared humanity, helping people past rough patches so that they can move on and learn more. Besides, my Evil Plans could benefit from strong bonds with good people, not that people are instrumental or that those evil plans are well-formed or anything. And it’s good to see people triumph.

So, what can I do to help people who are going through difficult times?

2015-03-20e Supporting friends in crises -- index card #support #friendship

2015-03-20e Supporting friends in crises – index card #support #friendship

  • Help them with basic needs: People often neglect their need for good food, rest, and social interaction. I can cook more and drop off frozen meals, or they can visit me and we can make a relaxing afternoon of it (especially if I can drag them out for a walk in the park too).
  • Give them hugs: Because people don’t get enough hugs, and brain chemistry can be a powerful thing.
  • Listen to them and play back what I hear: Lots of people aren’t as used to untangling thoughts on paper or on their computer, so it can help for them to talk through what’s on their mind. If I take notes, that makes it easier for them to reflect on things later.
  • Share reflections, experiences: Because sometimes it helps to hear about other approaches and considerations.
  • Sit with people or check in with them as they solve their own stuff: Good for people who know what they need to do, but who might appreciate an extra boost in motivation, enthusiasm, and progress-tracking.

2015-03-20f Sharing alternatives -- index card #support

2015-03-20f Sharing alternatives – index card #support

Hmm. I’ve given reflections and alternatives a lot of thought, so it may sometimes be helpful to share these processes, tools, and generative questions with other people in case they want them. Not solutions, but ways to come up with your own solutions. That might be handy.

2015-03-20g Dig your well before you're thirsty -- index card #support #relationships

2015-03-20g Dig your well before you’re thirsty – index card #support #relationships

Assuming most of my friends have gotten to where they are now with some form of self-care, and they’re geeky enough to take on the challenge of figuring out what they need and experimenting to find out what works well, I could probably just ask people what they need in terms of support, offering suggestions to get the ball rolling. It would be even better to get something like that in place before bigger challenges arise. (Me, I like hugs and sunshine, but I don’t like being pressed for details. I prefer to choose what to discuss and whom to discuss it with, and I tend to write instead of talk.)

A good way this could play out might be:

  • Help people take care of the basics so that they have a clear head for taking on their challenges
    • Cook extra and pack, then visit or receive guests
  • Establish protocol for calling attention to odd things in a non-judgmental way
  • Support the mindset that this is temporary, local, and impersonal; support self-compassionate approaches
  • Celebrate progress
  • Help people get back to the point of energy and joy

Do I have a kind approach for dealing with situations that need more from me than I can give? It’s a responsibility I should consider before offering support, because it could turn into an additional rejection. There have been situations when people wanted support but I wasn’t in the right place to give it, or the resonance wasn’t there.

  • I can fade out, which appears to be the common way to handle this
  • I can explain what I understand, which could lead to additional conflict/load/challenge but could also lead to clarification and change
  • I can discuss this protocol, which has some of the negative impact from the second approach but allows people to control how much they want to know

Hmm. I haven’t really tried the second or third approach before. They feel more truthful to me, although it will take some learning in order to do them well.

But if my goal is to be able to sustainably develop strong connections with good people who may (as all people do!) go through both tough and awesome times in their life, and since I will also go through both tough and awesome times in my life, I think that having this kind of communication about communication might be interesting.

At the end of the day, to have people you can trust implicitly, whom you know so well and are so used to thinking with that you can look at situations in your lives with many people’s eyes, and yet whom you can count on to not injure or sacrifice themselves because of something they think you think you want – who will push back if needed and find a better way, and who expect the same of you – I think that might be wonderful.

Weekly review: Week ending April 3, 2015

April 5, 2015 - Categories: review, weekly

This was a good week for improving and applying skills, collecting ideas, and reflecting. I finally sewed the box cushion covers that have been on my to-do list since 2009 or so. Mwahaha! I also learned how to use the laser cutter at Hacklab, so I’ve been plotting ways to use that to make life better (following up on the ideas we heard from Bruce Sterling’s talk at SXSW on open source luxury and tech in the home). I’ve been thinking about what I might want to do for my fifth year of this experiment with semi-retirement, so I’m collecting ideas, skills, and people. So, lots of reflection this week, which is good.

I also experimented with a private yoga session. It was a lot more expensive than a group class, but I picked up useful feedback and personalized exercises to work on. I’ll see if I can build a habit of doing those things at home over the next month. So far, so good.

I slept a lot this week, which was rather odd. Oh well, that’s life. Still got a lot done, though!

Next week, I’m looking forward to:

  • more yoga
  • recording another Emacs video with John Wiegley
  • more reflections
  • more time with friends
  • and more awesomeness!

output 2015-04-05b Week ending 2015-04-03 -- index card #weekly #journal

Blog posts

Sketches

Link round-up

Focus areas and time review

  • Business (34.8h – 20%)
    • Hang out with Emacs geeks
    • Earn: E1: 1-2 days of consulting
    • Earn (9.4h – 27% of Business)
    • Build (6.1h – 17% of Business)
      • Drawing (4.6h)
      • Delegation (0.0h)
      • Packaging (0.0h)
      • Paperwork (1.2h)
        • Add dividends to my tax form
        • Check with W- regarding RRSP
    • Connect (19.2h – 55% of Business)
  • Relationships (1.9h – 1%)
    • Hang out with Eric on Friday
    • Drop gift off at Jen’s
  • Discretionary – Productive (15.1h – 8%)
    • Emacs (1.9h – 1% of all)
      • Record use-package video
      • Make Google+ event for hangout with John Wiegley
    • Make bias cut template
    • Make Sorbetto base
    • Review Createspace
    • Sort out rest of taxes for 2014
    • Try laser registration ideas
    • Writing (3.6h)
  • Discretionary – Play (2.3h – 1%)
  • Personal routines (34.3h – 20%)
  • Unpaid work (13.1h – 7%)
  • Sleep (66.6h – 39% – average of 9.5 per day)

Laser cutting registration experiments and cutting long pieces of fabric

April 6, 2015 - Categories: geek

(aka Things Other People Probably Already Knew About the Hacklab Laser Cutter But That I Wanted to Figure Out =) )

For sewing purposes, I want to eventually be able to accurately cut pieces that are larger than the laser bed (22×18″). The approach that other people had recommended for large cuts is to laser-cut a piece of paper, then position material on top of it. This works really well for acrylic and other clear materials, but it’s a bit trickier with fabric.

I was curious about the following questions:

  1. Do the cutting bounds coincide with the mat if the grid has been removed? If so, then placing material would be much easier.
  2. Can you use registration markers to make the process of shifting opaque material easier?
  3. Can you build pauses into laser programs to make it easier to reposition material or adjust power?
  4. Do you need to keep stroke width in mind when setting the X and Y locations for paths in Inkscape? That is, when you set the X and Y, does it use the path (which is what’s used for cutting), or does it use the stroke width?
  5. Is the lowest leftmost position stable? That is, if you rehome the laser and then use the joystick to move it to the minimum X and Y the hardware will let it reach, does that position stay the same even if you repeat the process?

To explore these questions, I created an SVG that had

  • L-shapes to define the corners
  • a couple of crosshairs for shifting, and an additional reference line that could be checked against the X=0 line
  • two half-circles that would become one circle after shifting

Since Inkscape’s Gcode tools export the path names, I used Path – Combine to group related paths and the Object Properties dialog to rename them. This allowed me to edit the resulting Gcode, move the path for the second half-circle to the end of the file, and add an M0 pause before it. I taped paper down to cover the four corners. After processing the file with the sed scripts used to tweak things for our laser, I ran it.

Here are the results:

1. The cutting area does not coincide with the rulers or the mat.

I homed the laser and then touched off at the minimum X and Y positions that the hardware would let me reach. The lines I cut for the upper corners are slightly skewed away from the built-in ruler, which means that it cannot be used for alignment.

2. Registration marks allow for reasonable precision in large cuts.

2015-04-06 12.40.222015-04-06 12.36.01

The circle above is formed from half-circles, cut in two passes separated by a reposition. I started with two sheets of paper taped to the lower left corner: one to move, and one to act as a reference. After I made the first cut, I repositioned the top layer of paper so that the crosshair on the right was on top of the crosshair on the left and the reference line I cut was aligned with the lower left corner. Folding the quarters of the crosshair back helped me verify its position. I taped the top layer of the paper down and proceeded with the second cut. This simple registration process produced a cut that’s not completely accurate, but which is manageable for the kind of work that I want to do. It could probably be refined with additional crosshairs, boxes, or other registration shapes.

(Update: Boxes work wonderfully.)

3. You can use the M65 P0 and M0 operations to add a pause to your G-code program, but the program will be reset if you raise the lid of the laser.

The M0 operation pauses the program, and you can continue it by clicking on the pause button in the controller. However, when you raise the lid of the laser to reposition material, the controller loses the connection to the laser. After you reestablish the connection, the controller is no longer in pause mode, and you need to start the program from the beginning.

Because my G-code was relatively simple, I chose to re-run the program with zero power. When I reached the pause, I set the power to level 1 and continued with the program. This may be a good way to handle larger cuts if you want to keep the design in a single G-code file. Here’s a snippet showing the pause code.

M63 P0

(End cutting path id: upperleft)

M65 P0
M0

(Start cutting path id: secondhalfcircle)
(Change tool to Default tool)

M63 P0

M65 P0 turns off the laser immediately (instead of being synchronized with motion), and M0 pauses the program until it’s continued from the controller.

If you don’t want to pause and rerun, you can always split your cuts into separate G-code files. Dividing your SVG into layers makes it easy to select all the paths on a given layer before running the G-code export tool.

4. Inkscape takes stroke width into account when you move paths using X and Y, so be consistent about your positions.

If your stroke width is 1 px, then a line drawn on top of a 1″ grid from (0,0) to (0,2) will start at (-0.006″, -0.006″) and have a height of 2.006 inches. This can still be cut. If you move it to (0,0), the actual line itself will be offset by a tiny bit, although I’m not sure how much difference it would make when cutting. Anyway, when creating registration marks, make sure you have a consistent offset between your registration marks and the path to cut, and that you use a consistent stroke width (even if the laser cutter ignores that width). Make sure you turn off the default preference that scales stroke widths whenever you resize something (Edit – Preference – Behavior – Transforms – Scale stroke width, or use the fourth icon from the right of the top toolbar).

5. The lowest leftmost position appears to be stable.

If you home the laser, then use the joystick to move to the minimum X and Y position you can reach in the lower left, and you use the GUI controller to touch off at that point so that all coordinates are relative to that position, then your cuts will be in the same place each time. This appears to be true even after you rehome the laser and re-touch-off, and even after you turn off the laser and restart Linux EMC2. This means we could probably mark off the outside limits of the cutting area on the mat using something that’s laser-safe, and then people could use those as reference lines. On the temporary side, there’s taping down paper and using that as a guideline, which people are used to already.

Whee! So with the results above, I should now be able to make decently-precise long cuts in fabric…

2015-04-06 15.10.27 2015-04-06 15.09.58

MWAHAHA. Behold the power of the laser cutter. The pattern pieces are about 23″. This is the picture of a cut after the piece has been shifted so that the registration squares on the right of the fabric is over the registration squares on the left on my reference piece of paper. There’s a barely-perceptible jog in the line, and since that’s in the seam allowance instead of in a design, it’s totally okay.

All right! See files at https://github.com/sachac/laser if you want to explore.

Accurately tracing and cutting patterns makes the rest of sewing so much easier because you can go by the seam allowances. Since long cuts on fabric turn out to be Not That Scary, I can use this for cutting the pieces to sew together. For fabric that is harder to handle or laser-cut, I can use the laser to cut pieces that I can then pin to the real fabric for hand-cutting (since fabric patterns can be easier to handle than paper). Mwahaha!

Monthly review: March 2015

April 7, 2015 - Categories: monthly, review

Wow. That was actually a really full month. I hadn’t realized it day by day, but wow. I got deeper into making things, sewing enough tops so that I can wear something I made whenever I want. I cooked food that people enjoyed. I picked up yoga again, and I’m working on building habits for strength and flexibility. I learned a lot about people and about myself.

Last month, I wrote that I expected March to focus even more on personal projects:

  • finish a few more tops in this season’s colours. Done!
  • bake a few pies for Pi Day. Didn’t do, but I brought egg tarts instead.
  • work on a few personal projects. Yup!

Following up on my reflection on otium: that was an excellent use of discretionary time, and I can’t wait to see what April will be like. Next month, I look forward to:

  • collecting more ideas and skills
  • working on some personal projects
  • and building biking + yoga habits, yay!

output

2015-04-05c March 2015 -- index card #monthly #review

Blog posts

Sketches

Daily: 01 02 03 04 05 06 07 08 09 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31

Time

Category Last month (%) This month (%) Avg h per week Delta
Personal 14.7 18.4 31 3.7
Business – Connect 2.8 6.2 10 3.4
Sleep 35.3 38.5 65 3.2
Discretionary – Social 1.2 1.7 3 0.5
Discretionary – Play 2.8 3.1 5 0.3
Unpaid work 9.9 9.3 16 -0.6
Discretionary – Family 5.1 3.7 6 -1.4
Business – Earn 7.8 5.8 10 -2.0
Business – Build 7.8 4.5 8 -3.3
Discretionary – Productive 12.6 8.8 15 -3.8

Thinking about my sewing next steps, particularly with the laser cutter

April 8, 2015 - Categories: sewing

My laser-cutting experiment went well. I can use Hacklab’s laser to cut pieces of fabric for the plain tops I’ve been making. I sewed one up yesterday, and it was a breeze. The notches lined up, the dart lines were easy to follow, and everything came together neatly. So, what’s next?

  • I can use this new technique to sew a number of additional tops, perhaps in fabrics that are more breathable than the polyester broadcloth I developed my skills on.
  • I can look into decorative elements, maybe using fusible interfacing to stabilize the fabric (ex: http://www.kobakant.at/DIY/?p=1611). Appliqués? Cut-outs? Repeated patterns? I tend to prefer simple clothes, so I may just stick with cutting out the basics.
  • I can start exploring fabrics that were previously more intimidating, such as stretch fabrics (maybe a fitted cotton jersey shirt, or leggings for yoga?) and silk.

I think a few exercise tops or fitted T-shirts (self-drafting instructions) and a few leggings or pants (maybe following this tutorial) would be a good next step. I’ve seen bamboo at Designer Fabrics, so that might be good to work up to.

It’s a little hard to play around with patterns at home. Two of our cats love interfering with anything that involves concentration and flat surfaces, so sketching things on large pieces of paper sounds like an exercise in shooing them off. With the laser cutter, though, I can use Inkscape to draft and tweak the patterns, cut them precisely and reliably, and then sew them up to test the fit. If I’m lucky, I might even be able to use the sewing machine at Hacklab, further shortening the learning period.

It feels like such an odd luxury to pay attention to this instead of, say, spending the time consulting or programming or writing. But I think there might be something to the idea of infusing everyday objects with joy. I like wearing the tops I’ve sewn, as simple as they are. They remind me that:

  • I can learn things (even if I tried before and couldn’t figure things out),
  • I can make things (as simple or as neat as I want – so yes, straightforward curves, but what the heck, let’s French seam everything), and
  • I never have to worry about things being out of style or out of stock again.

The peach one I’ve just sewn – the one from laser-cut pieces – adds even more meaning:

  • I can incorporate new tools into my interests
  • I should remember to test my assumptions. Sometimes there’s a much easier way to do things!
  • I can work on applying technology to everyday life and little luxuries, and other people are interested in this too

There’s something in here about getting more out of each moment, and I’m curious about that. =)

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

April 8, 2015 - Categories: emacs, Emacs Chat, podcast

You can find John Wiegley on Twitter (@jwiegley) or at http://newartisans.com/.

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 http://github.com/jwiegley/dot-emacs 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, coveralls.io, 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

To never need to be needed

April 9, 2015 - Categories: connecting

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…

Experimenting with spending more time at Hacklab

April 10, 2015 - Categories: connecting, geek, time

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.

Weekly review: Week ending April 10, 2015

April 12, 2015 - Categories: review, weekly

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. https://plus.google.com/108840863190686221561/posts

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

Sketches

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)

Squirrel brain

April 13, 2015 - Categories: writing

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.

Laser cutting update: Marvel version

April 14, 2015 - Categories: geek, sewing

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

Emacs Hangout 2015-04-15 show notes

April 15, 2015 - Categories: emacs, podcast

We chatted about packages, packaging, databases, and the upcoming Emacs conference.

Event page: https://plus.google.com/events/c3igul0rj6cfc1qbcar91lrcj0s

What’s this Emacs Hangout thing about? This is an informal way for Emacs geeks to get together and swap tips/notes/questions. You can find the previous Hangouts or sign up for the mailing list at http://sachachua.com/blog/tag/emacs-hangout/ .

Upcoming Emacs Hangouts:

Emacs Lisp Development Tips with John Wiegley
April 28, 2015 Tue 4:00 PM Toronto time (8 PM GMT)

Emacs Hangout
April 30, 2015, at 2 PM Toronto time (6 PM GMT, 8 PM CET):

Want to find out about upcoming hangouts? You can sign up for notifications at http://eepurl.com/bbi-Ir or follow the Emacs conferences and hangouts page.

Timestamps are approximate since I was a little distracted. =)

  • 0:25:14 8:26 PM whoops, forgot to keep track of stuff. Before this: conversation about Unity/C#/etc. in Emacs; Spacemacs
  • 0:26:33 Howard demonstrates literate database queries with a remote SQL server. SSH tunnel + –protocol=tcp
  • 0:28:55 Naming the results of queries and then using them in a different calculation
  • 0:30:39 Hmm, might be a good technique for exploring old databases
  • 0:31:13 sx.el – StackExchange client
  • 0:34:16 howdoi-emacs
  • 0:34:57 sx setup, sx-tab-all-questions
  • 0:35:59 hydra sample use cases: opening files and directories, changing the quotation of strings, mode switching
  • 0:37:30 clone indirect buffers
  • 0:39:35 Cask
  • 0:43:27 use-package
  • 0:44:57 paradox
  • 0:49:11 packages
  • 0:56:02 Emacs conference stuff
  • 1:05:11 weird Emacs things =)
  • 1:07:43 Next up: literate config (Dylan, Sean)
  • 1:13:19 wrapped up

Text chat and links:

me 8:08 PM By the way, we can use this text chat as a backchannel. After the chat, I’ll copy it and share it with the show notes so that other people can grab links.
Howard Abrams 8:14 PM Here is my investigation of my save hooks in case you can kick off some sort of script: http://howardism.org/Technical/Emacs/save-hooks.html
me 8:15 PM External to Emacs, but possibly interesting: https://github.com/infospace/guard-java
Dylan Thiedeke 8:16 PM You said there was a ruby-guard? I will have to look into that for authoring and editing cookbooks and recipes for use with Chef
me 8:17 PM https://github.com/guard/guard ?
Dylan Thiedeke 8:18 PM Awesome! Will definitely be looking at that thanks Sacha
Swaroop C H 8:20 PM csharp layer – https://github.com/syl20bnr/spacemacs/blob/064a598bff56f7cef1ac2ddf1c43684357dde56a/contrib/lang/csharp/README.md ?
M. Ian Graham 8:21 PM Nice link Swaroop, I’ll see if I can pull it in
me 8:25 PM http://emacswiki.org/emacs/GnuGlobal
Swaroop C H 8:26 PM https://github.com/syl20bnr/spacemacs/pull/1169
Sod Oscarfono 8:32 PM +1 for being a bassist!
M. Ian Graham 8:32 PM https://github.com/vermiculus/sx.el
Howard Abrams 8:32 PM Here is the blog post about the literate database work: http://howardism.org/Technical/Emacs/literate-database.html
me 8:34 PM https://github.com/arthurnn/howdoi-emacs
Zachary Kanfer 8:48 PM There’s an Emacs song: https://www.gnu.org/fun/jokes/welcome-to-gnu-emacs.html and http://www.emacswiki.org/emacs/LyricMode
Samer Masterson 8:53 PM gimmie a sec, getting headphones
me 8:56 PM Question from a viewer: Why would someone use both Cask and use-package at the same time https://raw.githubusercontent.com/rejeep/emacs/master/init.el ?
Sod Oscarfono 8:57 PM i’m an ex-event manager… i’d be keen on helping get one happening in oceania
me 8:57 PM Oooooh
Sod Oscarfono 8:57 PM nz or aus maybe
Samer Masterson 8:57 PM https://goo.gl/forms/tv0sDuApd8
Dylan Thiedeke 8:57 PM Sod I’m in AU. Not qualified enough to present but would help out if I could
Sod Oscarfono 8:59 PM thanks Dylan. perfect/ any ideas on a rough idea of numbers of emacs users globally? by region? hard to quantify i realise but are we talking hundreds, thousands, hundreds of thousands do you think? keen as Samer… i’m nowhere near as proficient with emacs, or programming as most here but i have many other skills.. event management, audio engineer, graphic design and close connection with large format commercial printer
Dylan Thiedeke 9:03 PM Sod in Australia I couldn’t even imagine a number. Maybe poll the #emacs IRC channel on friend and the emacs group on G+
me 9:03 PM Sod: Woohoo! Awesomeness.
Dylan Thiedeke 9:04 PM Sod I’m not a programmer either but use emacs for documentations and starting to use it for project management with org-mode etc
Sod Oscarfono 9:04 PM community is the magic word when talking to me
Samer Masterson 9:04 PM emacsconf.github.io/emacsconf2015
Sod Oscarfono 9:05 PM feel free to add me Dylan we can fire some ideas back and forth. maybe a poll of interest in a local conf or meetup
me 9:06 PM Sod, Dylan: Neato!
Howard Abrams 9:07 PM I’m sorry, but I have to leave as well. Thanks for the fun and I will listen to the rest later.

Considering tech and the home

April 16, 2015 - Categories: experiment, geek

I came across an interesting exercise in Barbara Sher’s I Could Do Anythng If I Only Knew What It Was: to pick a scenario and try fully committing to it, even just for a little while.

Let’s say that this current lifestyle is the thing that I’m going to fully explore. I’ve started thinking of it as blending technology and non-technology interests, building a little on the idea of exploring that future where tech is more integrated into the home. I’m not the only one exploring it (yay!), but there aren’t that many people with the opportunities to do so yet, so maybe I can bring some useful ideas and insights to it.

So: laser cutting and sewing, Emacs and cooking, days with the abundance of time that science fiction writers used to predict we’d enjoy.

What would this life look like, carried to its fullest extent? What steps can I take to move towards that? How would this life evolve as technology advances and my skills improve?

One direction people go with lives like this is that of homesteading: building up more independence by growing and making more things. I like being close to the library, subway, and supermarket, so maybe that lifestyle isn’t quite for me yet.

Another direction is to stay where you are, but improve the way you do things.

  • I want to make more customized things, like the way I like wearing the tops I’ve sewn. Who knows, I might even get good enough to sew things for other people. As I get better at imagining and constructing things, I might also be able to apply those skills to laser-cutting, 3D printing, and other manufacturing technologies.
  • I want to get better at repurposing things, getting more value out of stuff before we recycle or trash them.
  • I want to gradually swap out more of our consumables with reusables. For example, I can make produce bags out of mesh. Then we won’t need to use plastic bags for fruits and vegetables.
  • I want to cook a wider variety of recipes, and I want to prepare each recipe better. I also want to get better at transforming leftovers.

I feel a little odd about a life that seems so focused on such a small area (of interests, of geography, etc.). I feel some internal resistance around that. But hey, Emacs is a pretty niche thing too. Besides, it might be interesting to take notes and see where this goes.

Related sketches:

2015-03-27b Resistance to different dreams -- index card #resistance 2015-04-16a Imagining a week of taking it easy -- index card #relaxing #life 2015-04-16b What does my Resistance sound like -- index card #resistance 2015-04-16d What if I extrapolated this rest to awesomenss -- index card #life 2015-04-16e How can I cross-pollinate interests

Being extra-kind to myself

April 17, 2015 - Categories: experiment, life

I enjoy an awesome life in general, so it feels a little indulgent to focus on making it better. But for the next few weeks, I think I’ll experiment by being even kinder to myself. It’s not just a matter of spending the entire day reading or playing video games… (On the plus side, W- and J- are avid players of the Persona RPG series too, so we get to joke about the game and swap notes.)

2015-04-17b Being extra-kind to myself -- index card #self-care

2015-04-17b Being extra-kind to myself – index card #self-care

I think it’s about paying attention to the kinds of things that give me (and other people) joy, and finding a great balance. If I read too much without writing or trying things out, I feel disconnected. If I play too much, my brain feels buzzy. I enjoy other things too: cooking, taking care of things, cuddling the cats… I derive a lot of pleasure from creating a good life for myself and for the people closest to me. Oh, and there are little splurges that aren’t actually all that expensive: strawberries while they’re sweet, seeds and starters, 100% cotton fabric. (Maybe as an extra treat, I’ll buy a yard of a Liberty print and see what all the fuss is about).

Mm. Yes, I think I’ll cultivate these as my favourite ways of self-care:

  • paying attention to and appreciating life
  • making things, imagining them, tweaking them, improving my skills

in addition to the other ways I’ve been keeping my life relaxed and open.

2015-03-25a Learning about taking care of myself -- index card #self-care

2015-03-25a Learning about taking care of myself – index card #self-care

I changed my mind about the e-mail thing, by the way. I rather like this relaxed approach to e-mail. I want to see if I can continue doing it, maybe even quiet that occasionally guilty part of me that worries about messing up other people’s plans.

2015-04-17e Slowing down e-mail -- index card #email #slow #relax #experiment #semi-retirement

2015-04-17e Slowing down e-mail – index card #email #slow #relax #experiment #semi-retirement

I figure it’s as good a time as any to get even better at self-care. Dig your well before you’re thirsty, after all. Build your skills and habits before you need them.

2015-03-25b Why have I focused on self-care -- index card #self-care

2015-03-25b Why have I focused on self-care – index card #self-care

Weekly review: Week ending April 17, 2015

April 19, 2015 - Categories: review, weekly

Between dealing with a squirrelly brain and deciding to take it easy, I didn’t get very much done this week. Oh! Except for getting the garden started, whee! Anyway, I thought a lot and drew a lot and even sewed a fair bit, so the week actually turned out pretty well.

Next week: more conversations, and continuing to take it easy… I might look into sewing fabric pots, since apparently that’s a Thing and it neatly combines three of my interests: gardening, sewing, and experimenting with lasers.

2015-04-20k Week ending 2015-04-17 -- index card #journal #weekly output

Blog posts

Sketches

Link round-up

Focus areas and time review

  • Business (23.3h – 13%)
    • Earn (10.0h – 43% of Business)
      • Earn: E1: 1-2 days of consulting
      • Earn: E1: 1-2 days of consulting
    • Build (6.3h – 27% of Business)
      • Drawing (6.1h)
      • Paperwork (0.2h)
    • Connect (7.0h – 29% of Business)
      • Talk to Christina Gonzales about Quantified Self
      • Ask Eric and Nicholas about Hacklab board thing
  • Relationships (19.3h – 11%)
    • Work on project
    • Attend RJ’s party
  • Discretionary – Productive (16.5h – 9%)
    • Emacs (2.3h – 1% of all)
      • 2015-04-15 Emacs Hangout
    • Renew domain
    • Sew rest of snaps
    • Cut Marvel fabric
    • Review Createspace
    • Writing (2.3h)
  • Discretionary – Play (11.0h – 6%)
  • Personal routines (27.0h – 16%)
  • Unpaid work (9.8h – 5%)
  • Sleep (61.1h – 36% – average of 8.7 per day)

What I’m learning about small talk

April 20, 2015 - Categories: connecting

After RJ’s recent party, I realized that my perception of and approach to small talk had shifted quite a bit from what it was a few years ago. In the past, I used to feel annoyed with how small talk conversations tend to cover the same ground repeatedly (“So, what do you do?”) and how they didn’t often result in follow-up actions or connections. Now I see small talk as a way to explore and appreciate other people’s stories (especially since few people blog) and discover which aspects of myself might resonate with other people (and vice versa). It’s also a lot of fun to play with the mental models that other people build up, which is why I’ve been experimenting with introducing myself as a housewife and then letting the conversations bring out other weird aspects. ;)

2015-04-19f Small talk shifts -- index card #small-talk #growth

2015-04-19f Small talk shifts – index card #small-talk #growth

It’s also fun building up little chains of stories with the kinds of hooks that make people say, “Wait, what?” Some examples of things that are incongruous or that provoke curiosity: semi-retirement, step-parenting a 17-year-old, combining laser-cutting and sewing, disassembling a washer/dryer, wearing a vest with an unusual number of pockets.

Weirdness is useful. Ideally, this weirdness brings out disclosures of other people’s weirdness, or prompts them to connect me with someone else they know, or demystifies something and encourages them to explore it. As for me, I like finding out if someone is the kind of person I might want to get to know further – perhaps collaborate with or mentally model. I look for people with shared values, interesting experiments, and a sense of growth.

2015-04-19e Different worldviews -- index card #small-talk

2015-04-19e Different worldviews – index card #small-talk

Experiments are good because we learn from the divergences. That said, sometimes I can be too weird – when something I do or something I experiment with is just too far from someone’s worldview to relate to or understand. For example, sometimes I talk to people who just don’t get Stoicism, simple living, homebody-ness, tech customization (especially Emacs), quantified/experimental thinking, or blogging.

That’s cool. I don’t need other people to validate me and I don’t need to convert other people to my perspective, so it’s really more of an opportunity to explore.

When people ask questions about one of my experiments, I’ve been leaving it up to them to drive the conversation since I’m happy to answer questions. Sometimes these end up in unproductive loops. It occurred to me that it might be fun to take a more sociological/anthropological approach to this: to deliberately explore other people’s perspectives and dig into why they think the way they do, possibly from the position that I make perfect sense to myself and it’s other people who are odd and deserving of study. ;)

2015-04-19d On talking to non-Stoics about preferences and value judgments -- index card #stoicism

2015-04-19d On talking to non-Stoics about preferences and value judgments – index card #stoicism

Here’s a more detailed example. I talk about value judgments surprisingly often because people often press for information on whether I’d like to have kids, which I suppose is a standard small-talk question for women around this age. Harumph. They usually have strong opinions one way or the other. This is one of the things that I’m careful to not have strong value judgments around or be attached to specific outcomes for. Sometimes I use this as an opportunity to prod people to be more considerate about things by considering a wider range of scenarios. Sometimes I frame my response in terms of being happy either way. It’s pretty rare to find people for whom this position makes sense. Many people are quite boggled by it. But I talk about equanimity anyway in case that resonates with someone who’s been looking for that concept, and even if it doesn’t sink in, I can rest in the knowledge that it makes sense to me.

On the other hand, my favourite kinds of conversations are with people who have deliberately cultivated their own differences from the mainstream and who can reflect on those experiments. Then our conversations become a high-bandwidth sort of brainstorming and swapping of notes. =) We might be doing different experiments, but we can understand and learn from each other’s perspectives.

So, small talk. It’s an opportunity to discover interesting things about people (captured in quick notes after the party, because who knows), play with sharing aspects of myself and messing up people’s mental models, and learn more about things I do differently. Even when I’m talking to people who find it difficult to understand external perspectives or whose conversational skills are somewhat impaired by alcohol, I can pick up useful information about other people and myself. As I meet more interesting people and as those people grow through their own experiences, I trust that small talk will become even more fun. =)

More ideas for tech and the home

April 21, 2015 - Categories: geek

There’s an upcoming wearable tech / Internet of Things hackathon (Toronto: May 8-10, 2015; other dates elsewhere). Since hackathons are great ways to collect interesting ideas and people, I thought about whether I wanted to join and what I might do. It’s easier to generate ideas when you have a particular focus, so I reflected some more on what I’d started thinking about tech and the home.

Hackathons are handy ways to get access to hardware (sometimes even before they’re released to the general public) and to mentors who can help get past odd hurdles. I looked up the hardware that will be featured at the event:

  • Thalmic Myo: gestures
  • Intel Edison: low-power, small-form-factor computing
  • Nod Ring: gestures
  • Estimote Beacon: location tracking, sensors
  • Xbox Kinect: gestures, computer vision
  • Muse: biofeedback, brain waves
  • Arduino: electronics, shields, interfacing with the real world, small-form-factor computing
  • Xadow: various connected components for wearables

Then I made a brainstorming grid and started matching up various interests and technologies. I filled in some ideas and researched past hackathon winners or existing companies for others. Here are those thoughts:

2015-04-20i Tech and the home -- index card #tech-and-home

2015-04-20i Tech and the home – index card #tech-and-home

2015-04-20j Wearables, IoT, and the home -- index card #tech-and-home

2015-04-20j Wearables, IoT, and the home – index card #tech-and-home

I probably won’t go because I have some other personal projects to work on around that time. There are lots of opportunities to do things like this in Toronto, so maybe next time. =) In the meantime, I have a quick braindump of ideas that might be interesting to play with. I might start with gardening, since that’s the season for that. (Whee!) A 3D-printed seed dibbler doesn’t count as wearable tech or Internet of Things, but it would be handy right around this time, so I can use that to learn more about printing. I’ll also look into making those fabric aeration pots out of felt, laser-cutting markers, and possibly having some sensors for microclimate monitoring. Possibilities…

What Stoicism means to me

April 22, 2015 - Categories: philosophy

One of my friends told me that he couldn’t quite square Stoicism and what he knew about me. The general impression of Stoicism is, well, the “stiff upper lip” sort of stoicism, and quite a few people have told me that I’m one of the happiest and most optimistic people that they know. So I figured I’d write about it a little.

2015-04-20d What does Stoicism mean to me -- index card #stoicism

2015-04-20d What does Stoicism mean to me – index card #stoicism

I get my understanding of Stoicism from people like Epictetus, Seneca, Marcus Aurelius, the people who translated their books, and more recent authors like William Irvine. The philosophy was pretty similar to how I saw the world growing up, and reading about the ancient Stoics (and similar schools of thought) helped me flesh out those thoughts further because I could take advantage of other people’s insights.

I really appreciated having inspiring role models, time-tested tools, and a wider vocabulary for recognizing and working with my thoughts. I liked the validation of equanimity as a goal in itself (not just pleasure or happiness). I found negative visualization and other Stoic practices to be really good at helping you develop appreciation and deepen your joy. I liked the sharp delineation between things you can control and things you can’t, and the radical freedom and responsibility this helps you realize.

More about equanimity:

2015-04-03d Equanimity -- index card #philosophy #equanimity

2015-04-03d Equanimity – index card #philosophy #equanimity

On a related note, this might explain a little bit about the wonder that fills my universe:

2015-04-20c The glass is amazing -- index card #philosophy #perspective

2015-04-20c The glass is amazing – index card #philosophy #perspective

Anyway, so that’s how that works for me!

Cultivating coping mechanisms

April 23, 2015 - Categories: happy, reflection

2015-04-20b Cultivating coping mechanisms -- index card #self-care #coping

2015-04-20b Cultivating coping mechanisms – index card #self-care #coping

I’m not sure if other people do this, but I figured I’d write about how I deliberately cultivate certain coping or self-soothing behaviour, in case it resonates with anyone.

Whenever I come across a mildly stressful situation, I use that as an opportunity to practice and reinforce ways to deal with it. For example, I like getting hugs, so I’ve learned to create that feeling for myself and I’ve learned to ask people for hugs when I need it. I associate hot chocolate with comfort and self-care instead of having it as a regular luxury, so it’s there as a treat when I really need it. I tell myself that it’s impossible for me to stay sad when I’m eating ice cream, and that becomes the case. I practise elucidating what I’m feeling, accept it, and experiment with ways to improve the situation. I give myself permission to stop trying to do things that require a lot of thinking and energy, and to instead focus on cooking and other easy ways to create value for myself and others. I figure out good walks and relaxing forms of exercise. I guiltlessly spend time cuddling the cats.

Sometimes I’ll focus on remembering what it feels like to be comforted and happy and safe while, say, mind-mapping thorny feelings, and eventually it becomes easier and easier to do so.

When more stressful situations come, I have some idea of what works for me, and I have positive associations around those techniques. I wonder if it’s a little like clicker-training yourself… =) Anyway, I’ve been finding it easier and easier to deal with life’s little curveballs. I don’t know the magnitude at which things will start to overwhelm me again, but it’s nice to know that I can handle more and more. In the meantime, even obstacles can be fuel for greater happiness and equanimity. =)

Learning from a diversity of ways to live a significant life

April 24, 2015 - Categories: experiment

I have plenty of role models in terms of people who’ve done wonderful things as part of regular careers and entrepreneurs who’ve created products or services. I even have a few role models who’ve explored alternative paths: simple living, writing, arts, crafts, trades… I love having such a diversity of life paths illuminated for me, with so many examples of people doing well.

I’ve been thinking about the path that I might take. The path of growing outwards – self, household, close relationships, and beyond – seems unusual, or at least harder to find information on. It feels a little feminine, I think, skewed towards domesticity. I think that’s part of the appeal for me. I want to take the skills I’ve learned in the mostly-male world of the technologies I’ve learned, and apply those skills in areas that might not be gender-balanced for a long time. This way I can maximize learning and difference-making.

2015-04-10b Reflecting on paths for living a meaningful life -- index card #experiment #evil-plans

2015-04-10b Reflecting on paths for living a meaningful life – index card #experiment #evil-plans

The impression I sometimes get from stories of startup founders is that they jump so quickly to imagining and building a service or product instead of developing deep understanding of needs, people, systems, opportunities… I know that doing things is a great way to learn things – fail fast and fail often – but I’m also curious about developing my understanding by other ways. I imagine that if I do this well, I’ll gradually develop the relationships and insights that would help me make a good difference. In the meantime, I can focus on improving myself, helping and connecting with people, and taking and sharing my notes.

2015-04-20e At peace with a small life -- index card #experiment

2015-04-20e At peace with a small life – index card #experiment

It’s getting easier and easier to not be tempted to shortcut this process. At a recent party, I was talking to a serial entrepreneur who was looking for a successor he could mentor. He seemed to derive a great deal of pride from having created a wonderful product, and it was well-deserved.

He asked me if I had created any products that could be identified with me, and if I wanted to. Reflecting on the conversation, I realized that no, I don’t particularly need to work toward that kind of significance right now. I’m happy to continue my experiment to at least the 5-year mark that I had initially set for myself, and possibly longer.

2015-04-19c 5-year plan vs 5-year experiment -- index card #experiment

2015-04-19c 5-year plan vs 5-year experiment – index card #experiment

The 5-year experiment thing boggled him too. I think he was thinking of it more as a 5-year plan: have a certain goal, get there with actions and the occasional workaround. I think of this 5-year experiment as creating a safe space for me to explore and learn, and the timeframe is there to prevent me from running back into my comfort zone too early.

I guess I could describe my aims this way: I work towards cultivating happiness/equanimity and producing understanding as my first two priorities. At this point, I’m not working towards wide impact, fame, influence, or money. I might get to that someday, but I’d like those first two things well-covered first.

2015-04-20f Experiment timeline -- index card #experiment

2015-04-20f Experiment timeline – index card #experiment

When might I move on from this phase? It’s not that I don’t think I’m ready, that I’m waiting for the stars to line up, or that I feel constrained to do this right now. I’m stacking the deck, and I’m collecting people and ideas.

2015-04-20h Conditions for considering a startup -- index card #experiment #startup

2015-04-20h Conditions for considering a startup – index card #experiment #startup

What will likely happen is that, after I figure out a little more about life, I’ll have these relationships with people I strongly want to help as a business partner or as a provider (preferably both). For example, if W- wants to start a business, or if I resonate strongly with a friend’s idea, I might dig into it more deeply. But I’d still want to see if we could build a company without making the personal health or relationship sacrifices that you often hear about in entrepreneurship circles. I’d want people to still get good sleep and spend time with other people who are important to them.

So that’s how my Evil Plans might unfold…

Weekly review: Week ending April 24, 2015

April 26, 2015 - Categories: review, weekly

Very fuzzy-brained this week; sore throat on Saturday and Sunday, too. That’s okay. Taking it easy. =) Somehow managed to draw a ton anyway, thanks to the ease of setting up five digital index cards and the itch to complete all of them.

Oh, and I finished the taxes for 2014, yay!

2015-04-27f Week ending 2015-04-24 -- index card #weekly

output

Blog posts

Sketches

Focus areas and time review

  • Business (31.0h – 18%)
    • Fix user edit screen
    • Look into time graph
    • Earn: E1: 1-2 days of consulting
    • Prepare invoice
    • Send time to E1
    • Earn (7.7h – 24% of Business)
    • Build (13.1h – 42% of Business)
      • Drawing (9.7h)
      • Paperwork (2.9h)
    • Connect (10.2h – 32% of Business)
  • Relationships (12.1h – 7%)
    • Work on project F
    • Attend RJ’s party
    • Check on project
  • Discretionary – Productive (13.2h – 7%)
    • Emacs (0.0h – 0% of all)
    • File all the paperwork related to 2014 taxes
    • Doublecheck against Sun Life claims
    • File personal taxes for 2014
    • Download Helpouts history
    • Make fabric aeration pot pattern
    • Bring a pot and an apron to Hacklab
    • Send reminder to hangouts list
    • Record Emacs Lisp Development Tips episode with jwiegley
    • Help with Emacs Hangout
    • Writing (2.8h)
  • Discretionary – Play (13.0h – 7%)
  • Personal routines (22.8h – 13%)
  • Unpaid work (17.5h – 10%)
  • Sleep (58.4h – 34% – average of 8.3 per day)

Assorted sewing-related sketches and thoughts

April 27, 2015 - Categories: sewing

I’ve settled into a routine of wearing something home-made every day. I’m looking forward to gradually adding higher-end fabric, and learning how to sew new pieces. Here are some things I’ve learned along the way.

2015-03-22b Decision review - Sewing -- index card #review #sewing #decision

2015-03-22b Decision review – Sewing – index card #review #sewing #decision

Sewing adds a new layer of satisfaction to my everyday life. I enjoy having a background reminder that I can learn how to make things.

2015-03-22c What was different about sewing this time -- index card #delta #sewing #review

2015-03-22c What was different about sewing this time – index card #delta #sewing #review

What was different about sewing this time? I set myself up for happiness and success by picking a super-simple pattern. It turns out that I like the bias binding technique much more than I like the facing technique, since I haven’t figured out how to stop facings from flapping around, and it’s actually pretty fun to use the bias tape maker. New pins made a surprising difference, too – it’s so much easier and less frustrating when your pins just glide through the fabric.

2015-03-13c Improving my sewing experience -- index card #sewing

2015-03-13c Improving my sewing experience – index card #sewing

The sewing machine and the serger are now on the desk full-time, instead of tucked in a closet. My sewing things are in a drawer. I still haven’t set up a system for listening to music or podcasts while I sew, since I use it as quiet time for thinking.

2015-03-13e What would managing my stash well look like -- index card #sewing

2015-03-13e What would managing my stash well look like – index card #sewing

2015-03-13d What are a few useful things I can do with my fabric stash -- index card #sewing

2015-03-13d What are a few useful things I can do with my fabric stash – index card #sewing

I found some stash-busting projects I like. They’re great ways to use up scraps while creating practical things, like little wrappers and liners. I’ve also pieced together larger scraps to create prototypes, which is nice. Maybe I’ll get into quilting or patchwork later on.

2015-03-12c Sewing pre-mortem -- index card #sewing #premortem

2015-03-12c Sewing pre-mortem – index card #sewing #premortem

None of the pre-mortem factors I planned for have kicked in yet. That’s because I’ve been learning deliberately slowly instead of trying to rush my way through things. =) I might spend a little more time getting used to the laser cutter and all that it can do for me; there’s so much to explore.

2015-02-25b What's next for sewing -- index card #sewing

2015-02-25b What’s next for sewing – index card #sewing

I have a bamboo stretch knit just waiting to be turned into loungewear, so I’m looking forward to learning how to self-draft a pattern for that. Extra points if I can do it digitally and then laser-cut the cloth, even if that means figuring out how to register long knits. =)

2015-02-24d Improving my sewing experience -- index card #sewing

2015-02-24d Improving my sewing experience – index card #sewing

Actually, the pipeline probably goes like this:

  • Tuesday at Hacklab:
    • Buy fabric for the next project
    • Cut washed fabric for the current project
  • Wednesday at home, possibly Friday or Saturday as well:
    • Sew and press the current project
  • Sunday at home:
    • Wash fabric for the next project
    • Plan the next next project

I think it would be good to have two (and exactly two) projects on the go at any given time. That way, I don’t end up stashing lots of fabric, and I can make the most of the resources available to me.

2015-02-24a New pattern, or several of one -- index card #sewing

2015-02-24a New pattern, or several of one – index card #sewing

Making many instances of the same pattern has been lots of fun. I still don’t feel an urge to learn about closures or sleeves, so the basic top is fine. I can gradually add more colours and fabrics, though. As for new patterns, I might look into making a few pairs of comfortable pants.

Yep, I think this skill might make its way into my identity… Neat!

More thoughts on fuzzy days

April 28, 2015 - Categories: life

I’m recovering from a sore throat and a cold, among other things. If I want to, I could spend all day in bed or playing video games (or playing video games in bed). That’s where my mornings have gone, actually, since I’ve been letting myself sleep in until I feel rested. There’ll be time enough for getting more things done. For now, I’m taking it easy. There are lots of things I can still do with a fuzzy brain.

2015-04-27a Quiet days -- index card #fuzzy

2015-04-27a Quiet days – index card #fuzzy

2015-04-26b When my brain is fuzzy because I'm sick -- index card #fuzzy #sick

2015-04-26b When my brain is fuzzy because I’m sick – index card #fuzzy #sick

It’s interesting to notice the little hiccups in my brain: skipped or transposed letters as I hand-write common words, misplaced items, a spike in my sleep time.

2015-04-27d Minor signals -- index card #fuzzy

2015-04-27d Minor signals – index card #fuzzy

Instead of getting frustrated with myself, I find myself curious: what’s the difference between this and what I would consider my normal state? Is it a gradient or a sharp transition? Can I influence being in one or the other? And it’s good to know these signals and tripwires, too. It means I know to stay away from big decisions or judgments, from making commitments, from writing code that other people might rely on. It’s also a relief to see that life goes on.

Tech and the kitchen

April 29, 2015 - Categories: cooking, geek

I think I spend most of my time in the kitchen: cooking, tidying up, or simply hanging out. It’s the room with the most light in the house, so it’s easy to just pull up a chair and write or draw at the kitchen table.

There’s been decades of buzz around smarter kitchens – fridges that track and reorder groceries, gadgets that enable new cooking methods. Still, it’s been a little easier for me to imagine tech’s application to sewing than to cooking (at least in our household. I think it’s because we deliberately try to avoid cluttering our kitchen with the endless stream of gadgets sold in stores, on television, and now the Internet: from the “It slices! It dices! It even juliennes!” mandoline, to spiral slicers, to even workhorses like the slow cooker.

2015-04-28c Gadget trade-offs in the kitchen -- index card #tech-and-home #technodomesticity #tradeoffs #gadgets #kitchen #cooking #decision

2015-04-28c Gadget trade-offs in the kitchen – index card #tech-and-home #technodomesticity #tradeoffs #gadgets #kitchen #cooking #decision

It seems that innovations in tech and the home tend to cluster around:

  • the kitchen: cooking, eating, organizing, stocking
  • entertainment
  • automation, sensing, and control: thermostats, lights, energy consumption
  • sleep, health, exercise
  • working from home

Mmm. In terms of the kitchen, where do I want to explore? This might not overlap with where most of the startups are focusing on. Divergence can be quite interesting.

2015-04-28b Tech and the kitchen -- index card #tech-and-home #technodomesticity #kitchen #cooking

2015-04-28b Tech and the kitchen – index card #tech-and-home #technodomesticity #kitchen #cooking

Hmm… There’s a lot of interest around meal planning, but maybe I can play with the specifics of it. I’ve been working on building more variety by focusing on five colours and five ways, following a thread I found in a few Japanese cookbooks. (And five tastes – that’s another level I want to figure out =) ) It might be interesting to graph several of our favourite combinations, and then cycle through them as I add more variety.

2015-04-27e Imagining meal planning -- index card #cooking #planning #variety

2015-04-27e Imagining meal planning – index card #cooking #planning #variety

I wonder how I can build a tool to help me visualize and plan these things… I could probably get Emacs to display an Org Mode table with the current selections, previous meals, and possibilities, or I could do something more graphical with a web page and SVGs or Javascript. First I need to think of how I want to see it…

Reading while fuzzy

April 30, 2015 - Categories: book

Still fuzzy-brained yesterday, so I took a break from sleeping and playing video games in order to read through the stack of books I’d checked out of the library. Hooray for the library. If I had to make the buying decision for each book, I would have nowhere near this number and diversity.

Reading while fuzzy works surprisingly well. With a sharp brain, sometimes I get impatient with books that cover the same ground as other books I’ve read, or books that aren’t particularly relevant to me, or books that don’t have quite the right feel in their writing. I think: I could be coding or writing or figuring things out myself. With a fuzzy brain, I can take things more slowly.

2015-04-29a Reading while fuzzy -- index card #reading #fuzzy

2015-04-29a Reading while fuzzy – index card #reading #fuzzy

Anyway, here are the three books I got through.

2015-04-29e Raw book notes - The Great Work of Your Life - Stephen Cope -- index card #book

2015-04-29e Raw book notes – The Great Work of Your Life – Stephen Cope – index card #book

2015-04-29d Raw book notes - Makers - Chris Anderson -- index card #book

2015-04-29d Raw book notes – Makers – Chris Anderson – index card #book

2015-04-29c Raw book notes - Self-help, Inc -- index card #book

2015-04-29c Raw book notes – Self-help, Inc – index card #book

While filing them in my outline, I noticed that I had a bunch of other raw book notes: not pretty ones with doodles and colours, just index cards crammed with writing. I figured I’d post those too, since I often search my blog for things I remember.

2015-01-22 Book – Leading the Life You Want – Friedman 2014 – index card #book

2015-01-15 Think Better - Tim Hurson -- index card #book #raw #thinking #creativity

2015-01-15 Think Better – Tim Hurson – index card #book #raw #thinking #creativity

2015-01-15 How to Read and Why - Harold Bloom -- index card #book #raw #reading

2015-01-15 How to Read and Why – Harold Bloom – index card #book #raw #reading

2015-01-23 Book - Leaving a Trace - Alexandra Johnson -- index card #writing #book

2015-01-23 Book – Leaving a Trace – Alexandra Johnson – index card #writing #book

2015-01-18 The Sense of Style -- index card #book #writing

2015-01-18 The Sense of Style – index card #book #writing

2015-01-14 On Desire - Why We Want What We Want - William Irvine -- index cards #book

2015-01-14 On Desire – Why We Want What We Want – William Irvine – index cards #book

2015-01-26 Book - How to Think Like Leonardo da Vinci -- index card #raw #book

2015-01-26 Book – How to Think Like Leonardo da Vinci – index card #raw #book

2015-01-15 Writing on Both Sides of Your Brain - Henriette Anne Klauser -- index card #book #raw

2015-01-15 Writing on Both Sides of Your Brain – Henriette Anne Klauser – index card #book #raw

Might as well get the thoughts out there. Who knows how they’ll ripple and come back?

2015-04-30 Emacs Hangout – hosted by Philip Stark

April 30, 2015 - Categories: emacs

Thanks to Philip Stark for organizing an Emacs Hangout that’s more conducive to European timezones! Here’s the video and the notes.

You can add more comments on the event page. For more about upcoming Hangouts, check out our Google+ page.

Show notes (times might need a little adjustment):

  • 0:00:03 Introductions!
  • 0:03:03 A couple of Emacs semi-newbies =)
  • 0:03:52 Java and C# language support (autocomplete, refactoring, etc.); bridging the gap between Emacs and the runtime (Unity, Android, etc.). Batch mode for the latter. OmniSharp actually went pretty darn well this time around!
  • 0:06:10 OmniSharp demo
  • 0:06:13 https://github.com/MmmCurry/.emacs.d/
  • 0:07:23 OmniSharp + company config, demo of completion. Includes API. Jump to definition as well.
  • 0:10:59 Cool refactoring stuff. Ex: intelligent rename. Watch out for bugs. Still neat!
  • 0:12:30 MS Visual Studio Code seems to run on the same backend =)
  • 0:13:18 OmniSharp background info
  • 0:14:53 New participant, working out the tech issues
  • 0:16:28 Java? Haven’t looked into it much yet, lower priority. Pain point: Eclipse project build chain. eclim? May give it a second chance.
  • 0:19:37 Wishlist: batch mode Unity for headless testing?
  • 0:20:05 Emacs and Python – working through the Google Code Jam problems. C-c C-c to execute code in the REPL, so much fun. Suggestion: org-babel blocks? =)
  • 0:21:37 Discussion about Scala and Ensime. Ooh, Ensime does Java too. Neat!
  • 0:22:49 New to Emacs Lisp. Discovering things and implementing them – good enough, but not well-polished. Writing. Helm, etc. So many things to learn! Balancing studying the Emacs Lisp intro and manual, and discovering things day to day.
  • 0:25:00 Separate Lisp file loading for experimental stuff.
  • 0:25:30 Woodnotes guide? http://therandymon.com/woodnotes/emacs-for-writers/emacs-for-writers.html
  • 0:26:32 Emacs StackExchange, Reddit.com/r/emacs, Planet Emacsen
  • 0:29:17 Spacemacs, packaged defaults. Learning with index cards. Learning curve. Emacs community is obsessed with documentation. Phenomenal! =)
  • 0:34:23 Documented conventions, nicely-designed keybindings etc. for Spacemacs
  • 0:35:50 Spacemacs setup asks you which tradition you want to follow
  • 0:36:46 nerdtree replacement – neotree
  • 0:37:27 Goal is to not rely on Spacemacs, but for it to be a stepping-stone / scaffold
  • 0:38:30 Differences between Linux window managers; simplified workflows
  • 0:40:24 Looking at configuration frameworks piecemeal, learning workflows
  • 0:43:05 Discoverability is a big issue. helm-c-yasnippet has helm-yas-complete, helm-yas-create-snippet-on-region . Can be configured to display the keys. (setq helm-yas-display-key-on-candidate t) Has additional actions if you TAB.
  • 0:50:24 Hydra demo. Ex: moving lines up and down. Hydra for Helm?
  • 0:57:25 Lispy-mnemonic
  • 1:02:58 Usability
  • 1:05:30 Lispy-mnemonic workflow – minor mode
  • 1:06:15 back-to-indentation and restoring the binding in Lispy
  • 1:07:36 org-timer and meeting notes
  • 1:08:14 Make timestamps better! =)
  • 1:10:53 Cognitive overhead of new IDEs. Ex: SublimeText C-d marks a thing (Emacs equivalent: expand-region)? More organic, flexible commands versus specific ones, staying within your mental model.
  • 1:13:00 multiple-cursors, transpose-chars versus backward-kill-word.
  • 1:17:30 helm-swoop
  • 1:21:06 micro-optimizations, command-log-mode, keyfreq, mc/mark-all-like-this(-dwim), guru-mode
  • 1:26:06 Dealing with Eclipse wizards, things that shift you out of your mental model. Discussion of Helm and Ido. Also, helm-show-kill-ring.
  • 1:31:59 Hydra and leader keys.
  • 1:32:31 Dan’s intro. Figuring out workflow. Export Org Mode to HTML. Yasnippet for HTML5 declarations? Org Mode publishing project support (org) Publishing options
  • 1:37:20 Magit, git-timemachine, git-gutter-fringe, git-wip (for committing work in progress each time you save; https://github.com/bartman/git-wip), git-wip-timemachine (forked git-wip, https://github.com/itsjeyd/git-wip-timemachine)
  • 1:41:44 undo-tree
  • 1:42:57 git-messenger
  • 1:43:48 C-x v g, vc-annotate, colour-coding
  • 1:45:13 Emacs load times, profiling
  • 1:47:59 markdown and flycheck not finding an external command, checking the *Messages* buffer

Text chat:

M. Ian Graham 2:06 PM https://github.com/MmmCurry/.emacs.d/blob/master/lisp/init-csharp.el
M. Ian Graham 2:14 PM https://github.com/OmniSharp/omnisharp-server https://github.com/OmniSharp/omnisharp-emacs
Tim K 2:15 PM should be ok
Tim K 2:15 PM maybe someone has to unmute me
M. Ian Graham 2:15 PM https://code.visualstudio.com/
Tim K 2:15 PM i’ll just keep lurking for now then
me 2:18 PM https://github.com/senny/emacs-eclim
Tim K 2:19 PM tangentially related: ENSIME I used it for developing a web play framework project
M. Ian Graham 2:20 PM Ooo, scala goodness https://github.com/ensime/ensime-server
Tim K 2:21 PM yeah it targets scala BUT it works for java as well !!
Philip Stark 2:23 PM Excellent.. Thank you Tim !
M. Ian Graham 2:25 PM http://therandymon.com/woodnotes/emacs-for-writers/emacs-for-writers.html
Tim K 2:25 PM @Will: Are you on Emacs.SE?
Philip Stark 2:26 PM right?
Tim K 2:26 PM yes There’s lots of good content for non-programmers there
Philip Stark 2:26 PM cool. I gotta check that out.
me 2:27 PM Yakshaving: http://sachachua.com/blog/2015/03/the-balance-between-doing-and-improving-evaluating-yak-shaving/
Tim K 2:32 PM For people who know their way around some of the starter kits: You could definitely score some points answering questions on Emacs.SE. My impression is that there usually aren’t that many people around who can answer these types of questions.
me 2:32 PM Good point!
Will Monroe 2:33 PM Thanks, Tim. That sounds like a good place for someone like me to start.
Tim K 2:33 PM Prelude is probably the one you’re thinking of
M. Ian Graham 2:45 PM https://github.com/emacs-helm/helm-c-yasnippeta https://github.com/emacs-helm/helm-c-yasnippet
me 2:47 PM (setq helm-yas-display-key-on-candidate t)
Will Monroe 2:58 PM Hey everyone, I’ve really enjoyed listening to and talking with each of you. Have to go. See you all next time!
Tim K 3:03 PM Bye Will!
me 3:04 PM For the text chat: https://github.com/itsjeyd/lispy-mnemonic You might like https://github.com/magnars/expand-region.el
Tim K 3:12 PM Also: multiple cursors
me 3:23 PM keyfreq?
Tim K 3:25 PM guru-mode ?
me 3:41 PM https://github.com/bartman/git-wip
Tim K 3:41 PM https://github.com/itsjeyd/git-wip-timemachine
me 3:43 PM https://github.com/syohex/emacs-git-messenger
Philip Stark 3:43 PM https://github.com/syohex/emacs-git-messenger ah thx

Thanks, everyone!