Tibor's Musings

Emacs Keyboard Macros

Need to run a certain operation on a bunch of lines? E.g. add some text after a certain column or to the end of every line in a buffer? With keyboard macros you can perform your line operations "live" for a line, while recording them, and then replay them …

Writing Python Docstrings with Emacs

Writing documentation alongside coding is one of the best ways to ensure that the documentation stays up to date with the code. In Python, such a documentation can be achieved by writing rich docstrings. How can Emacs help us with writing rich docstrings?

Code skeleton and templates

Emacs offers several …

Quotes on Programming

Quotes on computer programming to meditate upon.

Performance

We should forget about small efficiencies, say about 97% of the time:
premature optimization is the root of all evil.
--Donald Knuth

You're bound to be unhappy if you optimize everything.
--Donald Knuth

The best performance improvement is the transition from the …

Python Micro Benchmarking

timeit permits to micro-benchmark code snippets, e.g. the efficiency of list comprehensions for various Python versions.

Here are the results for Python 2.2, 2.3 and 2.4; note how the performance improves:

$ python2.2 /usr/lib/python2.4/timeit.py -n 10000 -r 5 "[i for i …

Python Speed on AMD vs Intel

The speed of the Python interpreter on the Intel Core 2 Duo test system seems to be better by about 20-25 percent when compared to our hitherto-fastest AMD Opteron system, at an equivalent CPU speed.

I did two Python benchmarks, pystones (simple) and pybench (preferred, complete benchmark suite). The results …