skysight-inc/HackerNews huggingface dataset:
Yes but a lot of them come with 100 to 500MB free of data everytime you top-up
C++11 is a vast improvement, for me, over earlier versions of the language. I still think it's a mess of a language, and the usual caveat applies (no one knows all of C++ well -- know what subset you're using and be aware of what you don't know), but it can't be dismissed.

Should you learn it? There's still a ton of software written in it and it has one of the best compiler ecosystems; for many applications it's one of the only practical options for a production system. Every programmer should know enough C++ to understand templates, RAII, operator overloading, things like that, if only to compare with approaches in other languages.

Should you build new systems in it? I would avoid it if possible, but once you learn the language, hey, maybe you'll love it. And if so, there's no shortage of C++ programmers to work with you.
Because we both are on Facebook, and check it quite a bit, and despite everyone saying "just pick up a phone" Well, sometimes when I am free, she's not, or vice versa, and it's easier to just make a post on their wall and say "Hey, how's your day going?" and let them respond when they get time? Plus in her situation it's a lot easier to let everyone know that her mother had passed by posting a status on Facebook than it is to call/text every single person.

We're not teenagers, we have our own lives, we meet up when we can, not every day.
Obviously he's a little biased but Bjarne Stroustrup recently shared some insights about C++ that might be useful in this discussion: http://electronicdesign.com/dev-tools/interview-bjarne-strou...
I have used many languages professionally and in my personal projects. Java is the language that makes me most productive. Why? It has the best tooling support. There are a few things that is extremely important for my productivity:
- Precise autocomplete
- Jump from a name to its definition
- Call hierarchy
- Code template
- Auto formatting
- Great unit test support
- Stable and high quality debugger
- Hot swap
- Drop to frame during debugging
- Remote debugging
- Profiling and heap analysis

Recently, I am working on both a very large C++ code base and similarly large Java code base. In C++, I find myself routinely use logging and printf for debugging, because switching to debug build and use a debugger is such a pain. In Java, debugging is much easier. The feeling is like night and day.
I hate these kinds of posts. It's a guy who thinks he knows more than he does trying to tell the most successful social network in history how to make things 'better' for an extremely tiny sample size that he thinks is much more significant and representative. It's just so arrogant and short sighted and comes at it from such a limited perspective. That's bad enough, without it being coupled to the fact that facebook is completely free and optional and no one is forcing you to use it.
Come on - 'a "sucks" site' implies one that is wholly, disproportionately, and/or subjectively critical. fixubuntu.com is none of those things. Shuttleworth's wording was - I think, intentionally - used to disparage and discredit it as a source of useful information.
I don't understand why people are "friends" with people they don't care about seeing updates on. Or why they don't ignore them. But I don't really use Facebook anymore so maybe that's not an option?

Try Google+... You choose who you want to see, and they don't have to choose to see you. Such a better way to get information you want. And circles and communities make that so much more useful.

Of course it probably helps that most of the people that spam Facebook with games they play and emotions they describe don't use Google+. Or I should say most people don't use Google+.
Correct me if I'm wrong, but aren't Kik Cards exactly what you're looking for?
We had been using hadoop+hive+mr to run targetting expressions over billions of time series events from users.

But we have recently moved a lot back to mysql+tokudb+sql which can compress the data well and keep it to just a few terrabytes.

Seems we weren't big data enough and we were tired of the execution times, although impala and fb's newly released presto might also have fitted.

Add: down voters can explain their problem with this data point?
No; learn C, because there is a lot of C code out there, and then learn a high-level language like Haskell, Lisp, OCaml or Python. C++ is only worth knowing if you need to maintain legacy code; if you are writing new code you should steer clear of it.
Two reasons: people form habits early and young people are hard to reach.

The first one is simple: Facebook and other social apps are about network effects and habits: checking daily to see what your friend are up to, while sharing the same. I'm not sure what the stat is in the past year, but for every year since it started the most stunning stat to me was that 50% of their users checked every day. When the habit starts to erode the network effects can cause acceleration, raising questions about Facebook's future.

The other reason is that teens are a very hard demographic to reach. Twenty years ago, companies could air commercials on MTV, put ads on FM radio, and create full page ads in magazines to reach teens. Today, teens are doing a lot less of this. As a result, companies that can reach these younger audiences can charge a hefty premium due to scarcity. You're a highly desirable demographic as well -- 25-44 with disposable income. But they already have ways to reach people like us.
This sounds just like when I was a teenager, and everyone used AIM and ICQ.
And what happened? Google Desktop Search was discontinued in 2011.
Thats not an answer to the question about interoperability. Java/C interop is a complete pain so the world is divided into two, C (native) libraries, which the non JVM languages can mostly interop with, and the JVM libraries that JVM languages can use. Most stuff is implemented eventually twice.
It might help in a couple of fringe cases like debris hits. You'd murder the aerodynamics though.

