skysight-inc/HackerNews huggingface dataset:
I like the RSpec/autotest combo, but I'm not exactly the guy with the wealth of experience. I've been working in Drupal recently, and the elegance of something like RSpec seems like a distant memory now.

My advice is to watch a few Peepcode screencasts (I gotta start collecting affiliate fees from that guy, I drop his name so much) and just pick a method and start. Don't get too obsessed with exactly which flavor of the testing religion you are adopting; play around with it a while. RSpec is as good a place to start as any, although you should obviously know enough about Test::Unit to read and recognize other people's vanilla unit tests.

I'd be sure to try autotest with whatever else you use, though, because it's fun to get the dynamic feedback.

You can learn way, way too much about Rails testing by reading Jay Fields' blog. There was also some useful stuff on the Thoughtbot blog, back when I was actually paying attention.
Overall a good list. People on news.yc probably don't need #5 -- we probably rehearse too little. The rest are spot on, but you need practice to get good at them. Once again I'll plug Toastmasters.
Having used both for various projects, IMO, no.
Am I the only one who thinks this diagram is too silly to be funny?
Not to break out the Clinton-esse, but I think that depends on your definition of "done".

But I agree, there is always room for improvement. Most dev cycles are based on milestones that have a quantified completion point, and that's when things are "done". Otherwise we'd never get anything "done". We change the language. ;)

It's just that every basket of tasks that compose a Milestone (bug fixes, UI enhancements, etc) has a statistical break down of things that tend to be really easy --> really hard. Being that a certain % of tasks on average will be really hard (say ~10%), you end up spending ~90% of your time on those ~10% of tasks. So even when you quantify things down to a completion point, you still see this (perceptionally) diminishing return on labor invested phenomenon.
The first thing that comes to mind is ripples in the fabric of space-time causing unexpected increases in velocity. The ripples would be something like gravity causing space to fold on itself in very tiny amounts causing a small "jump" in velocity for an object passing through such a folded ripple. Velocity would increase without an increase in acceleration.

Yes I know, I watch too much Star Trek sometimes...
> That would give a maximum arbitrary resolution of 8192 pixels in two colours. Not so good.

Not if you could change the character-images between horizontal "scanlines". (Technically, 1 character-line isn't a scanline as far as the display is concerned, but it's a pretty close analogy).
> It wasn't clear if the poster was recommending a "bluff" which is not a good idea at all.

It can be, if you don't need the job. ;-)
Then there are the Java web consultants I have to work with. The ones that say they know Java web programming, but don't know the following:

1. HTTP

2. How to add query parameters to a URL

