skysight-inc/HackerNews huggingface dataset:
I didn't check licensing for GPL because I figure you knew better on HW. Glad you people chose wisely. :)
I agree with the main point of the article, but I'm somewhat disturbed by the statistical errors and misconceptions.

>Few websites actually get enough traffic for their >audiences to even out into a nice pretty bell curve. If >you get less than a million visitors a month your >audience won’t be identically distributed and, even >then, it can be unlikely.

What is the author trying to say here? Has he thought hard about what it means for "an audience" to be identically distributed?

>Likewise, the things that matter to you on your website, >like order values, are not normally distributed
Why do they need to be?

>Statistical power is simply the likelihood that the >difference you’ve detected during your experiment >actually reflects a difference in the real world.
Simply googling the term would reveal this is incorrect.
Peer Library – Read Paper Together
That's still the same issue, people confounding estate and family members, and it gets written that way because it elicits emotional response, not necessarily because it were true.

It looks like in principle it is the same as the English Common Law or the Napoleonic or Germanic law:

"[T]here are two ways for successors to consent how to inherit: simple consent (tanjun-syonin) and limited consent (gentei-syonin). Simple consent is to accept the whole inheritance, including debts and assets. Limited consent is to accept debts with a limitation up to the value of the assets."

-- http://japan.angloinfo.com/money/pensions-wills/inheritance-...

In fact I doubt there is a legal system in existence that doesn't follow this principle. It would be ripe for abuse, as everybody would be getting loans secured on the wealth of their rich relatives.
http://joeduffyblog.com/2015/11/19/asynchronous-everything/ describes it.
Somewhat. It's not a very efficient form or implementation of that kind of tax.
As the article points out, every modern OS clears (main) memory before handing it over to a new process. The cost is often mitigated a bit by using spare CPU cycles to zero out free pages, and by keeping a buffer of such pages. You only need to pause to zero pages if you have sustained 100% CPU usage for a long time - and that's pretty rare on most machines. GPUs probable even more so.

GPUs generally have less memory, many fewer (but larger) allocations, and way higher memory bandwidth than CPUs, so it shouldn't be a problem for them to do this.
Yes but do you see the fallacy in your comment? Whether state vs federal, conservation is similarly a problem that could technically be solved at both levels. Your comment:

> "The issue is whether federal land should be used for conservation versus grazing."

The real problem IMO is whether states would be better at managing these laws than the federal level.

This is what they are proposing... even if they do achieve this, there is no guaruntee that it would instantly turn into a free-for-all for ranchers.

There is no clear answer to this question. What if Oregon green-activists acquire similar power, embraces this idea, and do a far better job than the feds at conservation? A model for other states to follow.

This is an interesting thought experiment, lost in hyper-political handwaving.
> As for RCEs in C code - these would be easily avoided if the implementation used two separate stacks - one for function parameters, and one for return addresses.

