A Philosopher Reviews Judea Pearl's "The Book of Why" - <AUTHOR> https://bostonreview.net/science-nature/tim-maudlin-why-world <comment><USER2> I like the review, but the criticism of distinguishing causality from counterfactual reasoning feels weak to me. Do we actually care about the counterfactual reasoning most? Of course. But establishing causality as its own thing before counterfactuals is necessary in the way that Pearl has structured his math. And even the grammar of human languages enforces this separation of concepts. Do you need causality to even have the concept of counterfactual? Of course. Is there value in describing that causality before going on to counterfactuals? Yes I think so, because of the difficulties of current counterfactual algorithms.

Separating out causality opens the door to doing counterfactual reasoning in better ways. Since whatever method is in the Book of Why confused the reviewer, it's probably not the best way to look at counterfactuals, so the causality bits can be taken without establishing the counterfactual methods as the be-all end-all.

For that matter, DAGs versus cyclic directed graphs or time-based DAGS is still a big concern too. Many if not most of our causal reasoning will have loops, when time is not accounted for, and DAG formulations make this difficult to unroll. There may be big improvements in causal modeling, without considering the counterfactuals even.

Also, in Pearl's prior 2000 book on Causality, it's clear that Pearl gave plenty of credit to Spirtes, and it always seemed that they were working in parallel and on very similar problems; I'm not sure how much Spirtes took from Pearl, but Pearl makes clear that his ideas are heavily informed by Spirtes' work.

<comment><USER3> I am not sure how to define "cause" without introducing counterfactuals.

"This happened because I did that" seems to imply "Had I not done that, this would not have happened" \-- a counterfactual.

<comment><USER4> I'm not sure that's always the case.

Couldn't you have a scenario where your action was the direct cause of an outcome that might have come about some other way without your involvement at all?

For instance, if a ball rolls down a hill because you pushed it, but a breeze blows a moment after you pushed the ball, if that breeze was strong enough to push the ball down the hill too, then you have a scenario where "that ball went down the hill because I pushed it" is true, but "had I not pushed the ball, it would not have rolled down this hill" is not true.

<comment><USER5> Yes, what you're describing is basically an "or" gate. The counterfactual is "what if neither cause happened?"

<comment><USER6> right, but the potential existence of multiple potential causes (an "or" gate) is what makes this reasoning a fallacy:

> "This happened because I did that" seems to imply "Had I not done that, this > would not have happened" \-- a counterfactual.

The point is that constructing the counterfactual requires a more than just knowledge of a single causal link, but a broader set of causal knowledge about many causal links.

Language is messy and ambiguous and we do often colloquially use "X caused Y" to imply the truth of the counter factual "If X had not happened Y would not have happened". Interestingly, a different tense such as "X causes Y" generally does not have the same counter factual implication.

</comment></comment></comment></comment></comment><comment><USER7> See also a review by Andrew Gelman:

[https://statmodeling.stat.columbia.edu/2019/01/08/book- pearl...](https://statmodeling.stat.columbia.edu/2019/01/08/book-pearl- mackenzie/)

<comment><USER8> Well, his a priori is rather skewed, though.

<comment><USER9> I see what you did there

</comment></comment></comment><comment><USER10> > "but given my own background I could not but wonder how much farther Pearl > would have gotten had he had the training I did as a philosopher."

The review had some good call outs but given the above quote and a few surrounding criticisms, this review is more pretentious than anything.

<comment><USER11> The reviewer is Tim Maudlin, one of the foremost philosophers of physics. It's kind of hard to find someone better placed than him to review a book about causality, and his comment seems entirely appropriate.

</comment></comment><comment><USER12> This presents the RCT criterion uncritically, albeit citing a case where it would be hard to apply.

But RCT fails -- gives a nonsense result -- when the hypothesis under test is incoherent. This wouldn't matter, except that RCT is routinely used in such circumstances, and the results treated as gospel by people in positions of authority.

Consider: Outcome X may have six causes A-F. RCT tests B, and finds that varying B only affects one in six cases. With infinitely many trials, the relationship resolves, but with one trial the difference is indistinguishable from noise.

Substitute a medical symptom for X, and a medical treatment that addresses one of six causes, for B. After one RCT, B is "shown" to be ineffective.

The problem is not B. The problem is that X is ill-defined. X could be a mental illness, or tumors in a given organ. How often do we read "anti- depressants shown ineffective"? The only way we have to distinguish one variety of depression from the next is which treatment works.

The problem is not limited to medicine.

<comment><AUTHOR> A nice point. But this is not a criticism of the RCT so much as a criticism of how its results are used or interpreted.

<comment><USER12> It is a criticism of the notion of RCT as the unimpeachable "gold standard" of evidence. The limits of a tool are the most important thing to learn about it, and, for RCT, few can be bothered.

<comment><AUTHOR> But it's not a limitation of the tool (the tool _does_ provide gold-standard evidence); it's the stupidity of the researcher using the tool. (The tool works perfectly well and does, in fact, constitute the gold standard of causal evidence.) In your depression example, it's the stupidity of a researcher who fails to consider why a 1-in-6 success might be significant, or fails to consider that the umbrella disease "depression" can be multiply realized by different physiological mechanisms, which in turn require different treatments.

Your beef isn't with RCTs, or with the notion of RCT as evidence. Your beef is with researchers who don't know how to think.

Your complaint is like saying, we should stop considering hammers to be the gold-standard of nail-hitters because some idiots use them to try to turn screws.

<comment><USER12> My beef is with the public and policymakers convinced they have no need to understand the method's limitations, "because it's the gold standard", thus never misleading.

</comment></comment></comment></comment></comment><comment><USER13> > _Well, there are some caveats even here. The real gold standard is a double- > blind experiment, in which neither the subjects nor the experimenters know > who is in which group. In the case of car color, we would literally have to > blind the drivers, which would of course raise the accident rate > considerably._

Not really. It's just enough that we don't tell the red car drivers that they're part of a special group. Just let them think we have equal number of different colors assigned to different drivers (and don't let them see what the others got). Then, the fact that their assigned color happens to be red will hold no significance to them related to the test then...

<comment><USER14> What if being assigned a red car caused drivers to drive more carefully because they believe that red cars attract the attention of law enforcement more so than other colors?

</comment></comment><comment><USER15> Recent appearance on Sam Harris podcast, I quite enjoyed it....

