skysight-inc/HackerNews huggingface dataset:
Imagine you make some code that needs to comply to a law, but then the law changes. Or client decides he wants his notification in different format, look shape.
How much should we fear the rise of artificial intelligence?
That's easy, because my contacts or glasses place no burden on you whatsoever.
The future of customer support
Well, you CAN doesn't mean you SHOULD :)
> IMO robots are asics.

In case anyone else wanted to know:

https://en.wikipedia.org/wiki/Application-specific_integrate...
To get systemd working you need PAM, and Slackware has yet to ship a release with PAM enabled.
Liquid Biopsy: A simple blood test for cancer
Los médicos advierten sobre los riesgos del uso de Wi-Fi
Birthdaybingo.ng is giving away N10K everyday to Nigerians
From the 23rd of March Birthdaybingo.ng is giving away N10K everyday, no cost to you. All you have to do register your email and birthday to play!

Would you like to WIN N10K without spending 1 Kobo? it’s FREE to play. No Risk. Just register your Birthday & Email for entry into our daily cash giveaway at birthdaybingo.ng

Where does the money come from?
The prize money will be funded by the adverts on the site.

How it works:

You register your Birthday and email address at birthdaybingo.ng.

Each day a registered birthday is selected randomly for the N10,000 Cash Prize giveaway.

You'll have to check online before 12pm the next day to claim your prize if your Birthday is selected.

How do I collect my winnings?

If yourBirthday is selected a "WINNER" button will appear on your screen. Once you select the "WINNER" button and fill out your details to claim, your prize will then be paid via Western Union.

Register today at birthdaybingo.ng for your chance to win Everyday!
> that tells us that we wrote a bad test, not that TDD is bad

I strongly disagree. The only thing that matters to how software works for an end user is its boundary. You simply can't do TDD by only testing the boundary.

You have to write a test before each unit of code, so you have to test those internal interfaces, the way units of code work. But that is exactly the stuff that should be allowed to change. It's a mistake to assume 'implementation details' only exist within a function. That stuff you can avoid testing, but the behavior of the function is itself an implementation detail for whatever is using that function.

I simply cannot imagine TDD for anything other than a toy example where you don't end up writing tests that depend on the software's implementation, and are therefore inertia to changing that.

> we should be just as ruthless in refactoring and peer-reviewing each others tests

I strongly agree. But this is rarely part of the TDD ethos. Saying "I refactored the code and threw away 100 tests." is likely to send TDD folks twitching, in my experience.
Visual Studio Code is built on electron and both are javascript running in chromium and I still don't understand the difference in performance between VSC and Atom.

Here is a conversation about VSC better performance. It was an interesting read https://github.com/atom/atom/issues/10188

I have tried both and both are slow and sticking with Vim and RStudeo.
Standard Deviation and Percentiles in Load Testing Metrics
Not a problem if you block all javascript.
Was I the only one who thought that the article will be about "gluing" skyscrapers with each other? Like using metal bars or something to make them less vulnerable to wind and earthquakes, by making them behave as one?
But is Twitter really a social network?
> and back

That's what makes the actual difference :)
I was finding that comment very strange.

He's not tall but not really short either.
I confirm it does. Thanks!
Not to detract from how great a resource this would be for someone looking for a new GIS role, but it'd be nice if this site had a bit of a re-vamp, style/security wise.
At the same time, there are numerous historical examples of non-violent non-compliance nullifying that power. For example, when the Danish just refused to help the Nazis to isolate, persecute and exterminate Jews in their country, the Nazis weren't actually able to do all that much to change that.

People at Apple just refusing to assist the government is, in a way, the government's worst nightmare: it shows just how little power they actually have.

Some weak forms of political power grow out of the barrel of a gun. True power grows from the consent and support of the governed. Withdraw that consent, and the gun is shown to be a pitifully ineffective tool of government. Maybe this is a historical lesson we need to re-learn.
The author keeps talking about a "better design" achieved when not using TDD, and he goes on saying that sometimes a good design is a design that is hard to test. These are subjective, psychological feelings that, in my experience, bring only to maintenance nightmares and impossibility of doing any kind of refactor without the fear of breaking something. TDD might be difficult to do at times, but it has a very interesting, objective advantage: it brings the "good design" buzzword out of psychological and subjective interpretations. With TDD, good design is testable design. Period. Is it easy to check? Yes. It is objective? Yes.
>“There’s excitement from the tech press, but we’re also starting to see some negative threads about it being terrifying, ready to take humans’ jobs,” wrote Courtney Hohne, a director of communications at Google and the spokeswoman for Google X.

>Hohne went on to ask her colleagues to “distance X from this video” and wrote, “we don’t want to trigger a whole separate media cycle about where BD really is at Google.”