No. Increasingly, RCEs are due to vtable confusion resulting from use after free.
Agree! I love adapteva for a lot of reasons, and this makes me want to keep on piling the love.
Their continued spending spree to incentivize riders suggests otherwise. Uber seems to only give a first trip incentive, but I've gotten hundreds of dollars worth of free trips, 50% off trips, etc with Lyft. If riders aren't sticking around (and all the money they seem to be throwing around suggests that they aren't), then it doesn't seem to be defying any expectations.

I'd expect a free or half-priced alternative to do well, I just wouldn't expect it to be a good business. I think it's telling that they didn't have any traditional investors in their most recent round. VCs seem to want nothing to do with Lyft at this point. Only time will tell if GM is a better investor than every VC who passed. I suspect that they're not and that Lyft doesn't have much of a business (Line trips are likely never profitable, and they seem to have a problem keeping riders around that Uber doesn't seem to have).
I wouldn't call that A/B testing. It looks pretty similar under the hood but you'd normally call that a phased or gradual rollout and have different goals and metrics for it.
I was a Linux user in the early 2000s and learnt about framebuffers in a similar but less embarrassing way: sometimes X would crash, and before the root weave was drawn, the last thing you were doing when X crashed appeared for a moment.

X crashed a lot back then, so everyone learnt pretty quickly.
The website says it has a built-in battery (3.7V 120mAh)
Oh! Sweet!
Indentilock’s biometric gun lock requires fingerprint to access trigger
Interesting. I've never thought of it as a security issue. But it's something that's around since forever. I've seen old framebuffers containing stills from games or videos showing up when resizing OpenGL applications 15 years ago. Video cards don't clear memory for the same reason nothing is ever deleted by default - it's a waste of time.
Previous discussion on the same subject, about a post written by me:
https://news.ycombinator.com/item?id=9245980

Basically, this issue is not restricted to NVidia GPUs or specific operating systems - This can be reproduced on Windows, Linux and OSX. Basically the concept of memory safety does not exist in the gpu space - which is the reason why the webgl standard is so strict about always zeroing buffers. The issue of breaking privacy and privilege boundaries on a multiuser system is very real, and there is no workable solution. This seems to be one of those problems where a lot of people are aware, but no one is sure how to fix it and so it just stays how it is.
Neat-o! Thanks :)
Surprised to see this expression popping up yet again, "to check one's email".

We checked our email in the nineties. These days our email checks us. Or am I the the only one left on a decent IMAP server?
OpenGL libraries have definitely stabilized and have been that way for multiple years now. GLFW 3 wrapper is go-gettable (some years ago, it required manual installation of the C library separately, now you just go get it). I don't use SDL so I don't know much about it.

I don't know if there are complete frameworks or engines that are finished, but there are some works in process.

https://github.com/avelino/awesome-go#opengl

https://github.com/avelino/awesome-go#game-development
There's performance overhead to doing everything, but one way to simulate zero'd virtual memory is to simply map them to a zero page and, when a full page write occurs to simply write the page, and when a partial write occurs to zero the rest.

I am not familiar with GPU internals enough, but my understanding is that the GPU should be smart enough to know that a given texture or framebuffer will occupy n full pages, and so when either is written in its entirety, the zeroing only has to occur at the edges. (I would assume that the write would start on a page, but I don't know anything about GPU internals.)

Caveat emptor: I will reiterate I know very little about memory internals. It seems like a bigger issue is that GPU memory is not virtualized and all users get access to the same memory. It's as if three decades of understanding the utility of virtual memory were forgotten.
Show HN: 1on1 sample chat app. Offline data sync and push notifications
This is exactly the reason why the webgl standard strictly forbids allocating buffers without clearing them first. Otherwise anything the user looked at since the last power cycle - including emails, passwords, private keys, ... -could be extracted by visiting a website.
It's tricky. There's some interesting comments and issues mentioned here:

https://stackoverflow.com/questions/5162673/how-to-read-two-...
Believe it or not everybody watches porn.
Exactly. In the browser (and node) it's not really a question of how Dart compares to TS / ES6 (for example), but how Dart + ease of using JS libs compares to TS / ES6 + ease of using JS libs. And of course that makes sense.

TS is a language where the primary goal is seamless JS interoperability. Presumably, it will always make design tradeoffs to maintain that.

Dart is a language where the primary goal is developer productivity. The team decided that it required a clean break from JS to achieve that.
The tradeoff being that JS interoperability is harder.

So it's not a great surprise that TS wins in the JS interoperability front. Dart has made big improvements here recently and continue to do so and I expect the gap to continue to close but never quite go away.

Similarly, it's not a great surprise (to me at least) that Dart is a cleaner more productive language. As many have said ES6 has made big improvements over ES5 and coupled with TS has significantly closed the gap to Dart.

I see this trend continuing. With Dart maintaining an edge in language features + productivity and TS with JS interoperability ease, but the gaps in both aspects being small enough that it is a matter of personal choice and what best fits the project.
It is not illegal, they pay property tax to the local government.
I learned about it by accident too, but fortunately in a less embarrassing way - when I was first learning OpenGL I've noticed that displaying uninitialized framebuffer could sometimes cause "random noise" to show up. "Random noise", that when the window size was just right, suddenly turned into a screenshot of the game I was playing moments ago. :).
> Having some undefined behavior in your code is just a bug, it has nothing to do with being complicated or compiling to machine code.

In theory, yes. In practice, all C/C++ programs have undefined behavior in them, so you have to understand what compilers do to really understand your code.

> It's not nearly as complex, in fact there are many people who understand quite well what the code compiles to.

Not true in my experience. The only people who really understand it are, by and large, compiler developers. There are very few compiler developers.

> Try guessing what Java compiles to.

I know what Java compiles to more or less as well as I know what C++ compiles to. The only real difference is in GC (which is quite simple--inline a nursery bump and fall back to a malloc-like slow path if it fails) and ICs, which are a lot less complicated than things like alias-analysis-sensitive load forwarding.
Libraries and wrappers here:

https://github.com/avelino/awesome-go#opengl

https://github.com/avelino/awesome-go#game-development

I'd also suggest looking over https://www.reddit.com/r/gogamedev.
I find that learning in a project-based fashion solves this fairly well. Just focus on building something interesting, and in each case look for new technology that might help make the project better. Try to stretch your skill set when possible.

If something offers me an immediate concrete benefit, that provides a lot more motivation to learn it.
The x86 instruction for this would be LOCK CMPXCHG8B and would allow atomically writing 64 bits. (The x64 version would be LOCK CMPXCHG16B for writing 128 bits.)
Instruction goes back a while, there was a bug on pentium https://en.wikipedia.org/wiki/Pentium_F00F_bug
Perhaps an A/B test on A/B testing vs. not is in order.
Yeah, I remember reading that when it was first posted. Glad to see other people are aware, but it's disappointing nothing has been done.

The fix is pretty simple, the GPU manufacturer just needs to update their driver to zero the VRAM like an OS would with RAM.
How long until we see the first infoleak bug where some combination of OS+driver+browser+webgl-command-sequence misses a buffer to clear - or "optimizes" it away - or fails to bounds-check a texture coordinate - etc? :)
Holy crap. If I'm reading this correctly, Z/OS servers do not support non-executable memory? The essential anti stack-smashing protection that was even added to Windows XP in 2004?
You can run 32 bit binaries on 64 bit system. I bet Ubuntu has several 32 bit packages available because they are needed by Wine and and closed-source 32 bit binaries.

The theoretical possibility for speedup is exactly why I asked. The x32 website has benchmarks where it's as fast as i386 and 40% faster than amd64 on pointers or as fast as amd64 and 40% faster than i386 on 64 bit math, but what's missing to really justify x32 is some "20% better than either" case.
Avoiding failure vs. pursuing success
Yes. Security and correctness should always come before performance. Performance first is the thinking that got us security vulnerabilities everywhere.
This is totally not true. :/
Let's assume self-driving cars take off in <5 years. That means that this isn't "winner take all". It means its a commodity that's going to be driven down to razor thin margins. In that case, neither Lyft nor Uber have much of a business, and VCs are better off burning their money in a barrel.

Tesla's Autopilot can already do most of the driving on the highway, and the latest software release has the car driving in our out of your garage with no human intervention (it'll even open and close the garage door for you). Google's self driving tech has already mastered a majority of city driving. We're getting to a fully autonomous self driving future faster than most realize.

