hacker news with inline top comments    .. more ..    16 Jul 2017 News
home   ask   best   2 weeks ago   
Apache Foundation bans projects from using React's BSD+Patent Code apache.org
562 points by thelarkinn  9 hours ago   185 comments top 34
numair 7 hours ago 9 replies      
Finally, people are beginning to realize the insanity of this entire PATENTS file situation!

When I first brought up how misguided people were for embracing React and projects with this license, I was downvoted to hell on HN. But really, everyone, THINK ABOUT IT. This is a company that glorifies and celebrates IP theft from others, and lionizes their employees who successfully clone others projects. Theyve built their entire business on the back of open source software that wasnt ever encumbered with the sort of nonsense theyve attached to their own projects. And this industry is just going to let them have it, because the stuff they are putting out is shiny and convenient and free?

Having known so many people involved with Facebook for so long, I have come up with a phrase to describe the cultural phenomenon Ive witnessed among them ladder kicking. Basically, people who get a leg up from others, and then do everything in their power to ensure nobody else manages to get there. No, its not human nature or how it works. Silicon Valley and the tech industry at large werent built by these sorts of people, and we need to be more active in preventing this mind-virus from spreading.

By the way, the fact that Facebook is using this on their mostly-derivative nonsense isnt what should concern you. Its that Google has decided, as a defensive measure, to copy Facebooks move. Take a look at the code repo for Fuschia and youll see what I mean. Imagine if using Kubernetes meant you could never sue Google?

captainmuon 2 hours ago 2 replies      
I think this is an overreaction (pun accidental).

There are two things here: The copyright license, and the patent grant. Copyright applies to the concrete implementation. You have to agree to the license to be subject to it, and to legally use the code.

A potential patent applies to any implementation. Even if you write a clean-room clone of React, if it uses the same patent, Facebook has a patent claim. But that means the patent grant is not specific to the code; it doesn't even require consent, Facebook could allow you conditional patent usage even without your knowledge! A corollary is that you are strictly better off with the patent grant, it imposes no additional constraints on you.

License with no patent grant: Facebook can sue you for infringing patents, even if you are using a clone!

License with patent grant: Facebook cannot sue you for infringing patents, unless you do it first.


Second, I think the philosophy behind the patent grant is twofold: 1) that software patents are not legitimate. Enforcing a patent is not seen as a legitimate right, but an annoyance, like pissing on someones lawn. From that point of view, it seems not asked too much from somebody to refrain from doing that. (I don't know if that was the idea of the people who drafted that license, but it wouldn't surprise me.)


Another, unrelated observation (and please don't invalidate the first observations if this one is wrong as internet commentators are wont to do):

I see nowhere in the license [1] that it requires you to take the patent grant. Is that true? It would be silly to refuse it, because you are strictly better off with it, of course.

[1] https://github.com/facebook/react/blob/master/LICENSE

fencepost 3 hours ago 2 replies      
I was interested in React based on what I'd read and was figuring it'd be worth looking into, but this provides all the reason I need to avoid it - I don't forsee a situation where I would personally or as a small company be suing Facebook, but I could see developing something then selling/trying to sell it to a larger company. If my code comes with a big side of "oh, and if you buy this you won't be able to sue Facebook or its affiliated companies for patent infringement" that could significantly hurt sales chances.
softinio 8 hours ago 2 replies      
I really have no idea why react is so popular with such a silly license.

I agree with this move.

There are plenty of OSS projects out there without patent thing attached to its license so no reason to use react.

vbernat 1 hour ago 0 replies      
Reading a bit more the thread, it's quite surprising. The assignee is Chris Mattmann. From his webpage, he is not a legal counsel. The only evidence of a problem they show is that BSD alone implies a patent grant but coupled with an explicit patent grant, this is not the case anymore. The other evidence is brought by Roy Fielding who does not appear to be a legal counsel either about a discussion (oral?) with Facebook's legal counsel that the license is incompatible with ASLv2.

The whole decision seems to have been taken by "not-a-lawyer" people with their own interpretations. Doesn't the Apache Foundation have some software lawyers they can ask?

chx 7 hours ago 2 replies      
RocksDB has fixed this https://github.com/facebook/rocksdb/commit/3c327ac2d0fd50bbd... now and moved to Apache / GPL dual license.
learc83 4 hours ago 0 replies      
If Facebook has patents that cover React functionality. They almost certainly cover parts of other JavaScript frameworks. React is well executed, but it's conceptually simple.

I don't think avoiding React makes you any safer. You don't know how broadly Facebook or the courts will interpret their patents.

mixedbit 1 hour ago 0 replies      
Does this mean that a startup that uses React becomes un-buyable for any company that sells or plans to sell patent rights to Facebook?
jorgemf 8 hours ago 2 replies      
Can someone explain how this can affect to projects using react, as in a part of a product of a company or personal projects? Thanks

I found this [1]:

> FB is not interested in pursuing the more draconian possibilities of the BSD+patents license. If that is true, there is actually very little difference between BSD+patents and the Apache license. As such, relicensing should make little if any pragmatic difference to Facebook.

So what happens if Facebook doesn't change the license and in the future changes its mind?

[1] https://github.com/facebook/react/issues/10191

tomelders 6 hours ago 2 replies      
INAL - But this seems strange to me. The Apache license has what I see as being the same patent grant, with the same condition that if you make a claim against them, you lose the patent grant.

Apache 2.0

> 3. Grant of Patent License. Subject to the terms and conditions of this License, each Contributor hereby grants to You a perpetual, worldwide, non-exclusive, no-charge, royalty-free, irrevocable (except as stated in this section) patent license to make, have made, use, offer to sell, sell, import, and otherwise transfer the Work, where such license applies only to those patent claims licensable by such Contributor that are necessarily infringed by their Contribution(s) alone or by combination of their Contribution(s) with the Work to which such Contribution(s) was submitted. If You institute patent litigation against any entity (including a cross-claim or counterclaim in a lawsuit) alleging that the Work or a Contribution incorporated within the Work constitutes direct or contributory patent infringement, then any patent licenses granted to You under this License for that Work shall terminate as of the date such litigation is filed.

The important bit being...

> If You institute patent litigation against any entity (including a cross-claim or counterclaim in a lawsuit) alleging that the Work or a Contribution incorporated within the Work constitutes direct or contributory patent infringement, then any patent licenses granted to You under this License for that Work shall terminate as of the date such litigation is filed.

But what people seem to be missing (as far as I can tell) is that you don't lose the licence to use the software. You just lose the patent grants. But with the BSD licence alone, you lose both the patent grand AND the licence. I really don't see how the Apache 2.0 License and Facebook's BSD+Patent Grant are any different.

j_s 7 hours ago 0 replies      
So push finally comes to shove.

Glad the long-term legal implications will be given serious consideration publicly, rather than the "this is not the droid you're looking for" I've seen nearly everywhere so far!

maxsavin 48 minutes ago 0 replies      
And now, for a tinfoil hat moment: even though companies like Microsoft and Google are using Facebook's libraries, it is possible that they have some kind of private deal in regards to the patents clause.
rdtsc 7 hours ago 3 replies      
I was wondering about a similar issue for zstd compression library. It has a similar BSD+Patentsfile thing.

There is an issue with a related discussion about it going for more than a year:


Last update is interesting. Someone did a search and looked for any patents FB filed for and couldn't find any in last year. So somehow based on that they decided things are "OK".

To quote:


US allows to patent up to a year after the publication, allowing to conclude that ZSTD remains free of patents (?) - suggesting this "The license granted hereunder will terminate, automatically and without notice (...)" from PATENTS file has no legal meaning (?)


Anyone care to validate how true that statement is?

flushandforget 22 minutes ago 0 replies      
Please can someone paraphrase the implications of this. It's hard for me to understand.
ec109685 4 hours ago 0 replies      
I don't understand how code with a bsd license without a patent grant is better for the apache foundation than facebook's bsd + patent license. With the former, the entity donating the source can sue you for patent infringement at any time.

Clearly the apache 2 license would be preferable (and what rocks db did), but I am puzzled the foundation accepts bsd code in their products, given their worry about patents.

Xeoncross 8 hours ago 1 reply      
> Does the additional patent grant in the Facebook BSD+Patents license terminate if I create a competing product?

> No.

> Does the additional patent grant in the Facebook BSD+Patents license terminate if I sue Facebook for something other than patent infringement?

> No.


Consider re-licensing to AL v2.0: https://github.com/facebook/react/issues/10191

vbernat 4 hours ago 2 replies      
How did Facebook was able to change the license of RocksDB so easily? The CLA is not a copyright assignment and therefore all contributors have to agree for the change. Did they contact anyone who has signed up the CLA?
tomelders 6 hours ago 2 replies      
Ok. With the BSD + patent grant

Do you have a license to use Facebook's patents? Yes.

Do you have a license to use Facebooks patents if Facebook brings a patent case against you? Yes.

Do you have a license to use Facebooks patents if you bring a patent case against us? No.

If you do not have a patent grant, can you still use React? YES!

If you're going to down vote this, please say why. This is how I interpret the license plus patent grant. If I'm wrong, I'd like to know why.

didibus 3 hours ago 1 reply      
So if I understand correctly, by using React, you agree that if you sue Facebook, you'll need to stop using React? And that goes no matter the reason why you're suing them for?

So say Facebook was infringing on one of your patent, you could still sue them, but you'd have to give up React if you did. Is that correct?

TheAceOfHearts 7 hours ago 1 reply      
In the discussion they say RocksDB will be relicensed under dual license Apache 2 and GPL 2.

There's already an issue [0] asking them to consider doing something similar for react, and Dan Abramov said he'd route the request internally on the next work day.

I can't imagine they'd keep the existing license without harming their community image. But even if they keep the license, many applications should be able to easily migrate to preact [1] and preact-compat, which provides a react-compatible API.

Hopefully they relicense the project. It seems like it's the first thing that gets brought up each time react gets mentioned.

[0] https://github.com/facebook/react/issues/10191

[1] https://preactjs.com

guelo 2 hours ago 0 replies      
I hate Facebook but I also hate patents so I like this license and wish more projects would use it because lawsuits impede progress, damage the economy, and no matter what the laws are curious smart people will always invent.
gedy 6 hours ago 0 replies      
This keeps coming up as a concern with back and forth "it's a big deal"/"it's not a big deal" - so if FB has no ill-intent from this, are there any simple, obvious changes they could/should make to the React license?
brooklyntribe 41 minutes ago 0 replies      
I'm a vue.js guy myself. Think it's far more cooler then React. And not every going to face this issue, me thinks.


jzelinskie 7 hours ago 1 reply      
As the other comments say, RocksDB is going to be dual licensed both GPLv2 and Apache. What's the advantage to doing so? If I choose to consume the library via the Apache license, I'd never have to contribute back code; doesn't this invalidate the copyleft of GPLv2?
ouid 5 hours ago 0 replies      
If your landlord does something that they would normally be within their rights to do in retaliation to you enforcing some other provision in your agreement, then it is illegal. I'd bet that this was not the kind of statute that they could override in a lease agreement.

I wonder if such a clause is actually enforceable. Are there any actual cases where this clause was invoked?

0xbear 4 hours ago 1 reply      
Edit: Caffe2 is similarly afflicted. Torch and PyTorch are not. Some of Torch modules are, however.
Steeeve 7 hours ago 0 replies      
Interesting note from the discussion:

> As noted earlier, the availability of a GPLv2 license does not preclude inclusion by an ASF project. If patent rights are not conferred by the 3-clause BSD and required by ASLv2 then would not these licenses be incompatible?


> he has discussed the matter with FB's counsel and the word is that the FB license is intentionally incompatible. It is hard to make the argument that it is compatible after hearing that.

BucketSort 33 minutes ago 0 replies      
Ding ding. Vue.JS wins.
alecco 5 hours ago 0 replies      
This is the major drawback of adoption for Zstandard, too.
Kiro 1 hour ago 1 reply      
Why would I care about patents if I'm outside the US? Software patents are not even valid where I live.
nsser 7 hours ago 1 reply      
Facebook's open source projects are potential trojan horses.
weego 3 hours ago 0 replies      
I'm sorry but I struggle to take anyone here seriously that thinks that having to not use a specific js framework would be grounds to be legally neutered in a patent litigation case
didibus 3 hours ago 0 replies      
What patent does React depends on?
geofft 7 hours ago 1 reply      
Am I reading this right that Apache's unwillingness to use rocksdb under the custom license pressured Facebook into switching to Apache || GPLv2? That is pretty cool!
The Deal on the Table (1994) fourmilab.ch
34 points by lpolovets  3 hours ago   7 comments top 3
paulsutter 2 hours ago 1 reply      
Autodesk stock is up 28x since the "1987 high" mentioned in the article (so that forgone $37M could be $1B now)


Kiro 40 minutes ago 1 reply      
> But, our Distinguished Financial Advisor informed us that this would constitute ``shopping the deal'' when ``a deal was on the table'' which was right out by the genteel standards of the venture community

What does this mean?

Nanite 45 minutes ago 1 reply      
Would be very interesting to see the evolution of term sheets over the last few decades. The shifting power balance between founders & investors, seeing novel provisions become boilerplate etc.
A 32-year-old state senator is trying to get patent trolls out of Mass techcrunch.com
177 points by jessiemcr  12 hours ago   30 comments top 7
Animats 4 hours ago 3 replies      
I'm always amused at the Silicon Valley attitude towards "patent trolls". Figuring out some way to make people slave for below minimum wage - fine. Obtaining a monopoly and then raising prices - fine. Using a monopoly in one area, such as an app store, to keep out competitors for your own products - fine.Shipping crap that doesn't work - fine. But enforcing patent rights - that's bad.
mc32 11 hours ago 2 replies      
This can only be good for Mass tech and tech companies in general. One can only hope more politicians wise up to the negative externalities of patent trolls. That and opposition to anti-compete clauses are what politicians should to attract talent to their regional economies.
asdfologist 12 hours ago 1 reply      
How dare he? They're just trying to atone for their sins.
pnw_hazor 9 hours ago 6 replies      
" You hear about the three or four kids in a dorm room who are tinkering around with an idea, then suddenly, they get slammed with one of these completely vague cease-and-desist letters from a place theyve never heard of, citing patents they didnt know existed. The threat is: turn over everything youre doing to us, or pay us $30,000."

Has this ever happened? I don't think so.

Also, it would be nice if the interview included a peppercorn of information about the bills.

WA state has a new anti-patent troll law. It is useless.

edit: link to the bill sponsored by Eric Lesser https://malegislature.gov/Bills/190/S128

edit2: after scanning the bill, it looks like every "mainstream" patent troll would be able to continue to operate without making any changes to their practice. Only the most incompetent lawyers have any chance of triggering the "bad faith" element in this law. (Same as WA state anti-patent troll law.)

Pulcinella 7 hours ago 0 replies      
What can they really do at the state level? I believe patents are a federal issue. I'm not sure what a state law can do about a patent troll trying to enforce "their" federally granted patent rights.
astrodust 7 hours ago 0 replies      
The title seems abbreviated for no apparent reason.
EGreg 8 hours ago 1 reply      
I guess when you hit 2 to the 5th power you want to make big changes in the world :)
Monolith First (2015) martinfowler.com
279 points by levosmetalo  13 hours ago   116 comments top 22
taurath 13 hours ago 5 replies      
If you don't have a product yet or the parameters could change quickly with new business insight, you need to be able to change it fast. With microservices you will be spending half your time figuring out orchestration, building data flows that people can understand, and doing ops. Last startup I was in delayed their launch date for >6 months because of their architecture. Way too many people think they need it, but a load balanced monolith can take you from 0 income to able to hire more engineers.
phamilton 10 hours ago 4 replies      
I all comes back to Conway's Law (Your software will look like your organization).

