skysight-inc/HackerNews huggingface dataset:
If you're going to denounce annotations, you must also denounce decorators in both Python and Javascript. Annotations are a super powerful tool that get used too much. To borrow from Lisp: data > functions > macros. They should be the last tool you reach to, in order to remove a bunch of repetition with the intention of simplifying your code. "Could you do what you're trying to do with a library of functions that you simply call into? Or some sort of composition? Or maybe a parent class?" type questions should be asked before you reach for any sort of metaprogramming.

Take a look at the Retrofit library from Square for a good example of usage of annotations. To the original Spring link posted, while there's lots of annotations, they're replacing the XML that used to plague Spring projects, which I find much more magical. At least I can jump to an annotation's definition in my IDE.
I think that's far less interesting than the other story.
The things you block and don't block could also be used to help form a fingerprint.
And for something as trivial as a two-letter acronym, does the first appearance in print cement it for all time? Does it constrain conventional usage forever? I'd check out some other acronyms to get an idea of their various usages and meanings over time. There's a site for that.
PCR also amplifies the noise, and in a nonlinear way, especially with very small samples.
Domain Driven Design and Microservices: At Last, Some Boundaries
Yeah, but one may want to enable those on per-site basis. So you get both the fancy stuff (with a sites you trust) and no tracking material for the rest.
Just providing readers with a different take on things: I've been coding in K professionally, after coming from a C-heavy (not functional-programming!) background, for about three months. It only took a few hours with the language to have the apparent line-noise make sense, and after a few weeks I could decipher the function of most snippets I see.

There are great reasons why a dev team might not want to switch over to K for its operations (or switch languages at all, really), but seeing K in action, I have to respectfully disagree that readability and maintainability are those reasons.
This is the type of program that should be written in C, not in Javascript with 9 different dependencies...
what is fingerprinting?

I don't know the research definition, but fingerprinting is a technique to uniquely track a user across multiple sites without a tracking beacon.

The most basic form of fingerprinting is to use the browser-supplied headers (user agent, version, OS). Canvas fingerprinting works because identical browser versions across different machines may render slightly different, but consistent. IIUC, canvas fingerprinting doesn't rely on any pixels shown to the user or anything unique to the site, but if the same canvas is rendered exactly the same on two different sites, that's another indication that both visits were from the same user.

I don't think the AudioContext fingerprinting uses the actual microphone: it uses the browser's (and possibly OS's) audio engine to generate an audio stream, then fingerprints the resulting data stream.
As an biased illumos user, I believe that: yes, you might be missing out. ;-)

To give a quick overview on the ecosystem: everything is based around illumos as the upstream repository.
There are different distributions similar what you have with linux on kernel.org and distros like ubuntu, suse, rhel, slackware.
Instead of just the kernel the illumos repository also includes some libs and core system tools for userspace.
The illumos distributions differentiate a bit more on use case than the linux ones.

- SmartOS is designed as a cloud hypervisor. It is probably the most radical distribution in that it is a complete live system that boots from usb/network and runs in ram. With traditional zones, KVM and lx-branded zones it's a great system for virtualization.

- OmniOS is a minimalistic server distribution. It best fits for bare metal installations.

- NexentaStor is a storage appliance built on ZFS delivering unified file (NFS and SMB) and block (FC and iSCSI) storage

- OpenIndiana continuation in the spirit of the original OpenSolaris, including a full GNOME desktop environment

- tribblix gives you "retro style and modern components"

There are a few more but these should give you a good intro.

Besides a variety of community contributors there are some bigger companies involved.
Joyent, a cloud provider, is doing most work on SmartOS.
Nexenta has NexentaStor, OmniOS is build by OmniTI which does consulting.
Delphix is a database company that mostly contributes to ZFS parts.
Pluribus has a SDN product based on illumos.
Lucera, financial service provider also runs on illumos and contributes.

So even without oracle there is a very healthy mix of different commercial and community contributors.

