Neophyte's Guide - I Want To Make Things

I Want To Make Things

So you're a digital creationist eh? Wink

Making things can be looked at from 3 perspectives:
- Make Programs: Making a program involves programming. Programming will open your eyes into the digital world like no other experience can. I will forever argue that you do not know computers until you've programmed. A good place to start is to learn C and Java. Visit the tutorials page, ask questions in the forum and IRC for more details into this dark and wonderful world. A great tutorial series on this site is Basic Programming Concepts by Amp. For those interested in C, http://www2.its.strath.ac.uk/courses/c/ and http://c.learncodethehardway.org/book/ contain series of tutorials for learning C. For network programming, please take a look at http://beej.us/guide/bgnet/.

- Make Servers: Building a server is a fun adventure that takes far less time than learning to program and is a bit easier. Most people venture here and there's absolutely nothing wrong with it. Everyone should have a file server. If you would like to build a server I would recommend starting with a left over computer that you don't use anymore. It will be older than your current desktop which is perfectly acceptable. You need a super computer to play video games- you DO NOT need one to host a website. I would recommend starting out with something like Debian Linux, which is available from www.debian.org.

- Make Hardware: Making hardware is the most intimidating of the 3. Yet I would argue it's the most expensive and the easiest. You're going to want to start out by looking into the following 2 things:
1. FPGA - http://www.fpga4fun.com/ - Field Programmable Gate Array. FPGA are programmable circuit boards that allow you to get started right away. Sadly - you do have to buy them and the software to interface with them. It's worth it though.
2. Verilog or HDL - Hardware design programming languages. You feed your verilog or hdl code into the FPGA and viola instant firmware. See it's not that hard.

Alternatively, if you're a masochist, you can start from scratch and build your own ciruits using breadboards. If you're going to go this route I recommend you just enroll in an electronics class. The machinery needed to do this properly is very expensive to buy on your own. Plus there aren't many tutorials regarding these things.