skysight-inc/HackerNews huggingface dataset:
The number of reasons you should care are numerous. One facet of the dystopian nightmare that total surveillance inevitably brings is already being realized in China.

https://www.wsj.com/articles/chinas-new-tool-for-social-cont...
Related concept explained by Nassim Taleb: https://medium.com/incerto/the-logic-of-risk-taking-107bf410...
Using Word2vec for Concept Search
Read this: https://www.reddit.com/r/linux_gaming/comments/73xutn/why_ca...
Apple is not America's favorite tech company
1080Ti doesn't have double speed FP16, Vega 64 should be more than twice as fast for half precision training/inference. The problem is that AMD is has been lacking in framework support and fast optimised kernels. This seemed promising - https://news.ycombinator.com/item?id=15516166
Some Parentified Kids Grow Up to Be Compulsive Caretakers
Memory Span and Dual N-back combination. Improve working memory on 30 or more %?
There's an article about graph processing in java from the early 2000s. Author tried a few java libraries with exhaustive APIs, all were cumbersome, cemented and incomplete. He ended up hacking a better one out of cons lists that did more faster and shorter.

I think Lisp lives way too far from the "proper" engineering practices to fir in the reading grid.
No, "improvement" is still subjective.

If the spec calls for a car, and I give you a car with a roof-rack, then I've exceeded the specification for what the car must do. Whether that's an improvement is subjective. If you don't need the rack, then your MPG suffers.
CRISPR Bacon: Chinese Scientists Create Genetically Modified Low-Fat Pigs
Blaming other countries when US congressman corrupted seems to be typical response. Dont take me wrong, your claims of few agents gambling the entire US nation looks laughable to me while more number of US spies are working all over the world
5 Bintang Muda Jebolan Piala Dunia U-17
> Now over 20% of Rust devs use it at work.

This one jumped out at me. I'd be curious how this compares to other languages. (I know nothing about rust besides that I see it on hn all the time, impressive list though!)
I'm interested in this; mind if I tag in too?
The professionally produced kind are all labeled on the actual food surface with some sort of impression or imprint that's unmistakable unless you're completely innocent of any knowledge of the world.
when you're learning how a language works, unorthodox things are perfect.
To your last question: yes! In a "Nix expression" defining how you build the package (i.e. a "derivation") you can specify where the source is fetched from via any mechanism (e.g. http, ftp, git, etc.)

The documentation is good but it can sometimes be a bit rough. There are some good blogposts on how to achieve specific things that you may find when searching around. Also the IRC community seems is quite active, responsive and friendly :-)
It's supposed to make you understand the language, how it works, and why it works the way it does, not how to write it professionally. It exposes you to patterns you'll run into.
>In a statement issued on June 2nd [2016], Facebook said it "does not use your phone’s microphone to inform ads or to change what you see in News Feed."

>That's pretty fucking clear to me.

Said nobody who understands law, language, or politics. It's absolutely fucking clear to everyone who reads with discrimination what this means. It means they are using your microphone to vacuum up your information. That they added the qualifier "..to inform ads or to change what you see in the News Feed" gives them the verbal and legal wiggle room they need to do absolutely anything they want with your information. For example, they could use your microphone to monitor, record and quantify everything they hear to "adjust a user profile" that they keep on all users. In that case, they could simply claim that the ads you see and the news feed you get are based on your user profile.

>How could they respond to remove all doubt they're listening?

They could very simply. "We do not listen to your microphone or record content, data, or metadata from your microphone in any circumstance". Without qualifiers of any kind.
Buildings do not usually have moisture inside of them

Do sprinkler systems count?

(I know about water damage, but that's usually not as bad as fire damage... and there would be the highly effective Halon if it weren't for the CFC-scare banning it...)
I fully agree with you on that. However, please grant that mobile devices spend a substantial amount of the day plugged in and can draw full power (people mining coins, etc).
The main device type for UWP is any Windows 10 device. See the list of benefits mentioned in the link above, which extend beyond phones. I've never owned a Windows Phone, yet I always prefer UWP apps.

