Category Archives: geek

2015-05-13 Emacs Hangout

Console Emacs vs GUI Emacs, keybindings, Org Mode, cooking, nyan, window management, calendars, SuperCollider Usual disclaimer: times are approximate, and the note-taker often gets distracted. =)

  • 0:00:00 Emacs configuration
  • 0:11:22 Console Emacs vs GUI Emacs? iTerm integration, mouse support, 256 colours, drop-down menus (although you can get a text one), …
  • 0:14:59 multihop TRAMP
  • 0:16:01 keybinding philosophies, Hyper and Super
  • 0:22:15 Remapping keys on Mac OS X (dealing with separate Alt and Meta)
  • 0:28:04 Org and mobile
  • 0:30:25 emulating hyper and super keys
  • 0:32:15 orgzly
  • 0:33:33 Org Mode and cooking, org-map-entries
  • 0:39:31 nyan
  • 0:43:04 One window, workgroups
  • 0:46:56 winner-mode
  • 0:53:30 rinari, zeus, ruby
  • 0:54:53 neotree
  • 0:58:22 keyboards
  • 1:03:24 conference
  • 1:09:22 calw; also, something about rainbow-mode, and palette, and then later Org Mode
  • 1:23:13 SuperCollider, Overtone, yasnippet
  • 1:45:13 blackink?

Text chat: Here’s the gif I have as my nyan http://vignette3.wikia.nocookie.net/donkeykong/images/9/91/Cranky_walk.gif/revision/latest?cb=20100930155227

Sahil Sinha 9:23 PM http://emacswiki.org/emacs/MetaKeyProblems
Jack G. 9:24 PM (setq mac-right-command-modifier ‘hyper)<br>(setq mac-right-option-modifier ‘super) http://ergoemacs.org/emacs/emacs_hyper_super_keys.html (global-set-key (kbd “H-h”) ‘er/expand-region
George Jones 9:32 PM https://github.com/heikkil/org-dropbox
Jack G. 9:36 PM nyan Cranky_walk.gif
Jack G. 9:42 PM
me 9:42 PM http://www.emacswiki.org/emacs/OneWindow ?
Daniel H 9:46 PM https://github.com/tlh/workgroups.el
me 9:48 PM http://askubuntu.com/questions/4820/keeping-emacs-from-splitting-the-window-when-openning-multiple-files winner-mode
George Jones 9:59 PM http://ergoemacs.org/emacs/emacs_best_keyboard.html
George Jones 9:59 PM Xah Lee writes a LOT about keyboards
Jack G. 10:02 PM http://www.razerzone.com/ca-en/store/razer-anansi
Bogdan Popa 10:10 PM https://github.com/kiwanami/emacs-calfw#for-ical-google-calendar-users
me 10:11 PM org-gcal
Daniel H 10:12 PM https://github.com/kiwanami/emacs-calfw
George Jones 10:12 PM having real trouble hearing…
George Jones 10:20 PM when you open a PDF in docview you can get the text with ^C^T (default bindings)
Jack G. 10:21 PM Thanks George!
George Jones 10:21 PM C-c C-t runs the command doc-view-open-text
me 10:27 PM http://doc.norang.ca/org-mode.html
sai tejaa Cluri 10:27 PM hi
Jack G. 10:37 PM link
me 10:37 PM This was a fun demo of Org Mode and SuperCollider http://pages.sachachua.com/emacs-chats/chat-iannis-zannos.html
Levi Strope 10:40 PM Jack your audio is crystal clear now… whatever that change was
Jack G. 10:45 PM http://blackink.bleank.com/
me 10:48 PM http://emacslife.com/baby-steps-org.html

What kind of tribe do I want to build around Quantified Self in Toronto?

Attendance at the Quantified Self Toronto meetup has been low lately, and it’s a good time to think about revitalizing or even redesigning the community.

2015-05-11f Thinking about Quantified Self Toronto turnover -- index card #quantified #meetup

2015-05-11f Thinking about Quantified Self Toronto turnover – index card #quantified #meetup

