Hello everyone, I'm Jeremy Friesen, pronouns he/him,
and today I'll be talking about
how Emacs turbocharges my writing.
Quick intro: I've been programming since 1998
and blogging since 2011.
In May of 2020 I switched to Emacs,
having previously used a long list of different editors.
Curious about how Emacs impacted my writing,
I wrote some stuff on my personal site and
found that I blogged about 95 words per day prior to Emacs,
and with Emacs I'm blogging about 340.
Now, this is not a fair comparison, many things changed.
A pandemic removed 2 hours of commute every day
as a big contributor.
Ultimately though, I've used Emacs and extended it
to reduce barriers to capturing and writing and thinking,
and I'm always on the lookout for minor refinements
that help me stay in my thinking.
How I got here was I started in WordPress,
then I moved to Jekyll, and then to Hugo,
and through that process I started writing in Markdown.
And when I was learning Emacs,
I also didn't want to learn Org Mode,
it felt intimidating because it could do so many things.
I later learned Org Mode grows with you,
and that's where I'm at now.
But I didn't realize that friction
between writing Markdown for my public blog
and then adopting Org Mode locally
for writing and time tracking and things like that.
And also, where did I put things,
because migrating the formats was just a little clunky.
So ultimately I spent some time thinking about the data flow
and where I would put things,
this kind of pre-thinking,
where does stuff go when it comes into and out of my brain.
So I have many domains where I'll write towards.
The ones for this presentation are going to be
blog posts, epigraphs, glossary, and melange.
Melange is, I don't know where it goes,
but now I do, I just throw it in melange.
So I began exploring Org Mode via Org Roam,
but I've ultimately switched from Org Roam
to the simplified Denote package.
I didn't use a lot of the functionality
and I appreciate the plain text reality of Denote.
So let's hop into the demo.
I'm going to split my screen.
Over on the right is going to be
where I'm going to be live typing stuff.
So let's get going.
You'll notice I don't do a lot of screen splitting.
It just makes it easier to focus.
So let's create a note.
All right, I have bound hyper to my command key,
my right command key.
This opens up a whole world.
I'm going to create a blog post
and we're going to name it the ever popular "hello world".
It's Emacs.
Great.
We've saved it.
One of the things I encourage everybody to do
is to watch Jay Dixit's presentation, Emacs for Writers.
It showed me the utility of Dabbrev for quick auto correction.
And I also love using hippie-expand.
When I watch VS coders code, it's always a little sad pants
because they're thinking about coding or writing
in terms of their code.
But I have found as a programmer, I tend to write more tech,
more like English instead of programming code.
So I think it's important to understand these tools
that help me write better.
All right, we're going to go with links.
Links are foundational for the web.
I'm going to insert a public link,
which is a role playing game that I love,
Worlds Without Number.
And I'm going to go ahead and describe it.
A role playing game.
But I don't want to always say role playing game.
I'm going to abbreviate it.
So I wrote a function that will transform it.
And let's take a look at what that looks like on the inside.
When I do this real quick, it's toggling it back and forth.
And I'll just keep doing that.
I also have the idea of public notes and private notes.
Public is things that's going to have a URL.
I met a person at a conference.
He gave a talk on something that I thought was very useful.
I didn't write down what he talked about on his note.
I wrote it where it was more relevant to the topic.
And I can use a backlink to go find that.
Next up, I demonstrate the abbreviation.
I also have dates.
This is a semantic date in HTML5.
I can just have the year.
I can also just have something like that date is today.
And we have date links.
I don't have backlinks built up for that,
but I have ideas of how I go about doing it.
And last up, thank you Frank Herbert,
I want to introduce epigraphs.
So this is epigraph.
I just have that, any sufficiently, dot, dot, dot.
And that's my epigraph.
Backlinks, I mentioned that.
Let's go take a look at Jonathan, right?
He's a Rubyist, but importantly is the backlinks.
He gave a talk on, that's right, PDFs.
I can go look at what he spoke to
and I can reference that because I will remember
that talk or I will remember, oh, I need to look up PDFs.
Oh, I have something in PDFs.
Again, it's about stumbling upon data in a good way.
So thinking of making linking easy helps me
create more and more ways to find things,
both by links, backlinks, indices, file searches, and so forth.
It's all about information organization.
Next up is a really cool function of org capture.
So let's take a look here.
I'm going to start a clock.
It's running.
And I'm going to bring up my browser.
And I'm going to go ahead and capture to the content to clock.
And it brings up this block quote, which is lovely.
And boom, I'm going to save it.
I'm going to close this.
We're back here to my "hello world".
And it has grabbed a block quote for this.
Again, it helps me gather stuff up quickly.
I've bound that also in my RSS feed.
We're going to skip over macros, blocks, and the abstract.
And we're going to get into the export
because this is where we can see the magic
that happens because I want to take things
from private to public.
So I have bound a key.
These are my menu of things I don't want to forget.
I will export.
And here we go.
Here is my blog post in markdown format with Hugo shortcodes.
So let's go take a look at what that looks like.
Localhost.
I'm not writing in Rails.
"Hello world" right there.
This is the epigraph.
And I have a mention of Worlds without Number.
And I have mentioned this as a abbreviation.
So I include the first time this text.
Here's also Jonathan.
He is not a public reference thing.
Also, I have these things here.
And here's my captured information
along with the citation link to it.
Again, helpful to be consistent.
In conclusion, when I started learning Emacs,
I quickly shifted to vanilla Emacs and just started writing.
As I wrote, when I needed to do something that I'd previously
done in a text editor, I'd find an experiment with a package.
I continue that mindset.
As I write, I'm attending to what I'm doing.
And eventually, I realize if I were to just write
a function that does this one thing,
I'd have a smoother writing experience.
This helps me practice my craft, extend my editor,
understand its capabilities, and begin exploring other things.
The goal of this is all to minimize the distractions.
As I'm thinking about it, I wanted to quickly add it
and then move along,
basically creating breadcrumbs for me
to follow my thoughts in the future.
And one of those functions is
I'd like to write an extender for my abbr,
abbreviation export to work in Latex.
It's like halfway there.
So I'm looking forward to getting that done
when I have some time and can prioritize it.
But for now, thank you.
And I look forward to your questions.