skysight-inc/HackerNews huggingface dataset:
I've been working on a project to create 2D sprite based game engine in ClojureScript. My goal was to represent the game completely with data and let the engine figure out how to interpret and render it (declaratively). In the end I implemented an entity component system (as other comments have suggested) and used existing javascript rendering libraries to handle rendering (not writing a wrapper for webgl...). You can check it out here: https://github.com/alexkehayias/chocolatier

It's been a ton of fun bringing a functional approach to games using Clojure and I gave a talk about it at ClojureWest this year. https://www.youtube.com/watch?v=TW1ie0pIO_E hope this helps others looking to build games!
3 Reasons Why the Cadillac ELR Failed
Snowden (and the world) would have been much better off if the only thing he took with him was about the illegal domestic spying, but of course he didn't have the time to analyze the data, he just took it all and ran and let journalists publish parts of it. Because some of the data was about legitimate US intelligence work overseas, people could accuse him of harming US interests on top of whistleblowing.

Some people got their information about Snowden from a "news source" that told them "this traitor / Russian spy leaked the details of the US intelligence work overseas", and did not tell them about the warrantless domestic wiretapping.
Mobile UX Design: Ways to Ask Users for Permissions
I agree on further digitalization of public services and stuff - come on, ... here in Germany you must store every kind of receipt for tax declaration (I don't know how this works in other countries, I just find it ridiculous nowadays). However, what the president of Estonia is talking about is basically not applicable to most of the current European countries, where people/countries raise walls, other countries threaten to leave, or where national interests are way higher than European ones.

In addition, I would also like to say that it's important to keep in mind that Estonia is a smaller country compared to others in Europe (it has ~ 1.5 million people, more or less the amount of people living/working in Cologne/Amsterdam/Milan). This means that they can be more focused and can invest more selectively. If you want to digitalize a country like Germany you need to change how many cities and towns? And ... how many laws that require still "paper" proof? It's not impossible, it just takes more time. That's it.

I hope that the president will be able to convince European countries to improve their IT infrastructure. That's cool. However, bigger countries won't see that coming in the next 5-10 years at least.
To the down-voters: Can you suggest a good one? (Honest question, I would really appreciate a nice STT solution for voice control and transcribing.)
Hmm... Perlin noise is a lot more complex to generate than I was expecting.
Don't hand our TVs over to Google
I'm thinking about upgrading, but it seems the performance gained to money spend ratio might not be worth shelling out for a 1080.

I am contemplating getting an HTC Vive, too bad they didn't really test VR devices with the card. But I believe NVIDIA mentioned that the 10xx cards are all highly optimised for VR, so that might pull me over the edge and get a 1080.
Previous HN thread, with many of the problems in this publication discussed:

https://news.ycombinator.com/item?id=11784160
They address that in the article. This is a spitball proposal.
Yea I just realized that when I checked my own profile haha
I was wondering what all the digital nomads there think of this.
Maybe instead of just calling it a crackpot site, and attacking the commenter, you can refute the content that's been linked.

Much harder to argue against a well-reasoned response than personal attacks.
I know this. More than a silly post it was pointing out the similarity between the thanks Obama meme and the Pauli effect. Yet something like this made it to the front page.
Nomad List
Flappy Bird Bot – Reinforcement Learning AI
If you believe in a deterministic world and no cartesian duality, there's no "spirit/soul outside the game" to do better or worse. Your willpower and moral goodness and empathy and adaptability are all the result of genetics and environment in some form or another. It's all stats and items and situations, and the choices you make come from what you were born with and happened to you.
Contribution Graph Art
Do those bypasses apply for HSTS-preloaded certs as well? My understanding is that the intention of HSTS preloading is to address this sort of attack, but haven't dug through the browser code to see what's happening in standard distributions.
> The having clause filters out records

I think you mean "The having clause filters out buckets", right?
"Please send me/us a private message on this forum (Hacker News), and include whatever information you’re comfortable sharing with me/us, and we’ll send the book to you this week."

Hacker News doesn't have a facility for private messages. If you want to receive replies, you'll need to put your e-mail address in your profile. Note that the "email" field in your profile is not publicly visible, so if you want people to see your e-mail address it needs to go in the "about" box.
https://www.dropbox.com/s/d3jg06sr0tfaclc/Captura%20de%20pan...
War crimes, for the most part, aren't some battle-frenzy or blood-lust, they are either a deliberate tactic or lack of discipline. Nanking wasn't soldiers gone crazy from war, it was deliberate punishment and demoralization of the Chinese. Also see more recent conflicts in Africa. As far as lack of discipline, see the US Vietnam war.

It just seems to me that we already have "robot" soldiers -- tanks, plans, bombs, artillery. When the purpose is to terrorize and demoralize an enemy's population, they're not going to have robots doing it.
A Ruby wrapper for LaTeXML
Also a highly varied disease that can have almost no effects vs almost immediately chronic ones.
A prime comparison is a local employer bussing everyone from their village to the tactically most appropriate voting location and paying them a bit of money and/or alcohol to vote properly - despite being generally illegal, when it happens in a paper ballot system, these people can and do vote as they please anyway. (I recall a case in local municipality elections where there were criminal charges for such actions, but the vote counting in that district showed that most of the bussed-in and paid voters actually voted against the organizer).

Since there is no way for anyone, including themselves, to get to know how their vote went, if the voting stations are run properly, can be monitored by all constesting parties, yadda yadda, we know how to run this process even in cases where the opposing parties are openly hostile and attempt dirty tricks.

In e-voting, there is no good way against this approach, and local "strongmen" are a realistic threat that actually will get used in contested elections if they are able to. They'd have everyone from their factory to either vote in their office with the supervisor watching over the shoulder or get fired, and there's no good way to prevent that from happening.
You can definitely write successful applications without tests of any sort. However, as your application becomes more complex, it becomes more and more likely that you'll find it difficult to make changes without breaking something else (especially as developers cycle through the codebase). Tests become significantly more important if you're planning on creating and supporting projects for 6+ months

Now the good news is that you don't need to use TDD. Tests of any kind do make a difference, even if you have to write them after you've coded up a solution. Tests should be testing the most important parts of your application or the trickiest parts. Tests are there to give you confidence that your code does what you think it does AND to ensure that you don't accidentally cause regressions. If your application wasn't built with testing in mind, use test data or use a BDD tool like codeception.

I don't find TDD to be necessary but I do find tests necessary. It along with automated deployment can increase the quality of your code by an order of magnitude.
This is a problem when people think "they are what they do". The truth is, first and foremost you are a human being, and as such life is pretty similar for all of us.

Ask someone what their current challenges in life are?

What are they passionate about?

What are they looking forward to?

The window dressing might be different but underneath we are very much alike.
I have to kind of disagree. I think that the whole release was necessary to put it all in context. The capabilities to spy on terrorists is what made it all to easy to spy on our own folks.

Where I completely agree with you is presentation of topics. If he had focused only on domestic spying in the beginning, the conversation could have focused on that first and foremost, and then later the other stuff could be brought in without clouding the issues.

But this is only because I think that indiscriminate spying is wrong, no matter what your nationality. And I say this coming from a military spy background where I know that spying is completely necessary.

But shit, choose your targets, and choose them for a reason.
My grandma lives near there, in San Francisco, in a $1.1 million house. She is neither red nor a herring.

She's a nice little old lady. Well, maybe she isn't nice by modern San Francisco standards; she is strictly Catholic and rather unhappy with the sexual behavior of most residents. Other than possibly that though, you'd probably like her. She keeps busy with plants, lots of noisy clocks, and a bird. Unlike a herring, she does not eat copepods and doesn't swim. She only managed to spawn 7 times, 1 or 2 at a time. She is mostly beige colored, not red. She is several times longer than the largest known herring.

All things considered, I'm certain she isn't a red herring.

Look, if she were a red herring, how could she even sign the paperwork to buy a house in the first place? Why would a herring even want a house, especially one that isn't flooded?
Pascals Wager is about assuming the EV is infinite, not that it simply exists.
Maybe you would relate to other people better if you tried to find out _why_ they they find things interesting that you find boring.
Atom is the only choice, these days. Being a newer spec, it's cleaner and stricter on what should go where. There was some debate back then on compatibility grounds but that problem has long disappeared and any decent feed parser will understand Atom just fine.
By the way, you can't eliminate the need for a stack when traversing the cell graph (unless you give them parent pointers, thereby hiding the stack in the data).

That's why I wrote "in proportion to list length", not "tree structure depth" in general.

Above, we still have recursion when marking the arg = car(obj) value. However, Lisp lists tend to be greatly unbalanced in favor of growing in the cdr direction; that is why it helps to iterate on the cdr.
What is CAC? Thank you
It's in such really great hands right now.
I can't say I know any digital nomad, but as a landlord myself, I wouldn't mind as long as they paid upfront and a bit over market price. Considering the difference in purchasing power, this should be affordable.
Just reading the wikipedia article makes it sound like the setting for some kind of Lord of the Flies-esque thriller movie.
Alt view:

By engaging in illegal activity, the agency undermined it's legitimate spying of targets outside the country. If there were no illegal activity, there would be no need for whistleblowing. I'd chalk up any damage to the legitimate spying as a collateral damage and put the people who authorized the illegal activity responsible for such damage.
It definitely is on Wechat but I am not really bothered by it: I have the people I need in a list and the rest I just ignore. It does not really interrupt but then again there might be people getting 1000s of these spam contacts per month and that would be painful...
Based on articles, they do have investors.
Yeah.

"The test of a first-rate intelligence is the ability to hold two opposed ideas in mind at the same time and still retain the ability to function." (F. Scott Fitzgerald)

I've also noticed something about the term "cognitive dissonance" in popular discussion. It's used as a pejorative explanation when the speaker can't figure out how someone else harmonizes two apparently inconsistent or contradictory positions. But when it's a speaker responding to someone else's accusation of cognitive dissonance, something like Fitzgerald's line usually comes up.

It's probably a useful concept in the context of doing actual psychology (either science or therapy), but I've come to believe that in an argument it's often a form of ad hominem attack, like most stories participants in arguments tend to spin about each other.
You can always buy an Amazon Fire TV and root it (A72/A53 combo - https://developer.amazon.com/public/solutions/devices/fire-t...)....Qualcomm has an 810 dev board you can hack on( https://developer.qualcomm.com/hardware/dragonboard-810). ARM also offers a dev board system (http://www.arm.com/products/tools/development-boards/versati...). I suspect there are dozens more, you just have to look a bit (and decipher marketing literature to figure out which ones are 72's).
Inside Silicon Valley's Spaces and Tabs Debate
Everyday I think of the suffocating levels of pollution here in India while I commute. This is a fantastic news for us since they are planning to bring it up here first !
This argument seems the same as the firearms argument. ie If we outlaw firearms then only criminals (and police) will have firearms.
Except that 1975 Cessna is much, much more likely to be what a small flight school/rental operator/FBO company can afford to buy. $35,000 and ongoing maintenance vs $175,000+.
That reason is in fact a good one. The order is "wrong" from the point of view of a developer and maybe ok from the POV of the original intent of SQL: The end-user was supposed to run SQL against databases. Few ad-hoc queries, even complicated, can be managed. But using SQL all the time, and the language is clearly the wrong thing to talk to the DB (is like JS: Is what you have instead of what you want).

Also: The fact that everyone run (even if eventually fail) for a ORM instead of SQL, or the way people imagine NOSQL is "better" -is very telling is NO SQL- show this.

The relational model is so simple and powerfull, but SQL is not a good seller of the idea.
Australia to sell £8m of seized Bitcoins
my definition of "waaayyy too much of their life" in the context of this topic is, people who don't have much going on IRL due to social adjustment impairments and personality disorders discover these online communities and have their emotional needs met by fitting into an online community.

Nothing wrong with all that, some hermit toiling over research into an obscure topic can do great work, but the same sorts of neuroticisms and anti social behaviors that can plague real life can more easily over plague online.
The described system is absolutely great for selling your vote, as you can prove within 30 minutes of voting who you voted for. It also allows you to change your mind an unlimited number of times until the voting deadline.

It is a very inconvenient system for buying votes though, as the voters can pick up your money and then go vote for whoever they wanted to in the first place.
The article says the argument is a fairly even split. Have there been any larger polls on the subject? It seem that it'd be much harder to collaborate on code styles that enforce tab indenting.
SSL added and removed here

We begin therefore where they are determined not to end, with the question whether any form of democratic self-government, anywhere, is consistent with the kind of massive, pervasive, surveillance into which the Unites States government has led not only us but the world.

This should not actually be a complicated inquiry.

https://archive.org/details/EbenMoglen-WhyFreedomOfThoughtRe...

Surveillance is not an end toward totalitarianism, it is totalitarianism itself.

https://www.washingtonpost.com/world/national-security/nsa-i...
As a general thought, hooking up ATM machines to the general internet sounds like it would be a source of "fun" for years to come.

For your point though, most probably it wouldn't be the ATM that does it. The ATM would send/queue a notification to some other resource in the bank network, for that to do the whole email notification piece. But that should be possible today (or even years ago).
Why not put an assertion, then add a test that deliberately checks if it's triggered?
There's a gender divide on nuclear power, but it doesn't mean what you think
Where do you have a fundamental right to use any and every service in the world?
Yes. It's explicitly not part of their threat model: https://www.chromium.org/Home/chromium-security/security-faq...
I've found that recently, I've gotten people to understand the issues more by paraphrasing (what I think was Snowden's) the main point:

The people doing this are not evil, nor do they have evil intentions. But they are setting up a turn-key system - and who knows who the next person in power will be.

And relating it to the current situation vis a vis Donald Trump:

Now, imagine Trump gets into power. He can quickly turn around and say "Find me all the people who do or say X so I can round them up and get them out of here!"

Fill in X for whatever thing is innocuous now, but may not be under a future administration.
Tabs versus Spaces: An Eternal Holy War. (2000)
It definitely is on Yahoo! Messenger these days too.
I'd be curious to know what leads you to believe that, "many homeschooling parents just re-invent the drudgery and blinkers of the stereotypical school"?

Most homeschooling parents I know, homeschool for precisely the opposite reasons.
This long weekend (US) I started a project hosted in Linode running Debian. I am writing code in Go, HTML, JS, CSS using jEdit on Gentoo desktop (4 monitors). The backend stuffs are Redis and Solr. I used Bower to add web components. I still use Makefile rather than grunt or other newish things
We need general, automatic MITM detection in HTTP.

It's quite possible. An MITM attack has a basic quality that makes it detectable - each end is seeing different crypto bits for the same plaintext. All they have to do is compare notes.

There are out-of-band ways to do this, such as certificate pinning and certificate repositories. But these haven't achieved much traction.

Doing it in-band is difficult, but possible. An early system, for one of the Secure Telephone Units (STU), displayed a 2-digit number to the user at each end, based on the crypto bits. The users were supposed to compare these numbers by voice, and if they matched, they were probably not having a MITM attack. An MITM attacker would need to fake the voices of the participants to break that.

This is the insight that makes MITM detection possible. You can force the MITM to have to tell a lie to convince the endpoints. More than that, if you work at it, you can force the MITM to have to tell an arbitrarily complex lie. You can even force the MITM to have to tell a lie about the future traffic on the connection. That means they have to take over the entire conversation and fake the other end.

As an example, suppose a server sending a page sends, at the beginning of the page, a hash value which is based on the contents of the page about to be sent, and also based on the first 64 bytes of the crypto bits of the connection. The browser checks this. The MITM attacker now has a problem. If they don't know about this, the MITM attack immediately sounds an alarm at the browser. If the attacker does know about this, they can compute their own hash. But they haven't seen the content the hash covers, because the page hasn't been transmitted yet.

So the attacker either has to buffer up the entire page before they can send any of it, or fake the page based on some source like a cache. Buffering up the entire page adds delay. The server can add to that delay by deliberately stalling for some seconds before sending the last few bytes of the page. If the MITM attack adds 10 seconds before every page begins to load, it's obvious what's happening. The browser could even check this; if the first byte of the page doesn't appear within N seconds, don't display it.

Faking the page is a lot of work, especially if it's customized. A cache won't be enough. Users will notice if they get a generic page instead of their personal social network page.

This would be a good feature to add to HTTP2, because it has one persistent connection which, once validated, is good for many pages.

Nobody seems to be doing enough with in-band MITM detection. There's [1], but that requires "previously established user authentication credentials." Facebook has a scheme which relies on MITM attackers not knowing how to MITM Flash content.[2] That's a form of security through obscurity, but it does detect most attacks at the proxy and hostile WiFi level.

[1] http://www.cc.gatech.edu/~traynor/papers/dacosta-esorics12.p...
[2] http://www.scmagazine.com/researchers-detect-ssl-mitm-attack...
> Scala doesn't have anything like this where the query is compiled monadically before execution

Nonsense, Scala is arguably leading the way in the statically typed composable query dsl department; see Slick [1] and Quill [2] among others.

Outside of Haskell's Esqueleto I am not aware of any statically typed query dsl that comes remotely close to the aforementioned. LINQ to SQL/Objects provides static query generation but doesn't compose; beyond that, what is there?

[1] https://github.com/slick/slick
[2] https://github.com/getquill/quill
Final point :
1.Don't store in global object.
2.Keep a separate file and export all values from there.
3. Import it and use it.
That's it!
I don't ever unconditionally trust code, but my faith rises:

* a little, if it passes a decent unit and/or integration test suite;

* a fair bit more, if it survives a round with humans who didn't write it but did set out to break it;

* quite a bit more, once it's been in production for a while without complaints tracing back to it;

* gradually approaching, but never reaching, perfect trust the longer it survives exposure to the world.

A lot of bugs will make it past step 1--even through tests with 100% code coverage. Hopefully no one takes them as anything near proof of correctness.
The point of HSTS (and preloading) is to protect clients from sslstrip (and similar attacks). as in, client types in a http url, and the attacker prevents the http connection from being upgraded.
Video player with animated controllers using React Native
I've come up with a response to this which seems to drive the point home. I simply say something along the lines of:

You think I'm paranoid? You have nothing to hide? How about you give me all your passwords (Gmail, Facebook, your laptop, etc). I'll download everything about you, and I'll post it online for the world to see.

Oh, you wouldn't want that to happen? Well that is the risk I am talking about. Governments can be hacked, too (and have been many times, recently). Hence if they have access to your data, all your data could potentially be leaked on the open internet.

Government surveillance and hacking can affect everybody!
I'm trying to see how this particular service improves on having a shared outlook calendar where everyone reflects their vacation. Can someone point out the benefits? (This is not a criticism, I am trying to understand the service)
I never did that in a dynamically typed language, so what's the difference?

The whole point of dynamic/duck typing is that you don't care about the specific type, only that it works as you expect it to.
Interesting!
Can those return arbitrary data of whatever mime? What storage and authentication options are available?
Is there a way to leverage such access into secure browsing? Some kind of "secure https" over "mitm https", where they only see the encrypted layer even with their mitm access?