Live data from Hacker News

Where does a wannabe hacker begin?

news.ycombinator.com

61–70 of 70 posts

Re: Where does a wannabe hacker begin?

#61
At the same time you pick up a C++ book, go to http://www.topcoder.com/tc and start up the arena (after reading the instructions, of course). Then practice, both the language and some problems, for about 2-3 weeks. Once you are able to solve the easiest (but not always trivial) problems regularly, you will be more than ready to easily pick up a markup language like HTML or a scripting language like Python. This will help you to be more comfortable with programming in general and to get some problem solving skills. These skills are useful when you develop software because it increases your productivity and helps you to write better code. This is not the only place you can get this kind of practice from, but everything is already set up so that you can go ahead and get started. I believe things will be easier afterwards if you get these skills first. It’s also a good idea to be able to think recursively, but you can work on this later on, and when you do you can try SICP, which is a very good resource. I hope this helps.

Re: Where does a wannabe hacker begin?

#63
why lose time? you are not going to learn programming in 1 day anyways, neither in 1 month...except if thats the only thing you are doing...

it's better that you find an idea in your knowledge domain (economics that is), find someone to do the hacking for you, (learn a few programming stuff while starting up) and contribute to the company your knowledge...

Re: Where does a wannabe hacker begin?

#64
post #7

Your first challenge: take a generic PC (or a Mac, for that matter). Install Linux, Apache, MySQL, and PHP. Get Wordpress running and put up a simple blog. Make a post or two. Smile. Bonus points for using Drupal instead of Wordpress. You might prefer to do this exercise using a webhost like Slicehost. They'll hand you a VPS for $20 a month. The advantage here is that, when you're done, you'll have a public website i…

I definitely agree with your first exercise. It would give some kind of confidence and any newbie would feel at home to web apps. Reading SICP/git; add to that Data structure CS stuff is not at all mandatory to become hacker. Thats the "school" way or maybe it worked for some people. My gut feeling is you need to work on some part of your app every day. It would lead to html/css/JS and then get/post basics and common…

I don't disagree with this at all. There are lots of ways to learn, and everyone's style is different. That's why I ended up offering two distinct styles of advice, separated by the magic dotted line (-----). I use a mixture of the two... one which is actually skewed pretty heavily in your "hack away on the app and solve problems" approach.

Some of us like learning from books (as well as by practicing). Other people like learning by practice, as well as from books. Some people actually go to school and get degrees in comp sci. I skipped that part: After far too many years studying science, I got bored with formal lectures, because they move at a pace that isn't my pace (i.e. "usually too slow, except when they're too fast"). OTOH, other people thrive on the camaraderie and the formal structure of a class.

I think your answer is wise to emphasize that building stuff, and learning via experience, is the only real path to becoming a hacker. Some book learning will help, but it's not the essence of the matter.

Re: Where does a wannabe hacker begin?

#65

Your first challenge: take a generic PC (or a Mac, for that matter). Install Linux, Apache, MySQL, and PHP. Get Wordpress running and put up a simple blog. Make a post or two. Smile. Bonus points for using Drupal instead of Wordpress. You might prefer to do this exercise using a webhost like Slicehost. They'll hand you a VPS for $20 a month. The advantage here is that, when you're done, you'll have a public website i…

Two more keywords: vim. mercurial. ;)

I have nothing against these legendary power tools. I just make it a policy not to recommend things that I don't understand at all. ;)

Re: Where does a wannabe hacker begin?

#66
I'm in the same boat. I'm a communication major, but I discovered Unix via Mac OS X, and I was hooked. Like a lot of geeks, however, I programmed in BASIC as a kid.

First, I'd start off with an open source Unix, probably Ubuntu if you don't have one installed already. Just learning to work the shell will give you some useful programming experience. Then I would start learning Python.

Re: Where does a wannabe hacker begin?

#67
post #60
post #30

Earlier quoted context omitted.

Yes, I am in complete agreement with you. Which is why I suggested C. You only realise the huge productivity jump when you first program a small application in C and then do the same thing in Python / . Hence the C recommendation.

We can't possibly be in complete agreement if we are drawing opposite conclusions. I think the difference might be that I assume the OP is heavily concerned with efficiency . Given his background and goals it is not efficient [1] for the OP to learn C when in the same amount of time he could learn a high level language and then directly accomplish his goals, and never need to learn another language for the rest of hi…

My personal experience has been that I am much more productive when programming in python. More gets done easily, and the code is very readable.

However, I realised this only after I had spent order of magnitude more time on doing the same thing in C, and burnt myself plenty of times during the process. My point is that you find out how productive you can be in one language when you have used another language to do the same thing - then a comparison becomes somewhat meaningful. I had read a lot about how python makes you more productive, but I experienced it only when I started coding in python to achieve tasks that I used to code in C earlier.

The same goes for shell scripts that make my life easier. Shell scripting became a hellish experience when I was using a solaris machine for some time - but by writing a python script instead of a shell script, I could be pretty sure that it would run in linux / solaris / any other *nix.

So, I still believe that we are essentially in agreement regarding productivity. Efficiency is another matter though - inspite of psyco etc, python tends to be slower in some tasks and it might be well worth the time to code them in C.

Re: Where does a wannabe hacker begin?

#68
post #67
post #60

Earlier quoted context omitted.

We can't possibly be in complete agreement if we are drawing opposite conclusions. I think the difference might be that I assume the OP is heavily concerned with efficiency . Given his background and goals it is not efficient [1] for the OP to learn C when in the same amount of time he could learn a high level language and then directly accomplish his goals, and never need to learn another language for the rest of hi…

My personal experience has been that I am much more productive when programming in python. More gets done easily, and the code is very readable. However, I realised this only after I had spent order of magnitude more time on doing the same thing in C, and burnt myself plenty of times during the process. My point is that you find out how productive you can be in one language when you have used another language to do t…

I think we're speaking different languages (despite the fact that it appears we're both speaking English). :)

I know you can reduce development time using a high level language to solve problems like this. So do you. And now so does he because we told him. No need to have him waste time proving it for himself.

And to be 100% clear when I said "efficient" I mean efficient as relative to life/goal achievement. I did not mean efficient as relative to CPU time or memory usage. One of my assumptions is that if this guy implements something successful in Python he'll be able to hire or partner with someone who has a real engineering background and can make "it" go fast using every trick in the book.

Re: Where does a wannabe hacker begin?

#70

Your first challenge: take a generic PC (or a Mac, for that matter). Install Linux, Apache, MySQL, and PHP. Get Wordpress running and put up a simple blog. Make a post or two. Smile. Bonus points for using Drupal instead of Wordpress. You might prefer to do this exercise using a webhost like Slicehost. They'll hand you a VPS for $20 a month. The advantage here is that, when you're done, you'll have a public website i…

Two more keywords: vim. mercurial. ;)

Upvoted for Vim!
Post reply on HN