Emacs Hangout #3: Emacs can read your mind

We’ve been organizing these Emacs Hangouts as an informal way for folks to get together and swap tips/notes/questions. You can find the previous Hangouts at http://sachachua.com/blog/tag/emacs-hangout/ . In this hangout, we shared tips on Emacs configuration, literate programming, remote access, autocompletion, and web development. And then Jonathan Arkell blew our minds with, well, his mind, demonstrating how he got Mindwave working with Emacs and Org Mode. The next one is scheduled for Jan 9, 2015 (Friday) at 7 PM Toronto time (12 AM GMT) – https://plus.google.com/events/cv3ub5ue6k3fluku7e2rfac161o . Want a different time? Feel free to set up an Emacs Hangout, or contact me ([email protected]) and we’ll coordinate something.

Approx. time Topic
0:08 describe-variable
0:12 cycle-spacing
0:14 quelpa, better-defaults
0:18 https://github.com/KMahoney/kpm-list
0:19 org-babel
0:24 noweb
0:27 Beamer, org-present
0:30 Emacsclient
0:32 TRAMP, vagrant, X11 forwarding, git
0:40 Evangelism, Emacs defensiveness
0:42 Code organization
0:47 Cask, Quelpa, el-get
0:54 paradox for listing packages
0:58 Helm, helm-git
1:02 Projectile
1:03 More helm, autocomplete
1:06 Autocomplete and company
1:16 Writing packages, flycheck
1:18 Moving to git, working on Emacs
1:22 Gnus, mu4e, notmuch
1:27 Eww, web browsing
1:28 Web dev tools: skewer-mode, slime, swank-js, web-mode
1:32 o-blog static site generator
1:38 orgaggregate
1:41 EEG data. Emacs can read your mind!

Chat, links:

