skysight-inc/HackerNews huggingface dataset:
I second the vesting strategy. Make sure that whatever you set up aligns incentives with performance and the company's interests. Since this person is still working at another full time job, determine what level of commitment you expect that person to make to your venture (i.e. 10 or 20 hrs/week until a specific date or a funding stage); determine when will he have to commit full time to the business.

Consider how much each of you has contributed in initial capital and sweat equity to this point, where in your company's development you guys are at (concept only, prototype, beta version, etc) and how what he'll contribute is worth to you guys.

Since there isn't a clear market to easily price your venture, it'll probably come down to an agreement that feels right to you and you can live with.

Definitely talk to your lawyer.
If you are looking for a language that will expand your programming horizon try Scala (closer to C/C++), Lisp or Scheme (both very different from C/C++).
Learn language which can be easily extended by c/c++, say python, php or ruby, so you can continue to improve your skills in c/c++ and learn new language at the same time.
Misleading title. Not a breakthrough, no new technology, just a different way of explaining it.
Exceptions are a super GOTO. Rather than allowing you to jump anywhere in the position of the procedure, they allow you to teleport up the call stack to any number of handlers.

Wrong. Exceptions, unlike GOTOs, can't jump straight into a loop or any construct that has a local state. In fact, exceptions never break local states, and that's their beauty.

The best proof that exceptions don't break anything is that you can always represent a throw/catch cycle with IF's, RETURN's, possibly also subroutines, but there will be no GOTOs. You will have equivalent functionality, except the code will be a bit bloated and less readable.
For a start, unless you're Google, attracting talent is hard.

Why do people keep parroting this?

It's much harder to use a return code badly

Return codes are almost always ignored. In straight C, errors are a real pain. They just are. In working code, the evils of exceptions don't come up, because you don't get exceptions for the most part. As a practical matter, they're just debugging tools, and not control handlers.
> Can you point to any open source project that is actually collectively owned?

Collective ownership - maybe more like republican ownership - see the code_swarm videos - only a cluster of people commit.

Successful open source projects are led by very strong leaders: (Linux) Torvalds, (Ruby on Rails) DHH, (Gnome/Mono) De Icaza. Eclipse is questionable - it's more like run by a board of directors, with a large (mostly IBM) programmer workforce.

> But you don't need compulsory socialization to do that!

Agreed. We got past the teamwork learning curve and we pair when we have to get things done fast/fix a problem. We usually don't pair otherwise, unless you count long-running IM conversation threads as pairing.

> XP provokes a lot of one-sided emotional reactions from people, some in favor, most against.

As for emotional reaction, I still get a heebie-jeebie hokey feeling when someone says "I'll drive" [but only in reference to pair programming].

