skysight-inc/HackerNews huggingface dataset:
It's partially the Brand-Neutral Box / Packing Slip services offered by Amazon:
http://www.amazon.com/gp/help/customer/display.html/?nodeId=...

FWIW, these are going away come Sept 1, 2016 anyway:
https://sellercentral.amazon.com/forums/thread.jspa?messageI...

My advice to you is to focus less on the hassle caused by eBay arbitragers and focus more on growing your product lines... I sell on AZ and have experienced various issues with return fraud, competitors messing with listing descriptions, Chinese counterfeit takeovers, feedback fraud, etc. At one point I had a competitor order & ship 40+ items and then return them all in unsalable condition.

You can only fight it so much before you realize your energy is best spent growing your bottom line rather than trying to solve the 1% that is a nuisance. Best thing to do is document everything though and keep a well-regulated forward press on the AZ Seller Support, as you've been doing. But don't let it consume you.
Inside the Singapore government's lab of the future
I don't want to know about what he did unless there's some information on why he did it also. Was he pushed over the edge after years of mistreatment? Or was he mentally unstable and it was petty revenge?

Most of us have the keys to the kingdom in one way or another and while I (and others) could never do this it doesn't mean I don't have sympathy for someone who does - for some justifiable reason. I can't imagine any that are justifiable... but I can ask.

I found the other linked articles about, "The Malicious Insider", a bit fucked in the head. Unapproved hardware! Email misuse! Unapproved workaround! Unapproved software! Are you fucking kidding me? That's a pretty far cry from this guy.
Sometimes you have national organisations that provide advice about antibiotics, and you have doctors wanting to follow that advice, and you have patients who want to follow that advice, but a stupid rule by eg childcare means that everyone caves and prescribes antibiotics when they're not needed.

Here's a particularly frustrating example.

http://bjgp.org/content/early/2016/07/05/bjgp16X686125

> Acute infective conjunctivitis is common among preschool children. Public Health England (PHE) recommends that children with conjunctivitis do not need to be excluded from child care, but childcare providers are required to determine their own sickness policies and prior research suggests that children are often excluded until they are treated or have recovered. How the content of these policies impacts on prescribing decisions has not been quantified.

[...]

> Acute infective conjunctivitis (AIC) is a common condition in preschool children.1 It is usually mild and self-limiting, often with no requirement for treatment or a doctor’s appointment.2 Evidence suggests, however, that parents and guardians are advised by childcare providers (CPs) to take their children with conjunctivitis to their GP for assessment.3–5 Furthermore, some CPs will not permit affected children to return to child care until antibiotics have been prescribed,3,4,6,7 thus parents are obtaining antibiotics to get their child readmitted. A situation in which antibiotics are prescribed for non-clinical reasons is difficult to justify and requires further investigation.

> Although most cases (50–75%) of AIC are bacterial in origin,8 the aetiology is difficult to determine clinically and only 36% of doctors are confident in differentiating between viral and bacterial conjunctivitis.9,10 In bacterial conjunctivitis, there may be some clinical benefit obtained from topical antibiotics;11 however, this benefit is perhaps not seen in children and topical chloramphenicol shortens the duration of symptoms by only 0.3 days.2 Despite this, most clinicians usually prescribe antibiotics for AIC.10
Seconded. Her books are wonderful.
> we just leave a lot of food and it just eats what it needs everyday.

