Learning more about emacs

October 29th, 2009
programming, tech
When I first started using emacs, I chose it because I figured I might someday want my editor to be able to to something crazy, and emacs had the best chance of being up for the crazyness. Over the past five years or so, this hasn't actually turned out to be the case: almost everything I've wanted that's at all complex has made more sense as a stand alone program. This meant I'd not even learned how to write new functions for emacs. So today I learned how. Each of these entries is separated by a little bit of code that looks like:
  <a name="2009-10-29"></a><h3>Thursday October 29 2009:</h3>
  <div class="pt">

    <h3></h3>

  </div>
    
I'd been typing this in by hand, but today I decided to automate this. It turns out emacs supports the unix date syntax, so my dates become something like "%Y-%m-%d" and "%A %B %d %Y:". Very handy. The rest is just inserting characters:
  (defun start-news-entry ()
    (interactive)
    (insert (format-time-string
       "  <a name=\"%Y-%m-%d\"></a><h3>%A %B %d %Y:</h3>"))
    (newline)
    (insert "  <div class=\"pt\">")  (newline)  (newline)
    (insert "    <h3></h3>") (newline) (newline) (newline)
    (insert "  </div>") (newline))
    
So now I can just do "M-x start-news-entry" and not delay my urgent news-thoughts with mindless formatting. Yay.

Comment via: facebook, substack

Recent posts on blogs I like:

You can't join the secret inner circle of cool effective altruists

I, and a lot of other people I know, seem to believe something like this:

via Thing of Things August 11, 2026

Microfictions 2

A few more microfictions, still no LLMs.

via Evan Fields August 7, 2026

Using AI to analyze life patterns

If you’re anything like me, you may have a lot of notes from various introspective activities – annual / monthly reviews, worksheets, therapy notes, etc. Often these notes are just gathering dust in a paper folder or some forgotten corner of Google Drive.…

via Victoria Krakovna July 30, 2026

more     (via openring)