skysight-inc/HackerNews huggingface dataset:
A while ago some knitting site sold some $100k+ of knitting kits in a few days. Their merchant provider froze their account because they feared it was due to fraud, or whatever. (don't have the link offhand)
Sounds like you have a fun opportunity lined up. I would personally try to broaden your message some. Kids get told what they should do all the time.

I would tell them that one of life's true joys is to find something you love and to spend your life working on it. Then you could segue into a discussion of how hacking has been a personal source of meaning for you. Talk about the points you mention above, and then bring it full circle by telling them that any road they walk down can be equally fulfilling if they find something they truly care for: life's value derives from what we do, not what we have.

Hope your talk goes well, and keep in mind there is probably a reason you are being asked to give a talk and not me. ;)
I looked at your blog, and I have to say that I have never seen a page resize like that ever before.
Mention that most jobs involve:

1. Pushing paper around, and/or,

2. Kissing ass to [bosses|customers|random people on the phone]

Programmers, by contrast, actually get to create something, like craftsmen of the past. One of the very few jobs where that is true.

Nix the word "hacker". It either has a bad connotation or is an unrealistic ambition for 7th graders (to those who understand the "good" connotation, a hacker is a person of rare abilities.)
I think your statement implies that you don't know what function pointers are. :/
Well, thank you for keeping the comment neutral, I can go salvage my pride somewhere now. :)
Does it mean your good lines of code achieve less than the good lines of code of someone with comparable experience in a high level language? I bet that's the case.

If you're such a believer in thinking before coding, why do you need your language to force you to?
Hola Paul, who is wrong?

Me or the CEO of TellMe? :-)
It depends, If you don't like doing C++/Java don't go for that. imo don't force yourself to do anything you don't like for that matter. True that C++ is losing its sheen and Java is being called a new age Cobol , but they still dominate the scene, its a matter of personal preference.
Networks Try 'Twittering' To Spread Their Message
NBC, CBS, ABC Family and MTV are among several networks experimenting with the marketing possibilities of Twitter, a nascent social-networking service that sends messages in super-short bursts.
I believe they work with Goodwin Procter, as do I. Feel free to email me and I'll send you a couple contacts.
I understood it to be, locally, the most exiciting thing happening at the moment. Shipping a great product (ie creating wealth) might be more exiting overall, but for a given week raising money is a lot more exciting than fixing bugs.

Also I think for some people, the novelty and change of pace is exciting. I've been coding for 20 years and love it, but have never had anyone invest money in a company I own. That unfamiliar situation is far more likely to get my adrenaline pumping, especially if the stakes are high.
C++. Pshaw.

Only crap companies like ID Software use that. What has Quake got on the awesome expressiveness of Flickr, or Facebook or Google Suggest? I mean, just in terms of sheer output, consider that BOTH Flickr and Facebook are able to...display text on a screen! And put jpegs in neat columns in div tags!

Pshaw. What has C++ got on that?

Seriously. Do away with the tunnel vision. When you're talking consumer software, all of the output of all of the languages of the world combined absolutely pale compared with that of C/C++.
Ah yes. I made a mental note of that, but I'll put it in my real notes.
Good point. I'll make the title "N reasons I'm a hacker, and why you should be too" or something like that.
YC works with WSGR.

http://www.wsgr.com
The poster talks about being the <10th employee, so I don't think he's considering going to work for Microsoft or Google.

It's questionable that there is much overlap between the "hows and whys" of the practices of these companies (that count their employees by the thousands and their bottom line by the billions), with the "hows and whys" of what you need for a startup.

Any opportunity to learn is valuable; whether learning the MS/Google way is a good choice depends on your alternatives.
"Basically all of the software companies with market cap north of a billion dollars have web-facing apps written in C++ and Java."

Not really true, unless you mean "have web-facing apps written in C++ and Java" in the same sense that they "have web-facing apps written in PHP and Python". I posted a list on Reddit, based on publicly available information (employee blog posts, mailing lists):

http://programming.reddit.com/info/2614t/comments/c264lk

There's some Java and C++, but there's also a lot of Python and PHP.
I don't know if you're entirely correct on the old school/new school comparison. It's not as if Google decided way back in the late 90's that they'd (re-)implement Writely in Java just because it was en vogue. That's a newer technology decision than implementing reddit in python...

Ultimately, the question of what to code in is not nearly as crucial to success as we're making it out to be. And answering that question "correctly" has a lot to do with who's coding, how the code's used now, how you think it'll be used later, and many other questions.

I think it's at least worthwhile to know why other people use boring languages. Then feel free to use cool ones instead, not because you're impressed with how well Basecamp runs, but because you know you don't need Google-sized scalability right out of the box.
It's too hard to judge which apps started this year will most likely have billion dollar market caps - after all, if you'd done that in 1996, you'd think "AltaVista, Excite, Value America" and other similar nonsense.

Instead, how about looking at what companies with billion dollar market caps are buying. After all, that's the biggest statement of "We think this is really promising, but we can't build it internally, so we're going to fork over a billion dollars for it" that a big company can make.

Judging from this, the big languages seem to be Python (YouTube, Reddit) and Java (FeedBurner, Zenter). There are also a lot of recent acquirees where I haven't seen anything about their technologies - it's certainly conceivable that many of those are C++. Really, if I had to draw conclusions, it'd be "The language you use doesn't really matter - the important thing is that you build something people want."
Here you go, another thread:

http://news.ycombinator.com/item?id=16419
What is the tradeoff you imply here?