Microservices allow and require low coupling in the organization. If you want to reduce coupling in your org, you'll be well served by microservices. If you want tight collaboration in your org, you'll be well served by a monolith. As orgs grow into multiple independently executing units, a monolith starts to limit the ability to independently execute.

morphemass 10 hours ago 1 reply      
Just about every one I've interviewed with recently has been breaking their monolith up into micro-services for some reason.

When I've done this in the past I had a key goal: reliability. The cost was about 10x the development effort of the monolith in order to add an extra 9 to the reliability. The monolith was wonderful for getting up and running quickly as a business solution but it actually crippled the business because they had failed to identify how essential reliability was. KYC.

Personally I've come to the conclusion that the main benefits of SOA/MSA are not necessarily technical but more organisational/sociological. Having distinct silos of activity/responsibility, separate teams and communications channels; all can make a large project more manageable than the monolith by allowing the lower level problems to be abstracted away (from a management perspective).

FRex 9 hours ago 0 replies      
The common pattern he mentions reminds me of the concept of 'semantic compression' (one big function and lots of variables first, then break it up into structs, classes, functions, etc.) by Casey Muratori: https://mollyrocket.com/casey/stream_0019.html

It's a very nice and natural way to write code to do it all horribly dirty and only when a sizeable portion if ready to start cleaning it up and making it look and read good.

Both are basically "good comes from evolving/refining bad".

gluczywo 13 hours ago 2 replies      
even experienced architects working in familiar domains have great difficulty getting boundaries right at the beginning. By building a monolith first, you can figure out what the right boundaries are

This line of thought reaches two decades ago and was expressed in a wonderful essay "Big Ball of Mud" http://www.laputan.org/mud/

EDIT: updated with the quote

navalsaini 6 hours ago 0 replies      
I agree, monolith first and have proposed a talks to few JS conferences on this topic. I however have not worked in a company that uses microservices architecture at a big scale (like uber, instagram, etc). I am keen to understand - (1) what does it mean to run a microservices architecture from an org. point of view? (2) How are principles like 3 depths deep enforced? (3) How does a developer decide to create a new microservice vs when to reuse one? (4) Who manages the persistence layer and associated devops tasks (backups, failover, repset, etc)? ... mostly that is the uncovered bits for me. I came across a very recent talk by uber on these lines - JS at Scale (https://www.youtube.com/watch?v=P7ek4scVCB8). I think a few talks on the organizational side of microservices would give people a clear idea if they really need one. Also, though the startups use the term microservices, but their architecture does not in reality has as many boxes as compared to the uber talks that most of us listen to. The startup microservice architectures do have single point of failures and they just break it up to make it easier to scale beyond a 100 or so concurrent users. The decomposition is mostly around tasks that are IO bound (serving APIs) and other tasks that are more CPU bound (some primary usecase). So startups using microservices may not be that bad actually. They could just mean that we do an RPC using redis for some computationally intensive usecase.
dankohn1 11 hours ago 0 replies      
It may be a bit simplistic for HN, but you may enjoy I talk I've given, "Migrating Legacy Monoliths to Cloud Native Microservices Architectures on Kubernetes", and especially the visual metaphor from slide 26 on of chipping awsy at a block of ice to create an ice sculpture.


nichochar 8 hours ago 0 replies      
I disagree with this, but only because it makes the assumption you're working with a single core type language, like java, python or C++.

I think if you design fault tolerant micro service based services with something like the erlang BEAM VM, things will workout well, since you're being very careful about message passing from the beginning.

garganzol 1 hour ago 0 replies      
Every one who eats the food from a thought leader like Martin Fowler eventually meets a trap. Shiny ideas "that sound interesting" are like a candle light for a moth.

I created a simple rule long time ago: <insert name of a "thought leader" here> last.

olingern 12 hours ago 4 replies      
> Almost all the cases where I've heard of a system that was built as a microservice system from scratch, it has ended up in serious trouble.

I wholeheartedly disagree with this point.

I've found that if I build monolith first, it becomes harder to draw the line of how to separate endpoints, services, and code within the system(s).

If I design in a "microservice first," or just a service oriented design -- I find that there is much more clarity in system design. In terms of exposing parts of a system, I find that the microservice first approach makes me consider future optimizations, such as caching policies, whereas, in a monolith, I would proceed in a naive, "I'll figure it out later" approach.

Each school of thought has its downsides. Monoliths move fast and abstracting parts of the system later that arise as bottlenecks is a tried and true pattern; however, there aren't too many product / business folks who want to hear:

"Hey, we just built this great MVP for you. It probably won't handle significant load, so we're going to go off in a corner and make it do that now. Oh yeah, we won't have time to develop new features because we'll be too busy migrating tests and writing the ones we didn't write in the beginning."

The flip side is, microservice first has a lot of overhead, and (as things evolve in one system) refactoring can be extremely painful. This is an okay trade off where I'm at... for others, maybe not so much.

rukuu001 6 hours ago 0 replies      
Here's Matt Ranney talking about how Uber's microservices-first approach allowed them to scale their workforce super fast; also how those microservices became a kind of decentralized ball of mud:


rukuu001 5 hours ago 0 replies      
You (and I) are almost certainly going to get it wrong first time around. Which approach is most forgiving of errors? I'd say monolith.
sctb 13 hours ago 0 replies      
Discussion from a couple of years ago: https://news.ycombinator.com/item?id=9652893.
jaxn 6 hours ago 0 replies      
I think the same argument should be made for NOT writing tests for a prototype.

Build something useful, fast. Then refactor. Write tests when refactoring or fixing a bug, but not when prototyping.

Havoc 9 hours ago 0 replies      
I'd say the more correct interpretation is "don't introduce the complexity of modularity too early"
y2hhcmxlcw 12 hours ago 3 replies      
At what point will corporations that still design massive systems as an unmaintanable monolith figure out they can architect things better and save a ton of developer dollars? At what point do they start taking good points from articles like this and either break those up into microservices or some other solution?
stuartaxelowen 12 hours ago 0 replies      
I quite like the "web server and stream processors first" strategy, since it will take you much farther and retain the same code efficiencies as the monolith, but will also give more operational efficiency at minimal extra cost.
a_imho 12 hours ago 5 replies      
Might be OT, but what is the opinion on Martin Fowler in general?
oDot 9 hours ago 1 reply      
There is a middle-aged, and it's building a monolith that's anticipated to being broken down.
bsder 3 hours ago 1 reply      
Fowler failed miserably when building a monolith. See: https://en.wikipedia.org/wiki/Chrysler_Comprehensive_Compens...

Why should we believe his statements about microservices?

Personally, my experience in microservices vs monolith has been as follows:

If your system needs fast update with quick rollout of new features, monolith is probably superior. Being able to touch everything quickly and redeploy is generally quicker in a monolith.

If your system needs to be able to survive component latency/failure, microservices are probably superior. You will have hard separation that enables testability from the beginning.

Overall, I find the monolith vs microservices debate insipid. We have LOTS of counterexamples. Practically everybody writing Erlang laughs at people building a monolith.

holografix 8 hours ago 0 replies      
Monolithic 12-Factor apps where you can abstract some of the requirements to managed services, like a DB service, an email service etc. Someone already mentioned here but stateless app processes is a must.
lisa_henderson 4 hours ago 0 replies      
Last year I worked at an electronic publishing firm which had wasted $3 million and 5 years on a Ruby On Rails application which was universally hated by the staff, and which we replaced with 6 clean, separate services. The problem with the Ruby On Rails app is that it was trying to be everything to everyone, which is a common problem for monoliths in corporate environments. But the needs of the marketing department were very different from the needs of the publishing department. A request for a new feature would come in from the blogging/content division which would be added to the Ruby On Rails app, even though it slowed the app down for everyone else.

Six separate services allowed multiple benefits:

1.) each service was smaller and faster

