skysight-inc/HackerNews huggingface dataset:
As has always been the case, effective use of modern C++ requires knowing which subset of the language to use and which to avoid.

I agree with the author's criticisms of many C++ features. At the same time, I think that a proper simple, modern subset of C++ exists that is much more productive and safer than C, without sacrificing performance. You can also optimize progressively, for example start with using std::string and std::vector and then replace the stock implementations if they aren't performant on your target architecture. I would not, however, recommend using C++ for GPU kernel code - a mix of C++ for CPU code and C for GPU kernel code works best. It is not ideal, but it's the best toolset available for serious industrial development.

FPGAs are exciting, but they've also been the "next big thing" in general purpose computing forever. Obviously it makes sense to use FPGAs for certain HFT and embedded applications, but that's not the same as general purpose computing which is what C/C++ is for. Not to mention, FPGA compile times can take hours or even days, which pales in comparison to most C++ template overhead.
I would also say that for IOT, I'm not sure why it is obvious that "$10 FPGAs" should dominate. Why not a $0.50 microcontroller? Or the $5 Raspberry Pi Zero board? Both of which are eminently programable in C and even C++. Embedded devices have been around long before "IOT" became a buzzword, and we can see that microcontrollers, FPGAs, SOCs, and custom ASICs all have a role to play depending on the application.
How tainted drugs “froze” young people but kickstarted Parkinson’s research
Flagship projects are not a good way to discretly "steal" money from Europe, see Human Brain Computing for instance.

"Semantic Web" did much better by having plenty of millions euros projects funded in FP6/7 and H2020 with absolutely no outcome.
You mean the Roman Emperor telling everyone they should be happy with less money, less food, less water, less everything ?

The Roman Emperor who got the position because he was his father's favorite nephew ? The Marcus Aurelius who got a special exception on at least 2 laws just for him personally from the Senate for his first job on special request from his father ? Whose first job was qaestor ("minister of finance" - sort of) ?

That Marcus Aurelius ?

Actions speak louder than words, and given the fact that this guy was an emperor (and is thus rather unlikely to have written those books himself) ... probably were a PR campaign. A very successful one, but mostly nothing more than a PR campaign.

Granted these are all cases of other people acting in a corrupt manner to provide him with advantages in life no-one else had. It doesn't necessarily reflect on his character ... however ... especially his succession ...
Thank you. I had a lot of fun with that as a teenager (and got into some trouble too). ;-)
The core user interface code in a point of sale system. I got a contract in 1994 at NCR to write an interface between the flagship grocery point of sale system and a new UI device called DynaKey. I was told not to polish it too much because they needed to get it out the door, and they'd go back and clean it up later. By 1995 I was writing the second version, which made the UI configurable. In 2008 I was back writing the third version, still in production today, but still built around the code I wrote in 1994.
Creating a swap file for tiny cloud servers
Am I the only one being redirected to a linkedin sign up screen?
The 14.9k LOC guy is correcto. Let's burn in a stick the heretic 0.1k LOC coder
Here's in markdown form: https://gist.github.com/mdamien/44abbef9e6c7099fd54f45bab257...
"Well, I worked at a HFT firm for a long time until last year, the firm places millions of trades per day and is among the most successful in the markets it trades. And what did we use? Only modern features. Lambdas, auto, unique_ptr, range-fors, even std::async -- everywhere in our code. "

FWIW, I have been on the industry only 3 years so far, but I also see modern C++ and boost everywhere. I'm aware of the obvious selection bias, but then again it also applies to the author: if a firm has to call an external consultant to make sense of their codebase, it wasn't probably very good to start with.
Nutanix Enterprise Cloud Lets MSP Focus on Customers Not Infrastructure
Mankind's Plan B, protected by polar bears :)
Actually be scared of powerful person that is not corrupted. They are willing to commit atrocities on much bigger scale.
From the Reagan administration: "Mistakes were made."
I find the beginning and end of the article quite contradictory. Basically that C++ is too complicated; and oh by the way we should start programming FPGAs, which are much harder to get right.