I don't suppose you think there are situations where you want to be slower or spend more effort just for the sake of it?
BTW, How to restore forgotten password? I didn't find that feature on the site.
Many YC startups have been disappointed with the service and cost at WSGR. Check out Orrick, Fenwick, and Gundersen.
Well, technically boost::lambda (http://www.boost.org/doc/html/lambda.html) is the closest C++ has to lambdas. ;-)
Aaron Swartz:  Announcing the Open Library
Heh good point. On the other hand, on facebook access to basic functions like sending messages and viewing profiles doesn't cost $20/month.
Nope. Hand optimized assembly pwns C/C++. And still, ID uses almost none of that. Do they have tunnel vision too?

Flickr and Facebook don't display text on a screen. The web browser does that. What Flickr and Facebook do is serve content to huge amounts of people. In order to scale to these extents, your choice of language is not nearly the most relevant decision.

Also, speed of execution is critical for web companies, while one of id's mottos is "it's done when it's done".
If you think you'll be unhappy doing the actual work that you'll be doing when you take the job, the job isn't worth it. There's no difference between being employee #9 or being employee #99999 in that regard.

Also, if they're successful enough with their current languages, you will not change them. Taking a job saying "I know they use X, but I'll talk them into using Y instead, and then I'll be happy!" is like entering a relationship saying "I know she does X that drives me nuts, but I know if I pester her enough, she'll stop it, and then I'll be happy!" Doesn't work that way.
I think there is nothing more miserable than working with tools that you don't like. Part of the allure of starting a startup was not compromising an inch on the exact tools you want. Follow your bliss, not your stock options.

That said, I suspect most people that pan C++ have never extensively used or understood the STL or Boost Libraries. Undergrad C++ is nothing more than a basic introduction to the language.
Those boost kids...They do great work.
There's a broad line with "C++/Java". You can use C++ as a safer C, and yes, that's generally unpleasant. But if you're leveraging STL, Boost, and some GC like Boehm, among other extensions, it's a great deal better. Same with Java -- if you're leveraging Java 5/6 functionality, using Groovy for scripting, etc., you're going to be stretching your brain with something other than memory management.

Ask them how they use the languages, and you might find they wrote their own compilers for DSLs or other things you'll enjoy working on.

All that said, the market is ripe right now, and it's a good time to be a prima donna about what you'll work on.
boost::lambda still blows. I avoid using C++'s <functional> and friends because of the crap-tastic missing support for lambda expressions. Luckily there are a couple of sane proposals to fix this in the next version of C++ (aka "C++0x"). http://www.research.att.com/~bs/N1968-lambda-expressions.pdf

I'm happy to say that I no longer hack C++. I loved C++ until I realized that you have little hope of using C++'s features correctly unless you sink 5 years into becoming a C++ expert. Digital Mars D looks pretty damn good, but I haven't looked into it very deeply.
How boring y'all make it seem!

play them clips from movies (e.g. the scene from Titanic which was computer generated), popular games

then play short interviews with the designers and developers who wrote them.

then show them a simple computer program, and it executing
to do some graphics. So they can correlate code with effects.
Outstanding article. Who among us has this not happened to? I take this as a huge lesson in product design.
the $$$ question is, is it unobvious?

(assuming qs 1-3 from Pressman's Patent It Yourself are 'yes'.)
Send Invites To Your Events To Anyone You Want!
Great Web 2.0 Site because it so easy to use it, that let you Send invites to your events And events you go to! No doubt, one of the sites and services you should keep in your bookmarks and favorites sites, cause you will use it for sure. enjoy!
You're collapsing stuff down in an interesting way that makes these marginal languages look more important than they probably are. If you were to do it by lines of codes, organizational importance, financial pay off, number of engineers working in a language, or pretty much any metric other than "does ___ use ___ somewhere in their codebase?," I think you'll find that Java and C++ are huge.

That said, sure, folks use other languages, too. Yahoo and Facebook are particularly good examples of companies that have more than the typical share of a non-Java/non-C++ language for their apps. And even they use C++ (and maybe Java) elsewhere.
Why would you join a 10-person company to figure out why a billion dollar company behaves a particular way?
I've got the same question, but for Boston area. Recommendations would be appreciated.

Also, how do costs compare with these law firms? Will using WSGR or Goodwin Procter set us back an arm and a leg, or are most competent firms roughly equivalent in price? Is legal stuff a place where it's even worth being price-sensitive, or does it pay to splurge for a top-tier law firm?
Where are your site visitors from? GeoIP knows
You need to ask for a specific Partner. Just going to WSGR is not useful. Or Fenwick. Or Gunderson. Or anywhere. They all have good and bad lawyers.

In general, it is really really hard to find a good lawyer.

I have never hired Yokum but he is very active in the Venture Hacks community and he has a good blog: http://startupcompanylawyer.com/

Nivi
http://venturehacks.com
"If you were to do it by lines of codes, organizational importance, financial pay off, number of engineers working in a language, or pretty much any metric other than "does ___ use ___ somewhere in their codebase?,"

The flip side of that is that perhaps Java and C++ are huge because it takes more engineers and lines of code to accomplish the same task, and hence the potential financial payoff and organizational importance needs to be higher to justify their use. ;-)
Deep.
Robot Replay: Watch your users via Ajax
Now you can test PG's "finger on the Back button" hypothesis.
Doing is the second best way to learn.

http://hacketyhack.net/
I've noticed there is a negative bias towards the "enterprise" languages by many on this forum. Not calling out gregwebs in particular, just speaking generally.

I think much of the negativism stems from the hacker mentality that big companies are evil and that breaking the rules is cool. Therefore anything that big companies do or use is automatically uncool.

Nothing wrong with this mindset, but I think it often goes too far with some. Java and C++ are not bad languages. Yes, most large software companies use them but there are some reasons why they might be a desirable choice. One is that these languages work well in a collaborative work environment. There are many proven debugging tools, established QA practices, very good IDEs with integrated revision synchronization tools, etc. While these may not matter for the hacker or small group of hackers creating something cool, they are very important considerations for a growing software company who has plans to scale.

So with this understanding in mind I wouldn't automatically rule out a company based on the fact they code in C++/Java. Ask them why do and you might discover that there's more there than what meets the eye.
He's quoting Netscape about the virtues of ignoring the competition. Netscape failed to pay enough attention to what the competition was doing. Where are they now?
In case nobody tells you today, this is a damn good post.
Sell your web app or site for free
New marketplace for buying and selling web apps that utilizes the edgeio marketplace platform.
I agree: overnight success may be programmed over a weekend, but it also has to be grown with care like a garden.

I've heard "buy some customers" a few times myself, and while it's possible for me to think like that, who as a customer would want to be treated that way? Not me. This article is an excellent, level-headed summary.

-Matt
FlickIM: Bored Startup Makes Awesome IM for the iPhone
There is definitely something wrong with the mindset that big companies being evil. However, the bias towards "enterprise" languages does not come from this. It stems from experience in working in big companies that are unproductive. It also comes from personal use of the languages, and reading about, exploring, and programming in different languages.
In Boston, seek out Lea Pendleton at MBBP:

http://www.mbbp.com/attorneys/pendleton_lea.html

I have had had great experiences with him both in terms of cost and results.
Interesting. I've also had a current SFP2007 founder recommend a different partner at MBBP. Will definitely look into them. Thanks.
My point is that there are many really good, legitimate and numerically quantifiable reasons for using a high-level language that have nothing to do with the mythical, unprovable Sapir-Whorf justification.

As for the "tradeoff" I mean that high-level languages are particularly useful if one is primarily interested in minimizing development time possibly at the expense of other variables. Examples of "other variables" include processing time, memory usage, ease of hiring cog-like but adequate developers to maintain the system, company politics, etc. Such other factors are used everyday to justify the higher-effort solutions.

Does that make more sense? Sorry for any confusion.
I meant you, but unless you were quoting him in order to disagree with him, you're both making the same point, so the answer to your question taken literally is "both."
I don't buy it. Why do they have funding, but just up and decided this week what to do?
I suspect Google decided long ago to create a server infrastructure for programs written in certain languages, which in turn dictated how they rewrote Writely years later.
"building things is FUN"
Start with that point. In fact turn it around and say "Let's have some FUN..and also happen to build things"

The other points are too abstract for 7th graders. For example, 2) is strongly empirical, partly circular reasoning. 3) and 5) will only appeal to the academic types who anyway work towards scoring in exams.