[https://samharris.org/podcasts/164-cause- effect/](https://samharris.org/podcasts/164-cause-effect/)

#164 - Cause & Effect - A Conversation with Judea Pearl

August 5, 2019

In this episode of the Making Sense podcast, Sam Harris speaks with Judea Pearl about his work on the mathematics of causality and artificial intelligence. They discuss how science has generally failed to understand causation, different levels of causal inference, counterfactuals, the foundations of knowledge, the nature of possibility, the illusion of free will, artificial intelligence, the nature of consciousness, and other topics.

Judea Pearl is a computer scientist and philosopher, known for his work in AI and the development of Bayesian networks, as well as his theory of causal and counterfactual inference. He is a professor of computer science and statistics and director of the Cognitive Systems Laboratory at UCLA. In 2011, he was awarded with the Turing Award, the highest distinction in computer science. He is the author of The Book of Why: The New Science of Cause and Effect (coauthored with Dana Mackenzie) among other titles.

Twitter: @yudapearl

<comment><USER16> I would strongly recommended this podcast.

<comment><USER17> I really enjoyed hearing Judea Pearl being interviewed, as I am most of the way through "The Book of Why" and have learned a lot from it. I did feel that Sam steered the conversation a bit too much towards his favorite topics (like free will) and wish there was a bit more discussion of philosophy/history of science, but it was still a great listen.

I first learned of Judea Pearl by stumbling across the transcript of a talk he gave while I was researching DAGs: [http://singapore.cs.ucla.edu/LECTURE/lecture_sec1.htm](http://singapore.cs.ucla.edu/LECTURE/lecture_sec1.htm) . The way he grounded his talk in the history of thought hooked me, and the talk serves as a good general overview for those deciding if they want to pick up the book.

</comment></comment></comment><comment><USER18> Post is sweet.

It point out the cliche, "correlation is not equal to causation."

It is a real thing but throwing that quote around without reading into the research or having proper foundation to assess a conducted research is just as bad.

<comment><USER19> Yes, indeed, its also interesting to notice that people struggle when one asks "Why isn't it?" One often gets strange statistical answers that don't really get to the root of anything.

</comment></comment><comment><USER20> I mostly agree with Pearl.

However, the account of traditional statistics given in this article is misleading. Randomisation is a major part of traditional stats, and it is inherently a causal hypothesis: breaking the links between unobserved covariates and treatment regimes.

An important alternate contemporary causal inference framework by Rubin has origins in a 1923 thesis...

...but the _content_ of Pearl's approach seems superior; if you ignore the academic spats.

<comment><AUTHOR> >> Randomisation is a major part of traditional stats, and it is inherently a causal hypothesis

Yes, randomization is central to classical statistics, but no, it is not inherently causal. Drawing a random sample from a bivariate distribution (X,Y) is key to doing a lot (though not all) of classical statistical inference (think of estimating slopes in regression), but the randomization does not imply anything about the causal relationship between X and Y. When you speak of randomization in the context of "treatment regimes," you are thinking about randomized controlled trials, which the piece does analyze explicitly, in some detail. So in this sense the account given in the essay is not misleading.

<comment><USER20> I'm afraid you're mistaken. Randomisation allows one to make the strong causal assumption that the treatment regime allocation is unrelated to any of the other variables, observed or _unobserved_.

Anyway, the section you're pointing to agrees with me. It just happens to be overlooked when they summarise...

<comment><AUTHOR> No, I am not mistaken; you are confused. And your confusion is very pervasive in the technical community. You're not talking about randomization in general when you speak of a "treatment regime." You're talking about randomization in a _causal experiment_ such as a randomized controlled trial. But "randomization" is a broader thing than randomization in a controlled experiment. The assumption of randomization is made for almost all classical statistical inference, which has nothing at all to do with causation.

Say you want to do basic linear regression: you want to estimate the slope for Y regressed on X. The most stringent form of inference works like this: you draw a _random sample_ (X_i, Y_i), modeled as n independent and identically distributed realizations from the joint distribution (X,Y). Etc. This is certainly a stochastic model; we require randomization (or some approximation of it) to do inference. But it has nothing whatsoever to do with causality.

</comment></comment></comment></comment><comment><USER21> I had a chance to see Judea Pearl speak at a high-end mathematics conference a few years ago, and asked him personally afterwards about a few things in his talk.. I did not get much satisfaction in the admittedly brief exchange, and therefore unfortunately my impression was that there was some smoke-and- mirrors aspect to his talk, I would guess for some competitive reasons I don't know.. however, the company on stage at that event were of the highest rigor, so take this as you will...

</comment><comment><USER22> This is the content I like to see at HN most of all. Good article, thanks for sharing.

</comment><comment><USER23> I'm 30 pages into the book. It hasn't grabbed me yet.

Worth finishing?

<comment><USER17> The writing style does not change much, and I do find that it's taking me longer than usual to work my way through the book, especially since I'm very interested in the subject matter. That being said, there are some good nuggets of information a little further in. Understanding some of the patters that pop up in the causal scenarios he lays out and being able to think about these with a shorthand or graphically has changed the way I think about complex situations.

</comment></comment><comment><USER24> very good article. Highly recommended</comment>


Firefox and Cliqz Privacy Notice - <AUTHOR> https://www.mozilla.org/en-US/privacy/firefox-cliqz/ <comment><USER2> I looked into the CLIQZ browser (standalone, not the Firefox feature/extension) about a half a year ago because someone at my company suggested to use it as our standard browser. CLIQZ is heavily marketed as privacy respecting browser. Just the quotes from their homepage[1]: "Cliqz gives you relevant search results and does not leak your private data.", "Does not save any private data, has all the privacy features."

Knowing the company behind CLIQZ is one of the largest German media groups (Hubert Burda Media) I was suspicious. A quick check with Wireshark revealed that every keystroke in the URL-bar is sent in realtime to some Amazon servers.

Given that CLIQZ does come with ad blocking and anti tracking features I assume that when they talk about privacy they really mean private between Hubert Burda Media and you, cutting out Google, Facebook, etc.

EDIT: Here is another quote from their website[2]:

> "Privacy by Design" means that no personal data is stored on our servers. We > do not only promise that. Using the Cliqz transparency dashboard you are > able to check that anytime."

The mentioned Transparency Cockpit explicitly says: "Telemetry data do not contain any information about queries, search results or visited URLs."

[1] [https://cliqz.com](https://cliqz.com)

[2] [https://cliqz.com/en/desktop](https://cliqz.com/en/desktop)</comment>


New edition of 'Q for Mortals' now available - <AUTHOR> http://kx.com/press-releases/new-edition-of-q-for-mortals-now-available.php <comment><USER2> Can anyone recommend a MOOC that covers using KDB+ on financial time-series?

<comment><AUTHOR> I've never heard of one, the community/user-base is quite small, comparatively to the audience size of a MOOC.

There are periodic meetups/tutorials, you can find them here: [http://kxcommunity.com/](http://kxcommunity.com/)</comment></comment>


Rich Hickey stops Clojure funding appeal from 2011 onwards - <AUTHOR> http://clojure.org/funding

<comment><USER3> Good for him, no donations should translate in to obligations, they're _donations_ , voluntary and are considered to be a reward for services rendered in the past, not the future.

Typically when someone is as driven as this and you get the output of all the labour that went in to it the proper words are 'thank you' and if you feel like rewarding the creator then that's great. But that does _not_ entitle anybody to future preferential treatment or even any guaranteed output level.

<comment><USER4> I wonder whether most donors actually understand this, with non-donors being the primary complainers.

Randy Milholland, the webcomic artist behind Something Positive, quit his job and funded himself for a year with donations to spend more time on his comics. When his output was still less-than-daily, he got a flood of complaints. "We gave you money and you're still not updating as often as you promised!" When he offered to refund the donations of anyone unsatisfied, not a single donor took him up on it. Apparently most (or all) of the complainers hadn't donated, but still felt entitled to greater output.

This is not to say that Rich is making a mistake by no longer accepting donations. Even if most complaints are from non-donors, their (unfounded) sense of entitlement comes from the fact that donations are happening. Still, I hate to think that people happy to donate can no longer do so because of the negative effects caused by non-contributing complainers.

<comment><USER5> interesting point - I think people who "donate" do it out of gratitude rather than creation of entitlement. By virtue of that, the complainers are less likely to come from the actual donor list.

My empirical evidence comes from the Cyanogenmod Android project - where "when can I haz gingerbread" or "this sucks - why arent you spending enough time fixing <bug>" is always from non donors.

NOTE: it is easy to see this trend on the CM forums, because your forum handle displays whether you are a donor or not. That I think is an easy way to lower the credibility of flamers (something that isnt possible on Clojure Google Groups). But then again, maybe that in itself give rises to the expectation that "if I donate, I can flame". I havent seen it happen on the CM forums though.

</comment></comment></comment><comment><USER6> Oh well. I hope that the majority of the community is not like that. Just to restore some balance in the universe: I have donated and I don't expect any obligation in return.

<comment><USER7> Me too, I contributed to help him continue what he'd started, since I liked the results. If you try to change what's working, it most likely will not end up better off...

</comment></comment><comment><USER8> From what I've seen, Rich does things to end controversies quickly rather than talk them to death. There was a religious war developing in the user group some time ago over licensing terms of products that were developed in Clojure. Rich didn't take a side, as I recall--he simply intervened after a few days and asked people not to carry on this discussion but to focus on technical issues. At least one heavyweight (Jon Harrop) seemed to disappear from the user group upon being asked to cut out the licensing jibber-jabber, but peace was restored.

Given Clojure/core potential earnings and the bigger bang for the buck of corporate sponsorships, requests for individual donations are not worth the ill-will that they apparently cause. I like his techniques for time management and choosing his battles carefully.

Onward with Clojure development!

<comment><USER9> As a longtime Lisp observer, I can't say that I've ever seen Jon Harrop conduct himself as a "heavyweight" in forums unrelated to OCaml, Mathematica, or F#.

<comment><AUTHOR> The Jon Harrop who used to hang out on the Clojure list is not the same as Dr. John Harrop who used to advocate F#, OCaml, etc.

I asked him and he said "no relation".

<comment><USER10> Not really: Jon Harrop is the troll and John Harrop probably not.

<comment><USER8> Ah, my mistake, I didn't notice the difference in name spelling. It was indeed John Harrop, not Jon Harrop, who appeared to vanish from Clojure after the licensing discussion. I should have made my point without reference to individuals.

</comment></comment></comment></comment></comment><comment><AUTHOR> Possible reason behind the decision - <http://news.ycombinator.net/item?id=2053908>

<comment><USER3> I doubt that was the whole of it but it probably didn't help.

</comment></comment><comment><USER11> Rich: I am sorry that you did this. Please add the PayPal donate button back onto clojure.org.

I never make large donations to open source projects, etc., but I give small $2 to $10 donations for things that I use. What this allows me to do is to contribute a modest $30 to $40 per year to projects that I use and not feel like a total freeloader.

<comment><USER12> AFAIK, he'll still accept paypal!

But, he had changed the paypal link on clojure.org/funding to go to clojure/core instead of himself. This was reflection of the changes to the clojure team, which seemed fair IMHO. I'm sad to see that pointing the donate link at clojure/core had unintended consequence of creating some sense of entitlement on the core group.

</comment></comment><comment><USER13> I'm having a hard time wrapping my head around this.

He's basically complaining that people think they own him (or his time) because they donated money. I've seen that, and it's terribly unfortunate. I was right with him until I saw

        "I encourage businesses using Clojure ...to discuss options for corporate support for Clojure."

Seems to me he'd run into similar problems from corporate sponsorships. Am I missing something here?

<comment><USER14> Corporate support != corporate sponsorship.

When you get a support contract from Red Hat (for example), you aren't donating money to the development of Linux like a sponsorship; you're indirectly supporting Linux development, but really what you're interested in is either (a) specific solutions to specific problems, or (b) getting access to people should a problem arise in the future during the term of the contract.

<comment><USER13> Is that really true though? If Company XYZ is your biggest support contract, they'll have influence over you, wouldn't they?

<comment><USER15> I assume Rich is selling exactly this. Company XYZ wants $hard_to_implement_feature. Company gives Rich money specifically so he'll implement $hard_to_implement_feature, and then they get $hard_to_implement_feature.

An example of this was my department wanted a certain feature in the Moose library, so we offered to pay one of the developers to write it. Then it turned out we didn't actually have funding for this ("pay someone to work on _free_ software? fuck that") and so it never happened. But for a company with it's act together, this is a great way to make your internal codebase cleaner, and you get to say, "thanks to us, everyone gets this".

If this is his business model, it's a good one.

<comment><USER16> Rich has said many times that he will not do this. Clojure/core might, but rich does not want clojure to be influenced by the highest bidder, essentially the same as the donations i'm guessing. Rich is an advisor to clojure/core, but his purpose is to further clojure and community interest only. Of course this is my understanding of the matter, i don't speak for him.

</comment></comment></comment></comment></comment><comment><USER17> "my/our continuing work on Clojure is an ongoing gift"

and what a gift it is! Thank you Rich (and the rest of the Clojure community) for this wonderful language.

Personally, it makes my work more enjoyable when I use it and I look around and see folks all over having fun with it. Plus it's creating jobs and competitive advantage.

Not everything is awesome, but from where I sit, Clojure sure is.

</comment><comment><USER18> Wow, now I want to contribute anyway, as a token of respect... and I don't even use clojure!

<comment><AUTHOR> Patches, bug reports are welcome :)

<comment><USER19> >Patches, bug reports are welcome :)

Well, not really. My biggest beef with clojure is that it masquerades as an open source project by strictly following the letter (it is released under an open source license), but not actually following the spirit in any meaningful way.

How many other OSS projects have an exhaustive list on their website of everyone who is allowed to make contributions?

<comment><USER20> > How many other OSS projects have an exhaustive list on their website of > everyone who is allowed to make contributions?

That is a way of thanking contributors.

If the question is, "How many other OSS projects require filing a CA before patches will be accepted?", then the answer is "many". viz. Many run by Oracle now (e.g. <http://openjdk.java.net/contribute/>), all apache projects AFAIK (<http://www.apache.org/licenses/icla.txt>), django (<http://www.djangoproject.com/foundation/cla/faq/>), etc. etc.

So...what "spirit" are you talking about here?

<comment><USER19> Well let's see, the choice of license is a starting point. The EPL is, per se, a bad license (intentionally incompatible with the GPL and with the showstopping choice-of-venue clause), but it's ubiquitous in Java land so we'll let them off.

In case you hadn't noticed, Oracle is widely considered to be an enemy of open source, so pointing out similarities with their processes isn't hugely helpful. In fact, contributor agreements are reviled by a large segment of the open source community (see the fights that go on whenever this subject comes up on LWN, one of the less flame-infested pro-OSS sites). This example is a particularly bad CA because it is effectively a full grant. The only way it could be worse would be a total transfer of copyright.

Finally, unlike any other projects I'm aware of, Clojure requires the agreement to be printed out, signed, then _snail mailed_ to a foreign country. There is no reason for this other than to deter potential contributors. I've accepted one CA in the past - after fixing a crash in a little-exercised part of Ogre3D I figured the change was so minor that they could own the copyright on it as far as I was concerned. Would I have submitted the fix if I had to post a letter to New York? Not bloody likely.

Other projects (Android is a notable example) are widely derided for this sort of approach to open source - why does Clojure get a free pass?

<comment><USER20> Sounds like you object to a variety of particulars that you just happen to disagree with. A fair bit shy of falling short of some kind of essential "spirit".

The OpenJDK CA process was put in place a long time ago by Sun, generally well-liked in open source circles last I knew. And I guess you've got the same problems with all of Apache, for example (which, BTW, requires a signed copy of their CA to be faxed, at a minimum -- and I suppose some would complain about the faxing). Rough spot, there.

IANAL, neither are you, and we weren't in the room when Rich talked to his. Even if those things weren't true, I'm pretty sure Rich (nor anyone else) would accede to derision by instead of nonspecific, unconstructive griping.

<comment><USER19> >The OpenJDK CA process was put in place a long time ago by Sun, generally well-liked in open source circles last I knew.

Sun was never _well_ liked outside of the Jave gated community. They - <USER2> their CA process - were used several times as examples in articles and presentations on 'how not to do open source' (eg. <http://lwn.net/Articles/370157/> \- 'How to destroy your community').

>And I guess you've got the same problems with all of Apache, for example (which, BTW, requires a signed copy of their CA to be faxed, at a minimum -- and I suppose some would complain about the faxing).

No, they accept e-mailing. See <http://www.apache.org/licenses/icla.txt>. I am indeed opposed to their CA requirement, but in this case it appears to be simply misguided rather than an attempt at creating a barrier.

>IANAL, neither are you, and we weren't in the room when Rich talked to his. Even if those things weren't true, I'm pretty sure Rich (nor anyone else) would accede to derision by instead of nonspecific, unconstructive griping.

I object very strongly to your dismissal of my position as 'nonspecific, unconstructive griping'. I'll try to restate it as plainly as possible:

No other example has been found of a project with this requirement. Given that there are a large number of both companies and non-profit organisations requiring CAs, none of which require a postal copy, it cannot be rationally argued that this is a legal requirement unless you are also willing to argue that all of those other companies are failing to show due diligence; I don't believe that argument would have any merit. Since Clojure has that requirement, the most plausible reason is that it is an attempt to erect as large a barrier as possible to participation (and the only other reason I can think up is that Rich Hickey is a paranoid of the tinfoil hat variety, but I've seen no other evidence of that). I cannot overstate enough how large a barrier this is; even those corporate OSS projects widely condemned for their failure at understanding the open source ideal (I've already mentioned Android; another example might be OpenOffice, most of whose developers recently decided enough was enough and jumped ship) don't make it this hard. The deliberate attempt to discourage community involvement is what I believe runs counter to the spirit of open source.

<comment><USER21>
        it is an attempt to erect as large
        a barrier as possible to participation

The "barrier" is only as tall as a postage stamp.

<comment><USER19> If you honestly think there's a way they could plausibly have made it harder, start by naming a project which has a higher barrier to entry.

<comment><USER21> I couldn't care less what other projects require. If I am excited enough about contributing to them then I will do so regardless of the barrier.

</comment></comment></comment></comment></comment></comment></comment></comment></comment></comment><comment><USER20> tl;dr: Rich is no longer accepting donations from individuals, but businesses (and presumably not-for-profits as well?) are still encouraged to contribute to the development effort.

There are a bunch of corporate sponsors of Clojure, and the list continues to grow: <http://clojure.org/funders>

FWIW, Snowtide was the first announced corporate sponsor of Clojure in the 2010 drive, and we'll be renewing that sponsorship for 2011 (I just need to dig myself out of the stuff that accumulated over the past 2 weeks first!).

<comment><USER3> A 14 line article is too long to read?

<comment><USER20> You'd be surprised by how many people read only comments unless/until they're motivated to read TFA. _shrug_

<comment><USER22> Many articles have been making it to the main page that aren't really worth reading. To avoid those I scan the comments first and then read the article.

Scanning the comments also gives me some additional background on topics I may not be familiar with.

</comment></comment></comment></comment><comment><USER23> Interesting to see Steve Yegge on the funders list, hadn't noticed that before: <http://clojure.org/funders>

<comment><USER24> What would be interesting about that? there are hundreds of people in that list.

</comment></comment><comment><USER25> Why not accept donations with the explicit disclaimer that under no circumstances will Rich's development efforts be swayed?

<comment><USER26> I think human psychology just doesn't work that way.

<comment><USER27> Actually it may work. The only ones deterred by this notice would be those who donate to feel entitled, but not those who do it to show genuine appreciation for his work. And I doubt former kind even makes it to the donation form in the first place.

<comment><USER28> A feeling of entitlement does not work that way. People aren't that rational; they don't donate for the purpose of having a say in what happens. They probably donate for honorable reasons, but once something _they want_ becomes an issue, they feel entitled because they donated.</comment></comment></comment></comment>


The Next Hot e-Reader: The iPhone - <AUTHOR> http://gigaom.com/2009/11/01/iphone-e-book-reader/

<comment><USER2> I own both an iphone and kindle. It's a lot easier to read for longer durations on the kindle due to the e-ink display. Also, the battery lasts a lot longer since the e-ink virtually consumes no static power.

For now, in my opinion, the ebook edge goes to the kindle.

<comment><USER3> Agreed 100%.

I get the feeling that many of the people who tout the iPhone/Tablet as an eBook reader have never tried a Kindle or something with e-ink. The experience just doesn't compare, and you don't have to worry about an hour of reading doing serious damage to your battery.

Also I lost all respect for Om's analysis abilities after hearing him talk on This Week in Tech a month or two ago.

<comment><USER4> _I get the feeling that many of the people who tout the iPhone/Tablet as an eBook reader have never tried a Kindle or something with e-ink._

For awhile, I had both a Sony Reader (e-ink) and an iPhone. While sitting around and reading linearly for an extended period was much better on the Reader, I found that the iPhone was _worlds_ better as an eReader for reference material. This is not so much because the iPhone is so great as a reader -- really, with its small screen size and backlit LCD screen, it leaves a lot to be desired. However the iPhone is so much more _interactive_. And when using reference materials, one is very much _interacting_. (Searching, flipping, zooming)

I keep waiting for someone to produce a device for me to compile my own content in the form of reference materials. It has to be large enough to read comfortably, interactive enough to enable quick "flipping" and searching, yet light enough to carry everywhere. It should also be an "instant-on" device. So far, I've not found a device to satisfy me.

As for Om's analysis, I think the best way to judge a pundit is to hold some specialized knowledge about an obscure but interesting corner of programming. Then you can see if they have real insight, or if they're just selling a bill of goods that the mainstream will buy.

</comment></comment></comment><comment><USER5> I have to agree with this article. Since getting the Kindle app for my iPhone I haven't used the Kindle itself once.

There's no doubt that the Kindle is better for reading than the iPhone. But I always have the iPhone with me so it's easier when I have a few spare minutes to get some reading done.

And I often read in bed and the iPhone screen can be read without supplemental light whereas with the Kindle I need a light on.

The app has some useful features to reduce eye strain, too. You can change the font size, lock the auto-rotation, and change to white-on-black for night reading.

</comment><comment><USER6> I've been reading novels from non-iPhone cell phones with screens around 55 mm for the last 5 years. I've gone through around 80 books so far.

I read mostly in the bus to work. I'm always carrying my phone, a kindle or a paperback book would be a big extra thing to carry along.

One win for the e-ink display would be that it'd be readable in bright sunlight, unlike the active display of the phone.

</comment><comment><USER7> I can't believe Apple hasn't just built a standard "Books" app and added a Book Store alongside the App and Music stores. I suppose it's a licensing issue, but they already sell audiobooks, don't they?

<comment><USER8> A few years back the iTunes store used to sell pamphlets on things like how- tos as PDFs, but they seem to have gone now.

[http://www.mcelhearn.com/2004/12/17/organize-pdf-files-in- it...](http://www.mcelhearn.com/2004/12/17/organize-pdf-files-in-itunes- updated/)

<comment><USER7> iTunes still has PDFs for download under iTunes U (mostly slides that come with video lectures and that sort of thing.) I believe they're all free, though.

</comment></comment></comment><comment><USER9> I've been reading A LOT on my iPhone lately since starting to use instapaper. It's been amazing except for only little thing; I get nauseated occasionally staring at the screen (especially when moving). The screen is possibly to small or too bright?

The form factor might not be quite right.

</comment><comment><USER10> Enjoy your eyes while they still work.

<comment><USER7> Although I can't find a (reliable) cite after five minutes of Googling, I'm quite sure that there's no _causal_ link of any kind between the amount of strain you put your eyes through on a day-to-day basis, and eventual vision loss. The reason people think this is that people who don't _realize_ their vision already needs correction (such as children) tend to strain their eyes more, and do other things such as sitting close to the TV, to make up for their existing impairment. Thus, there's a _correlation_ , but not a causation.

(As a side note, "masturbation will make you go blind" is, although taken less seriously, another sentiment with the same roots: people mistake the correlation of teenagers' eyes altering in correction requirements, along with an increase in masturbational frequency, as another causation.)

<comment><USER11> Well, yes and no. Many factors affect visual acuity including the shape of the eyeball (affects focal point of lens on retina), cornea (defects cause astigmatism), retinal damage like macular degeneration which leads to functional blindness, and the function of the muscles which adjust our focus within our visual range. Eye strain can take a significant toll on those muscles and eventually lead to a sometimes significant loss of visual acuity (myopia.) Fortunately the muscles can often be retrained. Search Amazon for books on vision correction and you will find a ton of books that essentially help you retrain your eye muscles to improve your visual acuity.

sample book on Amazon [http://www.amazon.com/Relearning-See-Improve-Eyesight- Natura...](http://www.amazon.com/Relearning-See-Improve-Eyesight- Naturally/dp/1556433417/)

<comment><USER7> Right. By "eventual vision loss," I meant the permanent kind. It's everyone's responsibility to go stare at some mountains every once in a while :)

</comment></comment></comment></comment><comment><USER12> It's bad that you can't copy your PDFs into iPhone and read those later. Not unless it's jail broken. iPhone can render PDF, but only when the file is sent as mail attachment or downloaded from web.

This single thing is preventing me from purchasing the iPhone. I have a lots of PDFs and need to read those over time.

<comment><USER7> Would having to use the (free) Dropbox iPhone app as an intermediate step bother you?

1\. Sign up for Dropbox, if you haven't already; put PDFs you want to read into your Dropbox, and, obviously, buy an iPhone.

2\. Install the Dropbox iPhone app.

3\. In the Dropbox iPhone app, mark the PDFs as "favorites," and they'll be synced to the iPhone's drive, accessible whether or not the phone is online.

There are all the "network drive" applications as well, of course, but I think this is the best of both worlds: if you're at home the LAN sync will negate any extra bandwidth usage, while if you're out somewhere you can still pull the file from the network (once) and then keep it stored locally from then on. Then again, you can't do the "promiscuous sharing to anything around me that can speak Bonjour" this way, but I'm guessing you probably don't want people pirating books off your phone anyway :)

</comment></comment><comment><USER13> At 260+ DPI, the Droid will be my next e-Reader.</comment>


Cygwin library now available under GNU LGPL - <AUTHOR> https://www.redhat.com/en/about/blog/cygwin-library-now-available-under-gnu-lesser-general-public-license <comment><USER2> I wonder if the new Linux compatibility subsystem for Windows provided any motivation for this change? That work seems likely to make Cygwin obsolete eventually, since it allows running unmodified applications rather than porting them.

<comment><USER3> One big difference between Cygwin and the Linux subsystem is that Cygwin runs Win32 processes, under the Win32 subsystem, so the entire Windows API is available to you. The Linux subsystem (like the Subsystem for UNIX Applications before it) is a separate set of concepts on top of the raw NT system calls, so you get a GNU/Linuxish API _instead_ of the Windows API. With Cygwin you get a GNU/Linuxish API _as well as_ the Windows API.

See, for instance, this discussion about how copy-on-write fork is available as a system call (and had been around for a while, to support SUA), but doesn't work right with the Win32 subsystem, and that means Cygwin can't use it:

[https://social.msdn.microsoft.com/Forums/windowsdesktop/en-U...](https://social.msdn.microsoft.com/Forums/windowsdesktop/en- US/afdf1b68-1f3e-47f5-94cf-51e397afe073/cygwin-fork-and- rtlcloneuserprocess?forum=windowsgeneraldevelopmentissues)

I don't know how many actual applications take advantage of this, though. But if they do, then Cygwin is definitely not obsolete for them.

<comment><USER4> >With Cygwin you get a GNU/Linuxish API as well as the Windows API.

Genuine question, why is that useful? Intuitively, it seems like if you ever used that capability, you'd end up with a horrible chimera program that can't run on linux or windows, which doesn't seem good.

<comment><USER3> Well, the chimera program _can_ totally run on Windows; it just uses a particular DLL for a good chunk of it's runtime. That's not super different from, say, a C# app with some native Win32 code, right?

A couple of plausible scenarios:

1\. You have a legacy UNIX app that is now only being used on Windows, but rewriting it entirely is a giant project. You can compile it against Cygwin, and then new development can run on Windows.

2\. You have a cross-platform app that needs a few OS-specific things in certain places. Maybe it's some sort of system status checking/auditing tool, maybe it interacts with hardware drivers, etc. You can use #ifdef WIN32 and call Windows-specific APIs, just like you can use #ifdefs to check for Apple- specific or Linux-specific APIs, and you don't have to port your entire app away from the UNIX model.

</comment></comment></comment></comment><comment><USER5> See also the announcement by the Cygwin maintainer, Corinna Vinschen: [https://cygwin.com/ml/cygwin/2016-06/msg00326.html](https://cygwin.com/ml/cygwin/2016-06/msg00326.html)

<comment><USER2> > it also allows us to drop the requirement for contributor's to sign a > copyright assignment.

Excellent; always nice to see fewer copyright assignments and CLAs in the world.

<comment><USER6> > Excellent; always nice to see fewer copyright assignments and CLAs in the > world.

I am the origin of the blanket assignments (among other things -- Cygnus founder). The purpose of the blanket assignment was to ensure that the FSF would have standing to sue in the case of a GPL violation. If you only contribute a small amount it might not matter (because any material violation probably would include other, covered code) but if you end up contributing a somewhat self-contained module or function it does.

Now, more than 25 years later, it's less of a problem, and something somewhat unitary like the Linux kernel survives with many many copyright holders, but for something smaller like Cygwin it makes more sense. I guess rhat figured it wouldn't matter any more -- hope they're right!

<comment><USER7> "If you only contribute a small amount it might not matter"

I wouldn't be so sure. FWIW, Victoria Hall, who litigated the first GPL case with a real decision in the US ([https://en.wikipedia.org/wiki/Jacobsen_v._Katzer](https://en.wikipedia.org/wiki/Jacobsen_v._Katzer)) , told me she had to run around and get some ridiculous number of assignments (I want to say 200 but i could be misremembering), even for folks who contributed very small amounts of code.

"Now, more than 25 years later, it's less of a problem"

It depends. GPL enforcement folks will tell you it's an even larger problem now than it was before, but in the end, i don't think it's the assignment parts that cause the most pressing issues.

Outside of copyright the bigger problem for larger projects is maintaining patent peace among larger participants particularly when they compete outside of the open source project, and CLA's solve this problem (and if you do it right, make it clear to all participants they contribute on the same terms, nobody is special)

<comment><USER6> > "Now, more than 25 years later, it's less of a problem" > It depends. GPL > enforcement folks will tell you it's an even larger problem now than it was > before, but in the end, i don't think it's the assignment parts that cause > the most pressing issues.

Well, I would have said (well, in fact I did say) that the Linux kernel's lack of assignments would cause problems but in practice it hasn't.

The point of the blanket assignments was to avoid running around to get the scraps, as I mentioned, but again in practice if code includes chunks from Alice and Bob plus a few scraps from Carol and David, Alice and Bob can have standing to sue even if the ownership of Carol and David's one-liners is unclear in the eyes of the court. BUT if ownership is clear and it's all Fred's (i.e. FSF's! :-) then it removes a possibly expensive diversion as the infringer tries to attack standing.

<comment><USER8> > Well, I would have said (well, in fact I did say) that the Linux kernel's > lack of assignments would cause problems but in practice it hasn't.

Is this why Cygnus didn't buy Red Hat? :)

<comment><USER6> Funny you should say that; there were two related reasons:

1 - the reason we didn't sell support for Linux is we couldn't provide the same level of support that we did for gcc etc. What we didn't comprehend is that most people didn't _want_ any support, or at least only minimal support, but they were used to paying for software and liked the idea of getting it on a physical medium with a paper manual.

2 - when the companies merged they were both about 200 people. RH had 20 engineers while we had over 160. Our revenue was about 15X theirs IIRC. But indeed: which company had a larger market cap? I was told when they went public they only had 6 engineers but I don't know if that was true.

</comment></comment></comment></comment></comment></comment></comment><comment><USER9> So does this mean that we'll expect to see a commercial version of Cygwin in the future? Or is it so that commercially available programs can leverage Cygwin libraries?

<comment><USER5> Red Hat has had a commercial Cygwin offering (not a different version from the project) ever since the Cygnus acquisition, but this is now being phased out (no new customers will be taken on, and the last existing non-GPL customer license expires in 2020). It is possible that companies other than Red Hat may wish to offer commercial support for Cygwin or some derivative of Cygwin.

The license change does have the effect of making it easier for programs to leverage the Cygwin library without concern about licensing implications. I wouldn't quite say that is the purpose, but if only because Red Hat will no longer be providing commercial support for Cygwin the license change is the right thing to do. (I think there are additional reasons why the license change is right.)

</comment></comment><comment><USER10> Is Red Hat suggesting there are no "commercial opportunities" with Linux, Wordpress, GCC, FFmpeg, etc., which are under the GPL?

</comment><comment><USER11> Kind of disappointed to hear this, although at least they did not switch to a permissive license.

What I'm still not sure is why they are dropping copyright assignment. Don't the same litigation problems exist when using LGPL, or is there something I'm missing?

<comment><USER12> I hear you on this. I'm currently working on a writeup about the history of open source and the GPL.

The dream of having totally free and open replacements for major tools like Photoshop never really happened. There is a lot of new OSS, but it's all BSDL, Apache, MIT and other license.

I'm not like a hard core Stallman person. I don't run libre-firmware laptops from pre-2008 and I enjoy my Gapps on my phone, but I'm not a big fan of startups/monetization of everything. I think a lot of good ideas are strangled by making them commercially viable.

Cygwin going LGPL allows it to be more widely used, but overall we're going to see less OSS apps as a result.

<comment><USER13> > I hear you on this. I'm currently working on a writeup about the history of > open source and the GPL.

If you're going to write up a history, please use the term "free software". "Open source" didn't exist for a large part of the history of the free software movement (and I would argue that it was a movement to sabotage discussions about freedom).

> The dream of having totally free and open replacements for major tools like > Photoshop never really happened. There is a lot of new OSS, but it's all > BSDL, Apache, MIT and other license.

It did though. Okay, Photoshop is still not overtaken by GIMP. But we have professional free software video editors, development tools, web and database servers, document writers, etc. These days you can run a modern system entirely in freedom, though of course we would love to make more free software to do things even better.

> I'm not like a hard core Stallman person. I don't run libre-firmware laptops > from pre-2008 and I enjoy my Gapps on my phone, but I'm not a big fan of > startups/monetization of everything. I think a lot of good ideas are > strangled by making them commercially viable.

I'm slowly becoming one, and the main reason why is because I want to work towards the world I want to live in. Sure, lax licensed software is fine to use as a free software advocate. But when I develop free software under a lax license, I'm acting against the free software world I want to live in. By allowing proprietary versions of my software to exist, I am acting against my goals.

I want to live in a world where all of the software I need to use is free. All of the hardware that runs updatable software also must be free. Otherwise, I'm powerless when the developers' company decides to do something immoral. Having code under the GPLv3 protects us from both of these things, and it makes me sad when people use lax licenses for innovative work.

<comment><USER14> I totally agree with you. As far as PhotoShop is concerned, I always could get by FOSS, I have never used this thing. But I am a developer.

<comment><USER13> I used to use Photoshop. Most of the killer features are the workflow, which is what GIMP is lacking (GIMP is a bunch of hacked together tools). But that actual toolset is not _that_ complicated if you wanted to pay someone for a year or two to do it.

</comment></comment></comment></comment></comment><comment><USER15> This means consumers will probably end up having multiple cygwin1.dll files on their system (something the FAQ warns about).</comment>


Why On Earth Would We Write Our Own Game Engine? - <AUTHOR> http://altdevblogaday.com/2011/12/17/why-on-earth-would-we-write-our-own-game-engine/

<comment><USER2> tl;dr - There's very little reason to develop a game engine in-house.

I recently went through this decision making process myself. We're currently focusing on mobile (iOS) games and found that Cocos2D beat out Unity for us. It isn't the cost. Unity is very affordable. It was mostly the desire not to develop in C++ when only Objective-C is needed and because we're looking at developing 2D and 2.5D games and don't currently have any need for 3D. Unity _might_ be a decent choice for iOS-only, 2.5D games, but I didn't see that argument made compellingly enough.

One of the things we used to inform our decision was working through most of Learning iOS Game Programming by Michael Daley. He builds a very simple game engine step by step in the book and it was really helpful for understanding what we're getting with a mature game engine.</comment>


Why can't we talk about IQ? - <AUTHOR> http://www.politico.com/story/2013/08/opinion-jason-richwine-95353.html

<comment><USER2> Did research on the genetic basis of IQ stop with Jensen and Murray's _Bell Curve_?Every proponent of this view always names this two figures without mentioning more recent findings.</comment>


Show HN: Continuous Machine Learning – CI/CD for Machine Learning Projects - <AUTHOR> http://cml.dev <comment><AUTHOR> Hi, I'm one of the project creators. Continuous Machine Learning (CML) is an open source project to help ML projects use CI/CD with Github Actions and Gitlab CI ([https://github.com/iterative/cml](https://github.com/iterative/cml)).

CML automatically generates human-readable reports with metrics and data viz in every pull/merge request, and helps you use storage and GPU/CPU resources from cloud services. CML addresses three hurdles for making ML compatible with CI:

1\. In ML, pass/fail tests aren't enough. Understanding model performance might require data visualizations and detailed metric reports. CML automatically generates custom reports after every CI run with visual elements like tables and graphs. You can even get a Tensorboard.dev link as part of your report.

2\. Dataset changes need to trigger feedback just like source code. CML works with DVC so dataset changes trigger automatic training and testing.

3.Hardware for ML is an ecosystem in itself. We've developed use cases with CML and Docker Machine to automatically provision and deploy cloud compute instances (CPU & GPU) for model training.

Our philosophy is that ML projects- and MLOps practices- should be built on top of traditional software tools and CI systems, and not as a separate platform. Our goal is to extend DevOps' wins from software development to ML. Check out our project site ([https://cml.dev](https://cml.dev)) and repo, and please let us know what you think!

<comment><USER2> Deployment, inference and management can participate in this as well!

Here is the missing part for a total e2e solution: [https://github.com/marketplace/actions/algorithmia-ci- cd](https://github.com/marketplace/actions/algorithmia-ci-cd)

{disclaimer, we built this Github action}

<comment><USER3> Hi doppenhe, we have that part already implemented using cml-send-github-check and dvc metrics diff. You can compare the metric that you prefer with dvc and then just set the status of the github check uploading your full report. Of course, you can also fail the workflow as your Github action does, but I think is more useful to see it as a report in the check.

disclaimer: I'm work with CML

</comment></comment></comment><comment><USER4> Hey! Disclaimer - I'm one of the DVC maintainers :) Super excited for the team on this release!

For the last two years we have seen over and over again how our users take DVC and use it inside Gitlab, Github, etc. This product was born partially as a result of these discussions, partially as an initial visions for the ML tools ecosystem - Hashicorp-like.

Having A software engineering background I really hope that integrating ML workflow into engineering tools will be the future of this space. And with CML and other tools (e.g. [https://github.blog/2020-06-17-using-github-actions- for-mlop...](https://github.blog/2020-06-17-using-github-actions-for-mlops- data-science/)) we see this happening.

<comment><USER5> Very cool to see this!

I've added integrating CML closer into GitLab to our direction page with [https://gitlab.com/gitlab-com/www-gitlab- com/-/merge_request...](https://gitlab.com/gitlab-com/www-gitlab- com/-/merge_requests/55367/diffs)

If you want to show the results in the Merge Request itself like we do for things like test results and security scans please let us know. Open an issue and if there is no response my Twitter handle is @sytses

<comment><USER4> Hey Sytse! Thanks for the kind words. We're very interested in a deep integration with Gitlab :) Can you share some examples of these security scan reports, please? Right now, we return CML reports as comments in Merge Requests like this: [https://gitlab.com/iterative.ai/cml-cloud- case/-/merge_reque...](https://gitlab.com/iterative.ai/cml-cloud- case/-/merge_requests/3). We'd appreciate any tips or suggestions.

<comment><USER5> Awesome! Other replies to your comment already gave suggestions. Consider asking them for a call to give in if you need more information.

<comment><USER4> Thanks! we'll check it out and be in touch.

</comment></comment></comment></comment></comment><comment><USER6> Very interesting, I've been looking for something like this to add to our ML pipeline. a few questions:

1) can we see examples of generated reports?

2) what happens if training fails?

3) what kind of metrics can it graph? can we have it track our custom metrics?

4) can we connect with external services like with webhooks,slack, and other integrations.

5) is this a docker technology, or how does it deal with images and dependencies?

Great work!

<comment><AUTHOR> Thanks, and good questions!

1\. Yes! Let me link some reports and example repos:

\- A basic classification problem with scikit learn: [https://github.com/iterative/cml_base_case/pull/2](https://github.com/iterative/cml_base_case/pull/2)

\- CML with DVC & Vega-Lite graphs: [https://github.com/iterative/cml_dvc_case/pull/4](https://github.com/iterative/cml_dvc_case/pull/4)

\- Neural style transfer with EC2 GPU: [https://github.com/iterative/cml_cloud_case/pull/2](https://github.com/iterative/cml_cloud_case/pull/2)

2\. If training fails, you'll be notified that your run failed in the GitHub Action dashboard (or GitLab CI/CD dashboard). See here for some real life examples of failure ;) : [https://github.com/iterative/cml_cloud_case/actions](https://github.com/iterative/cml_cloud_case/actions)

3\. CML reports are markdown documents, so you can write any kind of text to them. If your metrics are output in a file `metrics.txt`, you can have your runner execute `cat metrics.txt >> report.md` and then have CML pass on the report to GitHub/GitLab. Likewise, any graphing library is supported because you can add standard image files (.png, .jpg) to the report. So custom metrics and custom graphs. We like DVC for managing and plotting metrics, but we're biased because we also maintain it.

4\. Yep, GitHub Actions is pretty powerful and flexible. Works with whatever external services you can connect to your Action!

5\. It's not strictly a Docker technology. We use Docker images preinstalled with the CML library in our examples, but you can just install the library with npm in your own image. [https://github.com/iterative/cml#using-your-own- docker-image](https://github.com/iterative/cml#using-your-own-docker-image)

Let me know if there's anything else I can tell you about

</comment></comment><comment><USER7> I think taking the approach of "help[ing] your team make informed, data-driven decisions" through generating reports is valuable here. In my opinion, it goes too far if we start continuously deploying ML code like it's a SWE project. To take an example in the case of autonomous vehicles, pushing continuous updates to perception modules without thoroughly exploring the ramifications of an update could be potentially catastrophic.

Obviously we can't predict every error by thinking hard, but datasets will never serve as a full representation of what models might experience in the real world. Continuous deployment to an ML model could affect undefined behavior in unpredictable ways.

<comment><AUTHOR> Definitely- automatic model deployment would only work for a subset of applications. We think a lot more about having models available as candidates for deployment, which can then be inspected by domain experts on a team.

One of our motivations for building visual reports that appear like comments in a pull request is giving teams metrics & info to discuss when deciding if merge is right. That way, the automated part is training and testing, but the decision making is human (i.e., data scientists whose skills are better used interpreting models & data than running repetitive training scripts).

</comment></comment><comment><USER8> ML is a relatively young field, and decades behind Software Engineering in terms of best practices for running production systems. CI/CD massively improved the innovation cycle time and quality of production software, and I believe it is key for building robust production ML systems as well. CML looks like a really easy to use product for bringing CI/CD to ML projects.

<comment><USER9> Just something I wanted to share which might be of interest on this side of things.

The CD Foundation has a SIG around MLOps which is pretty active and has some awesome folk participating.

For anyone who's interested in this space, there's some more detail here: [https://cd.foundation/blog/2020/02/11/announcing-the-cd- foun...](https://cd.foundation/blog/2020/02/11/announcing-the-cd-foundation- mlops-sig/)

</comment></comment><comment><USER10> Awesome to see a github native workflow for CI/CD in the ML space! This team is closet I seen that's like Hashicorp for ML

<comment><AUTHOR> Thanks! Hashicorp is our inspiration :D

</comment></comment><comment><USER11> Very exciting! I used this team's previous product (DVC) at a research lab at Caltech. This looks like a very useful tool.

<comment><AUTHOR> Out of curiosity, what kind of research? I'm very interested in getting DVC and Git more broadly into academic research circles, but finding a lot of barriers in my home field.

</comment></comment><comment><USER12> Longtime DVC user here - this is going to be so helpful. We use DVC for all of our model and data versioning, but what's been missing is the ability to cleanly integrate that into our CI workflow. Looks like that's solved now! The cml.yaml syntax also looks quite nice, very easy to follow. Looking forward to trying this out.

<comment><AUTHOR> Really glad to hear that, rkaplan. Let us know if we can be of any help!

</comment></comment><comment><USER13> CML looks really awesome. I've been on one of your online meetups. Are you planning to host more in the future? It would be great to learn real production use cases!

<comment><USER13> Btw. Here's a recording of the first DVC meetup [https://www.youtube.com/watch?v=19GMtrFykSU](https://www.youtube.com/watch?v=19GMtrFykSU) I like it a lot. Highly recommended!</comment></comment>


'Sonic Attack' Symptoms Reportedly Spreading to US Diplomats Around the World - <AUTHOR> https://gizmodo.com/bizarre-sonic-attack-symptoms-reportedly-spreading-to-u-1827132459 <comment><USER2> Mass hysteria?</comment>


Victorian asthma cigarettes: who was Dr Batty? (2016) - <AUTHOR> http://thequackdoctor.com/index.php/victorian-asthma-cigarettes-who-was-dr-batty/ <comment><USER2> Once I lived in a rented room in an old ladys house. One day I was smoking a cigar and she came in and asked if I could visit her and smoke cigar sometimes. "Cigar smoke is so good for my asthma", she explained.</comment>


Which is better – 6 DBs with 5,000,000 tables or 5,000,000 DBs with 6 tables? - <AUTHOR> http://stackoverflow.com/q/4864144/453783

<comment><USER2> This was posted in 2011, by someone who was confused by databases. This looks like it's making fun of the person who posted it. Is that necessary? Surely we are better than this.

</comment><comment><USER3> How did this get to the front page?

<comment><USER4> somebody thought a confused teenager was funny?</comment></comment>


Deep-Learning machine writes music in the style of Bach - <AUTHOR> https://www.technologyreview.com/s/603137/deep-learning-machine-listens-to-bach-then-writes-its-own-music-in-the-same-style/ <comment><AUTHOR> [https://arxiv.org/pdf/1612.01010v1](https://arxiv.org/pdf/1612.01010v1)

DeepBach: A Steerable Model for Bach Chorales Generation - Gaëtan Hadjeres, François Pachet (3 Dec 2016)</comment>


Review my project for foreign language learning - <AUTHOR>

Hi everyone, Please review my site http://sanbit.com, it is currently in private beta, I jsut want to clean up all the bugs before letting everyone into the site. The invite code is ycnews , you can register here: http://sanbit.com/signup I have studied foreign languages for many years and my way to study was read books and write down the words on paper with a pencil. My idea for the site is to keep a journal of all the entries (words and phrases) that you learn on the website,  You can then organized the words into dictionaries ( just like tags).  After you have learned new entries you can then write essays practicing the words you have learned.  All the entries/essays and other information you put into the site can be shared so that you can learn with other users and make friends.  I think that working and studying with people helps you learn more.  You can use the site for learning any language, even for improving your own native language.  You can see what a full profile looks like by looking at my public account: http://sanbit.com/u/jason
My bigger picture goal for the site is to have different "modules" that users can use to help them improve in different areas of learning a foreign language such as reading skills,writing skills, speaking skills, listening skills ,etc.  So with what I have built so far, the entries would help you improve your vocabulary and the essays would help with your writing skills.
I think the biggest problem I have with the site now is the UI,  I think the interface and workflow could be much better.
I really look forward to your feedback. Sincerely, Jason <comment><USER2> I will suggest you turn off the registration process just for the time of HN crew to try it and give you feedback. The registration step is a great turnoff for people in general in testing a new product.</comment>


Vietnam Internet restrictions come into effect - <AUTHOR> http://www.bbc.co.uk/news/world-asia-23920541

<comment><USER2> > Last month the US embassy in Hanoi said it was "deeply concerned by the > decree's provisions", arguing that "fundamental freedoms apply online just > as they do offline".

My hypocrisy-meter just broke.

<comment><USER3> Considering that the US has zero speech-related internet censorship, and the comparison is to a law banning sharing any news articles online and publishing any material opposing the government, I'd say the US still has a valid complaint here.

<comment><USER4> Vietnam is a communist tyranny that simply applying existing laws and policies to a new medium, so this isn't really a change.

Economists prefer percentages to absolutes, and trends to isolated incidents. 9/11 has not only halted the long trend towards increasing freedom, but began a new and troubling trend of growing tyranny.

Perhaps the U.S. isn't overtly attacking press freedom, but the U.K. is, informs the U.S. before every incident, and the U.S. couldn't be happier.

<comment><USER5> Tyranny is a bit overstated.

<comment><USER6> Said people in every historical state that was slowly sliding towards despotism.

<comment><USER7> But on the other hand, making the U.S. congruent to every despotic state tends to cheapen the sacrifice of those who actually had to _live_ (and die) under those despots, instead of sipping a venti espresso at Starbucks while typing away on their MacBook Pro.

<comment><USER8> Some people sip espressos in North Korea, too.

Meanwhile, we (Americans) have more people living in cages than North Korea, China, Iran, and Vietnam combined. Most of them citizens, incarcerated after being subjected to extremely dubious trials for crimes related to drugs -- and whoops, look at today's latest headline: _Drug Agents Use Vast Phone Trove Eclipsing N.S.A.'s_

Relatively free states slide morph into corrupt police states precisely when the people sipping coffee with their luxury computers refuse to notice it happening.

<comment><USER7> > Relatively free states slide morph into corrupt police states precisely when > the people sipping coffee with their luxury computers refuse to notice it

That's... at least mildly pretentious. What social ills are the brave bands of roving latté-sippers going to save the country from next? Anyways, history has shown that despots don't have to care about what the intelligentsia thinks.

<comment><USER8> Urrrgh, for fuck's sake: are you gonna make me trot out the 'First they came for the...' cliché (which like all good clichés is totally on point)?

Obviously, despots don't care what the intelligentsia or anybody else with < despot power thinks. But in a high-functioning democracy, it is only through the apathy or willful ignorance (or freaky racism / nationalism) of the citizenry that you get despots in the first place. We're not there yet, but are obviously on that path.

I assume you're caucasian and rarely have your luxury car searched at traffic stops, or your electronic devices searched at border crossings? Me too. Yay for us.

<comment><USER7> > are you gonna make me trot out the 'First they came for the...' cliché > (which like all good clichés is totally on point)?

And also like any good cliché, says more than it really says. For instance, that there is _no_ permissible reason for government to go after anyone since it logically follows that if we let government go after Party A, they are that much closer to going after Party B.

For that reason, instead of living my life by clichés, I try to evaluate each situation on its own merits.

> I assume you're caucasian and rarely have your luxury car searched at > traffic stops, or your electronic devices searched at border crossings?

Caucasian, yes.

'Luxury' car, no. Unless the MP3 player is a luxury nowadays. It doesn't get searched at traffic stops, but that is probably because I've not run across a traffic checkpoint in years.

Maybe I should go visit the despotic America though, so that I can find out what a traffic stop is like? Where would I find that, as I've been all over the East Coast and have had no success yet in finding it.

</comment></comment></comment></comment></comment></comment></comment></comment></comment></comment><comment><USER9> I'm in Hanoi. Tried to click on the link. Blocked. BBC.com totally blocked here.

<comment><USER5> I'm in Saigon. Use 220.127.116.11 for your DNS, unless you are accessing via 3G.

I use unblock-us.com for my home network.

Honestly, I don't see how they plan on enforcing this except for having a look see at already well known dissident bloggers.

And, frankly, I think this 9X generation, which seems to be drowning in unprecedented narcissim will flip this whole place on its head when they get a bit older. Vietnam will be an even more interesting place than it is now when that comes to pass.

<comment><USER10> Had to look up the "9X generation". For those interested: [http://en.wikipedia.org/wiki/9X_Generation](http://en.wikipedia.org/wiki/9X_Generation)

<comment><USER5> There's a few things going on here that I think are going to have serious influence on the next 10 years.

First, the 9X kids, as I mentioned before, want what the rest of the world already has. They've had a taste and I don't think they are willing to concede.

Second, a lot of Viet Kieu (Vietnamese from abroad) are returning and they have a lot of money. They're going to also want to maintain some semblance of what they've grown accustomed to in Canada, US and Australia. If there is anything I've learned from living here, money can buy almost everything.

The rest of SE Asia is growing at a faster rate. Vietnam is only really beating Indonesia.

I think what most people don't get is that communism here doesn't mean what you probably think it does. Capitalism is huge here and it's only going to get bigger. So, one or the other is going to have to give.

Finally, this decree is kind of toothless. They have neither the money or the knowledge on implementing it. Their idea of blocking facebook was (Facebook is generally available anywhere now) to block some DNS entries.

<comment><USER11> By what measure is Vietnam beating Indonesia?

<comment><USER5> Sorry I was really tired when I wrote that, I meant Cambodia not Indonesia.

</comment></comment></comment></comment></comment></comment><comment><USER12> What's wrong with national security? At least as an Vietnamese I don't want Arab Spring comes to our country.

<comment><USER13> Is it security to prevent people to be able to discuss what is being done by the government?

Most people who have that freedom do not feel insecure.

Most people who have the freedom to critique their government feel insecure at the idea of having that ability limited in any way.

It would be interesting to hear the argument, why is this law a good thing for the Vietnamese people?

<comment><USER12> The thing is, BBC or other foreign media always push things like this in a way that Vietnam Government is against "human rights", and "freedom"... From my point of view, they just want to attack Vietnam Government and make it look bad, by telling half-truth. This is not the first time. My English is not good enough to give you a clear understanding about that law, but it's not about "prevent people to discuss what is being done by the government". The exact word could be more close to "bring down the government", and that I think no government in the world let someone do that "in freedom". I dont say Vietnam Gov is good, but at least they are not that bad to bring down right now. All the people that "oppose" Vietnam Gov always close to "bring down", and tell half-truth or lying, and related to foreign countries. So I am fine with that part of the law. The other parts are about management, providing and using Internet services and information.</comment></comment></comment>


Ask HN: forming online-based LLC while not having stable physical location? - <AUTHOR>

Hi all,
My situation is this:
* I have several websites that are starting to generate revenue via subscription models.
* I would like to form an LLC to shelter myself from legal liability. Doubt VCs would be interested, so no C-Corp.
* I need to choose a state to incorporate it.
* I'd love to incorporate in my 'home state,' but I don't really have one. I usually move every year or so.
My objectives are:
* Simplify the process as much as possible. I hate filing forms and dealing with legal hassles.
* Pay as little income tax as legally possible.
So my questions are:
* Do you have any advice on where to incorporate?
* Given the virtual nature of my business, in what states would I be considered to have a "nexus," and thus have to file taxes? (Paid) subscribers will be from every state.
* Do any of you have thoughts or anecdotes on the Vermont Virtual Corporation?
* Do you have any recommendations on books I can read to give myself a better background?
Thank you! <comment><USER2> First suggestion, network to find a lawyer you like and trust. They'll help you far more than any HN advice will.

Going against that suggestion, my next suggestion is don't register in California, as you'll pay the $900 LLC tax each year just to exist. The $900 varies based on how much the corporation earns each year, but that's the minimum.

That said, you don't have to live in the state where you incorporate, but it does make things easier, as you have to have some place with a physical, non-P.O.Box-like address to send corporate documentation to. If you are not located in the state of incorporation, you'll need to have a registered agent. This agent will receive your corporation documents and forward to them for you. Most agents charge about $200 for the service -/+.

Since you move frequently, having a registered agent will probably work just fine for you, as your corporate mailing address wouldn't change unless you change agents.

You file taxes in the corporation's state, then apply the profits to your own taxes, as a pass-through. Note that, if you set up the corporation with pass- through taxes, you'll pay taxes on the corporation's profits, even if you don't pay yourself the money (as in, if you end up with $20k in a savings account at the end of the year, you'll pay taxes on that $20k, even if you aren't paid the $20k).

Hire an accountant, too. And a bookkeeper who can show you the books at any point (say, using a site like <http://netbooks.com/> ).

I've used <http://mycorporation.com/> a couples times in the past for incorporations, one S corp, one LLC. They've since been bought out by intuit.com, so I don't know how they are now, but I was good with the service I received.

</comment><comment><USER3> You'd be better off getting an LLC and just using a registered agent in a different state, where it's cheaper to do so. Wyoming has no corporate taxes of any kind and its the first state in the nation to create the LLC. You could do it through Legalzoom for less than $200

<comment><USER4> For the love of all that is good, do not ever use Legalzoom for a legal document.

Pay a lawyer $200 to draft the documents for you, or do it yourself. Either way, your documents will be superior to the shit they sell at Legalzoom.

Wyoming's not a bad choice for LLCs, but the corporate tax bit is irrelevant if you choose pass-through taxes.

</comment></comment><comment><USER5> IANAL but the state that you choose to organize in won't have much bearing on how much income tax you owe. You will owe tax based upon the state(s) that are your legal residence.

<comment><USER4> You must pay taxes in every state in which you are incorporated/organized/chartered AND where the corporation actually resides (headquarters, major offices, etc).

<comment><AUTHOR> How is it determined where the corporation "resides"? I know for a physical company, it is where ever I am physically located. But what about a purely online company?

</comment></comment></comment><comment><USER6> i am also specifically interested in the vermont virtual corporation. anyone have any specific experiences?

</comment><comment><USER4> Delaware. It's the friendliest state to "foreign" companies (companies registered in the state but headquartered/operated out-of-state).

You have a nexus with any state in which (1) you are registered or (2) are physically located (employees, offices, facilities, leased real property etc, but not including contract workers or leased equipment). You have to pay income taxes, social security, etc, in those states.

Any law textbook on LLCs.

IMPORTANT: An LLC alone will not shelter you from legal liability. The "piercing the veil" doctrine disregards the LLC and allows someone to go after the owner if the LLC is not sufficiently separated from your personal assets and control. For a sole proprietorship, the control part is already met, so you have to make damn well sure that you keep the LLC assets separate from your personal assets. Log and track EVERYTHING.

<comment><AUTHOR> Can you give advice on how to "log and track everything?" I was thinking just separate banking accounts and keep all expense receipts. Is that enough?

Also, how much do I have to separate things like e-mail and server-usage? Do I need to pay for a separate server for my personal homepage and my company's page?

Does your Delaware recommendation include LLC's? I was under the presumption it was mostly advantageous for C-Corps.

Thanks!</comment></comment>


Java.lang.String.hashCode spec incorrectly describes the hash algorithm - <AUTHOR> https://bugs.java.com/bugdatabase/view_bug.do?bug_id=4045622 <comment><AUTHOR> [https://www.reddit.com/r/java/comments/95yslq/stringhashcode...](https://www.reddit.com/r/java/comments/95yslq/stringhashcode_is_not_even_a_little_unique/)</comment>


Make it obvious, stupid - <AUTHOR> http://blog.chrismahon.com/make-it-obvious-stupid/

<comment><USER2> i guess the guys wanted to make the UI "cleaner". The problem is, too clean. i'm with you that clarity should always over "clean"!

<comment><AUTHOR> Yup that's the only reason I can see for them doing it. I've just noticed that if you disable 24-Hour Time in your Date & Time settings you get the am/pm suffix back for the times but I think adding a ° symbol makes most sense.</comment></comment>


Computer Show - <AUTHOR> http://computer.show/ <comment><USER2> Ha, made me smile! But the whole time I was secretly thinking, "'Look Around You' did it better" ;) [http://www.ebaumsworld.com/video/watch/81062245/](http://www.ebaumsworld.com/video/watch/81062245/)

</comment><comment><USER3> For those who haven't seen it, here's the original, starring Stewart Cheifet and Gary Kildall:

[https://www.youtube.com/watch?v=wpXnqBfgvPM](https://www.youtube.com/watch?v=wpXnqBfgvPM)

<comment><USER4> the whole show is on the Internet Archive, [https://archive.org/details/computerchronicles](https://archive.org/details/computerchronicles)

</comment></comment><comment><USER5> Sandwich Video is ridiculously prolific.

<comment><USER6> No doubt. Adam Lisagor is really great at what he does. I first learned about him on a podcast he did years ago with Merlin Mann and Scott Simpson, "You Look Nice Today". It's _really_ funny.

[http://youlooknicetoday.com/](http://youlooknicetoday.com/)

</comment></comment><comment><USER7> I thought this was for real up until he showed Sheri his painting.

</comment><comment><USER8> wwweird. Expected actual retro topics/old computers/software whatever. This is startups talking about their products, while wearing goodwill clothing.

<comment><USER9> Well compared the most of the current chic apple commercial music videos that most start up choose produce where everything is magical this was quite entertaining and refreshing.

And surprisingly informative when it comes to what they actually do and how does their service works which is more than I can say about half of those start up videos since besides dazzling you with all the music and the stop motion drawings they rarely actually end up explaining what they do.</comment></comment>


What if JavaScript wins? - <AUTHOR> https://medium.com/@anildash/what-if-javascript-wins-84898e5341a <comment><USER2> Mark my words, Web ASM will be just as opaque as traditional assembly languages. Which is to say that we'll shift the problem from "JavaScript is bad" to "I cannot debug this," "I cannot see what this script does," "I lost the original source code, and now I have to reverse engineer WASM! Help!"

WASM isn't a panacea. Much like Flash, Java Applets, and ActiveX it is just the newest in a long line of Magic Blobs™ that supposedly solve all of our problems. Sooner or later it will become so complex that even the prospect of manually reviewing WASM will be seen as more unrealistic than a simple re- write based on input/output conditions.

<comment><USER3> WASM is a compilation target. Think of it as a little machine in the browser you're writing code for. While you technically could write direct WASM code, the idea here is to have other languages compile to it, which you could then debug as normal.

Outside of needing some extreme performance optimization, most web developers should never need to read or write WASM code.

<comment><USER4> > WASM is a compilation target.

Like the VM in the Flash runtime that runs ActionScript bytecode. Part of the GP's point still stands regarding MagicBlob™s. That said, it does differ (massively) in that it doesn't cast the spell of being a closed proprietary format: primarily driven by motivations of it's owner rather than the benefit of it's community.

</comment></comment></comment><comment><USER5> Use JavaScript or its wrappers (TypeScript, Dart etc.) just to glue modules written in C++ or other sane language, compiled into WASM. That's the future. JavaScript's role will be diminishing, paradoxically when it is now becoming an actually usable language, e.g. finally removing callback hell by async/await, adding some "borrowed" stuff from Scala etc.

</comment><comment><USER6> For me, as a founder of a young startup, the overarching benefit of being proficient in modern JS and sorrounding tooling is that I can use the same language for my whole stack(servers, web, Android, iOS), and spend more time thinking about the product and business. In the possible future where the company grows enough where it needs a distributed server software, the only part of the product that'd be changing would be the backend, and I'd probably look at Java for that. For the rest, React(& react-native) + graphql + a typesystem is a pretty good stack for UI software.

<comment><USER5> You literally restrict yourself to one of the worst languages ever designed. What could be solved with elegance and without demoralizing your staff in 5 minutes in some other language, in JavaScript it might require "sailing to Africa and back" to achieve the same (though I must say it has improved a bit recently from the insanity it used to be). On paper it might look good to you, but the reality is very different and you are making yourself seriously restricted in competing with other companies using more sane languages.

Not to mention the web stack changes every single year completely, node has scalability and versioning issues, and you end up relying on quickly changing pieces of code you have zero control about.

<comment><USER6> 1\. Can you give me an exam of something that is trivial in another lang, but requires "sailing to Africa and back" in JS?

2\. What sort of scalability issues related to Node.js are you talking about? Isn't node.js (thanks to V8, and async IO) much more performance friendly than other scripting langs?

3\. Regarding web-stack changing quickly, this hasn't effected me on server side yet. It has effected me on the mobile apps and web app side of things where I am using react 15.x, but it'll make sense to tackle that after raising meeting the next few business milestones.

<comment><USER7> _" Can you give me an exam of something that is trivial in another lang, but requires "sailing to Africa and back" in JS?"_

Packages and imports. First-class entities, built in to every other modern language. A mishmash of different "standards" and proprietary implementations in Javascript. Even K&R-era C had a better solution than Javascript (until ES6, anyway).

And do not tell me that ECMAScript 6 fixes this -- as long as there are multiple implementations in use in legacy code (there are) JS will have to live with a rat's nest of horrors at this incredibly fundamental level (not to mention the fact that ES6 imports aren't yet universally supported!)

<comment><USER6> Agree with you on this one. Module systems are kind of a mess in JS land, and from the looks of it, will remain so for a few years.

However, from a purely pragmatic point of view, not a deal breaker for early stage companies.

</comment></comment></comment></comment></comment><comment><USER8> I used to hate JS because the language is objectively badly designed, but then I realized that the merits of the language provide a glimpse of the future of programming.

Most programming problems people have are highly generic, often looking to implement something completely off the shelf as far as problems go. Wheels can only be reinvented so many times in so many ways.

To me the JS ecosystem offers a level of high level programming that you just don't get in other languages. Nothing comes close. There is a package for every possible problem you have just waiting to be used. You wan't some complicated auth feature? Consider it done with one require statement and calling a function to set a configuration. You want some reusable components for your frontend to solve some complicated issue? Somebody has a crazy React package doing exactly what you need. Obviously there are security concerns with this but that is a totally separate topic.

In the future programmers won't be replaced by robots, they will be replaced by import statements.

<comment><USER9> "In the future programmers won't be replaced by robots, they will be replaced by import statements."

I disagree. How is this different from someone 20 years ago saying programmers will be replaced by jar files.

<comment><USER10> Yeah, the reality is some of us got replaced by Adobe and Salesforce.

<comment><USER9> So you are saying you couldn't apply your skills as a java developer anymore because of salesforce?

</comment></comment></comment></comment><comment><USER11> I think within a few years WASM will finally be in a place where it becomes usable without relying on JavaScript for interfacing with the web browser and people will be able to develop high-performance, isomorphic web applications in other programming languages. This will definitely start to eat into it as it makes gains elsewhere. As such, I don't really see JavaScript reaching the level of dominance implied in this article - and to be honest, I wouldn't want it to when Oracle has gone after developers for naming it as something they support on trademark grounds.

[https://www.theregister.co.uk/2018/04/18/oracle_ios_app_take...](https://www.theregister.co.uk/2018/04/18/oracle_ios_app_takedown_javascript/)

Honestly, I think JavaScript at some point - not in the near future - will see its 'Flash' moment where a large organisation stops supporting it entirely if Oracle keeps up stuff like this.

<comment><USER12> > it becomes usable [...] for interfacing with the web browser

As soon as you add DOM integration... all the things people hate about JS in terms of architecture and compromises will show up in WASM.

<comment><USER13> I think that's fine because WASM isn't meant to write code in. It's just a source language for other compiled languages. I'm assuming the javascript complaints you're talking about are because people actually have to write javascript code?

<comment><USER11> Even then I don't think they would tie it to the WASM definition that tightly as they intend it to be used on other platforms than just web browsers. It seems to me that you could just have the DOM be expressed as a kind of interface which the browser implements, and then each language just has a DOM library which exposes that interface to the programmer.

</comment></comment></comment></comment><comment><USER14> To put things in perspective, every decade there is an uber popular so called simple but highly inadequate non-type checked language that is taking over the world of novice developers. It's a social phenomenon. Started with Basic, JavaScript is the latest incarnation.

By the same token, there is also one overcomplicated yet unavoidable professional language. In that sense, Scala these days has a proud lineage of C++ and PL/I.

And one Lisp leader per decade for humans who not only perceive human-oriented syntax as an apostasy and a personal affront but expect that Borg of parentheses will win any moment now. Hi, Closure.

<comment><USER15> the border between non-type and type check languages is getting diffuse these days with typescript going one way and C++ the other way [http://en.cppreference.com/w/cpp/language/auto](http://en.cppreference.com/w/cpp/language/auto)

<comment><USER16> Type deduction is very different from dynamic typing. It's still perfectly safe static typing. A better example would be C#'s "dynamic" type. I can agree with typescript though.

</comment></comment></comment><comment><USER17> And somewhere, Gary Bernhardt is shaking his head in disbelief.

[https://www.destroyallsoftware.com/talks/the-birth-and- death...](https://www.destroyallsoftware.com/talks/the-birth-and-death-of- javascript) was supposed to be satire... but "asm everything" might actually kind of happen.

<comment><USER18> Yeah, I definitely thought of Gary when I was writing the piece. The first time as tragedy, the second time as farce!

</comment></comment><comment><USER19> All the C derivatives are getting closer to one-another. How different are Typescript, C-sharp, and Java? When JavaScript adds gradual typing, interface, etc. won't all these languages be nearly the same? The runtimes will differ but the language features and syntax will be almost the same.

<comment><USER16> I'm not sure if this is a good or a bad thing. On one side we might get stuck on a local maximum as all languages stick to the universally established features to be marketable, on the other side it seems that some arguably objectively useful abstractions crystallize, which makes things easier for everyone.

<comment><USER19> I think (hope) that Academia, or individuals, would still be able to churn out "original" languages if there were no immediate need in industry.

</comment></comment></comment><comment><USER20> The missing point is that other languages have bigger/more specialized ecosystems.

For the networking effect to exist, your network doesn't needs to be just big. But it needs to be bigger than the rest. That's why people don't leave Facebook.

Java, C#, C++, Python have big ecosystems with specialized libraries for enterprise applications, performance, data analytics, etc.

If any, Javascript is already decreasing its influence in the web. Unity3D works with C# and it is removing support for its own version of Javascript. Or your choice may be Unreal Engine and C++. Or you can use Emscripten with C++ to build your own solution.

JavaScript is a language with a lot of problems. The final blow is going to be WebAssembly, as it will open direct web development to all other languages.

JavaScript will stay with us for long. But I don't think that is reaching its peak right now.

</comment><comment><USER21> If a non-typed language wins, then god help us and I fear for the youth :)

<comment><USER22> Why? Just because a non-typed language is dominant, doesn't mean that typed languages disappear.

</comment></comment><comment><USER23> I am amused by a lot of the hyperbole used against JS, as if it somehow is hard to use or drastically restricts the problems you can solve.

At this point, I'm not even sure if a single comment in this thread that poses itself as obviously anti-JS has a valid knock on the language, just high- level, hand-wavy reasoning about why it is so poor.

</comment><comment><USER24> You are completely missing the point here. It is not the question if JavaScripts wins - humans are not great at writing software to begin with regardless of the language. Soon, machine-learning assisted programming will be a thing and JavaScript will be a non-issue - applicable to any other language for that matter.

</comment><comment><USER25> > _first-ever truly dominant programming language?_

... after Visual Basic.

</comment><comment><USER26> Anil!

<comment><USER26> > Finally, there are the networked information sources for news and > discussion, primary among them being Hacker News. Though it's notoriously > the most hostile of these large, networked coder communities [...]

<comment><USER12> I mean... he's not wrong.

<comment><USER18> But it's also got nice folks! :D

<comment><USER12> Absolutely! But there's a reason a lot of professionals avoid here and call it The Orange Website in a derogatory fashion...

... and it's not because it's overfloeing with kindness & tact.

</comment></comment></comment></comment></comment><comment><USER27> Blazor and similar technologies built on WASM are the future of web dev.

[http://blog.stevensanderson.com/2018/02/06/blazor- intro/](http://blog.stevensanderson.com/2018/02/06/blazor-intro/)

I no longer read articles on JavaScript or related libraries, it's all obsolete. I know enough JS and TypeScript to get by until WASM-based tech takes over, hopefully within 2 years.

<comment><USER28> Given the popularity of Node.js, I doubt this. JavaScript is still winning when people have the option to use C# or C++ or Scala or whatever else.

<comment><USER29> The type of organizations I work on, node.js is only used as requirement for Web frontends.

Which I anyway avoid thanks the bundlers in Java and .NET frameworks.

<comment><USER28> Unless you're disputing Node.js' popularity I'm not sure how your anecdote is relevant...</comment></comment></comment></comment>


Show HN: EverybodyWorks - <AUTHOR> This is my first time submitting to Show HN so I apologize in advance if Im doing it wrong. About 5 months ago, coming off of several different projects that went nowhere, I was looking for something to do. About that time a user, /u/max0563, submitted findremote.work to Show HN. While most people took to trying to break it I thought that the design was simple and clean and wondered if I could build similar in 6 to 8 weeks. I had been looking for a new project and for an opportunity to go back to working from home so I felt that this scratched both itches so to speak. I try to keep MVPs to b/w 6 & 8 weeks. This project took about 10 weeks that included dealing with a design company for logos and social media artwork, and an attorney to handle terms, privacy, etc.. I know there are many players in this field but I enjoyed building the site and looked forward to making it even better.
I don't really have a marketing plan or anything as off yet. Havent really launched, just quietly opened access and let people trickle in. They havent! Just really wanted some feedback on the site and thoughts about anything you'd like to see or improvements I can make.
The site: https://everybody.works Thank you. <comment><USER2> not sure I'd charge at this point. also, might want to setup some kind of email alert if a job I'm looking for gets posted.

<comment><AUTHOR> Thank you. Email alerts is actually on my near future road map, near future being in the next week or two. I went back and forth on whether or not to charge right away. I ended up building a coupon manager and I just give out coupon codes for deep discounts. For instance right now I have coupon codes on various social media platforms for 25% off I think. I also will give out 75 to 100% off to registered charities and orgs supporting veterans. Im hoping that will be sufficient, but who knows.

[Edit] My rationale for the coupons idea was... a) it would be another metric for tracking sales, b) I could run promotions, c) I could trade discounts for mentions, back links, blog posts, etc.. . I thought this better than just letting everyone post for free.</comment></comment>


Show HN: A simple but addictive android game - <AUTHOR> https://play.google.com/store/apps/details?id=org.cocos2dx.Circles

<comment><USER2> Created 42 minutes ago, only activity is this submission, front page.

Riiiight :)

<comment><AUTHOR> I am humbled :)

<comment><USER3> I am jealous x_x

( [https://news.ycombinator.com/item?id=6598290](https://news.ycombinator.com/item?id=6598290) )

<comment><AUTHOR> lol, you have my blessings, cool graphics BTW</comment></comment></comment></comment>


Those Who Can't Build, Talk - <AUTHOR> http://esr.ibiblio.org/?p=3514

<comment><USER2> Eric talks a lot, doesn't build as much as he claims.</comment>