skysight-inc/HackerNews huggingface dataset:
Most adults are mentally well adjusted enough that the mental scars of early torture by long-division fade into the background. Even adults that dislike math need to use it in their day to day lives. I don't think the math that many people truly dislike because of its perceived uselessness, like geometry and algebra, need to be mandatory, but someone with a McJob needs to make change and calculate their monthly wage from their hourly wage.

I would be curious to hear your examples of someone leading a successful life while irrationally avoiding all math.
OK, it is certainly true that things would be different in a better way if our government would spend a sizable portion of the taxbase on energy research instead of wasting it an utterly insane manner.
Sorry.. This is probably the wrong question for you to ask :)

The first question to ask is, "What would I enjoy creating? A website? A video game?"

Based on that answer, you then choose the best tool for the job. Depending on the answer, you may only have one choice.
That's an interesting suggestion. On one hand, you get a decently powerful language with most of the benefits of Scheme and without the scary (non-)syntax. However, I have to go with "no" because Javascript is tightly coupled with so many messy real-world details like DOM and browser incompatibilities. You end up with just as many brackets; they just happen to be a little pointier. It would be a good choice for someone already comfortable with HTML and web administration. Otherwise, you have too much static friction to overcome before you get to Hello World.
A system like YCombinator that starts at the K-12 level. Students would be trained in programming, art, writing, and other methods of creation. When they graduate they get $15,000 and one shot at starting a business. In return, the school gets 2-10% of the company.
News.YC's half birthday (with stats)
I would. It is high level enough for someone who wants to grasp basic concepts about programming (flow control, basic data structures) and has a really low barrier to entry (a web browser is all you need) which results in lots of online material.

And, as the learner makes progress, he can start to go deep into the functional side of the language.

It seems to be a nice fit for the case, indeed. Python would be my second best.
http://www.programmermeetdesigner.com
Everyone needs a party sometimes! Valleywag maybe went a bit overboard in dissing our excesses. :-)
Thanks Paul! Sorry for making you endure Windows.
Dumping things into global variables. Using regexes to hammer anything vaguely resembling a nail. Thinking in for loops when you should be thinking in higher-level abstractions.
If that was their "we just got an office" party, imagine what it will be like if they go ipo. Fingers crossed.
Having programmed in both C and assembly, I wouldn't say "a hair's breadth" is an accurate characterization. It looks like a high level language, and it's easy to use it like one. But it's equally easy to misunderstand C's semantics, they're often subtly different from what you'd expect. An obvious example is the array[index]. There are complicated syntax rules required to do some fundamental things, such as passing parameters by reference. Strings are a nightmare, and of course don't forget malloc() and free().

I only recommend learning C first if you have handy: an excellent instructor or an excellent book-- preferably both. I might also recommend C if you already know a lot about how computers work architecturally but don't know much about languages.

With python and ruby, just go to www.python.org or www.ruby-lang.org. Several good resources have been mentioned for Scheme. In those cases, you'll get familiar with the basic idea of telling the computer what to do, as well as fundamentals like expressions and abstractions. Going the SICP+Scheme route will introduce you to recursion and high-order functions fairly quickly, while Ruby and Python have all sorts of practical libraries. Interpreters for Javascript are more readily available than C compilers, though at the moment I can't recommend an ideal place to go learn about it. JS is everywhere though.

I love C, and think that an undergraduate Computer Science curriculum should require learning it early on. But for someone who wants to learn to hack on their own, C is probably not the best choice.
1. Encryption

2. Local storage

3. Local storage
I'm learning on Lisp, and it's kind of weird. I'm using Practical Common Lisp (http://www.gigamonkeys.com/book/) and I have to reread chapters a few times to really understand them. I downloaded Lisp in a Box for it, and that is weird because it's rickety. The tutorial isn't there, and it will keep kicking me out of the SLIME.

