skysight-inc/HackerNews huggingface dataset:
DuckDuckGo can still help somewhat here. You can search pretty much anywhere via DuckDuckGo and it strips out some of your personal data when it redirects you. It's not perfect but it helps. Also, the bang syntax (i.e. search google with !g, google images with !gi, wikipedia with !w, etc.) is so damn helpful. Whenever I'm using a browser without DDG as the default I find it so much slower to search something.
> Think about the development and testing costs of trying to add the functionality and have it work across a host of devices.

1. Simple example - any app that does polling for any reason can reduce the polling interval.

2. Interactive WebGL charts could be replaced with static bitmaps

3. Background spell or syntax checking could be disabled and made 'on demand'

4. Chatty network features could be disabled or cut back.

None of the above need to significantly increase development or testing costs. They are quick examples I pulled out of thin air. If we discussed specific applications I'm sure I could suggest more.

Non-browser apps already can do all this and often do. (and I wish they would do it more often)
If it's a native app, then it can already do this. If it's a web app, then hopefully it's only fetching updates if the tab is visible, right? I absolutely think web apps should be checking if their tab is foreground and behaving differently based on that.
Have you ever actually had a job offer rescinded because you politely asked for more money?
What's an example of an essential animation?
Agreed. The bait-and-switch wasn't at all necessary. It's not like no one would show up if she held a press conference to announce a new product.
> If she wasn't already, she is now a war time CEO.

It looks more like she's a post-Hiroshima CEO.
That's a feature -- not a bug.
It's easier to copy the URL, but it's still faster to share by clicking than it is to do by copying the URL, navigating to the site you want to share to, pasting in the URL, adding some descriptive text, and clicking the share button.

Besides, sharing buttons which are just links (as in this post) don't aren't really that intrusive.
تحميل برنامج ريكوفا لإستعادة الملفات المحذوفة مجانا Recuva
I know it may not seem like much yet, but I've probably spent 15 hours or so preparing the intro. Previous iterations were much longer so I condensed it considerably to keep a good pace. I sent previous drafts to dozens of people and incorporated feedback from everyone.
Resource wouldn't necessary be something internal in the application, it could be also some external system or something like that. You might want to close TCP connections cleanly in destructors, or maybe more relevantly for embedded systems the resource might be some actual physical gadget that is activated/deactivated.

Of course this is all hypotheticals and it could very well be argued that relying on destructors to do something actually critical would be a bad design.
Our unique business model: Business to Human
He may also have a similar regulation as in my county: for a shed to be considered as such, it must not have any plumbing or electricity connection.
Printing with conventional rotary presses will create cheaper electronics
#1 Reason You Never Finish Your Side-Projects and How You Can Fix It
In Europe we have "This site uses cookies" popups. Not browser based, not asking for permission, but, universally they are annoying. It depends on your definition of 'sensitive data' i guess.

I mean, i have noticed the HN crowd to be trigger happy against paywall popups, imagine if you prevent them from getting to their favorite site every time.
Everyone knows it shouldn't be. Even a naive attempt by the average developer to write a package management system would take versions into account.
Well, you're welcome to your opinion, but the statement "Proust (sometimes) writes long sentences" is a fact, not a value judgement. Whether the prose can be understood or not is how we separate good writing from bad, and in Proust's case it's not hard to follow what he's saying. There are, by the way, a large number of people who would strenuously disagree with you and consider Proust one of the greatest writers of the 20th century. Among them are people like Edmund White, John Updike, André Aciman, and Vladimir Nabokov, formidable prose stylists themselves; in fact, here's Nabokov explaining precisely why it is that Proust is so unique, using an illustrative passage to come to an understanding of how Proust's prose works as it does: http://www.catskill-merino.com/blog/nabokov-on-proust-in-blo...

...Nabokov being a good example of a person who never shied away from making sweeping value judgements about authors, but was usually willing to back up what he said with examples.
Unfortunately no, I believe ‘forum software that doesn't suck’ is a oxymoron. Most big forums that I follow have lately jumped to xenforo, which is commercial.

Another option would be a Wordpress, with lax rules on posting, akin to how ludumdare.com is setup.
The minor inconvenience of occasionally having to fix a path when goimports picked the wrong one is far outweighed by the massive convenience it brings me every day.
Nice! Would be awesome if you could add Hacker News :)
I've lurked on this site for maybe 4 years and only recently created an account. I find that I'm okay with downvotes on particular comments, but what kills me is having my score right there at the top of the page all the time. Just reminding me of how well I'm doing. It makes it harder to be sanguine about paying the price for an unpopular comment.

