How to Choose Packages Between Two ELPA Repositories

ELPA makes Emacs v24 even more delightful to use. You may have run into a situation though where you wanted to install different packages from both Marmalade and MELPA. A common problem here is that because the newest version number always gets chosen for installation, MELPA packages always get chosen over Marmalade, and you may not want that. MELPA thankfully has a solution for that in the form of their own package.
The directions to set up MELPA are straightforward, but, one of my super-powers is not make any sense of directions, so I had a heck of a time getting it working. Aaron’s config gave me a clue, but I still didn’t have it working (I liked his namespace prefixing though so). Once I did get it working though it was really clear what I had done wrong, basically the package load and require order was incorrect, so, here is the right way to do it:

  • Install the melpa package manually as directed; this gives you package you need to use the filtering functionality.
  • Require ‘package to get the ELPA functionality and variables.
  • Add the repo(s) to ‘package-archives so that you can pull from them.
  • Call package-initialize to find the recently installed melpa package.
  • Require ‘melpa to import it and be able to use it.
  • Customize the enable and exclude melpa variables to specify what packages to include or exclude from which repositories.
  • Call package-refresh-contents to update Emacs’s database of which packages it should use as available for installation.
  • Your filtered package list is now available for use, call list-packages to verify.

Here is an example of my situation, I wanted to default to installing the newest package from either GNU or Marmalade for all but two cases where I only wanted the version that was available on MELPA: fill-column-indicator and melpa. Here is the configuration and correct order of calls to make:

(defvar gcr/packages
  '(auto-complete
    color-theme
    color-theme-solarized
    diminish
    fill-column-indicator
    fuzzy
    geiser
    graphviz-dot-mode
    lexbind-mode
    melpa
    ob-sml
    paredit
    pretty-mode-plus
    rainbow-mode
    real-auto-save
    sml-mode)
  "Packages required at runtime.")
(require 'package)
(add-to-list 'package-archives
             '("marmalade" . "http://marmalade-repo.org/packages/") t)
(add-to-list 'package-archives
             '("melpa" . "http://melpa.milkbox.net/packages/") t)
(package-initialize)
(require 'melpa)
(setq package-archive-enable-alist '(("gnu")
                                     ("marmalade")
                                     ("melpa"
                                      fill-column-indicator
                                      melpa)))
(setq package-archive-exclude-alist '(("gnu"
                                       fill-column-indicator
                                       melpa)
                                      ("marmalade"
                                       fill-column-indicator
                                       melpa)))
(package-refresh-contents)
(dolist (package gcr/packages)
  (when (not (package-installed-p package))
    (condition-case err
        (package-install package)
      (error
       (message "%s" (error-message-string err))))))

Scribfile: File and Operating System related Scribble Functionality

http://planet.racket-lang.org/package-source/grettke/scribfile.plt/1/0/planet-docs/scribfile/index.html
Is a little library that provides two forms, one to read a lispy language file into a codeblock and another that makes a system call and renders the results in a verbatim form. Pretty helpful for demos of non-Racket code and who knows what else.
Thanks Racket team, and Danny and Matthew for getting this working.

Angular Unstable will be in Bower Soon

Tried to install AngularJS unstable today via bower and followed this trail:

to find that Bower currently doesn’t support unstable releases due to a versioning issue, but, they will soon.
In the meantime, Michael Ahlers went above and beyond to provide an alternative here.

Rush 2013 Clockwork Angels Tour

It felt good to have Rush share with us their artistic contribution “Clockwork Angels”. They are not living in the past, and how could they, nobody would keep showing up just to hear Tom Sawyer would they? That said, it was great to hear the 2112 Overture performed by it’s creators ;).

Though it wouldn’t look it, the Marcus Amphitheater sounded great. There was great sound, you could hear everyone; certainly not what you would expect staring up at the 1.5 story tall P.A. system hanging above the stage.
The show was a blast and the guys are indeed masters.

One Path to SML

Never knowing what is the right time for a path to present itself, I think I am back on the path to SML again. This time I got some more feedback and wanted to capture it here.
Various feedback:

We’ll see what is my cup of tea.

CB750F: Day 35: Totally Idle

Left unable to bench sync the butterfly valves, I finally pulled the bolt out only to find that it was in clearly bad shape. When the nut reaches a certain point, it just won’t go any further. On my carbs, the nut is threaded, and so too is the mounting point on the rod (that the butterfly valves attach to). Running the nut up and down the bolt (viced in) cleaned it up, but when it goes through the rod it gets “screwed up” again. Looking closely you can see the rough edge after going through the mount point on the rod.
20130516_182613
20130516_182622
20130516_183131
20130516_183136
20130516_183230
20130516_185031
20130516_190744
20130516_201522
20130516_201918
Kind of a funny way to end the semester, but knowing that it will get repaired “right” makes me feel pretty happy. On the way out noticed a nice placard on the door, too.
20130516_205436