I'm in the middle of a four-month vacation, but progress is pathetic. Lisp in a box and Practical Common Lisp aren't helping me stay on task. The look like they're made for guys who are learning their sixth programming language.

If you're looking to learn Lisp, try to find something ostensibly beginner-friendly.
A Funny Take on How Microsoft bought Skype Down
Is it me or you guys find this amusing as well??
I found our office on craiglist. It is dirt cheap for SF. Oh, and we negotiated the contract so that we haven't paid a dime for the first 3 months.

When you are making another sticky notes web app QA might not matter, but when you are making fundamental business tools, I think it is one of the most important roles in a company.
This makes my brain explode.
If I wanted to try to live cheaply in the Bay Area, I'd probably start with wherever Berkeley grad students live. Then you wouldn't need a car.
Try both and see which one feels better. For what it's worth, Ruby programmers are more in demand than python programmers.
Maybe. On the plus side, it's a pretty nice language - somewhere between Python and Ruby on the power continuum, I think. The C-like syntax is more complicated than Python, Ruby or Lisp, but familiarity with C syntax is probably advisable for anyone trying to get an overview of programming in today's world.

Implementations and libraries are a drawback. I think the best way to learn a language is to build something interesting using it, and the only thing that's easy to build with Javascript these days is the client-side part of a website. Doing that also requires CSS and HTML, which the OP should probably learn a bit about, but it might be distracting to do that while he's trying to learn the fundamentals of programming. Trying to learn Emacs at the same time I was learning Lisp was distracting for me. I don't think browser incompatibilities are a reason to shun JS; unless you're building something for a website used by the general public, just target Firefox. Use Firebug to learn what's going on with your code and track down problems. Once you know what you're doing, it's more tedious than difficult to get it working on other browsers.

If you already know how to make web pages, or really want to learn, JS is probably a good choice. If not, it probably isn't. It's probably best to can figure out what sort of project you'd like to build, and then learn a language well-suited to building it.

It's possible to use Javascript for other purposes, but it's not yet easy. In a couple years, that might change - Steve Yegge seems to think it's the "next big language".
Up-voted for hilarity.
JS is better as a second language, because of DOM issues. It's better for a beginner not to have to worry about those. It is very convenient for beginners because it's built into the browsers, and many people learn it concurrently with something else. You could do a lot worse than JS.

For a first language, look at Python/Ruby and choose what you're most comfortable with.
Good to see that you invited some girls
Business e-mail overtakes the telephone
I love that book, but I have to agree with you: it's intended to teach Lisp, not programming. If you don't already know how to program, you probably won't learn programming or Lisp from PCL. Instead, you're likely to get turned off to both.

The Structure and Interpretation of Computer Programs is a great book for learning the fundamentals of programming. It happens to use Scheme, a dialect of Lisp. If you want an academic introduction to programming, it's one of the best. I haven't found anything as good that takes a more pragmatic "let's build something useful/fun and learn to program in the process" approach, but I bet someone else here has.
Am I the only one who would suggest a more rigid language like C or Turbo Pascal? (am I showing my age here?)
I think learning Java is a great way to get turned off to programming. There's just too much busy-work you have to do before you can actually do anything interesting. Pick a language where Hello World is one line.
If you do want to take a shot at becoming a "full-fledged hacker", here's a great way to start: http://mitpress.mit.edu/sicp/full-text/book/book.html

SICP uses Scheme (a Lisp dialect) and falls under the "deeply understand but not practical at the start" category.
I guess put a note to new users, if you sign up make sure you put contact info in your YC profile. right?

Interestingly I looked up all 5 people in my area (Maryland, US) and none of them had anything in their profiles filled out. For shame! ;-)
I'm sure part of the rationale is - given how cheap bandwidth/hardware/software is getting, if you're charging for your service on the web, chances are someone will come along and give it away for free. I guess when that happens investors aren't really willing to bet that the pay service will continue to grow once there's a free alternative.