EDIT: Tesla charges $2500 for the autopilot feature, so far argument's sake, I'm going to say that cost won't be a problem. There's no way fully autonomous vehicles are going to require an expensive roof-mounted laser scanner; laser scanning gear? qualified maybe, as there are a few components manufacturers making solid scanner laser scanners (no moving parts). Also, some recent tech out of MIT is (supposedly) drastically better at 3D scanning with polarized camera filters than a laser.
There is an opcode prefix in x86 machine code, that asserts 64-bit mode for the next instruction. Even when compiled for 32-bit and running on a 32-bit OS. Its anybody's guess if your particular compiler is smart enough to use this.
> It seems like a bigger issue is that GPU memory is not virtualized and all users get access to the same memory. It's as if three decades of understanding the utility of virtual memory were forgotten.

I think you're forgetting the most important thing here - GPUs are meant to be fast. Virtualization will add like what, an order of magnitude to the access times?
Ask HN: I'm a dull person since software doesn't excite me anymore. What to do?
I've loved computers since I was a kid. Got a degree in CS, worked at a few small companies, and then landed a job in a large tech company, which was my dream. Then everything went to shit.

Before that job, I was crazy about anything related to software. My life was devoted to reading papers, learning new languages, libraries and frameworks, and thinking about the future of things and what could be improved. I had an extreme drive to work and deliver, and a stellar career up to that point.

