Johan shared a link for Cask with me. Look like an excellent and well needed tool for serious Emacs development. Serious being open to definition of course.
Dependency and software project management tools seem to slowly drift across language and system stacks, always being re-invented. The study of such systems, and the development of a singular and unified approach in the form of a library looks like a lot of fun and serious hard work, probably only worth pursuing if the result were a PhD.
Author: grant
Henderson Motorcycle
They are on my dream list.
2.5 Bikes, 2 Riders, 9 wheels
Via this link via Douglas Grindstaff:
Is it stupidity to think a couple (one a paraplegic) could cross the USA on 2 & a half bikes? Well we are planning to find out. The plan is to take 10 weeks to criss cross and zig zag our way from LA to NY, to see the sights and enjoy the freedom and those unique views and sensations that only a motorcyclist understands.
What it is: wonderful.
The Conc Must Rest 2013
She now must take her rest for the winter.
Perhaps a tad very early, but it is for the best.
Standard: fresh gas, StaBil, and the battery tender.
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))))))
OPAM for OCaml
BiwaScheme: A Scheme interpreter for browsers
BiwaScheme is a Scheme interpreter for web browsers.
(via leppie)
GODI – The source code Objective Caml distribution
Via its homepage:
GODI provides an advanced programming environment for the Objective Caml (O’Caml) language.
From INRIA (who created O’Caml) you can get the O’Caml compiler and runtime system, but this is usually not enough to develop applications. You also need libraries, and there are many developers all over the world providing them; you can go and pick them up. But it is a lot of work to build and install them.
GODI is a system that simplifies this task: It is a framework that automatically builds the O’Caml core system, and additionally installs a growing number of pre-packaged libraries. For a number of reasons GODI is a source-code based system, and there are no precompiled libraries, but it makes it very simple for everybody to compile them.
GODI is available for O’Caml-3.10 and 3.11. It runs on Linux, Solaris, FreeBSD, NetBSD, Windows (Cygwin and MinGW), HP-UX, MacOS X.
GetGnuWin32
The name says it all; this program makes it easy to get all of the GnuWin32 goodness (no more tedious individual downloads).
Condorcet method
The R7RS working group is using this approach, which got me curious about it.
A Condorcet method is any single-winner election method that meets the Condorcet criterion, that is, which always selects the Condorcet winner, the candidate who would beat each of the other candidates in a run-off election, if such a candidate exists.
In other words:
It is possible for a candidate to be the most preferred overall without being the first preference of any voter. In a sense, the Condorcet method yields the “best compromise” candidate, the one that the largest majority will find to be least disagreeable, even if not their favorite.
(via wikipedia)