skysight-inc/HackerNews huggingface dataset:
Words evolve and our usage changes, but there are better and worse ways for this change to happen. Changes that bring ambiguity unintentionally are generally bad. e.g. "something I don't like".
At least in Germany this role of keeping up to date about events among family and friends seems to have moved to WhatsApp. You still get all the baby- and vacation-pictures, but without the propaganda-, 'you might like'- and advertisement-postings Facebook is bombarding you with. Personally I have moved off Facebook since end 2016 and was one of the last holdouts, most of my family, and friends from the 'real world' don't have an Facebook account or have left their account idle since long before that.

PS: the irony is of course that WhatsApp is owned by Facebook ;)
If we had that then the governments would build supermassive flying submarine aircraft carriers with massive railguns and lasers and armor that is almost impervious to anything perhaps even nuclear weapons.
How to Sleep Better? Stress and Anxiety
Tryied it on Harry Rowolth- didnt get along with the beard.
If you look at example questions from the dev set[1], you'll realize that they all use the same words as the sentence containing the answer. Additionally, the topics aren't everyday stuff, but something you'd write a Wikipedia article about. So I guess the model just learns to find the sentence most similar to the question and then selects an answer based on a coarse categorization, which fails when it is presented with unseen situations.

Your example works if you rephrase the question to be more similar to the text:

Paul gives a coin to Joe.
Whom does Paul give a coin to?
Answer: Joe

You can cut the question down to "gives to?" or "coin to?", because that's enough to single out the answer. But as soon as you use s̶y̶n̶o̶n̶y̶m̶s̶ (EDIT: related words) that are not recognized (like "receive"), you have no chance of getting a meaningful answer.

[1] https://rajpurkar.github.io/SQuAD-explorer/explore/1.1/dev/
The fact that I can just within the last year buy a $200 256GB SD memory card to plug into my RPi in lieu of any need for other non-volatile storage, and that I can move all my primary servers and repos onto it, or indeed that the RPi exists and appears with significant speed bumps for essential constant size and price and mean power consumption, shows that lots of innovation is still happening and at a pace.

I've been in electronics and computing ~40Y, and worked with some moderately big iron on the way, eg in banking.

That iPhone has more oomph by orders of magnitude than an oil company's exploration division had not so many years ago. I worked there and looked after the machines.
If security best practices weren't made irrelevant by ignorance in the first place then people wouldn't cause these preventable mishaps in the first place.

It's not rigorous enough to say "I am certain some people can RTFM and understand without resorting to glorified mimicry, therefore the benefit to the group of encouraging people to share mistakes is marginal".

There is just too much at stake in the outcomes of security breaches. It is far far better to be have a high variance of variance of protective + relayed benefit gained from analyzing someone else's failure, than it is to overestimate your certainty of understanding while at the same time underestimating the lessons of someone else's failures.

Security is too important to put the focus on people learning in rigorous and logical ways over the protection of users. That said, due to the informational nature of security, to protect users necessarily contains as a sub-goal wholly understanding what your security is. But it's disingenuous at best to say that incident disclosure isn't actually empirically sound but instead gives security the appearance of black magic.
For these quotes I always wonder if we put them in the right time context. Is it fair to assume that the quote was meant to mean "never", or was it implied a time frame such as "during this decade" etc.
React Styled Components TypeScrpt
I prefer the "improper" usage. It makes more sense and is more commonly understood. It begs the question: why doesn't everyone just use it that way?
The main use case for rebase for me is to add automatic rebases on pull to the git config.

Normally if you pull from the remote and have local commits not in the remote, you'll have an "extra" merge. Automatic rebase on pull takes care of this, to avoid those useless merges.
Of course it is, because women have historically been oppressed by men and not vice versa.
Give me the money and sign my NDA and I'll tell you all about it.
Hmm... I first touched a Borland compiler in the 1998-99 school year. I had programmed before that, but it was my first time programming a GUI with the Win32 APIs. I made a Battleship game with a very rudimentary AI so you could play against the computer. Not sure if Borland was good or evil at the time, but those memories will certainly endear me to them.
Essentially Parkinson's Law: any system will bloat to consume the resources available to it and then some.

