skysight-inc/HackerNews huggingface dataset:
Couple of quick pointers wrt Japanese. First, human languages take a long time to get good at. If we think that children learn faster than adults (which I think is not actually true, but it's a widely held belief), then it will take you 5 years to talk like a 5 year old, 10 years to talk like a 10 year old and 15-20 years to talk like an adult -- minimum. If you study very effectively, I think you can double this speed, but no more than that. Adult level proficiency is 15-20,000 word families. Ignore anything that tells you that you can be proficient with 2,000 words of vocabulary (even a 4 year old has more than that!)

Specific advice about Japanese: forget polite form and learn plain form from the beginning. If you are in dire need of sounding polite, just put "desu" at the end of every sentence. It will be grammatically incorrect, but nobody will fault you for it (it's what children often do). The mapping from plain form to polite form makes total sense. The opposite is not true and complex sentences require that you master plain form, so this will reduce your effort considerably.

Also, learn to read. This is especially true if you are coming to Japan. Hiragana and katakana will take you a few weeks. Try to learn at least 100-200 of the most common kanji as well. This will take you only a month or so and it will make your life dramatically easier.

Learn full sentences and ignore grammar for the most part. I got to reasonable conversational level simply by memorising the example sentences in Tae Kim's grammar guide: http://www.guidetojapanese.org/learn/grammar. Use spaced repetition to help speed it up.

Get the JLPT N5 and N4 vocabulary lists and memorise them. Even N3 is useful. These are words that map pretty much directly with English without a lot of nuance, so memorising them is efficient. Otherwise learn vocabulary in context by reading. I recommend manga because it will give you conversational Japanese. There is no description in comic books -- only conversation. They are perfect.

Finally, get a phrase book and memorise some set phrases -- just to help you a long. Keep in mind, though, that a lot of phrases are regional and wherever you are going, they might say things a bit differently. Generally speaking you should be fine if you stick with common phrases, though.
rather unexciting but vitally important. I always liked the CIA factbook
replying just in case someone finds what paper that was.
1. Rust. As a DevOps engineer with a lot of experience and interest developing and operating distributed databases, I have so many ideas and Rust is perfect for them.

2. Everything about building and using FPGAs to their potential.

3. machine learning / deep neural networks. I feel we are getting to a point where they are becoming more practical for a business to invest in.

4. How to survive parenthood, with #3 due in May, my son is 3 and my daughter is 2. I've been making it up as I go, but wow is it a lot of work!
Per your comment, I wrote a Chrome extension that creates links to other HN submissions pointing to the same URL. Hovering over the links provides additional details.

This provides similar functionality as the 'past' link in a submission's subtitle, but shows the duplicates automatically.

Here's the extension:

https://chrome.google.com/webstore/detail/hacker-news-duplic...

Here's the source code:

https://github.com/dstein64/hn-duplicate-detector
This is one of the reasons I'm hesitant about anything voice-based: you can't help inflicting it on other people.

If I ask what time it is in the middle of the night on a regular basis then my wife is going to get annoyed at me pretty fast.
We (the Code Valley team and the emergent coding community) are still hard at work building the UI-designing agents, but you can build a 'Fibonacci calculator' right this moment, if you like.

You can build it to run on Linux (https://marketplace.codevalley.com/pilot.html#linux-fibonacc...), or to run in a browser (https://marketplace.codevalley.com/pilot.html#browser-fibona...). You will need to pay a few satoshis (to the agents you will be contracting), and if you don't have a bitcoin wallet, just shoot me an email (julie@codevalley.com) and I'll foot the 50c for you :).

edit: added clarification
I want to learn machine learning and also complex systems deeply and build some projects around them.
Breville BJS600XL Fountain Crush Masticating Slow Juicer Review 2017
Thanks for the contribution. What is the preferred approach for geographical redundancy in an active/standby site configuration? F5 offer BIG-IP GTM. I'm wondering if there are good open source equivalents?
Most software doesn't have a potential to kill people. And if it does it sure is certified.
Note that it's a contentious issue. Lots of people think there's plenty of documentation. I'm one of them. The people who think documentation is lacking seem to be people who need worked examples of things to understand them. I'm of the opinion that worked examples are often worse than no documentation.
Conversational Navajo. It's such an interesting language with an amazing history. I don't know any other languages right now besides English and a bit of Spanish, and I didn't grow up around any Navajo people. Despite a relatively small speaking population, there seems to be enough information online to learn at least enough to hold simple conversations.
We don't maintain that this system makes bugs impossible. Rather, the system provides an environment in which bugs are highly unlikely to emerge.

In this system, developers are incentivised with the prospect of direct payment to deliver a correct fragment. If we assume that game theory's rationality will prevail, I'm sure you can see how (in a perfect world), all fragments will be correct. However, we know the world isn't perfect and that there will always be an irrational player who is motivated by things other than direct remuneration... a player who has malicious or duplicitous intent.

There are three pieces of good news regarding how the system deals with these players:
(1) The first is that it is actually a good deal more difficult for a bad actor to actually produce, well... bad (binary) code, compared with current methods. In this system, every agent provides its service by contracting other agents. There is no glue code in between; no opportunity for a developer to 'write' additional (malicious) code. If a developer wanted to create an agent that 'injects' malicious code, he would have to do so by contracting agents to design and 'inject' that code. Then, the developer would have to deploy that agent to the network where it would try and directly compete with other legitimate agents, agents with good reputations and a solid history of successfully completed contracts.

(2) The second piece of good news is that although these irrational players technically can enter the system and build an agent, their time will be extremely short-lived. Because of the recursive nature of the system, it has near-perfect accountability. Malicious players are easily spotted and basically ostracised by the wider compiler community. (Who would want to contract an agent that is known to return faulty/malicious fragments?)

(3) The third piece of good news is that the system itself only becomes more resilient and hostile to bad actors the longer it is operational. 'Honest' players (better yet, efficient players who cleverly optimise their agent's designs) are just as easily identified and even more handsomely rewarded. Remember how an agent achieves its service of compilation? By cleverly contracting other compile-as-a-service agents. Since these 'supplier' agents will return the smaller fragments that make up the larger fragment the agent itself returns, an agent's livelihood is dependent upon the reputation of its suppliers. This means the developer will choose its agent's suppliers very carefully, likely vetting them prior to building the agent itself. Over time, as suppliers become a known and reliable quantity, the ties between client and supplier agents are strengthened and it becomes even more difficult for a bad actor to find any kind of footing.

It is a strange concept indeed to ask someone to trust a binary that has no 'source code' to inspect! But when you know and trust the compiler of that binary, it is a no-brainer.
The cow also walks to the water, the wheat, not so much. Plus, milk.

Does wheat produce a sugar laden liquid that can be replenished by the cow every few days that is macrobiotic as all get out?

And yes, I know about beer.
https://en.wikipedia.org/wiki/Grace_Bedell
WebTorrent have been there already for some time already
No: these are dependent clauses, a comma would be incorrect.
> Maybe make it a law that company needs to maintain certain level device security via software update for N years for internet connected devices.

Just expand the warranty laws – security updates are fixing a manufacturing defect that makes the device unusable.
Like automated open source.
I'll keep that in mind! (I'm sure there will be many mistakes on the road ^^')

In the meantime, my Twitter is in my profile, and I'm pretty sure I'll post a few snaps here and there :)
> If we think that children learn faster than adults (which I think is not actually true, but it's a widely held belief),
Anecdotally, I saw my two children learn a foreign language in exactly the same place and over the same time as me. They learnt it to fluency in the same time I could barely communicate.
Actually google 'scholarly articles on how children learn languages'. It's probably not just anecdotal.
Can you recommend any ways to get into house building? Books, articles, general information. The codes probably vastly vary between countries, but I assume the fundamentals remain the same. Thanks.
At least in your 30's, you're still quite marketable from a re-dating standpoint (not that that alleviates the present existential pain). Losing someone in the 50's might arguably be worse
Geohot never stops to amaze me, at least.
Implicit Design Patterns in Scala
I completely disagree; kids learn a lot by using physical devices, that they won't learn from digital simulations. I think the best we can offer them is a mix of both.

Physical devices develop dexterity and attention to detail. For example, drawing a circle with a compass develops a number of physical abilities. Some kids love the challenge of making neat circles of different sizes, and they'll get something out of using a compass that they'll never get from a digital circle-making tool. And keep in mind, there are different kinds of compasses. There are the pointy-tipped kind that we all think of, and there are flat ruler-types that have a spinning pivot point. Someone who's used these kinds of devices can develop a very concrete understanding of what a radius and a diameter is, among other things. I believe some of the same benefits come from working with a physical spirograph.

Digital simulations allow people to try out many more variations in a short period of time than they could with a physical device. Digging into the code behind these simulations pushes people to understand the mathematical concepts that underlie these tools and patterns.

Our young people can have the best of both worlds; it's our job to help them enjoy the variety of tools that are available to them today.
Real-time anomaly detection (http://numenta.org) for airplane flight routes, wearable sensor data (heart rate), energy smart meter readings, seismometers for early earthquake warnings, ...
Points
You can only get them if you're issued a infraction.
Once you reach a certain amount - your account will be banned. Currently you need '7 points' for this to happen.
Depending on how serious the infraction is, will depend on how many points you will receive. We do issue enough points for instant ban.
If your account is banned, you'll no longer have access to the forum (e.g. no more new posts or editing old ones).
If you're credited any points, these may be removed after a period of time. This is up to the staff if they decide to do this (and nagging/pestering doesn't help!)
He was the biggest hacker, tried to be an entrepreneur, now he is working hard to became the biggest comedian of Silicon Valley. Seems like the comedian role might actually work out.
It's actually Guy English along with Rene Ritchie. Guy Ritchie is a film director.
"infelecities" isn't a word.
I own a Google Home and I struggle to answer this question. It can do lots of simple stuff sort of well. Activating light switches by voice feels hopelessly inefficient to me when you compare it to just using a light switch - especially when you factor in the cost of the hardware involved. Playing music is also fine if you know exactly what you want, but browsing is pretty terrible. Video is kind of cool ("play show X from Netflix on my TV!") but controls like pausing, rewind etc are also very difficult without reaching for the remote you could have used in the first place.

When it's useful it's great. But it feels like a tool trying to find a purpose still.
Goodbye codebase, hello World Compiler
I'm also in the "I think there is plenty of documentation" camp, so this topic tends to confuse me when it comes up.

I suppose what people who are curious about Haskell find lacking are definitive language guides like the Rust Book, Effective Go, and the like?
CSS Sans
James Altucher Show (interviews, founders) http://www.jamesaltucher.com/category/the-james-altucher-sho...

Software Engineering Daily (technical software topics) https://softwareengineeringdaily.com/category/podcast/

Soft Skills Engineering https://softskills.audio/

NPR: How I Built This (innovators, entrepreneurs, and idealists)
http://www.npr.org/podcasts/510313/how-i-built-this

Developer Tea https://developertea.com/

Cognicast (Clojure Ecosystem) http://blog.cognitect.com/cognicast/

Descriptive (Programmer Origin Stories) http://descriptive.audio/

Reactive Podcast (thoughts on modern software engineering) http://reactive.audio/

Turing Incomplete (Podcast about programming)http://turing.cool/

Accidental Tech Podcast (tech talk, heavy on apple stuff) http://atp.fm/

The Web Platform (all things web) http://thewebplatform.libsyn.com/

Freelancers Show https://devchat.tv/freelancers

5 minutes of Javascript http://fivejs.codeschool.com/

Entreprogrammers (Programmers entrepreneurs) http://entreprogrammers.com/

The Gently Mad http://avclark.com/tgm/

Hansel Minutes (Life, Business and entrepreneurs) http://www.hanselminutes.com/

Lets make mistakes (Web and Designers) http://www.muleradio.net/mistakes/

Node Up (Node.js) http://nodeup.com/

Javascript Jabber http://javascriptjabber.com/

ShopTalkShow (web development, mostly front-end) http://shoptalkshow.com/

Techzing (General Tech, Founders, Dev) http://techzinglive.com
p.n
Points
You can only get them if you're issued a infraction.
Once you reach a certain amount - your account will be banned. Currently you need '7 points' for this to happen.
Depending on how serious the infraction is, will depend on how many points you will receive. We do issue enough points for instant ban.
If your account is banned, you'll no longer have access to the forum (e.g. no more new posts or editing old ones).
If you're credited any points, these may be removed after a period of time. This is up to the staff if they decide to do this (and nagging/pestering doesn't help!)
Has this been confirmed? John Gruber has speculated that the "human error" was that the person sitting in the driver's seat failed to stop the self-driving system from driving through the red light:

http://daringfireball.net/linked/2016/12/19/hazards-of-autop...
1. Marketing
2. Django (mastery instead of just the basics)
3. A solution to Parkinson's law
> He had some rather ridiculous examples. E.g. he was touring a factory in Hong Kong and claimed workers had picked noisy and hazardous work environments over more pleasant ones, because it paid better.

How is this a ridiculous example? Did he just invent it or was that indeed the actual reason why they were working there versus a more pleasant place?
Kapustkiy: The 17 Year Old Man, the Myth, the Motivations
hahaha yea sorry long day, I'm leaving that up for posterity
How to construct a model of AGI. :)
JavaScript has a lot of really weird/bad aspects to it no doubt, but you kind of have to ignore those parts and keep it simple. I actively avoid using "this" and it makes it so much simpler. There are four cases when "this" won't be what you expect, and the only common one is when it's in a callback, so it's not a huge deal, but I think the language is great when you just avoid it and all its other shitty parts.
The truth is that I had confused it with the pancreas.
Thank you very much for sharing this. It's gut wrenching to read, and I can only imagine even harder to go through.

But.

> I can't live without her.

What does she want? Because I imagine she would very much want you to live - to live an extremely full and vibrant life. The life you two had hoped to have. On her list of wishes, I'm betting thats among the top. And I bet among them, thats the one wish you could actually make good on.

Your love is wonderful - its why you do what you do for her. I hope you spend the rest of your life celebrating it and sharing it with others.
I wonder if dang will come and harass you over rude behavior like dang often does in my posts!
With regards to chess, some thoughts:

* /r/chess is a great community.

* Chess.com is also good, particularly for their analysis tools and tactics puzzles in the app.

* Lichess is my favorite for actually playing games with other people.

* Queen's Gambit is clearly the most fun opening as white.

* Chess can be one of the most infuriating games in existence.

* "The Immortal Game: A History of Chess" is one of the best non-fiction books I've read in awhile.
We Asked You to Visualize Your Podcast Listening And, Wow, Did You Deliver
so, basically you're looking for free labor to make your product viable?
That is seriously cool! I would love to see the inner workings of that thing a bit more. Reminds me of the typewriters in the tv show Fringe.
it's a bit disingenuous as a founder to claim you're a member of the community.
So the first example, in C#,

(1) uses logging in the middle of an otherwise pure function,

(2) is criticized for the unpredictability of a bounded/well-defined instance of laziness, namely iteration.

The author's proposed solution is Haskell, which

(1) makes it difficult to add logging at all to pure code without refactoring to add monads, unless you subvert the type system by using functions like 'trace'...

(2) ...in which case behavior will be significantly less predictable than C# due to Haskell's pervasive laziness - something which also comes up in other situations, like reasoning about performance/memory use.

I find it hard to take this article seriously.
I think he wants to imply that everyone who is trying to build a self driving car is working on it in house, testing and tweaking while collecting data to make it better and possible. But what Google has done is, they tried and couldn't get the ball rolling that well in the commercial market as expected and eventually they created 'Waymo' which will partner with car manufacturers who will create prototypes for them to make ride sharing autonomous cars. Which sounds more like a mashup of Tesla and Uber.
> There are kinds of making other than engineering.

True enough. But the piece argues (I am the author) that software engineering is not making, it's designing.

> Carpentry is not engineering. Cooking is not engineering.

Carpentry is a craft, but furniture design can be engineering. Cooking dinner is a craft, but designing the menu and production process for a chain restaurant is definitely engineering.

> Before you can declare that making software is (or can be) engineering, you have to be able to explain why those things aren't.

My position is that they are (or can be), when analysed in an analogous way. You've asserted that they self-evidently are not, even in the absence of a rationale for why. I simply don't agree.

> My tentative theory is that engineering has rigorous ways to check whether a design will work before it is manufactured

I appreciate you sharing your theory! However, I believe you'll find the history of engineering has largely been one of people doing stuff first and then later finding ways to reduce the cost by doing analysis. I highly recommend watching one of Glenn Vanderburg's "Real Software Engineering" talks for a more in-depth treatment of that subject: http://vanderburg.org/speaking/

> A mechanical engineer might need to draw a detailed design, but can then check it rigorously with finite element methods.

That's great, but finite element analysis won't tell you e.g. where water might pool causing a structure to deteriorate, or that a machine can't be properly maintained because a part is too difficult to access. If you worked in any of these fields I think you'd quite quickly be disabused of the notion that they consist of just plugging designs into known formulae until the computer accepts one. Similarly, we have plenty of similar tools in software (e.g. Big-O analysis), but we don't kid ourselves that using them is the be all and end all of developing software.

> When we make software, in practice, we have to construct the software and test the artefact, hoping that our tests are adequate.

We do that in practice because it's more efficient. I can't accept a definition of engineering that holds that we could claim to be doing engineering only if we did things inefficiently, because it's self-contradictory. That's the opposite of engineering.
It's very trivial (this is the bulk of it -- not showing everything to spare people from jumping over a huge message):

var f = function f(num) {
return num + 5;
}

var immutable = function immutable(arr) {
return arr.map(f);
}

var mutating = function mutating(arr) {
var i = 0;
var l = arr.length;

for(; i < l; i++) {
arr[i] = f(arr[i]);
}
return arr;
}

In my actual code, arr is a array of ascending numbers from 1 to 10,000 (different sized array each set of calls). I rebuild it before each call to immutable and mutating. I then run each of those functions, one after another 10,000 times. The intent is to make sure that there are no strange optimisations with a constant array and to even out the impact of the GC by interleaving the calls.

Unfortunately I tried to go to the link that you provided, but it just timed out :-(

Ah... it showed up. Hard to say what's going on there. I can't see the source code of how the benchmark works. But I do notice that you aren't returning the values. It is entirely possible that the code is being optimised out. I recommend returning the array. I also added up the elements of the array and checked that each implementation added up to the same number, just to make sure that the operation was actually performed.
One way or another, we're stuck with JS, so we have to use it and hopefully use it in the best way possible. There are genuinely good aspects to it and if you know what you're doing, you can write in a way that's easy for others to read and understand. Including certain functional patterns is part of that, and avoiding stuff that JS is terrible at, like "this", is another.