To again feel the creative voice

Through an historical discussion of the role and nature of creativity in the sciences and mathematics, a process to have students find their creative voice is described

(via stevem)
I couldn’t elegantly put to words just how delightful this paper is about the nature of creativity and learning. If you have ever had the experience of having a “nightmare” about something you are trying very hard to learn and then eventually “dreamed the solution”; then you will find this paper to be both fascinating and inspiring.

The Sloan Digital Sky Survey

The Sloan Digital Sky Survey (SDSS) is one of the most ambitious and influential surveys in the history of astronomy. Over eight years of operations (SDSS-I, 2000-2005; SDSS-II, 2005-2008), it obtained deep, multi-color images covering more than a quarter of the sky and created 3-dimensional maps containing more than 930,000 galaxies and more than 120,000 quasars.

It is hard not to dream about exploring space when you see what Sloan has to offer.

An asynchronous web server written in Emacs LISP

Elnode is an asynchronous web server written in Emacs LISP.
Emacs has had asynchronous socket programming facilities for some time and a few years ago asynchronous TCP server sockets were introduced. I couldn’t quite believe that no one had written an asynchronous webserver with EmacsLISP before. So now I have.
When I started looking at actually doing this I intended to knock up just a silly demo. But the more I got into it the more it seemed to me that this could be an important addition to Emacs and that, sometimes, an Emacs LISP async web server could actually be useful.

(via nic)

DSLs are still fun

Now the popularity of DSLs may have waned, but the fun surrounding them surely has not.
A while back James and I looked into implementing a DSL for modeling insurance products in Java that worked really nicely:

  • built on top of Java we’ve full access to all its goodies like the libraries and object system and containers
  • integrates with Eclipse to get code-completion and error-reporting and intelligent-debugging
  • open-source so we can tweak and bug-fix as needed

If that is your cup of tea, you might have a look at this super awesome tutorial on implementing a brainf*ck interpreter on top of the Racket programming language:
http://hashcollision.org/brainfudge/
Basically you get all the power of what Racket has to offer as a language, its libraries, it’s IDE, and the great users.
The article is sort of funny in that the first version of the DLS was deemed “too slow” at 37 second vs 16 second for the version running on the PyPy interpreter; so the author went about optimizing it with all sorts of tweaks that are might be inappropriate for an entry-level article, but for bragging rights… dropping its benchmark speed down to 1 second.

Clipped fonts in Emacs

The awesome pretty-mode for Emacs displays symbols of your choosing rather than text for specified patterns. For example if you have a lot of Greek letter names in your MATLAB code you might just have the symbol show up instead.
After upgrading to Emacs version 23 on Windows (GNU Emacs 23.3.1 (i386-mingw-nt6.1.7600) of 2011-03-10 on 3249CTO) though the symbols get clipped off. Here is what I mean:

When I place the cursor on the lambda in this case, it renders correctly:

However, when I modify the buffer, the characters again renders incorrectly.
When I type in the Unicode characters directly; they render just fine.
My current approach for figuring out what is going on has been to read the code and the Elisp API. From what I can see, it “looks right”. Right now I’m just documenting it here to try to get a pointer on where to look next.