Pretty much every other area will suffer too - handling, aesthetics, fuel efficiency, manufacturing complexity, battery replacement etc.

Its just a horrible trade-off.
There's a big difference between burn and explode.
How can I make myself feel better about what I do by trying to diminish the work other people do using the same technologies?
If only there were a messaging system that was A) standardized, B) available world wide, C) decentralized from the control of one corporation, D) available on every platform, D.2) with instant notification on mobile devices, and E) everyone was already signed up for.

coughEMAILcough.

As far as I'm concerned, the only reason people like Facebook is because the email listserv is not very discoverable. Sometimes, you want to be included in the stream by default but don't want to participate right away. An email chain is too easy to exclude people.

I use Facebook only insomuch as I have friends who use it and send me messages through it. Most of my "social" interactions through the internet are through email now, with groups of friends setup on lists so we can tune in and out as we want. It's easier to search than Facebook's past, too.
What if product managers were trained to be more like sports coaches? Motivation, the right game plan, and working hand in hand with other products managers? Doesn't an organization like NASA work somewhat the same way? Different teams tackling different parts of a project and ending up with a rover on Mars?
The news article is from January, 2013.
Then you can't use C libraries with it.
Posted Jan 15 2013, am I missing something?
Your question is probably driven by the fact there are a lot of languages which allow you a greater level of abstraction.

The answer is "it depends" (of course!). If you plan to hack into some kernel source code, device drivers, legacy software, or high performance softwares, probably it's worthy.

My advice is: once you learned one language for each type (functional, procedural, object oriented) and a scripting language (python, perl, ruby, ...), then get a project and learn while hacking.
To be clear, my servers are clients of each other and all is asynchronous.
I would say they still have a year or two's growth left if they don't come up with something new. Even though the growth is slowing down, I think they are improving the way they make money (more/better ads on Mobile for example). This would only result in better revenue and profits.
Good points here, especially on session length when related to logging users out.

I do however disagree with: "Anyways, the point of this is that in almost all uses, mobile site versions are god-awful." While the option to view the full site should always exist, there are enough experiences that designers would want different on mobile. There is a subset of power users who just want the full experience - but I think OP is generalizing here.
Its absolutely true. Why would google disregard such absolutely accurate data about the quality of its presented results? Now, It may or may not be true that webmasters do this for that reason or they are just lazy. Doing specially crafted redirects (mostly from mobile to full sites) does it. Here is a example, where you cant press the back button

http://m.washingtonpost.com/local/adams-morgan-hate-crime-wa...
The main reason gasoline engines catch fire is they overheat - i.e. not due to an accident, but rather poor maintenance.
So when you read statistics on car fires you should try to exclude those if you can.

Then to be fair, one should also take into account the increased reliability of the electric drivetrain.
Kernels and device drivers are written in C, not C++.
It's effectively asking a coding style question. How is this not fair?

Is asking coding style "religious"? I must argue: "That's, like, your opinion, man!"
Yeah, I'm sure that Clang, the new compiler that everybody is so fond of, is "legacy code".

Oh yeah, let's put Chromium, Firefox, and all of KDE on that list too.

As a person who is proficient in both C and C++, I find this constant war ridiculous. Neither languages are obsolete ok? Which one is best for you depends on the circumstances. Stop speaking in absolutes.
PHP Console
I think C++ is still considered the "industry standard" in games programming, for whatever that is worth.
I too would think that the redirect links from Google are search-instance specific.
Also, quit asking for a username when I go to recover my password. My email address should be sufficient.
You sound like you disagree with their conclusions?
Or do you just not like the Guardian?

Either way, it would be more interesting to discuss your own opinions
We are far, far from hard AI. If anything, this article shows that we're only just now starting to ask the right questions. And that's even debatable. Plus they're very hard questions.

The problem is we have no theory of intelligence, no theory of psychology. Research in the cognitive fields is fractured, all about tiny insignificant phenomena with little relation to anything else. Our best theory is "the brain is like a computer" which is, frankly, a terrible theory.

Here's something I find more promising: On Intelligence From First Principles: Guidelines for Inquiry Into the Hypothesis of Physical Intelligence [1]

In short, what we really need to understand is self-organization and non-equilibrium thermodynamics. Not image labeling.

[1] http://www.tandfonline.com/doi/pdf/10.1080/10407413.2012.645...
I think you should motivate 'best' :).

In general, Kotlin is a good candidate for the next Java. It removes a lot of boilerplate from Java and makes it more powerful (e.g. through extension methods), without becoming an enormous language such as Scala. It is a predictable language for anyone coming from Java.

