|
|
[[!meta title="The True Frownies are the Friends We Made Along the Way: An Anecdote of Emacs's Malleability"]]
[[!meta copyright="Copyright © 2021 Case Duckworth"]]
[[!inline pages="internal(2021/info/frownies-nav)" raw="yes"]]
<!-- You can manually edit this file to update the abstract, add links, etc. --->
# The True Frownies are the Friends We Made Along the Way: An Anecdote of Emacs's Malleability
Case Duckworth
[[!inline pages="internal(2021/info/frownies-schedule)" raw="yes"]]
Emacs is well-known for being extremely flexible, programmable, and
extensible; in fact, that's probably the biggest reason it's still
being used after 40+ years of existence, and even has enough clout to
generate an entire conference in its name. In this medium-length
presentation, I will add another point to the data set proving Emacs's
abilities, by narrating the latest package I made, `frowny.el`, from
its conception to its current, nearly-completed state.
I wrote frowny.el to scratch someone else's itch as a joke on IRC, but
it has been called "pretty useful, for a joke package." I feel like
that encapsulates the spirit of Emacs and that's why I want to present
on this topic.
Along the way, I'll discuss just a little of my own history of Emacs,
and why I feel it's a great tool for non-technical users to sink their
teeth into.
## Speaker information
- Name pronunciation: /keɪs ˈdʌkwə(ɹ)θ/ (CASE DUCK-worth)
- Prounouns: he/him
- Homepage: <https://www.acdw.net>
- Preferred contact info: [email](mailto:acdw@acdw.net)
- Links:
- <https://breadpunk.club>, a shared unix server about bread
- [my Mastodon account](https://writing.exchange/@acdw) (though I'm moving to
[tiny.tilde.website](https://tiny.tilde.website/@acdw) ... soon™)
# Discussion
- How do we obtain frowny.el?
- A: Please check <https://github.com/duckwork/frowny.el>
- What was the funniest time a frown emerged from unintended code?
Or any similar occurrence.
- A: I frown a lot when I'm problem solving ;)
- What packages you used for writing?
- A: I just use org-mode for its markup. If you mean the
presentation, I think... org-present?
- You wrote the package quite fast. Would you say you knew what
you were going to program before you did it? Or was it iterative
process?
- A: pretty iterative, but very fast b/c it's a small project
space!
- from chat (Cairn): do you have a personal site?
- A: <https://www.acdw.net>
- not related to the talk, but on a different note: I like the
emacs background image used in the video stream. is it available
somewhere for download? :-)
- A: <https://emacsconf.org/i/emacsconf-logo1-256.png> (nervous
laugh)
- Why host it on GitHub? or codeberg.org, or sr.ht, or (non-)GNU savannah, or your own server
- Does frowny work with ;)
- Compulsively C-q anything electric. Don't need a hook when you've got one in your brain.
- TBH you should transform it into a patch for electric-pair-mode
- So I want to contribute to Emacs, but I don't know enough elisp. Perhaps I could contribute some documentation? But I have no idea what that would be...
- From the speaker: i'd love to hear more about licensing, basically i don't care how my stuff is used at all
- From [YouTube](https://www.youtube.com/watch?v=CZn_H93wc5A&feature=em-comments): Hey Case! Thanks for the great talk. I feel like I have had a similar experience to yours by also learning from vanilla Emacs. I like how you're showcasing how easy it is to scratch your own itch in Emacs.
Feedback:
- These kinds of talks are real fun, great job!
- For real though, I love the path you took to get to where you are. It's super relatable and I've loved hearing about it.
- These ‘how I got suckered into programming emacs by [hilariously trivial thing]’ are always fun.
- frowny.el shows how writing a package can help learn things---all sorts of things to consider and lots of "aha!" moments
Links:
- <https://breadpunk.club>
- /r/emacs - <https://old.reddit.com/r/emacs>
- Planet Emacs - <https://planet.emacslife.com>
- HISTORY.org - <https://github.com/duckwork/frowny.el/blob/main/HISTORY.org>
- <https://github.com/duckwork/frowny.el>
[[!inline pages="internal(2021/captions/frownies)" raw="yes"]]
[[!inline pages="internal(2021/info/frownies-nav)" raw="yes"]]
|