skysight-inc/HackerNews huggingface dataset:
In the case of XML-RPC, authentication mechanism is quite obvious: HTTP
authentication. Permissions are hardly a problem, even less so than in the
case of SSH, because you don't give the caller full shell, only a small set of
well-defined operations. And definition of call interface does not magically
go away when you move to SSH, so I don't know where did you came from with
this argument.

That being said, SSH has plethora of problems as an RPC mechanism. Host key
distribution sucks heavily if you have more than a handful of servers. User
key distribution is even worse, unless you incorporate external mechanisms.
You need to maintain a usable home directory for a service, which otherwise
woudn't need such a thing. SSH has plenty of obscure functions, like port
forwarding in three flavours, X11 forwarding, VPN baked in, and others. And to
use SSH-as-RPC for a service you need to disable them. Are you sure you
have covered every single one of them? And then there is also mixing
a debugging channel with regular operations. Break just one and you cannot
recover (and it's easy to break a debugging channel, as you want it
reconfigured and limited to only allowed accounts and whatnot). Those two
should be separated.

The only thing that SSH has better than XML-RPC is streaming a response. But
first, it's a rarely used function for a setting where you need to execute
a remote operation, and second, because it sometimes is actually useful,
my HarpCaller (RPC daemon) needed a custom protocol.

SSH is very, very far from being an excellent protocol for running
predefined remote operations, even if it were only for issues with quoting,
which are difficult on their own.
Alas, no. Bourne shell syntax allows for double quotes with variable interpolation and some other fancy syntax (including backslash escaping of literal double-quote characters), and a single-quote syntax for "raw" strings with no fancy syntax INCLUDING backslash escaping.

So your rule won't work. You can't single-quote a string that itself contains single quotes, which makes for some fun when you have arbitrary strings (file names are the big frustration) that need to be substituted into a parseable command line.

But like I said above: Bourne syntax[1] is only one kind of insanity, which is still much better than the DOS/Windows world of a separate parser for every app.

[1] We shall not speak of the C shell here.
Congratulations on completely not understanding the entire issue of weight gain and obesity research that's been happening for the last 15 years. You win all the prizes.
Because tip culture helps the restaurant owner make money. If you incentivize your wait staff to push expensive specials and high priced wine by the bottle, then both they and the restaurant make more $$.
It may be interesting to note that the ancient greek 'X' is suposed to be aspirated so the English pronunciation of 'chi' is almost certainly incorrect anyways.
My question is/was: do you think sexism is the main thing that differentiates tech from other non-routine cognitive professions? That economists created such a classification is pretty irrelevant. The point about the broadness was that if it is so broad, you might as well take all professions and get a different result.
I wouldn't say simple. But I agree on the rest.
52 technologies in 2016 blog series
As a devout Ra lover - and of the whole 90s era of euros - I still can't help but feel the irony of your complaint about celebrity designers being shortly followed by a solid Knizia name drop.

The current era of board gaming is definitely a move into excess - it reminds me of the cycles we go through in fiction and literature - where we move from the spare, crisp words of Richard Yates or Raymond Carver into the florid excesses of William Vollmann and David Foster Wallace.

I don't see a need to demonize excess - it just is one of the extremes of our experience. I didn't quite follow Rosenberg once Caverna was released - it seemed like he had merely translated Farmville into cardboard - a giant stack of little square in-app purchases. However, I think his ambitions are paying off - there _is_ fun to be had in excess. It's just difficult to pull off a tasteful bacchanalia. But his latest feels like a realization of this.

