skysight-inc/HackerNews huggingface dataset:
> I know someone might shout, "No! The important part isn't

> the visuals, it's all about the interactions and the core

> product!" And that's exactly right; but to get a feel for

> those deeper aspects you need to spend time with it, and we

> usually don't have that time.

So if we judge by looks, and the gap between how good products look these days is less pronounced, isn't that good? If the gap was bigger then an otherwise-terrible, but pretty, product could gain a much bigger advantage more easily.
This seems perfect for my recipe site. I hope my application gets accepted.
As Kurzweil writes in the article, this is exactly one of the arguments against the singularity that Kurzweil brings up and discusses in his book.

Lots of people argued that if space exploration or car engineering continues growing at an exponential pace we'll have flying cars and space colonies. They didn't explain why the growth should continue to be exponential and not end up as an S-curve.

In "The Singularity is Near" Kurzweil argues and shows why computation and reverse engineering of the human brain are subject to exponential growth. Short answer: there are lots of competing technologies and researchers that have different ways of ensuring that current computational advances continue well into the future - we are far from reaching any physical laws that will stop us.
I'd love to have more employers pipe up and comment here.

I'm guessing that, although more challenging, changing gears is not altogether impossible (or even very difficult).

Certainly one should develop skills in an area that one is interested in impacting, but this kind of mentality breeds fear and risk aversion because new grads begin to see pursuing interesting opportunities as career risks versus character/skill building.
I would like to see this correlated with the type of software being worked on.
Hmm . . . the battle may be closer than I thought. Vim still must be inferior somehow, right? :)
Some positives I didn't realize about life after college:

- You have complete control over you choices. You did in college, but by choosing to go, you are forfeiting some of that I think, at least psychologically.

- There may be things about school in general that you hated, or thought were stupid, but never realized until you got some distance from them. I had this experience, I was filled with a warm glow for about a year when I realized this!

- You are in the "real" world. I hate this distinction, because it is not true, but it is still nice to know that the hopefully small part of your mind that subscribes to that distinction can now forget about it.

- You can use all your strengths to do what you want. Instead of trying to play the academic game, which limits the degree to which you can be resourceful, now you can use anything and everything to make things happen.

- You will learn a lot more about who you are, and your natural tendencies, since you have so much more freedom.

- I was, and still am surprised at how incredibly incomprehensibly vast and mysterious the world is. This was much more hidden to me in school.

This may not be true for everyone, or even for most, but I'm sure there are lots of people on HN who felt these things. To those of you on your way to graduation, I hope you aren't fearful. For me, it was probably the happiest transition of my life. That's not to say there weren't some of the most extreme difficulties, but overall, its been wonderful.
I think it depends on a lot more of the circumstances than this. For example, in many languages, you can intern the strings so that a string equality test is just a single machine instruction. And if these color representations are crossing some interface that needs to be kept stable, it's a lot easier to add new colors if what's crossing is "red" or "#ff0000" than if it's "2". And it may be that what you're doing with the colors is just generating HTML, rather than doing multi-way switches, in which case the enum implementation has no advantage over the string representation; it just increases code duplication.

The probably more important consideration is that with an enum, your compiler can catch misspellings. Depending on your runtime environment, this can be a huge killer advantage. In particular, if your runtime environment can't do much beyond blink an LED to report errors, compile-time checking is really really important.
Function#bind isn't the greatest solution, since it forces you to set 'this' and only allows left-to-right, flat application.

Many people have written partial application libs to make it easier to work with (I even have one of my own on github). A good one is substack's: https://github.com/substack/node-ap
Little Bits: A Starter Kit for Aspiring Engineers and Makers
It struck me as a little strange, as most people say they'd be honored to have your attention, not humbled.
The upside is that a poor product with an entrenched position does not automatically win just because its backers could afford polished design
So does indexing "Random high-level items". It's an algorithm, just not a particularly good one, which was my point.
Are you kidding? Because I don't want to be a jerk, but you cannot have possibly thought that through.
Actionable intelligence: the mouse that squeaked
Sorry for going a little bit off topic here, but certainly there are works of science fiction based on this paradox — after all, it’s more than thirty years old! Any suggestions?
This "bug" has been resolved since 01-Mar-2012 when 5.4 was released, and there's a very straight-forward explanation of it if people would just RTFM.