But some of us enjoy NOT indulging in that, and having a Web page served in milliseconds from low-powered hardware, or having MIPS-speed IoT hardware run on microwatts and do a decent job using modern compiler smarts to help get there...
Where did it say that?
1) Yes, it's voluntary, but the interests of the consumers aren't necessarily taken into account. Only the shareholders of the companies being bought stand to gain from the transactions.
2) Google/Fb gives these companies an offer at a moment when it still makes sense to buy them (i.e. when they can both win from the acquisition). If the company being bought decides to decline, Google or FB or whatever monolith has ways of destroying them:
- By buying their competitor instead of them, and heavily investing in them
- By just building the feature themselves, and potentially fighting a very expensive legal battle
There's a few days left to submit to React Day Berlin's CFP
var equifaxTellsUs = 'A small number of UK and Canadian consumers';

function waitAFewDays() {
equifaxTellsUs = '400,000 UK customers';
}

waitAFewDays();
> Based on the other comments so far, it sounds like HN'ers mostly don't use facebook and don't miss it.

Let's just say that the "sour grapes" crowd are much more likely to pile on to stories like this.

Facebook provides me and my friends with immense value, I'm a very happy user, and as long as that value is higher than the annoyances of using Facebook, we will keep using it.

The reality is that Facebook's DAU numbers and engagement metrics just keep on rising. A bunch of disillusioned users on this forum is not a negative trend. Facebook's biggest enemy is themselves, because the corporate machine pressures everyone there into change for change's sake, which fuels user fatigue, which in the end will lead to some sort of exodus.
"I have a few qualms with building storage data centers. For a Linux user, you can already build such a system yourself quite trivially by putting 1500 tapes into the back of your minivan and then mounting them locally via curlminivantapefs."
You just notice "Old"? Old usually are not cause any problem, but when you combine old and narrow, that is not a good thing.

It just like Morse Code which designed for telegram operators to send and receive message.

By that time when telegram was new, it was a good invention, everyone who wants to use telegram must know Morse Code. And because of it's designed for telegram, it come with every each bonus to make send and receive telegram faster.

However, one day, a new technology been invented, it's called Telephone. Not long after that, telegram started to fade away.

What fade away with it, is of course, the Morse Code. Because it only good at sending and receiving telegrams which not many people still do today.

Now the PHP. It has a lot of old burdens (To make it good at outputting HTTP respond) and poor design decisions. They need to find a way to organize those things and carefully redesign that language. Then, maybe it can become respectable.
One technique could be to start unfollowing certain people. Note that this is different from unfriending them and afaik there's nothing that will notify them to the fact.

Perhaps start by unfollowing those that post the "political garbage, pointless memes, etc". Quite quickly you should start to see your feed be a little more streamlined / less noisy.