Whatever - I do still like Ra more. I am just not going to be disgusted with myself for two hours spent amassing a horde of tiles printed with racks of ribs, pregnant sheep and English crowns for the Norse god of the moment. This was just what we did in 2016.
Open Letter to a Car-Addicted City (2014)
The reasons given for needing an app to do this are spurious. Classic case of over-complicating a simple thing.
Also: https://www7.in.tum.de/tools/dahl/iclp2010.pdf
Definitely, as well as being able to eventually differentiate between mom, dad, and the kids.
We just bought a new TV this past fall and I also wanted a 'dumb' TV, but there were only like 1 or 2 non-smart TVs and they both had poor screens. Seems like they days of a smart-tv being an up-sell/optional are past.
The C/C++ toolchain has been working to add guards and guides to their sharp tools. Things like the various sanitizers in the llvm toolset have already meant that a lot of bugs that would have been released are instead fixed beforehand. You also have things like OpenBSD's implementation of malloc which also helps in the software feedback loop in finding logic errors that allow for things like use after free errors. C still requires attention, but there are a lot of places where it's harder to cut yourself.
Sure, until that ISP learned to not let you do that (or at least not to pass it on to the outside world).
What Stroustrup Is Working on at Morgan Stanley
Fitbit gets another holiday bump and much-needed breathing room
60 Minutes recently featured the Columbia-based research. Can't testify to the scientific rigor of the report, but it was very interesting to this layman.

http://www.cbsnews.com/news/60-minutes-alzheimers-disease-me...
Then they probably need that "we use cookies" banner, and will fall under the Data Protection Act.

"The Data Protection Act does not define fair processing. But it does say that, unless a relevant exemption applies, personal data will be processed fairly only if certain information is given to the individual or individuals concerned. It is clear that the law gives organisations some discretion in how they provide fair processing information – ranging from actively communicating it to making it readily available."

https://ico.org.uk/for-organisations/guide-to-data-protectio...
since it is near impossible to find a "dumb" tv anymore, the big lesson is to never stray from google play or amazon app store.
It can be rational to develop projects on new languages. It can also be rational to consider the risk posed by the ecosystem you are plugging into. For example, it would be rational to consider the risk to a new project of basing itself on a language that is only supported by one corporation. (Imagine if Oracle had become a single point of failure for Java.)

That said, Microsoft has very deep pockets, shows every indication of continuing to promote and use .NET extensively, and has also built up a lot of commercial buy-in over the 15 years or so that .NET has existed, which could carry it forward a while or fuel alternate implementations if something catastrophic happened.

PyPy is a serious implementation of Python. There are others and have been others over the years. While the corporate buy-in isn't the same as .NET or Java, there is a large amount of open source funding and buy-in from very diverse sources. Python is older than .NET as well.

Maybe the risk of using Rust is acceptable even if a bit larger, or the added risk is offset by Rust's good qualities - nonetheless, it's a very new language with no Microsoft-scale company behind it. Not precisely comparable.

It doesn't matter if Rust is perceived as having less ecosystem risk than Python or .NET, if in (say) 10 years it doesn't make significant headway against C, which is what it actually has to compete with. Here we could consider the examples of Pascal and Lisp - they competed with C, were arguably much better languages, and they lost anyway.

It's something worth considering if your dreams are founded on Rust.
Ask HN: Best Technical Book Publishers
In your opinion, which companies are the best and most reputable publishers of general interest technical books? I'm largely interested in your opinion on programming books with a fairly broad audience. In other words, when you see a book by this publisher, you think, "It'll probably be high quality."
I think the reason for bringing JS to the backend is that you have to learn it anyway for the front-end, so why not save developers from having to learn two languages. One language = easier learning curve. At least in theory, it sounds reasonable.
Do you have any reasonable argument about how the transition between the first real self-driving truck¹ being around and more than 90% of the trucks being self-driven could take more than 5 years?

The only way I can imagine it would take this long is if governments just prohibit it. Even then, they'll get a big chunk of the market in 5 years.

1 - By real, read commercially available, that can run into any reasonable road without anybody inside.
Here's another bit from the same person...

http://makiopolis.com/dots/