As an aside, pair programming does not work in a dom-sub relationship (especially when the sub is passive and doesn't want to code) - the dom will take over the coding.
You can change your password in your profile, but it's impossible to reset forgotten one.
I can't wait for UDP over HTTP in Cometd 0.6 ;)
What this leaves out is the elder years. I believe there is evidence that looking back on an achievements like raising a family lead to happier grey years. Additionally, having someone to care for you when your spouse is gone, and having family to be a part of seems pretty likely to increase happiness. I'd be willing to bet that having grandkids makes people happier. (all play, no work!)

None of this was covered in the study.
Cambrian House, Home of Crowdsourcing
Ruby is a nice language, its known for not being the fastest language, but its still very nice...its currently my favourite web language.

Or maybe even PHP? The problem with PHP normally is people jump in without any previous programming experience and say they have mastered it in 6 months - when in fact they know barely anything. You obviously have a good programming background and would use it properly.
Wow. Timr nailed it. It/They, You, I are very powerful context words. Next time you get in a real-life, face to face argument with someone and you want to escalate to shouting - start using you do this, you do that. I've overheard parents doing this with their kids many times. "Why don't you clean up your room?"

For bonus points, if you want to appear to be an elitist/snob to people you've just met say stuff like "This restaurant is the best" or "You should try this restaurant". I think this is called the God perspective (You passing judgement). (Always better to just make a statement of your opinion - "I like this place. Their food is different")
Learn LISP - read SICP.
I have lived this kind of crap before. New job. The boss has some fringe idea that makes life more difficult for everybody. But until now I haven't seen this. Exceptions suck. Yeah, sure.
Each description is prefixed with "Membership: free". I was surprised that the author felt the need to mention this.

Are there any social networks with membership fees?
http://www.techcrunch.com/2008/05/12/when-crowdsourcing-fail...
> Are there any social networks with membership fees?

Country clubs are very expensive.
Ask YC: What kind of work are you doing in the mobile internet sphere?
I just read in Wired magazine that mobile advertising revenue will grow to $12.8 billion in 2011. Here is the article : http://www.wired.com/images/press/pdf/googlephone.pdf
It clearly provides many new opportunities for mobile apps - especially with Google's Android. Are you guys working on anything? TIA
I would think more in terms of what you want to do rather than purely thinking about skills. Let your passion lead you. If you don't have a passion then you might be in the wrong program.

I knew exactly what I wanted to do before getting into the CS program at my school and I ended up dropping out to be a freelancer and work on my own projects. Not sure that was a good decision but I just couldn't keep focus on school while other things were calling.

That's just me though. If I were to teach myself "skills" then I would have bored myself silly. I just wanted to build things and the skills were picked up along the way.

If you want to build web applications then you should probably look at Ruby, Python or PHP. Ruby makes me happier than PHP. Python would probably be about the same but I flipped a coin and Ruby won. There are lots of other names being thrown around but as a freelancer the languages I mentioned were a better choice.
This pic reminds me of Malcolm in the Middle. Paul seems, like Malcolm, to be the nerd who could pass in other circles if he wanted to. Wonder how the reunion was?

http://us.st12.yimg.com/us.st.yimg.com/I/paulgraham_2002_296...
And @: repeats the last Ex command.

And wow, this list of commands is awful. Just use "vimtutor" instead.
I only write Java on very rare occasions (usually for clients that don't care if the code is throw-away quality), and so I usually end up with a "throws Exception" after every method. Horrible, but hey... it's not my fault Java sucks so hard.
Mac OS X approaches 8 percent market share
for me, python is still the most fun language - and it gets you into webdev via django nicely (used in http://code.google.com/appengine/)
Indeed. Rather, exceptions are a super "break", not a goto.

I do think there's some reasonable insight in this article. Lots of folks get very confused about the difference between an exception and an "error", or "return value", and produce code that mixes the concepts in strange and terrible ways.

Nonetheless, misuse of a tool isn't really an indictment of the tool. Certainly good exception handling can make some designs much, much cleaner than they would be with traditional handling.
I think his article should be called "unexpected errors suck". Sure, it would be nice if there were never any errors, but there are, and you have to handle them somehow. Compare:

try {
connect_to_database;
prepare_query("SELECT * FROM ...");
run_query;
return results;
}
catch database error {
warn "Whoa, your database is broken!";
}

To a language without exceptions:

dbh = connect_to_database;
if(!dbh){
errno = 0x23843;
return NULL;
}
statement = prepare_query;
if(!statement){
errno = 0x28783;
return NULL;
}

At this point, I'm tired of typing the code. Checking for errors after every function call is way too much work, especially if future instructions need to past ones to have been successful. Exceptions let me break right out of the related block, and do something to fix it. If I don't do something to fix it, someone up the call stack can fix it.

I don't think exceptions suck. Errors are what suck.
No offense, but yeah: that's pretty horrible. Checked exceptions are one of Java's few true innovations. Used properly, they force you to handle errors in the spots where they occur. What you're doing is a 1:1 equivalent of ignoring the error codes returned from your C functions. That's just never the right way to do thing.
Cat by itself is insufficient. You'd at least need to pair it with sed or head and tail. Or maybe you enjoy retyping entire files just to correct that misspelling on line 1.
I Cannot Wait to be a Hacker...
Use this instead of letting your registrar park your domains with useless adwords
Pick one that's generally associated with web stuff. That's pretty much Ruby, Python, Perl, Java, and PHP these days. Take a look at all of them on the surface level to see what's interesting to you, and just pick one and go.

Given that you already know C and C++, I'd learn Perl, Python, or Ruby, since they're a very natural extension of C and C++ and can be used very easily in problem domains where you wouldn't want to use C or C++. Learning more than one of these may prove useful if you want to hack on a variety of different open source codebases, so whichever one you pick first isn't so important as picking one and having it in your toolbox.
Rhapsody isn't producing cutting-edge consumer devices in combination with a seamless user-experience from start-to-finish.

AAPL also takes-two with the iPhone, and iTunes will be the de-facto store for software. Naturally, most people will prefer to consolidate their digital media purchasing -- a small portion may purchase from Rhapsody.

Last, Steve did push to remove DRM in his open-letter some ~1.5 years ago. http://www.apple.com/hotnews/thoughtsonmusic/
The problem is people using try / catch instead of if (x != null) {} else {}. So when something goes wrong you end up with zombie code that keeps going long after something important did not happen.
They need to 1) includes ads into small clips (3-5 min) and 2) vary the advertising on full television episodes. Seeing the same Toyota ad seven times isn't helpful to the consumer.
this is a toughie to answer. it really depends a lot upon your situation. first, its always good to become more proficient with the tools in your toolbox.

i'm assuming that, by posting here, you're looking at web development. here are some languages useful for web dev: python, php, ruby, perl

if you're looking to expand yourself as a student and coder, consider looking into these: lisp, ocaml, prolog

if you want to graduate with a decent corporate job, take a look at these: java, pl/sql, cobol
I think it's a great thing you did some c and c++ as I only skimmed over c in class and mostly done all my classes in Java (writting a compiler in java - gah!). Did you like it? I have done a little c++ on my own and there is so much to learn I was overwhelmed by all the libraries you need to know if you don't want to be writing c in classes (boost , std, etc).

As for web language I love ruby (and rails as a framework) so I'm kind of bias but try learning python or ruby or if you feel like suffering (I find it too old school (I'm not trolling)) some perl (which as a huge community - CPAN).