On a related note I went even further and unfollowed everyone so my feed is now completely empty. As such it proactively requires me to view profiles of connections that I care about or view my list of "close friends" which is a feed in itself. That said, I barely use it anymore (which was my original goal).
You can study the idea and science without doing the deed. The U.S. could have learned about atomic bombs without dropping one. Tech companies can learn about image recognition without categorizing everyone based on their photo.
RequestBin: DockerReady HTTP debug server
With HPE Flexible Capacity they only pay for the HW they consume. Cloud-model on premise. https://www.hpe.com/emea_europe/en/services/flexible-capacit...
If you're on an computer there is always going to be a single point of failure with a window of venerability. Any piece of software or combination thereof will possibly leave a RCOE veunerability, which means you always have a single point of veunerability. I think what you mean is, is the unauthorized access isolated enough such that by the time an attacker finds the next thing to attack you've noticed the odd network behavior, eg defense in depth? If so, yes. But theres a difference between frantic patches and a well controlled, tested and easy to deploy set of software which makes pushing updates much less "frantic" and much more controlled. No matter what your defense in depth is you're always going to get an "oh fuck we are totally uncovered" moment, this is where the agility helps out. Your other option in this case is "the emergency shut-down for the oasis", well or the equifax option of sticking your head in the sand and running the servers open for months. I assume we're all responsible adults here though so that last one is off the table, it all comes down to risk assesment. ef seems to have miscalculated on that one.
Rebase is often required by open source projects. It makes that a few commits, once integrated, look like they are made directly on top of master instead of merged.
A computer predicts which startups will be successful. Results are astonishing
صور+رعب+2017+صور+مرعبه+وجوه+وجماجم+مخيفة
Is there anyone here running Kafka in production as primary data store for an web application backend? Did you write a very custom integration (or indeed a ES architecture), or did it just fit into existing (MVC) frameworks?

I appreciated the mid-article note that "treating Kafka as a primary store does mean raising the bar for how you run it". Databases and filesystems are silently scary.
أفضل 5 تطبيقات للأيفون #1
Go Montreal!

But ...

It's just another way to transfer the exceptionalism of the local talent into the shareholders of big American companies.

I know a few in the AI-crew in Montreal and some local government types.

What they fail to grasp is that we need 'companies' that sell 'products' and 'services' and have 'revenue' - not just a bunch of shiny R&D.

A few AI jobs will actually have zero impact on the local economy.

Now - if some cushy, ridiculous 'social network' were based here, it would employ thousands, and have thousands of others supporting them in other ways, they'd be paying taxes here, and forming a hub.

Unfortunately, AI may not be the best hub for an industry - as plain AI doesn't generally make for good products. It's almost inherently a 'component' type technology. It's going to go into 'everything' but the best positioned to take advantage of it are those who already have leverage, i.e. Valley companies, finance etc..

Crossing my fingers for Mtl though.
Russians possibly hacked 20 ships' GPS in the Black Sea [Translated]
Periodic merges in which nothing interesting is happening are just useless cruft. Just spam the Git history.
Surely our tools should simply have an option of hiding useless merges. It's a display problem not a reason to change history.
You can have git remember the previous conflict resolutions and automatically apply them the next time you rebase the same code by setting git config --global rerere.enabled true

It’s a builtin feature, see the documentation https://git-scm.com/docs/git-rerere and a description here: https://git-scm.com/blog/2010/03/08/rerere.html

Very handy if you use rebase with multiple commits to the same code.
Except that it has no 'headquarters' and all the important decisions, revenues, hiring, marketing, PR, taxation is happening elsewhere. Outside of 'Element AI' - which has yet to prove itself - we have a lot of work to create an actual industrial base.
In addition to squashing commits, you can merge with `--no-ff` to create s merge commit and semi-linear history showing when new code arrived.
I second this. Linear Algebra Done Right is an awesome book. It also comes with a helpful selection of exercises after each chapter with detailed answers available on the website, which is great for self-learners. If you are a student and your Uni has a Springer subscription, you might be able to get the PDF for free.
Facebook says that 5.5%-11% of accounts are "fake". I'd guess the number is higher. There is so much spam, fake friend requests, and general internet hucksters on FB, that I've lost trust in the platform.

Real-life people send me friend requests a few times a week, but I easily get 5-10 spammer friend requests a day. I don't know if stuff I'm reading is (1) just there; (2) put there due to an algorithm trying to cater to my tastes; (3) inserted by spammers; or (4) paid for by god-knows-who.

