Category Archives: geek

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…

Considering tech and the home

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

Emacs Hangout 2015-04-15 show notes

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.

Laser cutting update: Marvel version

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

2015-04-14 21.52.43

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

A checklist of things to try, fabric-wise:

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

Mwahahaha. =)

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

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