Features like advanced filesystem support (ZFS), systems tracing (dtrace), fully fledged containers (Zones), and software defined networking (Crossbow) make it a very interesting system.

New drivers are developed and many features evolve in illumos.
The focus is mostly on x86 server hardware but I know folks also using openindiana on laptops.
I wonder if there is a study about the percentage of time spent debugging as you become more experienced.
that's why we have things like ublock and ghostery; it's essentially the same
I would assume that iOS devices are quite hard to tell apart using most of these techniques, yes. But I also wouldn't be too surprised if there were something that works for them, some kind of cookie that isn't cleared by default or ...
Agreed. This article struck me as exceedingly pedantic.

Given the author's background, I'd put money on the idea that this is the result of years of frustration at having his life's work dismissively reduced by casual observers to something like "yeah, it's basically a computer" and thinking they therefore understand all the intricacies of the human brain. I can see how that might grate on a person in his field and trigger a response like this.
The Tor Browser does not send misinformation; it just blocks. A solution would probably be a browser where every version, on every platform reports the exact same things, always the same way.
See also the VAX. It had an assembly instruction to evaluate a polynomial based on a table of coefficients in memory: POLY

http://uranium.vaxpower.org/~isildur/vax/week.html
Incidentally, Esc used to stop GIFs on a web page. Doesn't seem to do that (anymore?) in Chrome. (Oh, or Firefox, or Edge. IE is the only browser that still does that.)
As the "rationale" document points out, implementations are free to do something well-defined in the cases that the standard considers UB. For example, an implementation may document that it detects out-of-bounds array reads and these always return the value "0", and a hypothetical "C" program could rely on that. But implementations explicitly aren't required to do that, hence code that relies on a particular interpretation of UB in a particular implementation is nonportable, since it is a program written in an extended dialect of C, not ISO standard C.

Options like GCC's -fwrapv/-ftrapv and -fno-strict-aliasing are examples of language extensions that are essentially implementation defined UB.

Edit: Of course you could argue that things where hardware difference are a likely motivation such as signed integer overflow ought not to be UB in the first place, but instead left as implementation defined in the standard, but in that case your issue is with the C standard committee, not with implementers.
Thanks for the response! If you're interested and it would be useful for your research, I have some really, really interesting privacy findings regarding Service Workers I'd be happy to share. I'm strongly in favor of an enhanced Open Web, but I'm not comfortable with the opaque nature in which tracking/privacy can be likewise enhanced with little user interaction or notification. Keep up the good work.
I think the latter is better because we naturally perceive stars as motionless, especially relative to a rocket shooting by.
https://www.boe.es/boe/dias/2015/10/10/pdfs/BOE-A-2015-10927...

5.2.B - En el caso de que existan varias instalaciones de producción, el titular de todas y cada una de ellas deberá ser la misma persona física o jurídica.

(In case there are several production facilities, the owner of all of them must be the same natural or legal person)
I was thinking the same thing. We need a permission system for websites. Preferably useable on a per-domain basis so I can disable those APIs on adnetworks' domains.
There is a clear political vision in Alexander's work, one whose basis is participation and non-alienation. This is at odds with modern capitalism, which prevents its success.

In what way? I mean, in practice?
I used to spend the vast amount of my time debugging.

Fast forward a few years - Experience, good programming habits, and the gratuitous use of assertions. Now I spend a negligible amount of time debugging, and it never ceases to amaze me how frequently things just work the first time.

