I don't find this surprising. Enrollment is expected to be a lagging indicator. Effects of any "trends" may take a couple of years+ to propagate themselves between industries. If tech firms are incredibly hot today, CS50 enrollment isn't going to suddenly increase today.
This works for declines too. People continue to enroll to study finance or law in promise of riches after each respective bubble has already popped.
More importantly, though, not every college freshman/high school student meticulously follows HackerNews or the latest fads. Not everyone even follows NASDAQ or can analyze the tech sector. People like "sure" things. Hate it or love it, the mainstream media and Hollywood have quite a lot to do with what people know and think.
Would you consider open-sourcing the preparation of your address? You'd still retain full control of what you actually say (how would anyone stop you?) but you could potentially have a lot of very sharp researchers/designers/copywriters (hilariously enough, I suspect pure programming skills would be the least useful here) going over every inch of it and providing statistics, infographics, drawings, suggestions, etc. Between HN and /r/SOPA, it could very well be helpful.
Well, we can at least arm you with all the helpful information we can dig up. Personally, I would hammer on a few main points: SOPA is ineffective, expensive and dangerous. Build from there. Lead with your best arguments, cull the weak ones, hammer on them with the points they're least able to refute.
Australia had a bill like this (which is dead... for now), but also did some trials. Read the reports to see how big a failure that was (scroll down to "Live filtering trials"):
As you of all people know, these new requirements would be incredibly taxing for startups, preventing new jobs from being created. This would require every site to implement filters, slowing everything, raising costs and blocking innocent things by mistake. The CATO institute has shown, using the MPAA's own research, that it won't even save one job all told:
How much will this cost? I could make up a number. Indeed, a lot of numbers have been made up in support of SOPA already. We've already established that it will be ineffective, so the benefits are approximately zero, making it difficult to justify any cost. So rather than inventing numbers, I will point instead to what I do know, that these are the people who will be paying the price:
Whether they're trying to hijack DNS requests or web pages, censoring firewalls are bad for security, because if you control the device doing the hijacking, you can use it for whatever. Incidentally, existing products like SmartFilter already perform MITM attacks every time you try to visit an https page. In theory, the organization is supposed to add their key to everyone's computer and then they sign a bunch of fake sites with the firewall. When they don't bother doing that, you see it attempting to hack your connection all the time.
Yeah, they're another good source. I wonder if it would be feasible for you to talk to some of their reporters who cover this beat? Some of them have talked to a lot of people and they remember a lot. One of the articles at Ars went over how Hollywood has predicted "DOOM!" for every new tech, including the copier & VCR.
The best serious scholarly legal works are by a guy named William Patry. His books _Moral Panics and the Copyright Wars_ and _How to Fix Copyright_ are the two most relevant here, though it's quite a long read given that you have like 3 days. You may or may not know that name, but he wrote a huge series on copyright law (_Patry on Copyright_) that lawyers use as a reference. He also worked for Google, though he's sick of hearing crap about that. He had exactly the same opinions about copyright law before & after being hired; namely, that they should promote progress. Congress, meanwhile, cares more about money issues, as always. Still, that's a point you probably do need to keep in mind when talking to them.
Hollywood is posting record profits, BTW. I think TF had an article about that a month or so back. Their numbers are all ass-pulls, not unlike their crazy accounting techniques. Might be worth hitting them on their lack of math, because they've screwed more than a few artists that way. Our problem isn't with the artists, it's with the industry.
Might also want to come up with some soundbites. Find some questions you're almost sure to be asked and have short, witty replies waiting for them. Bounce them off some friends/supports in private first to make sure they work, though. We'll be rooting for you.
I know your personal convictions in crowdsourcing this kind of stuff may be completely opposed to my recommendations... but please consider contacting specialists who you may know by their contribution to social sites instead of relying on crowdsourcing. It's my belief that the true power of online social communities rely on the kind of people that wouldn't interact with each other if it not where because of the internet.
I particularly think that for example tptacek or trotsky (the HN user, however she/he has himself called as in meatspace eludes me) would be interesting people, where I in your position, to discuss this with at least briefly. I myself have certain first hand experience with internet protocols, information security, and left leaning politics, and my arguments would look like crayon written babbling compared to what they may come up with in a discussion about SOPA.
What happened with the Google doc? Did it just get inundated with memes or something?
A GDoc might not be the answer here (my mind is actually drawn to Google Wave for some reason---something with a short feedback loop), and there may be no technological answer(someone smart [who may even end up being me]: this is a pain point worth pursuing), but I do know that without a core basic skeleton and background info (if all you've got so far is a list of points you want to hit, that's the "source" of your address), there's nothing the community can do.
I'm not trying to be pushy, just realistic. Good luck!
Wait, on that point (less government, not running for office), you might want to hammer on why tech entrepreneurs believe that. Say something like:
"We look at a problem like piracy and we don't see the need for more government, we see the opportunity for more business. In the 90s and early 2000s, the music industry was being hammered by things like Napster. Now, they're finally starting to get past piracy. But it wasn't Government that saved them, it was iTunes. It was Spotify and rdio and a bunch of smart entrepreneurs finding better ways to get content to consumers. iTunes didn't beat Napster and its successors because of the Government, and it certainly didn't beat them because it was cheaper. It beat them because it was better.
That's what we tech entrepreneurs strive to do: fix problems. Companies like Netflix are trying to solve movie piracy by getting consumers the content they want, how they want it. They're not there yet, but there's massive opportunity awaiting whoever finds the solution. SOPA won't get us closer to the solution; it will take us further away. It won't stop piracy, but it will stop innovation. It will bury entrepreneurs like myself under a cloud of uncertainty and legal costs.
Right now, sitting in a class at Stanford or MIT, there's a nerd who will figure out a way to solve piracy and get filthy rich and create thousands of jobs in the process. Don't stop him; get out of his way and let him do what government can't."
Yes. This is not about some geeks with a minor website, it's about a multi-trillion dollar  industry being sabotaged by some old school media companies that can't adapt to the new world. What's more, what they want to do won't even solve their problem.
 Ok, I don't know how big the internet industry, but no-one else seems to know either, and worldwide it's probably in that ballpark - and most likely everyone will be affected.