Also there is a big market for 2-in-1 tablets, and new small Windows on ARM devices are coming out very soon.

http://www.zdnet.com/article/microsoft-to-pc-makers-lets-mak...

Not every kind of client app is suitable for the browser, especially if you care about performance and deep native platform integration. And I'd rather not deal with JS frameworks when not targeting the web.
Fair call - this reasoning I can relate to. I was the first spot of rain in a long dry season spell, so it stands to reason that drivers in the area were highly likely to have dried out, unserviceable wiper blades just when they needed it.

The link about friends search history and close GPS co-ordinates also makes sense.
What I'm getting out of "We don't use your microphone for ads" is that they use your microphone, they just don't use it for ads. Which as many comments have already stated makes sense because you don't really need the recordings to determine a suitable ad when they are already getting all the data they need from just using facebook.

What I think they do is, they record everything using the microphone, and they store it if you are a person of interest. A person of interest could be that maybe you have a over 1000 friends or something, maybe your a ceo of some tech company, maybe you're a lead programmer at intel, maybe you're someone the US government wants to track, maybe your a senators staff member, maybe you work for the Skunk Works at Lockheed, maybe you said a key word/phrase that throws you into the 'person of interest' category like 'electrogravitic propulsion'. When these surveillance companies do this type of stuff, they do it to people of interest, and if they ever need to put the squeeze on someone, or steal important information like get secret information about a stock trade or something, they go to that person of interests microphone records (which probably get transcribed into text by some program) and search for whatever they want to know. This is why this shit should be utterly banned, it controls people, it steals from people, it destroys innovation and scientific progress before they ever get off the ground, and its just plain manipulative.
I just know the math indirectly, from observing that stopping distances scale linearly with rolling component mass but by the square root of the total mass of the vehicle. Relevant to modifying vehicles - if you put larger, heavier rims on your car, you must also upgrade the braking system or you're rendering it unsafe to drive by possibly doubling the stopping distances.
4) But recall that the language in question is such that stemming is hard. If you expand every form of every word in Hebrew, you obtain something like 600,000 words. And many of them have completely different meanings due to syntactic coincidences and short roots. So, ideally, the first step would a) determine what exactly each word in this document means in the given context, b) replace it with an unambiguous identifier.