A demo would be great. Tune into some part of kiddie pop culture (some handheld game or Myspace or whatever) and demo how that can be built. No need for snazzy graphics, Even a bare bones version will work.

(I'd go for HTML, Javascript. Biggest reason is that it's easily accessible everywhere, and comes with a decent UI toolkit and Turing complete language)

I'm assuming you have been invited since you are a practising professional. It's the job of the teacher to explain how things will be (points 2 to 5). You ought to be that person in front of them for those few hours.

Walk the talk. Show the enthu in your eyes, voice. Kids pick up such things better than any words. Every gesture in your body language will matter. Unless you successfully come across as cool, 4) will be a waste.

Hope that helps :)
Or can you or your lawyer phrase it so that it seems unobvious, or does the prior art set a very low bar for what is unobvious?

I say that having thoroughly examined biotech patents in the area of PCR and there are some patents that someone educated in the field would most definitely find to be obvious. The worst is the patent for PCR for medical diagnostics... as the main use of PCR is for medical diagnostics, it's pretty damn obvious.
I think your experience as an early employee may have been unusual. A startup getting a series A round is typically made to set aside about 20% of the stock for new hires. So .01% is a preposterously low offer, unless the company was huge.
From one of the comments:

> Amazon is NOT the place to store information on the world's books!

This Brewster Kahle, isn't he still working at Amazon-owned Alexa?
Well it's hard to say. It took me a while to get it in the form it is now, but once you know how it works it might _seem_ obvious. Thanks for mentioning the book, I'll have to check it out.
Thanks.