2.) each service was focused on the real needs of its users

3.) each service was free to evolve without harming the people who did not use the service

There was some duplication of code, which suggests a process that is the exact opposite of "Monolith First":

Start with separate services for each group of users, then later look to combine redundant code into some shared libraries.

A deep dive into Multicore OCaml garbage collector kcsrk.info
70 points by melqdusy  7 hours ago   24 comments top 2
rixed 2 hours ago 1 reply      
I never managed to understand why so many people were apparently longering for multicore support. I just can't believe many are impatiently waiting for this feature to start using the ocaml language for some projects requiring multicore support, and I became impatient myself just to see what those projects are.

In recent years where servers are to scale to many machines I found myself using less and less kennel threads. Also it seams GUIs are mostly web theses days. Most remaining fields I can imagine where you would want kennel threads, ocaml would not fit anyway because of GC and lack of control over memory layout.

So I really wonder...

axaxs 5 hours ago 7 replies      
OCaml has always intrigued me as something to learn, but it seems I always read equally as many reasons that it's not good, not ready, or why I should try Haskell instead. Does anyone have experience to say yay/nay on worthwhile learning, know of any companies using it heavily, or know of any large cleany written codebases from which to study?
Facebook relicenses RocksDB under Apache 2 license apache.org
65 points by spicyj  11 hours ago   10 comments top 5
boulos 4 hours ago 1 reply      
Amusingly, the commit removes the LICENSE file which had the original LevelDb (from Google) copyright and LICENSE notice:


Did RocksDB finally remove every last piece of code from LevelDB?

Disclosure: I work at Google, but IANAL.

fermigier 1 hour ago 2 replies      
New wording: "This source code is licensed under BOTH the GPLv2 (found in the LICENSE file in the root directory of this source tree. An additional grant COPYING file in the root directory) and Apache 2.0 License" (emphasis on "BOTH" mine).

-> IANAL, nor a native english speaker, but shouldn't it be "EITHER" instead of "BOTH" ?

davix55 43 minutes ago 0 replies      
Assholes. License everything under Apache 2. Greedy fucks.

Google has everything under MIT license

rogerb 5 hours ago 0 replies      
Nice to see Facebook taking this feedback to heart. Thanks!
rurban 4 hours ago 1 reply      
Tokyo street fashion and culture: 1980 2017 google.com
205 points by drops  14 hours ago   43 comments top 19
mc32 13 hours ago 3 replies      
If you want to discover Japanese culture via photography, I would suggest Daido Moriyama[1], [2], [3]. All NSFW-ish. He has a great look into what lies beyond the surface in Japanese culture. For more night culture, Kohei Yoshiyuki[4]





dookahku 2 hours ago 0 replies      
So, wait, what are we looking at?


Is this like a Medium.com content publishing platform?

From the about page:


tenryuu 10 hours ago 3 replies      
I know this has nothing to do with the article, but the UI/UX for this site feels so off-puttingIt's like a worse version of the windows 8 start screen. Can't even middle click the scroll wheel and navigate with gestures.

I wouldn't mind seeing a piece on Shiyuba fashion though

sireat 14 hours ago 5 replies      
Enjoyable collection but somewhat a little bland.

You hear about all the wild stuff you'd see in Sninjuku and this was rather mild. The most provocative was one Ganguroo pic.

My uneducated guess was that these pictures represent the "official" and branded street culture.

That is these pics represent something you could actually buy with relative ease and not make yourself.

I didn't see any gothic lolitas and those are just something that westerners would know about.

There must be 100s of substyles that are one-offs and produced by individuals.

Anyone know of more "street" pictures?

Animats 13 hours ago 0 replies      
Aw. Cute.

For a good sense of what's happening now, see this walk through Harajuku at 2160p.[1] At that resolution, all the clothing details are visible.

[1] https://www.youtube.com/watch?v=LiQ4YDH3g80

callumjones 9 hours ago 0 replies      
What is Google Arts & Culture? How long has it been around?
lanius 5 hours ago 1 reply      
The photos are all black and white until 1984, when they're all suddenly in color. Was there any particular advancement in color photography in 1984?
jpatokal 2 hours ago 0 replies      
If you liked the story, you'll like this video of 40 years of Japanese street fashion: https://youtu.be/xmsxWmKz-B8
wyclif 6 hours ago 0 replies      
Last time I was in Japan, the "wolf boy" haircut (sorry, I can't remember the Japanese word to describe this) was still quite popular even though it was pass. Then I was at the airport in the Philippines and there were some Japanese flying to Tokyo, and all the boys had the same haircut. Man, that cut will never die.
jhanschoo 6 hours ago 0 replies      
For those fascinated on the subject of Japanese fashion trends, I'm pleased to recommend http://neojaponisme.com/category/fashion-2/
wst_ 9 hours ago 0 replies      
Funny thing... Most of these pictures are still valid today.
pilaf 8 hours ago 0 replies      
There's a very well put together video about the history of Tokyo street fashion and music from the 70s till today on YouTube. Worth a watch for the visuals alone:


hkmurakami 5 hours ago 0 replies      
Personally, I think the best way to get a snapshot of the fashion of the times (apparel, makeup, hairstyle, shoes) is to watch a few of the popular TV dramas from each year.
doctorshady 8 hours ago 0 replies      
It seems like a lot of the simpler styles - even as far back as the mid 1980s would probably work without sticking out a whole lot even now. I suppose there's a universal lesson of some sort in that.
rdiddly 12 hours ago 0 replies      
Well that was surprisingly tiring! I started to imagine keeping up with all those styles as they were happening -- sounds expensive. Fashion is inherently, I think, of the moment... in the "now"... and to lay out 37 years' worth of it in a row like that, has the probably unintended effect of laying bare its impermanence, frivolity (not in a good way) and unimportance. Grandpa comment.
franciscop 12 hours ago 1 reply      
Ah I always thought that Gyaru and Gal were the same fashion style slightly lost in translation, but now I see that they were actually different styles!
throw7 13 hours ago 0 replies      
god damn it, that website feels like a fashion style itself.
nomagicbullet 13 hours ago 3 replies      
What a horrible navigation. You can't freely scroll at your own pace, advancing with the keyboard is inconsistent, and what's worse, zoom is busted with keyboard and trackpad. This is a disservice to people with disabilities and people without them.

What's so wrong about regular scrolling? Why do designers feel the need to fight agains the browser? When a site decides to re-engineer basic user interactions (zoom, scrolling), the user has to focus on learning new behaviors instead of consuming your content (which is what they should be focused on).

The web has great UI patterns. Use them. Don't fight them.


gallerdude 13 hours ago 0 replies      
What's up with the navigation? Horrific on mobile.
TIO: Try it online tio.run
272 points by blacksqr  18 hours ago   75 comments top 20
jonahx 13 hours ago 1 reply      
Some clarifications are in order:

This site is not a competitor to codepen, jsfiddle, etc. It's main purpose is to allow play with programming languages you'd otherwise have to install locally -- specifically, it's extremely helpful when browsing https://codegolf.stackexchange.com/ -- the author is a prolific and impressive contributor to that site.

It's sad to see a simple, well-designed, free, open-source project embracing the values of the HN crowd ("The TIO web app is free of charge, ad-free, and doesn't use tracking cookies or third-party analytic scripts.") -- and the top comment, as well as many others, are essentially a nitpick about a bug that can be trivially fixed.

lai 16 hours ago 5 replies      
This looks cool, but can you guys fix your push state code, I can't hit back to come back to HN.
TryItOnline 12 hours ago 1 reply      
Looks like getting mentioned on Hacker News is an excellent way to get your servers overloaded. :) I've added a couple of additional servers.

I'll work on the issues that were brought up here asap. TIO only has two developers at this point (and only one of us works on the web app), so "asap" might take a little while.

sbierwagen 16 hours ago 4 replies      
Looks like http://repl.it/ but with more languages.
olalonde 16 hours ago 4 replies      
Really cool. Would be great if each language had an "hello world" example which would populate the fields.
razorunreal 16 hours ago 2 replies      
Breaks the back button.
keganunderwood 16 hours ago 4 replies      
Not a comment about tio but I didn't realize it isn't possible to write a simple hello world in C# dot net core.

What a shitty situation.

What can we do to make it better? Provide a default csproj file on load? Any better ideas?

Microsoft (R) Build Engine version (C) Microsoft Corporation. All rights reserved.

code.cs(1,22): error CS1022: Type or namespace definition, or end-of-file expected [/home/runner/project/project.csproj]code.cs(1,22): error CS1026: ) expected [/home/runner/project/project.csproj]


code.cs(1,22): error CS1022: Type or namespace definition, or end-of-file expected [/home/runner/project/project.csproj]code.cs(1,22): error CS1026: ) expected [/home/runner/project/project.csproj] 0 Warning(s) 2 Error(s)

Time Elapsed 00:00:04.92No executable found matching command "dotnet-project/bin/Debug/netcoreapp*/project.dll"

Real time: 6.033 sUser time: 2.973 sSys. time: 0.442 sCPU share: 56.61 %Exit code: 1

wink 16 hours ago 1 reply      
A description would be nice. I tried clojure and it successfully printed when my code was (+ 1 3) but I didn't grasp the input/arguments/etc...
winstonsmith 8 hours ago 0 replies      
I really look forward to using this. It would be a great help to mobile users if uneeded options, e.g., 'header', could be made to disappear to save screen real estate.
_kst_ 13 hours ago 2 replies      
I was pleasantly surprised to see my own joke language 99 in the list.


I would have been even more pleasantly surprised if it worked.

cecicasa 15 hours ago 0 replies      
zepolen 16 hours ago 5 replies      

 cat /etc/passwd root:x:0:0:root:/root:/bin/bash bin:x:1:1:bin:/bin:/sbin/nologin daemon:x:2:2:daemon:/sbin:/sbin/nologin adm:x:3:4:adm:/var/adm:/sbin/nologin lp:x:4:7:lp:/var/spool/lpd:/sbin/nologin sync:x:5:0:sync:/sbin:/bin/sync shutdown:x:6:0:shutdown:/sbin:/sbin/shutdown halt:x:7:0:halt:/sbin:/sbin/halt mail:x:8:12:mail:/var/spool/mail:/sbin/nologin operator:x:11:0:operator:/root:/sbin/nologin games:x:12:100:games:/usr/games:/sbin/nologin ftp:x:14:50:FTP User:/var/ftp:/sbin/nologin nobody:x:99:99:Nobody:/:/sbin/nologin systemd-timesync:x:999:998:systemd Time Synchronization:/:/sbin/nologin systemd-network:x:192:192:systemd Network Management:/:/sbin/nologin systemd-resolve:x:193:193:systemd Resolver:/:/sbin/nologin dbus:x:81:81:System message bus:/:/sbin/nologin polkitd:x:998:997:User for polkitd:/:/sbin/nologin rpc:x:32:32:Rpcbind Daemon:/var/lib/rpcbind:/sbin/nologin abrt:x:173:173::/etc/abrt:/sbin/nologin sshd:x:74:74:Privilege-separated SSH:/var/empty/sshd:/sbin/nologin cockpit-ws:x:997:995:User for cockpit-ws:/:/sbin/nologin rpcuser:x:29:29:RPC Service User:/var/lib/nfs:/sbin/nologin nfsnobody:x:65534:65534:Anonymous NFS User:/var/lib/nfs:/sbin/nologin tss:x:59:59:Account used by the trousers package to sandbox the tcsd daemon:/dev/null:/sbin/nologin chrony:x:996:994::/var/lib/chrony:/sbin/nologin tcpdump:x:72:72::/:/sbin/nologin systemd-coredump:x:993:993:systemd Core Dumper:/:/sbin/nologin apache:x:48:48:Apache:/usr/share/httpd:/sbin/nologin epmd:x:992:991:Erlang Port Mapper Daemon:/dev/null:/sbin/nologin runner:x:1000:1000::/home/runner:/bin/bash tio:x:1001:1001::/home/tio:/bin/bash