Also, try looking at a functionnal language if you haven't in class (I learned Standard ML). It really helps to graps some concept that are harder to undertsand with `clunkier` languages.

I kinda went off track but hopefully this helps.
Scheme, using SICP. It'll stretch your brain.
Expand your mind, learn Lisp.
He argues that developers are generally too stupid and lazy to use exceptions correctly (which may be true), but if they instead are forced to use manual error code checking (which achieves the same, but requires typing lots of tedious and fragile boilerplate code) - they would do it diligently and correctly.

I'm not sure I buy that.
What about the case of "finally" blocks executing after return?
It is unlikely that you know C++ to a professionally useful depth from one semester. It's also fair to say C++ expertise is more employable, and in more diverse and interesting domains, than the dynamic languages.

As best I can tell Perl, Python, and Ruby are all practically equivalent. All equally suited to web development. Just pick one. I don't think it's unreasonable to claim that Perl is still the most likely to be professionally useful.

I never got the lisp propaganda. I invested some time with scheme and didn't get much out of it. Yes, I wrote macros and used call/cc. The most useful idioms are in fact already available and used in the so-called scripting languages. IMHO, your time is better spent completing good projects with rock solid libraries than futzing around with the language fetishists. Maybe there are some deep insights from Haskell I'm missing, but I seriously doubt it.
Points added... Stories on the front page, coming right up.
The article clearly means ten seconds. It's not clear from the experiment whether all decisions are made ten seconds earlier, or just decisions similar to the ones in the experiment (which was a conscious, non-urgent, non-reflex-based decision).