I like modern C++, because I think it simplifies a lot of things (RAII for the win here). Templates let you engage in duck typing, but with (if you are careful) very performant results.
But HE survived
Ask HN: What language do you use for programming Job interviews?
I was taught C++ in school during 2010 and in my undergrduate(till 2014). However I have been coding in Ruby professionally. Now I am in a bit of dilemma as to whether I should code purely in Ruby for interviews as well? I could brush up my concepts in C++ anytime. But it would be an overhead and introduce plenty of ways of making things go wrong(memory mgmt, pointers, bulky code, STL knowledge etc. Do I just stick with Ruby for everything where I can code comfortably now.
And if something is patently false I shouldn't be able to point to hundreds of examples where you're wrong.
I've had better response from @amazon than contacting them directly. My normal method now is to post first, then contact them directly. Direct contact has become their Tier 0 support.
PIMPL means "pointer to implementation" and the reason you and your colleagues are having difficulty with it is because you don't understand it, and therefore should not be using it, or, investing the time to understand it before trying to use it.

>every class has its own .cpp and .h file

Wrong. There are so many high-quality and widely-used libraries that are "header only".

>When I do any of these tricks, find that someone else later comes and makes a changes that introduces the extra #includes after all.

It is possible to write sloppy code in any language, and also to receive low-quality contributions from anyone else to your code. This is not unique to C++. That's why it is important that everyone in a team be on the same page about how code is organized.

>I am referring to writing a base class in the header and then doing the actual implementation in a derived class visible only inside one .cpp file.

This is not the PIMPL idiom, though it is halfway right.
Sure and trucks should not need a driver but they still do. 99% of the work mankind does does not really require deep concentration, including most of what the IT departments do.
Compiler intrinsics as Assembly replacement go back all the way to the 60s.
technology is a double edge sword. We'd better adopt a Snowden mindset.
so you believe that 0 web development jobs have been lost since the creation of squarespace/wordpress?

You believe that not a single datacenter has shuttered its doors since the success of AWS?

You think that every single person who was developing game engines for every one off indie game is still doing so after the success of various game engines?

Youre being obviously defensive here. Programming as a concept is obviously not going away, but many segments of the industry have already been taken out by automation.

>the end to programming since it became a profession

Would be as laughably ignorant as declaring the end of manual labor.

It will always continue to be done, but its need appears far lesser over time, requiring fewer people fewer hours to do the same tasks.

Automation isnt a sign on a door one day that says "shops closed, programmers dont exist anymore"

Automation is you slowly taking on more responsibility because technology makes that possible. Automation is the marketing team creating the company's website, because tools like squarespace have made it easy enough for them to do. Thats 1 web development job automated away, there's no pronouncement that we no longer need web developers worldwide, just that for an increasing number of cases, it is unnecessary to hire a specialist.
I like this: http://www.romhacking.net/utilities/269/

"Newer versions have been released, however contain poor documentation, and removal of features that can be found in v0.06. Version 0.06 is still considered the best version available by most ROM hackers until the author addresses the shortcomings of subsequent versions."
Perhaps go with 'degrades' which carries both connotations?
Stalkers delight
I am sorry to hear that and I totally agree that the open plan is not better for everyone, all I am saying that it is not inherently bad for everyone.
Ask HN: Your favorite open-source JavaScript Library for charts?
Which ist your favorite open source JS library for chart generation?

Basic requirements:

- Mouseover to show details/values

- Possibility to link parts of a pie chart to a "category" page for deeper statistics
I wrote a school system using ruby on rails 2 due to the upgrade on rails 3 syntax change. It was not able to migrate database and change code since I was 1 man team on the company. I asked the company for another to help me out with the migration or change because there are parts of the system that is memory hog. It was my first project and don't know much about memory consumption of the app. Until, we are consuming more cloud resource cause I don't know the bottle neck is.

All the employees are more on PHP than ruby. It was sold to 3 school and 6 years after. It's still in use. I'm out of the company and suggested to move it to PHP for the developers to easily manipulate and maintain the app.

I went out of the company due to increase in task/ duties that I can't handle them all (customer service/ programming/ server maintenance/ explaining to my boss that I need another ruby programmer to help me out)
HFT is one of those uses C++ is supposed to be particularly good for. Many of Stroustrup's justifications for C++ take the form "You get <set of features> without compromising performance."

The style outlined in your penultimate paragraph - an approach I also follow - suggests that there is some alignment between you and the author.
The Top 5 Easter Eggs in Python. You won't believe number 8
Not surprising that it's more effective than calling a phone support line that's typically at least two layers of outsourcing away from the company that you're trying to contact - and usually to some sort of high-churn, low-trained call center sweatshop[1].

The only thing less effective would possibly be trying to get help from a Microsoft/MSDN forum - "See this completely unrelated KB article for another product that doesn't work. Closed as resolved."

[1] I write some software that gets used in call-centers... It's exactly as much fun dealing with them as your customers as when you are their customer.
I think the author was mostly referring to meta programming / templates. You have to admit, they can get pretty obscure sometimes.

I agree, lambdas simplify callbackas/async programming immensely.
Show HN: Noisli for Android
Stick with what makes you happy. If you want to work in Ruby, target jobs that are Ruby/Rails oriented and keep on coding in Ruby. Unless you are interviewing for an engineer position that require C/C++ you're most likely better off sticking to Ruby jobs.

On the other hand I've had job interviews where they used a language I wasn't proficient in (Python, Scala) but they allowed me to craft the solution to problem in Ruby but expected me to port it to the other language. Employers these days seem to be flexible, especially when the candidate is intelligent and picks up technology easy.
Hi everyone,

I'm Stefano and I am one of the two Noisli co-founders.

After launching on Web, iOS and as Chrome extension, today we just launched our Android app. Yay!!

Quickly about Noisli: Noisli is a service that helps to drown out annoying noises so to better concentrate and to enhance productivity, and it is being used by office workers, developers, writers, students and in general by people that have to work in an environment which is either too loud or too quiet. Noisli is also used to help you to fall asleep, to mask Tinnitus and to help with ADD and ADHD..

Being a very small team and aiming for high quality standard in both experience and design, the development for Android took longer than forecasted and has sometimes been very challenging. But we worked very hard to make it happen and I am very excited of this new addition to the Noisli family.

As for every respectable product, we see the development as an ongoing process and there might still be some bumps along the way, but this is the reason why any feedback you might have is very precious for us and for our mission.

If you have any feedback or comment I'll be happy to follow up :)

Have a nice day!
Stefano
Compiling words to Assumptions
It was a rhetorical question that was incorrect. Every month is a little bit too frequent, but not by much...

https://hn.algolia.com/?query=openoffice%20tuesday

Probably because it gets mentioned often in addition to be reposted often.
Simpler explanation - people go with defaults. The default is no licence. So it is mostly github UI problem.
Once a large insurance firm was recruiting in campus and hiring ppl to maintain their old COBOL system
Do you expect police to come every time you see a stranger?
To save some readers some Googling:

European Semantic Web: http://eswc-conferences.org/ "Various automated services, based on reasoning with metadata and ontologies, will help the users to achieve their goals by accessing and processing information in machine-understandable form."

FP7: https://ec.europa.eu/research/fp7/index_en.cfm

H2020: https://ec.europa.eu/programmes/horizon2020/
DavMail + Thunderbird + the Thunderbird "Lightning" extenstion is pretty great. It gets you email, calendar, and active directory contact lookup functionality all without having to install Outlook. It's unfortunate that it requires Java though, because I try not to install Java on any fresh installs due to the security issues.
> The projects without license can in theory be considered open source (the source is published after all)

That is not what "Open Source" means.

> but legally, the copyright is still owned by the authors

In Open Source/Free Software, the copyright on the software is still owned by the original authors.
Your counter argument is a man whose nepotism ended the the reign of the Good Emperors and put a raving megalomaniac in charge?

I'm trying not to be snarky, but it feels like his experiment with Commodus is a massive example of how power does corrupt. Perhaps you were thinking of Cincinnatus?
Most of these are probably Node.js packages with "License: MIT" somewhere in the README.
Promises are like cancer, and async/await is just treating the symptoms.

// Callback
dataCollection.find('somethingSpecific', function getIds(dataArray) {
var ids = dataArray.map(item => item.id));
display(ids)
});