Possibly including the mice and rats attacted by all that food? let alone flies.
Playlist converter not so new web app
Conversion of playlist from one music streaming service to another is more and more needed by users. This is a long term project. years after years user are geekier and we leave mp3s collection for youtube, spotify, deezer and co. Love to get your feedback. There a simple text api and the conversion from freetext is very handy if data come fron another service export :)
I honestly don't know. They're very practical.
First of all, if your unit tests take 40 minutes to run (unless it's an insanely large codebase) then there's something wrong with your unit tests.

TDD isn't as much about being "correct" as it is about writing your API (and I mean internal API -- the classes and methods your software uses internally) first and then implementing the details. A side effect of TDD should be better designed software, which should in turn speed up your development.

The reason I brought up slow unit tests first is multi faceted. Most likely, they aren't really unit tests. You're probably testing the class in addition to the classes that your classes are touching (i.e. DB connections, etc). This is probably partially because unit tests are foreign to your developers and thus they don't know how to properly write unit tests, but additionally (more important to your concern about delivering software quickly) its probably a result of your classes not being easily testable. By making your classes more testable, you end up breaking things up, removing dependencies, programming to interfaces instead of implementations, etc.

Additionally, its easy to argue why delivering correct software helps deliver software quicker. If you deliver broken software, which takes down systems, developers need to spend time fixing the broken software. This time spent is extremely expensive. It disrupts the day, is a distraction, and depending on the extremity of the bug, can affect entire teams.

Beyond all that, knowing earlier on that your software is correct helps you move on to the next thing. When I say this, I don't mean verifying correctness after pushing to production. As an example, you need to update a database record based on some input from the user. Traditionally in order to do this you need to write a method on a model to do the updating, and you need to write a controller to call that method given query parameters, and you need to write a view to take user input and post a form. You may start with the model method, and it'll take you an hour to finally be able to test that your model method is working properly. If this fails, you have three separate places where it could have failed, so you need to look through the code to figure out where exactly it fails. Was it a forgotten csrf token? Did you forget to save in your model method? Did your controller simply not call the model method? With TDD, you'd write a test first to verify your model is working. Then you'd write a test to verify your controller is working (or not? some people don't test controllers). Then you'd write a test that your view shows the form and submits. As a result, you'll find out earlier and more specifically where issues lie.

All that said, its good to learn how to TDD with very strictly writing tests first, but in practice you need to understand the need to be pragmatic about it. It often doesn't make sense to write tests first, and you need to understand that its unrealistic to test every possible case.
The deal with TDD is you write twice as much code and you have less than half the bugs. As the project grows, it gets harder and harder to maintain and change unless you have good tests. Most projects without good tests that I've seen grow to a certain size and then become very difficult to make progress on because people are too scared of breaking things and the releases inevitably take a very long time due to all the QA.

One great thing about TDD is that I can pick up a project I Haven't touched in a very long time or am new to and work on it and as long as all the tests run, I know I didn't break anything. Without tests, the intimate knowledge of the requirements of a system tend to get lost and the project quickly becomes unmaintainable without a guru and active development.

I'd also say that having some tests from the start is much better than not having tests. The main reason for this is that to have tests, the code has to be developed with testing in mind. The second thing is that if you have a build system and a framework for writing tests, you can easily add new tests for tricky bugs or corner cases.

If you really want to go fast and loose, you should at least have a happy path integration test, a test for all the dao methods and at least a happy path test for the controllers. Any parts of the code that are tricky or algorithmically clever should also have tests. As your QA team runs into regressions, write tests for those regressions. This is a way I've found to amortize the test writing somewhat. It's important though that the test running is integrated into the build at these levels and is run before every release.
LaTeX nitpick: use \text for function names, like \text{roundness}, or else you have roundness which means r times o times u...
I've never launched before. How do I secure my ec2 instance?
Hello everybody,

I'm planning on launching my first ever free web app in a month or so. But I am scared about security.

How can I make sure that my web app is secure?

For the web app layer, I've been reading OWASP and some books. But I'm not sure how I can secure the web server layer.

Does anyone have any good resources that they can point to? Thanks!
A Method for Service Oriented Architecture (SOA) (2014)
Not completely solvable no, but implementing four-eyes authorisation is a decent measure.
How to know it’s time to give your job away (as a founder)?
If you think Clinton is anti-Putin, you haven't been paying attention.

She negotiated the deal that enabled Pravda to declare :

"Russian Nuclear Energy Conquers the World." [1]

Mr. Clinton received $500,000 for a Moscow speech from a Russian investment bank

[1] http://www.nytimes.com/2015/04/24/us/cash-flowed-to-clinton-...
I wouldn't do unit testing at all unless it was TDD. Effective unit testing requires a quick feedback loop with red and green pass/fail alerts.

I'd say really invest time creating a productive TDD environment for yourself first before attempting to convince business people. Buy into the dogma for several months. This should really give yourself an idea of the pros and cons of TDD.
Accepting being better than some people is accepting being worse than some other people. One thing is for certain; we all aren't just as good. Who is really ignoring reality? Is it the person who thinks he has room to improve or is it the person who thinks he can't improve and has no reason to improve?
It's OK, we can unhack it in Post
Strictly speaking I don't do TDD because I don't write tests first. I write code first, then I write the tests. If I went tests first sometimes I would have to design the algorithm anyway because I wouldn't know what to test.

However, I tend to write tests very early as soon as some code runs. Why? Because without tests I would feel like driving a car at night without lights and with no brakes. Sooner or later I'll crash into something and discover that I'm way out of route.

The reason is the same if you do proper TDD.

I also use test coverage tools, to know what I'm not testing. Sometimes is not important, sometimes it is. Given constraints on time and budget it's important to have data to back the trade off you must make.

(Question to native English speakers: you do a trade off or you make one?)

About those 40 minutes: it's way too much. Even 4 minutes could be too much. Is your application that big or are you testing its parts many times with different tests? Maybe you could slim down the test suite. Unit tests for the single components and an integration test for all the application. In the case of a web application you would use one of the many tools that drive a real browser through all the pages of the app, one test per use case. That could be slow but the unit tests would be fast. You can run the unit tests on your computer and the integration test on a continuous integration server.

Edit: -do +make trade off
The article talks about Postgres mostly delegating caching to the OS while dealing with it via system calls (which they describe as "expensive"), while InnoDB has its own implementation and is therefore faster.

I wonder if part of the problem is really Linux, not Postgres and that another way they could have addressed this is by trying FreeBSD (which is what a lot of people run Postgres on).
Oracle buys enterprise cloud services company NetSuite for $9.3B
I've found that if you lead by example, people will follow.
> They could put the e.g. inside a dfn tag or teach the screen readers how to read it.

I'm afraid not. AFAIK, screen readers don't apply any special processing for DFN tags. Speaking as someone who's using a screen reader to read this thread and proofread this comment, I'm not sure I'd want them to either, and I hadn't even heard of them until today.

Also, screen readers are able to speak through several, possibly hundreds, of different speech engines, so you would have to teach each of those engines to deal with these corner cases separately. Given that many of them were developed ten plus years ago and are now no longer under active development despite continued widespread usage, that's not really a realistic goal.

N.B. AFAIK is spoken by my screen reader/speech engine combo as "uh-fake". As a blind software developer, I have much bigger problems to worry about than memorising how my software speaks abbreviations. I of course don't speak for everyone though and clearer communication is always an excellent goal.
Regarding morale, there's always a "bad country" making headlines each week. A disgruntled employee and an employee coerced by Bad Country's operatives can do pretty much the same damage, so you might as well frame the risks and policies in terms of protecting employees from the latter.
my personal style to design a system is to focus on design the domain model, I believe that this is an intuitive way for people to design stuff (not just software, also in math and ML). This is the reason why I am not sold by TDD which start with writing test cases first – how come people can tell what is going to test before they know what they are going to develop.

I tried some projects with TDD, but unfortunately, it is too counter intuitive for me to follow to design a system.
That is true, however it assumes that most people read the domain name.

I don't, and I don't know how many do. Do you?
You should check out Minimal Perl [https://amzn.com/1932394508] if you haven't already done so.
> Haskell's fusion framework could be greatly improved (although it is the best production solution I'm aware of). However, how would you go about solving this?

Given that we're in a rust thread... are you familiar with rust's iterator fusion [0]? Basically there are three components: iterators (something like a source), iterator adapters (where all manipulations happen), and consumers (something like a sink). LLVM will compile all the iterator adapters into a single manipulation such that the underlying stream/vector/whatever only goes through it once.

I personally like it much better than Haskell's. With rust the fusion is guaranteed to happen, although it makes the types a little verbose and tricky to work with, but with, e.g., Haskell's Text's stream fusion I was never really sure that it was working, or if I could do something to prevent it. It seems like in Haskell it's more of a behind the scenes optimization that you hope kicks in, rather than designed into the types. Or do I misunderstand? I only dabbled in Haskell.

[0] https://doc.rust-lang.org/book/iterators.html
What precautions can one take against their sysadmin? I can't think of many places that have stricter security policies than 3-letter agencies, still Snowden got away with a USB stick (man, can't wait to see the movie - I wonder if he really passed the USB stick out using the rubik's cube as in the movie trailer).

The thing is that that you can't do much against someone who has root access for a living.

There are other ways to make a point, especially when you're prepared to get fired. Damaging everyone else is selfish and stupid.
Reactor Model ScalaDays Berlin Talk
The Slack ad :-)
Looks fantastic! Thanks for sharing!
Also remember that a $5 donation to a non-profit in the USA is pretty valuable since there are requirements relating to number of donors. Big donations need a lot of little donations to make up the numbers.
I've heard, first hand that Citi is extremely toxic. People are mistreated, are abused (verbally) on a frequent basis. There's no accountability within the ranks and management doesn't care and encourages it

I almost accepted an offer to work in their NY offices. When I was being interviewed, the Manger of the group was divulging his dislike for the person I was going to report to.

It's a sick place & the IT guy in the article sounded like he was being abused. He shouldn't have done what he did, He should have documented the stuff he went through and maybe get a lawyer and sue for pain and suffering.
I mean, sure, it's written to advertise his product, but it's still content that is of interest.
The Student Loan Crisis Is Overblown
How to build a naive bayes classifier
Roofing Replacement: Why Investing in Quality Material Is a Smart Move
Nice writeup but it seems like there should be a closed analytical solution vs. an iterative one.
We switched last year to start writing unit tests for all new code and refactoring old code to be testable and write tests for it whenever we go back and touch it. Here's the benefits we saw from doing this:

1) Development is not really slowed down by any meaningful amount. You might invest more time up front, but further development is faster. The time investment in unit tests at the beginning pays for itself very quickly. With anything of a reasonable size, especially anything that involves multiple developers, the unit tests will speed up development over all.

