716 karma · joined September 5, 2017
Or they redirected funding that previously went to education to other budget items. If a trust fund is created to send $7B to education, but the government cuts their previous $10B in funding, the trust fund can be perfectly followed, while educators see a $3B cut in their funding.
It makes those breakages less painful. A project can eventually remove a deprecated API after notifying other projects to run `go fix`. And when projects ignore that advice (some always will), they can revert to a previous working version, run `go fix`, and then upgrade, without spending time in the code identifying how to replace each removed API.
And for those projects that routinely update and run `go fix`, they'll never notice the removal of deprecated code. Given the other benefits of `go fix`, switching to easier to read methods, and leveraging more efficient methods, in addition to security fixes that come with regular updates, this should be the workflow for most maintained projects.
But this administration wants to say everything is fine, and fires those that say otherwise. So now unemployment seems under control even though it's not great.
Now the Fed, with their dual mandate to maintain a healthy labor market and control inflation, is considering raising rates. If it turns out the job market was much worse than we realized, raising rates could tank the economy more than it already is tanking. All because they wanted to pretend everything is fine.
It's not just the timestamps you need to worry about. Tar needs to be consistent with the uid vs username, gzip compression depends on implementations and settings, and the json encoding can vary by implementation.
And all this assumes the commands being run are reproducible themselves. One issue I encountered there was how alpine tracks their package install state from apk, which is a tar file that includes timestamps. There are also timestamps in logs. Not to mention installing packages needs to pin those package versions.
All of this is hard, and the Dockerfile didn't make it easy, but it is possible. With the right tools installed, reproducing my own images has a documented process [2].
There's also a stagnation of salaries relative to inflation and a slow hiring market that has people locked into a job when they'd like to find something better. The K-shaped recoveries have people slipping out of the middle class. Combine with housing increasing faster than inflation, future generations having a lower quality of life than their parents.
The wealthy are doing what they can to try to direct the narrative elsewhere, by controlling media sources, blaming immigrants, blaming China, and blaming the government. But we really have far too much wealth concentration to be sustainable, not unlike the ending of a game of monopoly. If a more stable solution isn't found soon, I fear things will get much worse than they already are.
Reaction 2: it's open source, make the lawmakers do submit the changes.
Reaction 3: how would this ever be enforced? Would they outlaw downloading distributions, or even older versions of distributions? When there's no exchange of money, a law like this is seems like it would be suppression of free speech.
Reaction 4: Someone needs to maliciously comply, in advance, on all California government systems. Shutdown the phones, the Wi-Fi, the building access systems, their Web servers, data centers, alarm systems, payroll, stop lights, everything running any operating system. Get everyone to do it on the same day as an OS boycott. And don't turn things back on until the law is repealed.
But the real hidden power of buildkit is the ability to swap out the Dockerfile parser. If you want to see that in action, look at this Dockerfile (yes, that's yaml) used for one of their hardened images: https://github.com/docker-hardened-images/catalog/blob/main/...
My personal time frame is 4-5 years of emergency funds. You can adjust that for your own risk tolerance, but have a look at various past crashes to make an educated decision.
I'd only leave it invested if you don't actually need it, because college can be delayed or financed with student loans.
1. In a parking lot, clear behind the car, and just enough to get inside. Then back the car out of the space, clear the car off, clear the parking space out, put the car back in the parking space and clear everything you knocked off. If tried without pulling the car out of the space, you'd be trying not to ding up your neighbor's car, clearing in tight spaces under the car, and then doing it all again when you clear off the top of the car into that narrow gap.
2. Don't drive unless you absolutely need to. You may know what you're doing, but others almost certainly don't. But do make sure to clear out at least one car, just in case there's an emergency.
> you don't like the president
One of these things is not like the other. In the second case, it's expressing disagreement with a political figure that has directed multiple mass murders of vulnerable people.
But in the first, it's promoting the mass murder of vulnerable people. Free speech isn't freedom to promote hate crimes.
But using this to vouch for others as a way to indicate trust is going to be dangerous. Accounts can be compromised, people make mistakes, and different people have different levels of trust.
I'd like to see more attention placed in verifying released content. That verification should be a combination of code scans for vulnerabilities, detection of a change in capabilities, are reproducible builds of the generated artifacts. That would not only detect bad contributions, but also bad maintainers.
The second thing they can do is ensure the police force is on their side. Remove officers that would collaborate with attempts to overthrow an election. Require training, monitor social media, ensure qualified immunity cannot protect them, and make sure they are aware.
Docker had a choice of markets to go after, the enterprise market was being dominated by the hyperscalers pushing their own Kubernetes offerings. So they pivoted to focus on the developer tooling market. This is a hard market to make work, particularly since developers are very famous for not paying for tooling, but they appear to making a profit.
With Docker Hub, it's always been a challenge to limit how much that costs to run. And with more stuff being thrown in larger images, I don't want to see that monthly bill. The limits they added hurt, but also made a lot of people realize they should have been running their own mirror on-prem, if not only to better handle an upstream outage when us-east-1 has a bad day.
Everything else has been pushing into each of the various popular development markets, from AI, to offloading builds to the cloud, to Hardened Images. They release things for free when they need to keep up with the competition, and charge when enterprises will pay for it.
They've shifted their focus a lot over the years. My fear would be if they stayed stagnant, trying to extract rents without pushing into new offerings. So I'm not worried they'll fail this year, just like I wasn't worried any of the previous years when similar posts were made.
There's a rootless [0] option, but that does require some sysadmin setup on the host to make it possible. That's a Linux kernel limitation on all container tooling, not a limitation of Docker.
> and that it keeps images between users in a database.
Not a traditional database, but content addressable filesystem layers, commonly mounted as an overlay filesystem. Each of those layers are read-only and reusable between multiple images, allowing faster updates (when only a few layers change), and conserving disk space (when multiple images share a common base image).
> I want to move things around using mv and cp, and not have another management layer that I need to be aware of and that can end up in an inconsistent state.
You can mount volumes from the host into a container, though this is often an anti-pattern. What you don't want to do is modify the image layers directly, since they are shared between images. That introduces a lot of security issues.
> Docker is still maintaining the runtime on which orbstack, podman etc are all using, and all the cloud providers are using
I need to fact check that one. runc was donated by Docker to OCI a while back. And containerd was created under the CNCF from a lot of Docker code and ideas. podman is sitting on the RedHat containers stack, which has their own code base. Docker itself uses runc and containerd, and so do most Kubernetes deployments. Many of these tools go to containerd directly without deploying the Docker engine.
DevOps isn't a tool, but there are lots of tools that make it easier to implement.
DevOps isn't how management can eliminate half the org and have one person do two roles, specialization is still valuable.
DevOps isn't an organization structure, though the wrong org structure can make it fail.
DevOps is collaboration. It's getting two distinct roles to better interoperate. The dev team that wants to push features fast. And the ops team that wants stability and uptime.
From the management side, if you aren't focused on building teams that work well together, eliminating conflicts, rewarding the team collectively for features and uptime, and giving them the resources to deliver, that's not a DevOps failure, that's a management failure.