limeblack 15 hours ago 1 reply      
The play button turning into a gear that spins is pretty cool. First time I have seen that.
pepijndevos 15 hours ago 1 reply      
Would be nice to support Piet.
prodikl 13 hours ago 1 reply      
am i not getting this? i typed echo "hello"; for PHP and the output says "echo 'hello';"

it just repeated back what i typed instead of processing the code hmm

a-b 13 hours ago 0 replies      
Code samples for each language would be appreciated
eridius 15 hours ago 2 replies      
Looks neat, but the code editor really needs syntax highlighting and intelligent indentation.
netcyrax 10 hours ago 0 replies      
Site is down.
meggar 13 hours ago 1 reply      
no swift?
behnood85 13 hours ago 2 replies      
I don't like it. I still prefer Codepen and jsfiddle.
A Hacker News for Literature narwhal.space
158 points by lainon  15 hours ago   20 comments top 11
mrdrozdov 11 hours ago 2 replies      
Do you think the community has professional writers or only writing enthusiasts from the tech world? :)
azeirah 14 hours ago 2 replies      
...Why the name narwhal.space?
sixhobbits 12 hours ago 1 reply      
Not sure why this is titled "A Hacker News For Literature". The site is very clearly writing focused and the about page says "This is a community based on lobste.rs. First and foremost, Write.Narwhal.Space is a link-aggregator for writing-related articles. If you're interested in learning more about the writing field, bettering your writing in general, or simply talking to other people interested in writing, definitely take a look around!"

I would suggest changing to "A Hacker News for Writing"

chucksmash 7 hours ago 0 replies      
Whence you can find the sentence:

> In terms of speech act theory, his locutionary acts the things he says are the same as his illocutionary acts the meanings underlying what he says

jpster 10 hours ago 0 replies      
Very cool. There are many aspiring entrepreneurs on HN and writers are entrepreneurs, too, so there may be something for the other to learn from either side. Spotted this article about time management on the site which could be helpful to any hacker holding down a day job and a side project. http://www.sfwa.org/2017/06/finding-elusive-writing-time/
alistproducer2 8 hours ago 0 replies      
I've always wanted to be a good writer and have been looking for another productive time waster. Thanks so much for posting this because I've already read about 3 things that really interested me.
fancy_pantser 9 hours ago 2 replies      
The real news here is Michael O. Church has moved into writing fiction.


curiousgal 12 hours ago 1 reply      
This is interesting! Does anyone have an invite?
nickpsecurity 14 hours ago 0 replies      
It's more like Barnacl.es in that it's a highly-focused aggregator using the Lobsters engine. Upvoting it, though, in case any literature lovers would find it interesting.
backtoblack 9 hours ago 0 replies      
Thank you for this!
npxcomplete 8 hours ago 1 reply      
No RSS feed....
Close encounters of the classified kind thespacereview.com
144 points by quakeguy  13 hours ago   22 comments top 5
LMYahooTFY 12 hours ago 3 replies      
Very interesting.

If I recall the details correctly, there have been observations recently of another NRO satellite in a geostationary orbit above the middle east and west Asia, that apparently can maneuver and reposition itself.

And if I'm still not mistaken (may have been a different satellite) it was confirmed that this satellite had extraordinarily high communications bandwidth and was speculated to be used either for SIGINT or for operating UAVs.

Anyone interested in it, other classified satellites and classified things on the map in general should look up Trevor Paglen. He's a Geographer who's recently begun taking pretty spectacular shots of classified satellites.

elfchief 5 hours ago 0 replies      
Anyone know what software they use to do the Vimeo video in that article? I've been wondering for a while, when I've seen videos like that...
rdtsc 8 hours ago 1 reply      
A test and demo of capabilities such that Russians and Chinese notice is the most plausible explanation I'd guess. Not sure if they cared if amateurs noticed or not.
dooglius 4 hours ago 1 reply      
Huh, I thought that orbit details of all satellites was tracked. If not, collisions probably become much more of an issue.
slr555 12 hours ago 3 replies      
Allow me to don a shiny new cap of quality Reynolds aluminum foil and say this.

If it was meant to be observed, and if it was intentional, and if it was nearly "danger close", couldn't this suggest that USA 276 is a platform in development not just to deploy sensors for observation but perhaps to, in the future host systems for engaging and destroying satellites.

Why MAC address randomization is not enough [pdf] mathyvanhoef.com
101 points by wglb  14 hours ago   7 comments top 3
sillysaurus3 8 hours ago 1 reply      
"The three golden rules to ensure computer security are: do not own a computer; do not power it on; and do not use it"


p4bl0 8 hours ago 0 replies      
By some of the same people, also interesting on the same subject: "Defeating MAC Address Randomization Through Timing Attacks" http://papers.mathyvanhoef.com/wisec2016.pdf
voltagex_ 6 hours ago 0 replies      
Is new hardware required for these "Hotspot 2.0" things?
Right now Turkish GSM networks play a message of the President on any phone call
301 points by mrtksn  11 hours ago   85 comments top 16
throwaway76493 7 minutes ago 0 replies      
There is something equally insane happening on the Turkish internets right now.

At least two major mobile operators / ISPs are injecting JS into web traffic to display pop-up ads / Youtube videos on the lower right corner of every web page. The videos "commemorate" last year's events on July 15 in a language that is, to put it mildly, thorougly in line with Erdogan's ideology, and make a point of offering free data and phone credits throughout the 3-day commemorations being held.

kbody 9 hours ago 0 replies      
"As president, I send congratulations on the July 15 National Day of Democracy and Unity and wish the martyrs mercy and the heroes (of the defeat of the coup) health and wellbeing,"

Source: https://au.news.yahoo.com/world/a/36394050/mr-president-erdo...

buremba 3 hours ago 0 replies      
Even if you stop watching TV, reading newspapers and following the political people on social media and avoid discussing political news with people, you can't escape from him and his followers.

They will force you to believe what they believe and if you don't, they will flag you and also make you listen their leader no matter what you do to avoid their propaganda.

Even though I believe that the leaders of Gulenist group did the coup attempt and are terrorist, Erdogan gave this power to them and yet acts like he's not responsible from all these shit.

rdtsc 8 hours ago 1 reply      
For a additional level of scary allow people to opt out but record who they are and compile a list. Use the list to deny them services or imprison when the next overthrow is attempted."You've been protesting and we noticed you blocked messages from our glorious leader... clearly a candidate for the labor camp"
xepbam57 6 hours ago 3 replies      
Have anybody thought why you hear the sound(beeeep-beeeeep-....) when you make a call and from where it comes? Yes, telco can put anything there. Even more, I wounder why we do not hear some commercial Ad's every time we call. This would be in a spirit of current times...
mmerlin 10 hours ago 1 reply      
So so sad when a country devolves into quasi-dictatorship
exabrial 8 hours ago 4 replies      
Why are they a NATO country again
fouadmatin 10 hours ago 3 replies      
The number in the video is 112, which is Turkish-equivalent of 911 in the U.S.
Fnoord 10 hours ago 2 replies      
What exactly is he saying? Can someone translate?
noncoml 7 hours ago 3 replies      
I wonder how would things have been if Turket had been accepted to EU 10 years ago. Would it have helped?
AdamJacobMuller 9 hours ago 0 replies      
What does this say in English?
homero 3 hours ago 0 replies      
When people voted, they were tricked into thinking somehow they were voting against the West instead of installing a dictator for themself
powertower 8 hours ago 1 reply      
appendixsuffix 10 hours ago 1 reply      
marcxm 2 hours ago 1 reply      
Fuck, this sounds a lot like a communism.
OzzyB 9 hours ago 2 replies      
I don't understand what the problem is. How is this any different from the Queen of England taking over the entire UK airwaves for a half-hour speech on Christmas Day?


Quirks of the arXiv symmetrymagazine.org
65 points by JohnHammersley  13 hours ago   10 comments top 3
Houshalter 9 hours ago 1 reply      
I know absolutely nothing about physics. But I still found this paper enjoyable to read, because it's written in the format of a discussion between fictional characters: https://arxiv.org/pdf/hep-th/0310077v2.pdf
kronos29296 1 hour ago 0 replies      
The first one was really to the point in its abstract while another tells stories in it. Made me grin incessantly when I saw it.
jesuslop 11 hours ago 2 replies      
Nice, it left me wondering how the dialog of Rovelli continued.
Beginner-Friendly Vulkan Tutorials stephaniehurlburt.com
130 points by ingve  19 hours ago   14 comments top 5
Impossible 18 hours ago 1 reply      
The advice to not learn Vulkan first is actually pretty good, because it aligns with most people's goals when learning. Most people want to get some graphics on the screen and maybe understand what a shader is, how meshes are represented etc. OpenGL has less friction here, and I'd argue that you can learn a lot of this starting in a higher level environment like Unity, writing your own shaders and creating procedural meshes. This advice comes from the same place as "if you want to make a game don't write your own engine", which is probably works for most people.

Vulkan is great as a beginner if you want deep understanding of the graphics pipeline and are ok with some pain and confusion and a lot of "boilerplate", which comes from Vulkan having few defaults. Its a good representation of how game engines tend to use graphics APIs vs toy applications, academic projects and indie games you might see as smaller scale examples. As a beginner and a hobbyist you probably don't need Vulkan or DX12 for anything you'll build and you'll quickly be exposed to a lot of concepts you won't really understand, but I think sticking with it will give you a level of understanding much deeper than someone that dabbles with OpenGL.

bluejekyll 15 hours ago 1 reply      
For those looking for something similar with Rust: http://vulkano.rs
k_sze 7 hours ago 0 replies      
It saddens me that so many people focus on the graphics aspect of Vulkan.

I wish there were more beginner-friendly tutorials of Vulkan compute.

If I'm not mistaken, only 2 out of the 7 tutorials listed cover compute.