2) The obvious one; you find bugs faster. If you write thorough and good test suites, you will find bugs before you release the code (obviously) and you will find bugs when you go back and touch the code again. I'm not going to claim you'll find every bug and never release a bug into the wild again, because that's not true, we're human. But things will be vastly better.

3) Maybe most importantly, it forces you to think about your code more and write better code. In order to make your code properly testable that will mean that your code has to be properly divided up into testable units. That means goodbye monolithic code, hello division of concerns.

It's silly but if you're having a hard time convincing management, sometimes they respond to the fact that any "serious" development team at a "real" enterprise writes unit tests. Managers are sometimes very susceptible to pointing out that they're doing things in an amateurish way, because they like to think of themselves as professionals.
I agree the greyed out hard-to-see "(ayende.com)" in parentheses can have the same effect but I assume that everybody's eyes scans the page differently[1]. I'm sure a lot of readers in a hurry would ignore the grey text and would assume it's an exact duplicate of yesterday's post. Having "Ayende" in the title seems like a minor expansion of words to counteract that effect.

From the back & forth comments, I'm getting the vibe that the submitter broke some hidden HN principle??? As if putting a person's name in the title is trying to manipulate the HN readers into hero worship?? Or trying to impress HN readers with Hollywood name dropping?? I read the "Ayende" using a perfectly neutral interpretation but it's obvious others are really turned off by it. I can't see any other reason for the bikeshedding about the title.

