| 1. | | Daily WTF: ITAPPMONROBOT (thedailywtf.com) |
| 47 points by nickb on Dec 18, 2007 | 10 comments |
|
| 2. | | The US sub-prime crisis in graphics (bbc.co.uk) |
| 40 points by vikram on Dec 18, 2007 | 22 comments |
|
| 3. | | A Common Lisp web startup test-case, two years after the Reddit switch (fallenfrukt.com) |
| 42 points by mqt on Dec 18, 2007 | 15 comments |
|
| 4. | | For Sale: Used Social Voting Site, Asking Price $300 Million, Goes By The Name Of Digg (techcrunch.com) |
| 33 points by nickb on Dec 18, 2007 | 27 comments |
|
| 5. | | How can I learn to scale my project? |
| 25 points by voidfiles on Dec 18, 2007 | 18 comments |
|
| 6. | | Toshiba makes a personal Nuclear Reactor. Available in the US 2009 (nextenergynews.com) |
| 24 points by Readmore on Dec 18, 2007 | 17 comments |
|
| 7. | | How to become a programmer |
| 23 points by lowfat on Dec 18, 2007 | 36 comments |
|
| 8. | | Building Skills in Python [Version 2.4] (free book) (mac.com) |
| 19 points by nickb on Dec 18, 2007 | 8 comments |
|
| 9. | | What's Wrong with the For Loop (notes-on-haskell.blogspot.com) |
| 19 points by nickb on Dec 18, 2007 |
|
| 10. | | Milemeter: Buy Your Insurance By the Mile (oreilly.com) |
| 18 points by terpua on Dec 18, 2007 | 14 comments |
|
| |
|
|
| |
|
|
| 13. | | Ask YC: Good/small open source projects to work on? |
| 14 points by brooksbp on Dec 18, 2007 | 12 comments |
|
| 14. | | Voting Bot War at Reddit? (reddit.com) |
| 13 points by dood on Dec 18, 2007 | 6 comments |
|
| |
|
|
| 16. | | 9 Essential Principles for Good Web Design (psdtuts.com) |
| 11 points by nreece on Dec 18, 2007 |
|
| |
|
|
| |
|
|
| |
|
|
| 20. | | Personal private trains for Heathrow. Very sci-fi. (bbc.co.uk) |
| 11 points by jsmcgd on Dec 18, 2007 | 1 comment |
|
| |
|
|
| 22. | | $8,000-per-gallon printer ink leads to antitrust lawsuit (arstechnica.com) |
| 10 points by nickb on Dec 18, 2007 | 1 comment |
|
| 23. | | Inside the "Ron Paul" Spam Botnet (secureworks.com) |
| 10 points by hhm on Dec 18, 2007 | 2 comments |
|
| 24. | | Y combinator (the function) in Ruby (eecs.harvard.edu) |
| 10 points by cduan on Dec 18, 2007 | 3 comments |
|
| |
|
|
| 26. | | Ask YC: is networking class worth it? |
| 10 points by lg on Dec 18, 2007 | 16 comments |
|
| 27. | | Jiggy: Javascript App Framework for iPhone (jiggyapp.com) |
| 10 points by chaostheory on Dec 18, 2007 | 10 comments |
|
| |
|
|
| 29. | | Q&A with Peter Norvig: The evolution of Web search (technologyreview.com) |
| 9 points by mqt on Dec 18, 2007 |
|
| |
|
|
|
| More |
Now on to becoming a better programmer:
Find a good project and read some theory books on debugging and how to write code in general (check amazon.com and read the reviews). Books like Code Complete 2nd edition and Beautiful Code. If you want to be more serious about it, the Computer Science series by Knuth will give you all you need to know to get a CS degree, but they are boring so you have to be willing to stick with them. Those books, 3 volumes, are the bibles of Computer Science ( yes, someone will disagree) and as such they are theory. However, you need to know a good deal of that theory to write good software. Specifically, you can concentrate on searching/sorting algorithms, algorithm analyses and machine architecture.
In general, you will find that there is a HUGE learning curve to understand what the computer is doing with your program and how to write code that makes sense, which makes you a good developer. However, the time you invest in learning what happens behind the scenes is worth it's weight in gold, independent of the language you use.
Always try to figure out what the tool/language you are using is trying to do and don't blindly trust it.
Never, ever skimp on comments. You don't have to write a novel and explain that you are adding 2 to variable i, but do explain what the function is doing or what a complex bit of code is doing, this will save you hours when trying to find that bug.
Use a version control tool. The simplest one to use would be Subversion and the book for it is free online. There are also free Subversion hosting services such as http://beanstalkapp.com/.
Depending on how serious you are, you might want to look at the coursework from colleges like Stanford. Many top schools post their coursework with lectures online.
Google is your best friend. Just paste the compiler error and remove any variable names and you will often find people who had the same exact problem with possible solutions. You might have to play with the search string, but you will often arrive at an answer quite fast in this manner.
Try to find mentors on forums and newsgroups. This will take time as you develop relationships with people, but it's the best way to learn as the software development industry is still, very much, based on the notion of apprenticeship.
Try to study some open source projects. Little ones are best, as they are least complicated usually. Trying to figure out what someone else wrote will make you a better programmer in a hurry, because you will notice mistakes people make and how you would like to do things differently.
Lastly, think about which tool/program/etc. that you would love to have or rewrite an existing project in your own style and do it. The first one will be horrible, full of bugs and many many problems, but it will teach you more than most classes you take in school.