Live data from Hacker News

The Hacker's Path

krainboltgreene.heroku.com

31–40 of 78 posts

Re: The Hacker's Path

#31
post #10

blech. this is an alright recipe to being a standard nerd/web developer and reads far too much like a list of things the author has done, especially the hobbies part which imo has bugger-all to do with being a hacker. my personal idea of a hacker is someone who knows _everything_ and is not afraid to take advantage of that knowledge. of course it's impossible to know everything, but the best hackers I know do a very…

If you don't want to burn out while you try to know everything, you'll get a side hobby.

Sure, but it's just standard practice to do so, and taking a hobby doesn't really get you any closer to being a hacker. And putting "womenz" and "drinking" as hobbies is just lame.

Also not wanting to give the wrong impression, the folks I'm thinking of are not "know-it-alls", they don't tell you random crap to sound smart, but I can learn a lot from talking to them normally.

Re: The Hacker's Path

#32
post #5

There are some problems with rendering this text in Chromium - words around some of the punctuation overlap. Also, I think that ESR's guide is much more informative: http://www.catb.org/~esr/faqs/hacker-howto.html The OP omits some of the points I consider important - problem-solving attitude, low level programming, learning unix. Also I think that starting with both Python and Ruby is a bit strange idea - they are r…

I was going to respond to a few things, but you linked to ESR's guide, the most condescending guide to hacking I know. Anyone who links to this guide seriously is usually not going to be swayed by even the best arguments.

I'd be more than happy to hear your arguments. Perhaps I am missing some points you could show me clearly? Your original post lacked some explanation behind what you mean by word hacking itself and while at first kind of dismissed your post with ESR, I would like to know what do you think hacking is about? (As esr's text guided me somehow, your comment made me think i may actually be missing something)

Re: The Hacker's Path

#33
Teh Womenz

I'm rolling my eyes right now, just so you know. I'm sure EVERY programmer should really be interested in "teh womenz."

OTHER HOBBIES FOR FUCK SAKE

Now my head is firmly planted in the palm of my hand. You seriously can't tell them apart they're so embedded. I don't know when that started happening, but it's really quite remarkable.

People program as a hobby. It's how a lot of free software gets written. It's how people learn.

Here's a simpler guide to "becoming a hacker":

  1. Read a tutorial (note: not a big honking book or anything listed on in the article. not yet.)

  2. Implement the most simple possible number guessing game

  3. Think of ways to improve the game and implement them

  4. Get stumped on something, refer to the language documentation, or google as a last resort

  5. Repeat 3-4 until you've exhausted all your ideas

  6. Find a slightly more ambitious program to write. An address book is a good start. Repeat 3-4 until you have a decent address book program

  7. Repeat 6 until you have a handful of small programs under your belt

  8. Now pick a book to read, pick the parts that interest you, do the exercises if there are any, and take notes

  9. Apply what you've learned to improve your programs; if you notice some marked improvement (readability, performance, your own productivity), retain that theory. if there was nothing gained; repeat this step or abandon it and move on

  10. Start building non-trivial programs, forking open source projects, and write more code. Do some coding puzzles once in a while
For any new language, start at 1.

I am generally against starting with books. Especially for people who are interested in programming but haven't already figured out how to write and compile a few simple programs on their own. These sorts of people aren't even sure that they will like it, so throwing a thick meaty book filled with a whole bunch of nonsensical programmer-speak isn't going to really entice them. I say wait for the books until you've gotten a taste and are committed to learning more. The effect is much more impressive when you just run some code and see the computer "do stuff." That's when you realize it's not rocket-science and anyone can do it.

Heck, it's they're really, really not sure... give them Logo or http://docs.racket-lang.org/quick/index.html

Bad ass hackers just do it. Learning all the theory first is just a barrier and a big downer.

Re: The Hacker's Path

#34
post #15

This should be called The Coder's Path for the same reason this site should be called Coder News. A whole section on "Gettin’ Paid, Makin’ Money"? Fucking please.

Eventually every artist has to learn how to sell their work. Is it because they're selling out, just doing it for the cash? No. Some of us have families to feed.

I know plenty of hackers who decided to dayjob in other fields, so that's B.S. Hacking does not imply being paid.

Re: The Hacker's Path

#36
post #3