>“We’re not going to comment on this video because there’s really not a lot we can add, and we don’t want to answer most of the Qs it triggers,” she wrote.

AI fear-mongering is already doing damage. What a disappointment...
Five time saving life hacks
This is a good idea, hence, expect hate from TDD purists
Why is this enforced by a policy rather than code? Why aren't "private APIs" even accessible for third party apps?

(I guess what I'm asking: why hasn't a security mechanism been built in the language/linker/OS for this purpose?)
Edge browser now has extensions in the latest Windows 10 preview
> If market's haven't adjusted for this long, then i'm going to say our assessment of the situation and conclusions are incomplete in some major way

When presented with a conflict between your hypothesis and your data, you have (at least) two options:
(a) reject the hypothesis
(b) posit some hidden data that supports the hypothesis after all
I suspect the author of the article is only giving up on test first or test driven development where you write tests before writing each bit of the program. I doubt he is against having a corpus of tests for your program.
Ask HN: Django vs. Rails vs. Wordpress vs. front end work for freelance work?
Transitioned into freelance work recently. Primarily do fullstack Python work, but am finding that most of the demand for remote work is not in the Python area -- I see about 4x as many postings for Rails developers as for Django. I've had plenty of demand, but way too many early-stage startups who don't have the money to bring on a developer. Am thinking of switching to a new framework, but wanted to get some more opinions about the freelance market. Basically I don't want to end up working for the oDesk/Upwork crowd where it's simply a race to the bottom and plenty of people willing to work for $5 an hour. I'd like to pick an ecosystem that has solid clients that are able to pay $60+ an hour for a good product. Based on sheer demand alone, it seems like Wordpress would be the way to go, but I also worry that the client base would be subpar and pay low rates. Rails seems to be the most in demand for backend frameworks, and I've heard of plenty of folks who have moved from Python to Ruby, but I am not sure what the freelance market looks like. A third alternative would be for me to move towards frontend/JavaScript work, which I have much more experience in than Ruby or PHP. What do you think -- from a sheer market perspective for a freelancer looking to get remote contracts in the US, what would you recommend?

Also, it'd be great to get some numbers on this type of a question if anyone has a good idea how to quantize demand for freelance work. I've used Indeed job search to look at job trends overall, but I'm unaware of a similar tool just for the freelance market.
> Sometimes, the best design is one that’s hard to test

I strongly disagree with this statement. The best design for your program is always the one that's easiest to test; the one that's modular, the one that separates out dependencies, the one where methods are as atomic as possible.

If you find yourself wanting to write code that is hard to test, then you are approaching the problem (and/or the solution) the wrong way.

> The ‘purist’ approach here, of course, is that you design data validation checks so that you never have to process bad data. But the reality is that it’s often hard to specify what ‘correct data’ means

Again I disagree. It should be really clear what correct data means at a low level. If you can't, then you haven't fully fleshed out your design, so yeah it's gonna be impossible for you to test it.

I'm far from a TDD zealot. But on my team we adopted writing unit tests for everything in the last 6 months and it has been night and day. It is incredibly useful and the resulting code is so much better.