Edit: I guess I want to say that there is one, and only one, bottom line: the relentless, ruthless pursuit of quality. It takes time to develop the good habits and watch for the pitfalls, but once you're there you develop your software products in a quarter as much time, with one tenth the stress, and everyone on your team feels proud of themselves and each other. Then with your free time you can focus on what's really important - your business and your life
Internet 2015 in Numbers. 80+ Mind Blowing Stats
And a good way to fight that is to form a stubborn minority that only eats GMO food.
ARMAS ELECTROMAGNÉTICAS ¿DEBEMOS PREOCUPARNOS? – La Salud Del Hábitat
I find writing tests first really helps me sort out the requirements if I'm unclear about them.
Google Bans Payday Ads, but Also Backs a Payday Lender
Humans already have mostly 'animal dna' meaning of course, we share 99% with animals. Including worms. Other than religious or anti-evolutionary rhetoric, this made-up dilemma serves no purpose.
All-Opening-Times
Probably not - but basically, you add together your microphone stack with all the other data it can possibly find about your device, and that's your fingerprint.

Check out https://panopticlick.eff.org - this will attempt to fingerprint your browser and see if it's unique.
I was at ng-conf a couple weeks ago. Talking to the Firebase guy at their booth, he goes "You should talk to the RethinkDB guys, it's the same thing but open source." I got a kick out of it.
well then, tell us how you truly feel...
We're creatures of habit. In this case it's a behaviour that existed for two decades or so. Sure, it doesn't make much sense, but the same goes for various functions of the middle mouse button, depending on context: open new tab, close tab, open new application, close window, scroll, paste. Yet you don't see anyone changing those.
Web apps, "half native" web apps (Appcache + show on homescreen link) and ionic/cordova apps running in fullscreen mode.

E.g. a geocaching app could benefit by signaling the user if battery goes low (Ingress is a battery hog, for example!)
As a Southern American, I have to put on a Northern or Western American accent. Don't feel so bad.
If I was Google I would leave France.

When I personally ask a french man what color is blood, the answer could easily extend to over one hour. The first reply could be: whose blood ? Did you call the police ? etc...

I hope I made people giggle.
Sure. But now I have all this in one service. And when that pet project moves from web to a native app, Firebase has all the trappings to make it easy.

A lot of eggs in one basket admittedly, but that basket looks pretty robust for now.
I've never used backspace for nav intentionally, and it has caused annoying data loss for me a few times.

It's never made sense to me why this behavior was ever added to browsers. The logical choice would have been the left arrow key (since there is a corresponding right arrow).
There is an acceptable tradeoff between pseudo anonymous access through browsers vs non-anonymous access through native apps.

To interpret this research as reason for crippling web or browsers would be a giant mistake. Crippling browsers will only work against users, who will be then forced into installing apps by companies.

Two popular shopping companies in India exactly did this, they completely abandoned their websites and went native app only. This combined with large set of permission requested by apps lead to worse experience in terms of privacy for consumers. As the announcement for Instant Apps at Google I/O demonstrate, web as an open platform is in peril and its demise will be only hastened by blindly adopting these types of recommendations.

Essentially web as open platform will be destroyed in the name of perfect privacy. Only to be replaced by inescapable walled gardens. Rather consider that web allows a motivated user to employ evasion tactics, while still offering usability to those who are not interested in privacy. While with native apps where Apple needs a credit card on file to install, offer no such opportunity.

I am happy that Arvind (author of the paper) in another comment recommends a similar approach:

"""
Personally I think there are so many of these APIs that for the browser to try to prevent the ability to fingerprint is putting the genie back in the bottle.
But there is one powerful step browsers can take: put stronger privacy protections into private browsing mode, even at the expense of some functionality. Firefox has taken steps in this direction https://blog.mozilla.org/blog/2015/11/03/firefox-now-offers-....
Traditionally all browsers viewed private browsing mode as protecting against local adversaries and not trackers / network adversaries, and in my opinion this was a mistake.
"""

