Underscore.js: Functional Programming for jQuery - <AUTHOR> http://documentcloud.github.com/underscore/

<comment><USER2> Looks like a very handy bunch of code, but I can't say I like the "_" part of it.

One of the neatest things about jQuery is the way all of the jQuery functionality lives in the "jQuery" namespace, with $ just set up as a convenient shortcut. If you don't want the $ in your global namespace (but still want it in your own code) you can do this:

        jQuery.noConflict();
        jQuery(function($) {
            // Code that uses the $ shortcut
        }

Feature request for underscore: something similar. If I'm already using the _ for something I'd like to still be able to use the underscore library, but bound to a different symbol.

        Underscore.noConflict();
        Underscore(function(_) {
            // My code that uses _
        }

<comment><AUTHOR> Thanks for the suggestion, Simon -- It's done.

The Underscore page now has the download for version 0.1.1, with a noConflict function that returns the "_" variable to its previous value.

        var myUnderscore = _.noConflict();

<comment><USER2> That's awesome! Thank you very much.

</comment></comment></comment><comment><AUTHOR> Quick Summary: Underscore provides all the functional programming goodies that you would expect with Prototype.js or Ruby, but without extending any core javascript objects, so it can fit hand-in-hand with jQuery. In Javascript 1.6 compliant browsers, it delegates to the native versions of functions, so you can have your "map()" and run run it at native speed where available. The production version compresses to 4k, so there's not much overhead in adding it to a page.

Blog Announcement: [http://www.documentcloud.org/blog/2009/10/28/underscore- dot-...](http://www.documentcloud.org/blog/2009/10/28/underscore-dot-js/)

Git Repo: <http://github.com/documentcloud/underscore>

Test and Benchmark Suite: <http://documentcloud.github.com/underscore/test/test.html>

<comment><USER3> Awesome stuff but binding your library to _ (underscore) is unfortunate. That character is traditionally reserved for the gettext / i18n / gimme-a-string- in-human-language-X function.

_('WELCOME_USER', user.firstName)

_('WELCOME_INTRO_TEXT')

etc...

</comment></comment><comment><USER4> Or if you're into MooTools checkout <http://github.com/ShiftSpace/functools> for decorators, pre & postconditions, memoize, arrays and hashes as functions, currying any function parameter, function composition, arity dispatch, etc.

Check out <http://github.com/ShiftSpace/promises> for bringing functional sanity to AJAX requests as well support for lazy values:

      function example() {
        var remotes = ['a', 'b', 'c', 'd', 'e', 'f'];
        var result = "";
        while(remotev = remotes.shift()) {
          result = add(result, get(remotev)); // get is an async request! ;)
        }
        show(result); // -> console.logs "abcdef"
      }

No callbacks, your code looks like (and _is_) regular javascript even though this triggers 6 requests. AJAX callback code is the new spaghetti and this is an antidote.

And finally a <http://github.com/ShiftSpace/set> for a Set datastructure :)

<comment><USER5> Promises looks fun!

You might also be interested in <http://osteele.com/sources/javascript/concurrent/> for another approach to this. [later, after reading more:] Actually, Promises looks much more complete and useful.

<comment><USER4> Thanks for this! I recall reading over your article, <http://osteele.com/sources/javascript/functional/>, back in the day and being completely baffled and intrigued. These days I've been hacking with Clojure and wanting to bring some of that FP sanity back to my daily work ;)

</comment></comment></comment><comment><USER6> What does this have to do with jQuery?

 _edit: by that I mean it's useful without jQuery. It's already been added to Narwhal server-side JS package manager:<http://github.com/kriskowal/underscore> _

</comment><comment><AUTHOR> Thanks to all your suggestions, Underscore 0.2.0 is out, with:

* "reduce" instead of "inject" (inject is now an alias).

* Other aliases added for Javascript 1.6+ standardized names (forEach, filter, every, some).

* "compose", and "lastIndexOf" added.

</comment><comment><USER7> Check also: <http://code.google.com/p/functional-javascript/>

It's not tied to jQuery and approaches things in a particular way.

<comment><AUTHOR> Underscore isn't tied to jQuery either. It just complements it nicely.

Oliver Steele's Functional is a great library too, and bits of Underscore were inspired by it. The main difference between the parts they have in common is that Functional.js extends the core Function prototype, while Underscore avoids altering any core objects.

<comment><USER5> Thanks! You can also feel free to mine <http://github.com/osteele/collections- js>, which is a version with just the collection functions (but still modifies built-in objects, so may not be to other people's taste), that I've been using in conjunction with jQuery. I haven't finished looking over your library, so I don't know if there's anything in there that would still be useful to you. There's a set of unit tests, which might be.

I eventually found that I was accumulating so many string functions that, in a version of this for OpenLaszlo here <http://github.com/osteele/lzosutils>, I broke them into a separate file.

<comment><AUTHOR> Collections-js looks like a nice split -- I might end up nabbing a few more things out of there. Maybe some of the unit tests too, although, FYI, your Functional.js page has shown "Documentation Failed to Load" for me for the last few days (on Webkit).

One thing that it would be nice to agree on is the standard names for some of these things under Javascript. What should reduce be called? Inject? Foldl? I've followed the Prototype/Ruby naming conventions, but it might make sense to provide all of the commonly-used aliases -- especially when you're not extending core objects, and don't need to worry about cluttering them up. What do you think? Does the same function under 5 different names run as sweet?

<comment><USER8> Not inject. Inject was borrowed from smalltalk's #inject:into, but dropped the "into" and just ended up being unintuitive for many people. Ruby 1.8.7 and 1.9 now have #reduce, so I'd say that's the way to go. No reason to use foldl unless you're going to also have a foldr.

<comment><AUTHOR> Version 0.2, which should be out this evening, will call it "reduce", and alias it to "inject". Thanks for the feedback.

</comment></comment></comment></comment></comment></comment><comment><USER9> Thanks, jashkenas - this is fantastic.

I spend most of my day as a Ruby developer, but when I'm doing frontend work, the thing I miss most in Javascript is Ruby's incredibly simple, powerful list operations. While most of these have existed in some form for awhile now, I've never seen such a comprehensive implementation in just 5.2kb (minified) of very clean, simple, well-commented code.

This is probably going in every project I work on from here on out. Thanks for putting all of this together.

</comment><comment><USER10>
      >> _.first(array)
      >> "Convenience to return the first element of an array (identical to array[0])."

How is _.first(array) more convenient than array[0] ? :/

<comment><USER11> Sometimes you need a function. The alternative isn't array[0]; it's function (array) { return array[0]; }.

<comment><USER10> Ah thanks. Makes sense now.

</comment></comment></comment><comment><USER12> I know I've implemented a fair few of those functions on a more ad hoc basis in number of projects. So it's really nice to see someone putting it all together in a simple package. I'll certainly be having a closer look at the source code and trying it out on my current project.

</comment><comment><USER13> This will go great with jQuery. I've missed some of these helpers when moving to jQuery from Prototype. I felt much better about not polluting globals after the switch, but this look like it's a nice half-way solution between Prototype's style and nothing at all.

</comment><comment><AUTHOR> 0.3.0 is out, with a bunch of fine-tuning loop optimizations provided by Dmitry Baranovskiy, and CommonJS/Narwhal support, for those of you who use JavaScript on the server as well as the client.

</comment><comment><USER14> Cool stuff. The only thing that keeps me from writing in a more functional style is the fact that no current browser implementations perform tail recursion optimization.

</comment><comment><USER15> Why not extend jQuery with all these functions? Then we can write things like: jQuery.makeArray(document.getElementsByTagName("div")).inject(..)

<comment><USER16> Because those of us who are _not_ going to use it shouldn't be burdened with it.

cat jquery.js functional.js > myfatquery.js and be happy.

</comment></comment><comment><USER17> see also: <http://mochikit.com/doc/html/MochiKit/Base.html>

</comment><comment><USER18> nice, all this needs is a Class object and it'd be perfect (though i guess you could just add base.js to the mix).

<comment><AUTHOR> Funny, that's precisely what we're doing at DocumentCloud -- Base.js for OOP / jQuery.js for DOM and Ajax / Underscore.js for functional...

Part of the idea is to make it easy to add functional utility methods to an existing project without making any other assumptions. You can use it with whatever OO scheme you've got cooked up, any Ajax library, and any DOM- manipulation framework.

<comment><USER19> What advantages would a "mix'n'match" approach like this have over something unified like Prototype (which, as far as I can tell, includes implementations of all the parts you are using)?

I have found Prototype much better for a "web-app" framework - I can build up complex controls and effects with the "OOP"/Inheritance framework, and I have access to all the functional tools I'm used to from Ruby.

JQuery, on the other hand, has always felt "lighter" - really great for a quick Carousel control on a marketing site, or a pop-up effect or something like that, but it quickly turns into spaghetti with anything more complex.

I'd be interested in other people's views on this split, especially people with experience using a whole toolset like yourself.</comment></comment></comment>


The Trouble with Quantum Mechanics - <AUTHOR> http://www.nybooks.com/articles/2017/01/19/trouble-with-quantum-mechanics/ <comment><USER2> This article presents a very inaccurate view of the realist approach. The universe does not "split" when you make a measurement.

The measurement problem is a solved problem. The solution is that measurement and entanglement are the same physical phenomenon. Measurement is just entanglement extended to a macroscopic system through a process called "decoherence". The net result is that, when you do the math, you recover classical behavior by taking "slices" of the wave function (the mathematical operation is called a "trace"). This has been known for decades now, and provides a coherent and easy-to-understand picture of what is "really" going on. It is astonishing to me that the physics community still bifurcates into two camps: those who think this is common knowledge, and those who are completely unaware of it (or think it's a crazy idea).

References:

[http://www.flownet.com/ron/QM.pdf](http://www.flownet.com/ron/QM.pdf)

[https://www.youtube.com/watch?v=dEaecUuEqfc](https://www.youtube.com/watch?v=dEaecUuEqfc) (The same content in a video)

[http://blog.rongarret.info/2014/09/are-parallel-universes- re...](http://blog.rongarret.info/2014/09/are-parallel-universes-real.html)

[http://blog.rongarret.info/2014/10/parallel-universes-and- ar...](http://blog.rongarret.info/2014/10/parallel-universes-and-arrow-of- time.html)

<comment><USER3> Decoherence is an extremely useful and elegant mechanism for understanding quantum systems, but unfortunately it doesn't solve the measurement problem. At least not to the satisfaction of most practising physicists. The entanglement and trace operation does produce classical probabilities in the observed sub-system. However, it requires you to make a pretty arbitrary division between the observed system and the wider environment. Why is everything not just entangled with everything else up and up the chain until the entire universe is in superposition? The problem of where the quantum world ends and the classical world begins is still unanswered. This is one of the greatest open questions in physics, likely requiring a unification of general relativity and quantum mechanics before it's resolved.

<comment><USER2> > Why is everything not just entangled with everything else up and up the > chain until the entire universe is in superposition?

It is.

I'm going hazard a guess that your next question is going to be: why do I not perceive myself to be in a superposition of states? And the answer is that you are not what you think you are. You think you are a human being, a classical physical object made of atoms, but you aren't. This is a very good approximation to the truth, but it is not the truth. The truth is that you (the thing engaged in this conversation) are a software process running on a human brain. You are a _classical_ computing process, i.e. a process that can be emulated by a classical computing model like a Turing machine. The reason for this is that the kinds of things you do necessarily involves _copying information_ (e.g. the process of reading this comment involves copying information from your computer into your brain) and quantum information cannot be copied. Only classical information can be copied. Your conscious awareness of the existence of physical processes is an emergent phenomenon of accumulating memories, i.e. copying information. Because of this you cannot become consciously aware of your quantum nature, and because of _that_ you cannot demonstrate the quantum nature of any system (to yourself) unless it is isolated from you. You could in principle demonstrate the quantum nature of the rest of the universe if you could somehow isolate yourself from it, but that presents insurmountable practical difficulties.

> The problem of where the quantum world ends and the classical world begins > is still unanswered.

Because the question tacitly makes the false assumption that there is a hard boundary between the two. There isn't.

<comment><USER3> Clearly you have your own unorthodox interpretation of quantum mechanics and you are quite emotionally attached to it. The argument that the universe is really X, but your brain just perceives it as Y because of Z can be made for any X,Y & Z. I don't find it compelling whatever the alleged reason for the disparity (in this case the no cloning theorem). There's also whole host of other issues, if everything is QM why has the brain evolved as a classical information processor, QM is unitary so you need to explain time/thermodynamics ...

Anyway, if you truly believe you have nailed both the measurement problem and consciousness in one fell swoop. Then I suggest you seek some like minded collaborators and a peer reviewed outlet for your ideas.

Returning to your original comment.

> It is astonishing to me that the physics community still bifurcates into two > camps: those who think this is common knowledge, and those who are > completely unaware of it (or think it's a crazy idea).

As a former member of the physics community I can tell you this is completely false. Everyone is aware of decoherence, it's covered toward the end most of undergrad courses in QM where the density matrix is introduced. I've never met anyone who thinks it solves the measurement problem.

<comment><USER2> > Clearly you have your own unorthodox interpretation of quantum mechanics

None of these ideas are original with me. All of them can be found in the literature. My only contribution (if I've made a contribution at all) is pedagogical.

> and you are quite emotionally attached to it.

Yes, I am quite emotionally attached to the truth. And yes, it does annoy when people promulgate the myth that QM is hard to understand or contains intractable mysteries when I know it isn't true. It _particularly_ annoys me when people say this and simultaneously ignore the incontestable fact that entanglement and measurement are the same thing, in the same sense that space and time are the same and matter and energy are the same. Yes, all of these things are weird, and yet all of these things are true, and none of them are intractable mysteries or even hard to understand.

> I suggest you seek some like minded collaborators and a peer reviewed outlet > for your ideas.

Like I said, these aren't my ideas. But I did submit my paper to Physics Today back when I first wrote it in 2001. It was rejected on the grounds that everything in it was already common knowledge.

> As a former member of the physics community I can tell you this is > completely false. Everyone is aware of decoherence

But obviously not everyone is aware of its implications. Your challenging me on this is manifest evidence of that. And for 25 years I have been stumping card-carrying physicists with the EPRG thought experiment. Heck, it took me ten years to find _anyone_ in the physics community who knew the answer! (I even had a chance to pose the question to Freeman Dyson, and _he_ didn't know the answer!)

</comment></comment></comment></comment></comment><comment><USER4> Relevant for those who are interested in the topic: Two rather unusual interpretations if quantum mechanics:

\- De Brogle-Bohm theory: [https://en.wikipedia.org/wiki/De_Broglie%E2%80%93Bohm_theory](https://en.wikipedia.org/wiki/De_Broglie%E2%80%93Bohm_theory)

\- Gerard 't Hooft - The Cellular Automaton Interpretation of Quantum Mechanics: [https://arxiv.org/abs/1405.1548](https://arxiv.org/abs/1405.1548) (see also [https://en.wikipedia.org/wiki/Superdeterminism](https://en.wikipedia.org/wiki/Superdeterminism))

<comment><USER5> the Automaton interpretation sounds like something I would enjoy reading. But considering that I do not have the time this week nor enough knowledge in the subject, could you perhaps provide me with a quick summary as to what it is about?

<comment><USER6> My understanding is this: Hooft is an "instrumentalist" as described in this article. He does not believe that quantum mechanics describes "what's really going on" and is interested in classical models that explain why QM makes such good predictions.

"Superdeterminism" is a very interesting perspective that Hooft feels could resolve this dilemma. Others feel that superdeterminism is not falsifiable, so there's no point in discussing it.

I came across this interesting article on stackexchange from a few years ago: [http://physics.stackexchange.com/questions/34217/why-do- peop...](http://physics.stackexchange.com/questions/34217/why-do-people- categorically-dismiss-some-simple-quantum-models)

The first response is from Peter Shor, presumably the discoverer of Shor's algoithm. Kinda cool that such intelligent people with the highest academic credentials use a public forum.

<comment><USER7> Actually the kind of superdeterministic theories proposed by t'Hooft are falsifiable. From [0] "If engineers ever succeed in making such quantum computers, it seems to me that the CAT is falsified; no classical theory can explain quantum mechanics." By "such quantum computers" he means computers that can run Shor's algorithm. "...but factoring a number with millions of digits into its prime factors will not be possible – unless fundamentally improved classical algorithms turn out to exist."

[0] - [https://arxiv.org/abs/1405.1548](https://arxiv.org/abs/1405.1548)

</comment></comment></comment></comment><comment><USER8> Let me give example why physics is hard, using most simple example.

Ever encountered term observer (like observer in inertial frame)?

Well, it turns out, observer in physics means whole laboratory with established procedures of measuring time and length, not observer as you would mean in everyday life. And established procedure, what is that? Say, how do you measure time when certain event happened? It turns out, you can measure time only locally, and for this you need to have synchronized clocks spread out in your lab in points of interest. Some more philosophically inclined physicist would say that time means synchronized clocks. And how do you synchronize clocks? Well, it has to do with speed of light but I will stop here.

And this is for the most simple term. Imagine something more complicated. Now imagine hundreds of people writing papers and books with only partial understanding, and signal to noise ratio :-)

End of rant :-)

</comment><comment><USER9> I know that Eliezer Yudkowsky is _very_ controversial and some of his statements cannot be taken seriously, but I really liked his sequence of articles on QM. It made it a little bit more accessible to me, who knows very little about it.

I cannot judge how accurate it is; but from googling around, it doesn't seem he does any strong errors. Also he makes some very strong statements in the end which I found preposterous (mainly, that Bayes reasoning is better than scientific reasoning, and that Bayes reasoning must lead to Many Worlds theory).

The sequence is here

[http://lesswrong.com/lw/r5/the_quantum_physics_sequence/](http://lesswrong.com/lw/r5/the_quantum_physics_sequence/)

<comment><USER10> One of the issues with engaging with Yudkowsky's posts is how verbose his arguments are. Fortunately, for something as well formalized as quantum mechanics, there's a succinct counter-example: A formalism of quantum mechanics that makes perfect sense with neither the idea of wavefunction collapse _nor_ some abundance of ontologically dubious and extravagant entities (alternate universes you can never observe). That formalism is relational quantum mechanics.

Accessible overview: [https://plato.stanford.edu/entries/qm- relational/](https://plato.stanford.edu/entries/qm-relational/) In particular, this overview addresses the fundamental difference between Everett's theory and Rovelli's theory.

Original paper: [https://arxiv.org/abs/quant- ph/9609002](https://arxiv.org/abs/quant-ph/9609002)

A fluffy paper by the same author about QFT and its relational nature: [https://arxiv.org/abs/hep-th/9910131](https://arxiv.org/abs/hep-th/9910131)

In short: The way you can evade the difficulties MWI addresses completely by changing one premise of the problem: that physical systems have states independent of their observers. In relational quantum mechanics, there is no universal wavefunction because there is no external observer of the universe. Call it the zero worlds interpretation. How parsimonious!

There is an element of Yudkowsky's sequence that deals with relative configuration spaces, but this is a subtly different concept and is really just a discussion from a clever guy unequipped with the right concepts about the difference between, say, affine spaces and vector spaces or torsors and groups. The idea that there is a configuration space independent of the observer is the assumption he misses.

In general I find Yudkowsky's extreme certainty in his own arguments to range from amusing to obnoxious. It's not hard to find places where uncertainty creeps in. It doesn't come from mistakes in his reasoning because what he considers he is usually meticulous about considering, but from what he doesn't consider.

</comment></comment><comment><USER11> This is a really good description of the measurement problem. It takes all the sides of the debate seriously, which is hard for most physicists to do. If you think about quantum mechanics all day every day, you're almost bound to settle on one interpretation as your working model, and it becomes hard to take the others seriously.

</comment><comment><USER12> Weinberg mentions the quote by Eugene Wigner regarding the importance of consciousness in the section on instrumentalists. However, I see it is being fundamental to realist's interpretation also. I subscribe the the realist approach, which I view as meaning nothing special happens when a human makes an observation - it is just quantum mechanics as usual. This has interesting implications. The key is that the observer is not outside the system, he is a part of it. His wave function becomes entangled with the system when the measurement is made. But what makes this difficult to analyze is that we don't know what it means for the observer to say "I see the result was *". What physical process allows the observer to be aware of the measurement?

We can make a simplifying and unsatisfying assumption - the observer has a register in his head which records the result of the measurement. Here, it is easy to imagine this register is part of the wave function just like the object being measured. As mentioned above, the wave function for this register is entangled with the object being measured so the measurement and register value are correlated. In our model this corresponds to the person independently thinking each of the possible results, which some people call multiple universes.

But this simple register is not what goes on inside the brain. Not knowing this makes it difficult to accurately model the measurement process.

EDIT: for clarity

<comment><USER13> In the realist interpretation, even without people, you wind up in entangled states after measurement of a spin (where by "measurement" I mean: allow a giant classical system to interact with a spin and tilt a pointer on some gauge to / wind up with some register holding + or -). It's perfectly possible to formulate the realist ideas without any consciousness or insistence that the measurements register in a brain or observer.

<comment><USER12> Yes, I agree you can formulate the realist ideas, because the observer is nothing special at all. And I also think this is how the world works. But from an experimental verification point of view I think you really need a model for what the brain does to say you understand how a measurement is made. What is a theory without verification?

Granted his quote used the word formulate, but I interpret the comment as referring to not just writing some rules but also having some justification for them.

</comment></comment></comment><comment><USER14> What is wrong with the Pilot Wave Theory intepretation? I'm ok with FTL information transfer, and so Bell's inequalities are satisfied.

And anyway the other interpretations DO NOT rule out FTL information transfer. For example if one entangled electron flies into a black hole then we would be able to know its spin by measuring the other one even if light from it won't reach us.

Also there is this:

[https://en.m.wikipedia.org/wiki/Wigner's_friend](https://en.m.wikipedia.org/wiki/Wigner's_friend)

<comment><USER15> >I'm ok with FTL information transfer

Which will lead to the conclusion that Special Relativity (which was extensively validated) is either wrong or incomplete.

I have seen a revival of Pilot-wave theory here on HN, but the real conclusion (a real particle pushed around by the enigmatic pilot wave or quantum potential or whatever) is as bizarre or as satisfying as saying particle is in a superposition. Also, I haven't seen anyone satisfyingly explain, in a classical-deterministic sense, the Delayed Choice Quantum Eraser Experiment (also, see the the Wheeler Thought Experiment)

<comment><USER16> There is the silicone oil droplet phenomena which is a classical version of the pilot wave, and it does reproduce some quantum behavior, including the double slit. That a pilot wave has been discovered (granted at macro scale) does make one reconsider.

[https://youtu.be/WIyTZDHuarQ](https://youtu.be/WIyTZDHuarQ)

<comment><USER17> It does not, really. The macroscopic realisation is not particularly surprising (although it is quite awesome and original). If you put a ball floating on top of a wave you will observe the predictions from a mathematical model of that system, which is exactly what the pilot wave theory is, and there is nothing surprising here. Moreover, the macroscopic model simulates something which by definition is an unobservable construction in the quantum model. It does not simulate any inherently quantum behavior (classical waves is a thing we already knew exists).

<comment><USER18> Nobody tells that walkers are simulate all quantum behavior and doing that correctly. However, they helps to understand some of quantum puzzles. For example, droplets have spin. Can you predict behavior of the classical droplet spin in compare to the puzzling quantum spin?

<comment><USER17> But you can do the same with classical setups that mimic some effects from the typical quantum mechanical formulations. Those classical experiments are indeed amusing and interesting, but they do not illuminate the "quantum puzzles", no matter whether they are modeled after pilot wave theory or after quantum mechanics. And very importantly, those amusing demonstrations do not scale! Sure, you can mimic with classical contraptions the pilot wave (or the wave function) of a single particle, but the nice intuitive demonstrations fail when you try to scale it up to more particles (or anything that would be exhibiting the interesting, nontrivial quantum behavior).

<comment><USER18> So, your prediction for walker droplet spin is that walkers, in kind of Stern and Gerlach experiment, will behave like classical magnets, not like quantum particles, right?

<comment><USER17> No, they would behave like a ball floating on top of a wave and given that there are waves involved there will also be interference patterns. There is nothing quantum here. Sure, in one particular way it looks like a quantum particle (to the extent of a cargo cult), but in all the important ways it does not (entanglement, computational power, generalisation to multiple particles).

<comment><USER18> I asking about outcome of Stern and Gerlach experiment. It's binary thing. Make public prediction, please.

<comment><USER17> Certainly, but then please first pose/define the question clearly. What do you call a macroscopic Stern-Gerlach experiment with balls floating on top of the waves of a fluid? It would be an amusing toy problem to work out if you define it for me. However, it does not change the main argument: there is nothing quantum in macroscopic experiments with water waves - interference does not imply "quantumness".

<comment><USER18> Lets define experiment as following (excuse me my bad English, please):

\- vibrating bath with non-conductive, non-magnetic, non-paramagnetic, non- diamagnetic fluid;

\- vibrating bath is wide enough to avoid excessive interference with reflected waves from bath sides;

\- vibrating bath has regular pattern on top of fluid, without any irregularities in space of experiment;

\- small _charged_ droplets of fluid on top of bath;

\- north and south poles of a magnet are placed horizontally, without touching of bath fluid or droplets, e.g. at sides of bath, OR over fluid, OR under bath;

\- an apparatus creates droplets of same size with _random spin in all 3 dimensions_ ;

\- droplets are forced to walk through the batch, starting at center line between north and south pole and following that line;

\- without magnetic field applied, droplets must walk straight;

\- an detectors to measure decline of droplet path from center line must be installed at end of magnetic pole.

I expect that, when magnetic field is applied, droplets will slide completely to left or completely to the right, like electrons in Stern-Gerlach experiment.

It's not a quantum experiment, of course, but it can provide insight on nature of quantum spin.

PS.

Sorry, droplets must be charged, not magnetic. Updated.

<comment><USER17> The main point of the Stern-Gerlach experiment was that the electrons hitting the screen were forming two distinct dots instead of a long spread out line, therefore proving that the angular momentum is quantised. In your example you will instead have simply a spread-out distribution because there is no quantisation of the angular momentum of your droplets.

The pilot wave usually refers to the spatial degrees of freedom, especially in these classical mock-ups with balls on top of waves. They do not properly addressed internal degrees of freedom like spin.

Unrelated to those macroscopic mock-ups, pilot wave theory actually has serious problems with the description of anything that is not a spatial degree of freedom.

You can still use pilot wave theory to describe the quantum behavior of the coordinates of a particle. But even then, the classical mock-ups we are discussing will not show anything inherently quantum - it will simply produce some interference patterns, that can be explained classically.

P.S. side note: An important part in the Stern-Gerlach experiment was that the magnetic field was not homogeneous, because it is the gradient of the field, not the field itself that causes the electrons to move.

<comment><USER18> IMHO, Stern-Gerlach experiment demonstrates interaction of magnet field with guiding wave mediated via particle, so I expect that magnet will steer particle-wave into same spots, thus will demonstrate «quantum» behavior of particle spin at macro level.

<comment><USER17> Without disrespect I insist that you are wrong about that. The spin degree of freedom is "internal", unrelated to the position of the particle. The pilot wave does not influence that spin, and if you have a big ball on top of a wave, that wave does not care about the angular momentum of the ball. The ball is big and classical, hence its angular momentum is (practically) not quantized.

The thread got a bit long, but if you are really interested in learning about this I would be happy to continue the discussion through email (email@example.com). You probably also need proof of some kind of qualification on my part - my online profile does prove that I work at a respected institute doing research on that topic.

</comment></comment></comment></comment></comment></comment></comment></comment></comment></comment></comment></comment></comment></comment><comment><USER19> It seems that the scientific method has led us to a theory that is beautiful, accurate, and yet utterly incomprehensible. Until we can explain exactly what happens during a wave function collapse, I think QM will remain that way.

<comment><USER20> It doesn't seem that way to me. Decoherence is understood pretty well; although not every detail is completely worked out it explains our experience and the subjective appearance of collapse. It's just approximate though and hence we get quantum interference.

The reason you think it's incomprehensible is that a lot of smart people have trouble accepting what we called reality is only one of many classical "worlds". It's a philosophical concern; technically there are no major issues and it's not that hard to understand.

The reality of QM won't be commonly accepted until we find a way for people to accept that the universe isn't what they expected or we change their expectations.

</comment></comment><comment><USER21> I had three semesters of QM in grad school and I still have trouble with it.

<comment><USER22> Well, the OP author is arguably the greatest living physicist, so it's not surprising that 3 semesters isn't enough :)

</comment></comment><comment><USER23> They overcharge you if your license is from two simultaneous states.

</comment><comment><USER24> > In this musical analogy, the act of measuring the spin somehow shifts all > the intensity of the chord to one of the notes, which we then hear on its > own.

People can accept that measurements and observables are operators which act on the wave function (which can be expressed as a linear combination of eigenstates of the operator in question). People can even accept that some observables cannot be measured simultaneously, because they do not commute, and cannot share eigenstates.

People cannot accept that particles can _only be found in eigenstates_ of the observable in question, without some mechanism to explain why this happens. If a particle's measured value can only be one of the eigenvalues of the operator, it begs the question "which eigenvalue is it going to show us?". Alternatively, if nature let us measure the _expectation value_ instead of "one of the eigenvalues", then quantum mechanics would not be "weird" at all. Too bad, nature isn't like that, or maybe, be thankful that it is.

> But if the corrections to quantum mechanics represented by the new terms in > the Lindblad equations (expressed as energies) were as large as one part in > a hundred million billion of the energy difference of the atomic states used > in the clock, this precision would have been quite lost. The new terms must > therefore be even smaller than this.

I always see people (physicists) complaining about String Theory, etc. because they play around in regimes which are too small for us to actually work with. We have observed macroscopic effects which are due to a build-up of quantum mechanical effects (superconductivity, solid state, etc.). It would be expected that a correction to quantum mechanics would also make macroscopic predictions...</comment>


When compressing and encrypting, should I compress first, or encrypt first? - <AUTHOR> http://stackoverflow.com/questions/4676095/when-compressing-and-encrypting-should-i-compress-first-or-encrypt-first <comment><USER2> Related article from a week ago, with a lot of discussion: [https://news.ycombinator.com/item?id=11994286](https://news.ycombinator.com/item?id=11994286)</comment>


Image Super-Resolution: A Comprehensive Review - <AUTHOR> https://blog.paperspace.com/image-super-resolution/ <comment><AUTHOR> Hello everyone I am the author of this article

Image super-resolution is one of the most popular generative algorithm

A neural network takes a low resolution image and has to imagine & generate all the finer details

A lot of rapid progress has been made in this field coming from early stage ML models to recent TECOGAN

In this article I cover the task of super-resolution, the taxonomy of the algorithm developments, loss functions, performance metrics and popular datasets

In addition I have provided detailed code of ESPCN architecture to train a model from scratch and corresponding Paperspace gradient notebook

Also attached a pre-trained ESPCN model to play out with

Would be happy to discuss any further questions related to this topic</comment>


Ask HN: How did you get your first five customers? - <AUTHOR> Curious as to how other startups got there first five customers (or first few)? Were they all people in your existing network? Did you cold email / cold call? Did you advertise? What were your most successful techniques? <comment><USER2> Personal network, PH, HN. No paid acquisition. Built relationships while testing concept with a landing page first, so I had beta customers lined up at launch.

It's important to try to convert leads on your website early on since you don't have a ton of traffic.

The first customers are always the hardest. Good luck!</comment>


Is this the best paper abstract ever? (on  light speed neutrinos) - <AUTHOR> http://www.theincidentaleconomist.com/wordpress/is-this-the-best-paper-abstract-ever/

<comment><USER2> This is actually a decent paper; the authors had an idea, wasted a ton of effort on it, and didn't want anybody else to spend time exploring a dead end. Remember, even negative results are important.

<comment><USER3> In the spirit of your comment, perhaps it would be better to say 'spent', rather than 'wasted'? As you are saying, this is an important distinction.

<comment><USER2> Ah, true. Unfortunately, can't fix it now.

</comment></comment></comment><comment><USER4> I wonder if there's a scientific paper equivalent to Betteridge's Law of Headlines:

If a headline ends with a question mark, then the answer is "no".

</comment><comment><USER5> Right to the point, just as every loves it.

</comment><comment><USER6> Probably.

</comment><comment><USER7> Yes.

</comment><comment><USER8> Will more scientists get to the point in their papers instead of trying to impress us with their science vocabulary?

Probably not.

<comment><USER9> Real question: will reviewers take such papers seriously, or will they be overly-impressed by the trappings of "real" papers (which include vocabulary as a relatively minor point), thus giving the wrong incentives to authors?

</comment></comment><comment><USER10> Is this reddit?

<comment><USER11> I could answer 'proably not'. Then, if this were reddit, it would get upvoted.

But since it's not, it would most likely get downvoted.

Oh, the paradox...</comment></comment>


The Charmed Life of Esther the Wonder Pig - <AUTHOR> https://thewalrus.ca/the-charmed-life-of-esther-the-wonder-pig/ <comment><USER3> > A question still nags at me, and I pose it to the couple: "You have about > fifty-eight residents now, but there are billions of animals that you can > never save. Does this ever discourage you? Does it ever feel futile?"

> Jenkins looks instantly pained. His eyes well up. "Yeah, it's tough," he > says. "That's the hardest part. I try not to go there, because it's > overwhelming."

Huge respect for these guys. From my perspective, nothing can be done about the animals already in the system, but the sooner we wind down the demand keeping them there, the more we'll save. Their efforts definitely help with that.

<comment><USER4> This is the quandary facing all animal activists. We have to be positive since there's proof that things are improving, but at the same time when you start thinking about the billions that are as intelligent (or some more so) than our pets and are being slaughtered, its hard not to be overcome by pessimism. But as Jenkins says, we should not dwell on that. Because besides making you pessimistic, it also hampers whatever little ability you have to contribute.

<comment><USER5> When I got started in animal rescue I was given this advise: "You can't save them all and you should not save them all. If you are going to do well in animal rescue you need to come to terms with this." Formally in rescue it is abbreviated to C4C or Capacity for Care. In a nutshell it means you don't take in more animals then you can care for.

</comment></comment></comment><comment><USER6> If it doesn't wear a cape and it can't sing, it doesn't deserve to be called a wonder pig

[https://www.youtube.com/watch?v=zw5SQXBIcjc&index=45&list=PL...](https://www.youtube.com/watch?v=zw5SQXBIcjc&index=45&list=PLgyahHEFAo5NXWHopzDqIsMVwKULnIo4k&t=0s)

</comment><comment><USER7> I have huge respect for people who do this kind of work.

I don't think I'd be able to do it - go to these factory farms and see all the suffering and only be able to rescue a few animals. I can't even watch Earthlings[0] - just one clip is enough and it paralyses me for days.

I just can't understand why we continue to support the large scale meat industry (not talking about hunting or raising and killing your own animals).

Not only are factory farmed products not healthy for us, but it's destroying the environment, creates unncessary suffering and even if you don't care about animals, it's also harmful to people working in that industry. Would you want to work in a slaughterhouse 8 hours a day - killing, gutting and hearing the screams of other sentient beings? What does that do to one's psyche?

We (engineers, designers, etc) are problem solvers - so our community should better understand that supporting the large scale meat industry just doesn't make sense anymore and instead we'd look to support alternative food sources[1] that are less desstructive on so many levels. Ethan Brown's approach is great - he's right, we won't be able to change culture where meat consumption is totally ingrained - it's better to offer an alternative that is as good or better as meat, but that doesn't require us to continue these destructive ways.

I think people in the future[2] will look back at this time and just shake their head at how we could continue supporting an industry that kills 80Billion animals / year just so we can have some short lived pleasure in our mouth (only real reason I can think of why we continue to eat meat - <USER2> correct me if I'm wrong) - the same way we shake our head at slavery, which was accepted by society in the past.

Holocaust survivor and founder of Farm - Dr Alex Hershaft[3] - compares how Nazis treated other ethnic groups to how we treat other species. To animals we are the Nazis.

Ultimately the question is, when it's not necessary for survival - how do you humanely kill a sentient being that doesn't want to be killed?

Just hope how we currently value other sentient beings won't be an example for our future AI overlords of how to behave towards us.

[0] Earthlings [https://vimeo.com/209647801](https://vimeo.com/209647801)

[1]Beyond Meat [http://www.ideacity.ca/video/ethan-brown-beyond- meat/](http://www.ideacity.ca/video/ethan-brown-beyond-meat/)

[2] Star Trek - 'We no longer enslave animals for food purposes' [https://youtu.be/sS7NRtEJBcA?t=31s](https://youtu.be/sS7NRtEJBcA?t=31s)

[3] [https://nonprofitchronicles.com/2017/12/05/alex-hershaft- hol...](https://nonprofitchronicles.com/2017/12/05/alex-hershaft-holocast- survivor-animal-advocate/)

Edit: typos

<comment><USER8> With better regulation, a centralized system of butchering is probably better for animals. Humans are evolved to eat meat. There is nothing wrong with the circle of life, nobody lives for ever and these animals are serving an important purpose.

<comment><USER7> Thanks for chiming in.

What do you mean with centralized system? Isn't this what we have now, i.e. factory farms? Are you suggesting to go even more concentrated? In what way will this be better for animals - if animals (just like us) don't want to be killed?

Also, do you have any sources that explains that we evolved to eat meat and that we have to continue to eat meat. Do you mean we can't survive or be healthy without eating meat?

<comment><USER8> I'm suggesting the problem is not the factory farms, the problem is the regulations and lack of oversight. We have pig farms producing more waste then most cities and just spraying it on nearby fields. We are at a low point for regulation, we might keep going until we get to "The Jungle" level of meatpacking, or we can turn things around and put some teeth into regulations and enforcement. I don't believe that 1000 small butchers are going to be 1000 ethical businesses. I do believe that 1 business, or 10 can be regulated with proper oversight.

And yes, animal products have essential vitamins that are difficult to get from plant based diets.

<comment><USER9> "It is the position of the Academy of Nutrition and Dietetics that appropriately planned vegetarian, including vegan, diets are healthful, nutritionally adequate, and may provide health benefits for the prevention and treatment of certain diseases. These diets are appropriate for all stages of the life cycle, including pregnancy, lactation, infancy, childhood, adolescence, older adulthood, and for athletes. Plant-based diets are more environmentally sustainable than diets rich in animal products because they use fewer natural resources and are associated with much less environmental damage. Vegetarians and vegans are at reduced risk of certain health conditions, including ischemic heart disease, type 2 diabetes, hypertension, certain types of cancer, and obesity. Low intake of saturated fat and high intakes of vegetables, fruits, whole grains, legumes, soy products, nuts, and seeds (all rich in fiber and phytochemicals) are characteristics of vegetarian and vegan diets that produce lower total and low-density lipoprotein cholesterol levels and better serum glucose control. These factors contribute to reduction of chronic disease. Vegans need reliable sources of vitamin B-12, such as fortified foods or supplements."

[https://www.ncbi.nlm.nih.gov/pubmed/27886704](https://www.ncbi.nlm.nih.gov/pubmed/27886704)</comment></comment></comment></comment></comment>


Did Facebook hijack a developer's app for its own purposes? - <AUTHOR> http://gigaom.com/2011/07/12/did-facebook-hijack-a-developers-app-for-its-own-purposes/ <comment><USER2> Hey guys, I work on anti-spam at FB (though not specifically platform) and just looked into this. It looks like their app was disabled for pre-filling content so that it looks like users typed it, which makes for a super spammy experience and is explicitly against our ToS. They were disabled within policy (and the reason was communicated to them - check out the OP at <http://www.nimitkumar.in/?p=196>).

The vanity URL "videocalling" wasn't reclaimed until June, and I'm pretty sure was completely unrelated to this app being disabled. If we wanted it for our own use, we would have been up-front about that, not done some roundabout make-up-an-excuse-and-kill-an-innocent-app tomfoolery that the poster is suggesting.

Besides, it'd be a gigantic waste of time to build marketing pages 3 months before a product launch given how fast things change even in the week or two prior to a launch.

All that being said, we're working pretty hard on improving the developer experience when an app is found to be in violation of policies. This isn't something I work on directly, so I don't wanna go shooting my mouth off, but check out <https://developers.facebook.com/blog/post/521/> for some background.

<comment><USER3> The first post you linked to goes on to say "We obviously did not 'pre fill' any fields without any user action."

Is there any evidence you can provide our ridiculous INTERNET COURT that they did?

<comment><USER2> It looks like this app was both automatically classified and manually verified by a person as violating the terms, and I trust that there wouldn't be a double failure in that regard.

I'm hesitant to speculate at all since, as you hint, this could quickly devolve into an unproductive he-said / she-said squabble.

</comment></comment></comment><comment><USER4> When you're building on someone else's platform, you're subject to their whims, whether you like it or not. Facebook can delete your app for no reason, so can Apple and Google and Microsoft. If you're building a Netflix or Twitter app and they change their API (or terms of service) to disable your app, you don't really have any legal recourse. Yeah it sucks, but it's a pitfall of doing business on someone else's platform, and one that developers should be keenly aware of before they start.

<comment><USER5> In a sense, whatever we build is always built upon someone else's platform. The Internet itself is someone else's platform. The legal framework in our respective countries is someone else's platform. These two platforms are harder to control than an online service like Facebook, but they can likewise be controlled in ways that are stifling and unfair.

Given that every useful platform is owned by someone else, I despise arguments of the form "Such-and-such a platform is not yours, so don't complain if its owners behave like jerks". I agree that complaining is generally fruitless and we must be cautious about binding ourselves to platforms where we are essentially disenfranchised. However, I think we all have the right to call out thuggish actions wherever we see them and to insist that platform owners treat their users and dependents respectfully. I will cheer for people who stand up to jerks before I criticize them for having exposed themselves up to harm from a platform's owners.

<comment><USER6> Two important differences:

\- The Internet is not controlled by a single entity.

\- The Internet is documented by standards.

</comment></comment></comment><comment><USER7> "This is grossly undemocratic" hahaha

Websites are not democracies. Private property isn't a democracy. Companies aren't democracies.

Get it out of your head that they are and life will go a lot smoother.

<comment><USER4> And "freedom of speech" only applies to the government, and only governments in the US. Websites that delete your comments are not limiting your freedom of speech. </pet_peeve>

<comment><USER8> They are limiting your freedom of speech; however, they are not infringing on the rights granted by the 1st amendment of the U.S. constitution.

</comment></comment></comment><comment><USER9> Not hard to believe Facebook would do such a thing. I see so many times big companies like Facebook do things like this assuming they will receive no flack, and as soon as flack comes their way they pop out with an apology and act like nothing ever happened.

I'm sorry, but this "do first, ask later" mentality annoys the piss out of me.

</comment><comment><USER10> Developing on someone else's platform, you're just doing market research for them. See: Windows, Mac OS, iOS, Android.

</comment><comment><USER11> I can't imagine Facebook's actions are actually illegal. And if they ARE illegal, it seems to me that it would most likely mean that the lawyers who wrote the developer's terms of use messed up somehow.

</comment><comment><USER12> The article mentions 'manifest destiny' but 'eminent domain' would be the more apropriate analogy. Facebook is its own country, in many ways.

</comment><comment><USER13> Answer: no. Read the TOS.

</comment><comment><USER14> And that's why you make sure you always have platform independence.

</comment><comment><USER15> Umm this app had practically no traffic. I feel like the developer is just using this to try and get attention for a failed product.

</comment><comment><USER16> If developers could sue Zuck, he would be doing 7 times life now.

<comment><USER8> I don't think people get sent to prison for civil suits.

<comment><USER16> i believe i wasn't being literal.</comment></comment></comment>


Survey on Continuous Integration Bad-Practices - <AUTHOR> https://www.surveygizmo.com/s3/4485492/CI-Anti-Pattern-Detection <comment><AUTHOR> Hey, HackerNews community! I'm Carmine, a researcher at the University of Zurich interested in supporting developers working with CI/CD.

I want to understand whether a better awareness about deviations from true CI principles can support a proper handling. Preliminary results in our experiments show that developers frequently relax CI principles, such as fixing the build with a dirty hack or by commenting out a test, to pass the build again.

I would really appreciate if you could find the time to fill out the following survey to help me in my research: [https://www.surveygizmo.com/s3/4485492/CI- Anti-Pattern-Detec...](https://www.surveygizmo.com/s3/4485492/CI-Anti-Pattern- Detection).

It usually takes 12 minutes (14 minutes at maximum).

If you have questions, please comment on this post or send an email at the address you'll find in the survey.

Thank you for your time!</comment>


Show HN: X-spreadsheet 1.0.28 – A JavaScript canvas spreadsheet for web - <AUTHOR> https://myliang.github.io/x-spreadsheet <comment><USER2> Great stuff. A few things to fix.

Like how to add functions etc. This looks promising. [https://github.com/myliang/x-spreadsheet/blob/master/src/cor...](https://github.com/myliang/x-spreadsheet/blob/master/src/core/formula.js)

</comment><comment><USER3> I wrote this many years ago: [https://sheets.alhur.es/](https://sheets.alhur.es/)

The source code is somewhere on GitHub, but I don't remember where exactly, I tried so many times to write a good spreadsheet. My final goal was to use them to power-up a structured n-dimensional app for storing any kind of data and visualizing it and doing computations like in a normal free-form spreadsheet.

</comment><comment><AUTHOR> [https://github.com/myliang/x-spreadsheet](https://github.com/myliang/x-spreadsheet)

</comment><comment><USER4> I know a similar project. It has some years by now.

[https://ethercalc.net](https://ethercalc.net)

</comment><comment><USER5> Bummer. Can't edit a cell on iPad.

Still not sure why Apple hasn't figured this out. It's my main reason for still needing a laptop.

<comment><USER2> Apple still haven't learnt what Pro actually means yet. I'm not convinced they like professionals using their tablets or even their computers for that matter.

Note to rabid fanboys: don't bother. I use my ipad pro 12.9"s for making money on a daily basis. I know where the faults are.

</comment></comment><comment><USER6> entering a forumla completely breaks it

<comment><USER7> I can't tell if this is a bad build or maybe due a tracking thing, but running it locally browserified runs everything perfectly, mobile included.</comment></comment>


Pirate Bay Founder Fined For 'Continued Involvement' In The Site - <AUTHOR> http://torrentfreak.com/pirate-bay-founder-fined-for-continued-involvement-in-the-site-120627/

<comment><USER2> Should say: "Pirate Bay founder fined for absence of evidence against 'continued involvement' in the site"

<comment><USER3> Fairly or unfairly, the fine was levied for "continued involvement". I don't think we have any way of knowing whether their evidence is any good... Though if we're going to play guessing games about guilt and innocence, I would point out that Neij doesn't deny the charges -- he only denies they could have enough evidence to prove it.

<comment><USER4> And TorrentFreak is not exactly an objective source...

</comment></comment></comment><comment><USER5> "In civil cases it's guilty until proven innocent and in a previous case I declined to give the details who I transfered the site to. They say if it's not me, then I could easily say who it is."

That's kind of a weird legal system.

<comment><USER6> Actually, the real standard in a civil case, at least in the US, is "the preponderance of evidence". When you offer nothing in your own defense, guess how the court is going to rule?

It's like saying you sold a car, but absolutely refusing to show a bill of sale, registration in the new owner's name, etc.

<comment><USER7> > When you offer nothing in your own defense, guess how the court is going to > rule?

Innocent, hopefully.

If someone accuses me of something, I'd hope _they_ 'd try to prove it.

<comment><USER6> They did. He is on record for running the site, and didn't offer any evidence that he is no longer running the site.

<comment><USER8> How the heck does one prove they're not doing something anymore? Whether that "something" be beating your wife, cheating on your spouse, or running an illegal website? Can't prove a negative.

<comment><USER9> If he's able to prove that someone else is involved, then it appears that he's involved again.</comment></comment></comment></comment></comment></comment>


D for Data Science: Calling R from D - <AUTHOR> https://dlang.org/blog/2020/01/27/d-for-data-science-calling-r-from-d/ <comment><USER2> Does anyone actually need to do this? Doesn't interoping in the other direction (calling D from R) at least make a bit more sense?

<comment><USER3> We'd love to call R from php or python. Incredibly good stats. We use the Rscript (To run r from command line) to generate graphs for the webs but to call directly would be nice.

We tried extracting some of the phyper code into a stand alone application, but not trivial.

<comment> ajay-d Rpy2 should work, no? And reticulate is really great for calling python from R [https://rstudio.github.io/reticulate/index.html](https://rstudio.github.io/reticulate/index.html)

<comment><USER4> Yes. Reticulate is great for R to Python.

In case you need data handoffs between various processes, you might want to use an intermediate transition via a database, flat file, etc. It helped me get over few problems of passing data around.</comment></comment></comment></comment>


Conventions at Light Speed: What Hackers Can Learn From SF Fandom - <AUTHOR> http://catb.org/~esr/writings/sfshows/index.html <comment><USER2> Damn, thought it was San Francisco fandom. And yet it seems applicable.</comment>


How a Massachusetts man invented the global ice market - <AUTHOR> http://www.bostonglobe.com/ideas/2014/12/19/how-massachusetts-man-invented-global-ice-market/aoJjlHGR4Kj53Z62ZQrhrJ/story.html

<comment><USER2> India's underrated, unheralded and inimitable columnist, Vikram Doctor wrote a fantastic column last year about the Indian connection in ice trade | [http://blogs.economictimes.indiatimes.com/onmyplate/cold- com...](http://blogs.economictimes.indiatimes.com/onmyplate/cold-comfort)

The first few trade ships brought in ice simply as a ballast with the reasoning that if any remained at the end of journey - they'll just sell it.

Here's a quote that HNers might appreciate:

"And this is just what happened in India, with the added benefit that Tudor reaped tons of admiration from the British for his judicious pricing. Many of the Times reports are full of estimations about the near-loss he was making and how this had to be solved in order for this precious trade to continue. There can be few comparable examples where customers have been as eager for their supplier to make a profit as with the British and Boston's Ice King, as Tudor was called."

</comment><comment><USER3> The creation of the ice trade is covered in entertaining detail in chapter 4 of Bill Bryson's At Home [1], including a story of how the first speculative shipload to London was held so long by Customs trying to figure out how to tax it, that most of it melted.

[1] [http://www.amazon.com/At-Home-Short-History- Private/dp/07679...](http://www.amazon.com/At-Home-Short-History- Private/dp/0767919394/)

</comment><comment><USER4> The ice business was very big in Michigan. In fact the only museum in the world about the ice trade is located here in Port Huron:

[http://www.knowltonsicemuseum.org/main.html?src=%2F](http://www.knowltonsicemuseum.org/main.html?src=%2F)

Port Huron is North of Detroit on the Canadian border across from Sarnia. I've been there and its definitely a worthwhile place to see if you're in the area.

</comment><comment><USER5> These guys are still going - [http://tudorice.com/](http://tudorice.com/)

Friends with one of the main dudes there. Its cool to see how the business can still exist, even today. (albeit with a slightly different business model :)

</comment><comment><USER6> _" To this day, Europeans rarely put ice in their drinks, but Americans do."_

What? Where did this come from? I live in Europe and can hardly imagine a cocktail without an ice. Well yes, nobody is going to put a good scotch "on rocks" (at least nobody who knows the basics of whiskey), but that's a different story.

<comment><USER7> I've lived in many places around Europe, and I've lived among Americans from all over the US, and I definitely noticed a difference. Perhaps you're right about cocktails, but in most cases American used ice where the Europeans didn't (a glass of coke being a prime example). They would even did this in winter, which always seemed funny to 'us' Europeans.</comment></comment>


A Simple Chrome Extension to help you increase your productivity by 10x - <AUTHOR> https://www.producthunt.com/upcoming/rooster <comment><AUTHOR> Hey HN,

Me and my friend have been working on a side project for quite some time and I am excited to put it out in the world today. This is a Chrome Extension to help people increase their productivity and focus by 10x. We're doing this by: 1\. tracking active time on website(s) the user been working on and showing that data every time they open a New Tab. 2\. Nudging users via Push Notifications when they lose focus and start surfing website(s) they define unproductive. See a demo here: [https://www.youtube.com/watch?v=mu0ktytoAhc](https://www.youtube.com/watch?v=mu0ktytoAhc)

It's currently in beta and we're going to launch next month. If you like the idea and would like to get early beta access, feel free to subscribe via Product Hunt ([https://www.producthunt.com/upcoming/rooster](https://www.producthunt.com/upcoming/rooster)) or from the home page we've built (www.getrooster.in)

Please provide feedback or any insight. HN people always help in more ways we can think of

<comment><USER2> Looks interesting, and I've been wanting something like this for a while.

Would it be possible to add an option to whitelist sites that _are_ productive instead of just blacklisting ones that are not?

<comment><AUTHOR> Hey, yes, this is in the pipeline and have been requested by other users as well. Also, for clarity can you elaborate on what you have in mind for whitelisting feature?

</comment></comment></comment><comment><USER3> tried both ways to get the extension, still no clear way how to get this installed/downloaded and no subsequent emails

prob should iron this out to prevent people with low/no patience like me from moving on to the next thing

<comment><AUTHOR> Hey Mark, this is in beta phase and we're going to launch next week. You can subscribe and we'll send you an email with the download link when we launch. Makes sens?

</comment></comment><comment><USER3> going to try this out, I like the clean look of the interface so far

<comment><AUTHOR> Thanks Mark. Feel free ping me (email@example.com) for any feedback and to share this across too :)</comment></comment>


Secret History of Silicon Valley - <AUTHOR> http://www.youtube.com/watch?v=ZTC_RxWN_xo

<comment><USER2> Very interesting video about WWII, radio/radars and technological entrepreneurship as a vehicle for progress.

Highly recommended.</comment>


Crafty: open source JS game engine - <AUTHOR> http://craftyjs.com/

<comment><USER2> So, I went to look at the demos, and (since I'm not much of an arcade gamer) I clicked "Isometric test". I figured out how to scroll around and delete blocks, but I couldn't seem to create them - somewhat nihilistic.

Then I went to "Elevator Action", hoping I could figure out how it worked. No instructions, but the arrows move left and right; up jumps, and space fires. Fair enough. There's four levels of doorway, and only one platform to walk on; there's a ceiling light floating in the elevator shaft, I can walk into the elevator when the floor is waist-high, and be gently deposited at the bottom of the screen (until I move, then I fall to an untimely death). I can't open any doors, and walking off the right-hand-side of the screen does not make it scroll.

I realise that these are just very basic demonstrations, and that your library is probably much more versatile and impressive than these small demos indicate, but the first impression I got was pretty soul-crushing.

The "Biolab Disaster" game that serves as ImpactJS's demo is a pretty poor game in that it doesn't have any particularly novel mechanics or level-design or interesting systems to manipulate, but it is _technically_ awesome, with great graphics and music and animation, and really shows off what the library lets you do.

EDIT: If your demo game is hurting from lack of artwork, free game graphics are not hard to come by: [http://www.lostgarden.com/search/label/free%20game%20graphic...](http://www.lostgarden.com/search/label/free%20game%20graphics)

<comment><USER3> You know what, I agree. But today after the release of ImpactJS I thought, f __* it. Release! On my giant todo list, this is one, I assure you.

<comment><USER4> Releasing is good! I would like to see a "real world" example of crafty, though.

I have to admit, I got sticker shock from Impact.

<comment><USER3> Ha me too. Today I am going to make a video tutorial of creating Connect 4. If you want the effects and all that jazz, shoot the lights in elevator action.

Edit: I won't charge you for it either ;)

</comment></comment></comment></comment><comment><USER5> Seems like there are at least one js engine based on canvas coming out every day.

I have been working on a pirate game based on canvas at <http://constantsail.com> , and I have to say, it is so simple to work with canvas that there doesn't seem to be a huge reason for these game engines. If you need canvas to do something that it doesn't you just tack on a function.

I guess the thing is, it is so easy to start building a game engine, everyone is starting to do it. I find it is easier to just start with the basics, and when you start to repeat yourself or do anything complicated, just encapsulate it and keep building.

I built a knockoff of atari combat the same way on the iphone (<http://robkohr.com/iphone/tank>)

<comment><USER3> Yes it is fairly easy. But my engine is not JUST for canvas. You can switch entities from canvas to DOM in seconds. There are also components that make things a lot easier such as collision detection, audio, sprite maps, click maps, mouse events. As well as lots of performance optimizations such as using a Spatial Hash Map for all the entities and redraw regions on canvas so only segments that change are redrawn.

</comment></comment><comment><USER6> You know Crafty is also a chess engine right?</comment>


Ask HN: What do I do about my startup I'm no longer passionate about? - <AUTHOR>

[I'm a longtime HN user but I'm about to share some personal details and would like to remain anonymous.]
Several years ago I made a social game that took off. I capitalized on the growth and bootstrapped a startup off of the revenue coming in. Times were good and our best year we did nearly $2 million in revenue (with well over a million in profit).
Well, now it's been several years and things have cooled off. We're running right around break-even (depending on the month). Part of this is due to the market we're in, part due to poor decisions on my part (not successfully transitioning our IP to mobile), and part because I'm not really passionate about gaming. I started the company on accident and didn't plan to be doing it after so many years. Personally, I'm ready to move on to something else.
But herein lies the problem. We have users (hovering a bit below 3000 paying subscribers to our monthly membership). And we have a team (3 full-time, 5 part-time contractors).
So, the obvious solution is to sell the company. That's what I've been trying to do quietly for the past 6 months or so. I got an investment bank to shop us around to our competitors. Nobody's biting. We're too small in this industry to be attractive to the logical acquirers (who are mostly multi-billion dollar public companies). And nobody wants to buy a company where the founder wants to leave.
The company is definitely worth more than nothing but without a buyer I don't know what else to do other than to just turn it off.
I don't want to leave my users hanging. And I don't want to sell for pennies to someone who just wants to spam our user list. I also don't want my team to lose their jobs because their boss just up and quits.
What do I do here HN? I want out but I feel like I have responsibilities and obligations. Is there an exit strategy for me besides selling or shutting down? <comment><USER2> You can sell it to your employees.

If your employees don't have the cash, you can lend the money to them to pay it off over time.

You can also consider a profit-sharing arrangement if you want to retain a stake in it, staying on as advisor.

Or even still, give it to your employers to manage it on their own giving them a free majority stake.

</comment><comment><USER3> Why not hire someone to run the company for you or at least handle the majority of day-to-day operations? Possibly promoting one of your existing employees into a leadership role or "co-founder" role if this is something you would consider.

I would be upfront with your employees now. Maybe one of them has an option you have overlooked completely. Also, if you are honest with them now, it may help with any potential outcome down the road (for example, if you do end up having to shut down it is not a complete surprise to them). Also, by opening up about it, you might consider posting more details about the company here. Who knows maybe there is someone here who would consider making the purchase or taking it over for you.

Just a couple thoughts. Good luck!

<comment><USER4> Absolutely. There are plenty of talented people who would leap at an opportunity like this to take over the day to day and grow the business. You'll still need to be involved but can scale way, way back once you get the right person up and running.

The challenge for you will be power sharing and letting this new leader take the reigns. But it can be done. I would recommend tapping the advice of other founders who have handed the reigns.

And yeah asking a current team member if they're interested is a great idea, provided you believe in them.

</comment></comment><comment><USER5> You might have to face the fact that the business really is worth nothing. A business with declining revenue and dying technology is not an attractive opportunity.

As has been suggested already sell or give it to your employees. Retain a small stake and if they do well then you will get something out of it.

The other alternative is to put it into run out mode. Fire everyone you can and just milk the business for as much cash as you can with the aim of driving off your customers and winding the business up.

</comment><comment><USER6> Depending on the nature of your business, you could get between 2-3.5k X (your annual profits + founders wages)

Highly reco. looking at this:

[http://www.startupsfortherestofus.com/episodes/episode-197-h...](http://www.startupsfortherestofus.com/episodes/episode-197-how- to-sell-a-web-application-with-guest-thomas-smale)

<comment><USER5> The OP said he is just breaking even so unless he is paying himself a fortune then he won't get much for the business.

</comment></comment><comment><USER7> _[I 'm a longtime HN user but I'm about to share some personal details and would like to remain anonymous.]_

I try not to spam this into every Ask HN, but this would be interesting to do non-anonymously.

</comment><comment><USER8> Sounds interesting.

Would love to talk, e-mail is on my profile.

</comment><comment><USER9> It is worth money! not pennies!</comment>


After Moving Servers to Russia, LiveJournal Bans 'Political Solicitation' - <AUTHOR> https://advox.globalvoices.org/2017/04/04/after-moving-servers-to-russia-livejournal-bans-political-solicitation/ <comment><USER2> For any person who is familiar with the soviet mentality this shouldn't be surprising at all.

I guess LJ has introduced these changes because otherwise the officials would shut down the whole thing, seize all the servers and arrest the management, possibly for unrelated charges - just to make a point. It was an offer they couldn't refuse...

These people will _ban the Internet_ before giving up power and that will probably be met with relative apathy by the population - "well, if we have to suffer for our motherland, we will...".

Of course 'motherland' has nothing to do with it - everyone knows that they are pawns in a game played by a handful who have all the power and that's a game that's been going on for centuries.

Interestingly, we, the software community, are also unknowingly giving a huge helping hand to these guys, not just in Russia, but pretty much everywhere else.

The idealistic desire for 'freedom', the main motivation behind 'free software' is actually backfiring hard right now. We've open sourced so much technology that any student can put together powerful country-wide surveillance and control systems, offering incredible powers to _whoever is the alpha male_ around there, for free...

Technological superiority was the reason why the USSR lost the cold war, but now we've handed those people all this tech for free and are actively maintaining it - from operating systems to databases, encryptions systems, etc.

Of course we only had good intentions, who would have thought...

<comment><USER3> You act as if the US isn't an equal player in that game.

<comment><USER4> You act as if life in the USA is comparable to Russia.

<comment><USER3> It is for a lot of people.

<comment><USER5> Really? So if life in North Korea is comparable to US "for some people", you will happily draw an equal sign?

<comment><USER3> I think your patriotism is getting in the way of your perception of reality.

</comment></comment></comment></comment></comment></comment><comment><USER6> [https://www.youtube.com/watch?v=w8c_m6U1f9o](https://www.youtube.com/watch?v=w8c_m6U1f9o) is pretty evergreen, yes?

</comment><comment><USER7> In recent times, Livejournal was used mostly for 3 things:

\- Furry, slash fandom

\- Political blogs

\- SEO spam (it sells usernames of deleted accounts, some of which was popular and there are lots of external links to them)

So since the first two are banned, the only use of Livejournal that remains is spam (which is ineffective for modern search engines I think).

</comment><comment><USER8> Haven't thought about LiveJournal in years. Glad to see it still exists.

<comment><USER9> For some value of "exists", considering these rules.

<comment><USER10> Yes, I have just imported my LJ to Dreamwidth, and I am not alone: there has been a spike in the number of Dreamwidth accounts.

</comment></comment></comment><comment><USER11> "the website's data will now be fully accessible to US police snooping, in accordance with recently enacted "anti-terrorist" legislation"

I changed one word, guess which.

</comment><comment><USER12> Some FOSS developers who still use it, should move to Diaspora*.

</comment><comment><USER13> Relevant Doctorow:

"Livejournal's Russian owners announce new anti-LGBT policy, fandom stages mass exodus" [1]

[http://boingboing.net/2017/04/08/six-to- end.html](http://boingboing.net/2017/04/08/six-to-end.html)

</comment><comment><USER14> This is rather amusing. I never used LiveJournal. But I associate it with Encyclopedia Dramatica, the chans, and all of the other lulzy trash that's been used by the alt-right.

Edit: Oops, my apologies. I didn't realize the LGBT connection. I guess that the chan folk were predators.

<comment><USER15> Odd. I associated it with "fandom" and fanfic culture, although that was rather a long time ago. Ever since the platform was sold to Russian owners its become more hostile to that kind of material, especially from LGBT people. I think they've all abandoned it for Dreamwidth.

<comment><USER16> It was bought by Russians because it had become the most popular social network for Russians. See... [http://www.bbc.com/news/magazine-17177053](http://www.bbc.com/news/magazine-17177053)

</comment></comment></comment><comment><USER17> advertising and/or political solicitation

 _9.2 User may not: ... 9.2.7 post advertising and /or political solicitation materials unless otherwise directly specified in a separate agreement between User and the Administration;_

[http://www.livejournal.com/legal/tos- en.bml](http://www.livejournal.com/legal/tos-en.bml)

So it's not banned, you probably just need to pay for it.

Some other May Nots:

 _9.1 register a legal entity as a User;

9.2 register himself/herself as a User on behalf of another individual;

9.3 mislead Users as to his/her identity and relationships with other individuals;_

<comment><USER18> Regarding "pay for it", I think that's confusing ads with content.

On Facebook, Reddit, Youtube, Tumblr... you can pay for political ads. But you can also post political posts/content without paying. If you're blocking posting of certain types of content that's a type of censorship.

<comment><USER19> "On Facebook, Reddit, Youtube, Tumblr... you can pay for political ads. But you can also post political posts/content without paying. If you're blocking posting of certain types of content that's a type of censorship."

But this was the past. You know, with all the bullshit about "fake news" we now have subtle censoring of facebook, google, etc... too.</comment></comment></comment>


Sir Richard Branson: Virgin Orbit rocket fails on debut flight - <AUTHOR> https://www.bbc.com/news/science-environment-52802520 <comment><USER2> > Take just the example of server farms. We know we could put them in space to > harness solar power.

That's kind of an interesting thought, cool... but what about maintenance. I guess if you can build something for 40+ years(Voyager probes) then it should be possible. You could use those remote drones to perform maintenance, that would be a neat potential business(those drones/interface). Yeah it doesn't seem logical the distance.

<comment><USER3> Surely the key issue that makes this untenable is network latency. That's a hard physical limit no matter how far our technology evolves to work around the myriad other problems with having servers in such an inconvenient location.

Maintenance is not a small problem though. Even if you were able to design servers to be robust for 40+ years, your users would have to be content with using 40+ year-old server tech as opposed to the latest and greatest. That's going to be ok for some use-cases but relatively few.

<comment><USER2> > network latency

I realize that's one of the first things that comes to mind. Either you beam power down or you beam compute down/"real time" communication... but I thought you could do something like "ML training" or anything else where the compute process does not need to be shared until it's done.

On a side note, are the underwater servers better? I suppose that's easier to get to than space. The communication is there(transatlantic cables perhaps).

Another side note, what if we could embed "servers" in an asteroid to hitch a ride... nvm the logistics of doing that. But another way to extend our existence/influence. RTG/solar for power.

</comment></comment></comment><comment><USER4> > "Orbit is chasing the growing interest in small spacecraft that are being > designed for telecommunications and Earth observation."

Kinda skeptical on the business models for SpaceX and Orbit.

If SpaceX had enough paying launch clients, they wouldn't be polluting the sky with their own Internet satellites.

Oya, almost forgot: time to deorbit the ISS. Take a chain saw on the next trip.</comment>


Should i be worried? - <AUTHOR> http://imgur.com/gallery/dKFuzCV/new

<comment><AUTHOR> My SSL connection is passing through Bit Defender Antivirus.

Is it something like Lenovo Superfish ?

<comment><USER2> Same principle of SSL hijacking, yes. Probably used to scan your traffic for XSS attacks, JS and Flash-related vulnerabilities, and stuff like that.

[http://www.pcworld.com/article/2889692/some-bitdefender- prod...](http://www.pcworld.com/article/2889692/some-bitdefender-products- break-https-certificate-revocation.html)</comment></comment>


Show HN: ReportBugz = Simplified Jira with better issue reporting for web apps - <AUTHOR> https://reportbugz.com <comment><AUTHOR> We recently moved from free to paid subscription plans. Hope you like it! :-)</comment>


House Rules (2018) - <AUTHOR> https://push.cx/2018/house-rules <comment><USER2> I love the call-out to Diplomacy as blood sport. It is one of my favorite games, but I rarely suggest it, due both to the length of a typical game and the depth of deceit.

We played a semester-long game in one of my game theory classes with a couple moves per day. I had an alliance with two others and we spent at least four hours a day in various hidey-holes (the alliance was secret to start, and later we just wanted private quiet) on campus to plan our moves.

If you've never played diplomacy, I highly recommend it.

</comment><comment><USER3> My game group's version of the take-backsies rule is: you can change your decision, as long as no new information has been revealed (a card revealed, a dice roll, next players move, etc.)

We also play with "public information stays public" for most games.

</comment><comment><USER4> This are good. The "public stays public" would level the playing field for some of my friends who have amazing recall. They may be disappointed, but the 6 other of us at the table would be much less frustrated and enjoy each other's company more.

</comment><comment><USER5> >> Games are fun because they're an exercise in trust as much as exercise in formal systems.

Also, because they are a great opportunity _to crush your enemies, see them driven before you, and to hear the lamentation of their women!_

Works well with your friends, too.

</comment><comment><USER6> I'm surprised "turn timer" isn't broken out into its own rule. This is a big one for keeping games social and fun. I've got a friend who I really can't play strategy games with because he'll take so long determining the optimum move. It's just not fun. Unless there's money on the line (e.g. poker), most people are playing for fun (and even in poker you can "call the clock" on someone who's taking too long).

</comment><comment><USER7> That article was excellent but also contained a trove of interesting links and footnotes. I particularly enjoyed "Introducing the Scrub" \-- [http://www.sirlin.net/ptw-book/introducingthe- scrub](http://www.sirlin.net/ptw-book/introducingthe-scrub)

</comment><comment><USER8> Acquire (linked from article) is a favorite in my family. We've always played that your cash on hand is public... I can't find rules that suggest otherwise. Anyway, great article and check out Acquire.

PS CMU has a CS class built around the game... [http://www.cs.cmu.edu/~lanthony/classes/SEng/Design/intro.ht...](http://www.cs.cmu.edu/~lanthony/classes/SEng/Design/intro.html)

<comment><USER9> I was quoting the version of the rulebook I've seen, bottom of page 3 in this PDF: [https://www.wizards.com/avalonhill/rules/acquire.pdf](https://www.wizards.com/avalonhill/rules/acquire.pdf)

</comment></comment><comment><USER10> No. I love the competitive aspect of games. The competition is the fun - I'll compete in anything and love it.

You make a mistake, you learn from it and play better next time. You don't get to take it back. Next time don't do it. If you could always take something back where is the urgency is making good decisions, playing better than your previous self or someone else.

And absolutely not, if you cannot remember what has already been played, well too bad. That's part of the game, especially cards. That's half the point of trick taking games. "are all the trumps out?" Besides the one in office, no way I'm telling you that, and if you are playing at my table, don't answer that for somebody else. You might as well keep track on paper at that point.

Competition is not a dirty word. It isn't anathema to enjoyment. You play to win. It is part of the fun. Competition makes me sharp, I concentrate more, I get that little adrenaline rus when I win. And when I lose... We don't talk and such improbable things.

All games are blood sports.

<comment><USER11> If you reject public stays public then I'll play with a pen and paper and record all the public information.

If you reject take backs they you aren't playing the most competitive version of your opponents.

<comment><USER12> > If you reject take backs they you aren't playing the most competitive > version of your opponents.

Sure, in the moment, I'm not playing against my opponents best choices. But without take backs my opponent is developing the skill of thinking before acting, which makes him a stronger opponent overall.

We only allow take backs for:

1\. Newbies. They don't know the rules, so we allow take backs during their learning phase, and also help them understand why the thing they did was non- optimal. This lets us play the game while also helping newcomers learn the rules and general strategies quickly.

2\. Misplay. If another player does something not allowed in the game ( _e.g._ plays out of turn) which changes a second players understanding of the current state of the game, we let the second player take back their move if they made it before we discovered the flub.</comment></comment></comment>


Top-down learning path: Machine Learning for Software Engineers - <AUTHOR> https://github.com/ZuzooVn/machine-learning-for-software-engineers/blob/master/README.md <comment><USER2> There are some valuable resources listed here.

The field of deep learning is moving really fast, and a lot of that research is available on arXiv. Andrej Karpathy built a tool that surfaces interesting papers: [http://www.arxiv-sanity.com/](http://www.arxiv-sanity.com/)

r/machinelearning tends to vote up significant work and news [https://www.reddit.com/r/MachineLearning/](https://www.reddit.com/r/MachineLearning/)

And this list of papers may be helpful: [https://github.com/songrotek/Deep- Learning-Papers-Reading-Ro...](https://github.com/songrotek/Deep-Learning- Papers-Reading-Roadmap)

For total beginners, we created this page: [https://deeplearning4j.org/deeplearningforbeginners](https://deeplearning4j.org/deeplearningforbeginners)

<comment><USER3> My biggest challenge with CS papers is figuring out how to actually read them. I've tried to read multiple CS papers and I still can't understand them. Am I doing something wrong?

<comment><USER4> 1) Have a reasonable math background, or at least be willing to take it slow and google.

2) Read the abstract, intro, and conclusion and see if the problem and result are worth the effort.

3) Read the body. The whole body may or may not be relevant to you depending on your interest. If you are starting out in a field, try to read and understand the whole thing. You will learn lingo, what is expected of a published paper in the field, improve your math skills, and make reading other papers easier.

If you are having a lot of trouble with 1 or 3, find a MOOC relevant to the subfield and go through it then go back to the literature.

</comment></comment></comment><comment><USER5> Seems interesting. I haven't been able to look through all of the links, but I assume there are practical exercises and "homework"?

When people say "I don't do or have the opportunity to do ML at work" it's because they don't have data to analyze or actual things to program or do in order to gain the experience they need to make the videos worthwhile to watch.

If I were to watch 10 videos on ML, but not actually go write code or analyze data, then the videos aren't going to get me a ML job or be that helpful other than learning a little about the topic.

It's kind of like watching a open course on ancient history or some similar topic, but without writing a paper on it. Yes the video is interesting, but what gets me a job and experience is the thought and work that goes into the homework.

But even if these were just videos, it's a good resource.

<comment><AUTHOR> It has a lot of practical exercises, homework and dataset.

<comment><USER5> Thanks!

</comment></comment></comment><comment><USER6> I appreciate a list of ML learning resources, but does anything about this strike you as strange?

Over 9000 github stars and 1,260 forks for a repo started on 9th October????

<comment><USER7> GitHub has no concept of bookmarks, so people star repos instead.

</comment></comment><comment><USER8> It's great, but it's a mess - a heap of articles, github repos, books and such. A new learner can't deal with that. What a new learner needs is an interactive system to guide a learner through the process. Not a static list - one size doesn't fit all. I might know Python and not know math, another one might come from stats and Matlab but not know Python. One might know about SVMs and Naive Bayes but not about neural nets, another might have played with Keras neural nets but neglected to read up on basic ML. We need an adaptive learning system. Who's going to make one?

<comment><AUTHOR> It's a step-by-step guide on how to learning machine learning from overview to detail. Any comments are welcome.

If you want the interactive system, please check "A Visual Introduction to Machine Learning:[http://www.r2d3.us/visual-intro-to-machine-learning- part-1/"](http://www.r2d3.us/visual-intro-to-machine-learning-part-1/")

<comment><USER9> I can easily infer your URL, but I think it includes an extra slash and double-quote.

<comment><AUTHOR> Oops, this is my typo. Sorry about that.

</comment></comment></comment></comment><comment><USER10> General ML question: is there some tool, supposedly based on ML, that can learn from my editing behavior, and automatically deduce and apply editing commands for repetitive editing tasks? This would be great e.g. when refactoring code.

</comment><comment><USER11> This looks excellent, thank you for this! I actually get a chance to be involved with some very very basic/light ML at work, but i'm also completely new to the field. I really appreciate this style of guide, as i can hopefully jumpstart my knowledge, while i work to gain the required math knowledge.

The Math will be my most difficult challenge, and i'm starting to brush up / learn courses to hopefully enable the proper skillset. /fingerscrossed

<comment><USER12> For math try [https://betterexplained.com](https://betterexplained.com)

<comment><USER11> Really appreciate that. I will be looking into that tonight, thank you!

My main source will likely be Khan, any sources you like more than Khan? Ie, class room / instructor style _(class room is probably good, given the ease of testing math)_

</comment></comment></comment><comment><USER13> Looks to be both a thoughtful listing of resources / tutorials, but also reinforces that to become ML capable, there is considerable effort involved. Things worth doing may require a lot of work, and I'm happy this wasn't another "Learn ML is 24 hours!" type resource.

<comment><AUTHOR> Thanks, this is my multi-month study plan.

</comment></comment><comment><USER14> This is a great resource. I'd add Practical Deep Learning for Coders [0] to the video series list.

[0] [http://course.fast.ai/index.html](http://course.fast.ai/index.html)

<comment><AUTHOR> I added. Thanks</comment></comment>