This is the worst part of the PHP community - all the in-fighting when the core developers don't bend over backwards to accommodate short-sighted programmers who know their conflicting demand is the one that should be heard.
You might not want to pay to have your brain preserved to perpetuity, but I'm pretty sure that some would.
This is one of the biggest things for me post-graduation. My life has recently been so consumed by achieving one big goal. Once it's accomplished, I just kind of wonder..."what's next?" I mean, I have a big interview at a top tech company on Monday and I've got a standing offer at my current job where I can be comfortable, but it's such a big transition to not have some large, looming goal to work toward.
Imagine having a computer that would have the same level of cognition as a human. I think most people would disagree with you on that not being valuable.
A state machine really isn't a great design for a web app.

For HTTP to work best, you should try and keep it as stateless as possible. Keeping state consistent between multiple servers is very much non-trivial. If your web app takes off and needs to be scaled to more than 1 server, design choices such as state machines can really cause you very nasty issues down the line. You either have to keep state across a memcache system, which can get wonky with multiple requests hitting multiple servers, or you have to keep the state encoded inside a cookie which opens up security issues.

Sticking to stateless webapps is nearly always a better choice. Check out some guides to RESTful services to get started.
None of these are bad ideas per se, but this all seems overly ambitious for Valve's first foray into the console business. If anything, what they need is focus. And to me, that focus translates into building one Steam Box console with a single configuration that will play the majority of Steam games for the next four years. Making an upgradable console will lead to a design that is clunky. If you thought the PS3 and original XBox were large, an upgradable Steam Box console would end up looking like a PC midtower. Sure, you could always upgrade your HD in the current generation of consoles, but you couldn't slip in a new graphics card or solder on a new CPU.

I think Valve should embrace these constraints and deliver what (I think) most gamers would want: the ability to play their ever-increasing Steam Catalog on their televisions with a controller that doesn't suck, in a form factor that will blend in with my entertainment unit furniture, and with a 4-5 year window where most Steam games will play.
Here's a probably important proposition that Peter Thiel and Garry Kasparov have been putting forward, and I have yet to see engaged with and answered:

If we are truly accelerating technologically, why have the exponential gains in wages and PPP in the developed world largely stopped? They have hardly kept up with inflation.

Compare 1891 - 1931, 1931 - 1971, and 1971 - 2011.

People point to improvements in computer technology -- why have they not yielded significant improvements in the world of stuff? There has not been the expected productivity increase at all.
We're better at making things look good. That is not design.
Well....just like with pinboard, it is partly tongue-in-cheek.

Although, in the spirit of low friction, I would gladly honor any such requests for a discount.
I understand what he's trying to get at, but it's a moot point. Also the article painfully contradicts itself..

> We're more likely to pick the prettiest object up first.

...

> Just make sure your product doesn't look terrible, and then move on.

So if you follow that advice, according to the article you might lose out on customers because they'll be going for the prettier product instead of yours. Which probably _is_ true, so in fact everyone should always be trying to make the absolute best design they can. I fail to see how average design would ever be a good business decision.
The same situation existed for life extension technologies in the 1970s. People were far more optimistic than the science merited. Here's an explanation as to why things are different now for that field, and you can perhaps draw the parallels for the other parts of the SMILE (space migration, intelligence increase, life extension) equation:

http://www.fightaging.org/archives/2009/05/learning-from-the...

But in the 1970s, getting proto-SENS to work in mice would not have been a billion-dollar, ten year proposal as is presently the case. It would have required a far greater initiative, one to rival the space program or the formation of the NIH. In 2009 we live in an age of biotechnology and life science capabilities that is far, far removed from the rudiments of 1970. Work that today can be achieved by a single postgrad in a few months for a few tens of thousands of dollars would have required entire dedicated laboratories, years of labor, and tens of millions of dollars in the 1970s.

The advocates of 1970 who predicted engineered longevity in their lifetimes were wrong for two reasons: a) because the technology of that period, while advancing rapidly, would remain inadequate to the task for decades, b) there was no set of events likely to lead to the necessary (enormous) outlay of resources required to make significant progress in life-extending medicine.
> Large-scale parallelism and distribution is based on topology and Nash flows. Very different conceptual models.)

Totally OT, but
I don't suppose you have a reference to some introductory material on that (seminal paper, textbook, etc would be fine)? I've been getting massively more interested in distributed systems & reliability thereof.
I honestly haven't used mutt in a while, but I used to have a lot of issues with it. I should give it another go.
Oh God, I hate overblown IDEs. If I wanted less control over my development environment I wouldn't be making software, I would rely on whatever already existed.
Oh God, I hate overblown IDEs. If I wanted less control over my development environment I wouldn't be making software, I
An important announcement about Jupiter Applet
People who don't get college, don't get college.
Taking another step from there: are we getting better at making things look good, or are libraries, display technology, and computing power reducing previously-imposed artificial difficulties to making things look good?
Nice tips but I already knew that in elementary school. The most important thing is not the transition after the college or university but your work and making connections WHILE you are studying.
- You must build your network while you are studying and find people who you like to work with (look at Facebook?). Of course that depends on what University you are studying. Better University, better networks.