A shame they don't link to all their works on the site (unless I'm just missing it).
Stop this horrible genre now! As discussed in the recent video programming post (https://news.ycombinator.com/item?id=13259686), this neither helps the beginner because it is unnecessarily overwhelming, nor the expert because he has already read https://tools.ietf.org/html/rfc4180 and is aware of these problems with bad CSV parsers/emitters. In the intermediate case, it could be useful for someone maintaining a CSV parser or emitter who is not aware of a few of these points and wants 100% compatibility with all CSV parsers/emitters in existence, but the list style is confusing grammatically and offers no counterexamples or suggestions for improvement.

With that said, if you are interested in using CSV for encoding and decoding in your own environment, I suggest a new file standard called μTSV.

1. All μTSV files are UTF-8.

2. All values are delimited by "\t", and all lines must end with "\n" (including the last one).

3. If you want to use a "\t" or "\n" character in your value, tough luck---use JSON.
That's stretching it. I think I should have qualified domain specific expertise as quantitative-domain specific expertise. Afaik, MD is more about human biology and meant to help you become a practicing doctor. PhD-biomedicine, MPH/MS-bioinformatics, or MD-PhD programs tend to have more substantial quantitative components than just an MD. Caveat: these are gross generalizations. I know some MDs who are competent enough in quantitative analysis to give any engineer a run for their money!

Would an English MA or PhD, for example couple well with an ML-MOOC for natural language processing jobs? Possibly, but would involve a lot of effort to build the bridge. However, if someone has a mechanical engineering degree or a PhD in something similar, a MOOC-ML can work well to position them for a bunch of jobs in large mechanical engineering companies looking to jump on the ML bandwagon or ones traditionally strong in ML-type mechanical engineering like UTC.
Not directly related to your question, but I suspect pigz and gnu parallel would dramatically speed up your current command-line technique, if you are on a multi-processor machine.

Also you might put export LC_ALL=C before fgrep, since you are searching for simple ascii characters.

I presume your cut is required because of other potential row conflicts, so one last thing you might test is the timings of putting cut after the fgrep instead of in front of it. This can be counter-intuitive but might make a difference for you.

If you are using sort to do your "count_distinct", try to make sure that sort's temporary files are on a different hard disk from the files you are reading.

Speaking of which, the disks you are reading off of will often be your bottleneck when processing large files through command line pipes.

http://zlib.net/pigz/

https://www.gnu.org/software/parallel/parallel_tutorial.html
Are you using any libraries to simplify the initial handshake connection or Socket.io?
> If you think peer-reviewing is slow then it's probably because you don't get the PEER part of the reviewing process.

I understand the process fully. It doesn't make it fast, nor does it make it a necessary cost to pay. Delaying access to content for several years does not solve a problem. A not-insignificant time was spent bouncing between people to sort out who was paying for the costs, then there is also a delay between acceptance and publication. This now averages just a month in pubmed, but papers can bounce around this point for a lot longer.

I am not arguing for pre-prints to replace traditional publishing, but the speed of spreading information is undeniably faster, and that's what started this whole chain of comments.

> Anyway, is there a study that shows how many pre-printed articles in ML have been retracted or refuted so far? Until this is done, and shown as small as in peer-reviewed journals, keep a small basket.

I don't get the phrase "keep a small basket", but no I've not seen this. The point is simply that PEERS (if we need to shout the word) can in many cases replicate the work and assess the results much more quickly than the traditional review & edit process. I picked the field because I see people re-implement work described in the papers very quickly, or the original authors share the trained models and code.

I'd also caution against using "retracted" papers as a measure, some journals charge for a retraction.
I think you nailed it. I agree wholeheartedly with your analysis and think that generally speaking people underestimate how big of a deal being without employment is mentally.

Work gives people a purpose - even if it isn't the best purpose, it also gives people a community - even if it isn't the best community.

I think people in the tech world fail to actually understand the mindset of the majority of workers. They need to watch Dirty Jobs more.
> How much will the operators pay for software liability license, so if their truck does crash, someone gets paid out?

Much less than what they're paying now for insurance covering their human drivers.

> How much will the annual software updates cost?

Less than their human drivers cost, if anything at all.
Publishing sometimes does 1), and rarely does 2) (as a statistician you surely know that the relationship between impact factor and retraction is nonlinear and rises in strength as you get into CNS, NEJM, and the like).