That said, getting past valuing fake internet points is a great exercise. I use reddit a fair amount and some of the subs I'm on are far more capricious than HN with the downvotes, often using it as an echo chamber reinforcement tool. I consider it good to acclimate yourself to paying the price for voicing unpopular opinions (without being a jerk obviously).
Will wasm defeat adblockers?
If web assembly can render angrybots i dont see why it cant render the nyt...and i think it would be hard to adblock such a setup.
No, it just means that you can't control how something will be received and that sometimes people are going to have an negative emotional response to something benign or well-intended.

Now, whether someone should change their behavior to suit the sensibilities of the offended is the question. The answer to that question is basically what social norms are. It's a moving target that evolves over time and across segments of society, so there's no foolproof way to always know where the line is.

But as long as someone cares to understand, learn from, and empathize with other people more often than not they'll have an idea of what is appropriate and inappropriate. The asshole is the person who either doesn't care, or chooses not to understand or take stock of the reactions of others, and as such is waaayyy over the line for decency.

> This argument seems to me to lead nowhere, unless you say being offended is okay, offending is not. Which I would find quite disturbing, not just because Recep Tayyip Erdoğan (Turkey) would vehemently agree but because it seems wrong to me.

In the case of Turkey and some other parts of the world, we're getting into the territory of the government punishing people with dissenting opinions or criticisms. My take would be that someone has the right to feel offended, but the government should not be in the business of punishing the offender when it comes to speech, political views, etc.

So someone can express utter disgust with the AKP and call Erdoğan a dictator in waiting, which would offend many of his supporters, but that shouldn't result in punishment/imprisonment.
That's right, Buble's secret sauce to being fast is that is skips the code generation step, not because of the number of dependencies.

Although there definitely is a performance cost to Babel's large dep tree as each of these modules have to be found by Node (which is inefficient). If you use Babel with npm2 it is super slow, because npm2's folder structure causes more lookups.
> It wounds me every time I get a downvote

I love that you said this out loud because it's candid and vulnerable. I feel the same way, and spend disproportionate amounts of time worrying and feeling insecure about down votes, when I hardly even think about up votes. Especially if I really truly try to contribute something and use a positive tone and get downvoted without any visible disagreement or explanation.

I have yet to cast a down vote because of this - I noticed how much it affected me inexplicably, and I don't want to pass that around, even if most people are impervious to it. I don't think I'm somehow being virtuous by not down voting -- some ugly comments I'm delighted to see being downvoted. But I'm not sure down votes are a necessary part of the system since things percolate to the top with up votes.

Maybe getting people to downvote less was the intent of the down vote karma threshold. Maybe it's working really well, I don't know. But that also makes receiving down votes sting just a tiny bit more.

What's funny about this to me is that it's meaningless. Why do I even care about karma? I have no idea. Once you have down vote power, what does it earn? Not much.

> I'd much rather everything just be anonymous. That would be easier.

I'd like to hear more about this. My working assumption has long been that anonymity makes bad behavior worse and more frequent overall, both comments and downvotes. Is it because you'd care less about your own profile & karma, or because you've seen anonymity produce more civility, or something else?
I don't have much time to explain them in detail now, but can quickly provide some links:

Check Active Oberon:

http://www.ocp.inf.ethz.ch/wiki/Documentation/Language

Component Pascal is a Oberon-2 derivative but Wirth hasn't collaborated much there:

http://www.oberon.ch/blackbox.html

They made the very last version available for free. It was a kind of Delphi like, with the Oberon ideas of full stack OS.

www.pas.rochester.edu/~skulski/Presentations/BB_Class.pdf
How  to thread safe update a field in java
Or both. Defense in depth.
Just FYI: Your website needs a "doesn't work without JS" message, since right now it looks pretty lol with JS off.
Is it an add-on for Slack?
If you assume the hardware is fixed, then yes, it's a data problem.

What makes it difficult is several things: the genome itself has many repetitive regions whose lengths are greater than 100 characters. If your sequencing technology produces reads less than 100 characters, you don't have enough information to place those reads within their proper location in the genome.

Next: There are regions that aren't exact duplicates of each other, but are very similar. If you have a 100 character read, and you know it probably contains errors (a necessary consequence of the sequencing technology), it can be hard to assign it precisely to a single region, as the read will match numerous regions equally well. A huge amount of effort is currently put into mapping these reads to the most appropriate location.

Next, because of the high cost of doing the assembly properly, heuristics are used. Often, the heuristics will be based on greedy algorithms, that try to tile overlapping reads to extend the reads into longer segments. However, due to the read error rate, you might accidentally tile two unrelated reads; this wil prevent you from finding the true, optimal solution. To correct for this ambiguity, you typically have to sample a large combinatorial set of possible solutions to find the best ranking one. This is a major area of research.

Mapping reads to reference data is often done (instead of wholesale assembly) but it suffers from the same problems. The reference is highly biased, it was based on a small number of individuals; when you try to map reads from an individual who is genetically distinct from the reference nindividual, there will be large regions that don't map (for example, I believe the reference was a European-American, if you try to map African genomes to that reference, you'll find there are entire regions missing from one that are in the other.

