Written in the discussion about a pull request for Freenet.
When I look up a commit, I’m not searching for prose. I’m searching for short snippets of information I need. If they are long-winded explanations, I am unlikely to even read them.
To understand this, please imagine coming back home, getting off the bike and taking 15 minutes to look at the most recent pull-request.
TCO: Reducing the algorithmic complexity of recursion.
Debug build: Add overhead to a program to trace errors.
Debug without TCO: Obliterate any possibility of fixing recursion bugs.“Never develop with optimizations which the debug mode of the compiler of the future maintainer of your code does not use.”°
UPDATE: GCC 4.8 gives us -Og -foptimize-sibling-calls
which generates nice-backtraces, and I had a few quite embarrassing errors in my C - thanks to AKF for the catch!
Tail Call Optimization (TCO) makes this
def foo(n): print(n) return foo(n+1)
foo(1)
behave like this
def foo(n): print(n) return n+1
n = 1 while True: n = foo(n)
Debugging is twice as hard as writing the code in the first place. Therefore, if you write the code as cleverly as possible, you are, by definition, not smart enough to debug it. — Brian Kernighan
In the article Hyperfocus and balance, Arc Riley from PySoy talks about trying to get to the Hyperfocus state without endangering his health.
- Written by Draketo aka Arne Babenhauserheide, originally to the melody of Moonlight Shadow on 22.2.08 but switched on 2008-06-27 to be able to put a recording under free licenses -
Audio-files: ogg
This recording is part of the music podcast singing in the winds of time.
(written on ohloh for Python)
Since we already have two good reviews from experienced programmers, I'll focus on the area I know about: Python as first language.
My experience: