skysight-inc/HackerNews huggingface dataset:
Not that I am a C++ fanboy, but your list is sort of orthogonal to what I would list.

1) Header files. They don't improve your code or your build process in any way

They improve modularity. I have a header for each module which list the functionality exposed from that module and nothing else.

This avoids leaking implementation details, helper functions, etc. and it allows me to “ship” the module in binary form (a static or dynamic library).

2) Having exceptions without having garbage collection.

As for your example of container classes, the problem (IIRC) is to not leave the container in an invalid state, when the exception is thrown, e.g. if you insert a range into a vector, and an exception occurs in the middle of this, you need to rollback before rethrowing the exception.

Relying on the rules of when objects with automatic storage are destructed actually makes this easier than not having automatic storage (but instead a garbage collected heap with non-deterministic behavior).

3) The template mechanism is too general and not a good fit for many of the tasks that people are trying to solve with it

The C++ template mechanisms gave us STL, something the author said no other language allowed him to create, and something I am truly grateful for having been exposed to in my career.

While I don’t particularly like many of the uses of templates in boost, i.e. the template expressions you refer to (like faking lambda functions) I don’t consider it a mistake to have introduced a flexible compile-time macro system. I mean, everything can be misused…

4) Strings should've been built in, and done right

Strings weren’t really “designed”, many compiler vendors did their own string classes, and the standard tried to adopt sort of a common denominator (I mention this since your list is issues with the C++ design).

As for having to be built in: I don’t think types beyond the most primitive stuff needs to be built in, but the language should allow the user (library supplier) to introduce new types that look and feel exactly like built in types, that way, we can also get regexps, matrixes, associative arrays, sets, a.s.o. as types which feel like first class citizens.
I can sympathize with your situation. When I started programming, I felt the same way and had similar experiences. What changed? I read SICP. Programming hasn't been the same since.
25,000 sex website passwords exposed by LulzSec
Three Japanese hotels top this list:

http://en.wikipedia.org/wiki/List_of_oldest_companies
>>Why stage? Git’s flexible: if a, b and c are changed, you can commit them separately or together

This is the saver I would say. More often than not it so happens that once I am done with an implementation/issue, I get carried away (I am working on fixing this habit) and continue writing code in order to get as much out of me as possible and then suddenly realize that one of the earlier fixes should already be in the repository. Thats when git staging comes into picture.
How about we all just admit that "OO" has multiple meanings?

There is OO as a style of software design: we give data the responsibility for providing an interface, which is encapsulated with the data. And the same interface can be used for multiple types of data, thus freeing code from needing to know what type of data it is dealing with.

Python can be used in this style, but it doesn't have to be. I've done plenty of Python programming without using it. And, although no one calls C an OO language, you can program this way in C, if you want. It's painful, but not impossible.

OTOH, there is "OO" as language features, usually mechanisms for encapsulation & instantiation, with some kind of dynamic binding capability, such as Python's classes/objects.

In that sense, I agree with you: Python is an OO language. On the other hand, in the first sense, I agree with the article author: Python supports OO programming, and it also supports programming in other paradigms.
I'd argue the intern part may not be necessary. If he has skills like he says, he could probably just about land a front-end web developer job for a few months with decent pay.
Man, it's pathetic. All those clearly very intelligent people at Facebook, and they are working on what is basically a dating site, where you can poke people. Come on retards (yes you can be intelligent but still be a complete fucking idiot), why don't you go solve real problems in the world?
Why I just give up on the Linux Desktop
The Khan Academy site has linear algebra videos for free: http://www.khanacademy.org/#linear-algebra

Also, Octave is a free software package similar to Matlab that I imagine could be useful when learning linear algebra, to see instant results for problems that you are trying to solve without a computer.
Find a problem, solve it with a program. Try to do it yourself, and every time you run into a barrier look it up. At your age, don't worry about mastering code by specific languages -- those syntax concepts will come in time as your mind grows. Right now focusing on playing with problems and solutions.
Peter Norvig's review of SICP on Amazon
I'm unclear what you mean by the "hip term of the moment". You are aware that that term has been in use for at least 30 years, and most likely longer, right?

And yes, TechCrunch started as being about startups.
I just get developer ads :)
Actually there is... time and focus are limited resources.

Meetings and discussions should be focused on one topic---say for instance stopping the abuses of power by a genuinely totalitarian government. If we want to talk about the encroachment on civil liberties in a social democracy, that is good and well but it should be held at a different time.

Conversation about the former shouldn't suffer from interjections by proponents of discussing the later simply because its an issue that's "closer to home".
First, because Python's iterators are a way of forming a wrapper around an arbitrary data set. This is in contrast to (say) C++ iterators, which are merely pointers into a data set, and so it takes two of them to specify a range of data.

