The site seems to be down. Here's a copy of the text.<p><a href="http://pastebin.com/raw.php?i=VXVx02Fy" rel="nofollow">http://pastebin.com/raw.php?i=VXVx02Fy</a>
I've been programming since '81 and commercially since '88.<p>Books, magazines (remember <i>typing</i> in example programs!) , undoubtedly re-invented many more wheels than I do now, colleagues, CIX (remember that BBS in the UK?), looking at open source code, I wrote a warren abstract machine (Prolog interpreter) back in the day and a regular expression engine and for both of those spent a lot of time in the university library (had long since left but still lived near it). Just because it wasn't a click away didn't mean that the information was not there.<p>But most of my code now still comes out of my head. The times I search for code are when I know that <i>someone</i> must have solved this problem already.
I think we all do it. And it's for good and bad. We constantly learn new things and gain a deeper understanding because of it. Our code becomes better. We can more easily try new technologies. But atthesame time, we commit fewer things to memory and rely on our search skills to find the code we used last time. On the whole, I am sure bot coders and companies benefit from this practice.
I often wonder these same questions myself?<p>How many of us feel like we're 'faking it' even though people are using the results of our work happily?<p>I often wonder if it is good programmers who think their code is crap, because they know it can be better but maybe don't know how to make it better.
> <i>how the F did anyone get any answers to tough questions before the Internet?</i><p>My first serious programming attempts were on my MSX computer. And not only there wasn't any internet access, but I knew no one owning a computer even with the same CPU (a Z80A). There wasn't any dedicated publication in my country, either.<p>I basically was on my own, with two books : Rodney Zack's "Z80" and an MSX programming technical book, and could discuss programming problems only with a couple of friends owning entirely different machines (C64, Apple II).<p>I went as far as writing my own assembler in MSX-BASIC because I couldn't afford to buy one; then used that to write my own games. I had my share of tough questions; I remember my frustration with the existing MSX graphic modes, and I tried to elicit the machine to create new ones, for which I partially succeeded. That is, I tried to reverse-engineer the hardware by making it crash repeatedly.<p>So the answer to the question is : by trying again and again, and thinking really hard about it.
"You can't get answers to complicated questions"? Seriously? I'll assume the writer is using hyperbole. Back then, in the days of blinkenlights and switches, we did just fine answering complicated questions. It just took longer.<p>Don't get me wrong, I'm not pining for those days - I'm googling as much as the next SWE these days. It's simply another tool you use in your work. We'd be less productive if we would have to transcribe assembly to octal and key it in via switches, too - that doesn't mean somebody who never did that isn't fit to be a software engineer.<p>(Although, as my dad used to say about unnecessary & laborious tasks that a monkey could do, "It builds character" ;)
I develop frequently without internet access because it removes a huge distraction. But my first step was to download to my local drive all the the documentation for the language and tools I'm using.<p>But tough questions? Yea, use the internet. It's like that old tech support cheat sheet comic by xkcd. "Have you been at it more than half an hour? Ask someone for help. "
I can do simple boilerplate stuff I've done many times over without an internet connection... but anything more and I can flip flop around with it for days