[1]https://www.google.com/search?q=eye+tracking+gui&source=lnms...
Database developer's dream.
And it's FREE. Nice.
NetApp Opspack Overview
Side topic: Have you ever done this just for fun on an old system or vm? It actually stops pretty early on once it starts into /dev - removing everything actually takes a little more work.
And who's going to design the backup scheme, the management? One more click to erase all backup servers, I mean since we're here...

Point in case, as parent commentator said, it's not the kind of problem that you solve with technology.
Best Performance Testing Tools and Load Testing Tools
I get where you're coming from.

The great thing about electronic music is that anyone can get a setup for cheap and start producing tracks. The terrible thing about electronic music is that anyone can get a setup for cheap and start producing tracks. I have some producer friends (none of them renown), and the approaches taken by those with a musical background and those without are wildly different.

The ones without the background tend to shovel out tracks, wipe their hands, and say, "Look! Easy!" They fail to realize that while their tracks do constitute as a musical piece, they have no idea about any of the composition. They claim their tracks are bangers just like everyone else's, but they're either making new arrangements or missing subtleties on why some tracks are considered great.

All of that was to say that Sturgeon's law is especially prevalent with electronic music. Everyone is just as good as that one world famous producer, and there is nothing difficult about producing electronic music. However, your 100 plays across your 25 tracks on SoundCloud beg to differ.
That's how you end up with all your belongings strewn across the carraige in an airplane
You make a trade-off. Do sounds weird, and I have no idea why. :)
Talk on Reactor Model for Composable Distributed Computing
EU Regulations and the Rise of Data Hijackers
Coastlines vary even within the same country. See South Korea (rank 51). Very smooth in the east, crazy fractals in the southwest.
It would work well with an electric highway like the test one in Sweden, described recently at https://www.engadget.com/2016/06/24/sweden-electric-highway/ and elsewhere.
Well said - that's a point worth making.

But not necessarily a big worry with this particular article - Eco's fame as a novelist and the sheer strength of his prose will tend to bust through filters regardless.
"Telling a programmer there's already a library to do X is like telling a songwriter there's already a song about love." @counternotions (seen in twitter)
An hour’s walk can cancel out eight hours behind a desk, claim scientists
LinkedIn launches programmatic buying for display ads
Zamphyr's Metrik – Reports from Yandex.Metrika to Your Slack Team
Shipt raises $20M to challenge Instacart and establish AL’s startup ecosystem
I tried the recipe and noticed that create with -v also creates a volume and copy the image content. Docker documentation also states that it is the same as VOLUME in Dockerfile.
So what is the advantage? The long copy time is still there ...
Define "one thing"

Suppose you want to test a function that capitalizes the first letter of words in a string: I would test

'' => ''

'a' => 'A'

'aa bb' => 'Aa Bb'

3 tests, which does not mean 3 functions (that will have the overhead of setup and teardown)
> How can communities police themselves without having to rely on an external authority or hierarchy?

communities can police themselves about how well their members fit in with the group and obey social norms using whatever tools they like, up to a point.

up to a point.

the point where self-policing must end and external authority must take over is when criminal allegations are made against a member of the community. if someone is accused of sexual assault, that is a crime they can face prison time for. it is deeply inappropriate for the community to try and self-police a criminal allegation of that weight.

if the accuser is not willing to let the criminal justice system investigate a criminal allegation then I think there's something else going on. using criminal allegations for social-normative or political ends is a dangerous game though.