Kotlin's largest competitor is Java itself. Java 8 does provide a lot of the advantages that Kotlin had (e.g. closures).
Software development is not an easy gig, either:

a) those of us who are good at it have spent years and years at it

b)the field keeps evolving at a rapid pace. Yesterday, it was Java and XML and SQL. Today, it's Ruby, cloud, and Docker. It's a pain in the ass to keep up unless you are genuinely interested, or carefully find an evergreen niche, or a gig at Google which will compensate for not staying sharp.

c) remote jobs are on the increase. I am the happy employer of an IT person in India who wants a non-traditional job (he wants to work only half a day), but has 10+ years of experience, is fairly intelligent (has a mathematical conjecture to his name), has worked in Lisp, has a degree in AI, and works for $833 per month. All the brouhaha about the H-1B visa is direly misplaced; the tournament is on the other court : outsourcing via remote employment. There are a ridiculous number of job sites that advertise remote jobs, and a good number of employers are able to get themselves to trust remote employees enough to reap the cost benefits. In IT, you compete with the world, literally. In traditional banking and other "locale specific" / seat-warmer-is-a-must jobs, you probably only compete with the rest of the folks in your city.

d) The barriers to entry to a programming job are falling every single day. Previously, having a degree was a must. Now, you could be a dropout with great self-taught Ruby on Rails skills, and you're in. This is a positive IMHO; people in programming are much more ready to break convention and I'm proud to be part of such an industry. I have tried to help a couple of waiters and electronics salesmen transition to a programming career, too. But it means that the field is that much more competitive, too.

Sorry to sound negative; I really don't want to encourage you to get into this field unless you are genuinely passionate about it.
Yes.

C++ is one of the few (maybe the only) languages that gives you enough high-level features to be productive, but doesn't do so at the expensive of ruthless runtime efficiency. If you need to squeeze every ounce of juice out of a machine, but still require the ability to create good abstractions, C++ is for you.
worth is based on expected outcome and necessary investment ==> different for everyone.

However, for a quick & dirty answer: no, go with C (much more universal).

On another note, if you wonder if you should do, seems like you don't have a reason to... Why are you doing it?
Lee Harvey Oswald Was My Friend
Honestly I don't see where all these articles about 'teens leaving facebook' come from. I don't recognize the problem at all, I have 0 friends who are leaving facebook. Admitted: I'm in my early 20s and so are most of my friends. But except for whatsapp, messenger apps dont seem to be really popular here. Is this something that is specific to the US?
Well, there really is a difference between people who are reinventing wheels for good (because they really know their shit) and people who are doing it out of ignorance.

I think it's usually fairly easy to tell which person is which. (Person is either a bullshitter you can quickly catch out, or is smart and inspiring to talk to).
Watching this with my emerging teenagers. Their biggest complaint is that FB is complicated. They are super comfortable using stand alone apps for single use tasks. FB won't let them double tap a screen to love. It moves things around so they're out of chronological order. It all drives them nuts. Plus it's true that Uncles and Grandparent's comment and that freaks them out.
I am already familiar with C, as well as Python, Go, Java and a few other scripting languages.
I think that's very cynical to say because you could say that about the majority of the posts on this site. HN is a place for people who understand the issues/live in the tech scene to debate, discuss, and disagree with each other about issues like the article.
It was a great week for us. We are finally out of Beta. Any suggestion?
And tons of DSP.
Yes, I agree. The point I was trying to make is, there is C# and Java left as top contenders with good IDE. And between those two Java with Eclipse is the most open and and free choice. (considering multi platform)
Social Authentication With Passport.js
Honestly, for me I get way more use out of a mix of C and Java. If I'm writing something complex enough that C++ is helpfully, usually I don't have as an extreme performance restraint. When I do have serious restraints, C has never done me wrong. Usually when I do something in C++ I look back at it and think it would have been easier in either C or a higher level language.

With this said, that's just me and the way the world has worked for me. There are tons of applications were C++ is the right answer and C could never fill the bill. If you just want to learn native and low level programming, learn C instead. Its simpler, easier to learn and has more use cases(Linux kernel, some OS-less micro-controllers)

So to answer your question, "ehhh... sure. maybe?"
Okay, what's the point of "Can I see the codebase?" if not to come to assertions about the caliber and organization of the developers, and their capacities, backgrounds, etc.?
In SN timeline you're a dinosaur.
I don't know that you have any data on that second section, but it's still worth pointing out that a great majority of apps that import your contacts through a contact book allow you to pick and choose who you want. And there's no reason why PIN codes and contact imports can't co-exist. It's a pretty big oversight on BBM's part.
Time to find a text version of cspan
Sorry for the shameless plug but, yesterday I've developed a simple app for the kik messenger platform called "Nearby".