3. How to write an Ant script (they rely on Eclipse's compilation)

4. How to configure and deploy a .war file by hand (they export a .war file using Eclipse and run it in an embedded tomcat instance)

5. Why using System.out.println() in a servlet won't show anything in the server logs.

...

The list goes on and on. The worst thing about Java is that it is deliberately dumbed-down so that enterprises can easily make their programmers replaceable. Except of course, it never really works out that way.

The effect it actually has is that it makes people who shouldn't be programmers think they can be programmers, and they look for a company where they can make a decent salary while not being required to actually do anything or improve their skill set.
location? what will you be doing?
Forgive my ignorance, but what's this all about?

I'm a "functional programming kid", but I'm not familiar with Ruby's development process nor its important people.
Songsterr online guitar
Your Facebook app is a disaster, and I was right.
Just tried Snipshot to compare. Looks like Snipshot, like most online photo-editing apps, renders changes at the server. So there's a lag between when you change something (e.g. the exposure) and when you can see the result.

Picnik appears to be doing it in client-side Actionscript. The real-time rendering (image changes as you drag the slider) makes it much more usable for photo-editing. I can actually use an online photo-editing app now!
I'll always remember my first encounter with employee stock options at a startup company. (Not to be confused with startup founder equity, which consists of actual shares of the company, and enough of them that you're actually playing the game instead of watching from the bleachers. And also not to be confused with employee options at a big Fortune 1000 company, which have a fairly predictable value -- if you're smart enough to exercise them ASAP and sell the stock, instead of pulling an Enron and leaving all your eggs in one basket.)

ME: "I see I'm being offered 10,000 options. What does that number "10,000" mean? What units is it in? What is 1 option worth?"

STARTUP GUY: "It depends on how many shares are outstanding, and what the share price is."

ME: "Well, how many shares are outstanding?"

GUY: "Right now there are, um, something like X shares. I don't really remember. But it doesn't really matter to you at this point, because we can always issue more."

ME: "Um, okay. And if you go public, my options can be converted to shares, which will be worth whatever people pay for them... but we have no idea what that will be, because it's in the indeterminate future, and right now this company consists entirely of debts and handwaving."

GUY: "Right."

ME: "What if you sell the company before we go public? Then our company's stock never formally trades on a market, so I have options to buy something that is never going to exist. How do the options get evaluated then?"

GUY: "Well, the board has to decide how to compensate the existing option holders."

ME: "Hmm. And they can decide to pretend that my options are worth... whatever? Down to and including zero?"

GUY: "Um, yeah. Technically. They'd probably try to make you guys happy."

At which point I decided to never, ever think about employee stock options again. Just pretend they are like those Certificates of Achievement that managers give you when you've worked a lot of overtime -- don't throw them away, but stick them in a file somewhere and forget about them. And, as it happens, that worked out just fine.
Curried JavaScript functions
Awaiting the Day When Everyone Writes Software
Apple to serve as regulator for iPhone app distribution
Not to be an asshole to all the nice physics guys, but the problem of cognition and reasoning is a hell of a lot more interesting.
Yes, but does it support Unicode?
Ah, so the dynamic here is "Aargh! Progress is marching, and so am I, but we are out of step!"

Being a software author seems to be a particularly exquisite form of torture.
Man, Lua is getting more and more mention these days. I need to find a new language! I'm losing my indy cred!

;P
Why Startups Suck
Anyone else in that situation?
Patent reform coalition aims to abolish software patents
What github offers is community and project maintenance around git. This is not something git gives you on its own, nor is it trivial to simulate with free tools. I've recently put a project up and had people who follow me ask about the project and offer code, just because I put it up. They're building a focused, targeted community with opt-in listens (like twitter's very successful model) for code. It's a fantastic idea.

Running github is not free, and writing it has been an uncompensated investment for its maintainers. I am sure they hope to make at least enough money to pay for the bandwidth and hardware. It's doubtful people will begrudge them that.
Unfortunately for 400-500 dollars you can't buy anything with Mac Os in it.

Is this true? It might be. And yet I'm going to offer this old quote from the Car Talk guys:

"In the immortal words of former GM president Roger Smith, when asked by John White, who works for the Boston Globe, what kind of car can an American buy if he wants to buy an American car for under ten grand and if he wants to buy a General Motors car? And Roger Smith thought for a second and said, 'A two-year-old Buick.'"

So perhaps the used Mac market would be helpful. I'd be a little bit worried about reliability -- the warranty repair rate on Macs seems a bit higher as Apple and the rest of the PC world continue to push product costs into the nether regions -- but, hey, what do you want for $400?

Of course, used Macs hold their prices pretty well, so your statement may be accurate.
So You Hacked Our Site!?
I prefer to believe that the arrogance and the hackerness are orthogonal traits.
Lisp in a single expression
Flawed premise. Software and UIs designed by "regular users" (unless they're professional designers, for the UI part) tends to suck far harder than almost anything cooked up by programmers.
See Java code the way javac sees it
Got to see a demo of this system in person, and it was truly spectacular. I learned more in 10 minutes watching this thing than I did reading multiple books.
(I took 'Compilers' from this guy, HIGHLY recommended to anyone who happens to be at portland state.)
Historical Maps in Second Life
U.S. Retooling High-Tech Barrier After 28-Mile Pilot Project Fails
If this is the book that's being referred to: http://www.amazon.com/Ruby-Programming-Language-David-Flanag.... then Flanagan's co-author was... Matz.
Why? In New York, and most livable cities it's often the best way to get around... faster, no parking hassles, no traffic, etc etc.
More than half of links on the site point to PDF files (who do they think we are? printers?) so I didn't even care to form an opinion.

vim rulez! :-)
The OP didn't appear to be "sneering at new users", but complaining about a post that contains nothing but drivel.

That said, the story is scoring well. I blame premature upvoting and the lack of vote take-backs.
Amongst others. However, solve this problem and you may have made the first major breakthrough in physics for the 21st Century.
VC Fundraising Manual: How A VC Is Funded
VCs typically get their money that they invest entrepreneurs in four ways.

Diverse LPs: The most common funding source comes from a diverse group of limited partners (e.g., university endowments, high net worth individuals, insurance companies and pension funds).
Concentrated LPs: The second most common source of capital is from one limited partner, typically an extraordinarily wealthy family or corporation.
Government: Some VCs are part of a state or local government investing money with the objective of generating returns and enhancing the local economy.
Public Captial: VCs also raise capital by becoming publicly traded companies. Shares are purchased on the open market, giving the VC fund capital to invest.

More at www.markpeterdavis.com
The study was done in 05, so not sure how accurate this would be since:
1. networks are not static, a lot of peering relationships keep changing
2. network topology varies from geographic topology
3. video traffic (youtube, etc) since 2005 could have changed the results from this study
Good point - software is hard because you have to take into account the logical ramifications of each decision you make. Programmers are good at this - business users are not.
Given enough time, physicists will invade the cogsci field too and take over research into the cognition problem.
Honestly, I think that comes down to the developer's preference of python over ruby, or vice versa.

In my case, I prefer django.
Stanford's job fair for budding entrepreneurs
Waves: A New Rails-like Web Applications Framework
The Law of Accelerating Returns
http://www.ruby-forum.com/topic/142699#633354

Yeah, it does seem pretty trivial. Granted, I would probably find it extremely useful (if I used ruby), but it doesn't seem to complicate the language to the point of needing to be delayed until a major release.
I went through the same as you (except replace PHP with C#), so here's what I did. It echoes a lot of the thoughts mentioned already:

To learn "lispiness", functional programming, and get a feel for the computational approach to programming, read The Little Schemer and The Seasoned Schemer. Also watch the SICP lectures (http://www.swiss.ai.mit.edu/classes/6.001/abelson-sussman-le...) and if you're ambitions, read the book (http://mitpress.mit.edu/sicp/). Doing these things will help keep you from writing PHP in Lisp.

To put it into practical perspective and learn the nuts and bolts of modern common Lisp, read Practical Common Lisp (http://www.gigagmonkeys.com/book).

If you read PCL, you will run into Emacs and SLIME (the generally preferred [NO FLAMES, PLEASE. I KNOW VI IS AWESOME TOO] open source way to edit Lisp files). I wrote some resources to help with that:

http://www.pchristensen.com/blog/articles/public-beta-open-f...

http://www.pchristensen.com/blog/articles/reference-for-the-...

I'm surprised no one has mentioned PAIP (Peter Norvig's Paradigms of Artificial Intelligence Programming). It's half AI book, half tutorial on Lisp programming and Lisp style. It's a good read with lots of example programs written in good Lisp Style.

There are three hurdles people usually run into when learning Lisp:

a) the language looks different - this goes away with practice and familiarity. It starts looking normal fast. The parentheses are a bit tough to manage unless you use a capable editor, which leads to:

b) Emacs is different - really powerful, fun to use, but it takes investment in learning. It's really tempting to quit when starting, but worth getting over the hump. Once you do that:

c) the way of thinking is different in Lisp - Lisp seems a little awkward to use until you get (don't need to master them, just get the idea) the following ideas: 1) code can be manipulated as data because the syntax is so simple, 2) creating your own syntax (using macros - code that writes code) means that you can express your program in a way that closely matches the problem you're trying to solve. Some good articles to help get these points are:

http://www.defmacro.org/ramblings/lisp.html

http://www.defmacro.org/ramblings/fp.html

Don't worry if you don't get these "big picture" things at first, they click at some point and everything makes a lot more sense. You can speed that up by putting a lot more Lisp in your head in the meantime.

Good luck!
Even then, it would really depend on what you needed to build.
Text processing fun
Sell the hype, deliver the painful reality that there is no magic way to make real applications
Thanks guys. The situation is I've got a couple of very similar offers from companies in the < 50 employee range. One is probably 30 people and the other is nearing the 50 line. Both companies are in the bay area and about a year old. Both positions are for software engineering.

As for haggling, the thing is -- they're both good offers. I can't reasonably expect more out of school and they're pretty much identical so I'd be bluffing if I said "well I have a better offer.." I just want to know whether I'm expected to try no matter what.
Apologies, but this is the same as saying computer engineering will invade and take over web development. The two are related in that the underpinnings of web development rely on the principles of computer engineering, but the usefulness of one application does not equate to encompassing the possibilities of the other.

While it is true that the mechanisms governing the interactions of neurons and the chemicals related to this interaction ultimately boil down to what we call "physics", it is useful to be able to think at higher levels of abstraction.

Such intellectual groupings/classifications/segments are important to advancing knowledge. I am open to considering that currently the "mental toolation" of thinking at abstracted levels is reflective of the current level of human intellectual capacity. Furthermore perhaps a blending of everything into one grand unified SCIENCE is maybe one day possible - but this does not equate to desirable; this is something for future generations to determine. I believe/maintain there is a great deal of richness to be gained by having such abstracted levels at which we can think/operate.
Mistitled. Should have been titled:

"Awaiting the Day When Only Software Writes Software"

Still waiting. but getting closer. "Intentional Programming" sounds like just another way of saying, "Your source code is my object code."
From geeks to greens
Intentional programming is about WYSIWYG Lisp macros. This means representing abstractions using the familiar notation of their domain, integrated in a way very similar to what Lisp macros do for s-expressions.

Simonyi approaches it from a different perspective, however: he seems to think about it as an evolution of OOP and software components.
The richness of intellectual pursuit is specific to our own individual experiences.

Somebody else might say that the problem of human rights is more interesting/important.
The great digital certificate ripoff?
Imagine a startup that didn't launch for like, 15 years.

That's Simonyi's company.
Furthermore, there's no getting around the fact that computers are precise machines with no real ability to divine what you mean.

Even in declarative programming where nearly all the accidental complexity is removed, there's still the actual logic to implement, which in large quantities still requires tons of work by diligent, skilled programmers.
To anyone struggling who thinks that $15 = 3 meals, I have one word:

ramen
When the hardware failure is more frequent than failures in your software, we can consider that "good enough" (for consumer-level applications.)
Matz is the creator and keeper of the Ruby language. Him and David Flanagan just cowrote what was supposed to be O'Reilly's definitive Ruby book to coincide with Ruby 1.9's recent release. Now, after the book's hit the shelves, Flanagan hears that Matz threw this nifty little currying method into the language and forgot to mention it.
Charles Simonyi and Intentional programming: Anything You Can Do, I Can Do Meta
The best advice I received was to not focus on money early on as a way of determining what job you take.

Focus on what you will be doing, who you will be working from and so forth. Programming is a skill where a experienced coworker can help you progress rapidly.
In my experience, business users rarely know what they want. This could be a good tool but the definition of the problem will always be the key.
Ask YC: How to start becoming an entrepreneur while still being an employee
This short piece from the NYTimes (below) piqued my interest. It offers some advice on how to act like an entrepreneur as an employee.

If you are not a burn-your-boat-on-the-shore type of person, how do you go about making the transition to full-time entrepreneur. Is it abrupt or gradual. I'm guessing gradual. As I make the transition, I'm working on building some web applications that I would find of use (language learning, memorization)

How many of you look at creating your own startup as a hobby, rather than a business, or as both?

What steps (most notably - to expand your comfort zone) do you recommend.? I've heard some crazy advice like lie down in a Starbucks for 10 seconds to desensitize yourself to what you think other people think. I'm thinking seriously of taking a break from my career to learn Spanish in a Latin American country.

[http://tinyurl.com/2k2jdf]
"First, act more like an entrepreneur at your current job. Be a maverick. Put in longer hours, give yourself a crash course on your company’s operations and strategic goals and, most important, locate a problem outside your realm of expertise and solve it. “Your boss will notice,” Mr. Corbell said. If you lack sales experience, ask for a transfer to the marketing department."
I will strongly recommended you to take a look at jnext (http://www.jnext.org)
free, open source and cross platform - and most of all it is powered by the community and none of the giants
I've seen multiple people become disgruntled trying this method. People very quickly forget the verbal deals made at hiring and by the time your early review roles around you might be working for someone else that wasn't involved in hiring you.

I think you're much better off just pushing for the salary you want in the beginning. You're in a more equal negotiating position at that point and it's when companies are used to haggling over salary. It'll be far easier for the hiring manager to argue "We need to bump our offer up $10k to get this guy." than "It'd be nice if we gave Peter a $10k raise right now."

This is due to the same forces that make it easier to quit and get a 50% salary increase at a new company than to get a 15% increase at your existing job.
I think it would be interesting if we could come up with an addictive way/game to teach programming to teenagers without them realizing it.

I believe making the jump from research project to something people can actually use is the problem. James Gosling's Jackpot project had a lot of promise? It sounded fascinating five years ago that the father of Java was turning his focus and attention to making programming better.

http://research.sun.com/features/jackpot/
http://www.artima.com/intv/jackpot.html

"Bill Venners: What's the state of Jackpot, your current research project?

James Gosling: Jackpot has been really cool lately. It's what I'm spending most of my time on, and it's been a lot of fun. I was really hoping to have something I could hand out at JavaOne this year, but I've been finding too many entertaining things to do.

It's a very different world when a program is an algebraic structure rather than a bag of characters, when you can actually do algebra on programs rather than just swizzling characters around. A lot of things become possible. "
I love your music blog. The tracks are smartly chosen but it’s not MY music, so it has the new and exciting factor.

Are you guys looking for seed money, by any chance? I’d love to hear your business plan, although I understand your reluctance at spreading it around too much.
MS Access has a lot to answer for. How can you tell your boss that no he really has not done "most of the work" already?
Open-source developers command up to 40 percent premium
try apt-get install gimp :)
Thanks.

Sounds like much ado about nothing to me. Mention it in the errata and the next edition, and move on to more important things.
Send us an email and we can talk. contact at thefeelgood dot com.
Grand Central is giving away free phone numbers again to everyone!
"So funding is planned through winning the the Merrill Lynch competition and if we don’t win it (which I feel we have decent chances) I will be totally lost."

Was this part a joke? I find it hard to believe that a back-of-a-napkin biz plan would have "win a contest" as the only bullet point under "financing".