Hacker Newsnew | past | comments | ask | show | jobs | submit | 2008-02-26login
Stories from February 26, 2008
Go back a day, month, or year. Go forward a day, month, or year.
1.Notes From a Meeting with Warren Buffett (undergroundvalue.blogspot.com)
59 points by hhm on Feb 26, 2008 | 30 comments
2.The Paradox of Choice: The Advantages of Closing a Few Doors (nytimes.com)
54 points by robg on Feb 26, 2008 | 23 comments
3.The case of the 500-mile email (ibiblio.org)
43 points by muriithi on Feb 26, 2008 | 7 comments
4.Ask YC: Learning Web Development, were should I start?
40 points by german on Feb 26, 2008 | 56 comments
5.Ask/Poll News.YC: What is a good open source Bayes classifier?
35 points by fiaz on Feb 26, 2008 | 36 comments
6.[SF] Scribd is Seeking an Evangelist
on Feb 26, 2008

I had a similar issue a year or so ago. I tried to jump right in to a web framework, but I ran into a few problems. Like so much in the technology world, web frameworks grew in response to a certain set of problems. If you dive into web frameworks without having a least a rudimentary understanding of the problems that are being solved, you'll end up puzzled more often than not. So, when I picked up a bunch of Rails books, and started to work through them. So much of it was confounding, because so much of Rails is developed in response to problems in PHP + Java web development.

You could just say, "Screw it all," pick up a PHP book and dive in head first. You'll pick up some pretty bad habits along the way, but it depends on how you like to learn.

Here's a syllabus that I'd suggest to really get your head around web programming and understand what's going on:

HTTP--learn the basics of what the protocol does, and why. Learn the different response pages, because they are going to be your error messages.

Web servers--you just need a 100 ft overview. Learn how to setup and configure a web server.

Programming--You need to pick a language, Python or Ruby and learn how to at least do some basic programming with it. I'd recommend Python, personally. It's more explicit, and has less "magic". You probably need to understand variables, iteration or looping. You need to understand some basics of the object oriented programming concepts like methods, classes and scoping. And, if you're going to get into any of the web frameworks, you need to understand what things like a dictionary and array are. At least a basic understanding of regular expressions are necessary to learn Django's URL naming convention. The better you know programming itself, the better web developer you'll be, and more things will become possible for you to program.

CGI -- This is the ancestor to pretty much all dynamic web pages, and the foundation of most web development. Pick the language that you're learning, and go through some tutorials on CGI scripting for the language you're going to focus on. And, this will help you understand the basics of what goes on in the address bar, GET and POST methods of the HTTP protocol. You'll also get familiar with the idea of taking variables and inserting them into HTML templates dynamically, which is the basis of most web frameworks.

Learn SQL, and database basics. You need to understand what a database is, how to create a database, why databases are important, how to create and drop tables, how to do queries, etc... Having at least a basic understanding of relationships, foreign keys and constraints is helpful when reading some of the web framework documentation. You really should understand how to do a query in SQL, just so you can understand what the web framework is doing for you.

Finally, pick up a web framework, and start to work through it. After learning the above, learning the web framework will tend to make a lot more sense than if you dive into a web framework deep end first. Pick the framework that's most popular for your language, that way, you can be assured you will have plenty of documentation to work with. I'd recommend Django for Python, and Rails for Ruby.

Lather, rinse, repeat. Iterate through the above steps, and learn more and more each time you approach each subject.


Get a good night of sleep -- it might be the last you get for a long time.
9.Beware of Freeconomics (readwriteweb.com)
28 points by cawel on Feb 26, 2008 | 48 comments
10.MacBook Pros updated today - Good time to buy (apple.com)
26 points by Readmore on Feb 26, 2008 | 42 comments
11.“The Connection Has Been Reset” (theatlantic.com)
24 points by muriithi on Feb 26, 2008 | 4 comments

Ask YC a very vague question ;)
13.Friendfeed gets $5m - congrats Paul Buchheit (mashable.com)
22 points by sharpshoot on Feb 26, 2008 | 2 comments
14.Ask YC: What do you use for Project Management?
22 points by Flemlord on Feb 26, 2008 | 35 comments
15.Ask YC: What is the last task one should do before launching a startup?
22 points by moog on Feb 26, 2008 | 41 comments
16.Larry Lessig: On why I am not running (lessig.org)
21 points by edw519 on Feb 26, 2008 | 1 comment
17.Good Guys Don't Make Billions: Web companies discover the perils of putting privacy before profits. (slate.com)
20 points by pchristensen on Feb 26, 2008 | 1 comment
18.How To Make Your Plants Twitter (botanicalls.com)
20 points by pius on Feb 26, 2008 | 8 comments
19.FriendFeed Raises $5 Million, Now Open to Everyone (techcrunch.com)
19 points by aston on Feb 26, 2008 | 3 comments

Buffet's investing record puts him on a league of his own. But his humility and compassion, in spite of all the wealth, now that's exceptional.
21.How insecure routing redirected YouTube to Pakistan (arstechnica.com)
18 points by muriithi on Feb 26, 2008
22.Get the Tipjoy Bookmarklet. Tip any site, while you're on it. (tipjoy.com)
18 points by ivankirigin on Feb 26, 2008 | 9 comments
23.Parable of the Shoe Salesman - Capitalism rewards wealth owners, not creators (charityfocus.org)
18 points by nickb on Feb 26, 2008 | 51 comments
24.The Brash Programmers at 37signals Will Tell You: Keep It Simple, Stupid (wired.com)
18 points by drm237 on Feb 26, 2008 | 6 comments
25.Why isn't University free? (michaelnielsen.org)
17 points by michael_nielsen on Feb 26, 2008 | 24 comments
26.Yahoo Announces Open Search Platform (techcrunch.com)
16 points by unfoldedorigami on Feb 26, 2008 | 7 comments

Try to structure your service with monthly allotments. So instead of a total of 5GBs, allow 1GB per month.

Also, from an implementation perspective; make sure that to run an upgrade/downgrade all you need to do is change some database field values. You do NOT want to be running code that has to go through and change a bunch of stuff.

For users... keep them around; just disable their login. We're going to be implementing multiple users in our application and we are going to handle downgrades by simply maintaing an "ordered list" of users. So you have 20 users on your account w/ 20 max in that plan. If you downgrade to a 10 user plan, we "gray out" and "disable" the "bottom 10" users. The administrator can rearrange the disabled users towards the top of the list, which will "re-enable" them.

This raises another important point with our approach; we keep all of the users data so that when they downgrade, they can see that all of their shit is there but some of it might be disabled (don't hold your users data hostage or they will get PISSED! Note how for our users approach we don't just disable users willy nilly. The admin/user has control). If they can see their data is there, just not "usable" w/o an upgrade... they might be tempted to upgrade again.

Good luck implementing all of this! It truly is a pain in the ass. Just keep it all data driven and your life will be much easier.

28.The Next Disruptors (10 game-changing startups) (cnn.com)
15 points by edu on Feb 26, 2008 | 10 comments

Henry Ford has a great quote on this:

"If I asked users what they wanted they would say a faster horse"

30.Ask YC: How do you deal with account downgrades?
14 points by jam on Feb 26, 2008 | 10 comments

Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: