skysight-inc/HackerNews huggingface dataset:
This seems to still miss the critical mechanism that metaclasses provide to the language.

There are many ways to enforce a constraint from dervied classes to base classes.

Metaclasses are the only* way to enforce a constraint from a base class to a derived class.

(* there's actually another way, but don't do it.)
It can be confusing operating in the EU. Whatever jurisdiction you're operating in, when it's not your own, it feels confusing! In my experience the EU is at the better end of the scale - but you have to bear in mind that it's separate states with ajoining regulations for the "market".

If you think you'll scale the business then it's best to start with a single company registered in a EU country of your choice. Generally, easiest to pick the one you will find easier to deal with, or you think you'll have the most sales in.

The local tax regulations will specify when you have to pay taxes in other EU jurisdictions. There are limited exceptions when you're just getting started. This only means registering for taxes - it's similar to the idea of US company registering to pay local state taxes.

Employing people is different and will require registering for employment taxes in each country.

Any competent business accountancy firm should be able to provide assistance: generally best to work with one which has relationships or offices in the other EU countries you're interested in operating in. If you can't afford that then your local government business department will be more than happy to help (as you are generating tax!): in the UK that's the Department for Business Innovation & Skills [1].

[1] https://www.gov.uk/government/organisations/department-for-b...
>If, I'm reading you right, I think you are saying there is a distinction between:

>a) The thing itself b) A name for the thing itself

Yes, that is generally accepted. Generally philosophers talk about the name, 'A', the thing, A.

> It would seem the obvious answer is, no.

If you think that is obvious, you need to spend more time thinking about it. For example, you seem to be implying that we don't know if 'alien' is a real word or not since we don't know if aliens exist. (Some people may claim to know, but most of us have not seen proof.)
Looks like the motorized version of Apple's Magic Trackpad to me.
You indirectly pay for all fraudulent charges because they're included in the fees the merchants pay to the credit card companies (and obviously just include in their pricing as well). With a secure system those fees could be much lower.
Microsoft Research: Why Do Nigerian Scammers Say They Are from Nigeria? [pdf]
The cases I have in mind are not because of NIH or because of greybeards' passed-down wisdom from the time when computers had to be carved out of stone.

There are places where there are heightened security requirements (for various reasons[1]). Disallowing unnecessary outbound connections is a standard practice. This results in pruning quite a lot of possible attack vectors.

[1] Of course some of those reasons are ridiculous. One place disallowed saving word documents as blobs in an Oracle database running on a Solaris server due to fear of malicious word document macros running on said server.
There's no objective way to determine a base rate here. If you argue there is what methodology are you using?
Unit and Functional Testing React Components
Agreed on than analysis (this a legacy issue)
An Outline for a Book on InnoDB
I like how the healthcare.gov one is the only one without a description
My little laptop battery is 80Wh, and they could fit ten into that thing.

Edit: watching the video it's a bit thinner than I thought but I see no problems with battery mass.

Edit 2: http://www.greencarcongress.com/2009/12/panasonic-20091225.h... Look at these for example, they go in tesla packs and would provide enough power by your calculations at about 1 liter and 5 pounds, and that thing can definitely fit a liter.
Update:
I played around with the exploit some more to find out what exactly triggered the file dialog. Turns out my OS (Ubuntu 15.04) actually saved me.