greggman 7 hours ago 1 reply      
Vulkan seemes to be caught in a bad situation since it's not usable on Mac or iOS. With OpenGL at least all major platforms where covered.
Hydraulix989 11 hours ago 2 replies      
Vulkan is great except it doesn't work on anything Apple. Dealbreaker if you want users.
Thats a Big Microscope bunniestudios.com
61 points by etiam  12 hours ago   26 comments top 8
mgibbs63 8 hours ago 2 replies      
Synchrotron lightsources are a dime a dozen. For real power, you want a free electron laser. The Linac Coherent Light Source at SLAC (right in Silicon Valley's back yard) pumps out an X-ray beam with about 750,000 times as many photons per second, and in pulses that are about 200 times faster.


ChuckMcM 10 hours ago 4 replies      
That is pretty intense. I wonder sometimes if it is a deterrent to nation states to put 'secret' back doors into silicon because a device like this would be able to prove that the device had a back door.

That said, converting a 3D image of a microprocessor level into a Minecraft world would be pretty awesome!

mrob 9 hours ago 0 replies      
If you're interested in synchrotrons, you might want to watch Dave Jones's EEVblog 1 hour long tour video of the Australian Synchrotron, which is a similar size to the Swiss Light Source:


Animats 10 hours ago 0 replies      
That's the other approach to extreme ultraviolet lithography - a synchrotron. If you don't like the two-story machine that vaporizes tin droplets with lasers to make soft X-rays, one of these is an option. It's been tried experimentally.[1]

[1] http://www.lightsource.ca/

quickthrower 9 hours ago 1 reply      
Makes me sad working in an open plan office when I could be working in an inspiring building like that baby.
jszymborski 9 hours ago 1 reply      
a little OT, but does anyone have some insight on the liability an author has to linking to an article on sci-hub like OP did?
logicallee 8 hours ago 1 reply      
"chips down to a resolution of 14.6nm" so does that mean that that whole giant stadium of a microscope can't image at the resolution that ships in chips today?

(e.g. https://www.extremetech.com/computing/237781-samsungs-10nm-n... ).

please correct me if I've gotten it wrong!

Koshkin 9 hours ago 4 replies      
I find it sad that the reverse-engineering of microchips is considered a worthwhile activity, to the point of being the first (if not the only) thing that the poster thinks of as a potential application of this formidable device.
English as she isnt spoke (Part 4) the-tls.co.uk
54 points by pepys  15 hours ago   12 comments top 9
fredley 12 hours ago 1 reply      
The title is a reference to an (in) famous 19th century Portuguese to English translation guide that was so unintentionally bad it remains in print.


grabcocque 11 hours ago 2 replies      
Many of these all examples of what Language Log terms "nerdview" (http://languagelog.ldc.upenn.edu/nll/?p=4509), using in-business jargon incorrectly with outsiders because you either don't know or don't care that they won't really know what you're talking about.

It's held up as an example where your use of language, whose purpose should always be to be understood by others, shows an explicit or implicit contempt for your listener.

Udik 46 minutes ago 0 replies      
Genteelisms are a curse in Italy, where bureaucracy reaches levels unknown in the UK. One of my favourites, because of its utter, revealing stupidity, is the sporadic usage by some overzealous bureaucrat of the verb "to implement" (recently brought to Italian from English) with the wrong meaning of "increment". As in:

"We're working to implement the number of bus rides from A to B".

It's fun because you can clearly see the mechanism in action: the person who wrote the sentence decided to replace the too understandable verb "to increment" with something so obscure he himself didn't know what it really means.

morinted 6 hours ago 0 replies      
I went and read parts 1, 2, and 3 as well as I quite enjoyed this. However, I think "part 4" is mainly just a rehash of part 3, as most of the examples were the same or very similar.


UnityRanson 4 hours ago 0 replies      
Reminds me of George Carlin: https://www.youtube.com/watch?v=vdPy5Ikn7dw
proaralyst 2 hours ago 0 replies      
The announcers at my station bafflingly repeat the automated announcements word-for-word!
cperciva 6 hours ago 0 replies      
"This train is no longer in passenger service" may be long-winded, but at least it's reasonably clear. Much better than the military equivalent, "the train has suffered an engineering casualty".
jwilk 11 hours ago 0 replies      
Archived copy, which doesn't require JS:


Beyond public key encryption cryptographyengineering.com
48 points by wglb  13 hours ago   4 comments top 3
grandinj 1 hour ago 0 replies      
If crypto researchers would try working on actual user facing software they would probably come up with more useful designs. As the moment (1) you have to be insanely smart and careful to implement any reliable crypto (2) the crypto needs constant updates because researchers initial ideas are always full of weird unexpected holes (3) virtually all proposed crypto comes with multiple human interaction fails.

I wish it were better, and I completely understand that it's tough to both research higher order mathematics and keep in mind human level interactions, but without something like that , I think we're going to stay stuck with the current state of overly technical, fragile, normal-user-hostile tech.

whatnotests 2 hours ago 1 reply      
Using something unchangeable (such as one's retina) to derive a key for encryption sounds like a great idea, until the key must change.

You can't change your retina so easily.

StavrosK 1 hour ago 0 replies      
Isn't Keybase basically exactly identity-based cryptography?
Universal Jinja: a crazy idea for a Python-ready front end whatisjasongoldstein.com
141 points by jasonthevillain  19 hours ago   104 comments top 15
skywhopper 16 hours ago 6 replies      
Ugh, Jinja is not an "excellent" templating language. It's a terrible broken mix of pythonisms and arbitrary-feeling restrictions and oddly missing pieces. It becomes hard to read very quickly and some of the looping idioms are just nuts. Sorry I don't have anything constructive to say here but I'm genuinely taken aback that there are apparently big fans of Jinja.
stevebmark 14 hours ago 1 reply      
"Isomorphic" templates are not enough. You also need isomorphic data fetching for client code. If you have to manually reinvent the same data fetching on the client and server, you don't get the full benefits of isomorphic code. You only have brittle templates with two different ways to glue data to view.

So far isomorphic Node + React has been the best (but not perfect) way I've seen to do this. You abstract out the API layer, and now you can define components and their data sources that have the exact same code on the client and server, and it just works. Apollo/GraphQL is probably a giant leap forward in this as well.

Having an option to do hand-glued "isomorphic" data in a few places is probably nicer than Javascript spaghetti on the front end, but it doesn't get you all the way there. Rails has the same problem by the way, the "Rails way" is coffeescript glue to get any kind of modern front end application functionality. Even with React on Rails you have to have to reinvent data fetching, and lose the benefit of a well structured isomorphic codebase.

Until browsers support a different language natively other than Javascript (which will never happen), Node + React is currently the most straightforward path to get there.

sametmax 17 hours ago 4 replies      
I was wondering if we should not code a Python renderer for one JS framework and be done with it.

We already have one JS engine in Python (https://github.com/kovidgoyal/dukpy). We even have pluggable renderers (https://pypi.python.org/pypi/PyExecJS). Later we will have webassembly renderers in Python, so you will be able to take frontend frameworks, compile them and execute them in Python.

Finally, we have some fantastic framework that are powerful, yet not that big, such as Vue.js, that already have a pluggable architecture for rendering without a DOM on the server side (https://ssr.vuejs.org/en/basic.html)

The Python community has done much more complicated projects already, and half the work is there, so my guess the reason it hasn't happened yet is we REALLY hate js and most of us just touch it to get the job done and go to the next task.

It's a bit like the async situation. We have the tools, but there is no Django of the asyncio because we love our tools as their are so much. I'm so guilty of this.

The problem is: the rest of the Web is moving ahead, and while it's still relevant to do DRF + Vue.JS right now, one day stuff like meteorjs will be so crazy yet stable it will be hard to compete.

I was hopping webassembly would let us eventually run Python on the client side. But I doubt it will happen. However, I'm thinking more and more than it will allow JS tooling to be plugged in many other languages on the server side.

bastawhiz 17 hours ago 2 replies      
I see a few problems.

The biggest problem is testability. Testing that a template renders correctly means parsing the markup into a DOM and asserting that certain conditions are met. This is exacerbated by the differences between Jinja and Nunjucks, which can be non-trivial and unexpected (e.g., Jinja will render synchronously, while Nunjucks can render asynchronously--weird async behavior may appear). Since your application doesn't have the same entry point to the code (they're in two different languages!), you really need to write two different sets of tests for the same template to get proper coverage. Templates being templates, you also don't get the granular testability of a React component out-of-the-box, which can be pulled out and tested individually.

Templates alone also don't include anything in the way of handling events, component lifecycle, and other things that make your code actually do stuff. You'll need to bind event listeners manually, and those will of course need their own separate tests.

Making Jinja useful also usually involves adding your own plugins and filters. This happens in Python, which means you'll need to write all of those a second time in JavaScript, and test them. Doing this right means comparing the output of the two versions, which isn't necessarily straightforward. Given the complexity of this, I wouldn't bet money that other engineers would go through the hassle of making sure this is done correctly.

I'd encourage the author to write more about the pitfalls of this approach. It's easy to write {{ foo.strip() }} in Jinja and forget that Nunjucks requires {{ foo.trim() }}, or empty arrays being falsey in Jinja and truthy in Nunjucks.

Walkman 16 hours ago 0 replies      
Mike Bayer wrote a really interesting article about this topic 5 years ago: http://techspot.zzzeek.org/category/mako/

These techniques are easier with the Pyramid framework.

dochtman 15 hours ago 0 replies      
I actually wrote a JavaScript code generator for Jinja, which allows you to use the Jinja parser and AST and generate pretty readable and fairly sane JavaScript code (for a pretty large subset of full Jinja). I actually used this in my startup (now long dead) where we were able to reuse quite a lot of template code both on the server and the client.


This is in some (conceptual/experiential) ways a precursor to my recent attempt to create a Rusty Jinja-like, which tries hard to take the best ideas from Jinja and mash it up with the best ideas from Rust:


chickenfries 16 hours ago 1 reply      
Would not recommend using Nunjucks, unless you would like to contribute to maintaining it.


ivanbakel 17 hours ago 1 reply      
The post reads somewhat rambly, which I suppose is unavoidable if you're doing a quick whistle-stop of a bunch of related technologies showcasing a new idea.

The only thing that doesn't seem clear is why you'd need to combine server- and client-side rendering in a single instance. Jinja is an incredibly useful and well-made tool, and my experience of it with Flask always leaves me with the best impressions of it being exactly what quick webdev should be, but why would you combine it with JS? Surely the use cases are so different that a separate JS library would be just as applicable, and perhaps more fit for purpose.

cyberpanther 15 hours ago 2 replies      
I usually ignore server side rendering or isomorphic rendering. I'm not saying all projects should ignore it but you're really talking about a high level of optimization if you need it. And if you're reaching that level of optimization you probably shouldn't use Python.

Server side rendering only makes the first view faster. After that, everything is rendered on the client and faster that way. And if you use caching with progressive web apps or just file caching in general, the first view will be fast after. So you're only optimizing for the first of the first. You can then provide the initial data in the page request so that saves a round trip on the first request while still rendering on the frontend.

I say all this to just point out that there are many ways to speed up your frontend without doing SSR and they are much easier to implement with Python. So I'd rather exhaust all these techniques before implementing SSR. If I get to that point though, I suspect Python might be the slowest part of your stack. And lastly if you are doing SSR for SEO purposes then just use a prebuilt prerender service.

With all that said if there was an easier way to SSR with Python/Django, I'd definitely use it. But Jinja on the frontend doesn't sound like that answer.

dchuk 17 hours ago 1 reply      
I've been working on a site recently, in Rails, and just been using Turbolinks and SJR (Server Javascript Responses). Granted, it's a content heavy site with fairly light ajax interactions, but it's a pretty delightful process.

So many people jump to heavy JS libs/frameworks to do stuff that can be solved in much more boring/simple ways most of the time. You don't need React/Angular/Vue to submit a form over ajax.

erlehmann_ 17 hours ago 2 replies      
Templates cause bugs. The solitary appropriate solution is an unparser a component that walks an AST and serializes it.

Making sure the result conforms to the grammar of the output language without any unparser would always involve a parser.

> As soon as I'm looking at more than one programming or markup language in the same file, I'm looking at spaghetti code.

Iain Dooley, December 2011


zepolen 16 hours ago 0 replies      
I've done this many years ago with https://github.com/wkral/jinja2js

It works - but there are gotchas:

1. You can't depend on useful pythonisms/javascriptisms such as

 {{thing or ""}} vs {{thing || ""}
2. Template filter code still has to be duplicated in both languages - i18n such as {{_('String')}} for example - which sort of makes sense - but then you have to do the same for some other, really trivial, filters.

3. Testing becomes annoying because a template can work in one, and not the other - you have to test both.

4. You don't get the newer html diff style virtual dom rendering which can cause issues with stuff like select boxes. You end up with special case code to handle that, which is more of a hassle.

The conclusions from it all were:

a) You do save time over doing it once in python, once in js

b) You don't save time over doing it all in js - especially if you use a newer functional style js template framework (react/vue/polymer)

c) You can still get the best of both worlds by hooking up your templates in js to be rendered by your backend - eg like https://github.com/reactjs/react-rails does.

In the end for my next project I decided to do an api for the backend in python and the website/frontend in react with SSR, and am really thrilled with the results - very maintainable, testable and simple overall.

pbreit 16 hours ago 0 replies      
Has anyone had good experience with turbolinks on python?
omegaworks 17 hours ago 2 replies      
Ugh. After living in frontend land (native mobile and react) I'm really not looking forward to going back to Django.

It feels so irrelevant in the world of backend-as-a-service and GraphQL.

...Please forgive my cynicism. I am looking for a reason to like this. Maybe I should just move on.

ben_jones 16 hours ago 4 replies      
Can someone explain to me why we haven't normalized html templating with a Pug-like syntax (formally Jade)?

My perceived benefits of Pug/Jade:

* Significantly fewer LOC

* Improved Readability

* A lot of existing tooling thanks to its popularity in the NodeJS community

Trip report: Summer ISO C++ standards meeting (Toronto) herbsutter.com
68 points by matt_d  17 hours ago   8 comments top 4
std_throwaway 50 minutes ago 0 replies      
So, we're going to get compile time reflection?
cjensen 3 hours ago 0 replies      
First job I had out of college was in C++ using CFront 1.3.

I'd really like to be able to use modules before I retire.

jokoon 13 hours ago 3 replies      
Modules seem to be sidestepped. I wonder why is that, they would make the languages so much easier to work with. One reason is that they might involve a big overhaul of toolchains, I think...
nol13 8 hours ago 0 replies      
:looks disappointedly for erowid link:
Brazil opens 860k acres of protected Amazon rainforest to logging, mining independent.co.uk
232 points by SimplyUseless  14 hours ago   44 comments top 10
ufo 8 hours ago 0 replies      
The article didn't talk about the political context: the current president is facing corruption charges and a threat of impeachment and is buying support from congress by opening the government coffers (or what remains of it) and ceding to various lobbying groups.
the_absurdist 12 hours ago 5 replies      
Take a commercial flight where you have a chance to look down on the rainforest in Brazil or Peru.

You'll be absolutely astonished and sickened at how much is already gone.

fithisux 2 hours ago 0 replies      
It never made countries richer. Only poorer. In this case, it will make the planet poorer.
noddy1 9 hours ago 2 replies      
sadly capitalism seems to be an incredibly effective and efficient way to completely destroy the rainforests.

there does not seem to be any solution.

chatman 59 minutes ago 0 replies      
The forces which threw out Dilma Roussef are behind this over commercialization. Dilma would never have let this happen.
spodek 9 hours ago 1 reply      
What responsibility does a typical reader of HN have?

What can a reader do?

deusum 13 hours ago 2 replies      
While an important issue, the article states that it is still in the proposal phase.
gigatexal 8 hours ago 0 replies      
Wow. A failing state pimps its resources. This is terrible.
louithethrid 11 hours ago 1 reply      
There will be the usual walk through the park of unusable vectors to solve this.

The only thing that could stop this is direct action - meaning, editing organisms to resist humanity. Making trees fireproof, equipping animals with diseases. The only wulf to hold back man, is another man.

randyrand 7 hours ago 0 replies      
This is great news!
The computer poetry of J. M. Coetzees early programming career utexas.edu
49 points by cossatot  17 hours ago   13 comments top 5
SonOfLilit 12 hours ago 0 replies      
If, like me, you were hoping to find code that is poetry, a few recommendations:

whytheluckystiff, or _why, was a very colorful persona in the early English-speaking Ruby community who wrote some very poetic code (some of it production grade) and inspired a lot of people (me included), and eventually disappeared one day when he was outed. Maybe start with Why's (Poignant) Guide to Programming that is a literary work that is also a Ruby tutorial, available at http://poignant.guide/, and continue by reading archives of his blog (where he posted hand-drawn and sometimes animated poetry in Ruby) and libraries he wrote (I strongly recommend Camping.rb, a 4k minimal MVC framework, that was at once very poetic and production-ready.)

Other than that, if you can read x86 asm I recommend this book of Koans/Poems/whatever you call them, written by someone I know and extremely beautiful: https://www.xorpd.net/pages/xchg_rax/snip_00.html

And in the Perl community there's a long tradition of polyglot perl/English poems: https://docstore.mik.ua/orelly/perl/prog3/ch27_02.htm

tangue 5 hours ago 0 replies      
Coetzee wrote the best description of programming I've ever read : " The more he has to do with computing, the more it seems to him like chess: a tight little world defined by made-up rules, one that sucks in boys of a certain susceptible temperament and then turns them half-crazy, as he is half-crazy, so that all the time they deludedly think they are playing the game, the game is in fact playing them."
guuz 11 hours ago 1 reply      
He fictionalized his time as a computer programmer in the book 'Youth'. It's superb.
altotrees 13 hours ago 0 replies      
This is amazing. Disgrace is one of my favorite novels of all time and I always found it fascinating how versatile Coetzee is. The man seems to be good at everything.
danidiaz 13 hours ago 3 replies      
Michel Houellebecq worked as a programmer, too (and he didn't like it).

I suppose Kafka would work in programming, had he been born in our time.

Seeing AI for iOS microsoft.com
757 points by kmather73  1 day ago   119 comments top 27
nharada 1 day ago 5 replies      
Yes, YES, this is what I'm talking about Microsoft. I'm surprised how muted the reaction is from HN here.

On the technical side, this is a perfect example of how AI can be used effectively, and is a (very obvious in hindsight) application of the cutting edge in scene understanding and HCI. There are quite a few recent and advanced techniques rolled into one product here, and although I haven't tried it out yet it seems fairly polished from the video. A whitepaper of how this works from the technical side would be fascinating, because even though I'm familiar with the relevant papers it's a long jump between the papers and this product.

On the social side, I think this is a commendable effort, and a fairly low hanging fruit to demonstrate the positive power of new ML techniques. On a site where every other AI article is full of comments (somewhat rightfully) despairing about the negative social aspects of AI and the associated large scale data collection, we should be excited about a tool that exists to improve lives most of us don't even realize need improving. This is the kind of thing I hope can inspire more developers to take the reins on beneficial AI applications.

mattchamb 1 day ago 0 replies      
Just as an extra piece of information for people, the person presenting the videos in that page is Saqib Shaikh, who is a developer at Microsoft. Earlier on HN, there was a really interesting video of him giving a talk about how he can use the accessibility features in visual studio to help him code. https://www.youtube.com/watch?v=iWXebEeGwn0
dcw303 1 day ago 3 replies      
US App Store only at this stage it seems. Pity, I'd like to try this.

edit: I'm wrong. it's in other stores as well, but not in the Australian app store, which is the one that I tried.

booleandilemma 1 day ago 1 reply      
It correctly identified my refrigerator and bookshelf. Color me impressed.

Things like this make articles like this one seem silly: https://www.madebymany.com/stories/what-if-ai-is-a-failed-dr...

engulfme 1 day ago 1 reply      
If I remember correctly, this came out of a OneWeek project - Microsoft's company-wide weeklong hackathon. Very cool to see a final published version of this!
scarface74 13 hours ago 1 reply      
The text recognition from documents is amazingly primitive. It doesn't use any type of spell checking to make a best guess at what a word is. It's straight text recognition.

On the other hand the "short text" feature works amazingly well to read text is sees from the camera. It's fast and accurate when reading text even at some non optimal angles.

How do you get it to try to recognize items that the camera sees?


Oops. I guess it would help if I swiped right....

ian0 1 day ago 3 replies      
Wow. You can imagine a near future where this, a small wearable camera and an earphone could really make a big difference to a persons daily life.

Screw Siri, thats a real AI assistant :)

ve55 1 day ago 4 replies      
If I have a friend that is visually impaired and is using this, I have to consent to their phone recording me and analyzing me and sending all of that data off to who knows where.

And this is just from my perspective - someone who is not visually impaired. For the person who is, every single thing they look at and read is going to be recorded and used.

It's an unfortunate situation for people to put in, and I'm sure everyone will choose using improvements like this over not using them. As much as I would love to see a focus on privacy for projects like this, I don't imagine it happening any time soon, given how powerful the data involved is.

I imagine a future where AI assistants like this are commonplace, and there is no escaping them.

EA 1 day ago 0 replies      
I am recommending this for my elderly family members with poor eyesight. This could greatly increase their quality of life.
zyanyatech 20 hours ago 0 replies      
The use of AI and ML for application purposes is starting to get to a point that it can really be used for problem solving, we did a demo app similar use of this technology, https://zyanya.tech/hashtagger-android

I am going to give Seeing AI a try as well, but I totally understand why a research department would like to have a demo as an Application available for public.

GeekyBear 20 hours ago 0 replies      
One of my friends from college has limited vision and the feature to read text aloud will be a game changing convenience.

He has a magnifier in his home, but it isn't portable and is limited to working only with documents and images that can lie flat.

edit: After speaking with my friend, he already uses a popular app called KNFB Reader that works very well on short text and documents, but costs $100. On the plus side, it works on Android or iOS.

Finbarr 21 hours ago 0 replies      
I'm pretty blown away by this. I took a picture of myself in the mirror with the scene description feature, and it said "probably a man standing in front of a mirror posing for the camera". I took a picture of the room in front of me and it said "probably a living room". Think I'll be experimenting with this for days.
rasengan0 11 hours ago 0 replies      
I love the low vision pitch as there are a dearth of low vision resources particularly those hit with age related macular degeneration. I wonder if they are any censored items in the backend that may limit functionality -- Seeing AI won't be seeing any sex toys...
hackpert 11 hours ago 0 replies      
This is amazing. I don't know if a lot of people here realize this, but it is really hard to pull off this level of integration of different computer vision components (believe me, I've tried). Microsoft has really outdone themselves this time.
rb666 1 day ago 0 replies      
Well, it needs some work, but pretty cool nonetheless, can see where it was going with this :)


mechaman 1 day ago 0 replies      
Does it do hot dog or not?
leipert 15 hours ago 0 replies      
Awesome technology; and todays SMBC [1] seems to be related.

[1]: https://www.smbc-comics.com/comic/the-real-me

vinitagr 1 day ago 0 replies      
This is quite an amazing technology. With new products like HoloLens and this, i think Microsoft is finally coming around.
coworkerblues 21 hours ago 0 replies      
Does this mean RIP OrCam (the other startup form mobileye creator which basically does this as a full hardware / software solution) ?


cilea 17 hours ago 0 replies      
I think this is also cool for learning English as well. An English learner who'd like to express what s/he sees can verify with AI's response.
MrJagil 21 hours ago 0 replies      
The videos explaining it are really nice https://youtu.be/dqE1EWsEyx4
parish 1 day ago 0 replies      
I'm impressed. Good job MS
ClassyJacket 1 day ago 2 replies      
Not available in the Australian store. Ah, I forgot my entire country doesn't exist.
arized 1 day ago 0 replies      
Looks amazing, I really need to dive into machine learning more this year... Waiting impatiently for UK release to give it a try!
jtbayly 20 hours ago 0 replies      
Unimpressed. Took a picture of a ceiling fan and it said, "probably a chair sitting in front of a mirror." Took a pic of a dresser, and it said "a bedroom with a wooden floor." Tried the ceiling fan again and got an equally absurd answer.

Deleted app.

chenster 1 day ago 1 reply      
LeoNatan25 1 day ago 3 replies      
Whenever I take a picture with the camera button on the left, it shows a loading indicator and the app crashes. Not a great first impression. Coming from a company the size of Microsoft, such trivial crashes should have been caught.
8tracks.com Security Breach 8tracks.com
41 points by achairapart  14 hours ago   28 comments top 8
cyberferret 11 hours ago 6 replies      
Ok, so the breach was via an employee's Github account that wasn't secured with 2FA. I understand that would have given them access to the source code for 8tracks, but HOW did they get access to database credentials?? I would have assumed best practice would dictate that database server IP addresses and access credentials would have been in a configuration file that is NOT checked into version control??

Most companies go to great lengths to extract credentials, keys and other sensitive information into some sort of environment file, don't they?

Unless they had a copy of their database in text/JSON/XML format uploaded to version control as well??

matt_wulfeck 12 hours ago 1 reply      
> If you signed up via Google or Facebook authentication, then your password is not affected by this leak

This is why it drives me crazy when I click "login using google" and then it immediately prompts me to create an account with only my email filled in.

kentt 2 hours ago 0 replies      
> Although the decryption of one particular users password through brute-force techniques is unlikely,

This doesn't seem true to me given that many people use weak passwords (even when they think they don't).