But if it turns out to apply to all decisions, it means the "split-second" decisions you make while driving are a function of trained response and what your brain was doing many seconds before you saw the problem... which implies that the amount of conscious choice you have in the matter is much more limited than what your brain is telling you. It's a bit surprising and scary.
Learn the guts of an OS (preferably *nix). Build an OS yourself in an OS class if your school offers it. You'll be surprised how important this knowledge will be in building/scaling web services. And, this skill set will be more valuable than just learning the same paradigms you already know in a new language.
Ask Hacker News: What do you think of this shopping cart on my new startup that just launched?
Good morning all. I just launched a t-shirt sales site, not exactly a web app, I know. But we have a freaky business model, which required a correspondingly freaky e-commerce cart. My buddy essentially reverse engineered Ticketmaster's cart. Anyway, I love this community and respect it's opinion greatly. In fact, I learned most of my web/customer-experience design stuff by reading things I found here.

Anyway, I'd love to know what you think of the site's usability etc...
I opened with the cart, because I figured hacker types would be most interested in that, but all comments/criticisms are welcome.
The problem with the above code is without exceptions you know where the program failed 23843 or 28783 but with exceptions all you know is something is wrong.
Good morning all. I just launched a t-shirt sales site, not exactly a web app, I know. But we have a freaky business model, which required a correspondingly freaky e-commerce cart. My buddy essentially reverse engineered Ticketmaster's cart. Anyway, I love this community and respect it's opinion greatly. In fact, I learned most of my web/customer-experience design stuff by reading things I found here.

Anyway, I'd love to know what you think of the site's usability etc...
I opened with the cart, because I figured hacker types would be most interested in that, but all comments/criticisms are welcome.
I've been using the paid version since last week, and I'm really pleased with the service.
In my mind, the three major branches of programming are imperative (C/C++), functional (LISP) and declarative (SQL, PROLOG). A lot of people will tell you to look at LISP, and they're right, but also look at PROLOG. It too will expand your mind.
A nice thing about sport is that it's a safe outlet for some of the uglier aspects of human nature. Usually, anyway. Some people end up taking it way too far.
There are other return codes besides ints. E.g., replace a function that returns an int or throws an IOException with one that returns an Either<int, IOException>.
Exceptions suck. Prefer monads.
> SBCL port to Windows is a work in progress.

So what? Lots of software gets written without ever touching Windows. I've based my entire career on it. An environment can certainly be mature and commercial quality without being multi-platform.

> And comparing what you need to know and set up to start working with open source Lisp and other environments is... not fair.

I do wish that SBCL had a "everything you need to know in 10 minutes or less", but it comes with ASDF and ASDF-INSTALL pre-configured. I mean, the amount of stuff you need to know to start working with Java is pretty darn daunting as well, given that you need massive assistance frameworks, and there is no good central package repo. The reason more people go into Java is that they have colleges introducing them to it.

Yes, more could be done. But I think commercial, professional work is possible right now given the state of SBCL.
Perl is a good language to know. Hear me out before you mod me down into oblivion! I'm not much of a Perl developer. At work I use Java. For personal projects I like to play around with the "cool" stuff like Python, Lisp or Ruby. For me, Perl is great for all the stuff in between.

For my entire development career, no matter what language I'm using, I've found myself using Perl on almost a weekly basis for little adhoc scripts. Generating test data? Text processing? Quickly automating some tedious task? Perl to the rescue. I guess if you know Ruby or Python you could do the same thing with those, but Perl is almost everywhere and you have all of CPAN at your finger tips.

Even though I'm not developing my applications in Perl I consider it one of my most crucial tools that I can't live without. I think every developer should have one of these and with its ubiquity and CPAN, a strong case can be made for Perl.

It also doesn't hurt that there are plenty of jobs out there for good Perl developers. We've all seen terrible Perl code and heard the jokes, but the fact is there are some very large Perl projects (some very high profile) being worked on by some smart people. Sure, Perl has its warts, but it's incredibly useful and a little discipline will go a long way.