For example, in Hebrew the word BRHA can mean several things: "pool", "blessing", "in soft" and "her knee" (no kidding).
Unfortunately for me, all of my C/C++ is in the embedded space (by that I mean, I am thrilled to do embedded programming. but it's C), so a lot of the nicer features of C++ either aren't available to me (unsupported by the compiler), or are too expensive to use (dynamic dispatch, exceptions). Your Option implementation is definitely interesting; I may crib it some day. Half my consternation comes from an itchy feeling of "why am I inventing this, when Rust already does it!" that perpetually nags at me. It's entirely a hangup that I make myself get over, but it's still there.
Let us not forget that, until a petty political hysteria[0], there were no plans to have a mirror of Archive.org; just one pretty little building between chaos and order.

As a recurring donor and huge fan of the Archive, I find this pretty concerning.

[0]: https://blog.archive.org/2016/11/29/help-us-keep-the-archive...
C# does have scoped destructors, but for GC reasons they use a separate syntax. `IDisposable` and the `using() { }` block do this.

The downside is it's entirely opt-in, but it's well known and things like IoC containers can handle it.
I agree with your general sentiment that Java verbosity is actually a strength rather than a weakness. However, the examples given in this particular article are all (IMO) cases where the verbosity truly is unnecessary and is mainly there because for backwards-compatibility. These shortcuts do not reduce readability significantly and I would love to have these in Java.
If you have this information, one thing that would be really helpful with this type of tutorial is to know how long it took to train the models when you tested them last (and what it cost).
It looks like the presentation stops short of any strong conclusion.
I will hopefully add more detail eventually. When I say layer I am taking about a music layer like a melody not a layer of neurons. Most of the music is midi rendered with vst synths or sound fonts.
This company is complicit in ethnic cleansing and the top comment in this thread is about activating interest groups to ward off regulation. It's outrageous.
But we don't have glass doors in bathrooms because of that
I don't mean this to be flippant: there's a Javascript standard library?
It's an interesting idea, but I think most of us here have worked for companies where we've seen this stupidity first hand. The clueless middle manager makes a bad decision, this has several knock on effects, the manager gets promoted and a lot of money has already been sunk into the bad decisions so fixing the mistakes isn't politically possible for the next guy and on it goes.

This happens every where there is humans with egos and politics in it's many forms and I doubt the KGB has infiltrated all of them.
Random walks work well in high dimension soaces, where calculating the gradient gets to be very expensive. Depending on your metaparameters, random walk can also try to jump out of a local minimum, where gradient descent only optimizes within the initial local mimimum.
Steve Jobs was a notorious micromanager and he owned a massive, custom-built yacht.
So...what is that in Megawatt-hours?
I don't get it; this doesn't seem to offer anything more than say, having a raw sql query in a post body, that gets thrown against the db. Except this looks a lot more annoying to write

I'm imagining auth and permissions and such will still primarily be handled by the db in either case
> evolution of evolvability and then a seemingly unrelated subject: the evolution of robustness.

Isn't there a an analogue to this in software engineering?

There is an extremely large space of programs that produce the exactly same output on a given input, but we humans favor programs that we can read and understand. We also favor programs that are modular and composable, because bits of those programs tend to get reused to create new programs and are easier to write than new 'blob of code' programs.

One can view programs as memetic 'self-replicators', with a selection process dominated by the preferences of human readers and writers.

If we analyzed many dependency graphs between code modules, or a graph of function call usage between snippets, I bet you'd find that actual human-written programs have the same 'sparse' connectivity that you see, because maintainability implies writing code along sane API abstraction boundaries.

TL;DR evolutionary pressure might means nature naturally abstractions within genetic code
I hope Volta based gaming cards will happen sometime in 2018 and they don't gimp it too much. V100 kills it with mixed precision compute for deep learning because of the Tensor Cores. If you can get mixed precision training working, you can get 120TFLOPS out of it. You'll need 10x 1080ti's to reach that
This phenomenon is a genuine quality problem.

Small bugs in the implementation of boilerplate code have a tendency to sail through code reviews and go without notice until they become production issues, because experienced developers develop a habit of glossing over boilerplate without reading it too carefully.
Downvoted, only commented as a way to reference this later.

Has HN considered a bookmark or favorites feature like dBforums?
You may like this proposal: https://scrollto.com/life-a-universe-simulation/
REST does not require a specific response. The original paper used specific verb as an example present in the wild, which has oft been misinterpreted as required usage.

Formatted summary -
http://www.ics.uci.edu/%7Efielding/pubs/dissertation/rest_ar... - "The most frequent form of request semantics is that of retrieving a representation of a resource (e.g., the "GET" method in HTTP), which can often be cached for later reuse."

A critique of HTTP REST - http://cafe.elharo.com/web/why-rest-failed/ - "Representational State Transfer (REST) is the explicit architecture of HTTP and the World Wide Web" which is a notably incorrect statement.

Other interesting articles:

http://www.artima.com/lejava/articles/why_put_and_delete.htm...

http://roy.gbiv.com/untangled/2009/it-is-okay-to-use-post
I think you confused "evolutionary algorithm" with Simulated Annealing. Because Simulated Annealing is LITERALLY a random walk (biased towards higher values, but its strongly random nonetheless).

https://en.wikipedia.org/wiki/Simulated_annealing

Simulated Annealing works because it doesn't get stuck in local maximums. Do a simple gradient ascent on this simple 2d plot, and its very, very unlikely to achieve the true global value: https://upload.wikimedia.org/wikipedia/commons/d/d5/Hill_Cli...

But if you do Simulated Annealing (aka: random walk), you get to the global maximum much more reliably. Genetic Algorithms have a similar effect as Simulated Annealing because Genetic Algorithms are strongly randomized. But they still "hill climb" explicitly, because its rare for parents to be thrown away if they were superior to the children.
This is fascinating, and really makes you consider the volatile nature of markets from a different perspective. That is, it seems to imply that your return is less about the choice of companies to invest in and more about your general exposure, which seems consistent with the rise of index funds and diversification in general.
Facebook free doesn't even give you images, at least, not on my provider.
I was thinking about this sentiment:

And that "one single place" is for this trivial toy program. Now imagine the impedance across the delivery of a real business app.

That seemed very incongruous with my experience. I think the problem is that in my experience the number of types necessary scales sub-linearly with the amount of code. This is because Haskell (and other languages with what one might consider pleasant type systems) generally have full type inference. So while you might need the explicit type for the toy example, scaling that example up means only a handful, and possibly a net negative, other necessary explicit types.

This comes up in a concrete manner in your example. The add function is almost too small to be typed appropriately. There isn't enough information for GHC to constrain the choice of numeric representation so it picks one. If you were to embed that in a larger program with more specific operators no types are necessary.

Prelude> let add = (+) <$> readLn <*> readLn
Prelude> let foo = (/) <$> add <*> add
Prelude> foo
3
30.1
40
10.2
0.6593625498007968

So it's quite possible that the "type burden" becomes smaller as your system grows.
Do you know anyone at AOL who might be receptive to a request to open source their legacy Tcl code?
You make a fair point against sending links in emails, so how do you implement the token in the email? I'd like to start doing that in my own projects too.
Note that at least one of the features described, (static) Null-Safety, can be achieved in Java via annotation processors. For example, by a tool such as NullAway (https://github.com/uber/NullAway). Yes, adding '@Nullable' is more verbose than '?' (thus is the Java way :) ). But there are plenty of projects were it still makes sense to use Java over Kotlin. This is particularly true for existing codebases, where adding annotations is certainly easier than rewriting everything in a different language.

Disclaimer: I am a contributor to NullAway. There are plenty of other nullability static analysis tools for Java worth considering (Checker Framework, Eradicate, etc). NullAway's main strengths are a focus on performance and the idea that you should be able to use it as part of every (local) build of your code.
This Wednesday there will be some official "Who is hiring/freelancing/whatever?" posts. Remember to look there in case you can find something interesting and post a message in the correct thread.

For the previous edition, see: https://news.ycombinator.com/submitted?id=whoishiring
> 1) Random forests are by nature supervised learners

You can run unsupervised random forests. The way this procedure works is to first make a "copy" of the original dataset (the reason for the quotes will be evident in a second), and then train the forest to distinguish the original data from the copy with a binary target vector.

The "copy" is made by sampling column-wise from the original dataset, so that, in the copy, each variable has the same univariate distribution as the original, but any interdependencies are destroyed.

The forest then learns to distinguish the original from the copy, and the only information that it has at its disposal are interdependencies in the original dataset.
"what are the advantages of these techniques compared to gradient descent?"

Well, the really big advantage is that simple gradient descent can get you stuck in local maxima (or minima, depending on how you look at things). Many fitness landscapes are guaranteed to produce suboptimal results if you use gradient descent. By contrast, a sufficiently large random variation will eventually "get out of the local hole"/"get past the local hump".

It doesn't necessarily have anything to do with differentiability; consider the graph of 0.5x+sin(x). A gradient descent technique is going to get stuck on that one right away, while random exploration won't.

Edit to address some stuff that dragontamer brought up below:

A good genetic algorithm is mostly going to produce offspring that are close to the parents (recombination, which de facto is similar to hillclimbing/gradient descent/gradient ascent) but occasionally it's going to try something off that's completely off the chain (mutation). Some of the early work with genetic algorithms focused on mutation, but it soon turned out that recombination was better most of the time. Nonetheless, you still need some mutation, or you run the risk of getting stuck at local extrema.
If the universe had somehow formed to create humans who shared a single consciousness, sure that would work.

But as long as we are individuals, we need the space to have a self.
> they are not going to "evolve into ant-level intelligence"

How do we know until we've tried it?

I mean, at a certain level of abstraction, you can just view humans as a bunch of atoms that have been placed in a heat bath for a very long time. And yet intelligence seems to have spontaneously self-organized from it.
I think in Java this is most notable in the boilerplate it takes to create value types (and related: typedefs). This often leaks from the realm of bad ergonomics into the realm of bad design; primitive proliferation is a common problem that I believe would be less pronounced were there a more convenient way to define a value type.
You are describing any open source library written in someone's spare time.

And this essay is such baloney I don't even know where to start.
Nice article, lots of good tidbits and insights. The thoughts on indirect encoding seem like an especially interesting area of research. I actually just finished up a project that used a genetic algorithm to tune some of the hyperparameters of an RNN [1]. I didn't evolve the architecture except which cell to use (LSTM or GRU), but it wouldn't be much of an extension to the proof of concept I coded. Thanks for sharing.

[1]
http://cole-maclean.github.io/blog/Evolving%20the%20StarCraf...
I've been thinking about introducing it at work. There was a good talk at RustConf about how to introduce Rust to your company.
I don't know anything about Hebrew. But maybe lemmatization would be better than stemming since it takes meaning and context into account. It is also possible that it is an unnecessary step for clustered word vectors for your use case. If it was me, I would try without stemming/lemmatization first.

EDIT

I found this Hebrew analyzer for Lucene/Solr/Elasticsearch [1] which appears to do stemming or lemmatization. Potentially you could use the output of the analyzer as the input to word2vec.

1. https://github.com/synhershko/HebMorph
Moonshot Cuts Are Turning Alphabet Back into Internet Business
Yes, that was what I meant when I said "layers" as well. RNN can generate all layers at once (more than one note per time step for a single instrument, and more than one instrument per time step overall). Basically what I'm saying is if you train it on such complex music, it will learn to generate it.
I wholeheartedly agree. More than the simplistic worldview they offer, what I I find distressing in superheroes culture (that contaminated other genres as well) is that it promotes a narrative of the providential individual, set to save the day. Teams are 4 or 5 persons max, bigger organizations are seen as either evil or incompetent.

We are losing the taste for collaborative work. We are promoting the idea that only a single individual can make things better. The idea that the humble contribution of the masses can amount to a powerful wave are totally lost.
Essentia does audio fingerprinting with Chromaprint, which is essentially that.

There are also other open source projects using Chromaprint focused specifically on that - https://github.com/worldveil/dejavu
Have you tried SuperSet?
Pretty much. You can't produce labor for someone and some day financially responsibly own a huge yacht. There's no path that makes sense unless you hit outsized luck in the form of an IPO gone right or something similar.

Assuming you weren't born into wealth, you have to take on outsized risk to get outsized results. You can be smart about the risk you take, do a lot of research into the correct risks, and limit the downside as best you can, but you can't beat math.
Do you have Spark support? I'd love a managed Spark notebook that runs on Azure which wouldn't require any setup/manageability on my end.
The older and more experienced you get, the harder it is to assume others who will have to deal with the code will have "similar knowledge".

"However, I don't think you need to make everything readable by a junior level coder." I may not be a junior-level coder, but I may still be 'jr' with your particular language or framework, but have been assigned your code because you've moved on to something else.
I am sorry. This is not in response to your particular comment. Was just trying to have a conversation.