phreack 12 hours ago 1 reply      
What I'd like to know and is lacking from this disclosure is what data they stored and was leaked from users, and the hash algorithm they used.
TekMol 10 hours ago 0 replies      
That the Github account did not use 2FA does not explain the breach. How did the attacker get the password?
Rjevski 13 hours ago 1 reply      
At least the passwords were hashed. I wonder what hash they used though. I'm tempted to bet good money it's going to be an inadequate one like SHA1 or a completely broken one like MD5.
GrumpyNl 14 hours ago 0 replies      
Here we go again. We see these happening to often.
ec109685 12 hours ago 2 replies      
Wish all sites let you login with one of the big identity providers like google or Facebook.
Show HN: 3D Renderer Built using 2D HTML Canvas vivekseth.com
38 points by vivekseth  14 hours ago   20 comments top 11
badsectoracula 9 hours ago 2 replies      
Neat, although the fun begins when you try to fill them since you cannot just ignore the primitives anymore if a vertex touches the near plane but instead you have to clip the primitive :-). Also without a z-buffer hidden surface removal becomes tricky if you want to avoid bad overlaps.

For fun i made a 3D thing a few years ago, you can check it here:


The code does the clipping part (triRender function) although HSR is painter's algorithm with a simple sorting (triSort) with a heuristic (triCompare) that i came out through trial and error (because of the distortion introduced by the perspective projection this doesn't always work and IIRC i'd need to actually split the polygons for better result but i was too lazy for that :-P).