- Besides chasing girls and partying don't just learn to get good grades. Find something you like to do and work on it, your field of interest etc.

- Join all kinds of university projects WHILE you are studying that you think can help in your future job, career.
Ask your teacher and tell him: I WANT MORE :) Especially if he is well known and you think he is awesome. Work more then everybody else and show him your own projects. He will introduce you to other interesting people.
Latter in your life he can recommend you to someone or help you in finding a good job (maybe, you never know).

- Go to other lectures and find interesting people and ideas

- Don't enjoy your student life too much

If you work on all this your transition will be a lot better after you get out.
I studied with one of the best teachers and performers in my field and he used to say to his students: "Look at that guy over there (me), you have to be crazy like him"
> Everything I value - everything that makes my life great - including medicine, cuisine, art, travel, education, and countless other things, requires huge amounts of cheap, reliable energy.

here is the problem. cheap, reliable energy is something that will end in 20-50 years, depending who you ask.

>If these lame energy sources were truly worthwhile, their proponents would build a startup around it, start making a profit, attract private capital to expand, and make even larger profits.

there's no option for this because digging out energy without taking into account the price of pollution when selling it can't be beaten if the only thing that matters is the dollar. that's without government subsidies and tax breaks for mining companies.

>Instead, what they clamor for is government handouts, and laws to shackle the production of energy from sources that actually work.

that's because people like you can't be arsed to change their unsustainable lifestyle by themselves. go do the world a favor and read something about exponential growth.
A lot of Text Editors may act like IDE and a lot of IDEs are used only for certain kind of work. E.g. I'm using XCode for writing (i)OS(X) apps and SublimeText for web development!
It may take more than a day for all to be revealed.
I'll go with none of the above, i.e. nuclear.
If your line of through were true there would be sites famous among parents for their unexaggerated normal porn videos, so when you have the talk about how normal sex is you would also mention that the desire for watching other people doing it is also normal and you would mention those porn sites. Well, that is never the case; they just teach you about sex and then they keep pretending that you don't want to access stimulating content.
After we posthumously pardon Alan Turing, we should posthumously give Ada Lovelace the right to vote.
The UN fought the Internet — and the Internet won
current status of countries
http://www.itu.int/osg/wcit-12/highlights/signatories.html

map of the votes
http://imgur.com/yCNP8
It can't have more state. The initial conditions have just as much state as any later generation. The initial state is {off, off, off, off, off, off, ... }. That's just as many bits as any later stage.

That encoding is only viable if you restrict the game to a finite grid.
> so the ghost of Alan Turning doesn't haunt us eternally...

If giving him the pardon gets rid of software bugs, it's a small price to pay for a great gain.
Brand yourself as a generalist. It helps if you work for a company that does a whole gamut (from hardware to GUI-level software). Also do side projects in a totally different area from your work. I was (am?) a hw engineer but had no trouble selling myself as a software guy by emphasizing the software work I've done and my side projects. If you still remeber algos and datastructures you can blast through the interview once you get your foot in the door.
As long as frequently is considerably less than 1% of all births in the US (and significantly less in other parts of the world).

1.5-2% of children are adopted in the US. About 50% of those children's parents adopted due to infertility, of which an even smaller fraction is voluntary infertility.

I wouldn't say that is something that humans due frequently, and is probably limited to a small set of cultures, and an even smaller subset of parents with both the knowledge and fortitude to make that decision.

I'm an adoptive parent and know several dozen other adoptive families. I have never personally met someone who chose to adopt to avoid the risk of passing on genetic abnormalities.
Meetups are a great way to meet people.

And if you can't find one that interests you, start one yourself. You have to pay but you get to pick the location, making it most convenient for you. You actually come out ahead. And most people really appreciate that you made the effort.
Generally there is no way for one degree to get you 'a broad base of understanding across a wide variety of areas'. Most degrees are going to get you a semi-deep understanding of only a couple area, and then a very shallow understanding of a few more.

My university went into a semi-deep understanding of complexity theory, graph theory, logic and a few areas relating to bioinformatics. I also got a shallow introduction to logic gates, assembler languages, java, etc etc.

Most university degrees are similar with the emphasis changing around a bit. I feel a university degree is still very important as it gives you something far greater than a few pieces of theory: an understanding of how to learn more.

Most self taught programmers will have gotten their knowledge from experimentation, books, Google searches, and sites like this one. In general, they aren't going to be able to grab academic research from the 60s in optimizing graphs and apply that to their code when needed as the type of language and math involved is going to push them away. Meanwhile, a CS grad has probably had to go through these types of papers for their degree and will understand how to approach them. The confidence of doing it before in their degree is also incredibly important when reading something that looks like Greek.

