Saving Money by Switching from PHP to D - <AUTHOR> https://dlang.org/blog/2019/09/30/saving-money-by-switching-from-php-to-d/ <comment><USER2> "Obviously, performance was a big win. The website felt like it was running on local machines, bringing a dramatic increase to speed and lower latency across the board. After the switch, at first the load on our cloud servers was so low that we thought the website was down! Switching from PHP to D meant we could cut in half the instance size of each Amazon AWS machine in our cloud. And these machines are still underloaded. Our database cloud was highly affected by this too. We now use one quarter of its original computational power. All of this brought an instantaneous and dramatic cost savings, down to more than half of what our costs used to be."

I'm willing to bet they didn't even try a single one of the many possibly optimizations they could have used and actually stay either in PHP or a subset of PHP. It's so much easier to win your argument with a strawman, not to say there aren't cases where D is, in fact, better.

[https://stackoverflow.com/questions/1408417/can-you- compile-...](https://stackoverflow.com/questions/1408417/can-you-compile-php- code-and-upload-a-binary-ish-file-which-will-just-be-run)

[https://www.keycdn.com/blog/php-performance](https://www.keycdn.com/blog/php- performance)

<comment><USER3> Author here. You're wrong. We did a lot of optimizations over the years :) We switched to D just because that's not enaugh

<comment><USER2> I'm wrong? Then what optimizations did you do? Please, enlighten me. I have a list of methods in the links above, if you don't recall offhand.

</comment></comment></comment><comment><USER4> Do you think most of the improvements came from the language switch, or was the PHP code so bad that a rewrite allowed for cleaner and fresher architecture?

<comment><USER3> Author here. The language switch did the trick! Php code was rewritten some years ago. And we also ported some backend code to c++ to improve performance. Code was not that bad. Php is :)

<comment><USER5> It's so bad that you can build multi billion dollar businesses with it

<comment><USER6> I certainly don't want to get into the "PHP is a fractal of bad design" vs "PHP is awesome because it runs on a very high percentage of websites, including Facebook" debate. (I have no dog in this race, and I have absolutely no opinion on PHP) But I would ask, are those multi-billion dollar businesses making that much money DUE to their usage of PHP? Or could they run on almost any language/framework and still do just as well? We've heard the stories like "Twitter dropped Rails and rewrote their message queue in Scala, and a lot of their backend in Java"... so I get that there are _some_ scaling stories regarding languages... I just don't think most success stories can be attributed to language choice. Now obviously if you build your entire business on something obscure, and cannot find any competent developers, that's an issue....

<comment><USER5> That's why I said you "can". As someone who's done c, c++, JavaScript, lisp, prolog, a bit of python, whenever I see people saying such and such language is bad (like trikko's comment), it just strikes me as immature. There are way bigger factors that determine the success or failure of a project yet somehow I keep hearing developers fixated with the idea that the language alone will make or break the project.

</comment></comment></comment></comment></comment><comment><USER7> I have seen similar improvements in my own code migrated from PHP to C++. Yeah, no one writes C++ in this century, etc...

<comment><USER3> We did a partial migration to c++ in a previous iteration!</comment></comment>


AI-Powered App Helps Physicians Spend More Time with Patients - <AUTHOR> https://blogs.nvidia.com/blog/2018/02/19/lexiconmd-ai-powered-app/ <comment><USER2> Sorry to dump a bucket of cold water on this but medicine is all about metrics. So they just need to see a certain number of patients a day? There is no "they" and it's a lot darker than that. Each individual physician has a profile and some physicians even get daily reports. The annual financial cost is $40,000 per physician for "quality reporting," "process quality measures," "quality based incentive programs," or "value practice metrics." I didn't believe it at first either so I suggest googling it.

For profit or non-profit, it doesn't matter. They don't exist to loose money. If a physician can't or won't adapt they are terminated.

Does AI have the potential to advance healthcare? Absolutely! Who stands to benefit most? Countries currently lacking in quality healthcare and infrastructure.

This author wrote a piece:"Getting to the Heart of Arrhythmia with GPU-Powered AI." There are over 100,000 EKG technicians making $45K-$68K/year in the USA while the EKG machine is $10,000. Actual interpretation of the output requires a trained physician.

Then there's the medical device industry that both Apple and Google have been pursuing with only miniscule victories.

If you want in interesting read:

JPMorgan Chase (Assets 2.5 Trillion) and Berkshire Hathaway (Holdings 620.8 Billion) have joined forces with Amazon (Value 720.04 Billion) to form a new healthcare company for all U.S. employees.

</comment><comment><USER3> Wouldnt automation and ai be better for patients to spend less time with their doctors?

Having an Ai doctor on my phone would be great and way cheaper.

</comment><comment> Digit-Al We're seeing more and more cases of GPU powered applications that don't require the G. Is there a case to be made for creating cards that are like GPUs but with the specialised functionality used to speed up graphic operations removed and replaced with functionality that speeds up stuff like AI?

<comment><USER4> Sounds like Apple and their A11 Bionic chip. Dedicated ML cores just for this purpose. Seems like something Intel is probably working on as well.

</comment></comment><comment><USER5> I think the AirPods form factor is perfect as a non-intrusive AI medical assistant for caregivers and even doctors.</comment>


Ask HN: Book recommendations? - <AUTHOR>

I know this comes up from time to time, but I'm looking for some summer reading, and was wondering if anyone would care to recommend one or two good works of fiction, as well as one or two good works of non-fiction. <comment><USER2> During the summer I go on holiday to a remote island in the mediterranean where I sit on my patio atop a hill overlooking the sea and read for about a week. The only electronic devices I have are my e-book reader and a charger. Here's some of the best summer reading I've gone through:

The Painted Bird - Jerzy Kosinski - [http://www.amazon.com/Painted-Bird-Jerzy- Kosinski/dp/0802134...](http://www.amazon.com/Painted-Bird-Jerzy- Kosinski/dp/080213422X)

A Thousand Splendid Suns - Khaled Hosseini - [http://www.amazon.com/Thousand- Splendid-Suns-Khaled-Hosseini...](http://www.amazon.com/Thousand-Splendid- Suns-Khaled-Hosseini/dp/159448385X)

Brave New World - Aldous Huxley - [http://www.amazon.com/Brave-World-P-S- Aldous-Huxley/dp/00617...](http://www.amazon.com/Brave-World-P-S-Aldous- Huxley/dp/0061767646/)

Burmese Days - George Orwell - [http://www.amazon.com/Burmese-Days-Novel- George-Orwell/dp/01...](http://www.amazon.com/Burmese-Days-Novel-George- Orwell/dp/0156148501)

The Sun Also Rises - Ernest Hemingway - [http://www.amazon.com/Sun-Also-Rises- Ernest-Hemingway/dp/074...](http://www.amazon.com/Sun-Also-Rises-Ernest- Hemingway/dp/0743297334)

Catch 22 - Joe Heller - [http://www.amazon.com/Catch-22-50th-Anniversary- Joseph-Helle...](http://www.amazon.com/Catch-22-50th-Anniversary-Joseph- Heller/dp/1451626657)

The Road - Cormac McCarthy - <http://www.amazon.com/Road-Oprahs-Book- Club/dp/0307387895>

To Kill A Mockingbird - Harper Lee - [http://www.amazon.com/Kill-Mockingbird- Harper-Lee/dp/0446310...](http://www.amazon.com/Kill-Mockingbird-Harper- Lee/dp/0446310786)

The Catcher In The Rye - J.D. Salinger - <http://www.amazon.com/Catcher-Rye-J- D-Salinger/dp/0316769487>

For Whom the Bell Tolls - Ernest Hemingway - [http://www.amazon.com/Whom-Bell- Tolls-Ernest-Hemingway/dp/06...](http://www.amazon.com/Whom-Bell-Tolls-Ernest- Hemingway/dp/0684803356)

For non-fiction it really depends on what you're looking for but I really enjoyed Joel Bakan's The Corporation and Mark Thomas' As Used On The Famous Nelson Mandela.

</comment><comment><USER3> I _always_ recommend, to anyone who hasn't already read them, that they read Julius Caesar's The Gallic Wars and The Civil Wars.

One of the greatest generals and leaders of all time personally wrote amazing war journals, and they survive mostly intact today. Nothing else like these exist.

<comment><USER4> Grant's memoirs are very well worth reading, too.

</comment></comment><comment><USER5> I'm reading this one, and it is pretty good (It is just a month old, I think)

[http://www.amazon.com/Give-Take-Revolutionary-Approach- Succe...](http://www.amazon.com/Give-Take-Revolutionary-Approach- Success/dp/0670026557/)

</comment><comment><USER6> I'm reading Are We Getting Smarter?: Rising IQ in the Twenty-First Century by James R. Flynn,

<http://www.amazon.com/dp/1107609178>

the latest nonfiction book by an expert author, and I'm really liking it a lot. I highly recommend at least one book by Flynn for your summer reading.

</comment><comment><USER7> I would recommend the following book:

Bruce Schneier - Beyond Fear: Thinking Sensibly About Security in an Uncertain World

[http://www.amazon.com/Beyond-Fear-Thinking-Sensibly- Uncertai...](http://www.amazon.com/Beyond-Fear-Thinking-Sensibly- Uncertain/dp/0387026207/)

</comment><comment><USER8> White Teeth, by Zadie Smith, is of the funniest books I have ever read and it contains the most important lesson about getting to the root of a problem that I have yet seen articulated: "The shit is not the shit. The pigeon is the shit."

</comment><comment><USER9> Here are the first books that crossed my mind. The Road. Daily Rituals: How Artists Work. How to Read a Modern Painting: Lessons from the Modern Masters. The Sun Also Rises. The Wind Up Bird Chronicles. Reamde: A Novel. 1984.

</comment><comment><USER10> Science Fiction:

* Walter Tevis: Mockingbird

* Karin Boye: Kallocain

Non fiction Computing:

* John Markoff: What the Dormouse Said

* Jef Raskin: The Humane Interface

Non fiction society:

* P.M.: Bolo'bolo

</comment><comment><USER4> _Gilead_ by Marilynne Robinson for fiction.

 _The Jeffersonion Transformation_ (the first and last chapters of a much longer history) by Henry Adams, selected and introduced by Gary Wills.

</comment><comment><USER11> I love everything by James Gleick. I recommend Faster, The Information, and Chaos.

</comment><comment><USER12> Infinite Jest is a great book to tackle over a summer. Highly recommended.

<comment><USER13> Over an infinite summer : <http://infinitesummer.org/></comment></comment>


My Little Pony image on PHP manual pages when JS disabled - <AUTHOR> http://phpmanualmasterpieces.tumblr.com/post/72720773542/i-thought-eevee-was-putting-me-on-and-now-you

<comment><AUTHOR> The offending commit [https://github.com/php/web- php/commit/bb84c7bbcd3cb4b0891327...](https://github.com/php/web- php/commit/bb84c7bbcd3cb4b0891327cb35351e3bb44be024)

The revert [https://github.com/php/web- php/commit/681bea8bb4d646ef628ab8...](https://github.com/php/web- php/commit/681bea8bb4d646ef628ab80bdfec0df07a07c561) Comment: "Surprisingly enough, there seem to be several active users that don't have js enabled :D"</comment>


Show HN: Joy – a Go to JavaScript compiler - <AUTHOR> https://mat.tm/joy/ <comment><USER2> Hey, I just saw this on the Github WASM thread, looks cool! I'm interested, but if I may request, you should highlight the missing/non-fully-functional keywords. That's my main concern, and from the main page it sounded like this was a fully working Go. Yet the Github issues seemed to highlight several missing keywords.

While this may not seem like a big issue, having to conceptually know what works and what doesn't is mental overhead, so reducing that overhead by making it super prominent would be great for me. Thanks!

This looks really cool btw, once I have a better idea on the completeness of this, I'll definitely try it with React! It's the one thing I failed with GopherJS on, React integration was difficult to keep performant. I'm excited :)

<comment><AUTHOR> Thanks for the kind words. Yah I think you're right that I should make the current state more clear, not just where it's headed. FWIW, there's some more information on that lower down the page: [https://mat.tm/joy/#next- steps](https://mat.tm/joy/#next-steps)

</comment></comment><comment><AUTHOR> Hey folks! I've been hard at work building this compiler for the last few months and I'm very excited to finally be able to share it with you.

I'll be here to answer any questions you might have!

<comment><USER3> I command-F searched for GopherJS, looking for the obvious question -- how is this different? -- but found nothing besides crediting it as "inspiration".

So, how is this different?

EDIT: asked in the Golang slack. Will update when I find out the answer.

<comment><USER4> Not OP, but GopherJS is an emulator:

> _GopherJS emulates a 32-bit environment. This means that int, uint and > uintptr have a precision of 32 bits. However, the explicit 64-bit integer > types int64 and uint64 are supported. The GOARCH value of GopherJS is "js"._

Joy doesn't seem to be:

> _[Joy ships] a minimal runtime only when it 's needed_

> _Most existing Go code does not yet compile to Javascript. This is because > most of the standard library still needs to be translated to Javascript. > This will be a focus of the 2.0 release. Signup for the mailing list to > follow along with the progress._

This has some obvious consequences in how they differ. For example, if I look at [0][1], GopherJS results in a huge amount of code bloat because it includes a translation of the Go runtime. A basic example 33 LOC grows to 44 LOC on its own, but with the GopherJS environment that becomes:

> _1470 LOC and 45kb, uncompressed and unminified. The bulk of which is the > builtin library. It will only compile what it needs to. So if you declare > types that are never used, they won 't show up in the resulting code. This > goes for core packages too. If I change that code so it requires "fmt", the > result explodes to 12845 LOC and 624kb ("fmt" imports a LOT of stuff)._

(In GopherJS' defense, minification slims it down to 21kb, and the example probably is missing a production code compiler flag)

The examples on the Joy webpage look a lot more minification-friendly and easier to integrate with other JavaScript.

[0] [http://legacytotheedge.blogspot.se/2014/03/gopherjs-go-to- ja...](http://legacytotheedge.blogspot.se/2014/03/gopherjs-go-to-javascript- transpiler.html)

[1] [https://gist.github.com/rolaveric/9407509](https://gist.github.com/rolaveric/9407509)

<comment><USER5> GopherJS is _not_ an emulator. Saying that it emulates a 32-bit environment means that `int` (which is architecture-specific in Go) is 4 bytes (compared to 8-bytes on amd64), and means that int64 is supported and does what you expect.

As a counterexample -- it is not possible to have a 33 LOC example that uses goroutines to only expand to 44 LOC. GopherJS goes to extremes to make sure that your Go code works as expected in the browser.

<comment><USER4> I stand corrected, apologies for spreading incorrect information. Sadly I can't edit my post any more.

</comment></comment></comment></comment></comment><comment><USER6> Possible conflict with the name: [https://en.wikipedia.org/wiki/Joy_(programming_language)](https://en.wikipedia.org/wiki/Joy_\(programming_language\))

<comment><AUTHOR> Hmm, good catch. Let's see how it plays out :-)

<comment><USER7> Why not call it JoyGo or JoyJS or Go2js or something? No reason to cause name (and command line) confusion just because you like a name.

<comment><USER8> Joy is coming up on 15 years without a release, there should probably be a statute of limitations on this sort of thing.

<comment><USER9> Alas, Manfred von Thun is no longer with us. Seems unlikely there will be another release.

<comment><USER10> Manfred taught me mathematical logic back in the mid 90s. It was only much later browsing functional programming topics that I discovered his language and that he had passed away.

RIP.

<comment><USER11> What was he like?

<comment><USER9> My mate has an awesome story about providing technical support to him on campus. I hope neither he nor the deceased mind me relating it.

"Hello. Tech support? This is Manfred von Thun. My computer is not working."

"OK, no problem, do you have a PC or a Mac?"

"Neither."

<Pause>

"Neither?"

"Yes. Neither."

"Ok, what do you have, then?"

"I have a terminal which connects to the mainframe."

<Pause>

"OK, I'll be right over."

Sure enough, he gets there and there's some godforsaken yellowing text-only terminal thing with a wire plugged into some weird port he'd never seen before, presumably wending its way into the bowels of the university to some long-lost, dusty piece of big iron from computing's distant past.

My mate was incredulous. "So what do you do with this, exactly?"

"I write papers, I write programs, I make web pages."

"Web pages!?"

"Yes, web pages. But I don't believe in graphics."

In spite of his protestations about GUIs, he was eventually given a brand spanking new eMac (this was around about the time he was creating Joy). Once he saw Terminal.app, he no longer seemed particularly concerned.

<comment><USER10> Every staff member had one of those. They opened new computer labs at La Trobe in about 1995 but before that it was VTxxx terminals accessing a mixture of VMS or *nix, I believe.

I remember using vi in typesetting a paper with LaTeX before print previewing a DVI on one of the PC or Mac machines.

<comment><USER9> Awesome, do you have any more info about them you'd be willing to share? By the time my mate was around they weren't common enough in the humanities dept for him to have ever seen one before Manfred's. He's likely at least as curious as I am!

<comment><USER10> I was at La Trobe 1992-6 and Manfred taught me in 95 or 96.

I remember a mixture of VMS, Ultrix and I think SunOS. A monochrome screen with curses to do your email, browse gopher and text-only web, compile and run programs (in Manfred's case) and log in from any terminal on campus. There were a couple of monochrome Xterms in the computer centre. But desktop computers had obviously taken over by your friend's era.

</comment></comment></comment></comment></comment></comment></comment></comment></comment></comment></comment><comment><USER12> This is AWESOME.

I absolutely love the idea of transpiling other languages to readable (and therefore, debuggable and maintainable) Javascript.

Kudos and I'll be watching this project.

<comment><AUTHOR> Thanks for the kind words of encouragement!

</comment></comment><comment><USER13> Looks interesting but I think WebAssembly remains the more promising path for compiling to web browsers at this point. x to JS transpilers are likely on the way out.

<comment><USER14> True, but right now this is the better approach because you can access the DOM, and presumably make use of Javascript's garbage collector.

<comment><AUTHOR> Exactly that – I think there will be great opportunities to use both depending on what kind of code it is.

WASM is on the radar though: [https://mat.tm/joy/#faq- webassembly](https://mat.tm/joy/#faq-webassembly)

</comment></comment></comment><comment><USER15> How is this different from the more established GopherJS?

<comment><USER16> From an issue in the GitHub, it sounds like GopherJS has a slightly different goal; it is attempting to make it possible to compile existing Go libraries / projects, whereas Joy is more focused on new projects built specifically to run in the browser.

</comment></comment><comment><USER17> On startup (with no arguments, so just "help" output) it tries to read my ~/.aws/credentials file and there seems to be some kind of tracking going on: [https://github.com/matthewmueller/joy/blob/master/internal/s...](https://github.com/matthewmueller/joy/blob/master/internal/stats/stats.go)

I almost used this software, but I'm going to have to go through the code before I do now.

</comment><comment> 52-6F-62 Hey Matt, I received this error when trying to compile a "hello world" for the first time:

        error downloading headless chrome: error making directory: mkdir /Users/matt

I'm not really clear on why it would need to create a folder under Users on Mac.

I _am_ looking forward to giving it a try, though.

<comment><AUTHOR> Unfortunately there's a bug: [https://github.com/matthewmueller/joy/issues/53](https://github.com/matthewmueller/joy/issues/53)

Will fix it in the morning but I need to sleep now. Zzzz...

Thanks for the kind words and please try it again tomorrow :-)

<comment> 52-6F-62 Sounds good! Nice work btw.

<comment><USER18> Looks like you can fix it with a name change to "matt" ;)

</comment></comment></comment></comment><comment><USER19> There is a statement in that document that says that much of the standard library hasn't been translated but isn't most of the Go standard library written in Go? Why can't Joy convert the standard library?

<comment><AUTHOR> time. never enough time ;-)

<comment><USER19> Well, the go standard library is mostly written in Go, and Joy is supposed to convert go... so shouldn't this just work?

</comment></comment></comment><comment><USER20> How are Go's pointers implemented in JS?

<comment><AUTHOR> This is not done yet. Right now there's no difference between pointer values and non-pointer values.

</comment></comment><comment><USER21> Do you have a personal website / blog?

I could be completely missing something, but mat.tm is down.

<comment><AUTHOR> Weird, maybe a DNS issue? Can you try again?

</comment></comment><comment><USER22> What a coincidence. I was thinking when would something like this be out yesterday and it stayed just a thought. Didn't bother to google and now I see it here. Something I would certainly love to try.

</comment><comment><USER23> This looks amazing! Is there some demo video available?

<comment><AUTHOR> Thanks! Not yet, but I'm planning to make some videos very soon :-)

</comment></comment><comment><USER24> It advertises VDOM support, but Go/Joy doesn't appear to have anything like JSX, right? (JoySX?)

<comment><AUTHOR> No JSX – VDOM would mean things what JSX turns into e.g. `React.createElement(...)`

</comment></comment><comment><USER25> > Translate idiomatic Go into concise Javascript that works in every browser. > Use Go's type system and world-class tooling to build large web applications > with confidence.

Thanks, but for type system we already have type script. Secondly, the post powerful Golang feature which is you know co-routines can't be translated to javascript

<comment><AUTHOR> I was a heavy Typescript user and a big fan. I personally found Go's type system and overall ecosystem to be much easier to grok, especially when it came to interacting with 3rd party packages. If you read through [https://mat.tm/joy/#why](https://mat.tm/joy/#why) you'll read more about my perspective there.

Actually to my surprise, goroutines and channels can be modeled quite well in Javascript! Right now the compiler uses async/await but for 1.0, I think it's possible to compile it down to ES3.

<comment><AUTHOR> Let me attempt to clarify a few things with fresh eyes:

Javascript doesn't have threads, so true coroutines not really possible (w/o webworkers). If you lock up the event loop in one of Joy's goroutines, the other's won't proceed.

This limitation doesn't mean that we can't use the CSP concurrency model in an awesome way in Javascript. If you search NPM for csp or channel, you'll find some good examples.

For the Go programs I've come across using goroutines, calling an async function like this (async () => {})() is a good enough approximation for frontend development.

You may lose out on true parallelism and better error handling, but that's the JS environment we're targeting.

<comment><USER26> _> Javascript doesn't have threads, so true coroutines not really possible (w/o webworkers)._

A coroutine is not a thread and an implementation of coroutines does not (necessarily) depend on threads. Goroutines can also run on a single thread.</comment></comment></comment></comment>


A Billionaire and a Nurse Shouldn't Pay the Same Fine for Speeding - <AUTHOR> https://www.nytimes.com/2018/03/15/opinion/flat-fines-wealthy-poor.html <comment><USER2> Tiny brain: We should punish Zuckerberg for speeding! That'll show him!

Normal brain: Wait a minute. Increasing fines for the 1% can solve at most 1% of the speeding problem. Okay, the 1% number is polemical, but any solution to the problem of speeding must fall mostly on poorer people, because they are the majority.

Glowing brain: Why do we talk about speeding as a crime? Any economist would tell you that the optimal amount of speeding is nonzero, so it should be solved with a Pigovian tax equal to the negative externality. Since a rich speeding person does as much potential damage as a poor speeding person, the fine shouldn't depend on how rich you are. If you want a safety net, build a safety net, don't muck around with speeding fines.

Galactic brain: Is speeding that much of an externality though? If you go fast and cause a crash, you bear about half of the cost. If you don't cause a crash, no one bears the cost. It's not like pollution where the polluter bears a millionth of the cost. So it seems like selfish decision making, with average human level of loss aversion, should already deal with the problem of speeding. Why isn't that happening?

Buddha brain: People know the cost of a crash. Speeding happens because people misjudge the risk of a crash. So perceived risk, not cost, is the right variable to tweak if you want to fix speeding. Make enforcement of fines much more fast and certain, and you can solve speeding while lowering fines. The whole article about billionaires was a distraction from a distraction from a distraction.

<comment><USER3> "Make enforcement of fines much more fast and certain, and you can solve speeding while lowering fines."

If "solve" means legitimize it, yes, you've solved it.

Google for "daycare fine study" and notice that adding a small but significant fine to a behaviour you wish to discourage _increased_ that behaviour rather than decreasing it.

<comment><USER2> The fine shouldn't be that low. Here's the best formula I could figure out.

Let's say R1 = actual risk of harm to yourself and others, M1 = magnitude of harm to yourself and others, R2 = your perceived risk of harm to yourself, M2 = magnitude of harm to yourself. Both M1 and M2 should be based on market price of QALY (about 50K dollars?) without overvaluing you specifically. Then the fine should be set at R1⋅M1-R2⋅M2.

That's a generalization of Pigovian tax to a spectrum of behaviors: pollution (R1=R2, M1>M2), skipping medical checkups (R1>R2, M1=M2), speeding (R1>R2, M1>M2). Does that make sense?

<comment><USER3> Given that speeders more often harm themselves than others, your equation gives a negative answer.

<comment><USER2> M1 includes harm to yourself.

</comment></comment></comment></comment></comment><comment><USER4> This seems like backdoor civil asset forfeiture but it would allow them to take assets that aren't even present and/or involved at the time of the "offense".

Can you see a particularly cash-strapped town telling officers to skip the Toyota Camrys and instead pull over the BMWs? It seems ideal for abuse, selective law enforcement, and likely other bad behaviors.

Oddly enough, this would likely go away with self-driving cars as high income people switch to vehicles who "can't" break the law.

<comment><USER5> Are you really worried that _rich people_ are the ones that can't protect themselves from abuse? :)

<comment><USER6> Not as much as _poor_ people, sure, but keep in mind that even rich people are much less powerful than governments or even large amounts of people.

I mean, obviously a completely different scenario, but, how many times have revolutions killed all the rich/powerful people? They don't have infinite protection just cause they're rich.

<comment><USER5> I'm from a country where that happened, I'm quite aware about this aspect. Even so, fining rich people more just makes sense, to me. Fines are supposed to be a deterrent.

If we're reaching the point where we're discussing about revolutions and civil forfeiture, I think there's a bigger problem here. And it's not proportional fines.

</comment></comment></comment></comment><comment><USER7> I think I'd take the other approach than exorbitant fines for the rich. Perhaps they should grow (a $3,000 fine for a billionaire isn't unreasonable), but the more important part IMO is here:

"For people living on the economic margins, even minor offenses can impose crushing financial obligations, trapping them in a cycle of debt and incarceration for nonpayment."

I think it is reasonable that a speeding ticket for someone earning minimum wage could have a lower (say $50 instead of $150) penalty. The fines are made to disincentivize behavior, not put people in debt.

<comment><USER8> > a $3,000 fine for a billionaire isn't unreasonable

This sounds ridiculous to me because the idea of laws, and by extension fines, is that they apply uniformly, regardless of class, gender, whatever.

<comment><USER9> The laws should obviously apply equally. Exactly for that reason, fines should not be the same for someone who earns $15/hr and $1500/hr. A fine of $150 is 10 hours of work for one person, and 6 minutes for the other. How is that equal application of the law?

<comment><USER10> The same logic (if applied consistently) would make judges give longer prison sentences to younger, healthier individuals.

<comment><USER9> ... if the only point of prison is punishment.

</comment></comment></comment></comment></comment><comment><USER11> Why not just do away with fines all together rather than trying to come up with a complex system to try to make them fair. Perhaps instead of fines a more appropriate punishment should be that you're forced to sit in your car for an hour making you late to whatever you were in a rush for.

<comment><USER12> What about people who drive hard deliberate because they can afford the fines, in their free time?

<comment><USER13> In Australia we have a demerit point system, although technically if you have enough money you can pay to get around it.

<comment><USER14> The United States has the same thing. Get too many traffic infractions in a certain time window (a year or two, might depend on the state) and you get your license revoked.

<comment><USER15> Certain states allow you to pay double the fine and ignore the points. This was used by groups[0] doing road rallies across America.

[0][https://www.youtube.com/channel/UC1nstSui0tPnJtMF2OZx5tw](https://www.youtube.com/channel/UC1nstSui0tPnJtMF2OZx5tw)

</comment></comment></comment></comment></comment><comment><USER16> Or just do away with the fines completely.

At least where I live, a speeding ticket knocks off a couple of your license's 12hp, and they take like a year to regenerate. Maybe that alone should be enough, or maybe you should also have to sit there one extra minute for every mph over the limit you were going.

<comment><USER17> Yeah, the fine is never the reason I get upset about being pulled over for speeding. It was always the points on the license and the time spent waiting for the ticket.

</comment></comment><comment><USER18> I'm from Finland where we have this kind of "relative fines". While I generally agree with the concept, it should better take into account the household's total income & wealth.

E.g. I could get a fine of 1/2 of my monthly net income for driving 140 km/h (87 mph) on highway, which would hit hard our household (three kids, low income spouse, no savings), although no real harm or risk was caused to anyone.

<comment><USER13> That sounds pretty reasonable to me, frankly. That's considerably over the limit, isn't it?

<comment><USER19> The highway speed limit in a country like Romania is 130 kph, but you only risk getting fined if you exceed 140. As such, I usually do 130-135 kph on the highway in my small 1.4 l hatchback and I don't feel unsafe at all. I feel much more unsafe on 2-lane national roads with lots of curbs and where you risk getting a horse-drawn carriage in front of you out of nowhere, even though on those roads people usually drive much slower (the limit is 90, I stick to 80-90 most of the times unless I have clear visibility for like one km, in which case I push it to 100). Point is that it's not the speed that kills you, it's NOT adapting the speed to the road's conditions that does it. As such, imposing draconian speed limits on highways (like in Finland) is very counter-productive and frustrating, because those highways are actually built to "support" higher speeds (just look at Germany).

</comment></comment></comment><comment><USER20> _> But the United States doesn't need to go that far._

I see reasons to go even further, if the goal is a fair level of deterrence. If for a significant part of the population, the total wealth is less than or in the same order of magnitude as the money they earned that month, while for others, income is a relatively tiny portion of it, fines based on income alone will deter the former much more than the latter. The more fair option would be to fine based on wealth, not income.

Then, yet further, if you all you have is $500 and lose half of what you own, that'll likely have a devastating effect, possibly resulting in homelessness. For a billionaire, losing half your wealth leaves you with $500M. You won't exactly be panhandling to make ends meet. Again, the deterrence is disproportionate.

I'm not sure how to address it. Possibly by not using fines at all, but some amount of hours of social work that has to be completed in some short but manageable span of time, with the definition of "manageable" based on individual circumstances.

</comment><comment><USER21> On some of Italy's highways, they calculate the speeding ticket from gate to gate:) Meaning that if you entered the highway at 12:00 and you exited at 13:00 at a gate 120 miles ahead, you get a fine.

Sometimes, I see people who like to speed, just sit it out at a parking cafe next to their exit.

</comment><comment><USER22> This is already true for incarceration; a billionaire and a nurse lose the same amount of time. And one's time is paid more than the other's.

Speeding is a weird example though. If _I 'm_ driving I pay based on my income, but if _my driver_ is driving he pays based on his?

> In 2015, it handed a businessman a $67,000 speeding ticket for going 14 > miles per hour above the limit.

I just don't see how going 14 mph with zero other damage is equivalent to compensating the public $67k.

"Justice" is about balancing the action with its punishment, not gimmicks like this (that inevitably wind up with a super-complex system of loopholes, deductions, inefficiencies, etc.)

<comment><USER23> _I just don 't see how going 14 mph with zero other damage is equivalent to compensating the public $67k._

Speeding is a crime because you're risking the safety of other people. There's only "zero damage" if you're lucky. There's potential for _a lot_ of damage. Considering the defined punishment is supposed to act as a deterrent I would argue $67k was actually too low.

<comment><USER24> There is only actual damage if you are exceptionally unlucky. Almost everyone speeds to varying degrees, with wildly successful runs of luck.

Ergo, speeding is not a crime, it is an easy revenue target for greedy municipalities with overpaid cops.

<comment><USER25> Speeding is a crime since it is illegal by law. That the money goes to municipalities is a problem of the US system, it should go to the state/government.

The problem really isn't that you haven't caused damage, rather that you ignored the _legal_ safety limits of the road just to get home a bit earlier while completely ignoring or dismissing that in case of bad luck you could have caused immense damage. Reckless behavior like that, where innocent third parties can be immensely hurt or killed, should be punished.

In Germany, we have strict laws all about this. If you endanger the traffic or any of the (potential) participants of the traffic, you get fined. It doesn't matter if you say "but officer the road was completely empty", the driver is rarely omnipresent to know everything happening on the next kilometer of road.

Accidents aren't predictable but preventable.

<comment><USER22> > It doesn't matter if you say "but officer the road was completely empty"

To be fair, road usage does matter.

If there is construction you will be fined more. If students traveling to school, the speed limit is lowered.

Point being that not all "speeding" is the same.

<comment><USER25> Obviously yes, if you have a higher probability of endangering someone (ie, school kids, construction sites), the punishment will be worse.

</comment></comment></comment></comment></comment></comment><comment><USER26> At lease some kind of mention of equality under the rule of law should be done and refuted.

<comment><USER27> The 'pain' (as in 'felt punishment') inflicted by the fine should be equal in all cases. If you have more money that means a higher fine is needed to inflict equal pain.

</comment></comment><comment><USER28> By what right should the officer be able to learn my net worth the moment he or she thinks I made a moving violation? Do you want possibly unscrupulous officers learning your net worth anywhere you travel?

<comment><USER29> Moreover, do we as a society want to spend money on discovery procedures to accurately identify speeders' net worth? What do you do if a corporate executive tells the officer he has no assets or income? Personally, if we think speeding is a problem worth spending on, I'd rather hire two more traffic officers than one lawyer and one accountant to adjudicate fine amounts.

This may be one of those good ideas that falls apart on implementation.

<comment><USER15> As far as I understand, Germany implements this system, and it seems to work pretty well

<comment><USER29> Do you know how they validate income? I suppose you could take historical tax filings, which it looks like is what Finland does. Even with that, though, you create the potential to significantly over-burden people with irregular income streams.

It looks like the UK tried day fines in the early 90s and dropped it ([http://news.bbc.co.uk/2/hi/uk_news/politics/4173913.stm](http://news.bbc.co.uk/2/hi/uk_news/politics/4173913.stm)).

</comment></comment></comment></comment><comment><USER30> I generally agree with this, but then, I would also take into consideration that driving at, say, 70MPH with a Camrys is not the same that doing it with a BMW. All other things being equal, you are way less dangerous for others drivers in the latter case and this should also be used to "equalize" the fine for speeding.

Or is this too unfair for the people that cannot afford a BMW ?

</comment><comment><USER31> I thought that points were designed for that. At least in NJ you can get both fines and points depending on a type of a ticket.

</comment><comment><USER32> I would love to see this happen in many places. But in the US - probably the last place it will ever happen.

</comment><comment><USER33> the doctrine of equality of outcomes is evil which is what article is trying to achieve. being successful is not a crime or morally wrong as much as the likes of sanders/corbyn like to fantasise that it is. the fact that one person can handle a fine easier than another is no more consequential that the fact one can run faster than another.

</comment><comment><USER34> The fine should be the same. No free lunch for someone who chooses to be a nurse instead of a portfolio manager.

<comment><USER35> the point of a fine is to act as a deterrent... billionaire isn't going to care about $100.

They aren't going to care about $1000 either, but at least it's doing more social good.

<comment><USER36> > care about $100

He will care if he loses his driver's license after a certain number of tickets, though, which is the law for everybody, equally applied.

<comment><USER37> In reality, even that isn't equal. A poor person who has moved out of the city because they can't afford housing inside of it losing their license would probably mean losing their job, as public transportation options may not even be available. A wealthy person could just hire an Uber everywhere and wouldn't even notice the cost.

While the punishment is equal, the impact it would have on different populations is unequal (which is the same issue with a fine of an absolute amount).

</comment></comment></comment></comment><comment><USER38> Hard pass

</comment><comment><USER26> Reminded me of Steve Jobs refusing to put a license plate on his car.

<comment><USER39> I thought that was done legally by leasing a new car every few months. And that loophole is part of the motivation for the new temporary plates in CA.

Edit: reference [https://arstechnica.com/cars/2016/07/steve-jobs-loophole- clo...](https://arstechnica.com/cars/2016/07/steve-jobs-loophole-closed- california-wants-temporary-license-plates/)</comment></comment>


MIT Self-Flying Drone (Open Sourced) - <AUTHOR> http://stgist.com/2015/11/mit-self-flying-drone-can-avoid-obstacles-at-30-mph-5059 <comment><USER2> [https://news.ycombinator.com/item?id=10495966](https://news.ycombinator.com/item?id=10495966)

</comment><comment><USER3> 120 frames per second is pretty fast but my first question would be that can it avoid, say, a bird flying towards it?</comment>


Getting Alexa to Respond to Sign Language Using Your Webcam and TensorFlow.js - <AUTHOR> https://medium.com/tensorflow/getting-alexa-to-respond-to-sign-language-using-your-webcam-and-tensorflow-js-735ccc1e6d3f <comment><USER2> ASL student here. I just wanted to highlight how many challenges there are to translating, even for humans. Here's two examples.

First is dialect. One would think the Internet/youtube/videochat would vaporize geography differences, and it's starting to happen, but that's not (yet) the case. Lots of signs have "synonyms" based on signer's preference, etymology, who they learned from and who they hang out with, etc.

Another is grammar. What OP is doing in his video, for example is English grammar, where signs are directly substitited for words. But ASL has its own sign order, modifiers like facial expressions, and idioms for brevity. For example "have you ever been to San Francisco before?" might be "SF TOUCH YOU FINISH" with raised eyebrows at the end, as a modifier. Note also there are no conjugations or articles like some languages, but there are pronouns. In fact, there are local bindings where you make up a sign name for someone on the fly and then use it during a conversation.

I think with large enough training sets, this will all be mitigated, like Google needed years of speech samples to get Translate working okay.

<comment><USER3> I took 2.5 years of ASL in University, and I've always been annoyed by this, but had a hard time describing what I mean to others. You have just summed up the problem perfectly in a few sentences, and I thank you for that.

That said, I think the OP is still on the right track here:

> I put it together so you can train it on your own set of word and > sign/gesture combos.

A Deaf person should be able to train the system on each command they want so that it works for them automatically in the dialect they want.

> there are local bindings where you make up a sign name for someone on the > fly and then use it during a conversation

My very favourite thing about ASL, having learned programming beforehand, was that I could assign people to variables/registers in space. "John _point at spot to my left_ said to Susan _spot on right_ bla bla bla" and then later be able to just point at my left and everyone knows I mean John. And then if John moves to the right, I've just moved him into that register and can reassign the left one to someone or something else. And with a group of experienced Signers, everyone just comprehends this perfectly.

<comment><USER2> Ah, pointing at sign space for someone... I like to think of that like a pronoun (there's probably an official term).

There's also this thing where you introduce a character, then make up a "temporary name sign" on the fly. Don't know what that's called either :)

<comment><USER4> The term is 'deixis'. Not sure about the latter.

</comment></comment></comment></comment><comment><AUTHOR> GitHub: [https://github.com/shekit/alexa-sign-language- translator](https://github.com/shekit/alexa-sign-language-translator)

Web Demo: [https://shekit.github.io/alexa-sign-language- translator/](https://shekit.github.io/alexa-sign-language-translator/)

</comment><comment><USER5> Hey, I'm the guy who made this! Happy to answer any questions that the blog didn't address

<comment><USER6> Do you think you could get this to work for Google Assistant as well?

Does ASL-to-text already exist outside of voice assistants, or is that part totally new?

</comment></comment><comment><USER7> Whoa, this is really cool! My wife knows sign language and I showed her this and she was impressed, and had so many questions about how it worked =) I love the innovation — Thanks for sharing!

</comment><comment><USER8> Interesting I think if I were approaching BSL sign interpretation I'd start with recognising hand shapes, and then move on to other elements of sign notation ... in theory then you could feed the system a dictionary and recognise all signs.

I think BSL uses a variant of Stokoe notation.

Presumably the system of the OP could be modified to recognise dance/skating/snowboarding/martial arts moves.

It seems that once you have an ability to model every aspect of body position from video (as there doing for enhanced love-action sequences in movies now) that this sort of thing becomes much easier.

</comment><comment><USER9> This looks interesting. I'd be interested to see how the set-up works when it is trained with someone that signs natively.

Most of my experience in the deaf community has been at trivia nights where the signing is incredibly fast (to me) and grammatically loose (just like everyone that's voicing at the bar).

In the end I think it's an invaluable avenue to explore, the tech is important no matter what the end device looks like. Great work.

</comment><comment><USER10> Love the concept, great work. Came across these guys who are working on making travel more accessible for the deaf community. I would see some overlap in using Alexa to make more voice inclusive content accessible

[https://startupyard.com/meet-deaftravel-building-a-better- in...](https://startupyard.com/meet-deaftravel-building-a-better-internet-for- deaf-people/)

</comment><comment><USER11> This is similar to an AWS DeepLens community project called ASLens [https://aws.amazon.com/deeplens/community- projects/ASLens/](https://aws.amazon.com/deeplens/community-projects/ASLens/)

</comment><comment><USER12> Although off topic, I loved your paper with Schmidhuber, hardmaru. :)

</comment><comment><USER13> hi

</comment><comment><USER14> How many are keeping using alexa/echo these days? mine were turned off months ago and never felt the need to switch them on again, phone does pretty much everything I need, actually it does more than what I need.

plus I don't feel comfortable that there is a silent listening device lurking 24x7 for all family members, so it is not just they're useless, but I intentionally do not want to have them on at all 99% of the time.

the only amazon device I use is FireTV for netflix and Amazon prime video, all amazon ereaders, echo, alexa are replaced by my cellphone...

to that extent, i feel amazon stock price is too high, too much hype for the alexa/echo/kindles at least in my opinion

<comment><USER15> Every day I am at home for weather, timers, lists.

<comment><USER14> and phone does it all, plus being portable on-the-go

<comment><USER15> Yes and we even did all these things before a phone and life was fine. The question wasn't if I use the Echo to do things that are impossible otherwise.

I cook a lot and I find it a lot easier to just say "Alexa set a chicken timer for 15 minutes" or "Alexa add black pepper" than it is to get out my phone and do those things.

<comment><USER16> agreed -- being able to verbally set timers is very valuable to me. Also I have Lifx bulbs in my living room and it is much easier to tell Alexa to turn them on/off/change brightness than it is to get out my phone. I only use the phone app for that when I want to set up some custom color thing (which is pretty rare tbh)</comment></comment></comment></comment></comment>


Real-time OCR/translation of Chinese text through iPhone video camera - <AUTHOR> http://www.youtube.com/watch?v=x7VTo0656Rc

<comment><USER2> Pleco is an awesome piece of software, even on my old Tungsten. Having the SRS flashcards integrated with the Chinese dictionary and a text reader is just indispensable. I couldn't imagine learning Chinese without it.</comment>


Triangle (RTP, NC) Places 5th in "Top 25 Tech Cities" Report - <AUTHOR> http://wraltechwire.com/triangle-places-no-5-in-top-25-tech-cities-report-/16750303/ <comment><USER2> Just an FYI that this "top" list was created by a real-estate company, not by journalist nor some other independent party. IOW: caveat emptor.</comment>


Show HN: Puppet Master – Headless Chrome as a service - <AUTHOR> https://puppet-master.sh <comment><AUTHOR> Hi HN!

If you run any kind of automation with a browser, you know how difficult it can be to get screenshots that look like they would in a real browser.

Puppet Master is a simple REST API to allow you to grab screenshots and PDFs of any web page, rendered in real Chrome. It's totally free to try!

It's built on top of Headless chrome, but because it's a REST API, using it is as simple as calling a URL, making it perfect if you're unable to run Headless Chrome in your environment. It also scales infinitely because it's built on top of a serverless architecture, and the pricing scales with your usage.

Puppet Master has been built on top of saasify.sh, a platform we're building to make it easy to turn your open source software into a fully functional SaaS product. We all love open source, and believe that open source developers should be able to make an income from their valuable projects!

All feedback warmly welcomed!</comment>


Ask HN: Anyone wants to get Junior level Django assistant for free? - <AUTHOR>

I am looking for a team with experienced django devs.
I have built very simple backends for Android/iOS apps in Django, built api backend with rest framework, but still feeling lack of knowledge.
When I start project I always open additionally at least 2 things, django source codes and django docs,
if I am working with rest_framework then it will be also opened. I think I may need some mentoring from experienced devs or teams, since they have smell and taste of django.
If you think you need additional help on your project and your team has senior django developers, please feel free to contact me, I will contribute to your project for free.
I have decent experience in C/C++, Java, android development, but I want to dive into django and web dev. recently.
tuyguntn at gmail dot com <comment><USER2> Where are you based? (Update your HN profile)

If you're in London, email me, we're hiring

<comment><AUTHOR> I am based in Central Asia, I would appreciate if you consider telecommutes.</comment></comment>


"Twitter Tax Break" Netted SF More in Tax Revenue - <AUTHOR> http://techcrunch.com/2014/10/27/twitter-tax-break

<comment><AUTHOR> I posted this, but only to note that it's a bad analysis.

The author notes "this number counts companies that didn't take the tax exclusion like Uber and Square". Those 2 companies account for a huge part of the higher tax of that area. But it's unlikely the tax break had anything to do with it. Uber & Square moved into the (same, particular) building because it's one of the only buildings in SF with a giant floorplan. So it's unlikely that even Twitter's presence there made a difference in their decision. They moved there because they had to, to stay in SF.

In that sense, it's a strong argument against the tax break. These companies would have located in mid-market anyway. Even Twitter.. no chance in hell they would have moved to Brisbane. They would've lost so much talent, which would have been far more costly.

Also, another tip-off to the author's bias: she calls the people who argued against the tax break the "far left". Like, communists?</comment>


Ask HN: How do I pick the best brand name? - <AUTHOR>

Ok so I've come up with a half dozen brand names for a product that I'm developed, and I want to find a method to pick the best one. Of course I can ask friends and family, but beyond that are there any ways to run it by many people quickly and cheaply? Any ideas are really welcomed! <comment><USER2> If it's for a product, I say start with the name that most clearly communicates what it is that the product helps with / problem it solves. Think "Can Opener". That's the kind of name you want for your brand or product to start. Even the big brands started out more specific... McDondald's was "McDonald's Hamburgers" for a very long time before removing the Hamburgers. Apple was "Apple Computers Inc" a long time as well.

When you are small you have to be more specific because you have a lower number of impressions ( chances to talk to your potential customers ) and you need to make sure you are sending the right message. The big brands can afford to put their message in more places, so they can be more abstract. Small brands don't have that luxury.

</comment><comment><USER3> Make sure there are no live trademarks associated with the name. Also, go for a natural sounding made up name and avoid combining common dictionary words, it's more defensible that way. Use the wordoid tool for this purpose.

</comment><comment><AUTHOR> I guess what I'm wondering is if I follow those suggestions and I end up with maybe 3 candidates, how do I select between the 3? The obvious answer is to ask friends and family and then ask facebook friends. Beyond that though, was wondering if there might be another way of picking a winner.

Also: 1\. Thanks for your comments people - genuinely appreciated 2\. Wordoid is awesome! Never seen it before, but its a lot of fun! Will certainly play around with it 3\. Yeah, I'm ruling out anything that doesn't have a free .com domain name (twitter handle gets bonus marks!)

<comment><USER3> One thing you could do is lock down the brands you've chosen (all social media services, Gmail acct, domain + privacy with a deep discount promo code, etc) and put up temp pages (i.e., Launchrock). Then soft promote them (PPC, build links, Facebook, etc) and see which one resonates better with your target market. Don't spend too much money/time on this though unless it's for a project where you can recoup your costs/investment. Keep in mind though that people typically associate more with what's actually behind the brand - quality/consistent blogging, engaging conversation on Twitter, insightful presentations, video, events, etc. - and that's where you'll find the traction/following that will eventually build your chosen brand.

</comment></comment><comment><USER4> Write it down. Does it look nice?

Is it easy to type?

Is the spelling obvious?

Is it easy to pronounce?

Does it explain something?

Does it sound similar to something else? If so, is this a good thing?

<comment><USER5> Also, does it have a good domain name free, and a domain name that fits your market? If your market is old ladies, you may want to avoid choosing a ".io" address.

<comment><USER6> Also, try Googling the name to see what shows up right now (kind of similar to it sounding like something else) and check if the most obvious twitter handle is available or not.

</comment></comment></comment><comment><USER7> Besides the obvious (lignuist's post is good)

One thing my friend did with naming his service was to ask his friends about the names. Two weeks later he called them back up and asked: What was the name of the service I asked you to name? He overwhelmingly got 1 answer that they could remember.

</comment><comment><USER8> I used Amazon Mechanical Turk to run a multiple choice survey. That got me several hundred opinions in a day or so. (Make sure you have the domain reserved first, just in case.) It is fairly easy, even if you haven't done it before.

</comment><comment><USER9> If you ended with only two names, try Pickfu.com to choose the best. It worked for me really well, I got 150 people reply in about 2-3 hours.

</comment><comment><USER10> This is an amazing blog about naming <http://www.thenameinspector.com/>

</comment><comment><AUTHOR> Ok, what I might do is Ask HN to pick from my 3 favorite brandname candidates!</comment>


BetaHacks totally copied Venture Hacks - <AUTHOR> http://betahacks.com

<comment><AUTHOR> Just to share my experience <http://collaborable.com/blog/betahacks-launched- in-12-hours>

Used a lot of patterns I had laying around, like the Disqus + jQuery ajax hackery, and obviously some design cues from my original blog.

The first thing I thought someone might say is "omg that's like venture hacks", and to immediately say that they were an inspiration.</comment>


The magic of Fibonacci numbers – Arthur Benjamin - <AUTHOR> https://youtu.be/SjSHVDfXHQ4?t=122 <comment><AUTHOR> You already knew that adding two consecutive Fibonacci numbers results in a third Fibonacci number...

But, did you know that adding the _squares_ of two consecutive Fibonacci numbers -- results in a non-squared Fibonacci number from the original Fibonacci sequence?

(See the video for a more visual representation...)

To me, the fact that it does that is nothing short of fascinating...

<comment><USER2> > To me, the fact that it does that is nothing short of fascinating...

Indeed, yet some people tell us we invent maths, not discover it.</comment></comment>


Vulkan – Graphics and computing belong together - <AUTHOR> https://www.khronos.org/vulkan <comment><USER2> I applaud this effort. I hope we can get to a point where a GPU requires as many drivers as a CPU.

I think one of the primary reasons more people don't target GPUs to offload computation, is because it -- most often -- requires proprietary drivers running on the host OS, for it to work (at an acceptable speed).

Imagine if putting an AMD of nVidia card in your box was the same as adding a CPU. If you wanted to write OpenCL to execute on the GPU, thread allocation, memory management etc. for that would be part of an open source OpenCL library, that your application links to, and then you can write OpenCL kernels that execute on the GPU via these libraries. No need for proprietary driver blobs running on the host machine.

I hope we can get to a point where trying to sell a GPU that requires a proprietary driver running in the host OS is as viable as trying to sell a CPU that requires the same.

<comment><USER3> I thought CPUs _did_ have binary blob drivers, both in the BIOS and on the operating system.

<comment><USER2> A driver is always required in order for the OS to speak to hardware. That's essentially what a driver is: an interface between software and hardware.

With CPUs, the code needed to run in the host OS (the driver) is fairly simple code that gives access to the CPU hardware more or less as it is: practically speaking, everything the CPU itself can do, the compiler can output code to do directly. The output of the compiler (eg. gcc) is sent more or less as-is to the CPU for execution.

With a GPU, we have a large chunk of proprietary code running in the host OS (the GPU driver), which provides a 3D API interface, such as OpenGL or Direct3D, to the GPU hardware. There is a huge difference between what is sent to this driver code, and what the driver sends to the GPU hardware.

Applications submit, eg., OpenGL instructions to this driver, the driver compiles these OpenGL instructions into code that will execute on the GPU, and sends it to the GPU. So the GPU driver essentially acts as a closed source compiler, that compiles from OpenGL/Direct3D into whatever intermediate language the GPU accepts, which the GPU may further compile into something that its processors can execute.

So for a CPU, the compiler does most of the work, while for a GPU, the driver does most of the work, and actually functions as a closed source compiler. On top of that the driver handles memory management, and automatically allocates memory according which OpenGL instructions are executed.

Imagine if Intel provided a CPU that you could only use to execute Python code. It would require a closed source driver to work. This closed source driver would compile Python code submitted to it into some unknown instructions that execute on this CPU. It would also have exclusive control over an area of memory, that the driver would automatically allocate portions of, to store data from Python variables. That's essentially what nVidia and AMD offer, except the hardware is a processing unit that comes with its own RAM, and the language is OpenGL/Direct3D and not Python.

<comment><USER4> Wasn't this approach taken with good reason though? So the effort to get code running on multiple GPUs was a reasonable? Remember the days of when games would only support select GPUs?

Sure you could have a standard like i386. But isn't it the case that there is a lot more innovation happening in the GPU architecture space making this very difficult?

<comment><USER5> GCC supports waaaaay more different CPU architectures than these drivers do for GPU architectures. This argument has no merit. The only purpose for these closed architectures is vendor lock-in.

<comment><USER6> And every vendor has an HLSL and a GLSL shader compiler. You also usually don't ship ten different binaries for ten different architectures, which you would need to do for GPUs.

<comment><USER7> In this model I think you'd distribute something in an intermediate bytecode, like .NET does w/ MSIL, and then the target system would be responsible for precompiling.

Edit: just saw this:

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

</comment></comment></comment></comment></comment></comment></comment><comment><USER8> I had a long debate on multiple forums recently regarding the almost uselessness of OpenGL in presence of something like OpenCL, especially when OpenGL does its job (as a graphics library) in a very crappy manner by trying to be part-framework, part-library, and not doing either properly, and making the life of a graphics programmer a living hell, who has to code 80% of the graphics pipeline by hand or using third party matrix libraries anyway. I realized this very strongly when I considered doing graphics using OpenGL but with a photorealistic renderer like a path tracer.

Currently the only reason for OpenGL over GPU being inevitable is that GPU vendors don't provide access to "non-GPGPU" parts (like TMU, ROP) directly to OpenCL (or CUDA), which is clearly a matter of design rather then technicality.

Unsurprisingly, people were offended or upset (you either don't use OpenGL, or you end up defending it against criticism, subconsciously, because you have invested so much time learning it).

I hope something good comes out of this initiative.

<comment><USER9> I've spent 15 years working on OpenGL, but I'd kick it to the kerb in a heartbeat.

AMD and NVIDIA are free to implement Vulkan on Windows and Linux, but the problem is that we will probably be stuck with OpenGL 4.0 on Mac OS X for the foreseeable future.

<comment><USER10> I don't know too much about the topic (I wish I did), but how what makes you think so? I see that it says "Will work on any platform that supports OpenGL ES 3.1 and up" and Apple platforms seem not to support that (as of now). However Apple is part of the working group, doesn't that make it very likely they are working on an implementation, too?

<comment><USER11> Apple are traditionally tardy when it comes to OpenGL. Yosemite is still on 4.1 (2010 release), lacking support for things like compute shaders.

<comment><USER12> It seems like it's unfair to say "Apple are late with OpenGL features." The third parties could put the same effort into making drivers for OS X that they do into making them (and their crapware frontends) for Windows, but they don't. I may be wrong, but it appears to me that it's Apple doing most of the work.

<comment><USER13> There's not much hard information on how Apple deals with graphics drivers, but from what I gather they use a unified in-house OpenGL frontend for the hardware-independent layer, then defer to a modified version of the vendors driver for the low-level stuff.

Their frontend only implements up to GL 4.1, so even if the vendors were to release drivers independently there would be no way for an app to access the newer functionality through the OS X frameworks.

</comment></comment></comment></comment></comment></comment><comment><USER14> I noticed the very significant working group members at the bottom of the page. If that is nearly as good as it looks, I'm very hopeful.

Here is the press release: [https://www.khronos.org/news/press/khronos- reveals-vulkan-ap...](https://www.khronos.org/news/press/khronos-reveals- vulkan-api-for-high-efficiency-graphics-and-compute-on-gpus)

It seems Valve will work hard on it:

"Industry standard APIs like Vulkan are a critical part of enabling developers to bring the best possible experience to customers on multiple platforms," said Valve's Gabe Newell. "Valve and the other Khronos members are working hard to ensure that this high-performance graphics interface is made available as widely as possible and we view it as a critical component of SteamOS and future Valve games."

Technical previews will be shown at GDC this week.

</comment><comment><USER15> So it looks like this is the Khronos answer to Mantle/Metal. Does anyone have a quick summary comparing the three? Is Vulkan just targeting game developers or is there a wider set of use cases they want to hit? Is there any current guess about when hardware/software support will come? Can we expect a WebVulkan sometime before 2025?

<comment><USER16> Vulkan is the evolution of Mantle (get it... get it :)) ?) AMD contributed a lot to the development of this API and then collaborated with Microsoft to create DX12. Mantle will remain as a testbed of future technologies

<comment><USER17> I get that AMD wants this because it will make CPU performance less important for gamers, as they can't currently compete against Intel here. AMDs APU concept would become more attractive that way.

Valve etc. want this because OpenGL sucks, but DX is Win only.

Microsoft will want to defend its DX stronghold - can they, on a technical level? Will Nvidia play along?

<comment><USER18> > Valve etc. want this because OpenGL sucks

Actually Valve labeled OpenGL to be "shockingly efficient" in one of their presentations (postmortem of porting the Source Engine to Linux).

<comment><USER13> I went back and checked, it was actually an nVidia guy who said that. Rich Geldreich from Valve was also there but he's expressed nothing but disdain for OpenGL since he left the company:

> "I know it's possible for Linux ports to equal or outperform their Windows > counterparts, but it's hard. At Valve we had all the driver devs at our beck > and call and it was still very difficult to get the Source engine's perf. > and stability to where it needed to be relative to Windows. (And this was > with a ~8 year old engine - it must be even harder with more modern > engines.)"

[http://richg42.blogspot.co.uk/2014/11/state-of-linux- gaming....](http://richg42.blogspot.co.uk/2014/11/state-of-linux-gaming.html)

<comment><USER18> > I went back and checked, it was actually an nVidia guy who said that.

Hmm, makes sense. But then NVidia really _loves_ OpenGL.

</comment></comment></comment></comment></comment></comment><comment><USER19> From this diagram[1] it looks like they didn't get rid of the single thread bottleneck for submitting commands to the GPU (which can handle commands in parallel). Didn't Mantle allow parallel submission for that instead of using a single thread with one queue? DX12 supposedly allows that as well. If Vulkan won't allow it, it will be at a disadvantage.

1\. [https://i.imgur.com/x1CJO96.png](https://i.imgur.com/x1CJO96.png)

<comment><USER20> The idea that it's a bottleneck is wrong. Just because it's one thread doesn't make it a bottleneck. Draining from N queues into 1 queue and posting that work off to the GPU is never going to be a bottleneck. Even an arduino can handle that task fast enough to saturate the latest & greatest from Nvidia or AMD.

Also fwiw in DX12 even if parallel submission is supported, what's going to happen is N user threads are going to submit to 1 driver thread that then submits to the actual GPU.

<comment><USER19> I understood it that GPU itself can handle multiple commands concurrently, no? So if hardware supports it and there is just one thread submitting them, hardware isn't used to full capacity. Or that's wrong? And what's the point of making one thread do it, if multiple can? Queuing through one usually makes sense if you need some ordering.

<comment><USER20> Most GPUs cannot handle multiple arbitrary commands concurrently, but even if they can you're still going to easily saturate that with a single thread pushing over command buffers. The command buffers in this case are large, complex work units, not small microtransactions like the APIs of old.

And yes, ordering is needed here.

<comment><USER19> So how exactly then DX12 and Mantle do it? They don't appear to have such single queue manager thread. You said driver does that task. So if it does, can't it do it for Vulkan as well? Or their point is to reduce driver complexity here?

I can see that it might be not a major issue if time that takes it to fetch from the queue is way smaller than time it takes to execute some command [buffer]. I.e if queue manager will fetch and push commands to the queue, returning to fetch another without waiting for the first to finish, then it will work fine (it will have to handle GPU saturation though). But if it will be blocking - it will be some bottleneck which won't let using hardware fully.

<comment><USER20> Graphics APIs are almost universally non-blocking, this won't be blocking either.

Vulkan is basically a rebranded Mantle. I suspect you're just mistaken about Mantle, but as that API is not (yet?) open we don't really know if this was a change Khronos made when adopting Mantle or if this is just how Mantle works as well.

DX12 works the same as Vulkan, though, with a single submission thread ("The only serial process necessary is the final submission of command lists to the GPU via the command queue, which is a highly efficient process." [http://blogs.msdn.com/b/directx/archive/2014/03/20/directx-1...](http://blogs.msdn.com/b/directx/archive/2014/03/20/directx-12.aspx))

<comment><USER19> About Mantle, I saw this: [http://techreport.com/review/25683/delving-deeper- into-amd-m...](http://techreport.com/review/25683/delving-deeper-into-amd- mantle-api/2)

It shows that multiple queues can be used for one GPU. I guess Vulkan can allow the same but it's not clear from that diagram.

<comment><USER20> Take a look at that again. There's one queue per type. One queue for graphics, one queue for compute, and one queue for DMA. Note that multiple threads are all feeding the _single_ graphics queue.

<comment><USER19> I found the answer: [https://www.youtube.com/watch?v=EUNMrU8uU5M&t=19m50s](https://www.youtube.com/watch?v=EUNMrU8uU5M&t=19m50s)

Vulkan does support multiple command queues. And there can be several queues of the same type for one GPU.

</comment></comment></comment></comment></comment></comment></comment></comment></comment><comment><USER21> Looks quite nice, actually.

I thought it might have turned into a LongPeaks 2.0, but from the initial overview it is quite interesting.

And I really like it seems to be moving forward into a more language agnostic friendly API and better tooling support.

</comment><comment><USER22> Very exciting! I wonder: when will we be able to start making projects with this? It would be interesting to see how it compares with OpenCL when it comes to doing things like Bullet physics' GPU rigid body solver and so on. Also, of course, ray tracing! :D

<comment><USER23> Maybe there isn't a spec yet, but it seems there are demos running through vulkan: [http://blog.imgtec.com/powervr/trying-out-the-new-vulkan- gra...](http://blog.imgtec.com/powervr/trying-out-the-new-vulkan-graphics-api- on-powervr-gpus)

<comment><USER22> Thanks, this article has some really useful comments. Here's another thread on r/gamedev about it[1]. Not much discussion as of now but hopefully as people wake up it may have interesting comments too.

[1]: [http://www.reddit.com/r/gamedev/comments/2xrobv/an_overview_...](http://www.reddit.com/r/gamedev/comments/2xrobv/an_overview_of_vulkan_the_new_graphics_and/)

</comment></comment></comment><comment><USER24> The headline made me expect several things until I saw that it was Khronos, the group that gives us, among other things, OpenGL API's. Looks like the Next Generation OpenGL is getting more ready to show off.

With Metal and Mantle, it was clear that graphics programmers were wanting to use GPU's at lower levels of abstraction to more efficiently utilize the design of GPU's, which have a much different architecture than a decade ago. Without a corresponding option that is standards compliant, low-level API's are threatening to fragment GPU programming.

One operation I didn't see any mention of that seems to have some future role, albeit completely uncertain, is the Heterogeneous System Architecture Foundation spear-headed by AMD and having seemingly every chip-maker except Nvidia and Intel on-board.

As GPU stream processors get more CPU-like but are natural at parallel processing, it is a matter of time before we get the right abstractions so that map gets scheduled across many stream processors and is reduced by a higher-single-thread performance CPU and suddenly computer vision and many other naturally parallel data synthesis workloads are programmed in a less heterogeneous software environment and executed on chips where the stream processors and CPU's share a large amount of commonalities, possibly down to micro-op compatibility through something Nvidia could be pushing towards in their Denver architecture (as yet highly speculative).

To somewhat less than enthusiastic coverage, Nvidia has been building up their partnerships with automakers like crazy. Computer vision is obviously one of the applications that will be required in self-driving cars. Tango and other projects are also quiet beneficiaries of Nvidia tech maturing into the Tegra platform.

We have far from conquered programming and CPU design just because JIT's are good, 8GB of RAM is expected or GPU's can mine MHashes/s etc. We're in some future's bad-old-days. The idea that Khronos is involved in the unification of graphics and computing API's as well only makes the exciting question of who will drive our cars more intriguing.

</comment><comment><USER25> I find another aspect of this announcement VERY interesting: the SPIR-V immediate language.

I haven't finished reading the PDF [0] yet, but it looks like LLVM, but for hardware.

[0]: [https://www.khronos.org/registry/spir-v/specs/1.0/SPIRV.pdf](https://www.khronos.org/registry/spir-v/specs/1.0/SPIRV.pdf)

</comment><comment><USER26> It is surprising how much semantic significance is placed on whether a language is encoded in text or binary format.

SPIR-V looks to be a completely new format, not evolved from previous versions of SPIR. This new version is being described as a "fully specified Khronos- defined standard", which is great to hear.

</comment><comment><USER27> _" Rapid progress since June 2014"_

Gee, I wonder what happened in June 2014 to inspire this....

<comment><USER28> What did happen?

<comment><USER29> I think he's reffering to mantle at WWDC.

<comment><USER20> Mantle is from AMD and dates back to 2013. It has nothing to do with Apple or WWDC.

You're thinking of Metal.

</comment></comment></comment></comment><comment><USER30> I noticed that it says "the first shading language" to be supported will be GLSL. Does that imply that there will be a new shading language or extensible shading language facilities?

</comment><comment><USER31> Direct access to the GPU...is that done in some kind of sandbox at least? How do Mantle/Metal/DX12 do it?

<comment><USER32> »Direct« as in »a very thin layer around the GPU's capabilities and workings«, instead of what OpenGL does currently with massive amounts of state that the driver has to handle and a movel that doesn't at all work like the GPU does. This removes a quite hefty translation layer between your software and the GPU, leading to better performance, fewer hacks and workarounds (hopefully), etc.

</comment></comment><comment><USER19> Now let's hope lock-in proponents won't sabotage this effort.

</comment><comment><USER33> Will Playstation 4 support this? That would benefit it a lot. I'm assuming Xbox One won't.

<comment><USER34> The PS4 doesn't even support standard OpenGL, why would they support Vulcan?

<comment><USER18> Because Vulcan is very much like the APIs you use on console development to talk to the GPU. With the main difference that it's been designed to be GPU vendor neutral.

<comment><USER21> Console vendors have always designed their own APIs why change now?

<comment><USER35> I would imagine it comes down to costs. If this api does a good job, why spend the effort (read: money) to create a new one with all of the tooling around it?

Though, I should note I doubt this will really save much. Just, on paper it is a costs savings. (Unless, as usual, I'm wrong on something.)

<comment><USER21> Consoles tend to have custom hardware architectures that don't map at all to generic APIs.

<comment><USER35> I think that was a more true statement before MS enterred the game.

Also, for something as low level as this api sounds, it probably mapped decently, while still requiring another set of primitives for processor and memory control.

That is, I think the point of this api is to be a subset that can remain a bit more common between platforms. Not the all inclusive api that rules everything.</comment></comment></comment></comment></comment></comment></comment>


SpaceX launch livestream: EchoStar 23 - <AUTHOR> These webcasts will go live around 20 minutes before the launch; the countdown that you see prior to the webcast appearing is the launch time, not the start of the webcast.
Hosted webcast: https://www.youtube.com/watch?v=lZmqbL-hz7U (lots of talk)
Technical webcast https://www.youtube.com/watch?v=zl8mi7laQGk (minimal talk)
Static test fire from 4 days ago https://www.youtube.com/watch?v=qaucbI3rvQA
This is a launch of a relatively heavy communications satellite to GTO. As a result there will be no attempt to recover the booster stage. Perhaps the last intentionally expendable SpaceX launch? <comment><AUTHOR> Scrubbed due to winds. Ah well.</comment>


Ask HN: What about women on HN? - <AUTHOR> Out of curiosity: I wonder what the share of women on HN is. There are no real names or pictures on profiles so it's really hard to say. Somehow though in my head all HN users appear as men. I hope that's not true. Is there any way to falsify? <comment><USER2> There are women here. Some of them actively hide or downplay their gender. My experience has been that even with being very open about my gender, I am sometimes misgendered by people assuming I am male. I know no means to put a stop to that and I feel that being too pushy about it would be counterproductive.

This is a new handle, but my original handle has 25k karma and is still on the leaderboard. As far as I know, I am the only woman on the leaderboard. If so, out of 100 names showing on the leaderboard, only one is a woman. This is really low even in comparison to the 17 percent figure often cited for female CEOs.

So, yeah, it is an overwhelmingly male forum, but I have been here over 8 years and I am fairly confident that the appearance of male domination is even worse than the reality. I see questions like yours from time to time, and the best I can tell you is that data over the years suggests that a) at least 2 to 3 percent of the active membership is female and b) this figure is probably a case of underreporting. There are probably more women here, it just doesn't look it.

It seems to me to be getting better.

<comment><USER3> > It seems to me to be getting better.

Why more women in a forum where apparently not many women want to participate is getting better? I mean, I'm black and we are also disproportionately represented here and I hope this to change sometime, but it would make HN atmost more suitable to me and other people of color, not necessarily better at what HN is made for.

<comment><USER2> I find your phrasing unclear, so I don't really understand what you are asking.

<comment><USER3> > Why more women in a forum where apparently not many women want to > participate is getting better?

s/is/would be

<comment><USER2> That doesn't help me.

Are you asking what mechanism is causing improvement? Are you asking why it would be a good thing to have more women here? Or something else?

Because the rest of your paragraph seems to suggest it is fundamentally not a good thing and possibly actively harmful to either HN or YC or both, which makes it really challenging for me to try to engage you at all because it feels openly hostile to my very participation.

<comment><USER3> So the problem wasn't my english, you already had understood the question. Now your reply doesn't help me. It is not logical to ask why put more people that don't enjoy hang around would improve something? So I'm asking why should HN actively change itself to be more engaging to women? And how?

<comment><USER2> You assume women don't want to be here. I see it otherwise. Women want to be here, but the climate is not very welcoming of them.

 _So I 'm asking why should HN actively change itself to be more engaging to women? And how?_

HN isn't required to do anything at all. It looks to me like both YC and the moderating staff of HN would like to foster diversity. That is their choice. I try to respect that fact.

I have worked hard at trying to fit in because I want to be here. I know a lot about social phenomenon. If one woman can figure it out, this will tend to open doors for others. That is simple reality and has nothing to do with me trying to change HN. In fact, to the degree that new women so often take it for granted that they are welcome here, have no idea how hard I have worked to fit in and how that makes it easier for them and then quite often are personally ugly to me, I often regret any role I have played in opening doors for other women here. It seems to be of zero benefit to me and to very often bite me in the butt.

Your hostility in this most recent comment seems to be much more blatant and not a matter of misunderstanding. So, if you will excuse me, I don't plan to engage you further.

<comment><USER3> > Your hostility in this most recent comment seems to be much more blatant and > not a matter of misunderstanding.

All your replies to me were hostiles and some of them complaining about my hostility. I wasn't hostile at any time, my question was on the subject of the topic but every answer of yours you tried to frame me as hostile. Because you feel that women are hostilized here. I feel that black men are hostilized here too. By men and women. But most of the times I'm hostilized it is directly correlated to the angriness in some of my replies. I don't think that bring more black people ready to engage in flamewars about why there aren't many of us here will do any good to HN and neither them will enjoy the experience. Tech savvy black people will. And I think exactly the same about women on HN.

"Ask HN: What about women on HN?"

<comment><USER2> My initial request for clarification was in no way hostile, nor a criticism of you. I am sorry you are so very angry, but I see no reason why I should be the target of your anger.

Also, there is no requirement here to be in tech. There are men on the leaderboard in other professions. There are plenty of respected members here who are teachers, doctors or lawyers. The suggestion that a woman or black person needs to be "tech savvy" is just another means to exclude them.

Since you are black, it really isn't in your best interest to suggest that people who are not white males need to pass additional tests to be here. And if you think flamewars will degrade the site, then look to the man in the mirror. Your anger is part of the problem.

I do all in my power to be the antithesis of an angry woman just here to start fights. I imagine my commitment to trying to engage in good faith in spite of it being an uphill battle to do so is a key element of how I became the first woman on the leaderboard.

<comment><USER3> > I do all in my power to be the antithesis of an angry woman just here to > start fights.

Doesn't look like that at all. I weren't the one with weapons at hand in this thread.

> Since you are black, it really isn't in your best interest to suggest that > people who are not white males need to pass additional tests to be here.

My only test is that someone here has to fit and add to this tech community to not feel hostilized otherwise it'd be in their best interest to find over time their position here in place of screaming out loud that they should be more accepted (of course, respecting the guidelines objectively, not subjectively). Show, don't tell. The same way you got your position in the leaderboard. I've remember reading a lot of comments from you (Mz?) that I sure upvoted because it contributed to the discussion.

</comment></comment></comment></comment></comment></comment></comment></comment></comment></comment><comment><USER4> [https://hn.algolia.com/?query=I%27m%20woman&sort=byPopularit...](https://hn.algolia.com/?query=I%27m%20woman&sort=byPopularity&prefix&page=0&dateRange=all&type=comment)

<comment><USER5> As expected, it's mostly threads talking about women, sexism, etc.

<comment><USER4> The question was "Somehow though in my head all HN users appear as men...Is there any way to falsify?"

The results list multiple "I'm a woman in tech and <blah> <blah>", thus falsifying OP's assumption. What they were talking about is irrelevant to OP's question.

</comment></comment></comment><comment><USER6> Well yes. If one woman posts on HN then your theory is false.

To answer your question yes there are women who post here, but they are in the minority.

</comment><comment><USER7> (Raises hand.) I don't advertise my gender, and most people who refer to me by a gendered pronoun assume I'm male. I don't usually bother to disabuse them of that notion, because it's typically irrelevant to the current topic of conversation. Exactly once did someone call out that assumption, which I appreciated.

HN is a perfectly comfortable place to be a woman... in conversations that don't touch at all on social issues.

On those that touch on lifestyle and family structure, I find that the assumptions here tend to be different than in other (not tech or startup oriented) communities I frequent. The direction of the discussion often implicitly hinges on the notion that anyone participating in the conversation either is single and childless or has a partner who is responsible for all things related to home and childrearing. That if one parent is going to prioritize childrearing over career it will be the mother. Etc.

It's not hostile. It's just... uncomfortable. The source of a lot of cognitive dissonance and a sense of being an outsider. A lack of identification and support within the community. If I brought it up in those contexts, I would expect to be shouted down by some for being off-topic and by others for being "shrill".

Then there are the topics that touch explicitly on gendered issues. Gender equality and the imbalance in tech. Sexual harassment in the workplace. Etc.

Those discussions are much less excruciating than they were even five years ago. And that's saying a lot because they are still extremely uncomfortable for me.

Oh, if it's about something truly egregious and inexcusable like a rape caught on video, I'm confident that the community here will express appropriate outrage. (Despite the very vocal 0.5% who post enough to make themselves look like 5% and will inevitably find a way to blame the victim. At least these days those schmucks generally get downvoted into oblivion. That wasn't always the case.)

But if there's even the slightest bit of uncertainty, the community as a whole seems to get defensive and use that as an excuse to question any claim that a man wronged a woman or that there might be society-wide biases that interfere with women a) getting equal consideration for opportunities or b) being able to just do their damn jobs or disagree with someone in discussions on the internet without having to fend off anything from leering to rape-and-murder threats.

That's probably, again, a tiny group of reactionaries being extremely vocal. But I don't see enough of the rest of the community making it clear that that's what they are.

In short, there are times (not all the time, but sometimes) when HN feels like a hostile place to be as a woman. There have been at least a few times when I've rage-quit (for a few weeks at least, the addiction is too strong). I've even abandoned a few accounts here in the past out of frustration or even fear generated by that hostility.

Those conversations are a tiny minority of the ones I have here, but they have a hold on my perception of the community that's disproportionate to their frequency because, well, adrenaline will do that to the brain.

In short, MOST of the time HN is a perfectly fine place to be a woman. Sometimes it's uncomfortable, but heck, to some degree the _world_ is an uncomfortable place to be a woman. But on occasion it's hostile.

It's come a long way, but there's still a lot farther to go.

And if women who check out the community don't register accounts or don't stick around or don't participate... or even if they don't reveal their gender, those may be some of the reasons why.

By the way, I've been a member of co-ed communities where the default assumption upon meeting someone with a non-gendered handle was that they were female. The perception and assumption here that everyone is male is a self- reinforcing stereotype. It's like walking into a mall and thinking you don't see anyone who's gay if you don't see any men holding hands with one another. There are almost certainly gay people there, they're just invisible to you because you don't think to question the assumption that each person you encounter is straight.

There are more women here than you think.

</comment><comment><USER8> why do you picture all posters on HN to be men?

that seems to say more about you than anything else.

<comment><USER9> Maybe all the ones you see with a public profile seem to be male. Could be that everyone they've met in person who's on HN is male. You could argue there are more subtle cultural clues in something like typically male styles of interaction (the classic HN nitpicking is easy to imagine as related to "mansplaining"). Etc.

<comment><USER8> I see no reason in that for anyone to assume an entire internet forum to be exclusively one gender. Someone sees a set of interactions that they assume to be between a single gender, so they assume everyone is that gender?

<comment><USER9> The original poster is saying "somehow in my head HN posters appear as male". That doesn't really mean the poster is assuming that HN is actually 100% male. It's a description of his or her imaginative process, which is a matter of great psychological and sociological complexity.</comment></comment></comment></comment>


Last week was my first week at Acorn and I loved every minute of it - <AUTHOR> https://medium.com/@azizmorsly/last-week-was-my-first-week-at-acorn-and-i-loved-every-minute-of-it-7e93ec456d37 <comment><AUTHOR> A new app for making parenting life easier and keep our little ones happy! www.getacorn.com</comment>


Lime: Explaining the predictions of any machine learning classifier - <AUTHOR> https://github.com/marcotcr/lime <comment><USER2> Seeing this reminded me of an episode of TWiML&AI [0] (This week in machine learning & AI podcast). It features a very interesting discussion of how Stripe provides an explanation for their black box fraud model to customers when it chooses to block transactions. They basically have created an explanatory model which they train against the black box model and then run against the fraudulent transaction. It outputs the first explanation from a list of human interpretable explanations that would have changed the fraud decision from "Fraud" to "Not Fraud." This is one of the most interesting episodes in the show based on the number of times it has come up in conversation.

In looking up the show notes for that episode, I see that there is also a mention of this paper (in the OP), and that the authors were previously interviewed in TWiML #7 (which I haven't listened to).

0: [https://twimlai.com/twiml-talk-73-exploring-black-box- predic...](https://twimlai.com/twiml-talk-73-exploring-black-box-predictions- sam-ritchie/)

</comment><comment><USER3> LIME dates from 2016. For a more recent approach ("anchors") from the same authors see [https://homes.cs.washington.edu/%7Emarcotcr/aaai18.pdf](https://homes.cs.washington.edu/%7Emarcotcr/aaai18.pdf)

</comment><comment><USER4> SHAP[0] is another model-agnostic method for interpreting predictions. It's a bit newer and builds on LIME, Shapely, and a few other works. There's also an associated tool[1].

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

[1] [https://github.com/slundberg/shap](https://github.com/slundberg/shap)

<comment><USER5> Adding to the credibility, this was also accepted to NIPS-2017.

</comment></comment><comment><USER6> Essentially the tool seems to remove e.g. individual tokens from the input to a text-based classifier in order to determine their significance for the predicted class.

From the documentation:

> In order to figure out what parts of the interpretable input are > contributing to the prediction, we perturb the input around its neighborhood > and see how the model's predictions behave. We then weight these perturbed > data points by their proximity to the original example, and learn an > interpretable model on those and the associated predictions. For example, if > we are trying to explain the prediction for the sentence "I hate this > movie", we will perturb the sentence and get predictions on sentences such > as "I hate movie", "I this movie", "I movie", "I hate", etc.

<comment><USER7> Yes, but the perturbation principle applies beyond text classification. It also has special message for image data, as well as a general method for general numeric data.

</comment></comment><comment><USER8> > The model's decision function is represented by the blue/pink background, > and is clearly nonlinear. The bright red cross is the instance being > explained (let's call it X). We sample instances around X, and weight them > according to their proximity to X (weight here is indicated by size). We > then learn a linear model (dashed line) that approximates the model well in > the vicinity of X, but not necessarily globally.

So is this sort of like a local SVM classifier?

<comment><USER9> Not exactly, but you can "sort of" look at it that way, especially depending on the distance metric they're using to penalize distance from X, and any bias in sampling perturbed samples that are "near" X - the regression line will fit in the middle of a bunch of "support points" in the biased direction. It'd be much closer to an SVM than a regular regression line</comment></comment>