Which isn't to say that's always true...
He describes the general protocol in great detail, but AFAICT the meat of the thing (reputation and identity) is nonexistent.
Britetix raising money, hehe (Fuzzwich rocks!!)
Boston seems like the Second City of startups. Great place to get started but not the big time.

When the SFP started, I had no idea that Boston had much current startup activity. I mean, I knew a couple places that started there but not as many as, say, Seattle. But I think now it's a great place for the first stage of a startup's life. Lots of hackers and lots of financiers that can get you going. But the M&A, influential investors and press is just so extremely concentrated in the Bay Area.

Don't get me wrong, I'm an LA guy and am fond of Cambridge, so I'm not a homer here. But that's the reality, especially for companies as determined to make it as the YC companies presumably are.
The way around that probpem is to implement whatever he's suggesting (I haven't read it yet.. tired..) per community, where you do have a reputation and identity.
Learn whichever language is closest to your application. If you want to make a blog, go take a look at some blogging software already out there and learn the language it's written in. (Wordpress -> PHP w/ HTML & CSS just because they're always helpful)

Then, once you've got your feet wet, learn another one. I feel like I never understood one language until I could compare it to another.

Python and Ruby are great for hammering out functionality and learning. Common Lisp/Scheme are great for widening your perception of how problems can be solved. I don't want to say much about C because I'm not proficient with it, but it definitely gives you a closer feeling to how your computer runs your code even if it obfuscates the problem a little. Learn Haskell/OCaml when you're feeling lucky. They will break your brain and then rebuild it in crazy, inventive new ways.
Facebook debunked
Hack your iPhone: The iPhone Hacking Kit, Step by Step
Python is certainly a good one (ruby as well) - "Learning Python" by Lutz & Ascher I think is suitable for someone like you (and it is not a bad reference as you get more experienced). Ruby can be a bit stranger to newcomers (in my opinion), people like to be "clever" in ruby, and then there is the hype (this is my personal opinion - although I find ruby much easier to use myself, and its OO approach suits me a bit more then python).

As for mind expanding, I like Scheme - as taught by MIT in the SICP series (you can watch the videos on google video). It would be interesting to see that taught to someone new to programming (sorry to make an experiment of you !). Someone tried to teach this stuff (kind of) to me once in miranda (didn't work to well as a first programming language).

As for practical messy stuff, then look into Java (for basic static strong typing and endless tools) and Perl if you must, the basics of C to wrap your head around pointers may help - I learned that around the same time as motorola assembler (much nicer then intel) and it helped form a mental model of 'on the metal' computation which I found helpful.

Another angle: Haskell seems to be popular for functional programming (as it is pure) - many people think functional's time has come, and there are some useful videos introducing it here: http://sequence.complete.org/hwn/20070807

Stick to things where you can get all the tools you need for free on the platform you use (and they are easy to get running).
Python is certainly a good one (ruby as well) - "Learning Python" by Lutz & Ascher I think is suitable for someone like you (and it is not a bad reference as you get more experienced). Ruby can be a bit stranger, people like to be "clever" in ruby, and then there is the hype.

As for mind expanding, I like scheme - as taught by MIT in the SICP series (you can watch the videos on google video). It would be interesting to see that taught to someone new to programming (sorry to make an experiment of you !).

As for practical messy stuff, then look into Java (for basic static strong typing and endless tools), Perl if you must.

Another angle: Haskell seems to be popular for functional programming (as it is pure) - many people think functional's time has come, and there are some useful videos introducing it here: http://sequence.complete.org/hwn/20070807

Stick to things where you can get all the tools you need for free on the platform you use (and they are easy to get running).
Font rendering philosophies of Windows and Mac OS X
Farewell Letter
Most people would do just about anything to avoid the kind of stress and responsibility that comes with starting a business. This is in part due to upbringing, and your system would presumably attempt to remedy that, but to what extent will it succeed?

Being surrounded by smart, driven people is good for you, but there are minor side effects. For example, you start to think of the average person as far more similar to you and your friends than he really is.
Python is a great language to start, and even stay with. I've taught a few people to program in python. Very simple syntax, well supported, you'll love it and it will make a lot of sense. Start with python.org to download and learn.
Yeah, let's make internet more like high school!

Actually, this might be a good thing. It will separate the "hate" crowd from the rest, and the rest will be better for it.
Alright, as much as I love Haskell, do not attempt to learn it as a first language. Repeat: do not attempt to learn it as a first language. That's like learning to swim by taking a submarine into the Marianas Trench and then opening the airlock.
...and also check out the new documentation for the coming versions of Python 2.6/ Py3k. Soon coming to a screen near you directly from Bavaria - Lederhosen and beer not included ;)