Note that i wrote this for fun a few years ago, i am not a web dev nor really follow web tech. This is the biggest block of JavaScript code i've written for years :-P.

kosua20 1 hour ago 0 replies      
Shameless plug for my own attempt at writing a software renderer in swift... https://github.com/kosua20/PtahRenderer

The readme lists a few useful resources; in my opinion the most difficult part was implementing clipping.

mrspeaker 13 hours ago 1 reply      
I wish there was some details around this! Recently I've been getting into writing a software 3D renderer thanks to this fantastic set of tutorials: https://github.com/ssloy/tinyrenderer/wiki.

Here's my creepy 3D rendering: http://mrspeaker.net/dev/head2/ It's not using a real z-buffer (just canvas's path rendering for triangles, and sorted back-to-front) but it's still pretty cool!

themadcreator 13 hours ago 2 replies      
I'll also plug my own canvas rendering 3d library: http://seenjs.io/
bbales 10 hours ago 0 replies      
I did something similar to this https://github.com/bbales/Simple3DCanvas

Its a great exercise, and I found that rendering basic .obj files was a great place to start - the spec is quite easy to follow: https://en.wikipedia.org/wiki/Wavefront_.obj_file

onion2k 13 hours ago 0 replies      
three.js has a canvas renderer that doesn't require WebGL - https://threejs.org/examples/?q=canvas#canvas_materials
JasonSage 13 hours ago 0 replies      
Worth mentioning that the page takes keyboard arrow input to move around.

Very smooth, thanks for sharing!

cr0sh 7 hours ago 2 replies      
I have to say, as simplistic as it is, I like this renderer. I am curious, though why an orthographic projection (?) is being used, instead of a perspective one? From the code, it looks like it could support a perspective projection; I'm not sure if there is code in there to do it, or if you'd have to add it in (it's been ages since I messed around with my own 3D software engine stuff - and that was mostly in QB and VB)...
fogleman 6 hours ago 0 replies      
Here's my software renderer... https://github.com/fogleman/fauxgl :)
donatj 10 hours ago 1 reply      
I have been working on this thing on and off for six+ years, I know almost nothing about graphics so this has just been a fun little exploration for my and probably nothing to base anything on:


pedalpete 7 hours ago 1 reply      
Can somebody please comment on why using a 2d canvas is a better solution than webgl? Or is it?

I was under the impression that to get the best GPU performance, webgl is the answer.

FinTech 101: How financial technology affects everyday life [video] reuters.com
67 points by urahara  14 hours ago   4 comments top 3
spudlyo 13 hours ago 0 replies      
Can we change the link to point to the full video[0]?

[0]: http://www.reuters.com/video/2017/07/12/fintech?videoId=3720...

downrightmike 11 hours ago 0 replies      
Adblock, adblock Plus and ghostery all together blocked 13 things. That's after what Pi-Hole blocked.
scribu 11 hours ago 1 reply      
I enjoyed the overview about what fintech is.

But the middle of the video, the startup guy makes some bold claims about their AI - essentially that it has human-level understanding of natural spoken language.

Sketchfab adds 3D sound to its its 3D model sharing platform techcrunch.com
50 points by janober  19 hours ago   4 comments top 2
avaer 17 hours ago 1 reply      
Related fun fact: if you're using THREE.js, you might not know that basic positional audio is supported right in the library. It works with regular <audio> elements via WebAudio.


I figure if someone told me this it would have saved me a couple of hours.

larsberg 8 hours ago 0 replies      
Artists are doing amazing things on the Sketchfab platform and (as a browser implementer) I'm continually impressed by how hard their team is working to make their viewers work well in all the browsers! It's particularly hard with the spec only just now becoming compatible and getting tests working across them. There are still a lot of quirks to sort out (link navigation, rAF interactions, implementation-specific performance issues, etc.). They're doing great work!
Scheme Programming Lessons from Tarot rain-1.github.io
50 points by mabynogy  18 hours ago   11 comments top 3
IncRnd 12 hours ago 0 replies      
When I read the headline I had hoped this would be about esoteric but useful programming lessons learnt from Tarot deck divination.
mabynogy 18 hours ago 0 replies      
Illniyar 16 hours ago 2 replies      
Scheme syntax is so arcane that it appears divination by tarot cards is a viable option to understanding it.

Like numerology and magic number'd Clang ;)

Google is releasing 20M bacteria-infected mosquitoes in Fresno techcrunch.com
503 points by chriskanan  1 day ago   206 comments top 43
jimrandomh 1 day ago 9 replies      
This is called the sterile insect technique, and it is a well-established practice for getting rid of mosquito populations that could threaten humans. It is very safe, both to humans (male mosquitoes don't bite) and ecologically (species other than mosquitoes aren't affected at all).

It sounds like Google is working on improvements to the process. This is important work, because mosquitos are a major cause of disease, especially in Africa, and we haven't been able to fully solve the problem with existing technology.

WaxProlix 1 day ago 8 replies      
I recall hearing when I was younger that mosquitoes were an outlier in the natural world. With most species, the balance of any food web would be pretty thoroughly disrupted by a major culling. As I heard it, this isn't the case for mosquitoes - if you could press a button and kill them all tomorrow, most ecosystems would be largely unimpacted.

Am I just making this up/misremembering it?

Edit: found a few sources.






Keyframe 21 hours ago 0 replies      
Unlike other questions, I'm interested in logistics behind this. How do you produce 20m mosquitos and where do you hold them? How do you transport them and how do you release them? How do you 'store' them and when releasing are most harmed, are they 'sprayed' or you 'open a box and they will go by themselves'? How do you decide where to release them? Is it all at once (1m per week) or is there a pattern, is it related to wind... so many questions!!

I wan't a documentary "How it's made: Mosquitocide". I'm willing to make one if someone can provide access to info and logistics.

sjcsjc 1 day ago 1 reply      
"Verily, the life sciences arm of Googles parent company Alphabet, has hatched a plan to release a ..."

My immediate reaction on reading that sentence was to wonder why they'd written it in some kind of Shakespearean English.

My next reaction was to feel stupid.

polskibus 1 day ago 7 replies      
Google, while you're at it, please find a way to eradicate ticks. They are getting more and more irritating and dangerous in Northern Europe!
sillysaurus3 1 day ago 2 replies      
So whats the plan to get rid of them? Verilys male mosquitos were infected with the Wolbachia bacteria, which is harmless to humans but when they mate with and infect their female counterparts, it makes their eggs unable to produce offspring.

Thank goodness. We can't eliminate mosquitoes fast enough.

Wildlife will probably find other food sources, so bring on the weapons of mosquito destruction.

teddyg1 1 day ago 2 replies      
Can someone with knowledge of this particular experiment explain how they've overcome the regulations that have stopped Oxitec / Intrexon with their aedes aegypti solution? They key regulatory factors cited against Oxitec, especially in their Florida Keys trials in the past year, were centered around controlling for the release of only males (which do not bite humans), thus avoiding transmission of any kind from the genetically modified varieties, or bacterially modified varieties in this case.

Oxitec has worked for years to filter their mosquitoes so only ~0.2% of the released mosquitoes are female[1]. They then had to demonstrate that and more in many trials before being allowed to release their mosquitoes in the wild in Panama and Florida.

Otherwise, it's great that Google can overstep the other factors that would stop this solution like NIMBYism and working with county / municipal boards. These solutions are great.


yosito 1 day ago 1 reply      
It's interesting that Google is doing this rather than some government organization. What's Google's motivation? Is it purely altruistic, a PR move, an experiment, or does it have some direct benefit to them?
davesque 1 day ago 5 replies      
I'm aware that this is a known technique and thought has been given to whether or not it will impact the food chain, etc. But I do wonder this: has anyone considered what the effect will be of removing this constant source of stimulation for our immune systems?
RobLach 1 day ago 0 replies      
Just want to point out that a megacorp breeding and releasing a sterilization disease is pretty sci-fi. Also a mutation away from a Children of Men style dystopia.
sxates 1 day ago 1 reply      
"You don't understand. I didn't kill just one mosquito, or a hundred, or a thousand... I killed them all... all mosquito... everywhere."
amorphid 1 day ago 0 replies      
Reminds of when UC Riverside released some stingless wasps to prey on a whitefly infestation in Southern California. This was in the early 1990s.

I think this paper is relevant, but I only scanned it:


jackyb 4 hours ago 0 replies      
I always wondered, how do they count so many mosquitos? Is there a technique to determine that it's 20M?
azakai 1 day ago 0 replies      
Why is "Google" in the title? The only connection between Google and this company is that they share a parent company, Alphabet.
jondubois 14 hours ago 0 replies      
>> Verilys male mosquitoes were infected with the Wolbachia bacteria, which is harmless to humans

What they mean is; harmless in the short term and hopefully also harmless in the long term.

pcmaffey 18 hours ago 0 replies      
Has any research been done on potential benefits of widespread micro blood transfusion as a result of mosquitoes? The diseases are the obvious downside, wondering if resistances, etc may be an unrecognized upside.
Raphael 1 day ago 1 reply      
What an unfortunate headline.
Lagged2Death 1 day ago 1 reply      
What kind of planning and permitting process does a project like this require?

Or would it be legal for me to just go and release a cloud of mosquitoes myself?

dzink 1 day ago 0 replies      
From what is explained so far, this process doesn't kill mosquitoes. It just makes sure that some of the females (that reproduce 5 times in a life of 2 weeks as an adult) get fertilized with unproductive eggs. http://www.denguevirusnet.com/life-cycle-of-aedes-aegypti.ht... The eggs of aedes aegypti can be spread anywhere and the fertile hatch whenever their area gets wet in the next year or so.

Does anyone know what % population reduction impact this process results in? They'd have males likely die after 2 weeks and that just wipes the reproductive chances of the females in that period. Google is treating for 20 weeks in dry weather, which is not exactly the peak reproductive season of this mosquito.

LinuxBender 1 day ago 1 reply      
Does this prevent reproduction of the mosquitos, or of the disease? If mosquitos, will this have a negative impact on bats? My bats eat mosquitos and moths, but there are not many moths any more.
phkahler 1 day ago 2 replies      
I wish the other mosquito killing efforts would go forward.
markburns 1 day ago 0 replies      
Does anyone know why the mosquitoes wouldn't evolve to be repulsed by others infected in this way?

Or is this a similar class of problem to antibiotics becoming useless over time?

I.e. it's useful to do now so let's cross that bridge if we come to it?

Or is there something else I don't understand about this?

banach 6 hours ago 0 replies      
What could possibly go wrong?
stanislavb 1 day ago 2 replies      
All good. Yet I thought that was a responsibility of the gov... A big corp spending millions for free seems, you know, questionable
vinitagr 23 hours ago 0 replies      
This is some real breakthrough. I don't remember i have heard of anything like this before. Any amount of success with this solution will have a lot of consequences on other problems.
tcbawo 1 day ago 1 reply      
I can't wait until the day we start releasing solar powered the mosquito-hunting drones.
Harelin 1 day ago 0 replies      
For those of us who live in Fresno and are curious as to which neighborhoods are being targeted: Harlan Ranch and Fancher Creek. They say "communities outside of these areas will not be affected."
SubiculumCode 1 day ago 0 replies      
I wish they'd do it in Sacramento where most of the mosquitoes live.
pcollins123 1 day ago 0 replies      
Google is releasing 20M bacteria-infected mosquitoes in Fresno... wearing small cameras and a projector that can display text advertisements
makkesk8 1 day ago 0 replies      
I've never been interested in biology. But this is so cool! :O
WalterBright 1 day ago 1 reply      
I'm curious how mosquitoes will evolve to beat this.
crimsonalucard 15 hours ago 0 replies      
Unless this solution virtually slaughters every single mosquito wouldn't this technique only select out unfit mosquitos eventually leading to populations of mosquitos with genetic countermeasures to this method of eradication?
mrschwabe 21 hours ago 1 reply      
No one should have the right to play god with our biosphere.
walshemj 23 hours ago 0 replies      
could we have a less clickbaity title
briandear 1 day ago 0 replies      
First they came for the mosquitos, but I didnt speak up because I wasnt a mosquito. Next they came for the invasive fire ants and then we all cheered because mosquitos and fire ants were finally gone.
pcarolan 1 day ago 2 replies      
unclebucknasty 1 day ago 3 replies      
Wait. Is there no regulation around this? Any company or individual can cook up whatever specimen they want and simply release it into the environment en masse?

Am I missing something?

chris_wot 1 day ago 0 replies      
At least they aren't attempting to go viral.
kuschku 1 day ago 1 reply      
[As apparently people prefer hyping Google over questioning why a corporation has to do this in the first place, this comment has been deleted]
will_pseudonym 1 day ago 0 replies      
What could possibly go wrong?
forgottenacc57 1 day ago 2 replies      
What could possibly go wrong? (Eye roll)
ultim8k 1 day ago 0 replies      
I came up with this idea last year! I didn't know someone was already building it.
The Man Who Helped Facebook Bring Snapchat Down to Its Knees cnbc.com
76 points by danso  15 hours ago   73 comments top 11
amingilani 11 hours ago 1 reply      
This may be an unpopular opinion but I feel strongly against titles like this. They could have very well gone with "...Facebook take Instagram Market share" but they wanted to make it personal and human.

I'm disgusted by the choice of words here. One company gained an advantage over there other in a market, big deal! They're competing businesses and eventually one will up the other but there's no point in saying "down to its knees"

abalone 11 hours ago 1 reply      
The interesting flipside to the copycat issue is that Snapchat intentionally did not copy Instagram. And that was probably a mistake.

Spiegel was explicitly against the concept of "accumulative" profiles.[1] The accumulative feature they rolled out last year was Memories, a private gallery that only the user could see and show to people in person. And he was explicitly against making it easy to add tons of friends on Snapchat. He wanted it to be about your "seven most important people."[2]

Well, turns out people do in fact like their Instagram accumulative profiles to store and share highlights with their followers. And it turns out people like getting engagement and adulation from a broader network of followers.

So, as much as I dislike the crass copying that Instagram/Weil did and his attempt to pass it off as just a "format" -- that's bullshit, they copied vast aspects of Snapchat stories and messaging.. calling it a "format" is naked intellectual dishonesty. I noticed Weil back in the Twitter days and this intellectual dishonesty makes me respect him less.

But Snapchat also did not make the right strategic product decisions here. Spiegel, to his credit, went with a bold vision and strategic analysis about what people want. Turns out it was just wrong with respect to how people want to engage with and present their experiences to a broader set of friends.

[1] https://www.youtube.com/watch?v=ykGXIQAHLnA

[2] https://www.nytimes.com/2017/02/17/technology/snapchat-ipo-v...

edpichler 6 hours ago 1 reply      
I really dislike the feature of Instagram that imitates Snapchat. When a software tries to make more than one thing, it loses it's identity. I am surprised that people are still using it, but about the long run, nobody knows.

I saw a funny tweet that someone just wrote "A fear" than an image of Twitter print, of the mobile version, with small spheres on the top (like the ones suddenly appeared on Instagram), so I realized that it's not just me that think Instagram got worse with this feature. And the design solution they found, really annoys me. Now we have this on all Facebook products (WhatsApp and Facebook itself).

Talking about the software identity, I don't remember successful products that tries to do more than one thing. I think it's wrong, but it's apparently working, so I am observing and learning.

raz32dust 11 hours ago 8 replies      
I am curious how many people actually feel this is cool that Facebook can simply copy everything Snapchat comes up with? I understand that this is the way of the world. Big fish eats smaller fish yada yada. But is it good in the long run? I don't know how to do this, and I understand any solution will probably be riddled to the core with loopholes. But I do feel like there should be some way to prevent this kind of monopolization. What do you all think from a long-term, idealistic perspective?
nancyp 12 hours ago 11 replies      
I'd rewrite the title: "Man who helped Facebook shamelessly copy Snapchat's best features without giving any credit"
siliconc0w 10 hours ago 1 reply      
I'm surprised it took Instagram this long to copy Snapshot. This guy seems super impressive but adding a competitor's features to your product to increase market share seems like a pretty obvious move.
ridruejo 1 hour ago 0 replies      
Good prescient analysis of the same topic from a year ago https://stratechery.com/2016/the-audacity-of-copying-well/
curiousDog 10 hours ago 0 replies      
Looking at Linkedin, he's had a remarkable career. Wow. He's made it from Engineering lead at 28 to SVP and Head of product at 34.
debt 12 hours ago 0 replies      
Most of this will come down to brand equity anyway. I have to assume there are people using Lyft over Uber because those people have negative associations with the Uber brand. Uber and Lyft both provide the same products, but people prefer one brand over another.

People prefer Gucci over Versace, North Face over Patagonia etc.

Inevitably, the same will be true for Facebook vs Snapchat. Snapchat will likely prevail in a way because the "brand" ecosystem, talent pool(pr, actors, producers etc.) are concentrated largely in Los Angeles due to the existing Hollywood system.

Proximity to the talent might not have much to do with it, but I imagine Snapchat has been developing those relationships for a while.

briandear 12 hours ago 2 replies      
Instagrams revenues are increasing because Facebook advertisers unwittingly are having their ads run in Instragram. You have to opt-out. Found that out after blowing through and ad budget that got consumed more quickly because of Instragram.

Instagram users as a cohort are the worst audience for advertising. Low conversions, lots of impressions and just all around less profitable than the exact same ad on Facebook itself.

Even music acts that would seem to be a tailor made product for Instragram still, in my anecdotal experience, a complete waste of money. Instagram the thing might be a fun product, but Instagram as a provider of cost-effective advertising, no way.

adventured 12 hours ago 3 replies      
At the time the DOJ began seriously looking into Microsoft about anti-trust abuses derived from their monopoly, there were still a vast number of medium to large software & tech companies that competed head on with Microsoft. That of course meant there were a large number of parties that could sign on to the aggrieved list against Microsoft.

As Facebook formally kills off Snapchat in the next few years, it's a curious problem of which companies will supply the ammunition to go after Facebook for anti-trust abuse. Said companies will be the biggest motivating factor for the US Government to act, their prompting will drive the case.

Given the scale we're talking about now (Facebook is already more profitable non-inflation adjusted than what Microsoft was at the height of its power; and they might double their profit in a few years up to $20 billion before any government action would come through). I would expect companies to begin lining up with their hands out. Twitter as one example, stands to easily land maybe $5 billion or more as compensation for being one of the few survivors of Facebook's social monopoly. Something that has changed a lot in the last 20 years, corporate fines & costs of negative legal outcomes have skyrocketed in practically every industry. Google's worsening EU disaster is just the latest example of that. Facebook will need tens of billions of dollars set aside for settling with governmental entities and competitors (even semi-dead competitors like MySpace - its owners will show up with their hands out for a settlement, and they'll definitely get some crumbs as Facebook will settle just to move on as the lawsuits stack high after the blood hits the water).

As the world witnesses Facebook intentionally kill off Snapchat by leveraging its monopoly in nearly every way it can, there are going to be few people remaining in the Facebook defender camp as the number of major social players in the US & EU markets drifts toward just a few small competitors left standing. Snapchat better have been worth it, as I can assure you that crushing Netscape wasn't worth what it cost Microsoft.

       cached 16 July 2017 10:02:01 GMT