I really wanted to work for one of the big tech companies, so I started applying to them. I didn't really care about the project I would be in, as long as I got a job in one of those companies.

So I landed one of those jobs. And the project SUCKED. In two years, it turned me into a complete cynic towards software. I don't see the value in things like I used to anymore. I don't want to think about technology. I want to use computers as glorified calculators, nothing more. I dread hearing about frameworks, IDEs, debuggers, compilers, Unicode, RFCs, protocols, what have you. Everything seems unnecessarily complex.

I thought the problem was that bad project, so I switched teams. One of the coolest teams in the company, actually - lots of publicity, contributes to open source, really smart people. But the scar from the previous two years is still there. I can't find that passion in me anymore, and my performance is mediocre. I spend my days dreaming about early retirement.

What depresses me is seeing how uninteresting a person I am now that I don't have all that passion for software. Because I spent so many years focusing on it, I feel like I have nothing else in me. I don't have hobbies. I haven't traveled a lot. I don't appreciate art. I don't even play video games. I'm as good to talk to as a brick of mud. I don't know what to do.

Sorry for the wall of text. I guess I'm looking for people who have been through a similar experience and recovered from it.
Interesting project. I'm curious why he called it Solo5 in case I've seen what inspired it.
At small scales it's probably better to spend your time working on the core product than to make small tweaks, but once you're operating at a large scale a 0.1% conversion bump from a small change (like making the cents display in the price smaller) can mean millions of dollars in increased conversion.
>>A much better approach is to install significant instrumentation and actually talk to users about what's wrong with your sign up form.

In my experience this only works for obvious, glaring flaws, such as "I hate that the phone number field enforces a specific format" or "Why the hell are your password requirements so stringent?"

But a lot of UX is about what happens on the unconscious level. A user will never tell you, "Your bright red background feels too aggressive/hostile" because they simply don't recognize it at the conscious level to be able to verbalize it. The signup or checkout form might make them feel uneasy, but they won't know why.

I find that the best way to optimize websites is to do A/B testing first, and then talk to your users about the subset of the results (which might be the majority) that you find confusing or surprising. Basically, never rely on just one method, because then you will be hamstrung by the shortcomings of that method.
They spent five years and close to half a million dollars to make sure he saw no repercussions.

No, they spent half a million dollars to make sure that they saw no repercussions. He was in jail long before the lawsuit was settled.
Meanwhile, San Francisco can't muster the courage to build a station on top of an existing tunnel boring site.

http://www.socketsite.com/archives/2015/12/no-progress-for-a...
To be specific about my claim: throwing away the earlier version and replacing it with the argon-wrapped version cannot make the user's original password easier to recover, because it adds no new information about the password. To convince yourself of that, imagine that there was some function `argon(hash)` that made the password easier to recover. Why wouldn't an attacker run that function themselves? In the very worst case a bad hash function that takes one second to run could only speed up the attacker's job by one second.

Wrapped hashes could have other side effects for probing non-hacked sites -- for example, attackers could probably figure out which chain a user has based on timing, which would let them narrow down a bit when the user last logged in. Hash chains could also theoretically reduce the total output space for the final hash, making it easier to brute force a password through the login form of a non-hacked site. I don't consider either of those likely to matter, but you might.
Are device drivers ever updated, much less for security issues?