Second, Python's "for" construction, along with imap and other such things, mean that we can program with iterators, without treating them as mutable objects; they merely wrap the data returned by some computation.

Third, Python's iterators have no write capability. Again, contrast this with C++, where output iterators are the usual way to answer the question, "What do I do with this data?"

Add Python's "yield" to the mix, and the result is a very natural, efficient way for a function that computes a large data set, to return the entire set (functional style), rather than writing it somewhere (very non-functional).
Angry Birds for Nokia 5800
I'll second this. Seeing how an establish company does software ( revision control, testing, rolling out updates, etc.) taught me a lot about programming that I don't think I would have learned anywhere else.
I looked into it. Go neither provides you the safety of immutable data structures nor the freedom of direct memory manipulation. You're still expected to track who "owns" what struct so you can avoid concurrency conflicts, though it does provide nice mechanisms to pass that ownership along (in the form of thread-safe buffered queues.)

I am going with libtask and zmq in C for now.
That's a poor implication.

Censoring an entertainment television show is not as oppressive to the general public as censoring political discussion.

If you censor political discussion, you can't even talk about how bad it is to censor anything---televisions shows included.
How Tyler Cowen's e-book became a physical book
The previous post is explicitly referring to a situation that involves gross abuse of rights.

Which I said nothing about in mine.

One might speculate that I omitted such reference because I found no particular fault with what was said about it. I might even agree that domain seizures have various bad properties. If pressed, I might even acknowledge that my objection stems from the same root assumption that people have rights and that having those rights violated is not cool, merely taken to the potentially heretical length that it remains not cool even when it's not a government doing it.

Alternately, one might conclude that because the banner I wave is not purest White that I must be the vanguard of an approaching army of Black, crusading enemy of freedom and probably no fun at parties.
Well, the tools may be awful, but designers are not easily persuaded to change their tools. Even today, Photoshop trumps Illustrator in popularity. There is no workflow from PSD to HTML other than a secondary market of slicers. If MS wished to succeed, it had to bring the same familiar workflow into the process.

The workflow was very dev-centric, and that's why I think it failed to take off as MS would like.

+1
The biggest thing that is still in the language that they should have removed early on is the native XML syntax support. If I were them I would take it out in 3.0 and break from that bad decision.
U.S. may have Unlocked iPhone 4 option Wednesday
No - I looked at it, but when I need such a low level language I want the added control I get from C/C++ and the ceremony needed to get Go to do something is almost as much as these languages.

Personally I will stick with Scala, Java (for Android) and C++ (for when performance actually matter).

I guess it would have been different if Go had been available ten years ago. Now it feels like D, a good idea with a good implementation, whose time has come and gone.
The term in relation to technology. It seems 90% of what people now refer to as a "startup" is a dumb website that someone made in a couple of days that has no real business behind it and will never be anything more than a dumb website. People will eventually stop calling every damn thing on the internet a startup and it'll have meaning again.

Techcrunch covers technology, not "startups", it covers big companies (Google, Apple, Microsoft etc.) actual start ups and other technology stuff. The same is here at HN, a lot of what is posted here as a "Startup" isn't and it's people just using the term because it's hip. Like "app" and "social media", it's a fancy term people like.
Loosely stated, imagine that atoms can be arranged in a very large number of configurations. Only one of those will be "perfect", i.e. a perfect crystal structure. The rest will be defected in some way or other. As the size of the system increases, the amount of defected configurations also increases and the greater the chance it will have a defect. This is due to entropy/thermodynamics, depending on your interpretation.

That's it in a nutshell, I'm sure someone else can clarify.
"he takes a picture of his plate with his mobile phone, which then logs the calories"

Is this real? Am I missing something? I can't imagine that there exists some sort of app to automatically identify the caloric contents of food simply from a photo. But then, what sort of tool could he be using for this purpose? Is this just journalistic liberty being taken with the idea of keeping a food photo journal and manually-updated log of dietary data?
Why Windows 8 Is Not Fundamentally Flawed As A Response To The iPad
pachube.com is a nice place to post this kind of data too. They have a nice api for this.
You'd think that "the internet is forever" and "machine learning exists" would be sufficient to make people much more interested in safeguarding their privacy.
Hey email me: shahedkhan30@gmail.com
I'm 16 years old, and own a start-up, would like to give you more info about it!
Review My Startup: Getridofit.com - A marketplace for junk removal.
It's called Meal Snap. I've never used it myself but mashable seems to think it works well.

http://mashable.com/2011/04/06/meal-snap/
Right on, and I'm with you there - causality violation is a nasty nasty thing in physics, and causes all sorts of problems.

Even in GR, you can sort of allow causality violations if you're talking about field theory, but it's not pleasant; the problem is that the usual existence/uniqueness proofs (things like "If a solution to the field equations exists on some spacelike slice of spacetime satisfying a bunch of conditions, then there exists a (maybe unique) solution if that spacelike slice is carried forward in time", roughly speaking) usually rely on strong causality assumptions, and for instance it's pretty easy, depending on the situation, to come up with initial field configurations that have no solutions as they're swept forward because of closed timelike curves further along the manifold.
Ah, interesting. I'll have to tell that to my dad, who always told me that Delphi was one of the earliest self hosting languages.
Another thing to be added to the long list of things that John Sculley screwed up.
"have even less respect for the Economist." <-- is that even possible?
Gosu has the same dynamic feel in a statically typed JVM language, with much less complexity. (I should mention Fantom too, although I'm much less familiar with it.)

Artima appears to have gone all-scala-all-the-time at some point in 2010. Weird.
Interview with Bill Gates
Are Mac HDs that hard to get at? I thought most computer thieves (at least with PCs..) immediately put up a sell ad on places like craigslist or somewhere while they copied the HD and possibly wiped it.
I launched Getridofit.com last month.

So far about one hundred independent junk removal teams have signed up around the country. I have been running campaign on Google Adwords to get customers. We have done jobs in Phoenix, San Diego, Los Angeles and San Antonio. Hopefully many more to come!

I am new to programming and spent about a year learning the basics of PHP in order to get the site up and running. I have a lot to left to learn, but I put out an mvp.

I would love any feedback or questions from HN!
Awesome.

Do you have any preferences? I started out with doing web related stuff and in the end I noticed that I preferred lower level stuff such as C/C++.

I was in a similar position as you a couple of years ago (21 now) and I would say focus on learning more about programming. But, build stuff that is a challenge so you learn new stuff every time.

If you're pretty smart, you should have plenty of spare time. I loved high school because it was pretty much the only time where I had unlimited time to hack on stuff.

As for what to do next, tutorials can only get you so far. I'd say try out some languages and once you decide what you like most then get an (e)book that explains the basics of the language; there are usually good threads on stackoverflow as to which books to get.
I feel like this is old news... I mean there are so many high profile tech companies being hacked, a random porn site seems like an easy target.

Is there a point behind this?
I'd make the border around the pictures black. For example:
http://www.conman.org/people/spc/about/ or http://boston.conman.org/2007/01/21.1
I suppose one could argue this... but it's a pretty shallow rule of thumb. Perhaps your competitors' offerings truly are incomplete, or you've manage to pull off a product that includes more, effortlessly? Perhaps the items in the list aren't that major?
I never made such a judgement. I would agree that, in general terms, censorship of political speach represents a greater degree of oppression.

However, that's not to dismiss the oppressiveness of our current copyright regime, where the content industries are lobbying for even non-commercial infringement to be criminalized, and our government seems largely willing to go along.
MealSnap uses MechanicalTurk to do the job
http://dashdingo.org/post/4391031302/how-mealsnap-works
The advice is essentially "'your startup should have less features than the competition, because you're a startup". That would work well with being a one-slide startup.
"it is difficult for me to pick up new technologies" - This is true for everyone. It doesn't just happen. The more you learn the easier it will get. For example once you know the basics of UI programming on one platform the skills are transferable. The first time you do UI programming you try and figure out things like: controls, events, things that handle events, etc. But when you go to the new platform you understand those concepts and are just learning how to think about it using different APIs.

In terms of learning all the things you said were good. One thing is to just build something that solves your problem. So you are 15 lets see problems I had at 15 that could have user a software: jobs I had in high school had schedules that somebody did in excel. People were always rearranging their schedules. Things getting reprinted. So that might be a problem you could solve. Though, it sounds boring right? But my point is look around at problems you have and solve those because it's easier to see what the end result is like, work towards it and learn things on the way to getting to the goal.

Have you seen some apps in the AppStore though? Lots of crap. Lots of good. Many are mediocre. So I wouldn't worry too much about building a crappy app because it will likely be better than most. Just make sure it solves your problem even if it's make a game to be entertained. Many of the apps that are "great" are not one person. They are a few designers and developers who have years of experience behind them.

The whole webos thing, good job, but you are right (and mature) to recognize that making a buck quick buck won't always last. So building up other skills is important. That way when an opportunity arises you can jump at it fully prepared. At the same time if you like webOS and enjoy developing for it why not continue? In 2006 Cocoa programming wasn't really the cool thing.

As for algorithms, Project Euler and ACM Programming problem sets are good. ACM problems can be quite difficult so don't get discouraged. Most professionals I know would struggle with them. So they are by no means something that have to be mastered in order to be successful but doing so would not hurt. As for getting a head start on college keep in mind many people enter college not knowing how to program (and many leave that way). So you'll learn the math behind the algorithms in school but how to program them you'll have to teach yourself and/or learn from others.

Lessons:

1. You won't make money without hard, boring, and dirty work

2. It is unlikely a single individual is behind many of the toys, gadgets, apps and things we love in life. A team of people is far more likely.

3. http://norvig.com/21-days.html - Because learning doesn't happen overnight. Getting really good at something takes time. Lots of time in fact.
Science is older than you think. Science is making experiments, recording results, and trying to figure out what is going on.

The oldest clearest example of science is alchemy. Today we know it's impossible, but back then they reacted a tremendous number of compounds and carefully recorded the results.
And I know many many people who view programming as boring and love setting up experiments and assays. I was the only person in my group who looked at computers as anything more than a convenience.
Facebook is a mish-mash of previously existing communication technologies, mainly being presented to people who haven't used the prior forms extensively.

A chat system, a 'twitter' like system, a limited blog with comments system, photo sharing with comments, and the familiar followers/contacts that many site have these days.

While amazingly successful, I'd hesitate to call Facebook 'a technology'. They haven't pioneered much except for jamming all that stuff together for a very large audience..
Can you make pasta with whole grain flour? I'm not sure milling techniques available in those days were able to make the right kind of flour.

Also without fortifying the flour pasta is calories without nutrients. It's useful as a suplement, but dangerous to live on it long term.
This is not a contradiction. The best minds of our generation are thinking about how to make people click ads -- and it's fortunate that along the way some of the technology they generate happens to also be useful elsewhere...

But that doesn't imply that most of what they produce is valuable to more worthy projects, or even much of it.

I'm trying to imagine a world in which more of those great minds were focusing their efforts directly on solving serious problems.
Maybe I missed something, but there is nothing in there that gives me the feel of a dynamically typed language. What he describes feels more like Haskell than Python.
Well nodeJS is doing a decent job by having the same language on the server side as on the clientside.

css and html are both markup-lanugages and I find it very strange to add turing-completeness to a markup language.

well there are examples where this IS the case, look at LaTeX for example.

But having html as the frontend, and both clientside and serverside javascript as the backend is the closest that we can get at this moment.
You should try the weekend hacker:

http://weekendhacker.net/

There are also a few websites although I never tried any.
DSL for the Uninitiated
I find git-cola an excellent tool for separating a large commit into useful parts.
They are easy to get at but I think you might be thinking a bit too highly of thieves.

There is no perfect defense but there are plenty of funny stories about stupid thieves that got caught by software floating around the internet.
> 1. TechCrunch is now 22 times more prolific than its founding year

> TechCrunch now covers 10 times more seed-stage startups

quantity != quality

It used to have a lot less noise/signal ratio on TC, it used to have decent quality posts (and editors), and a TCrunched effect that barely exists now since a post gets buried quite fast given the post rate.

These days getting mentioned on TC doesn't do/mean much, you end up between a new iphone speculation or some non-story about [insert web giant here].
A whining anti-FB rant from a single POV gets 250 upvotes? There was no value in this link.
Wow, weird timing... I picked up a copy of The Goal at a used bookstore last week, and randomly picked it up and started reading it on Thursday, and finished it sometime late Friday night... and now I hear that the author just died.

I'm not involved in manufacturing, but I enjoyed The Goal considerably and thought that some of the ideas (at least in a very general sense) contained in it could be applicable in many fields... perhaps even software development. I'll be looking forward to reading some of his other titles.

Anyway, R.I.P. Mr. Goldratt.
Twitter Q&A dataset: What do tweeters ask?
The Black Swan and the Bell Curve
please elaborate? do you think its harmful because it influences people to reach for XML instead of another format?
Ask HN: Has anyone gone to SJSU for MSSE?
Not to turn this place to College Confidential, but I was wondering, is there anyone here who went to San Jose State for an MS in Software Engineering? If so, what was your experience there like, and was it worth it?
Facebook competitor? Use "mcsugamj" to JOIN
Over 1300 years old, and this is at the bottom of their web page:

"Please use Netscape Navigator and the Shockwave plug-in to see this site in its full majesty."

I'm curious what it will say in another 1300 years.
I read their state summary of Cali and their "solutions" were just weird. They prescribed to just out-right cut spending, without specifying anything in particular, just the typical "cut spending". Also, gun control being a limit to freedom? What a strange way to view the world.

Politics presented as research are not useful for anyone really.
I think we are not the target audience for this article...