
How to be a Programmer - ronnier
http://samizdat.mines.edu/howto/
======
waterlesscloud
Any Learn To Be A Programmer text that has "Learn to debug" as step one has me
won over from the start.

~~~
gruseom
Debugging is a fascinating experience. On the one hand, it's the Jungian
shadow of design, forcing you to look at everything that's wrong and
unintended and resistant to conscious control in your work. On the other hand,
there's the thrill of the chase. I really started to enjoy debugging when it
dawned on me that it _always_ ends in a surprise. That follows trivially from
the definition: if you knew what the problem was, you wouldn't be hunting for
it. But experientially the surprises are often rather dramatic -- as if
there's a built-in Agatha Christie plot generator -- and can be quite
enjoyable as long as one's genius ego knows how to take a punch.

~~~
scott_s
I love that thrill. I've gotten around the ego-punch by making "I can debug
_anything_ " part of my ego. With that thought in mind, I just don't give up.

~~~
pmiller2
I concur with this thought. For me, the act of debugging is an act of pure
problem solving, even more so than the act of programming. Why the hell is
this code acting this way rather than the expected way? And what is the right
way to fix it? Oftentimes, programming can be (almost) reduced to pasting
together libraries and putting a nice UI on the resulting code[1], but
debugging is always a fresh experience.

[1] Of course, I know this is a total oversimplification.

~~~
gruseom
Your comment reminds me of another thought I've had, which is that debugging
is the part of programming that's closest to empirical science. You're faced
with a piece of reality (a running system) and you don't know how it works.

------
Yaggo
How to be a programmer, step one: if you publish an HTML document, please get
your encoding right. (No `Content-Type: text/html; charset=UTF-8` for latin-1
documents.)

~~~
thezarkon
way to be pedantic. maybe you should read some of those sections about
communication.

------
barrkel
"Embedding a programming language into a system has an almost erotic
fascination to a programmer."

That's a classic line, and too true.

------
Groxx
Why doesn't the PDF have hyperlinks, but the HTML does? It seems this is an
epidemic for PDF versions of text also available as HTML. Is it really so hard
to make a PDF that has them?

(serious question, actually. I've never tried.)

~~~
scott_s
It's trivial if you know how to do it:
<http://www.tug.org/applications/hyperref/manual.html>

Include that package in your Latex document, and it automatically makes all
section references internal-links. It's great, and too few people use it.

------
kunjaan
I haven't read the book but the table of content looks almost perfect. I wish
I had something like this to preserve my sanity when I first entered the
industry.

------
syncsynchalt
All hail my Alma Mater.

\-- just another Shootin' Fightin' Dynamitin' Mining Engineer

------
afhof
Is "Michael Tiemann2" the real name or a typo?

~~~
michaelfairley
In the HTML version the 2 is superscripted and links to a footnote. Must've
been converted to pdf incorrectly.

------
joejohnson
Wow, that's long.

~~~
awa
Yes it looks long, but for what I have been able to read so far (the first
couple of chapters) its a worthwhile read. The programmer inside me is afraid
that if I don't read it before I sleep I will never be able to find it again!

~~~
pavs
bookmarks are awesome.

~~~
blaix
so is instapaper