This is not just about media companies. SOPA is part of a barrier to blockade anything that may violate any Intellectual Property. This includes selling pharmaceuticals from Canada, edge case property violations like a handbag that looks similar to Gucci's latest model, but doesn't use the brand name, electronics that may violate a patent in the manufacturing process but the end product is not similar to anything else on the market.
If you think its just the RIAA/MPAA pushing this agenda, look no further than the money flow and you see its the U.S. Chamber of Commerce that is the largest supporter. Downloading bittorrents is just the poster boy for this campaign.
http://en.wikipedia.org/wiki/Design_patent If SOPA goes through as some intend it, it won't matter if the "plaintiff" is correct or not about infringement of design or any other form of IP, there will be no plaintiff in the traditional sense, just a complaint and a web site that disappears.
The usual way for calculating those numbers has faulty assumptions. It assumes that price of software pirated equals amount of revenue lost. It also assumes that if piracy were absolutely not possible, the customer would be willing and able to pay full price for the software. Both assumptions rest on shaky foundations.
The most important point is that the money people "save" by not spending it on software or music or movies, gets spent somewhere else in the economy. For the media industry to get a few billion dollars more of revenue, other industries have to get a few billion dollars less of revenue, which in turn leads to a loss of jobs.
The amount of disposable income in a country doesn't magically increase whenever some actors on the market want it to.
I'm just curious how bankers and the like value industries. Do they value them by the total sum of all company valuations, total sum of all company revenues or total sum of all company profits? Or something entirely different? If anyone in the industry knows could you enlighten me?
The usage of "nerds" by several of the US Representatives bothers me a lot. It's already putting up a wall and does invoke the "revenge of the nerds" picture. My wife (who is not in tech.) even said, "at least we know where all the jocks and bullies went after graduation, they became senators and congressmen". While her statement was mainly joking, I feel she does hit on a point. That point is that they are further portraying the negativity to education that we see a lot in the US.
How can the messaging be improved? How can it be made more compelling to resonate more with laypeople?
Explain SOPA as (1) censorship and (2) a heavy burden on legitimate business. These are honest ways of describing it in everyday terms, and at least one of those points should resonate with almost any American, whatever their political identity.
Given the time to lay out a clearer case, explain that even if you agree with some of the intentions behind SOPA, it’s unlikely to be effective at stopping piracy. If passed, it would probably have to be at least partly rolled back.
And explain that the kind of highly creative, small-time artists whom people instinctively want to defend are, in general, hurt by draconian IP policy.
I think this is realistic and counteracts the impression that people who object to SOPA are all Professor Frink.
Censorship is the wrong approach. Our current regime is anti-civil liberty (free speech included). You need to use the right language against them.
SOPA regulations will increase the size of our government, cost millions of jobs, and billions of dollars in market value, while destroying America's technological edge. The legislation hurts small businesses(how can they have blog comments without being sued under SOPA). Also, you need to find a way to call the bill a tax increase.
While true, I'd worry that arguing this point carries the risk of shifting the discussion away from "Should the U.S. begin censoring the Internet?" to "How can the U.S. effectively censor the Internet?"
I'm not sure if you're trolling or not, but it sounds like terrible advice.
Yes, most of coding knowledge comes from real world experience. But a university is essential in building the foundation. Those theory and math topics do matter. CS isn't just about gluing PHP code together.
Also, most non-startup jobs out there do tend to require a bachelors' degree.
I know that schools are essential in building foundation, I should have specified in the original post that instead of university I would recommend a college that would give him that foundation but allow for him to work on his own or open source projects.
Rather than spending hours each day doing math proofs, he could have the chance to explore different areas in programming while learning figuring out what he enjoys (for example game programming vs web development)
I see. In that case, your heart is in the right place. But it doesn't have to be all or nothing. The sweet spot is really the "formal" university education, combined with independent/group projects.
Of course, it's absolutely instrumental to spend a lot of time coding on your own "for fun." Just learning the proofs and such does not prepare one for the real world at all.
This was somewhat harder maybe 10 years ago. Fortunately in modern days, there are many APIs to play with, open source technologies, and so on. Communities like GitHub used to be much harder to find in the past. HN rocks.
But you'd have to know the theory too, to understand the concepts on a deeper level. Yes, some people are entirely self-taught, but it requires the person to already have the "drive" and to already know what they want.
Finally, a good university (like UofT is) can bring life-long friends and experiences and expose one's mind to more ideas. It's great for opening doors, and generally establishing a foundation for learning. Can't miss that!
Maybe the university you're talking about is different from the one I attended, but the only CS courses I took that involved proofs were algorithms and computabity theory. Compilers, operating systems, computer networking, data structures, AI, architecture, graphics, etc courses I took were very hands-on. Lots of projects... and we also read the fundamental papers in the field. And that broad knowledge base really is useful. And besides, there's lots of opportunities even as an undergrad to work with research teams on cutting-edge projects.
Like it or not, a university degree is worth years of experience and is often a barrier to entry at many many many top software companies. Not everywhere is a startup. If he's not sure what he wants to do, university is an even better decision.
Perhaps off-topic, but after reading GoDaddy's letter, I am surprised that our discussions against SOPA don't focus on the root -- the fact that the legislation is presented in an incredibly misleading and vague manner.
At face value, its purpose is to stop the foreign counterfeit drug/goods sellers -- you know, the same guys who spam us with "enlarge your..." and such offers. The same guys who pollute Google search results with "buy handbags" trash. Now suppose someone had asked you: "do you want legislation against these foreign illegal drug sellers?" Surely you'd say yes. Heck, I'd say yes. What reasonable person would oppose this?
But the problem is that the legislation is presented as this, but is actually likely going to be used for other things (censoring online content, special interests of the movie industry, etc.)
So when we write to our congresspeople and explain our concerns with SOPA, I wonder: do they think "Hmm, I am just protecting the internet from so-and-so baddies selling drugs. Why are all these tech people suddenly up in arms about this? Do they somehow not want to stop those baddies?"
When we write, we say that we oppose SOPA. Would we be more effective if we asserted that we do hate those sellers and oppose SOPA because of its specific implications? Unless of course, the bad "side effects" are actually the main purpose and the "good" cause is just a very clever gimmick.
> Now suppose someone had asked you: "do you want legislation against these foreign illegal drug sellers?" Surely you'd say yes. Heck, I'd say yes. What reasonable person would oppose this?
I would. Not every nuisance should be outlawed, most nuisances probably shouldn't. Legislation always bears a cost, and, for instance, in this case the cost outweighs the benefits by a wide margin. As is often the case.
Precisely. While it is a cat-and-mouse game, I think the tech industry has shown that there is a vested interest in cleaning this crap out of our lives. The internet seems to be the last place where a market is free to tackle and solve problems on its own.
> Now suppose someone had asked you: "do you want legislation against these foreign illegal drug sellers?" Surely you'd say yes. Heck, I'd say yes.
Let me stop you there. I'd say no, because I feel that in many matters, especially those concerning the Internet, legislation is about as effective as politely asking the rain not to drip through your leaky roof.
Even for the sake of argument assuming legislation is the right answer here:
The problem with SOPA is not so much what can be done to stop "bad guys", but how it can be done, namely without a court order, and only based on "reasonable belief".
It is massively chilling by virtue of causing large liabilities if someone don't act, even if/when they don't or even can't know for sure if the claim made is true, while granting immunity if they do act.
It creates a de facto assumption of guilt by creating a strong incentive to act without evidence of any wrongdoing.
These sellers change domains each day. According to my host, they can even change servers several time per month.
The process involved by SOPA, a judge decision to close the site will be absolutely inefficient against them.
I think the drug related part has more to do with the fact that you can buy drugs from other country, just like they've forbidden you even buy drugs from Canada online - even if they are good drugs. They just don't want you to use anything that isn't from an American company.
While some online drugs may actually be dangerous to people's health, and it's obviously risky unless you know what you're doing, I think education on this issue would be much more effective than legalizing banning of online stuff.
I mean, people with common sense should already know that they need to be careful what kind of drugs they buy online. I don't think the Government's intervention is mandatory even for that, and just like trying to ban most everything online, it will probably hurt more than help.
You should also mention which state you live in, as options can be different. For example, MA has a single-payer system and you're eligible for group coverage even without an employer. In some states like NY even alone you can join a "freelancers union" of sorts that may help with getting group coverage. In CA, you can apply for individual coverage with something like Kaiser.
Some of these exemplify "premature optimization" and will clutter code with no discernible benefit. I remember some days ago, in the days of PHP, there were heated debates about whether or not using single or double quotes for strings makes code faster.
As with most development, use good practices. But then at the end of the day, profile your application to find the actual bottlenecks.
What you see on HN/TechCrunch/whatever has a strong "success bias." What this means is that you only get to see/read success stories. But there are also many people just like yourself who are just starting out. Many have failures under their belts. Even the people who are successful today have failed in the past!
It sounds like you're practicing too much "theory" and reading, instead of creating. This will make anyone feel bad. The people you admire did not get where they are by reading HN/books/etc. alone. They got there by doing things.
As others have said, pick a side project and hack at it -- release it, fail, and try again, and again. The beautiful thing about the tech community is that failure is encouraged and embraced. By doing things over and over is how we learn and establish ourselves. Your projects will suck at first, you will get no users at first, you will make no money at first (if you care about $). And then you'll iterate and improve. It's only normal.
Finally, as far as picking projects goes, don't pick a pie-in-the-sky-idea! Pick something you can finish in two or three weeks, or maybe even shorter. Anything longer and you'll get disappointed at your lack of progress. You don't have to create the next Facebook. Create a throwaway app for the app store (and don't be discouraged if you don't make much from it.) Learning how to ship small projects will be incredibly painful but that is how you will grow and become happier with yourself. HTH.
Yes I don't really know the feeling of what is like to create something, this kills me.
I am constantly disappointed by my code, it sucks, it's really bad and that also makes me lose motivation whenever I try to build something, for some reason failure is a permanent constant and the fear that I am going to fail anyway keeps me from actually getting trough building something to the end...
I don't really know the feeling of what is like to create something.
Take a cooking class.
I'm absolutely serious about this. You learn to build things by building things, and you build things by following recipes, recipes that are very slightly above your skill level, but no more. Go get some recipes, and use the techniques they tell you to use, and build some pancakes, and eat them.  Then you will "know the feeling of what it is like to create something." Something tasty.
I can hear you already: "My pancakes are just pancakes! They are not amazing and original pancakes." This is true. You need to get over that. Trying to amaze yourself is generally a waste of time. You can't do it consistently – that's what "amazing" means: something that doesn't happen every day. If what you want to do is create things, lots of things, every day, you've got to realize that it's not going to feel amazing while you're doing it. It's going to feel normal.
But: It will be tasty. Oh, there are worse fates than being so good at making pancakes that you can make them without even thinking. For one thing, other people will eventually start talking about your amazing pancakes, and even though you'll know in your heart that they're flattering you - hey, they're just the same pancakes that you've made a hundred times, from a recipe, with only a minor tweak or two - it will still be gratifying.
And maybe in thirty years you'll be the next Anthony Bourdain, and you'll be out drinking one night and suddenly you'll look at yourself and your own life and be amazed: You remember starting off with the pancakes, and you just kept trying a little more every day, and then there was the day you got a job cranking out those pancakes on the line, and man was that an educational experience, but now it's years later and you're shocked to find that you're some kind of breakfast legend, people line up for your amazing cooking, and at that moment you'll actually be amazed at yourself for everything you have accomplished. You'll be amazed for at least five minutes, maybe even ten minutes, depending on how much you've been drinking. 
Then you'll wake up the next morning and go back to work, just like we all do.
Anyway, programming. Throw SICP away and try something like Zed Shaw's Learn Python the Hard Way, something with a lot of exercises. Do all the exercises. Then do some of those programming-contest-type problems. Do little problems, ten-minute problems, thirty-minute problems. Practice the art of small victories.
 No, do not use a pancake mix. That's like copy-and-paste.
 Incidentally, alcohol is a depressant, so don't think I'm seriously recommending it to someone who is already depressed. Coffee! I meant coffee!