// Promise
var dataArray = dataCollection.find('somethingSpecific');
var ids = pmap(dataArray, function(item) { // Cancer cell
return item.id;
});
pdisplay(ids); // Cancer cell
// The cancer grows ...
function pmap (dataPromise, fn) {
return dataPromise.then(
function(data) {
return map(data, fn);
});
}
// The cancer grows ...
function pdisplay(dataPromise) {
dataPromise.then(function(data) {
display(data);
},function(err) {
display(err);
});
}
Shut up and take all my money!
Want to Master the Pitch? Elon Musk, Steve Jobs and the Power of Storytelling
Yet oddly I can log in to my banking sites on my 'rooted' laptop and transfer all my funds with a couple of clicks.

I suspect the phone rooting block is more for protecting their proprietary client-side code.
I dont mind a non Ruby job at all. Its just that since I have no real C++ experience, just picking it up for interviews (which I had done so far) doesn't seem like a good idea somehow.
Gorails/Codeschool Stripe Tutorial in Rails
You are trying to point out Aurelius' corruption by critizising the way he became emperor, which I find a bit weak. Is there evidence that he actually mis-used his power when he already held that power? Also, how did he compare to other emperors of his time? The things you mentioned could easily have been culturally accepted.
If he is complaining about C++ being bad and suggesting Verilog on FPGAs as an alternative, boy do I have some bad news for him.