The way it is now works okay for newcomers. I imagine the experience for newcomers is mostly like: Wow, I’m not alone! I’m not weird! There are other people who track stuff! (I know, I get that feeling each time I go too. =) ) If they work up the courage to share what they’ve been learning, they often pick up plenty of tips and ideas, and they can connect with other people tracking similar things.

From regulars, it’s great to hear updates or find out about other things they’re tracking.

The talks do tend to be a little repetitive. Often it’s about people sharing data collected using apps or devices with predefined visualizations, and the occasional self-promotional bit. Sometimes we get new analyses or unconventional experiments, and those are the kinds of talks I enjoy the most.

The repetition is understandable – good, even. I think that’s mostly because each person has to go through an individual journey. Even if two people present the same topic and have similar conclusions, it’s good to recognize each of their experiences.

Still, it might be interesting to think about how we can increase the value for regulars and long-time trackers…

Mmm. If I could selfishly redesign this community to be even better-suited to my interests, what would it be like?

I go to Quantified Self Toronto meetups because I like the kind of people who use data to make better decisions about their lives. I particularly like it when someone’s curious about something off the beaten track, whether they’re collecting data on paper or they’ve built their own tools. Experimental manipulation is also interesting for me. I also like having the occasional nudge to design, conduct, and report on my little experiments. I’ve talked about a lot of odd things over the years (like cat litter box use, and more recently, sewing), and I like resonating with people in an unexpected way.

If I were to tilt Quantified Self Toronto to be something more personally useful for me, I might focus on:

  • Getting more people to the point of being able to explore and analyze their own data instead of relying on apps
    • Learning to notice when you’re confused, and thinking of ways to explore that uncertainty
    • Tracking on paper
    • Analyzing with spreadsheets and graphs
  • Connecting with other toolmakers so that we can bounce ideas around
  • Developing my own skills in data collection, analysis, and visualization
    • Android programming or scripting?
    • Electronics?
    • R?
  • Trying out other people’s experiments so that I can share my experiences and notes with them
  • Researching unconventional experiments/measurements using QuantifiedSelf.com and similar blogs, and drawing inspiration from those

At the Quantified Self Conference I went to in 2012, I gravitated towards people who tracked their own questions or even built their own tools. I don’t expect the majority of Quantified Self Toronto to be creatively technical, but it might be interesting to attract and retain a core of people like that. What would make 2-3 hours worth it for them, and what would make it more worthwhile for me? Alternatively, what are other ways I could build that kind of tribe? I think education, inspiration, and shared experiments might be interesting to play with. Hmm… The same combination could help encourage newcomers to develop along those lines, too. Might be worth looking into.

Quantified Self: The numbers on sewing

Some people love shopping. That’s why “retail therapy” is a thing. Other people hate shopping, and try to do it as little as possible. It’s hard to find anything I like, even after I talk myself into being okay with buying things at full retail price, and even after adjusting my price range higher and higher.

I tried desensitizing myself by going out shopping without a particular goal in mind, just familiarizing myself with the colours and styles, and being open to buying something if it appealed to me. Several weekends of this turned up a few pairs of pants and T-shirts, but no epiphanies.

I started looking into alternatives. It seems wardrobe stylists work on commission, so you should plan to spend a good chunk of money – maybe $500 or $1000, which was more than I wanted to do at that moment. The custom dressmakers I asked quoted me rates around $250 for a single garment (although I didn’t ask if they’d reduce it for a super-simple pattern). Online tailors had very mixed reviews.

I figured it would be worth giving sewing a try. I didn’t need anything fancy, after all. I spent a few hours looking around for the simplest free pattern for a top, and I settled on the Colette Sorbetto pattern. I sewed a few, and then simplified the pattern further by removing the pleat. I sewed a few more. When I learned how to use the laser cutter, I used the laser to quickly and accurately cut even more pieces for sewing.

Let’s talk numbers.

The typical shirts I like cost between $40 and $120 at the store, but take hours and hours to shop for. It’s also a tiring and frustrating experience.

