CircleCI has an implementation that used to use a detachable disk, but that had issues with concurrency
It’s since been replaced with an approach that uses a docker plugin under the hood to store layers in object storage
1,507 karma · joined February 4, 2011
CircleCI has an implementation that used to use a detachable disk, but that had issues with concurrency
It’s since been replaced with an approach that uses a docker plugin under the hood to store layers in object storage
Yes existing terms have meaning, but they also have baggage.
Forming a new term is a reasonably effective way to shed that baggage and attempt to start the cycle all over again.
Seeing a term you’re not as familiar with and needing to look up the definition (whether that’s a local or a global definition) is usually a good thing IME.
You would think that, but that isn't always the case: https://play.golang.com/p/Ze3pfNEVTVs
It's very easy to create an enum value that isn't actually in the defined range
It's entirely possible to measure teams on business outcomes without having them own things end-to-end, but to be really effective in this they'll need to collaborate with the other teams across the company - which is generally a desirable outcome.
VC-money and ZIRP is a convenient shorthand for what's changed, neither are terms I think particularly encapsulate what did change, but I think it's very hard to argue that it's still just as easy to get a bunch of funding without a business model. (aside from in AI perhaps?)
I suspect the era of VC-money and ZIRP led to a large number of engineers who were disconnected from successful long-term business outcomes, so there was no incentive to simplify.
Couldn’t they allow you open PWAs in Safari, or fall back to opening a URL in another browser?
Is there some part of the DMA which demands full feature parity?
We ran into this recently as our CI system is running a newer OS than we currently deploy to - and disabling CGO was an easy way to sidestep this requirement
A large number of contraband mobile phones had been confiscated, and a team performed some data analysis to see what they'd been used for.
The overwhelming conclusion was that the phones had been primarily used to keen in touch with family.
There's also a whole bunch of research that showed that maintaining ties with the outside world while incarcerated led to reduced rates of reoffending (and the inverse was also true - isolation led to increased rates).
Allowing free phone calls in and out of prisons makes a lot of sense both socially and economically.
The caches should be next to each other, and the servers should be too, leaving the DB up top and the lib between the servers
Although personally I’d also then flip it to put the DB at the bottom so the server becomes the headline, and if one server is public and the other internal, then I’d push the internal one down half a row too
I did a talk about this at QCon London last year
https://www.infoq.com/presentations/event-tracing-monitoring...
> The compiler will always support old code written against older editions, but the language can still introduce breaking changes in newer editions. Developers can either opt in to new editions and migrate their code, or do nothing, and things continue to work fine. There is seamless/transparent interoperability.
This is exactly what the GODEBUG scheme described in the article is intended to allow.
Pair programming is a high-context activity where two programmers collaborate closely on building something.
Code review is a tool to simulate looking at code that you haven't just worked on with high-context, and seeks to assess whether it is understandable to someone in that position. Since code is read far more often than it is written, code review can be a very effective tool for maintaining the long-term health of a code-base when applied in this way.
a) It's highly likely that your monitoring is not going to spot an occasionally restarting service
b) It's probably a good choice not to waste cycles on that sort of monitoring
In reality the opposite was true - experience had shown us that every time builds got faster, people ran more builds (likely because faster feedback means more iterations).
The current UK government has not been doing much of this.
I work 100% remote with semi-flexible hours and a big part of this is the freedom to leave my house and do things during the day, like meet up with friends, or go exercise while the sun is out in winter etc.
https://www.youtube.com/watch?v=YKuRkGkf5HU
The demos are in Ruby, but I could imagine that languages with strong type-aware auto-completion could be easier to do.
If you only perform the refactoring after making a change (eg. adding a ticket for cleanup later), then (a) you made it hard to do the change, but also (b) it’s now far less vital to perform the refactoring - as the desired outcome has already been reached.
Refactoring for refactorings sake can be hard to figure out what the goal or end-state is. Making a refactoring in order to facilitate a particular desired change acts as a great forcing function for helping you decide what to change and why.
For library code or other deployment models I’m not sure - it’s not something I’ve had a need to experiment with
A span as modelled by OpenTelemetry is a a bag of developer-chosen structured data containing a name, a timestamp and some auto-generated IDs to correlate it with others.
It is effectively an open standard for how to collect good structured logs - although it is currently not commonly pitched that way by either tracing advocates or structured logging advocates.
These are commonly used to create trace waterfalls, but can also be used to derive metrics or simple dev-debug output.
I have used this approach myself to great effect, and also spoken to a number of people who have also found success with such an approach - but currently the momentum of existing approaches (and the fact that traditional logging still works well-enough for most people) has not led to wide adoption