https://news.ycombinator.com/item?id=11730373
The website - All Opening Times - provides the online database of corporations, companies, stores and more in the UK. On our site, you can easily find the contact information for every business you can think of. Moreover, our database is constantly upgraded with contact details for newly established businesses.
I think a lot of debugging activities end up laying the framework for new features, so it's unclear how to separate the two.
What I'm saying is the culpable stockholders (Holmes being the primary one) have few assets.
Artificial Intelligence and Agency Bonds
Thank you for your comment. Yes this posting is in UK and if it does matter, this posting is in University of Oxford. And i do believe since HR does have information about my current salary and benefits , it is worth asking them to elevate the grade if possible.
Actually, checking if a font is available does not require canvas (you can simply inject a piece of text into the page with a specific font stack set and check its width). Rather, what canvas is used for is to obtain the sub-pixel anti-aliasing of a given piece of text, which is different between browsers and OS even when the same font is present.
> clicking inside the URL bar selects the whole contents

This is one of the annoyances on Windows. On Linux/OSX you can click and drag on the URL to select a portion of the string, but on Windows it auto-highlights the full string completely, forcing one to reclick again (slowly!) to highlight a portion.

Also: right-clicking on a link in Linux/OSX auto-highlights the full link text so you can `Copy` or `Search on Google` the highlighted text. In Windows you must manually highlight the link, then right-click on it.

Small things add up to big annoyances.
Great post, but the scale of the problem was off by an order of magnitude. The theft is measured in billions per year these days. It's hard to get an exact number since most of the data combines criminal and civil forfeiture - but even those numbers don't include all the state programs. From my reading on the topic I think it's fairly safe to say it's over the $2B/yr mark and growing.
Not sure, but 4 co-authors is a likely partial reason. Also I guess partly due to imitating various precedents, and not just in tech. E.g. The Three (Musketeers, ...), The (..., ...) Duo, The Famous Five (kids novel series), etc.

A separate HN thread on that might be a fun read :) A similar one is eponymous Laws (Wikipedia has a list).
I don't understand what they're saying right before that: "Employees were expected to take care of business—drinking on the job or getting high was not tolerated—but things changed come quitting time." Things got wild when people quit?
You don't seem to know what scientific means, do you?
Showpad closes $50M SeriesC to keep growing its SaaS sales productivity platform
Scrapy Tips from the Pros – Debugging Web Crawlers
Understood. Dependency management for iOS is generally pretty terrible, in my experience. I suppose Apple will step in soon, and I hope they do a nice job of it.

Anyway, I continue to use (and enjoy using) Firebase for iOS and web.
"I didn't read the article or the comments but I think you're all wrong, maybe it's bad upbringing or maybe something else but whatever". ok thanks for sharing.
I'm missing something. Almost $19000 for a phone that has less features than a $600 iPhone? I know Vertu is trying to be a luxury brand, but usually when a company sets themselves up as one, their offerings are at least as good as commodity items. (I'm using luxury cars). If I saw someone using a Vertu, I'd be more inclined to laugh at them then be jealous.
> The Precautionary Principle (with Application to the Genetic Modification of Organisms)

That article is a prime example of pseudo intellectualism, mostly because he lumps all GMOs in one big bucket, there's no general characteristic yet he and co-authors forces one. No wonder it's "only" on arxiv and hasn't made it anywhere else (look at the endorsers: https://arxiv.org/auth/show-endorsers/1410.5787 )

A rebuttal did however make it into a journal: http://www.nature.com/nbt/journal/v33/n9/full/nbt.3333.html
Probability theory is the queen of science
The Tor Browser folks have done some excellent work to reduce the fingerprintability of the browser. See "Specific Fingerprinting Defenses in the Tor Browser" here: https://www.torproject.org/projects/torbrowser/design/#finge....

For Firefox and Chrome there are canvas fingerprint blockers [1] and [2]. These are heuristic based, so you'll likely see a bit of false positives. uBlock Origin includes an option to prevent the leakage of local IP addresses [3].

[1] https://addons.mozilla.org/en-US/firefox/addon/canvasblocker...

[2]https://chrome.google.com/webstore/detail/canvasfingerprintb...