HDLs (yes including Systemverilog) have 10x worse design than the worst software languages. This is why there are entire companies out there that make high level synthesis tools or high level HDL specification languages (like Bluespec).

And I haven't even said anything about the quality of FPGA tool chains.
Prnfre pvcure vf nyfb xabja nf EBG13
If you have an HTTP session with keep-alive, it works well enough. I played Vindinium for a while and only very seldom experienced timeouts unrelated to my code.
Languages can incorporate as many features as they like, but where two features conflict, they have to privilege one over the other. Nothing stops a language from having both statically- and dynamically-typed elements, but the library it ships with is going to privilege one over the other, and it's going to drag the rest of the code in the language in that direction. Nothing stops a language from having both immutable and mutable elements, but the language is going to have to privilege one over the other. (If all the library code uses mutable values, then you will have a harder time using immutable values with it; if all the library code requires immutable values then you'll have to copy a lot of stuff if you're using mutable values.) And so on and so on for a large number of features.

In the end you can not help but have a language that is either a "systems" language, a "scripting" language, or something uselessly in-between. You can't help but have an "imperative" language or a "functional" language or something uncomfortably in-between. And in a lot of ways it's more the libraries driving this than the language itself; a language can be a kitchen-sink language but when it comes time to write the function that splits a string on the given character, you're gonna have to choose whether the strings are immutable and how arrays get allocated and how they get passed by that specific function no matter how flexible the underlying language is. Multiply by several hundred for even a simple standard library. (And there will be a standard library; even if you don't bless one by the language designers the community will develop a "standard" loadout and make the decisions for you even if you didn't.)

You can imagine this sort of language as being a good idea because you can hide in the conceptual ambiguities in the vague idea, but when you try to manifest it concretely, you can't help but make a long series of decisions that will create a language that is better at some things than others, or, if you choose sufficiently poorly, not terribly good at anything.