It will show you a list with users sorted by distance, letting you know if the person is close to you or not. Here is a screenshot: http://imgur.com/88AIbgv

If anyone has kik installed and wants to try it, simply open http://nearby.pw on your phone and it will start in the kik messenger. It hasn't been fully optimized yet, so if you find any bugs please let me know.
Yes, this is a problem in bash. In zsh you can use temporary files for process substitution, like this:

vimdiff =(ls /bin) =(ls /usr/bin)

You can use it even from bash:

zsh -c 'vimdiff =(ls /bin) =(ls /usr/bin)'
I think this sentence embodies the biggest problem with C++:

"...abstraction mechanisms that allows programmers to express ideas beyond what I can imagine with no overhead compared to hand-crafted code."

This is superficially similar to the Lisp community's "sufficiently advanced compiler," but in C++ it really means that high-level features are thoroughly undermined by low-level concerns (as opposed to just being slow until better compilers come along). Other languages seem to get high-level abstractions right, in the sense of exchanging a constant-factor loss in performance for a large gain in programmer productivity.
Interesting, I'm using it for protein localization prediction, PTMs, and NGS data.
They still charge $0.99/yr after the first year (which is free).
Depends on the kernel. For example a large part of the Windows kernel is written in C++.
arbor networks

ch2m
Isn't BBM cross-platform now?
Im an istanbullu whos been living in vienna for almost 4 years now. First of all, i do think that vienna is a far better option than istanbul as a whole(including living costs if youre willing to live in a WG-sharedflat). In istanbul people tend to use old and outdated technologies, so talent is quite rare but if u can find some, they will cost u cheaper. Somehow i spend less money in vienna than i do in istanbul, its quite strange i know but thats a fact! Infrastructure in istanbul is quite lame too. Obtaining an austrian living permit should be pretty hard if ure not an EU citizen, i have a student visa. Berlin is probably the best bet, i agree. I just dont agree that istanbul is a hacker-friendly place.
I tend to write a lot of systems-level code, and the reason I choose C++ over C is because C++ gives me more power to build useful abstractions, while still letting me drop down to the bit-twiddling level if I need to. I do enjoy high level languages (in particular Haskell) but C++ is still the king on my servers.
Okay - you've identified one particular scenario where Facebook didn't correctly work out what was important to you. But I'm curious to to what you think "let it be natural" actually means.

We can immediately discount a naïve timeline of events. Say events will appear in the timeline when they originally happen – that's not going to work, because it's be buried within an hour or two, regardless of the importance.

Maybe events' places in the timeline could be based on when they were last "updated", as in liked, commented on etc. – that's probably more appropriate, but raises prioritisation questions. And let's say somebody catches up after a week, and comments on an older status - does everybody need to see it again?

So something more complex is required - the simple timeline's no longer appropriate, even in relatively straightforward cases, given the volume of friends that many users have. It seems pretty obvious then to build something like a friend graph, with edges weighted based on e.g. frequency of interaction and mutual friend count, and use that to weight news items. As far as I know, that's what Facebook is doing.

Personally, I do prefer the simple timeline – but that's because I've been using Facebook since it was first available at my university, and I don't have a huge friend list. But I appreciate that's probably not applicable to most users, and when I do look at my news feed, it does seem to do a pretty good job of prioritising things I'm interested in - especially if you engage a little bit and downrank/hide posts that you don't want to see.
The best and most widely used libraries and interfaces for a given problem always seem to be C++ or C.

I think it differs hugely per case. E.g. there are not great C++ or C libraries that provide functionality of Akka, Guava, or Java persistence.

On the other hand, nothing in Java-land beats Qt, Cocoa, or Eigen.

But I agree on interoperability. Interoperability within JVM-land is pretty great. But it is far easier to write a good binding for a C library in e.g. Python, Ruby, Go, or Haskell, than it is in JNI.
Python yes as it is helpful in many different places but Haskell and OCaml?! I know this is HN but these languages are pretty niche and only really used to any serious degree within academia. C++ is still one of the most flexible languages for application development on every major platform and with C++11 it has had a massive resurgence. Compare how things were a few years ago to the massive amounts of work places like Microsoft are putting into their C++ technology offerings. Visual Studio 6 all the way to Visual Studio 2010 had god awful C++ support outside of what Microsoft wanted to offer. With 2012 and now 2013 things are a hell of a lot better. Check out Microsoft's GoingNative 2013 stuff.

As for C it is a great language but it is pretty much only for either old stuff or system level stuff. In the real world I see people pick C++ over C if possible.