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:

Let's Taboo the V-Word

Read this post on Substack.

via Home July 12, 2026

Thing of Things AI use policy

dynomight recently wrote an article calling for bloggers to state publicly whether and how they use AI

via Thing of Things July 6, 2026

Agentic test processes, LLM benchmarks, and other notes on agentic coding from Galapagos Island

I've been using AI fairly heavily since last November and the whole thing is a funny experience. An agent will do something that, if a human did it, you'd immediately fire them. My reaction, of course, is to act as if this is great and spin up a t…

via Posts on July 3, 2026

more     (via openring)