Learning to cook is one of the most important things I've ever done for my creativity. Not only does it help you get into building things, but it's a great way to blow off steam and boost your self esteem with small successes. I learned from a friend who taught me his "no recipes" approach, but I'm sure a cooking class would do the trick if you're not an improviser.
A meal or two per day and suddenly everybody is complimenting you.
I really like this advice. Even if you're not doing super-duper, crazy creative "disruptive" things all the time, one can get a huge sense of satisfaction by approaching some platonic ideal of pancakes, or whatever. Even if your code (or copywriting, design, or whatever it is you do) isn't groundbreaking, you can still strive for the ideal form of whatever it is you're working on.
I heard a really good piece of advice, in the form of metaphor: If you install carpet for a living, you don't have to like the carpet you're installing, but you should be damned proud of how well you laid it down.
That's fair, but who actually cares about how good your code is? Make it work. Hack things together. After you practically code for longer, patterns will emerge, you'll refactor and rewrite as necessary. At any point in time, if I look at code I have written earlier, I shudder at how awful it was.
Finally, "fear that I am going to fail" is silly. It's the other way. You're starting at the point of failure. You have nothing right now. Accept that, and then you won't have to hold yourself to such a high standard. Start somewhere (and remember that you "suck" at first), and keep at it. Seriously.
Pretty much everything sucks when you start it. Its only by working on something sucky that you figure out A) this sucks and B) how to fix it. I've got a couple of gems that are embarrassingly bad in spots—they (mostly) get better over time.
Remember that software development is much much a procedural skill than a memorized skill. You have to do it, and you have to do it a lot, before you'll be great at it. Get started making the mistakes you need to make, and don't let them get you down. We've all got projects we didn't really get off the ground.
I used to be in your situation and then I read this.
"I do not write tests for my code. I do not write very many comments. I change styles very frequently. And most of all, I shun the predominant styles of coding, because that would go against the very essence of experimentation. In short: all I do is muck around.
So, my way of measuring a great programmer is different from some prevailing thought on the subject. I would like to hear what Matz would say about this. You should ask him, seriously.
I admire programmers who take risks. They aren’t afraid to write dangerous or “crappy” code. If you worry too much about being clean and tidy, you can’t push the boundaries (I don’t think!). I also admire programmers who refuse to stick with one idea about the “way the world is.” These programmers ignore protocol and procedure. I really like Autrijus Tang because he embraces all languages and all procedures. There is no wrong way in his world.
Anyway, you say you want to become better. I mean that’s really all you need. You feel driven, so stick with it. I would also start writing short scripts to share with people on the Web. Little Ruby scripts or Rails programs or MouseHole scripts to show off. Twenty lines here and there, and soon people will be beating you up and you’ll be scrambling to build on those scripts and figure out your style and newer innovations and so on." -why
Just out of curiosity, were you a good student throughout your life, and told you were smart or bright? I ask because there was an interesting article on HN a week or two ago that showed a correlation between crippling fear of failure and self-doubt, and those with above-average IQs who were lauded for their academic prowess in school rather than their work ethic. Anyways, thanks for posting this question. I've found myself in this situation, and the advice shared here is rock solid.
It's hit or miss. Once I made a free app that displayed a picture of a cartoon cow and made a "Moooo" sound when you turned the phone upside down. I had a toy like that as a kid. Okay, don't judge me -- but I thought I would be a fun quick idea and any kids (and even some adults) to whom I've shown the prototype loved it. I had an artist draw the cow, and bought rights to a sound I really liked.
The app was rejected twice for having "limited functionality." After I resubmitted it with various tweaks, someone actually called me personally to reject it. They were classy, communicated well, and were very polite, but ...
There are plenty of apps in the store, often in Top 100, that do less, or actually do nothing. My favorite is "traffic light changer" that claims to change traffic lights. Or a "fingerprint scanner." Also, there's "lockify your screen" that claims to give you Android-like screen unlock, and yet just displays a wallpaper with dots. Yes, they all have oodles of 1-star reviews from upset buyers, but they did get approved somehow. It seems like I just got unlucky with reviewers.
I had a toy sheep like that as a kid, so it seems like a legitimate app to me, sorry to hear it was rejected. I noticed those fake fingerprint scanners -- at least two of which were consistently in the top 100 -- last year when I was creating an app that performs real 3D scanning. I thought "Surely if a fake fingerprint scanner is so popular, something that actually takes a 3D scan of your face would be even more popular." I was incorrect. (Though my app has done just fine -- it's just that those fake fingerprint scanners are disgustingly successful given what they are.)
I just bought your app out of curiosity. That is a very interesting concept -- would love to see how you keep innovating further! Good luck! It took a few tries/a darker room to get just the right effect. I don't actually know much about image processing -- I figured you would try to detect the face/cheeks/nose and "extrude" those when rotated, but it seems like it's doing something more sophisticated.