Seems like an obvious way to increase the take, in any event: "Chip X has a security flaw. Chip Y does not. Buy chip Y now or Evil People will own-zor all your cash-zors."
That doesn't help much when you're in a room where the farthest wall is maybe 15 feet away.
The trouble with computer security "defense in depth" is that it only protects against inept attackers. An attacker with resources can get through multiple levels of weak security. Example: StuxNet.
Tips from a resume nerd
It sounds like you're depressed -- I don't know if that's accurate, but it's my interpretation of the feeling(s) that you've described. If you think depression or a similar experience may be part of this, I recommend either talking to a mental health professional or seeking out resources geared toward depressives.
That is indeed "cached as a PNG." iOS caches previews for the multitasking switcher. Sometimes I could see screenshots of pages that were opened a month ago.

Apps like 1Password make their screen blank when they go into background to prevent this… Firefox for iOS does this too!
Uber apologists Sacca and Efrati were dissing this article on Twitter as being supposedly poorly sourced. It seems like Lyft is holding its own in SF but with the driver discounts and one-rider pools its unit economics must be under pressure.
Or the window manager should zero things out? It seems more consistent for the OS to be responsible for this then say the driver which also does things like supporting OpenGL and GPGPU usecases.
It isn't that everyone watches porn, it's that watching porn is just as moral as watching any other form of entertainment.

Anti-porn crusaders aren't necessarily hypocrites. They also don't need to be hypocrites to be wrong.
https://upload.wikimedia.org/wikipedia/commons/thumb/e/e1/Dr... take your pick
Looking for a job in a “remote friendly” company?
RE your edit, there is a reason incognito mode is also known as "porn mode". It's primary use case - that obviously can't be stated officially - is to let you browse porn without fear that your mom / girlfriend / boss will find out by checking your browser history or having the site's URL show up as a suggestion when typing something in the address bar. It has never been a serious security tool.
Those past postings are all from a different site (the same as each other), a page I can't even load. Could it just be an identical title choice?
$30.000 Gaming PC for 7 Players
London started to get wifi, but it is unencrypted and you have to watch an ad before using it, by which time the train has arrived, so it has zero value.
> This seems to be one of those problems where a lot of people are aware, but no one is sure how to fix it and so it just stays how it is.

Well, MMUs on GPUs have been standard for a while. They just need to use them properly and at least have an opt-in mechanism to enforce zeroing of newly allocated pages.
Firefox on Mobile: Browser or App?
Indeed, depending on the drivers used, the VRAM contents can even survive across reboots. I saw this with some drivers on Linux some years ago, not sure if they still don't clear VRAM on boot.
Probably because corporate executives are asshole control freaks, so even if it's only 23% (according to the other responder using Forbes' own quote), they get pissed off and want to "fix" that. Also, nearly a quarter of viewers using ad-blockers still amounts to a lot of "lost" ad revenue, even if it's still a minority. (Using scare-quotes since you're not losing something if you never had it, but corporate executives don't believe that; just ask the MPAA and RIAA.)
Ask HN: Let's learn JavaScript together
Hey! Is anyone else starting to learn JavaScript?

I'm learning by myself, and it'd be great to have someone to talk through things with and work together with every now and then. Are you in the same situation? Let's help each other! We can talk on skype maybe every few days or so. If that sounds good, email danamenotrequired (gmail).
Having witnessed as a new parent the religious zeal of healthcare professionals about Vitamin D I couldn't but wonder how come did our ancestors even survive without buying these supplements ;)
Sure. Mobile is the biggest segment of the video games market and growing: https://www.superdataresearch.com/blog/global-games-market-2...

Tencent is the biggest video game company in the world by revenue: http://www.newzoo.com/free/rankings/top-25-companies-by-game...

There are more mobile gamers in China than there are people in America: https://www.techinasia.com/china-mobile-gamers-america-peopl...

Games consoles aren't competitive with that scale.