me 8:07 PM Thanks!
Zachary Kanfer 8:10 PM A description of Emacs’s “describe variable” is here: Examining.html#Examining
JJ Asghar 8:11 PM zachary: thanks! wait wait wait, org-bable can take over your .emacs.d/*.el files?
me 8:18 PM JJ: Yeah, totally! It’s so useful.
JJ Asghar 8:19 PM i need to dig into that
Jacob MacDonald 8:19 PM https://github.com/KMahoney/kpm-list
jay abber 8:23 PM Org mode has functionality for LaTeX/TeX it appears Am I wrong, any ppl here using Emacs for ReST or LaTeX??
jay abber 8:27 PM it is
Jacob MacDonald 8:27 PM I used the PDF export in Org for notes in a math class, since it exports LaTeX nicely.
jay abber 8:27 PM https://www.cs.tufts.edu/~nr/noweb/
me 8:27 PM I’ve been using Org to export ta LaTeX for Beamer output
jay abber 8:27 PM np
jay abber 8:28 PM yeaaah up yup
Jonathan Arkell 8:29 PM Time for a restart.
jay abber 8:29 PM I think it would nice to know who uses emacs mainly graphically or in a terminal?? me = lurker sorry
jay abber 8:30 PM im trying to use it more in a terminal but always go graphic
Jacob MacDonald 8:31 PM emacs –daemon; emacsclient -c
jay abber 8:31 PM yosmiate yosmite me homebrew
jay abber 8:31 PM 24.4
jay abber 8:32 PM I like that
Christopher Done 8:32 PM audio sounds very trippy
jay abber 8:32 PM w/daft punk poster rockiin
Jonathan Arkell 8:33 PM heh! It’s signed too.
JJ Asghar 8:34 PM Sorry guys I have to go! Thanks so much for this!
me 8:34 PM See you!
jay abber 8:34 PM peace or vnc but thats alot of overhead make sure you lock down you sshdconfig files with sane sec practice Emacs over TMUX?????
Christopher Done 8:38 PM https://github.com/chrisdone/chrisdone-emacs/blob/master/packages/resmacro/resmacro.el unrelated, thought i’d share that =p
me 8:38 PM jay: Good suggestions. Want to speak up?
jay abber 8:38 PM lm lurking tonight
Jacob MacDonald 8:38 PM That audio .
jay abber 8:38 PM next one I promise His voice is awesome
Jacob MacDonald 8:40 PM http://www.emacswiki.org/Rudel
jay abber 8:40 PM Well for me sometimes I hate to confess but I just type vi/vim Noone I know uses any type of editor except word hahahaha
Jonathan Arkell 8:40 PM K, i am going to try audio again. Hopefully it will help Was that better?
jay abber 8:41 PM Can emacs do stuff like mpsyt or youtubedl somehow? yes!!!!
Jacob MacDonald 8:42 PM elisp interface to a shell script should work at a bare minimum.
Jacob MacDonald 8:42 PM I mean, there’s a web browser/mail reader/IRC client built in already…
me 8:42 PM I play MP3s in Emacs using emms and mplayer
jay abber 8:43 PM you know what
Jacob MacDonald 8:43 PM There was a Spotify plugin using dbus a while back, I believe.
jay abber 8:43 PM I think mysyt will be fine
Christopher Done 8:43 PM i was thinking of writing an emacs client to gmail via gmail’s API…
jay abber 8:43 PM its is a just a python script and mpv very suave and minimalist both python
Christopher Done 8:45 PM i stick all my own packages and ones i’m using in my repo https://github.com/chrisdone/chrisdone-emacs/tree/master/packages as submodules
me 8:45 PM Christopher: Gmail client might be nice. I use IMAP occasionally, but I miss the priority inbox.
Christopher Done 8:46 PM yeah. i used offlineimap for a while with notmuch.el, that was pretty good. but i’m tempted by the idea of a “light-weight” approach replacing the browser with emacs, requesting emails/search on demand. might be nice their API looked super trivial to work with
Jonathan Arkell 8:48 PM Sorry Yea Is qwelpa (sp?) native emacs? (elisp) Stupid mic. works great for music.
Jacob MacDonald 8:50 PM lol
Jonathan Arkell 8:50 PM I do all my configuration and packages in Org mode
Christopher Done 8:50 PM i just use git for everything =p
me 8:51 PM Jonathan: Oh, maybe you’re doing some kind of audio processing that removes noise or other odd things? </wild guess>
Jonathan Arkell 8:51 PM Ironically not. I am Launching my DAW now to try and sort it ot.. heh err out … not ot…
jay abber 8:53 PM M=x list-packages now installing org-mode
me 8:53 PM Jay: If you’re installing Org from package, be sure to do it in an Emacs that has not loaded an Org file. because Org 8 (package) and Org 7 (which is built into Emacs) have incompatibilities
jay abber 8:55 PM hmm i installed 24.4 via homebrew
Jonathan Arkell 8:58 PM Okay, I am switching to the built in mic, so hopefully it works. Let me know…
Zachary Kanfer 9:11 PM http://emacsnyc.org/videos.html#2014-05
me 9:12 PM https://github.com/aki2o/emacs-plsense ?
jay abber 9:15 PM Im trying to become a ninja using the shell from w/in Emacs but sometimes I have issues with my ENV and PATH
Jonathan Arkell 9:15 PM OS?
Jacob MacDonald 9:15 PM It’s a thing.
Zachary Kanfer 9:15 PM http://emacs.stackexchange.com/
jay abber 9:15 PM Yosmite like pyenv or rubyenv in HomeBrew yes yes
Jacob MacDonald 9:16 PM Depends on if you use emacs like from brew or Emacs.app.
jay abber 9:16 PM I got cha will find it
Jonathan Hill 9:17 PM great package for handling env variables in and so forth in OSX: exec-path-from-shell
jay abber 9:18 PM jonathan: thanks man
Jonathan Hill 9:18 PM just after (package-initialize), do (exec-path-from-initialize) oops (exec-path-from-shell-initialize)
jay abber 9:18 PM jh: ok
Jonathan Arkell 9:19 PM (setenv “PATH” (concat (getenv “HOME”) “/bin:” “/usr/local/bin:” (getenv “PATH”))) That’s waht i do… (add-to-list ‘exec-path “/usr/local/bin”)
me 9:21 PM http://lars.ingebrigtsen.no/2014/11/13/welcome-new-emacs-developers/
Jonathan Arkell 9:22 PM ERMERGERD +1 +1
Jacob MacDonald 9:32 PM Link please?
Bob Erb 9:33 PM What’s it called?
me 9:33 PM https://github.com/renard/o-blog ?
Jacob MacDonald 9:33 PM Thanks.
me 9:34 PM http://renard.github.io/o-blog/ – docs
jay abber 9:34 PM hey
jay abber 9:34 PM sorry I got side tracks I blog in my posts in REST for pelican static blog generator
jay abber 9:35 PM omg
me 9:35 PM Pretty!
jay abber 9:35 PM elisp for static blog oh know
John Wiegley 9:36 PM Hello
jay abber 9:36 PM https://github.com/renard/o-blog you should never shown that to me
Jacob MacDonald 9:37 PM John, somehow I think I’ve seen you before…
me 9:40 PM https://github.com/tbanel/orgaggregate
Jonathan Arkell 9:44 PM https://github.com/jonnay/mindwave-emacs
jay abber 9:44 PM Hey I have to go now
John Wiegley 9:44 PM Bye Jay
me 9:44 PM See you! Thanks for joining!
jay abber 9:44 PM This was awesome I will be on the next one I have to study precalc
me 9:44 PM Yay!
jay abber 9:45 PM take care
me 9:49 PM Oooh… I wonder how to make coloured graphs like that too. Neat! I should practise using overlays…
Jonathan Arkell 9:53 PM https://github.com/jonnay/mindwave-emacs Here is the Display Code: https://github.com/jonnay/mindwave-emacs/blob/master/mindwave-display.org So wait… C-u C-u C-p takes you… uup?
me 9:59 PM Hah! UUP! Brilliant!
Bob Erb 10:01 PM You’re a treasure, Sacha!

Learning more effectively by exploring various unknowns

I’ve been thinking about how to learn better. Questions are a big part of that, I think. I enjoy learning the most when I have a question to explore instead of just aimlessly wandering around. Questions give me a sense of progress. Even difficult questions tend to have within them the seeds of their answers. I’d like to get better at this. After all, better questions get you better answers.

Brief update: What have I learned since my 2013 post on getting better at asking questions? I’ve gotten better at using outlines to map out my questions. I actually managed to sit through a couple of Coursera courses instead of losing steam mid-way, although I ended up skimming lectures and focusing on the homework. I’m still really bad at asking questions, whether it’s in a community like StackOverflow or asking specific people directly. I still read a lot, but my podcast-listening has dropped off the map due to impatience and to swapping this for playing video games during the rare commute. I still have a hard time sitting still for videos, although maybe this will come in handy for learning Japanese (videos with exact Japanese subtitles, perhaps?). I’m getting pretty good at taking notes along the way, untangling and keeping track of the little questions that pop up while I’m figuring things out.

There’s still a lot more to learn about asking better questions, though. I want to get better at asking small, concrete questions that yield some handholds and help move me (and other people) a little bit forward. Sometimes I find myself getting intimidated by questions that are too large or vague. Sometimes I catch myself retreading the same ground with no new insights or questions. (I sometimes get the sneaky suspicion I’ve blogged about something recently, but my searches don’t turn things up.) I’m fine with exploring questions that might only be relevant to me, but it would be even better if I can ask the question or phrase my answer in a way that other people can apply those ideas to their lives as well.

So here’s what I’ve been thinking about getting better at asking questions so that you can learn more effectively. I listed a few approaches that I use or that I want to explore, and I organized them into four categories:

  • learning about things I know I don’t know
  • learning about things I don’t know I don’t know
  • learning about things I thought I knew, but didn’t
  • learning about things I didn’t know I knew
2014-11-25-Getting-better-at-asking-questions.png

2014-11-25-Getting-better-at-asking-questions.png

I even came up with analogies! =) (Analogies are great. You can stretch them and figure out even more.)

Things I know I don’t know

Getting better at this will help me gradually expand what I know. This is the easiest category to work with. It’s like seeing a mountain in the distance and saying, “I want to go there!” There might be forests in the middle and you might have to turn back a few times to try a different route, but you have an idea of where you want to go and how you might get there.

I learn a lot in the context of projects I’m working on or things I’m curious about. I can get even better at this by:

  • Choosing goals or projects so that they build on top of each other, and asking questions that are aligned with those goals or projects
  • Going on learning sprints that focus on one topic, so I can take advantage of momentum
  • Reviewing my lists of previous questions and ideas, so that old questions don’t fall through the cracks

Things I don’t know I don’t know

This covers all the stuff other people take for granted that I just haven’t come across yet, and it also includes all the new stuff that we haven’t gotten around to creating or discovering. It’s like wandering around in the woods, not knowing that there’s buried treasure a few steps over there (or, alternatively, a nicely-shaped tree just perfect for afternoon reading). I can spend the rest of my life focused on the things I know I don’t know and that will be enough, but I like being pleasantly surprised by the things I wouldn’t even think of looking for.

The best way I get this is by reading comments on my blog, since people know about all sorts of stuff I haven’t come across yet and they generously share these tips. (You wonderful people, you!) I also read blogs, communities, source code, books, and indices as a way of stumbling across things that might be handy someday.

I can also get better by:

  • spending more time reading question-and-answer sites like Quora and StackOverflow
  • finding more blogs that ask interesting questions
  • getting the hang of using other people’s maps (courses, books, tutoring, etc.)

Things I thought I knew, but didn’t

You know that feeling when you start explaining something to someone and then you stop halfway through to look up the details? It’s surprisingly fun. =) It’s a little like when you’re asked to draw a map of your neighbourhood, or perhaps like writing a guidebook section about a few square blocks.

I can get better at this by:

  • Answering questions (either ones directly asked of me or in support communities)
  • Explaining things to myself and other people, discovering the gaps along the way
  • Reviewing old posts (things I used to know)

Things I didn’t know I knew

This is another fun category: the stuff that makes you go, “Huh. I didn’t know other people would find that useful.” Just like other people take stuff for granted (things you didn’t know you didn’t know), you take stuff for granted too. It’s like when someone asks you to recommend a place, and then you start explaining why you like this particular cafe, and in the process of explaining your recommendations, you realize all sorts of things that you appreciate about it but that you’d never actually thought about before.

Getting better at learning from the things I didn’t know I knew will help me get more out of my experiences, and it’ll also help me learn more deeply. Plus I get to help other people, too.

I can get better at this by:

  • Noticing what I do differently and explore why
  • Describing what I do and answering people’s questions; also, answering people’s questions in communities
  • Sharing more stuff

There are even more kinds of unknowns out there, and you can use different strategies to explore them. Taxonomies of the unknown has a fascinating list. I figure these four might be a good place for me to start, and I can’t wait to try out even more!

Connecting to previous thoughts and covering more ground

Sometimes I think I go around in circles, trying to figure out a recurring topic. Like this! I’ve written about this before. I want to get better at writing my way towards understanding. It’s like when I write, I’m so focused on adding just one more square foot to what I know. But I might not be spending enough time zooming up to make sure I’m going in interesting directions and that I’m not backsliding.

Maybe I need to pick up that pattern from programming with user stories: “As a …, I want to …, so that ….” As a learner, I want to get better at expanding on previous thoughts so that I waste less time repeating myself.

What is it, really? Let me dig around a little.

  • Not enough context/review: Is it that I write something, and then I discover I wrote something like it recently? No, I tend to be pretty good at finding 1-3 past posts related to what I’m thinking about.
  • Background : new thoughts ratio: Is it that I work in too small steps? What’s a good ratio? Background : thoughts : resolution : connection with others? Hmm, this might be interesting to quantify. Let me sample a few posts:
    • Post 1: 1 paragraph background, 4 paragraphs thinking, 2 paragraphs resolution
    • Post 2: 1 paragraph background, 7 paragraphs process description, 2 paragraphs resolution, 1 paragraph translation
    • Post 3: 1 paragraph background, 4 paragraphs thinking, 1 paragraph resolution.

    Oh, okay, that’s not too bad, actually. I do tend to have a certain “shape” to my blog posts: I think about stuff, and then I decide to try one or two new things. Also, my word count is nowhere near as high as I thought it used to be, which is good. My blog posts have a median of 500 words or so. Sometimes, if I remember, I’ll add a paragraph or two to help people translate things to their own experiences.

  • Not enough follow-up: Is it that I decide on something, but it doesn’t stick? I’m generally good at identifying one or two actions to try, and actually doing them (even if just for a short while). I’m not as good at following up on, say, books not stocked by the Toronto Public Library, because I’m lazy and my free backlog is infinite. I can learn to change that.
  • Not enough updates: Is it that I do stuff, but I don’t reflect on the update and share more notes? Hmm, possibly this; I do end up writing about things again, but it can be quite a while afterwards. Maybe I can schedule TODO items to update, and get back to keeping track of active experiments in my learning.org? That was useful. Why did I stop that? Agenda clutter? Worth revisiting. Also, sometimes I lose the references to interesting comments/conversations that recommended something. I’m generally good at looking up blog posts where I decided to do something, but I don’t track conversations as much. I’ve been trying to keep track of who recommended a book so that I can get back to them when I finally read it, which could be weeks later.
  • Not enough focus or structure: Is it that my posts are too scattered and don’t build up? A little of this, yeah, but I think that might be just how I work for now. I still have a hard time staying motivated enough to work to a larger outline. I talk about making little pieces that I could collect into larger things, but that’s passing it off to some smarter, more organized future self since I currently don’t do that kind of harvesting. This is something I could experiment with.
  • Not enough focus on helping other people: Is it that I feel self-conscious about focusing on internal discussions? Yeah, but it feels a little weird to tell other people what to do with their lives. Internal discussions seem to be helpful, and working out loud does help me get things done. I can be more didactic when I’ve earned it with experience, when I have the knowledge and reputation to back it up.

Hmm. Maybe it would help to imagine what awesomeness would look like, and then look into the differences between that and where I am now. Would it involve writing longer blog posts with larger insights, maybe aha!s that require significant non-writing time, so that there are bigger pay-offs for the reader? It’s the difference between

  • three posts that go, “Hmm, I’ve been thinking about this, and I’ll try this;” “I’m trying this, and this is what I’m seeing;” “I tried it and this is what I learned.” and
  • one post that says, “So last year I did this long experiment and this is what I learned.”

Nah, I like showing the in-between steps. It helps me think more clearly, and people often have great suggestions.

So small steps are okay, as long as they stick. Sometimes I review year-old posts and go, “Oh, yeah, I meant to look into that!” Other times, I look at those posts and go, “Yep, I did that and that definitely worked out well. That gives me new ideas…” I think awesomeness is more of the latter.

How can I get better at covering ground?

Part of this is getting better at remembering previously-covered ground (and keeping it covered).

  • I’m pretty good at searching my blog for posts I remember writing about the same topic, although there have been a few occasions when people have reminded me of things that I’d completely forgotten writing about.
  • I could make better use of my blog index by reviewing the general topic as well, which is a good excuse to refine the categorization.
  • Then there’s integrating those links to previous posts into my writing outline, building up bigger chunks.
  • And there’s also the power of the old-fashioned chronological review – simply re-reading old posts, maybe based on time. For example, when I do my monthly review, it might be interesting to reread the posts for that month, the month before, and the month one year before (or more). I might even challenge myself to schedule some of those posts for processing/updates so that I get practise in organizing and polishing previous posts.

Part of this involves clearly phrasing the question so that I can see the new ground to be covered. I’m not just thinking about a topic. I want to figure out something I didn’t know before. Here, for example, the central question that emerged after lots of outlining was “How can I get better at covering ground?” I learned more about the question while contrasting what I do now with what I’d like to be able to do. Working with outlines rather than prose for as long as possible seems to help, since it’s easier to cut and move around points, and it’s easier to see the bones of the post that I’m writing.

So that gives me a couple of things to try.

I know a few people who’ve made blogging part of the way that they learn, so I can learn from their examples as well. And there are non-blogging approaches, like the way W- keeps a professional notebook. So much to learn, and so many ways to do that better! =)

Sketched Book: The Stoic Art of Living: Inner Resilience and Outer Results – Tom Morris

Tom Morris’ The Stoic Art of Living: Inner Resilience and Outer Results (2004) collects easy-to-read quotes from Seneca, Epictetus, and Marcus Aurelius. The author glues the quotes together with commentary, providing context and suggestions for interpretation.

2014-12-10 Book - The Stoic Art of Living - Inner Resilience and Outer Results - Tom Morris

I like the author’s quotes from ancient philosophers, as other translations can feel stuffy. It’s a decent overview of interesting thoughts, and you can follow the ideas to their sources. The book can feel a little light, though. There’s something about the succession of quotes and topics that makes me feel like I’m bobbing up and down on a surface.

For comparison, I feel that William Braxton Irvine’s A Guide to the Good Life (2009) goes into greater depth for fewer concepts. Ryan Holiday’s The Obstacle is the Way reads more like a modern self-help book inspired by Stoicism, without as many quotes as this book.

If you’ve read a lot about Stoicism (and especially from the three philosophers featured here), you probably won’t find a lot of new ideas here. However, you might pick up some good phrasings and ways to think about those ideas. As Pierre Hadot wrote in Philosophy as a Way of Life: “Ancient philosophy was designed to be memorized, so that it could be ‘at hand’ when we are confronted with tumultuous situations.” Maybe you’ll find the quotes in this book easy to hang on to. Enjoy!

If you want, you can check out the books on Amazon:

I get a small commission if you buy the books through those links, but getting them from the library is totally okay too. =) Have fun!

Weekly review: Week ending December 12, 2014

This was a good week for programming and packaging. On my consulting gig, I got back into the swing of making small prototypes on the social business platform we use. I’ve been practising writing short Javascript functions, and they make my brain much happier. I also coached the other developer on our team over lots of instant messages and a few WebExes, and she’s picking up things nicely. I made progress on an annoying bug that has been plaguing us for a few months, too.

I’ve been working on getting more stuff out the door, too. I packaged the Emacs Chat transcripts as an EPUB/MOBI and sorted out a good workflow for publishing them. (Come to think of it, I should consider making a PDF version too.) While sketching a book, I noticed that “sketched book” is a fun way to refer to those visual book notes; since the domain was available, I registered sketchedbooks.com and set it up.

I want to get the hang of publishing things in chunks that are larger than a blog post. Collections are easy to start with. The next step would be to work on things with outlines and chapters and flows.

My energy’s slowly starting to return, yay! Slept more than normal – average of 9.3 hours a day – but that was because I was in bed for about 17 hours (!) last Sunday. I should be back to my regular ~8.3 hours of sleep a night soon.

Blog posts

Sketches

Link round-up

… good haul this week. =)

Focus areas and time review

  • Business (34.5h – 20%)
    • Earn (17.5h – 50% of Business)
      • Earn: E1: 1-2 days of consulting
      • Earn: E1: 1-2 days of consulting
    • Build (13.1h – 38% of Business)
      • Drawing (7.7h)
        • Sketch JFS book
        • Make cover image
      • Paperwork (0.3h)
        • Actually submit tax return
      • Packaging
        • Format Emacs Chat transcripts as EPUB and sort out Org to EPUB workflow
        • Set up mailing list for sketchedbooks.com
        • Set up sketchedbooks.com – temporary site for now
        • Set up proper redirection so that I can do clever things with the URLs
        • Figure out EPUB workflow for publishing Emacs Chat transcripts
        • Set up EPUB workflow for Read Lisp, Tweak Emacs
      • Set up Authenticator
      • Set up app password so I can read Gmail from Gnus again
      • Fix OAuth login for Google – Quantified Awesome
      • Add Javascript for locating a blog post in my outline
      • Clean up disk space
      • Re-enter comments into Disqus
    • Connect (3.9h – 11% of Business)
  • Relationships (7.3h – 4%)
    • Chat with Sahil Sinha
  • Discretionary – Productive (18.3h – 10%)
    • Emacs (4.4h – 2% of all)
      • Finish transcript for Emacs chat
      • Revise transcript for Iannis Zannos
      • Revise transcript for Emacs Chat: Karl Voit
      • Patch https://github.com/jwiegley/use-package to mention :ensure t
    • Writing (10.1h)
      • Write about skewed notes
  • Discretionary – Play (6.6h – 3%)
  • Personal routines (29.9h – 17%)
  • Unpaid work (6.5h – 3%)
  • Sleep (64.9h – 38% – average of 9.3 per day)

Sketched Book: Just F*cking Ship – Amy Hoy, Alex Hillman

Amy Hoy and Alex Hillman wrote, published, and launched Just Fucking Ship in 24 hours, using a Trello board and an outline to quickly whip up this short reminder to stop procrastinating and get something out the door. They’re halfway through editing it and will post updates through Gumroad, so if you buy the book, you can watch it evolve.

I’ve sketched the key points of the book below to make it easier to remember and share. Click on the image to view or download a high-resolution version that you can print or reuse.

2014-12-12 Sketched Book - Just Fucking Ship - Amy Hoy and Alex Hillman

The principle I’m focusing on is #7: Start with atoms. I’m comfortable with making small pieces now: an outline, a blog post, a sketch. I’m working on getting better at assembling those pieces into molecules, and eventually I’ll be able to turn those molecules into rocketships. Eventually. But in the meantime, I can push more things out there.

I’ve been sorting out my EPUB/MOBI workflow by putting stuff up on Gumroad, like the Emacs Chat transcript collection. (Incomplete, but that’s what updates are for.) This will help me Ship More Stuff.

Today I noticed an opportunity for wordplay. The domain was available, so I jumped on it. Shipped.

Ship. Get your stuff out there, incomplete and in progress, because you’ll learn more from the feedback than you will from stewing on it by yourself. And if it flops? Don’t worry. You’ll do another one, and another one, and another one, and you’ll learn.

Want the e-book? You can buy it at Just Fucking Ship (Amy Hoy, Alex Hillman; 2004). You’ll get a PDF and updates. (Amusingly, no physical shipping involved.)

Like this sketch? Check out sketchedbooks.com for more. For your convenience, this post can be found at sketchedbooks.com/jfs. Feel free to share – it’s under the Creative Commons Attribution License, like the rest of my blog.

(Incidentally, I’ve quoted Amy Hoy before – see my post on Learning slack for another reflection on writing, productivity, and motivation.)