http://docs.python.org/dev/
>Which isn't to say that's always true...

Exactly... just take eBay as an example. No amount of no-fee auctions has been able to dethrone them. If you think about it, you will notice that as soon as you're mediating the exchange and money changes hands, people don't mind giving you cut at all. They don't even consider the fee when listing/purchasing (well, eBay charges listers so purchasers don't mind). As long as you can attract enough purchasers (i.e. eyeballs), sellers will come. That's why eBay is not squeamish about jacking up the fees...
Rank = ( ( current_time - post_time ) / number_of_votes ) ... considering number_of_votes is not equal to zero, Or better:

Rank = ( number_of_votes / ( current_time - post_time ) )
Marketing Reality for Startups A
Looks like a nice app there. What I want is api access to facebook messages so that I can write a twitterific style desktop app.
The 100 oldest domains on the internet
Why would he want to do that as a newbie?
Bombshell Announcement for Flash Player 9 -- Support For Standard Video Formats
Tricky answer. Javascript is beautiful, but not the DOM, and as have been said he would need to learn at least some HTML.

On the other side, using only Javascript with a stand-alone interpreter would be a nice.

I would go for Logo.

[edit: a couple of spelling mistake]
This is huge news for video on the web. Flash is going be able to play all sorts of common video/audio formats without any conversion to FLV. It's going to make a lot of things easier and some new things possible.

One huge gain will be high resolution streaming. Until now you had to pay thousands of dollars to buy the proprietary VP6 encoder. Soon you'll be able to use H264 directly. This is going to be a really big deal.

This is also a strong indicator that the iPhone is about to have Flash.
A school is good or bad because of the population of students, rather than the teachers. And so, if you choose a school, and if you choose the "best", it happens to be the one with the best students. When everyone does this, it quickly leads to a regression to the mean.

Depending on the geography, this isn't a problem. But in an area in which there are wildly different populations of students near one another (as in many cities, where the poor and rich neighborhoods exist close by) it won't work. Parents in rich neighborhoods won't stand and watch the average IQ of their public school drop 15 points as idiots are bused in.
Why are we killing mmpcse's submissions?
He submits all of his own blog posts. Most of them aren't very good, but they're still on topic, so why is this grounds for deletion? If the consensus is that his writing is really that content-free, then doesn't it make more sense for the oracles just to train his submissions as bad rather than killing them?
The question is moot. The concrete language isn't important. What's important are the thought processes and techniques behind program construction. Unfortunately only a few beginner
books put the language in the background.

My recommendation: Get the book "How to Design Programs". You can check it out at www.htdp.org first.
Official Google Blog: An update on Google Video feedback
If I ever have children I'm planning on introducing "programming" through digital logic simulators, viz, "How to add numbers using transistors". This sort of thing has been done before:

http://www.multicians.org/thvv/boyd.html

...but I think it's more suitable when kids are younger. If you're old enough, you probably want to get web pages up and running faster than you could with bare wires.
We're probably not the target market, though, either.
Re: people around here recommending The Structure and Interpretation of Computer Programs (SICP), I'd warn a newbie that it may be a demanding way to start, and I've had trouble encouraging former coworkers (some with way more experience than me) into reading it. But don't get scared a priori; skim the preface and the 1.1 section to see if it's for you.