Broadcloth costs $2 a yard. Quilting fabric and cotton shirting tend to be around $12 to $14 a yard. The fanciest cotton I can get (in terms of fabric, not just design) seems to be Liberty cotton lawn, at $24 a yard. I wasn’t sure if it would be worth it, but it is nicely breathable, so maybe. I typically buy 1.5 yards per top, although this leaves me with lots of excess fabric. I could probably fit a top in 1 yard.

I’ve spent about $130 for the 16 tops I’ve made so far, or an average of $8 per top. I expect future tops to cost between $15 to $40, depending on fabric quality and whether the design is one-way.

The bulk of the cost is really time. Since I started in February, I’ve spent 105 hours sewing: picking out fabric, cutting, sewing, thinking about patterns and plans. This is an average of 7 hours per top, which feels a bit on the high side. I think most of it is indecisiveness about fabric. =) Prepping and cutting the fabric on the laser takes maybe 20 minutes total, and once that’s done, I can sew a top in about 2 hours.

You can analyze time trade-offs by assigning an arbitrary value to them. You might use minimum wage, or the replacement cost of hiring someone to take on some of your lower-value activities for you. For example, you might use $15/hour as a replacement cost, since that seems to be the going rate for a housekeeper in Toronto. If so, then my tops have cost an average of $110 or so. I expect future tops to use nicer fabric but require less time, so the estimated cost will likely be $75-100 per top.

Alternatively, you could use a higher rate – say, my consulting rate – since I could theoretically be working instead of sewing. But I don’t particularly feel like working more. If I did, there would be other activities I would cut back on first, like playing video games, or reading fiction.

Where did the time come from? It’s hard to say, since I was changing some of my other routines too. Anyway, I analyzed a weekly summary of my time records, correlating different categories with the time I tracked under sewing.

Category Correlational coefficient
Business – Build – Learn -0.94
Business – Build – Quantified Awesome -0.92
Discretionary – Productive – Japanese -0.82
Business – Build – Drawing -0.64
Discretionary – Play – Read – Fiction -0.61

I shifted away from learning, coding, and Japanese review, and I reduced my drawing and reading time. They’re all discretionary activities, so it’s not like I was working less or sleeping less in order to sew. (I actually worked a little more than I did before.)

I’ve come to think of sewing as fun, so I might consider the time as “free.” In fact, it might even have a positive effect. Making things myself helps me develop skills and enables imagination, so it’s like education. Cost-wise, it feels like spending on fabric and time is a definite win compared to, say, buying fast fashion tops that may or may not be ethically sourced.

What did I learn?

I learned that it takes surprisingly little time and money to develop a comfortable level of skill when repeating the same sewing pattern. I started sewing on Feb 11. On Feb 23, after about six hours total, I wore my first top. Here you can see DIY taking over the clothes I wear:

Week starting Sat Sun Mon Tue Wed Thu Fri
Feb 7 x x x x x x x
Feb 14 x x x x x x x
Feb 21 x x mine x x mine x
Feb 28 x x x mine x x x
Mar 7 x x x mine mine mine mine
Mar 14 mine x mine mine mine mine mine
Mar 21 mine mine mine mine mine mine mine
Mar 28 x mine mine mine x mine mine
Apr 4 x x mine mine x mine mine
Apr 11 x mine mine mine mine mine mine
Apr 18 mine mine mine mine mine mine mine
Apr 25 mine mine mine mine mine mine mine
May 2 x x mine mine mine mine mine

I learned that I really enjoy the things you can’t buy with money. There’s this feeling of freedom that comes with knowing that I don’t have to rely on manufacturers and retailers to make things I like. I might even be able to come up with things that I wouldn’t be able to find in stores. If things wear out, I can repair or replace them.

I have two more tops on the go, so that should bring me to a total of eleven cotton/polyester tops and seven 100% cotton ones. I think I’ll hold off on sewing more tops after that. Maybe I’ll sew containers and bags to use up my scraps, and then I’ll think about sewing other things I wear. I’m not interested in sewing things for anyone else (aside from family, maybe), so don’t bother asking me. <laugh>

Anyway, it was a pleasant surprise to find out that it was easy to reduce the high-stress, low-value activity of shopping with something I enjoy much more. =)

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

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!

Tech and the kitchen

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…

More ideas for tech and the home

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…