When you try to open a file with Firefox it will first try to map the file to a mimetype using the ExternalHelperAppService (https://developer.mozilla.org/en-US/docs/How_Mozilla_determi...). In case a mimetype is found, a file dialog is shown so you can open the file with the right application, in case it is not, the contents of the file will be displayed in the browser. In this case my OS provided the ExternalHelperAppService with a mimetype for one of my public keys with the .pub file extension: application/vnd.ms-publisher. Of course that's not the correct mimetype for the public key file, but that's basically what saved me by showing a file dialog because it found a mimetype. All other files had no file extension so no mimetype was found.

I also discovered that my private keys were all encrypted with a passphrase so even though they have been compromised it was not as bad as I initially believed.
Thanks for sharing the Vice article, it was great ... good to see some of these projects succeeding now that the capex has come down (a decade or so ago there was a long list of similar ventures that failed).
I forgot to mention the two year contracts which rendered competition essentially meaningless until about two years ago or so.
Knight Capital's $465m trading loss due to a software bug (2013)
Both, "Consilience" by E.O. Wilson and...

"The signal and the noise" by Nate Silver

are worth look.
Not mosquitoes?
Metaclasses are the monads of python. Everyone seems to want to write about them at some point.
Ask HN: Docker in production?
Docker is the new talk of the town. There are numerous blogs and articles on how docker is awesome for CI and integration testing kind of use cases and also as a development aid. But in my experience, its mostly crickets when talking about its use in production. I was curious on how many are actually using docker in production and what do those use cases look like?
"Great tool, but not to be put in the wrong hands."

I wouldn't quite say this - I wouldn't want to discourage someone who's going to learn them to go ahead, but I'd just say "Only use them when you really need to use them and if you're going to use them make sure you really understand them".
>Erlang is not good for Glue-together style web application

Granted Elixir's Phoenix framework is not Rails level yet, it's system of plugs and heavy inspiration from rails actually makes it quite useable as a replacement for rails. Also immutability and the associated smaller memory footprint makes it more feasible to run cheaply on services like heroku or aws. Personally, I think elixir is a good boat to jump on to carry us over to the next world of web development.
If you've included the non-standard analysis approach to calculus it could benefit a ton of people.
FYI, based on my past experience, for avg urban customer the total acquisition cost for a cable ISP on DOCSIS 2/3.0 was about $750 -- small delta vs your new build cost.
Do you know of a chart that compares all of these dimensions across languages/VMs?
People, both pro-life and pro-choice, do not want babies to be born with phocomelia, which causes great suffering and a 50% mortality. Dr. Kelsey more or less single-handedly prevented this tragedy in the US. It's not confusing at all.
All currencies are religions.
Looking to the broadband wonderland in South Korea of Japan w/Gig service for $25 provides some insight into the sevices/uses of that sort of broadband -- based on my experience it fundamentally changes your computing practices.
Ok this is seriously amazing (coming from a C++ guy). However, one thing I don't like with putting matrix dimensions in templates is that then you can't construct them at runtime. I do understand the obvious - that you can't have both static type checks on all operations and runtime-determined matrix sizes. Though I would kill for a language which would specialise my code at runtime and throw an exception for compilation errors. So you could write, e.g.

template <int m, int n, int l>
Matrix<m, l>
mul(Matrix<m, n> lhs, Matrix <n, l> rhs)
{...impl...}

And then be able to call it like

int m, n, k, l = ... read from file or whatever
Matrix <m, n> m1 = ...;
Matrix <k, l> m2 = ...;
try {
Matrix <int o, int p> m3 = m1 * m2;
// ^ code compiled dynamically
// or loaded from cache, based on
// runtime types of m1 and m2.
// o and p set to the result
// of type inference.
// I could imagine even having
// specialised versions with inline
// assembly for specific dimensions.
} catch (DynamicCompilationException e) {
print("dimensions not compatible");
}

Java could be it, if it had reified generics. You'd create an implementation of Num, or load one from cache, then instantiate the template and attempt to call the mul function.

Or you could abuse the invoke dynamic feature - create specialised functions matrixMultiply$m$n$l and classes Matrix$m$n from some other templating language as needed, then do an invoke dynamic based on type. But this would be very cumbersome to use, I think.
Citizenship is something that hn tends to underestimate given that most people here already have a favourable starting point on that front.

Growing up in a 3rd world country - but with a powerful passport really drove this point home - it can make or break your life.
Caveat: I haven't written any Perl except for an occasional one-liner in a decade.

But I do a fair amount of Python, and a 20 minute cruise through the Moose docs leads me to believe that the most similar thing to Moose in the Python world is, well, Python.
Ask HN: Share your Amazon Phone screening experience
Hello Everyone
I have my Phone screening at amazon kindly suggest me what should i prepare also share your experience of amazon phone screening for SDE role

Thanks
> Most of these people that are praising Kelsey for saving these children are pro-choice

Nice imaginary data... I'm sure that anti-abortion people hate also the idea of having babies without legs, arms, eyes or ears.
Tons of people are buying Fitbits, but are they actually using them?
I never use anything but the exact versions in my .lock files (unless there is a really compelling reason not to).

If I want to upgrade from 2.1.3 to 2.1.4 then I'll change that dependency and run the update.

The reason I do this if I have packages A, B and C all set to >=2.2 and A,B upgrade and something breaks, How do I know it if twas A or B.

Now throw in that packages get updated all the time and those packages have sub dependencies and it quickly can get out of hand.
How to Succeed in Business by bundling and unbundling – 2014
Yes, as netcan says, make it large enough to sit on. But kneeling is safer than lotus position, because it's easy to transition from there to walking. And it's a standard Japanese seat style.[0]

[0] https://fewrightautonomy.files.wordpress.com/2012/03/87caa30...
Because Bitcoin is immutable and blockchains are a codification of the network effect. Altcoins are themselves competing chains, and thus compete with the main chain. Because the 'first mover' is Bitcoin, then the incentive for any miner is to join that chain. The problems in other altcoins are particularly important because their miners always sell that altcoin to the greater fool... in exchange for bitcoin.
Many dotcoms were very scammy.
> You don't need a proper 'infinity' to have integers be unbounded.

What do you mean by unbounded? If you mean something like a 64 bit integer that loops around to negatives eventually, then the statement either "every (non-zero) integer is a factor of another integer" is no longer true.

> That contradicts the definition of integer, so it doesn't really show anything.

Which definition does it contradict?

> Pretty much all I need for the proof is a working successor function, and if you take away the successor function you have something that doesn't even resemble integers.

You can have a successor function, but if you can only apply it a finite number of times if you don't have infinity.
The starchy carbohydrates were probably not potatoes which are a new world plant and domesticated fairly recently. https://en.wikipedia.org/wiki/Potato.

The article states: "Dr Karen Hardy and her team at the Autonomous University of Barcelona say that there are five crucial reasons why a starch-rich diet was critical in human development." That suggests that the key is "a starch rich diet" rather than potatoes that enabled larger brains. It would be interesting to know where the starches came from, given that potatoes are not an option.
Can someone compare this with meditation?

I am curious how the "attentions" differs when one is actually ignoring impulse in meditation from the style described in deconcentration
My favorite amongst the package managers I use is pip's freeze command which dumps the installed local venv packages straight out with fixed versions.

pip freeze > requirements.txt (to output) and pip install -r requirements to install.
My company currently does this using enterprise-grade software, and I'm deeply familiar with the problem area. The article quotes the guy as hearing the problem and saying:

--“My instant solution was, ok we have these big devices nowadays… why can’t we use them to capture these invoices, use technology to convert that image into text and extract information out of these invoices,” he adds. “It was pretty much a bottoms up approach.”--

Yeah... no. I'm afraid it is much, much more challenging than he realizes. Here's a quick, non-exhaustive summary:

1. Most paper invoices are printed and then either mailed or faxed. Sometimes the vendor's accounting staff manually annotate (e.g. hand-writing) the printed paper with additional information that didn't exist on their accounting system (e.g. purchase order number). By the time the invoice arrives at the AP department, the quality of writing on it can be atrocious, which greatly affects the accuracy of OCR. So you need to use complex image processing on the invoice first, and then OCR it. You may also need ICR to read hand-written information.

2. A lot of vendors change their invoice formats on a regular basis (e.g. by changing to a different template on QuickBooks). This means that whatever machine-learning you use to process a vendor's invoices will be invalidated when the format changes.

3. Smaller vendors, such as mom-and-pop shops that restaurants sometimes deal with, are very undisciplined about their invoicing, and can forget to put key pieces of information on the invoice, or make typos.

Over the years, I've come to realize that the only way to efficiently deal with invoices is to make sure they never become paper-based. We have been pushing our customers and their vendors to use EDI instead, which is a LOT easier to control and standardize.
Well, sure, but the government's information on you will also include... parents, other family, a photograph of your face, and so on.

It should never be possible to do what you're suggesting, not unless the USA is failing to collect that info in the first place.
Thanks for the feedback! We're certainly excited about the recent move towards go's experimental vendoring, I can't say I've had many positive experiences with vendoring myself as it is. The only thing worse than vendoring is not vendoring.

This article is a little outdated in terms of the maintainers endorsements, I'll see if we can update it with that, along with the correction.
While I haven't examined it closely, there's a well thought of, concise, no-fluff book on it: http://www.amazon.com/Infinitesimal-Calculus-Dover-Books-Mat...
1. I don't think you have to understand everything. However, you should understand the parts that you use.

2. I find it critical to be able to rationalize about what the language, compiler/runtime and framework should be doing. This is never learned up front, but do take time periodically to understand what should be happening. For example, take 2 weeks to re-read JS the Good Parts. As you read, apply what you're learning to your code.

3. "the ways it's done". IME, "the way it's done" is too often "the way one engineer blogged about it and then 1,000 engineers reblogged without actually understanding why". Just because a solution is repeated over and over, does not mean its the right one for your situation.

4. the balance between understanding and productivity. Long term, the more you understand, the more productive you'll be. However, there is a time investment in the short run. Just balance the two based on your immediate needs. As for understanding, set a schedule of 30 minutes per night where you read. You won't learn everything at once, but it will happen over time.

5. Study JavaScript the language. JS, due to its async nature, is very different. Getting to know the language will make the Angular and/or any future frameworks you use a lot easier to think about.
Show HN: Crawl a webpage to find books on Amazon
Front running is more or less fixed by naming and shaming the registrars. I'll start:

GoDaddy is well known for domain name frontrunning. If you search for the availability of a domain using their website, they will likely temporarily register that name, forcing you to use them as a registrar. Use an alternative like gandi.net or Google Domains.

> ...then there are of course DNS aimed DDOS attacks...

Traffic amplification attacks are possible with protocols that return more data than one sends to trigger the return.

> Something needs to be done...

Do you, yc1010 have either a specific list of problems with DNS-the-protocol and/or DNS-the-distributed-name-to-address-mapping-system or a set of proposed solutions? :)
Sounds like a good job for Lua.

You can replace the glue logic with Lua. And then you can augment or replace the tests on a case-by-case basis. For tests that must be done in C, you can either leave them as is and drive them externally, or create a binding so you can invoke the C portions from Lua.

LuaJIT's FFI feature makes it very easy to experiment with bridging because it avoids writing binding code.
> There's a good reason why they were about eighty columns. It's because the eye can't comfortably scan much further.

Except that you are wrong.

One of the links in the comments here has research that shows that reading speed increases significantly to at least 90 characters and may increase further than that.
It's not just conceptual nit picking. 'proof' and 'prove' do indeed mean something different in mathematics than they do in science. This semantic difference confuses people (you see a lot evidence of that in this thread). I think it's better to use 'evidence' rather that 'proof' and 'substantially support' rather than 'prove' when talking about science. That doesn't mean that the terms are invalid when used to talk about science, just that they are confusing to people.
I've noticed this situation often. To me, the issue usually appears to stem from the fact that someone (possibly myself) typically has a deep emotional bias that they're unwilling/unable to recognize or acknowledge. Something profoundly scares or disturbs them in such a fundamental way that it's easier to imagine a reality where that problem doesn't exist than to accept an extremely uncomfortable truth.
Wrote this tiny util earlier this year for World Book Day. I saw the post earlier today asking for High Signal/Noise ratio books [0] and thought about updating it to support crawling general webpages, and not just goodreads profiles.

You can see the list it generates from the HN discussion at [1].

This is just a tiny side project, hosted on Heroku. No guarantees that HN won't kiss it to death.

[1]: https://news.ycombinator.com/item?id=10027102

[2]: http://what-to-read.captnemo.in/crawl/us?url=https://news.yc...
How can one maintain radio silence until a VPN tunnel over a WiFi is set up?
Not to my knowledge, no.

Sorry.
Cython 0.23 released
Not sure what I said that warrants multiple downvotes. Git commits are identified by SHA1 hashes, so they would be caught by the same regex that would catch AWS keys.

According to the AWS security blog, this is the regex you should use for secret keys: `(?<![A-Za-z0-9/+=])[A-Za-z0-9/+=]{40}(?![A-Za-z0-9/+=])`. To match git hashes, you can use this one: `[0-9a-f]{40}`.

See the likeness?
Outside of fiction, I only buy books that are recommended to me by someone I consider to have good judgement or books where the free samples have been very interesting.
If they "took security seriously" they would work with vendors who take security seriously. Wonder if they'll drop these guys as vendors now that they are proven to not take security seriously...
<Shameless self promotion>If you're in the US: We're working on solving this at getFinal.com. Email us and we'll make sure you get taken care of as soon as we can.
How many Chinese people do you come across on the internet right now? How many Japanese? How many Russian?

Nations on the internet are segregated by language. Learning the language of a country (or a few countries) usually means that you learn about their culture as well, so communicating won't be such a big shock.
English-language spelling reform
It seems you think that people should only use behavior analysis when talking about the mind.

I wish you luck in persuading people to accept this philosophy. You may have an uphill struggle convincing people that it is comprehensive enough to replace all the other ways humans have thought about their experiences to date.
No, there aren't any special language features behind route.name() or route.ipaddr(), they're just getters without the "get" name. While methods of the form "getFoo" have plenty of history in Java, it's also fairly common to drop the "get", especially when the class is being used as an immutable value type.

For example, both Google's AutoValue library and the Immutables library show examples of getters that drop the "get" prefix:

https://github.com/google/auto/tree/master/value

http://immutables.github.io/

One argument against the prefix is that immutable value types don't have setters, so it's not as important to distinguish between them. Another argument is that immutable values aren't really objects in the object-oriented sense, so accessing a field really is just a data access as oppose to an action being performed by the class instance.

(I guess one aspect of Java that makes this less awkward to implement is that methods and fields have independent namespaces, so nothing stops the Route class from having both a "name" field and a "name()" method. That's possible because Java doesn't have first-class functions, so you can always determine from usage whether something is a field or a method.)
Professional organizations, especially in medicine and law, are a disgusting selfish cabal enriching themselves at the expense of the sick and poor who are then priced out of their services.

Fortunately these lobbies are only national. You can always go to Vietnam / India / Whatever and get your non-emergency medical and dental care done there. I got my wisdom teeth out for $30 in Saigon; the only difference (besides $300 in price) was the tools were a little older and I was in an open-floor cubicle instead of a closed office.
After re-reading what I wrote, it is kind of misleading. Yes, CPUs generally can't work with anything smaller than a cache line (see coherence). Although, you don't need to wait for an entire cache line to transfer before you can use a word on the cache line.

So, where values fall on (across) cache lines does matter. Straddling word sizes has additional problems, and generally implies straddling the cache line size as well (unless it's a multiple).