487 karma · joined May 14, 2010
Former CTO of Democracy Works, Inc. Currently a Senior Developer at Harper.
[ my public key: https://keybase.io/wesmorgan; my proof: https://keybase.io/wesmorgan/sigs/SruzQSLSDqABvVg1jXxtWS9_iBBZMouTYcmOfjbb3dY ]
https://gimletmedia.com/shows/science-vs/dvheexn/coronavirus...
Gives you some good additional questions to ask when reports like this come out.
It gets into the deeper motivation behind not breaking backwards compatibility within the same-named module. There are two bad extremes here:
1. Never update dependency versions for fear of breakage. This leaves you open to security vulnerabilities (that are easy to exploit because they are often thoroughly documented in the fixed version's changelog / code). And/or you're stuck with other bugs / missing features the upstream maintainer has already addressed.
2. Always just updating all deps to latest and hoping things don't break, maybe running the test suite and doing a "smoke test" build and run if you're lucky. Often a user becomes the first to find a broken corner case that you didn't think to check but they rely on.
The approach outlined by Rich Hickey in that Spec-ulation talk I linked to allows you to be (relatively) confident that a package with the same name will always be backwards-compatible and you can track the latest release and find a happy middle ground between those two extremes.
Go's approach is one of the few (only?) first-class implementations of this idea in a language's package system (in Clojure, perhaps ironically, this is merely a suggested convention). The Go modules system has its fair share of confusing idiosyncrasies, but this is one of my favorite features of it and I hope they stick to their guns.
They’re trying not to break compatibility until a downstream developer explicitly opts in to that breakage. The simplest way to do that is to give the module a new name. And the simplest way to do that is append the major version to the name.
Here is the post: https://blog.golang.org/v2-go-modules
For more background on this principle, I recommend Rich Hickey’s Clojure/conj keynote “Spec-ulation” from 2016: http://blog.ezyang.com/2016/12/thoughts-about-spec-ulation-r...
This took me a second to correctly parse. Would have been better written as: “During a brownout, password authentication will temporarily fail. This is to alert users who haven't migrated their authentication calls.”
But yes, if GitHub is down, then your workflow is going to change. We're hoping to close that gap down the road, but having a way to continue pushing and pulling with collaborators with a very quick setup seemed compelling to us. Not to mention the benefits that decentralization itself brings.
The vast majority of git users tend to agree on one "origin" remote and 99-100% of their pushes and pulls are to/from that remote. So git, in practice, tends to be centralized when it comes time to collaborate with others. We're trying to re-decentralize that aspect while accommodating the convenient workflows we're all used to.
But to answer your question, anyone can host Sia nodes. Here are their docs on that: https://support.sia.tech/category/0OpBuOHIVD-hosting
If there isn't one, I may have to write it. It sounds really trippy.
Still pretty new, and in closed beta. But it adds an interesting threading/topic model onto the typically chaotic stream of most group chat apps.
A. The corporations that have the most power in this industry have lobbied for and gotten a consumer-hostile regulatory regime. B. It's the government's fault that the regulations are less than ideal. Therefore the consumer would be best served by getting the government out of it.
This is like saying, "The problem with being stranded in the desert is the lack of water. Therefore water is the problem. Therefore we should remove all the water from the desert."
Though I see they're using the prawn gem to do it here: https://github.com/democrats/voter-registration/blob/master/...
Last time I checked, prawn wasn't quite powerful enough for this use case. I'll have to revisit that approach.
We were allowed to open-source some infrastructure code back then: https://github.com/dnclabs
Hopefully they'll continue working on this tool and make it something worth using and contributing to. I've tried to convince several political orgs. I worked for in the past to do this, but so far none have bitten.
Just because MS lost its monopoly on its own does not mean that we, as consumers, would not have benefitted--and would still be benefitting--from breaking up that monopoly when it was more dominant.
MongoDB isn't a fundamentally flawed system. It's just that the distance between what 10gen (and many of its defenders) claim and what it delivers is much greater than most other data storage systems. This is a subtle thing.
Many people have attempted to use MongoDB for serious, production applications. The first few times they encounter problems, they assume it's their fault and go RTFM, ask for help, and exercise their support contract if they're lucky enough to have one. Eventually it dawns on them that they shouldn't have to be jumping through these hoops, and that somewhere along the way they have been misled.
So it's not like anyone is misinterpreting the purpose and/or problem domain of MongoDB. It's more that they are exploring the available options, reading what's out there about MongoDB, and thinking, "Gosh, that sounds awfully cool. It fits what I'm trying to build, and it doesn't seem to have many obvious drawbacks. I think I'll give that a try." And then they get burned miles further down the road.
If MongoDB were presented as more of an experimental direction in rearranging the priorities for a persistent data store, then that would be fine. That's what it is, and that's great! We should have more of those. But when it's marketed by 10gen (and others) as a one-size-fits-all, this-should-be-the-new-default-for-everything drop-in replacement for relational databases, then it's going to fall short. Far short.
Plus, you know, lots of people would have died who could have been saved by stricter building codes. I'd rather be alive than have a couple more percentage points of economic growth every year.