I review for others because others have done 1) for me. But I'll never review for Elsevier, and lately I've had the luxury of reviewing for the most cited of open journals (by operating bioRxiv, and accepting direct submissions from it, I claim that Genome Research is "close enough").

It makes me very happy that this is possible (my CV has not suffered for only publishing as first author, and whenever possible as senior or co-senior, in fully open journals). I'm pretty sure this wasn't possible for most people a few short years ago. That engenders optimism about the future of scholarship, for me at least.

Hopefully you as well.
Multi-terminal applications
I often think "all the accounting could be better done by a computer". So I am not that much into that kind of games anymore.
Is Safari the new Internet Explorer?
It can be blocked, but doing so will block google.com. Basically Open Whisper Systems is making a block that much more costly to implement, since Google is ubiquitous in so many different areas.

If they can ramp up their homegrown options or a regional competitor to Google develops that can really compete well, why wouldn't they block all of Google.com? In China, it's already happening. It's completely possible because a lot of the population doesn't require access to English content, and so doesn't require an English search engine. Local search engines like Baidu and foreign search engines willing to comply with their local laws like Bing will be totally fine. And given that the Middle East has a lot of locals who don't actually speak English, I see that as a distinct possibility in the future. The comparison is almost perfect, no?
And in Rogue One...

http://postnewsgroup.com/wp-content/uploads/2016/12/CGI-Pete...
...Have you never cooked a meal for yourself or something? Yes, even after accounting for those things, which are amortized over time, the cost of a single meal is not 4+ times the cost of the ingredients. Maybe if you insist on comparing cooking to your hourly wage it starts to look more competitive.

As for McDonald's, well, if you want McDonald's-quality food you can do it cheaper.
> When then, was the last time you heard or read someone claiming that "assembler is inadequate", especially when it comes to security?

All the time. Virtually no one would recommend writing any serious software in assembler. The only software written in assembler is high performance numerical code and certain hardware-specific kernel device drivers.

> If my code has a hole, it will be noone's fault but my own.

And who's going to hold you accountable for that hole that just leaked 100,000 credit card numbers? No one, that's who. The institutional bias against safety and the insulation programmers enjoy from the consequences of their code are the only reason attitudes like yours persist, and the trivial security bugs that inevitably follow.

> And that's the way I like it: it is far more preferable to an ultracomplex programming language like Rust.

Rust the language is not ultracomplex. Don't confuse the language with the compiler.
Particularly problematic with this is that a human cannot necessarily determine with 100% confidence where the error is. If you have a CSV where every row has 5 entries, and you come upon this row:

> 100,1,200,300,10,100