[3]https://github.com/gorhill/uBlock/wiki/Prevent-WebRTC-from-l...
This functionality already exists in GNU coreutils, it's done by the shred(1) command. No need to install any extra third-party software, shred is already installed.

Also, as another commenter already pointed out, this kind of in-place overwrite is not guaranteed to work on SSDs, and it's also not guaranteed to work on filesystems with copy-on-write semantics. If you're really concerned with this, you should be doing full-disk encryption.
'npm isntall'
> Use a browser that will warn you about losing un-submitted form contents before navigating away?

Most browsers don't do this. If you see a warning like that, it's usually triggered by javascript on the web page itself.
The external storage thing is an accident of history, with perhaps some MAFIAA meddling.

When the first Android device shipped, all internal storage was dedicated to OS and apps. But OEMs wanted to advertise that they had X gigs onboard. And thus they started partitioning internal storage, and mounting one part as if it was removable memory.

Problem is that apps could not go on removable memory, so people bought a device only to find that a few apps was enough to max out that side of the partition.

And thus Google came up with "move to SD".

But then that got into trouble with USB data transfers, as the "SD" had to be unmounted on the Android side before it could be mounted by the PC over the cable.

So somewhere around 3.x Google adopted MTP, and union mounts to emulate a FAT partitioned SD (for legacy reasons).

But at the same time they introduced new access permissions, but reserved write permission to actual removable storage for system level apps. Thus you could use your PC to transfer music and such onto a SD, but you could not officially do so from within Android. Various OEMs, Samsung for example, modified the permissions file so that their devices retained the old behavior.

Since then Google has in fits and starts modified the MTP support so that it can also be used by internal apps to write to removable storage without having to deal with permissions. At the same time they have tried to lock down access to the "SD" even further as various dumb app devs have used it to store sensitive user data for any other app to see.

Thing is that going via the MTP subsystem invites DRM, as the apps talk to a database that then talk to the FS. And that database can be incomplete, or the subsystem can outright lie to the apps. And it so happens that Google adopted MTP along the same time as they introduced Play Music and Play Movies.

Then again, the consumer UI/UX designers have long been tilting the windmills over the whole files and folders thing. For some reason they see it as a failure of UX, and thus something that needs to be at least hidden from the user, if not outright abolished. See numerous attempts at replacing files and folders with a grand database of metadata, that will "magically" pull out everything you have stored related to that company project or aunt Tillie as needed.
What happens if the campaign goes bankrupt?
We don't know the root causes in this specific case, just the outcome. Barring a psych eval, we have to assume this is just a violent person, and restrict their freedom appropriately. In the end, it doesn't really matter the root cause, since we can't go back in time to ameliorate those factors; violent criminals need to have their freedom restricted. I'm not talking about "criminals" who misunderstand the law and get caught in a technicality. That's your strawman. I'm talking specifically about a violent person committing assault and battery.
Will you post insight into the data you've collected? Obviously I don't care about IP addresses, etc, but it would be nice to know how many people have submitted data vs how many unique hashes have been collected for say the "Fingerprint using DynamicsCompressor", etc. I also haven't checked every page on the site, so the data might already be there (and I'm missing it)...
If you'd like a lot more on this topic, check out https://33bits.org/sitemap/ and start clicking on the links.
debugging. esp. not my code.
When Firefox copies this "feature", at least there'll be an about:config option to disable it.
There is not a total separation between water underground and water in rivers. Streams can replenish the water table around them, or be replenished by the water table. Simply extracting as much water from the ground as you can will generally cost people 'downstream' water. In the long term there is only one source of natural fresh water, precipitation and it's finite abet renewable.

A great example of this is from Australia:
https://en.wikipedia.org/wiki/Great_Artesian_Basin People extracting water from hundreds of miles away end up drying up streams.

One viable option is simply to ban alfalfa or other high water use crops. No state constitutional issues with that.

PS: Globally, https://en.wikipedia.org/wiki/Artesian_aquifer are becoming very rare.