Live data from Hacker News

Where does a wannabe hacker begin?

news.ycombinator.com

21–30 of 70 posts

Re: Where does a wannabe hacker begin?

#22
I would suggest you to start at the client side. this is where all server technologies are willing to end up at. Therefore start in this order: 1) (X)Html. 2) CSS. 3) JavaScript + toolkit library such as jQuery or Prototype. 4) Python. 5)SQL (and SQLite).

In between read about theories and patterns in software design (Wikipedia is a great resource).

And do not ever be shy to ask whatever you do not understand.

good luck.

Re: Where does a wannabe hacker begin?

#23
If I were to lose all programming knowledge tomorrow, I'd send the following to my future self:

0) If you feel confused at any step, use Google.

1) Make an HTML page with Hello World.

2) Add an image to the page.

3) Position the image on the page by adding a CSS style to it.

4) Add a JavaScript script to the page that creates another image element, with another src URL, adds it to the page, and positions it.

5) Learn the principle behind the URLs of tiles at OpenStreetMap (http://openstreetmap.org) by using "View Image Source" in the browser. Hint: the numbers are zoomlevel/x/y.

6) Add a script in your page that creates some new image elements with OSM tiles, sitting seamlessly next to each other.

7) Learn about event handlers in JavaScript (onmousedown/onmousemove/onmouseup), and try to make the resulting map draggable. In Firefox first, then IE.

Congratulations, you're now a passably good client-side webdev.

Re: Where does a wannabe hacker begin?

#24
post #20

The 'C' Programming Language. if you do not like C programming, "How to Think Like a Computer Scientist: Learning with Python" to learn python. available for free on the net

C is not the path of least resistance for the OP. He is neither trying to make a career out of software engineering nor hack on a UNIX kernel.

He wants to be at the fringe of business and software and these days if that's where you want to be you can "get by" knowing only a high-level language really well and hiring/partnering with more specialized engineering talent as needed if the business-side requires it.

Mastering the high-level language is arguably as difficult as mastering C but the leverage you get from the high-level language is huge relative to C for the sort of business/software problems that will be of interest to him.

Re: Where does a wannabe hacker begin?

#25
Choose something that you want to make, even if it's just a clone of an existing site or service. Then figure out what database, language, CMS etc you need and start hacking it together. You'll be much more motivated with a goal in mind than just trying to learn a language from a book.

Re: Where does a wannabe hacker begin?

#28
Learn a free Unix - like Linux or BSD. Really. A huge part of hacking IMHO is taking an open system that is sometimes quite complex (like an OS), shedding your fear of breaking things, and tinkering. When things do break, you will learn so much from fixing them. =) It is a lot of fun, free, and will get your feet wet with some of the other stuff that mechanical_fish mentioned.

I also recommend Emacs. I haven't worked with git just yet, but I use Mercurial all the time (and I will eventually get around to using git). Avoid CVS like the plague.

Re: Where does a wannabe hacker begin?

#29
I'm self-taught. My recipe:

1 - Find something you want to build

2 - Learn everything you need along the way

3 - ????

4 - Profit

I built a pop-up blocker and privacy suite this way (as a single founder) and earned more than I was making at my day job, so I eventually quit.

I see a lot of "things you should know" in other posts, but in my experience, they won't be interesting until you need them. You'll have to go step-by-step, though. I'd probably start with HTML and work my way out if you're interested in web apps.

Re: Where does a wannabe hacker begin?

#30
post #24
post #20

The 'C' Programming Language. if you do not like C programming, "How to Think Like a Computer Scientist: Learning with Python" to learn python. available for free on the net

C is not the path of least resistance for the OP. He is neither trying to make a career out of software engineering nor hack on a UNIX kernel. He wants to be at the fringe of business and software and these days if that's where you want to be you can "get by" knowing only a high-level language really well and hiring/partnering with more specialized engineering talent as needed if the business-side requires it. Master…

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.

Post reply on HN