Even if it's for you, you may want to check out The Little Schemer first. It's an easy, wonderful and enjoyable way to get introduced into programming. Don't spoil it by looking elsewhere first. :)

[Edit: How to Design Programs (HtDP) is probably a good one to try after The Little Schemer. That one too is best if you read it as a beginner, because it tends to hold your hand a lot, and you'll have less patience for that when you consider yourself more expert.

These three books are a strong reason to consider Scheme.]

Given your current motivation, I think you'd be better off figuring out what kind of languages the programmers you'll be interacting with use, so you don't learn something that is too different.

If you don't know those programmers yet, do you know anyone that could mentor you, or at least anyone who you could bug with questions often enough? If so, ask them about what language they'd be most comfortable helping you with. Having someone to rescue you when you get stuck will probably help you more than any qualities of the languages themselves.

Failing all of the above, and if you can't get over the notation of Scheme, you can't go very wrong with Python. It's a piece of cake to get started with, it has a great joy to WTF ratio, it looks less alien than the Lisps for most programmers, and it's a very practical and powerful language for the future.
As always, The Onion is funny because it's true.
Finishing half of the "login module" is worth about nothing.

Finishing half of "google" is worth about eighty billion dollars.
Doesn't replicating the desktop metaphor only confuse things a bit?
"Avoid: Perl, PHP, BASIC variants. These cause brain damage."

Many perl mongers, myself among them, would disagree. But maybe the brain damage has set in and I can't judge properly. But, really, you're showing serious ignorance placing Perl in the same sentence as PHP and BASIC. Perl is on the power continuum somewhere just shy of Lisp, and along-side Ruby (possibly even above it; Perl 6 will place it squarely above any other mainstream language on that continuum). Not liking the syntax is no excuse for misleading newbies into thinking Perl is in the same class as PHP.

Anyway, many a developer learned programming with Perl. Some even turned out good.
I think as there are no examples of a unique type of application on these platforms, it's hard to see what the point of them is.

More over developing apps is still left to programmers (and a select group of them who are always interested in learning any new platform/language), it doesn't make it easier for Joe Average to do any sort of involved tasks.

Specifically with YouOS (the only one I tried), why do I need to understand applications and installation?

People want to ability to control their computers, not just use them. As Hamming said the purpose of computing is insight. If all you can do is install a new calculator, I don't think I can be bothered. I've got one which works just fine.

Just moving the desktop to the browser isn't enough of a differentiator.

Maybe this model might work for mobile phones, which is unlikely to have the full range of apps that a desktop has.
I found the opposite to be true. Objects in Python are uncomfortable for newbies, while they are very intuitive in Ruby. Both are fine learning languages, however.
Santa Clara is relatively cheap, safe and pretty central. Take a look at

http://sfbay.craigslist.org/sby/roo/401753275.html

for example (800/mo for a 2bd/1ba). But there's no 'atmosphere' compared to Palo Alto, or Berkeley.
Don't listen to him!

C is a valuable language for a large class of problems. But don't learn it unless you want to be a real serious systems-level software engineer. If you just want to write software for the web (even large-scale apps), don't waste months on the intricacies of pointer arithmetic and memory management.

That said, I learned C, and it didn't hurt me any. But I doubt it really helped much either.
yC funding does seem to come with magical PR pixie dust.

There were a lot of startup parties the past two weekends. One I went to had an amazing DJ, amazing workspace, crazy antics, free booze, and hot babes. None of them were covered by any blog press. In contrast, valleywag writes about the one that looks like the math club had a mixer with the physics department in the grad school dorms, complete with fluorescent lighting...
Excellent advice. Non-religious, informative, and true.
"For what it's worth, Ruby programmers are more in demand than python programmers."

Only in one small segment of the industry (the one that hangs out here). Python jobs in almost every other area are more common. And, of course, Perl is still more popular than both. And PHP and Java and C# dwarf all of the interesting languages.