You suspect that an in-field comma is causing a split where there shouldn't be, but who's to say which number got split up? 1200 into 1,200, or was it 200300 to 200,300, or 10100 to 10,100?
I want the data for the same reasons that any content producer in the Internet wants it. Bloggers, youtubers, any company...everyone. Despite the noise this data might contain, it seems it's useful for everyone except for scientists...to whom I am surprised to hear that it's better not to give the data, in case they misinterpret it. Very risky statement and precedent.
That was a good podcast, but I was frustrated that they hadn't even tried it yet on humans, as it seemed such a simple experiment. They said they will do it next, but I'd have preferred they waited a few months and then reported it (even if it didn't work on humans).
GCC is a great C++ compiler that works on more platforms than the rust compiler. Clang, another great C++ compiler, works on at least as many platforms as the rust compiler.

Again, why would this be a reason to prefer rust over c++?
Is busywork really that much less humiliating? I'm not going to dig ditches so that someone else can come and fill them up in time for me to dig them again.

What if we create factory amusement parks, where people go to build things for a wage that nobody will ever buy? Does that seem any less patronizing?

Everybody is going to have to shift their sense of identity, self-worth, ambition, etc. in the years to come. I don't see any way out of this.

If the problem is that there are no jobs, then "faking it" seems so much worse than simply providing a basic income, and encouraging education, non-profits, civil service, startups, etc.
Wouldn't you prefer to have the computer deal with the personal paranoia for you?

I love C dearly, but I can write so much faster in, say, Python, and that code is usually production-suitable. If I say "for line in open(sys.argv[1])", I don't have to spend 50 lines dealing with open() failing, or sys.argv() being the wrong length, or allocating a buffer to read into and recombining lines longer than the buffer, or whatever. Ideally in Python I'd print better error messages, but it's fine if I forget; Python will take care of each of those problems and do something safe, if not user-friendly. If I forget any of those in C, it's emphatically not fine.

Rust - and many other higher-level compiled languages! - promise to bring that development speed and confidence back to the domains where C dominates.
This should be titled "What Vendors Should Account For When Publishing CSVs". If someone claims they're exporting a file in X format:

* X should be a known standard OR

* they should provide a client parser for X OR

* they should provide a grammar or list of rules for parsing X

This rant is focused in the wrong direction. It should go without saying that someone should deliver what they claim to. If CSV means different things to different people, that's fine too, but the burden should be on the exporter to define what it means to them.

I'll accept a retitling of "Bullshit Developers Shouldn't Have to Question About a Common File Format".
Exactly. There is no cost model that accounts for the device constantly streaming realtime audio data to Amazon. Just doesn't make sense.
There are wide swaths of people who (even though they collect it) rail against social security and disability etc...

Their claim is that they "earned it" and "those people" didn't earn it. Ok, well if it's obvious that nobody earned something then you have the same problems.

The majority of american workers aren't going to see a paycheck in the mail and say "Wow, great this means I can spend more time whittling/hiking etc..."
I have to warn you though, the server-side WebRTC libraries are not very mature
yet. I advise you to do thorough research before building your game.

Are there any good server and/or client WebRTC libraries written in Go yet?
>All CSVs are readable with Excel

>Excel is a good tool for working with CSVs

>Excel is an OK tool for working with CSVs

Also See: Excel: Error when CSV file starts with “I” and “D” https://support.microsoft.com/en-us/kb/323626

HN discussion: https://news.ycombinator.com/item?id=12041210
You can fix heartbleed--even in C. You can't fix TPM hacks, rowhammer, etc. without buying a new machine.

That's not even getting into the potential of the missteps in the RMM / MMU / SMP / virt systems that exasperate even Torvalds and deRaadt.
That's not exactly it. It's more practical and it's more expensive but not so much more expensive that it's out of reach like better prepared options might be.
You can still take steps to mitigate it, which are probably all considered good advice anyway: https://www.alz.org/research/science/alzheimers_prevention_a...
Your analysis is correct, money does flow and tries to get used,thus creating jobs. but still, the gdp share that goes towards workers salaries, in 2013, was the lowest since 1929:

https://www.dougsguides.com/content/whats

And with the rising income inequality , the same amount of money might highly reward specific professions, leaving others with no salary.
Agreed. Though I've long been a star wars fan, i.e. not a CGI snob ;)

The weirdest thing about Leia was her smile...I mean that she smiled at all. Real Leia would've told the guy to shut up and do his job.
Stunning waterfalls on Uluru after freak storm hits the Australian rock
Well, considering employment is the standard way of redistributing wealth then unemployment is a problem. We need more ways of redistributing wealth. More than we have now anyways which seem to be limited to taxes and employment.
I've had odd bugs show up in a CSV import process, where it was a numeric string (think account numbers) that had leading zeros. Turned out the imported CSV had been cleaned by moving records around in Excel and saving as CSV (which of course saw the account numbers as numerics and conveniently truncated the zeros)
when I read (excellent) music articles like this I just wish they came with a sidebar with the music excerpts that are being discussed.