Can you comment on how compatible this is with asyncio-based applications? Looks like an interesting product and I'm going to try it out regardless, but it would be cool to get some clarity since I couldn't find anything in the docs besides this:
> Time (blocking call) profiler supports threads and gevent.
Neither Django nor Flask is asynchronous/event loop based. It would neither make sense nor improve performance to run a Django/Flask app on top of uvloop. If you want to develop a web API using uvloop, you should look at aiohttp (http://aiohttp.readthedocs.io/en/stable/).
Not at all. I can appreciate an elegant, problem-specific solution as much as anyone else. The point is that there are always tradeoffs.
What's the query interface like for the bit array? Does it even have one? Seems like you'd have to sit down and add more code whenever you wanted to know something new about the data. Would you write your own query layer? Would you eventually need a dedicated team to maintain it? You may say that is an extreme conclusion, but I've seen this very story play out multiple times in large dev organizations.
As amorphic pointed out, indexing the data with ES makes it easy to access even for non-technical users. Each layer of abstraction comes with its own costs – of course – but also its own benefits. Tradeoffs.
I'm not really sure what the point of this article is. If you're clever, you can represent any data as a bit array. And once you're there, counting bits or XORing them together is easy. But is that system easy to understand? Is the code easy to read for the rest of the developers who work on the project? Or for future hires? What happens if the data set becomes too large to fit in memory on a single machine? Storage is cheap and getting cheaper every day. The whole data set described in this problem (done the "inefficient" way) fits on a flash drive at today's capacities.
There are always tradeoffs when it comes to architecture design. Speed and storage space are only two of the many factors that require consideration.
Well, yeah. That's not the intended use case for Slack. People do use it for public groups organized around a shared interest, but it is intended for teams or companies.
The sales people don't have access to the content moderation systems. As far as it showing up in code, I was just making the point that there is no file containing something like
if business_has_paid_extortion_money:
show_good_reviews()
else:
show_bad_reviews()
... which is how people seem to think it works.
There is also no code to allow manual review ordering. They are sorted according by an algorithm with a variety of inputs including who you are friends with, who has Elite status, etc.
Actually, the ruling stated that there was no evidence of Yelp behaving the way they were accused of. It went on to say that, even if they were, it would at worst constitute hard bargaining and not extortion.
I worked at Yelp for two years as a software engineer. I have seen everything there is to see: the code, the databases, etc. There is no extortion table. There is no extortion code. Businesses like to make this claim because it generates sympathy and attention. It's just not true.
There’s also a feature you can enable that automatically rotates your key once a year. KMS is great!