
Ask HN: Crash Course in Tech - cconcepts
I read HN everyday but can&#x27;t understand half of what you people are talking about - I keep coming back for the thoughtful commentary and interesting philosophical stuff.<p>I now have two young kids yet can no longer just teach them to use a chainsaw to ensure they can survive in a world where algorithmic robots will be doing the chainsaw swinging etc.<p>What are your recommendations for resources&#x2F;books for getting up to speed on the tech world without the intellectual snobbery of insider terminology?<p>Things like:<p>Basics of networking and the web (DNS etc)<p>How software stacks work<p>Why we have so many programming languages on so many levels<p>Neural Networks<p>Basic Computer Science<p>Any help is much obliged.<p>EDIT: Formatting
======
brudgers
Insider terminology usually isn't intellectual snobbery. It's a form of
efficient communication between people with similar technical backgrounds in a
narrow domain. Once such people are outside their domain, they're in a similar
situation to everyone else. As Scott Hanselman says, "We're all amateurs".

The computer scientist Alan Perlis summed up the problem:

    
    
      48. The best book on programming for the layman is
          "Alice in Wonderland"; but that's because it's 
          the best book on anything for the layman.
    

But for their incompleteness, the Perlis's Epigrams wouldn't a bad crash
course. [1] Peter Norvig's take [2] is also insightful.

To be honest, I'm in the _No Silver Bullet_ camp [3]. This stuff is hard. When
I might forget that fact, I pick up Knuth's _TAoCP_ and conclude that someone
spending more than 50 years writing less than half a book is pretty good
evidence that this stuff is hard...I don't even have to look at the 30 rated
exercises.

I can't know it all. In the days before the internet when my younger self
believed I was up on things, it was simply because I didn't have access to
much information. Now I know that I don't know most things. Fortunately most
things are only somewhat interesting and there's always something shinier.
I've learned that learning a lot doesn't mean I know very much relative to the
sum total of what people know or what there is to know.

Avoiding terminology is the route to being like the person who buys a iguana
at PetCo and then argues with herpetologists online. Words are how we
communicate.

Good luck.

[1]: [http://www.cs.yale.edu/homes/perlis-
alan/quotes.html](http://www.cs.yale.edu/homes/perlis-alan/quotes.html)

[2]: [http://norvig.com/21-days.html](http://norvig.com/21-days.html)

[3]: [http://worrydream.com/refs/Brooks-
NoSilverBullet.pdf](http://worrydream.com/refs/Brooks-NoSilverBullet.pdf)

~~~
cconcepts
Being corrected by someone online who gives a complete and reasonable argument
to support their assertion is what makes HN so good. Thank you kind stranger.

------
tkjef
Get html & css down fairly well.

Do some decent javascript classes (Codeschool has good ones as well as
hundreds of other places).

Get into php or ruby on rails for some backend programming (php i think is
better for beginners). This step should also introduce you to SQL.

Get into Linux & create a virtual machine with virtual box (or vagrant to step
it up a notch).

Going through all this you should be messing around with projects & ideas.
Hopefully, you're starting to gravitate to developer (in some language), or
system administrator, or dba.

From there, continue to focus & refine your education based on what interests
you, and what job opportunities are available or are coming your way.

~~~
cconcepts
If I understand the situation correctly, JavaScript could soon be commonplace
as a back end language as well thanks to NodeJS? I may have completely
misunderstood this...

~~~
NhanH
It is commonplace even now (as in you will have enough resources/jobs etc that
you want, not that it will be the majority, or even any where close). But you
really want to stick with a more mature ecosystem. The JS/Node ecosystem, and
even the language is too much in flux. It's nightmare to keep up even for
experience developer. You want something you can copy paste and know it won't
throw back an error due to version upgrade.

Ruby on Rails, python + flask and even php would serve you better.

------
atsaloli
Start with "how computers work"

[http://www.amazon.com/gp/aw/d/078974984X/](http://www.amazon.com/gp/aw/d/078974984X/)

~~~
cconcepts
Wowza! $25 USD for the kindle version. If I can get one more vote for this
book I'll buy it.

I assume they charge that much coz its a great book but social proof, Robert
Cialdini etc...

------
JauntTrooper
Harvard/Yale's Intro to CS course, CS50, is a great place to start:
[https://cs50.harvard.edu/lectures](https://cs50.harvard.edu/lectures)

------
timothybone
The Go Programming Language is a recent concise book that will give you a
basic grounding in important CS stuff through the lens of a modern language.
I'd say that will clarify loads of jargon.

~~~
cconcepts
I feel nervous that focussing on one language will only give me understanding
within a narrow sphere. Is there a reason why Go is more broad reaching than
others?

I'm not planning to be a coder but to at least have a fair understanding of
modern tech as a whole.

I understand this is akin to saying "I wanna understand heapsa stuff" but at
least getting advice from HNers will make this process more efficient.

------
carise
This book was something I found very fun to read: [http://www.amazon.com/Code-
Language-Computer-Hardware-Softwa...](http://www.amazon.com/Code-Language-
Computer-Hardware-Software/dp/0735611319/)

N.B. I did read the book when I was in university studying CS, but I felt like
it was a good balance of history and tech information.