EDIT: And don't knock the knowledge you can gain from a paper written by some professor back in the 60s - the concepts, algorithms and recommendations are nearly always just as valid today.
There is one link in facebook.com footer that I need to access occasionally (developers). But not so regularly as to bookmark it. So when I do need it, I do a middle-click scroll, move the mouse to the bottom of page and try to click on that link. It works after 2-3 clicks.

Yes, abysmal.
I'm going to hijack this thread for some related opinion (sorry):

For those who _did_ get a CS degree, what things you learned from it do you use in your current programming work? and how?

Edit: or rather, what is the single most important thing you would want self-taught programmers to know about, that you find most don't?
I sure hope so! I didn't mean to imply that I have it all figured out. But I have to wonder how much a post-college transition article applies to me when written from the perspective of a "traditional" college student. Or at least the type who was a student and only a student when in college since a lot of the transition difficulties are centered around having to work every day and so on.
"This unholy, arcane stored procedure would only be run by a madman..."
I don't think most children really care about porn before puberty. So, I don't think it's really an issue.

I'm going to guess that you don't remember much of your pre-puberty childhood. I remember quite a bit from mine (1976-1985), including what the other kids talked about. Porn, and sex in general, were definitely topics we had strong interest in. But without internet access, our options were pretty limited.

PS: Most of the reasons to block porn also apply to adults. Why not block it from everyone?

It's not that anti-porn people think porn isn't harmful to adults. Most of them do. They just think protecting adults from porn is out of reach, while protecting kids from porn isn't.
This seems to work well -- I imagine I would use it if I were using a temporary computer, an ipad, or some such thing. What would be nice is if I could integrate it with dropbox or similar services, essentially use it to edit and compile files in my dropbox library. Also it would be good to use a standard editor with config files that could be saved to customize the environment.
> And it's coming a lot sooner than people think.

This is an indicator you hardly understan the science behind it. We barely have any understanding how brain works, so even if singularity is possible it is very very far away.
I was actually wondering not long ago if there might be some kind of cross-site scripting vulnerability implicit in rendering exceptions as html. Sure, you shouldn't have error reporting on to begin with but who even checks the source code of the exception pages themselves? You're paying close attention to the error itself after all...

Turns out yes maybe... https://nealpoole.com/blog/2011/08/cross-site-scripting-via-...
For some it works that way, but others find a partner helps them entertain and communicate. Even sending out the Christmas cards is a lot more likely.
A guide to working with Riemann
I'll make sure to link to previous years. In the meantime, here are the links to the 2010 edition:

Tasks: http://strangelyconsistent.org/blog/masaks-perl-6-coding-con...

Code reviews: http://strangelyconsistent.org/p6cc2010/
This resonates loudly with me-- I'm almost 35 and have been out of the university 5 years now.

On one hand, my wife paid her way though school and had a very similar experience of working FT (or several part-time) jobs).

It's only been since she graduated several years ago that (as a violin teacher) she's been able to schedule time into her life for things like vacations and the like.

On the other hand, I spent 10 years in the university, switching from CS to philosophy, getting an MA in English, and leaving a PhD in Literature after a couple of chapters in my dissertation. In that process there is a tremendous pressure to be constantly working on your project, and I simply don't have that now that I have been doing freelance web development.

Much as with my wife, the certainty of being able to find however much work I need has really allowed me to throttle back on feeling guilty when I'm not pushing forward on some project or other (or, perhaps, just allowed me to feel less guilt on pushing forward on non-remunerative projects like becoming a better musician or learning a new programming technique/technology without a direct short-term payoff).

If I could add anything to the OP, it'd be this: taking a full time job that doesn't mark seasons or develop you into some new person isn't inevitable. IMO, your plan to seize new found free time is much more profitable than giving into the flow of "Wednesday just being Wednesday".
People are... completely out of touch with the scale of our industrial infrastructure.

Cities us 3% of the Earth's land surface. Fossil fuels inject power into earth at a rate 3x the tides. We intercept about 30% of the total power generation we could get from rainfall.

On the topic of energy storage, for the USA you'd need a lower reservoir approximately the size of Lake Erie, and a flow rate 150x that of Niagara Falls.

http://physics.ucsd.edu/do-the-math/2011/11/pump-up-the-stor...

I'm not saying it can't be done -- energy storage at this scale has to be done for a switch to renewables -- I'm saying that the scale is absolutely immense.
Strong AI would could potentially dwarf all past profits, you're simply not correct.