I don't know a lot of CS, but there is probably a term for taking a bunch of reads and mapping them in a way that maximizes the probability of the mapped reads representing the true solution (IE what is actually in the person's genome). Most people come up with heuristics that (IMHO) have serious deficiencies. When I ran Exacycle at Google we used it to do a "real" assembly (full n2 comparison of all read pairs) and we found it was far more accurate than previously assembled genomes. Subsequent to that, Gene Myers (who designed shotgun assemblers) used these reults to find a heuristic that produced assemblies that were nearly as good but at a much lower cost. I'm personally still skeptical.

If sequencers produced 10KB reads with 0.01% error rate, I'd be happy.
Such abuse of technology was the main target of the "EU cookie law", not the use of session cookies that all sites are warning about now.
As someone who lives in Europe and faced hundreds of them, I've developed total blindness to them, so they hardly have any value at all. Good intentions, poor implementation.
Similar story here, but with iPad (good accessibility for old people eye sight). Only Apple iCloud is still baffling (my cloud storage is full? I think I forgot my password?), but many things like TouchID make it easy to use and the simplicity of the system is unkaputtbar/secure compared to a "real" computer.
2M PV in 2 weeks – biggest content marketing launch ever?
This is a pretty common misconception about salary negotiation—that the company will retract the offer if you negotiate. But it's extremely rare and you're much better off negotiating than worrying about such a rare occurrence.

The worst-case scenario is usually just that the company doesn't budge on their offer.

By the time you're far enough into the process to get an offer, the company has invested significant resources to determine if you're a good fit and someone they want to bring on board. They're not going to forfeit all of that investment just because you say, "Thanks for your offer. If you can do [thing you're negotiating], then I'm on board."

I wrote about this and other common misconceptions about salary negotiations here: https://fearlesssalarynegotiation.com/why-you-should-not-neg...
Raph really, really knows his stuff. His interview on the New Rustacean podcast starts with a summary of his background: Gimp, Ghostview, android font rendering.
> It makes us sound like a bunch of spoiled babies who cry when we aren't allowed to play all day

so if it isn't third-world violence, then the word 'abuse' in inappropriate?
I don't have capital, so my opinion is distanced from the point of friction. However, that said, no, I don't think they will affect other female entrepreneurs negatively.

Moreover, Mayer, Holmes, etc. will see more opportunities in the future. Once people are on this track it's seldom they fall off completely. Someone will see potential in them.

Whether you think they executed well or not, this time round, they have invaluable experience for the next company.
New Genetic Findings on Depression
goimports will remove imports when they are no longer referenced in the file. So, the otherwise manual step of removing them is automated for you.

Highlighting dead code is not a trivial matter, at least for anything that could be referenced external to the module.
TL;DR Amium vs. Google Docs (and others)..?
Hey Andrey,

It's not. We looked into that, but we needed the ability to create nested channels (e.g. threads) since any file can be a thread/feed.
NYT Leads with Russia Hack Conspiracy–Despite ‘No Evidence’ (mentioned at End)
Distil CEO: New $21M funder will help grow Raleigh headcount
I don't jump to anything, that's just what I hear from people who don't like HN.
I'm the CTO of BitMEX.com[1], which runs derivatives (futures and perpetual swaps) on Bitcoin and a few other coins. We've been around since 2014. We run a full-featured testnet [2] for API testing & trade testing.

The other major players are mostly Chinese. In China, there's OKCoin, BTCC (previously BTC China), 796, and BitVC, as well as a few minor players. In the rest of the world, there's us, CryptoFacilities, Coinpit, and now Deribit.

We've been in contract with the Deribit team since 2014 - they appear to be a solid tech team and they certainly understand the underlying finance.

1. https://www.bitmex.com

2. https://testnet.bitmex.com
2 million pageviews, 1 million sessions, all in two weeks with zero advertising budget. Curious if this might be the "biggest" content marketing launch ever, from a traffic perspective
500Px: Consolidating string resources across Android and iOS
Multiply the number of updates times the number of indexes. Then consider that with such a small table, there's going to be contention for the same rows.
Updates actually create new rows, so vacuum needs to be able to remove older, no-longer-visible versions of the row.
But vacuum can't keep up, because at any given time many versions of the row are potentially visible.
There are more surprises around Postgres XID to be had:

- Temp tables cannot be vacuumed by anyone else than connection that owns the table (no way around it) - do not keep temp tables too long, nightly vacuum or auto vacuum will not clear these,

- Temp tables do not get automatically dropped on recovery if your DB cluster crashes. They get reused but if you have many connections before crash and few after some namespaces will linger - you may need to manually cascade drop temp namespaces if you see the warning,

- Full vacuum does not touch XIDs - use freeze or just normal vacuum,