I think a lot of the author's problems stem from attempting to do this alone and not having someone else to guide him through how to tackle things that he's having trouble with. Plus, frankly, he seems to just have a defeatist attitude about the whole thing.
Are there plans to open source this or does anyone know of OS projects that does this? Thanks!
Job Map for every job
Site loads really quick (from AU), which is actually a plus. I miss these older style sites without all the cruft. :(
Kentucky fried chicken
I'm amazed to think that in only a short number of years the work that has been done at Apple R&D in the US might have to go off shore because of our own government...
The joke was clear, but as eric_h explained it is largely a non-sequitur when talking about deliberate ignorance.
TDD only works if the tests are written correctly.

Tests are not about "code coverage", nor about establishing the exact sequence of things in stone. Tests are about fixing invariants.

When a new project starts, I only know about 10-15% things for sure, and those are exactly which will go in tests, before writing any new code. I don't worry about some things in my code are not yet covered by tests; I don't know yet how they will turn out, so I can't write any meaningful invariants.

In my experience, useful tests are much higher-level than TDD guys prefer. They routinely fix invariants for the entire system / subproject, not assuring coverage of every method in class (some crazy folks are even testing getters and setters — why?)
> And of course H1B visas drive down wages. This is basic supply and demand.

Unless those H1B holders create 10 extra work positions on average, then H1B visas will drive up wages. Basic supply and demand.

Both your statement and mine are incorrect or, at least, incomplete. There's no such thing as "basic" supply and demand.
>I've seen situations where that big refactoring would involve scrapping or rewriting tests, and that causes its own kind of architectural conservatism.

I call this test concreting:

https://hitchtest.readthedocs.org/en/latest/glossary/test_co...

The way to avoid it is to either be damn sure that the API you've surrounded is tight, clean and unlikely to need to change much or to test at a higher level.
My colleague has built something similar: http://www.digital-geography.com/jobs-digital-geoscientists

It is using the Indeed API, which might get blocked by your adblocker.
> tests that are essentially testing implementation decisions.

There shouldn't be any. Those are not useful at all.
So Much Streaming Music, Just Not in One Place
This looks nice and feels right in terms of syntax.
I'm not sure I see the value of exposing the borrow checker to the user however; couldn't it be used implicitly while handling the s-expr to c compilation?
In any case I'd love to talk more about it, can I reach out via the github project?
What are you doing the requires constant relaunches though?
When it come to performance - on Atom (on OS X, with Git Plus) it takes me min 10 sec for git add-commit - versus instantaneous when using command line.

I am still using it, but delays really break the flow.
Test first makes loads of sense for:

* fixing bugs - reproducing the bug in a test case both confirms you're fixing the thing, and acts as a regression test

* defining a protocol - where you need to glue two things together, e.g. a front end UI and a back end controller, or a model shared between different modules

It's a lot weaker for design. Test-first tends to encourage overly open to extension abstractions, because you need to make things visible to tests and make components replaceable by mocks. In the early stages, the weight of updating tests makes the design overly awkward to change. And early on in the process is exactly the wrong time to be creating your general abstractions - that's when you have the least amount of information about what will make for the best abstraction.

You still need to back-fill tests after good abstractions have been chosen, of course. Tests are great; test-first, specifically, isn't always best.
>You would be shocked

That's a very strange and unwarranted assumption.
9 Bootstrapped Profitable Startup Stars from India
Yeah "a pig to use" might come across as inflammatory and I guess that this expressing my personal preference (which is just as valid as yours but clearly neither are objectively correct).

Disclosure I use no script and am very happy that HN works without any javascript.

Practically I find collapsible comments highly annoying in every case I've seen them used. This is probably because they seem to either (1) require javascript, or (2) require page reloads, or (3) both.

In the case of HN, dang et al do a good job of detaching irrelevant comments.

I guess that collapsible comments should be one of those optional features that could be available with javascript but gracefully degrade to showing the full tree without.
Ask HN: Examples of popular web based apps, via ionic or similar frameworks?
Is that the fault of HN or Windows Phone?
How do you like this: http://www.digital-geography.com/wp-content/uploads/2016/02/... (might get blocked when using adblocker)
I have a simple maybe stupid question. Why is is necessary to have 2 passcodes for ProtonMail? Wouldn't it theoretically provide the same level of security if the password used to access the email would be also used for encrypting the messages?
Over the years I've gone from writing no tests at all, to being a die hard TDD purist, and then out the other side to writing some things with tests first, others with tests after writing the code, and some without any tests at all.

Hear, hear! Exactly the same here, for the same reasons as you and the OP mention.

And observed fom a distance, it's always the same universal principle: purist behaviour (in the sense of almost religous beliefs that something is a strict rule, sentence starting with Always etc you get the point) in programing or to a further extent, in life, is nearly always wrong, period. No matter what the rule is, you can pretty much always find yourself in a situation where the rule is not the best choice.
How gentrification really changes a neighborhood
Yeah, I mostly prefer end-to-end tests as well. Though to be fair, they are often slower than unit tests, because you need to start up the whole system. And they are worse at pinpointing problems, though that doesn't seem to be a big deal in practice.
I had the same experience:

1. I joined a couple FB group for American expats in the country I live in. I quit them both when I realized that most posts are people complaining about the people and food options here or pictures of their recent booty of American junk food. I joined with the naive assumption that people actually moved here with the same amount of enthusiasm I had when moving here. I was quite wrong.

2. I joined a gluten-free group along with my wife. We both quit when we realized that 95% of the posts were just people asking "is this gluten free?", with pictures of the ingredient list on the side of boxes.

At this point, FB is a news aggregator for me and only keep the account just to avoid drama with certain people.
You understood neither the original term "scab", as short for "scab worker", which is a derogatory term for strikebreaker, nor the use in this context as a metaphor, in this case likely meaning for people willing to work at cut-rate wage to replace a worker who thinks those wages are unjust.

For example, originally "carpetbagger" was used specifically for a Northern who went the South after the US Civil war, and were seen as doing so to advance personal power or profits. It's since acquired a much broader, though still pejorative, meaning.

Since you don't have much experience with the term, you might need to research more about how it's used in the broader context.

Some strikes in STEM fields include the Boeing machinists strike of 2008 by the Society of Professional Engineering Employees in Aerospace, the 2007 United Space Alliance strike by members of the International Association of Machinists and Aerospace Workers, and the 2015 WCAU Photographers and Camera Operators Strike by the International Brotherhood of Electrical Workers. Probably the most famous STEM strike in the US is the air traffic controller strike by PATCO in 1981.

For smaller examples just from 2015, here's a partial strike by medical physicists in Australia - http://www.nzdoctor.co.nz/un-doctored/2015/june-2015/02/Medi... . Here's a strike by medical doctors at University of California campuses in Southern California - http://www.latimes.com/local/lanow/la-me-ln-doctors-strike-u... . Here's a programmer strike in India - http://timesofindia.indiatimes.com/city/kozhikode/Computer-p... .
As a suggestion, QuickCheck type testing frameworks are good for finding bugs relating to unexpected data.

Summary of how they work: you say "this program takes a 32 bit signed int and a string" and the testing framework will throw it a heap of random ints and strings, some of which match the sorts of classic curve balls it might encounter (negative numbers, int max and min values, strings that are very long, empty strings, strings with \0 in them, strings that don't parse as valid unicode, "Robert');DROP TABLE Students; --", and so on.)
Some (quite a lot, actually) pieces of code are essentially experimental - e.g. trying out an API/libary and seeing what it's capable of or trying an approach to solving a particular kind of problem or even trying to see if a particular problem is solvable with a piece of code.

For this kind of coding, TDD makes no sense whatsoever. The 'specs' are as fluid as the code and having confidence in the code isn't that important.

This is entirely different to creating production hardened systems with very clear specs. If you don't do TDD on that, you're an idiot.
The preference function (or oracle) can return a truth value without you necessarily having insight into its inner workings. People "know it when they see it" without necessarily being able to define it.

So you write the code; expose it to a preference function / oracle, iterate, and hill-climb towards a local optimum. The revealed preferences may give enough information to make a creative leap off the local hill onto a large hill elsewhere - but it may not.

After a solution has been found, then you can write tests.
Edward_Leedskalnin, moving multiple ton rock single handedly
I was mocking @hacker_9's continued disbelief of everything that people were saying about Atom's poor performance by replying to a comment about Atom's poor performance.
Re-reading the comment, I mistook the "tone". Originally, I understood as "You choose to immigrate and it's easy, we'll all become doctors and lawyers".
In my limited experience, tests should be written against a specification, not against code. Writing tests focused on code seems to often lead to tests that are too close to the implementation of the program, even with test-first approaches (you end up thinking about how you'll write the code when you're designing the tests).

By focusing on the specification, you can ensure that design decisions are made by the coder are fit for purpose.

I also think many tests would be better written as code contracts, you mainly want to ensure the inputs and outputs are valid, code contracts focus on this.
Same here. I liked Atom at first, but the user experience is annoying in the long run. Atom is slow and buggy, what is absolutely not tolerable for a text editor.
Testable design is often a poor design, mainly because of language limitations; abstraction and scoping for tests are not necessarily the best choice for abstraction and scoping for design.
Yup, reflection points to a misunderstanding on my part. I perceived the comment with negativity, which I don't believe was the intention.
Do we really need more "security mechanisms" just because people might find something they could do which you didn't expect, but is actually useful for them and allows them to do what they want? A bit of a philosophical point, but I don't think it's a good thing at all if everything anyone ever did required explicit approval from some entity.

Then again, I don't get the culture of strict conformance around iOS (and Apple in general) either...
IMO, OS X is becoming bloatware
This Factory Robot Learns a New Job Overnight
Alternatives include CRUX (whose maintainer's systemd stance is "over my dead body :)"), Void Linux (the only distro I know of to adopt systemd by default and then migrate away from it; currently it uses runit with systemd as an option), and Alpine.

I'm sticking with Slack for the time being, but I've got my eye out for alternatives should the worst happen.
What Reuters Taught Me About UX
The diagram is a bit misleading as it separates out Windows users by OS version, although they are still the majority, not Mac users.
Easy file sharing and synchronization
> ECC can detect and correct one or two (or a few more?) bit-flips at a time, but if there's too many it won't notice that something's gone wrong.

ECC can normally detect and correct a single bit flip, and detect but not correct a double bit flip, in the "line" of bits protected by it. The ECC protection is local, not global; if there are many flipped bits but they are far enough from each other, each "line" will only have a correctable single-bit flip.
But there's the rub: most of the time, most people aren't looking hard for something they know to exist. They are just casually passing through. The 451 is more about raising the alarm for that much larger group.
Ask HN: Anyone managed to monetize their browser extension projects?
I'm wondering if anyone here has made money via their Chrome extension/Firefox add-on projects or know any?

P.S. I don't mean via donation.