Every time I log into FB, I feel like I'm stepping into a room with people I sort of recognize but don't know. On the internet, I rather make conversation with true strangers on Hacker News than these quasi-strangers on FB.
You don't really need a toolchain, it can all be done lazily be the web application server.
I would think squash a poor default policy; it destroys information in the granularity of commit, and in the commit messages.
So, this extension quality problem isn't new. Firefox's current extension API is really powerful, but really complicated and it's not really an API, it's more-so just a way to fuck around with Firefox's source code, so if Mozilla changes things then generally extensions break and need to be updated.

Because of that Mozilla has wanted to move to a different extension API for a long time, they just couldn't really afford to, because it would require breaking all extensions for good.

Now they are at the point where they do feel like breaking all extensions weighs up with the benefits. Another big factor here is the new multiprocess-architecture, which is the foundation for most of those performance improvements that you've seen, and also requires breaking all extensions. (Currently those old extensions can still be used, but Firefox will then drop back to singleprocess - another quality problem that you likely encountered.)

So, now they needed that new extension API. And instead of writing and testing a completely new API, Mozilla decided to base it off of Chrome's extension API.

Some smaller Chrome-specific APIs were left out / adjusted, but short of that and potential bugs in the implementation, Firefox is going to be compatible with Chrome extensions. (They are also adding new APIs that Chrome does not support, because they want to offer more extensibility, so it's essentially a superset of Chrome's extension API.)

For most extension developers, the only porting work is going to be to test it, work around bugs if they run into some and then upload it to addons.mozilla.org.

The more or less 1.0 release of that implementation is going to be with Firefox 57 on November 14th, which is also when the old extension API is going to be disabled. But most of this new extension API (called "WebExtensions") is already in Firefox as of today, there's just still some bugs left to be squished.

So, that's why and how you can run Chrome extensions in Firefox. It's up to the individual extension developers to port their extension.

Well, that's the normal path, which is not going to be so-so.

As I said, the porting work is often minimal. So minimal that it can almost be automated. That's why this extension can exist: https://addons.mozilla.org/en-US/firefox/addon/chrome-store-...

Assuming there's no bugs, then the only part which can't be automated is signing the extension. Haven't done it myself yet, but from what I hear, it's a matter of creating/having a Firefox Account, uploading the extension-file and then waiting for a few days or so.

So, to summarize: Firefox now supports Chrome extensions with minimal porting work necessary, meaning that lots of those will get ported over. You can try to port things on your own and if there's no bugs then it shouldn't be hard (and it's not hard to find out if there are bugs). And lots of old, unmaintained and problematic extensions will get thrown out with Firefox 57, making it much easier to find the qualitatively better ones.
> I don’t operate production systems, but I have helped to design a couple of them. So I understand something about the assumptions you make when building them.

Start by operating production systems. You will rapidly discover that patching is not a technical issue (as I already said last time there was a patching discussion on HN). Patching is technically "easy".

But if the business does not prioritize (and allocate time towards) patching (and testing that systems work with after) patching won't get done. There are features to develop and deadlines to meet and new systems to turn on and old systems to retire and oh-my-god don't touch those servers otherwise the vendor will not support the prod environment anymore (no longer certified, yay!) and it costs us 30000$ to get certified again.

Too many times I see HN assuming that everyone is running on a public cloud with B/G deployments and immutable infrastructure you can rebuild and redeploy easily. Unfortunately that's not the case.
Not quite clear on what a "HTML5" blocker is. I'm guessing you don't literally mean "block HTML5"...
What took a long time was not getting it ready for consumer use. It's also worth remembering Apple had no shortage of half-finished OS's sitting about. It's trivial to say which was a better call. BeOS was an interesting prototype for its time but to treat it as somehow equivalent or comparable to what Apple got with Nextstep doesn't reflect the reality at all.
Those days Goatse trolling was much more satisfying... shame that progressive jpeg rendering ruined the party
We need to differentiate then between "patch for this one specific thing" and "upgrade to the next version" which are often conflated. The former could literally be a one-line change to correct an off-by-one error say. The latter will have to go through the full regression and release process. Often it's a grey area.
> would you rather have ads from services which know nothing about you?

I'd rather have zero ads.

If I'm interested in something, I'll search for it, or ask around.
It's possible to lower human expectations to the point that current chatbots can satisfy them. That's a much easier task than raising chatbots up to the point that they can actually hold their own in probing, intelligent conversations without prevarication, as in the original proposal:

http://www.loebner.net/Prizef/TuringArticle.html

Interrogator: In the first line of your sonnet which reads "Shall I compare thee to a summer's day," would not "a spring day" do as well or better?

Witness: It wouldn't scan.

Interrogator: How about "a winter's day," That would scan all right.

Witness: Yes, but nobody wants to be compared to a winter's day.

Interrogator: Would you say Mr. Pickwick reminded you of Christmas?

Witness: In a way.

Interrogator: Yet Christmas is a winter's day, and I do not think Mr. Pickwick would mind the comparison.

Witness: I don't think you're serious. By a winter's day one means a typical winter's day, rather than a special one like Christmas.

I suppose that cobbling together enough evasions and simulated mood swings to bypass the challenge of a sustained conversation is impressive in its own way. But it's mostly disappointing. Imagine seeing repeated claims of public key encryption weaknesses that all turn out to be variants of social engineering approaches to stealing passphrases. Those wouldn't exactly be incorrect claims but wouldn't be very interesting kinds of correct claims either.
Patching at an OS level (not what the author is talking about, probably) is extremely extremely hard - from an enterprise Microsoft platform production point of view

1) Because there's no budget for tools. It's mostly WSUS and SCCM if you're lucky.

