wiki of the future?

Last weekend I have been watching, reading and playing around with Ward Cunningham’s Smallest Federated Wiki. As usual he is a great designer and aims to simple, effective, understandable and useful tools! I particularly like the plugins idea (not new of course) and how easy it seems to be to add new ones, like support for MathJax: Get inspired you too!

LaTeX on Blogger again

MathJax.Hub.Config({tex2jax: {inlineMath: [['$','$'], ['\(','\)']]}}); My previous post about LaTeX  on Blogger reported that the solution described there did not work anymore… Now I found a new solution based on mathjax. So let’s try it straight away with inline math, like the great equation (e^{-2\pi}), and with displayed math like the following: [ \left [ - \frac{\hbar^2}{2 m} \frac{\partial^2}{\partial x^2} + V \right ] \Psi = i \hbar \frac{\partial}{\partial t} \Psi ]

Scons and noweb

I was curious to see how I could integrate noweb and Scons. You can download my little Sconstruct for this, Sconstruct.example. It defines two builders. NoWeave is used to produce TeX or LaTeX documents, while NoTangle extracts the non-document artefacts, i.e. programs, config files, scripts … It also includes productions for generating a sample program about Ackermann function: ackdoc = env.NoWeave('ack.tex', 'ack.nw') ackcode = env.NoTangle('', 'ack.nw') acktest = env.NoTangle('', 'ack.nw') The noweb source is ack.

LaTeX, Python and Literate Programming

In my spare time (a couple of hours per weekend…!) I am implementing calcal, a Python version of, the Common Lisp implementation of the calendars from N. Dershowitz, E. M. Reingold Calendrical Calculations, 3rd Edition. (In case you are interested you can find a preview in my github repo.) At some point I decided to go Literate Programming using noweb. This is an experiment in the experiment but so far it has been a good choice because I can define all I need in the same place and generate documentation, source code (Python, shell scripts …) from the same source.

My Giants

I am probably too selective, anyway my models for computer science/software engineering (one of them would disagree on both definitions) are just two: Donald E. Knuth and Alan Kay. The first one continues to surprise me with the depth, clarity and joy of his works: from TeX (well, I use LaTex but it does not exist without TeX) to The Art of Computer Programming to Literate Programming. About the latter, I was one of the blessed to be present to his Turing Award Lecture: he shocked me to the point I had two sleepless nights so angry I was about having wasted so much time in useless (computer) matters!