Skip to content

Using Units in Calc with Emacs

Calc is an advanced desk calculator and mathematical tool written by Dave Gillespie that runs as part of the GNU Emacs environment.

One special interpretation of algebraic formulas is as numbers with units. For example, the formula 5 m / s^2 can be read “five meters per second squared.”

Of course it can!

emacs-refactor: A Generic Refactoring Tool for Emacs

Emacs Refactor (EMR) provides language-specific refactoring support for Emacs. It has a simple declarative interface for easy extension.

One Heart Apart

Can we help people out half the world away? If that is too far, then can we help our people on our own continent? If that is too far, then what about our state, our city, or even our next-door neighbors?

Humans are only as far away from us as we are from our own heart. When you gain access to your heart, you are instantly connected with all other human beings. Once connected, your next step is to do something about it.

Every human is only one heart apart from one another.

The space, compassion, love, and the sheer grandeur contained within the human heart make a trillion universes look like a sweet little grain of sand in comparison.

People who are really serious about software

People who are really serious about software should make their own hardware.

— Alan Kay

Easily check src block correctness in org-mode

Thank you Nicolas Goaziou, for the beginnings of an org-lint. The goal here was to:

  1. Report an error if there is a source block without a language
    specified
  2. Report an error if there is a source block with a language specified
    that is not present in `org-babel-load-languages’

And, it does.

(defun gcr/src-block-check ()
  (interactive)
  (org-element-map (org-element-parse-buffer 'element) 'src-block
    (lambda (src-block)
      (let ((language (org-element-property :language src-block)))
        (cond ((null language)
               (error "Missing language at position %d"
                      (org-element-property :post-affiliated src-block)))
              ((not (assoc-string language org-babel-load-languages))
               (error "Unknown language at position %d"
                      (org-element-property :post-affiliated src-block)))))))
  (message "Source blocks checked in %s." (buffer-name (buffer-base-buffer))))

Notes on ALEC

Last week I blogged about pushing ALEC out to GitHub. My focus there was 100% philosophical, and I barely said a thing about the details. This post is to share some of the details.

ALEC is my 5th attempt and configuring Emacs for myself. After spending nearly a year practicing Org-Mode, this version feels much better than the last. The biggest note is that the system compiles in 27 seconds instead of 600 seconds!

The old approach was to generate both a lightweight and heavyweight configuration file, but that is gone now. With a 27s tangle time, you can easily comment out the source block noweb-references to build what you want quite easily.

Package management was the major theme. Cask has worked perfectly, and I wanted to see how easy easily that I could deploy this system on Windows. When I set out to do so, Cask did not have Windows support. Now I think it does, but I’m not going to pursue it right now. Package seems to do quite well, despite some nagging behavior that still exists (noted in the system) of not installing packages sometimes.

The packages are packaged up and stored in GitHub. Heresy? Perhaps. It is a best attempt at capturing the entirety of a working system, so that I and even others have an example or proof that it does what it should be doing.

Literate programming here is done with Org-Mode. It is an insanely delightful and hyper productivity enhancing tool. It is so simple that the 99% will dismiss it as a “markup language”, and the 1% will soon find that the painful-gap between exploration, implementation, and reflection can now be totally and completely removed regardless of the implementation artifact that you use to perform these three critical tasks.

You just keep pushing

You just keep pushing. You just keep pushing. I made every mistake that could be made. But I just kept pushing.

Rene Descartes

Hyper-v plugin for Packer.io

Here is a hyper-v plugin for Packer.io.

Great to see the infrastructure taking off for Windows.

ALEC’s a Language for Expressing Creativity

ALEC is the new configuration of my Emacs/Organization-Mode system. Just wanted to share some thoughts on the experience. The code says a lot, and the text, too, but I’m more interested in the experience.

For context, this is the next step of TC3F.

If nothing else, just know that the tangle time went down from 10m to 27 seconds :).

(Continued)

Hakone Tozan Line

The Hakone Tozan Line (箱根登山鉄道線 Hakone Tozan Tetsudō-sen?, lit. Hakone Mountain-Climbing Railroad Line) is a mountain railway in Japan operated by the Hakone Tozan Railway. This company belongs to the Odakyu Group, and also owns the Hakone Tozan Cable Car.