You can always do the "multiple language on the same base system" approach; it's not just Java that works that way with its virtual machine, it's the way the real machine works too. You've got the base machine code and a whole bunch of things that back to that already.
It's usually very complicated, even coders can easily get confused. We have a few complex processes running among few services so the answer is: not enough.
I still like it a lot.

However I have came to realize that I rather use it on as an infrastructure language.

Just when I need to write portable code across mobile OSes without dependencies on third party SDKs, interact with LLVM or give an helping hand to my actual daily programming languages.
Like others said, it's more about attenuating the volume when you already know what they need but they keep crying. My firstborn was colicky. There were long periods of time were he would cry loudly and all I could do was hold and rock him. I bought gun-range ear muffs.
This is a good article, but I've found that using swap is a bit expensive and slow. Why not just purchase a cheap VPS from bitkumo.com and then use the swap only when necessary. Swapping is never a good thing unless it's absolutely necessary (IMHO)
Furtim: The Ultra-Cautious Malware
Optimized ads are key & traffic was roughly half.
Could have done this for free with Emacs and TRAMP...
I used latexmk to streamline the generation of my PhD thesis. I must have run your script literally hundreds of times. So, thank you!
If you have a passport or drivers licens then the government, and thus the police, already have your picture.
In 2009-ish I wrote a Java-based templating system for Autosys' Job Information Language. If you don't know it, Autosys is a horrible, horrible, job management and scheduling system. You define these little files (.jil extension) that specify not only the job definition (command, user, cron-like schedule, etc.), but also its dependencies (which job must run before this one, what runs after...). Nothing wrong with that approach, per se, but there's essentially no way to validate the correctness of a job and its dependencies until it's running live in production. Often jobs would fail to run when you expected, or become quietly orphaned by some change to another upstream job.

So I wrote a disgusting (yet fluent!) enum-based monster called JILT (Job Information Language Template), that required that every existing .jil file be rewritten as a statically-typed java enum which could then be used to spit out the entire tree of validated .jil files. The nice thing was that your job dependencies were now enforced by the compiler and could be included in CI. But the actual inner workings were a hot mess. And of course, now the support teams have two systems to maintain and ensure they remain in sync.

This was at Goldman Sachs and I hear it's still under active development by the support teams...
A hacker is selling 117M LinkedIn logins on
In one case, the entire thing was far more self-contained than anything that would be written today. This was PHP, and there wasn't much of a standardized ecosystem - not sure that PEAR was even a thing in 2000 when this was started.
Discover Weekly worked great for me too, but I found it annoying to have to wait for another one-week cycle (and inevitably losing some great song that I forgot to save...).
Somebody please write an add-on to integrate this with Pinboard, for great justice.
They probably don't need two schools. But let's say for the sake of argument that you want to retain the two-school structure. So they have one school with a 50-50 racial split and one school that is extremely close to 100-0.

What's wrong with that? It's one thing to have a white school and a black school. It's another thing entirely to have one school that is the most racially integrated in the region and one that is entirely black, largely due to population and demographics.
Mesa/Cedar, Ada, Oberon(-2) and Modula-3 come to mind as such languages.

Specially the interactive environments of Mesa/Cedar and Oberon OSes.
I think we're supposed to assume they went out and got more carbon somehow. It would have made more sense if they'd carried the comet parts into the cleft but I'm willing to forgive it. Of course the physics of the moon blowing up are totally wrong but I'm willing to swallow a single impossible thing and keep going.

http://hopefullyintersting.blogspot.com/2015/06/seveneves-an...
I'm skeptical we'll be seeing this device. I guess it'll mainly depend if they'd get funded and even then I only see this as a short lived gimmick. The machine translation software just isn't good enough. It's unmissable to me, but for real time translation, it's simply not there yet. Since they have to license the speech recognition and machine translation technologies, in the end they'll just be competing with bluetooth headsets that are suited for picking up voices in conversations and they'll simple draw the shortest straw.