There's my case for a practical language... If you want to learn something that will fundamentally change the way you think about programming then learn Lisp. I read the PG essays, the Eric Raymond stuff, etc. and decided to take a look. Eventually, things just clicked and it gave me a whole new perspective on the languages I already knew.
Auto-Scaling Web Sites Using Amazon EC2 and Scalr
I'd look at it but the domain makes me think its NSFW.
The “Crisis” In Venture Capital
pick up emacs or vim while you're learning a new language!
Obviously, Real Programmers get it right the first time. ;)
Doesn't the Evil GOTO song and dance come from an ancient era

The languages may be ancient, but the era is not.

I'd be willing to bet more than half the production code running now has ancient GOTO capability and half of that is misusing it.

(Apologies to Churchill) Never was so much earned by so many maintenance programmers from the misuse of so few letters.
3 founders is dangerous. I know personally of at least 2 businesses that imploded in part due to the nature of the number 3.

Be careful!
Outsourced developers steal your start-up's idea and code - how to prevent this
There are a few stories that anecdote such occurrences, take Zuckerberg vs. uConnect for example.

We thought about breaking up the development functions into separate chunks and spreading them out between different developers to minimize the chance of this happening, but it seems this would be an arduous task, and in the end, all the functions would not be integrated well, and the developers will still have a pretty good idea of what's being developed.

For anyone who has resorted to outsourcing their software development, how did you ensure the developers don't run off with the code and launch a copy of your site after getting paid?
Hey dude - I love it. Great concept, good execution, very fun site. Didn't understand why there was a timer counting down on one of the items. Instead of trying to figure it out after 5 seconds, I went to a different page on the site.

Anyway, great job. Not sure about the first t-shirt. I didnt find it that funny. Maybe I'm just lame. But overall, great site. I'm hoping the next t-shirt will be so funny that I pee a little. I'll surely be coming back to check out future designs.
ITA Software is proof of that possibility. Dan Weinreb has written about that often, on comp.lang.lisp and his own blog.
Will Google exercise right to force AOL IPO? No.
Cool idea, weird name.
http://200nipples.com/showcart.php
Everything is there that needs to be when you select a shirt to order, but the presentation is really lacking. Try making some parts of the text a lot larger, throw in a picture of the shirt, and maybe make an icon for "releasing it into the wild."

Also, a lot of the screen is wasted with the top header. You want to make sure people see your content above the scroll; I'd suggest making things more compact. Good work though.
There's my awesome launch page :-): http://ruperp.comingsoooon.com/
I agree that the examples could be done with preprocessing a template, but I'd like to be able to simple arithmetic in the CSS file, just for the ability to mix relative and absolute units without kludging in extra divs. For example:

left: 20% - 20px;

I wish I'd written down some of the times I'd wanted to do something like that so I could point to a specific example. The obvious one of centering a fixed width image can be done with auto margins (though I've a feeling that didn't work in IE6).
One can also use a service like namedrive to park the domain longer term, but this is a neat solution for pre-launch.
My Web Beacon Finder
Is this person going to be full or part time? If full time work out a salary + equity, if part time try to work out lesser equity only deal which will change once he comes on board full time (i.e. there should be some incentive for this person to come on board full time, if not figure out why not?).

Create and allocate a pool from which to hand out equity to employees, it's usually around 20% for future employees. Key employees vesting should typically be aligned with the founders.

How long have you guys been working on it? Have you taken a salary? Are you working on it part time/full time?

Also, speak to a good startup lawyer (yup, spend that money it will be well worth it) to structure this.

Good luck!
As is typical of many articles on Tech Crunch this is one is also misleading. Adobe hasn't released source code for anything yet; however, they have opened file specifications. It's still unclear when or if they will release an open source player.
I find it rather interesting that companies are removing DRM from their music, yet Canada's government is trying to copy the DMCA because of US lobbying.

I seriously forget the point in voting as government officials already have their opinion bought by big companies.
How much revenue do they "need?" I know sites cost less and less to operate, and a small team of developers can do a lot.
Powering a Web Revolution