- Check oldest XID per table:

SELECT c.oid::regclass as table_name,

greatest(age(c.relfrozenxid),age(t.relfrozenxid)) as age

FROM pg_class c

LEFT JOIN pg_class t ON c.reltoastrelid = t.oid

WHERE c.relkind = 'r'

ORDER by age DESC

LIMIT %s

- Check oldest XID per db:

select datname db, age(datfrozenxid) FROM pg_database ORDER BY age DESC
AFAIK there isn't an API call to enumerate fonts. There are a number of methods developed over the years to do that.

If there were an API call I think any browser shouldn't implement it, but how to block any possible font sniffing method?

There is an API to enumerate plugins: navigator.plugins returns them into an array. I'd like to be warned about sites asking that and I'd like to return an empty array and see if something breaks. Better: tell me which plugin you need and why and I'll decide which one to let you know I have.
There's also rusttype [1] that was written as an alternative to FreeType in Rust, I know it's being used at this point in Redox [2], which is an interesting project of a Unix-like operating system being written entirely in Rust to the best of my knowledge. I'm curious to see how the two compare at this time.

[1] https://github.com/dylanede/rusttype

[2] https://www.redox-os.org/
It'd be nice to know what if any false indications this triggers. "we want to ratelimit" -- so is there any pathological behavior wrt the legit traffic (especially with ever-more-cleverly-reducing-round-trip protocols like QUIC)?
I think the solution is not to ask the user for permission but to automatically create an anonymous sandbox that does what the site requests — except that sensitive information is faked or reduced.

And if a web application is complex and has weird dependencies, it should be necessary to “install” a sandbox ONCE with those dependencies (e.g. needs plug-ins X and Y), and at that time the user can see everything that is being exposed and essentially only has to approve once.

It will not work to constantly ask the user. They will just opt-out, or worse opt-in without really knowing or caring what they have done. And usually, they will not know where to go to change their mind later (probably buried in preferences somewhere).
Google Docs is a reasonable comparison, but, a couple of things:

First, we do discrete versions/snapshots, so you can revert back to a particular version in time (along with seeing the associated conversation). Thing something like Github but for non developers.

Second, we support literally any file type. We integrated with Microsoft Office Online to support co-editing live in browser (which is the "like Google docs" portion), but we also support literally any other file type for conversation and activity feed: Photoshop, InDesign, PDF, etc. For many of these files types we also provide live previews and so on.
You're right, I should add that! PR maybe? https://github.com/mxstbr/sharing
For one of my previous employers, I was in charge of getting drivers for some of our custom in-house hardware working on Windows 7. This hardware was never sold on any open market, only used by company employees on company-imaged systems. We didn't want to bother with sending the hardware off for the standard consumer-level certification, so I was able to get a code signing certificate from a third-party vendor and use a cross-signing certificate to get a driver that would work.

I tried to check out this dashboard that they're talking about, but it doesn't look like I can get it without being associated with a registered company. I am wondering how hard it would be under the new policy to do something like this again - what's the cheapest and simplest way to get a driver that will work with a fully secure Windows 10 install? Including if the hardware associated will never be sold to the general public?

It's probably moot in the particular case I dealt with, at least. I doubt the company in question will be upgrading to 10 anytime soon, plus the hardware in question was being slowly phased out. It used Firewire - the guy who chose that told me that it seemed like a good idea at the time - and I had already done the testing for the replacement device which used TCP/IP over Ethernet instead.

But I still wonder if it's getting gradually harder to do anything with any kind of custom hardware without already being part of a multi-billion dollar company that's willing to invest millions of dollars in getting hardware and drivers properly certified.
"considers"?

It just finds a match and goes with it, and that does cause issue. Both of the above have potential security implications.

Filippo suggests preferring crypto/rand over math/rand as a softfix in this twitter conversation:
https://twitter.com/filosottile/status/752210041709719552

I'd probably prefer html/template over text/template as it's better to have someone ask why their output was HTML escaped than to have someone render HTML in plain text without explicitly wanting to do so.
I worked with a small team (4 people) to rewrite the systems for determining GDP and other economic info for the US. We built an elegant system heavily utilizing dynamic SQL to keep the complexity in metadata and simplify the ridiculous amount of different ways information was collected and stored. In the end it went from taking days running ~20 COBOL programs in serial to around 20 minutes running one SQL script to get the results.

I understand this may not be typical of government contracting, but it is not fair to say that you can't make quality systems for government customers.
Adding a dummy var won't work, because then the dummy var will trip the "no unused variables" check.

Adding a _ to the front of an import is not the correct way to get around this "problem" during development, commenting out the whole import is the correct way. That way if you forget, it's not in your code anywhere (as it shouldn't be since it isn't used).

The underscore system is meant only to be used when you need to import for side effects (something that i've never actually needed to use).