OK, _why is amazing, but the Poignant Guide is really not the best place to learn Ruby. It may be for some, but I have to be honest, it diverges so much into madness and a pointless, meandering storyline for so long that I couldn't bring myself to finish it. I've spoken to others with the same experience. Maybe the first few chapters are worth reading, if only to get references like "chunky bacon". I suggest the pick…

You may be right to suggest another book as an eager student's introduction to Ruby, but the Poignant Guide is a really awesome book that absolutely deserves a mention. The meandering storyline and its quirky character are part of its charm. _why's explanation of block syntax in the Poignant Guide sticks with me to this day! The imagery of a little waterslide that block arguments slide down into their block is both c…

I liked _why's imagery for Arrays, those poor poor little stapled caterpillars.

Re: The Hacker's Path

#37
post #11

I'd suggest learning C as soon as a basic grasp of programming (variables, condition, iteration, basic data structures and abstract data types) is there. C is the lingua-franca of programming: advanced algorithms are often implemented in C (or in C like languages), other language concepts are often expressed in terms of C language concepts. "Gold standards" of systems programming are the C POSIX API and BSD sockets (…

I think your last sentence is the most poignant. Important thing is understanding the fundamentals and seeing the overall patterns. And the most damning for C and Java in my opinion. C and Java's syntax (which does matter to those who are learning), is so verbose as to hide a lot of what the fundamentals and patterns are. This is why I chose Ruby and Python. The languages syntaxes are clean and are never in the way,…

I've got to say, if you're struggling with C's syntax, you should worry less about becoming "a hacker" and more with "just becoming a programmer".

Re: The Hacker's Path

#38

Teh Womenz I'm rolling my eyes right now, just so you know. I'm sure EVERY programmer should really be interested in "teh womenz." OTHER HOBBIES FOR FUCK SAKE Now my head is firmly planted in the palm of my hand. You seriously can't tell them apart they're so embedded. I don't know when that started happening, but it's really quite remarkable. People program as a hobby. It's how a lot of free software gets written. I…

As most, if not all, learning books have you do exactly as you listed I'm not exactly sure why you're against starting with books.

    I'm sure EVERY programmer should really be 
    interested in "teh womenz."
It's humour. Relax.

    People program as a hobby. It's how a lot of 
    free software gets written. It's how people learn.
That's why it says "other hobbies". "Other", as in "in addition to" or "besides this one".

Re: The Hacker's Path

#39

Earlier quoted context omitted.

I think your last sentence is the most poignant. Important thing is understanding the fundamentals and seeing the overall patterns. And the most damning for C and Java in my opinion. C and Java's syntax (which does matter to those who are learning), is so verbose as to hide a lot of what the fundamentals and patterns are. This is why I chose Ruby and Python. The languages syntaxes are clean and are never in the way,…

I've got to say, if you're struggling with C's syntax, you should worry less about becoming "a hacker" and more with "just becoming a programmer".

And you're allowed to say that. In the mean time, I'd rather not have my students struggle with verbose syntax.

Re: The Hacker's Path

#40
post #11

I'd suggest learning C as soon as a basic grasp of programming (variables, condition, iteration, basic data structures and abstract data types) is there. C is the lingua-franca of programming: advanced algorithms are often implemented in C (or in C like languages), other language concepts are often expressed in terms of C language concepts. "Gold standards" of systems programming are the C POSIX API and BSD sockets (…

I think your last sentence is the most poignant. Important thing is understanding the fundamentals and seeing the overall patterns. And the most damning for C and Java in my opinion. C and Java's syntax (which does matter to those who are learning), is so verbose as to hide a lot of what the fundamentals and patterns are. This is why I chose Ruby and Python. The languages syntaxes are clean and are never in the way,…

By "fundamentals," strlen means "memory management," "pointers," the gritty stuff. You can't escape memory management by using Ruby and Python, and a rudimentary understanding of pointers are also essential.

  a = ["Hello", "World"]
  b = a
  b[0] = "Goodbye"
  print a
The first time I tried this, I was baffled why ["Goodbye", "World"] showed up. The answer lied in the way this scripting language used pointers, and it wasn't until I learned C that I really understood that.

As for memory management, I often accidentally write scripts that use gobs of memory thanks to silly mistakes; e.g. not using weak references when I should (oh look, more pointers!), creating new objects instead of reusing old ones , forgetting to unregister event handlers in my nodejs apps, etc. C's "every malloc() must be free()d" policy teaches these things to you in a very explicit way. Sometimes you have to clean things up when your scripting runtime doesn't know it should.

Post reply on HN