programming (and other) musings

Posts tagged "sundry":

26 Jan 2021

in no particular order xv

Interesting bits elsewhere:

Tags: sundry
19 Oct 2020

in no particular order xiv

Interesting bits elsewhere, emacs edition:

Tags: sundry emacs
07 Oct 2020

in no particular order xiii

Interesting bits elsewhere:

Tags: sundry
27 Aug 2020

in no particular order xii

Interesting bits elsewhere:

Tags: sundry
06 Aug 2020

in no particular order xi

Interesting bits elsewhere:

Tags: sundry
23 Jul 2020

in no particular order x

Interesting bits elsewhere:

Tags: sundry
14 Jul 2020

in no particular order ix

Interesting bits elsewhere:

Tags: sundry
07 Jul 2020

in no particular order (viii)

Interesting bits elsewhere:

Tags: sundry
03 Jun 2020

in no particular order (vii)

Interesting bits elsewhere:

Tags: sundry
25 May 2020

in no particular order (vi)

Interesting bits elsewhere:

Tags: sundry
18 May 2020

in no particular order (v)

Interesting bits elsewhere:

Tags: sundry
06 May 2020

in no particular order (iv)

Interesting bits elsewhere:

Tags: sundry
04 May 2020

in no particular order (iii)

Interesting bits elsewhere:

Tags: sundry
04 May 2020



i've been learning a tiny bit about web security at mozilla's Web Security pages, and used their Mozilla Observatory to analyize this site and make it a bit safer. it was just a matter of adding a handful of headers to the webserver configuration, to wit:

Header always set Strict-Transport-Security "max-age=63072000; includeSubdomains;"
Header always set X-Frame-Options DENY
Header always set X-Content-Type-Options nosniff
Header set X-XSS-Protection "1; mode=block"
Header always set Content-Security-Policy \
  "default-src 'self'; img-src 'self'; font-src 'self'; object-src 'none'"
Tags: sundry
02 Apr 2020

in no particular order (ii)

Interesting bits elsewhere:

Tags: sundry
26 Mar 2020

in no particular order

Interesting bits elsewhere:

Tags: sundry
09 Feb 2012



Geiser aims at replicating the slime experience for scheme. It works for both Guile and Racket (one of the aims of the project is to support as many scheme implementations as feasible). See the project's home for the whole story.


xmobar is a text-based status bar originally designed and implemented (in Haskell) by Andrea Rossato. In December 2010, i accepted Andrea's kind offer to become xmobar's maintainer, after having contributed a bunch of patches.

Lightweight status monitors have always been a must-have in my desktop, and over the years i've used many of them (xload in the olden days, gkrellm, conky…), so i guess it was only natural that i ended up maintaining one. That xmobar is written in Haskell is a big plus in my book.


I'm the author of GNU MDK, which stands for GNU MIX Development Kit. It is an emulator of Don Knuth's MIX mythical computer, together with a MIXAL (MIX Assembly Language) compiler that produces assembly object files executable by the companion MIX virtual machine. It also allows debugging programs through step by step execution, breakpoint setting, symbol table inspection and manipulation of the contents of MIX's components (registers, memory cells and the like).

All of this can be done via a comfortable command line interface or, if you really are that kind of gal or guy, a gtk+ GUI. Last but not least, the whole enchilada is controllable, extensible and what not using the most beautiful programming language ever.

MDK comes in handy for readers of The Art of Computer Programming, although you can learn MIX/MIXAL directly from the MDK manual, which has been published by the GNU Press.


Over the years, i must have tried every single window manager out there. Before finally settling to exwm, i kept returning to one of my first loves, sawfish, and have a soft spot for xmonad. My sawflibs project contains a couple of libraries for sawfish: the most significant of them (sawflibs.tile), grown out of xmonad envy, was incorporated into sawfish proper in version 1.10.


Factor is an amazing language in the concatenative family. There're many things i like about it, but probably the one i find most enjoyable is its fully reflective environment, which in many ways evokes the Lisp Machines of yore. Given that, it was not too difficult to implement a nice Emacs interaction suite for Factor, which we called FUEL. It comes bundled with Factor itself, and you can see it in action in this nice screencast by Slava Pestov.


I (used to) maintain a blog devoted to the Emacs operating system called minor emacs wizardry.

As you'll see, i've got lots of customizations and elisp bits in there. Some of them have grown up to small packages and reusable code independent of my particular needs. Find them in this repository.

Tags: sundry
09 Feb 2010



I'm part of the founding team of BigML, a little startup trying to apply machine learning and other AI techniques to big data, and make them accessible to non-specialists. It took a while, but i'm finally able to make my own mistakes.

I was hacking for Oblong from 2008 to early 2011. Before that, i worked for Google (from July 2007).

From June 2005 to May 2007, i worked on embedded software development for the scientific payload of LISA Pathfinder. Here's a short article and here a blog entry i wrote describing our work in that project.

See my resume for my whole professional story (and some other bits).


I was a theoretical physicist in a previous life, and wrote a Ph. D. thesis on gravitational wave detectors. I also got a bachelor's degree in computer science. Between 2003 and 2005, i taught courses on programming and computer networks at the Universitat Autonoma of Barcelona, where i was part of the mobile agents research group (and collaborated in an article or two).


I spend most of my spare time reading, learning about programming languages and hacking.

You can read more about my ancient adventures in my old blogs (programming musings, minor emacs wizardry, and physics musings), but i've added the very few interesting entries here, under the tags auld, emacs, and physics.

this site

This site is generated from Org files via Bastien Bechtold's org-static-blog.


Reach me at (@ mail (. jao io)).

GPG key (Fingerprint: A247 C478 0736 A615 6BC8 DA74 8C08 1D34 D321 D881)

Tags: sundry
01 May 2006

physics quotes

A new scientific truth does not triumph by convincing its opponents and making them see the light, but rather because its opponents eventually die, and a new generation grows up that is familiar with it.

Max Planck (1858–1947)

If someone points out to you that your pet theory of the universe is in disagreement with Maxwell's equations–then so much the worse for Maxwell's equations. If it is found to be contradicted by observation–well, these experimentalists do bungle things sometimes. But if your theory is found to be against the second law of thermodynamics I can offer you no hope; there is nothing for it but to collapse in deepest humiliation.

Arthur Eddington (1882–1944)

I believe that every true theorist is a kind of tamed metaphysicist, no matter how pure a "positivist" he may fancy himself. The metaphysicist believes that the logically simple is also the real. The tamed metaphysicist believes that not all that is logically simple is embodied in experienced reality, but that the totality of all sensory experience can be "comprehended" on the basis of a conceptual system built on premises of great simplicity. The skeptic will say that this is a "miracle creed."

Albert Einstein (1879–1955)

Hertz's students were impressed, and wondered what use might be made of this marvelous phenomenon. But Hertz thought his discoveries were no more practical than Maxwell's. "It's of no use whatsoever," he replied. "This is just an experiment that proves Maestro Maxwell was right - we just have these mysterious electromagnetic waves that we cannot see with the naked eye. But they are there." "So, what next?" asked one of his students. Hertz shrugged. He was a modest man, of no pretensions and, apparently, little ambition. "Nothing, I guess."

Heinrich Hertz (1857–1894)

Tags: physics sundry
Other posts
Creative Commons License by jao is licensed under a Creative Commons Attribution-ShareAlike 3.0 Unported License.