1,345 karma · joined February 5, 2013
I agree that it could use a lot more polish and copy-editing for consistency.
Performance issues in the browser are rare, and have nothing to do with the number of users using the application.
One surprising use case that I have had great success with, though, is in database migrations. I detailed my approach here, if you are interested: http://blog.launchdarkly.com/feature-flagging-to-mitigate-ri...
The SDK maintains these rulesets in memory, and when you need to evaluate a flag for a given user, the ruleset is evaluated. This way, there is no I/O at the time that a rule is evaluated, so there is no real performance impact. At the same time, because of the way we stream the rulesets to the SDK, any rule changes take effect immediately.
https://launchdarkly.com/performance.html has some diagrams, etc, detailing this (sorry for the marketing fluff :)
Also, a flag can be used as a permanent control to disable a part of the system (like an external call) if that part of the system is having problems. Imagine if you had a github activity feed integration, and you wanted to be able disable that feature when a github outage caused that call to take a very long time. Being able to easily disable that feature without needing to change your code can be immensely useful.
nb- I work for LaunchDarkly.
Passing 80% of the gross receipts (less the $1/ride safe-whatever charge, which I believe is for some sort of insurance policy?) does not seem like they are screwing the drivers to me. It seems like a pretty common split between marketplace/infrastructure providers and suppliers.
So does that mean that the drivers gross 80%? The photographers in the article would also be responsible for their equipment, materials, and taxes, so is this the right comparison?
There are obviously some risks here, as the door is opened briefly twice, but there are a number of steps taken to minimize this risk.
It just sounds like "Just say no to rockstars!". Yes, it goes deeper, and outlines why rockstars are a problem, but the 'just say no' message makes me a bit uneasy.
I'm not sure if I'm one of those holdouts? I've been using gchat, mostly over XMPP (using adium), and sometimes in Gmail. I frequently search chat history in Gmail.
I didn't realize that gchat had such a tumultuous history.
This also allows the decision to be made in memory, without an additional round-trip to the DB.
Think of the cleanup branch as a running list of changes that you know you will need to make to remove the flag. Any future references to the flag should keep this cleanup list in mind. Code reviewers should keep these cleanup lists in mind.
This list of cleanup tasks happens to be expressed as a branch in your VCS (this is a pretty good way to express changes that need to be applied to a codebase). You will still need to be careful when you execute that list, but it will be helpful to have the running tally of things that need to be done.
For the temporary type of toggle, which is what I was addressing with this blog post, my experience coincides with yours-- usually a few weeks.
The trick with deleting a year-old flag (which I was trying to address with this post) was that you need to be careful when deleting code that you haven't worked on in over a year. If you have the list of necessary changes all pre-baked in a branch, this can be at least a little easier.
I'm not aware of any authorization libraries that let you grant access to a percentage of your users, but maybe they are out there? It is a strange use case from an 'authorization' standpoint.