I was definitely going to start on the FUN aspects. I love being a hacker because I love building stuff. Hacking just happens to be an easy way to build lots of different things really easily.

I'm going to ground most of my talk with examples from my own job, which has lots of snazzy pictures and cool stuff (I'm in visual effects / animation, comes with the territory that kids are impressed by it).

I wanted to talk a lot about innovation, and basically refactor a PG talk to 7th graders. Instead, maybe, I'll be all about fun over innovation.
Even more competition for Scribd.
Rails users: would you use rails again?
I've been building web apps ontop of rails for the past year and a half. Now I need to decide if I want to stick with rails for my startup.

I like that it is quick to try things out. I don't like the various execution models or scaling issues. I've spent as much or more time tweaking configurations and de-railsifying certain pieces for performace as I have developing the app. I've also used Ruby to replace perl and python for utility scripts, and haven't been impressed with its performance.

For those of you in a similar position, would you choose to use rails again?
Please, please show them hackers can be cool. You can play sports and be a hacker. You can be in a band and still be a hacker. And yes, you CAN get hot girls and still be a hacker.

Enough with the thick glasses and pimple-faces!
I like to think that I'm pretty cool :)
Facebook's secret is that there is no spam. MySpace is completely usually because of the spambots but Facebook has some kind of brilliant secret algorithm for keeping the network spam free.
How big is the demand for automated online image copyright monitoring?
Considering that we already have some well established companies doing this (eg. http://picscout.com/, http://ideeinc.com) but aiming for huge clients (corbis, getty, jupiter), how big do you believe the demand for a free or low-cost service would be ? Think about the average professional or amateur photographer/image producer.
In all honesty, for a quick and easy app, sure I would. For anything more complex where performance or scaling is required without hassle, I'd use something else. This is after I've made my first couple of apps in rails.
Changing the future
Microsoft patents reveal dubious ad client, helpful clipping lists
Apple iPhone v1.0 Bugs
Saying that the programming language conditions how you think is not equivalent to Sapir-Whorf. Think of it this way: an expert Lisp programmer using C++ will be very aware of the shortcuts, simplifications, generalizations, ... that he could be implementing with higher order functions, closures, macros, etc. He can have these thoughts even though he is using C++, so no Sapir-Whorf here. But many of these thoughts will only serve to cause him pain, since the required techniques are impossible or not worth it in the less expressive language.

Processing time is a real tradeoff, but you can go a long way if you get good at identifying the bottlenecks and translating the critical code to a faster language. I work in a massively multiplayer online game, which is a very performance sensitive application both client and server side, and most of our code is Python (and I think a good part of our C/C++ code could be ported to Python without significantly hurting performance).

Theoretically, high level languages should eventually perform better, not worse, than low level languages, as compiler technology improves, because the compiler has more information and freedom to perform optimizations. OCaml is a high level language which claims performance on the order of C.

Re: memory usage, I'm not convinced the overhead of higher level languages is a big deal, except for apps in very restricted hardware. Unless you mean cache coherency, which goes back to speed.

Re: easy of hiring, in my company we had some graphics guys picking up Python and contributing useful code in a very short time. We also had C++ programmers picking up Python easily, although I must admit C++ habits and idioms die hard.

That said, ease of hiring cog-like developers and company politics is not what I'd look for in a startup.

I admit I cheated by mentioning Lisp, OCaml, and Python to reply different points. Lisp and OCaml are less mainstream and not as trivial to pick as Python, which in turn is not as powerful or as efficient as these.

So yes, there are tradeoffs, but I wouldn't pick C++ as the pragmatic compromise, not even for big business. IMHO, Python + C (via ctypes) for close to the metal stuff would be it. For personal/startup work, I'd go for Scheme, and be happy to limit my hiring choices to people willing to learn that.
Paper of the week: Superstar CEOs
Does tongue-in-cheek mean anything to you
Just like everything on scribd, this would be much better as an HTML document.