2) Because staff don't even know how to use those tools properly. Can't blame them because there's very poor documentation from MS and very little accessible training on design patterns that integrate them into large corps.

3) It's outsourced. So it's even worse than above.

4) Because management fights it every step of the way. They hate patching because they're stuck in the 80s where they think every patch is deeply documented and you should only apply what's necessary. And you should only apply security - ignoring updates which give critical stability fixes.

5) Because the enterprise as a whole is so poorly documented it's unclear who owns what or if a rollback is possible and what it would affect. So everything is in CYA overdrive.

6) And then nobody working there wants to own it because it's not sexy to patch. (As a geek I think patching is sexy and very fulfilling work, but I'm in the extreme minority).

None of this excuses anything. But most largish companies are still in the 80s, with IT managers in the 80s. I can't wait for them all to die.
Have you tried dropping FB? Relying on old-fashioned txt message to ask your friends whatsup?
I think saying that people might trade arbitrary portions of data instead of some specified standard is missing the point. People already can trade arbitrary portions of data in the absence of previously agreed standards. The real issue, specially for curation, is how to choose standards for what qualifies as "content" within a certain medium in order to maximize the likelihood of meaningful communication occurring within that medium.

Which doesn't seem easy.
Just curious, why are you still on there?
> Not sure if anyone has documented doing this, seems like it would defeat the purpose for anyone with a practical need for it.

Indeed! I was hoping for a collection of methods, maybe some form of best practices regarding anti-tampering.
Thanks for the links to the APs, fun rabbithole to fall down in.
Those "don't touch" systems are death. It's usually in contracts with the big players like Honeywell and others. You literally can't touch them without breaking the contract. The second you call for support and they find a patch - you have to uninstall before they continue - even if it's unrelated.

BTW hands up if that includes WannnaCrypt. Yep.
Yeah you're right. I missed that.
I use git merge --squash so I can commit garbage. The garbage in the feature branch then disappears. It doesn't make sense to preserve those individual commits because they are not intended to work, they may contain code that doesn't even compile, etc. The problem with git commits is that they are immutable and exist forever so you want to get it right on your first try and every commit should be a single "unit" of change that produces a new valid version of your software. Create a feature branch, commit code (often with "WIP" as the commit message) that isn't finished yet and then git merge --squash when it's ready with a proper commit message.