2,776 karma · joined April 17, 2011
No, those two things have nothing to do with each other. When you ask a bank for credit to invest into something, the bank just creates money they don't take money from other customers.
You can't change inflation on a whim right now either or put another way a government can get rid of a blockchain based system just as easily.
Artificial barriers to entry are contrary to that and if they’re not illegal they should be.
If you store this in UTC and the timezone changes, you end up converting to the wrong time.
So for future events you should store local time with a location you can map to a timezone.
I can also totally see people using bitcoin as a speculative investment. That's also not an argument in favour of bitcoin as a currency.
> Also USD and EUR may be better options but I dont think having accounts denominated in these currencies is easily available to many people in Venezuela or Mexico.
So bitcoin is used not because it's a good currency but because it's better than the available alternatives. I guess that makes sense.
I have to admit, being in a developed country, that I genuinely don't understand why someone would switch away from a local currency that is failing at the task of being a currency to a cryptocurrency like bitcoin that is also failing at being a currency.
Where does the redis instance come from? How does the library get access to it?
These are problems the library author cannot solve and end up being problems for the user. Much like monitoring of that redis instance will also become a problem for the user.
Same problem applies, if your library suddenly wants to access another service (like S3 or some other AWS service).
You can of course maintain a stable API in a library and you should but that restricts the changes you can do to that library. A service I could rewrite in another language without users noticing.
> And if you have to set up and migrate a client/server DBMS for the library, wouldn't you also have to do the exact same steps as if it was running as its own process somewhere the network?
No only the team doing it has to. Users of a service only have to worry about the API that it exposes, which should ideally never change in backwards incompatible ways and if it does, you make sure everyone calling the API understands it and migrates and you break backwards compatibility only after everyone has migrated.
As a user the implementation details of other services I don’t work on, don’t concern me.
Note that a service equivalent to libpng should probably not exist and be a library instead. A more reasonable service would be a wishlist service that keeps track of every customers wishlist and sends notifications to customers when products on their wishlist get discounted or are back in stock.
That has a huge impact because now you need to set up the data store and potentially perform migrations, which means you may need to change how you do deployments. It may introduce a bottleneck such as number of connections to that store, so you now have limitations to think about when scaling.
Important to note here is that a single microservice can actually be quite large with anywhere from 3-12 people working on just one or a few services. A single service could be larger than a startups monolith.
I would argue that this is really the only reasonable use of microservices. If you can fully understand your monolith, you shouldn’t change to microservices. If you fully understand or even know about all microservices in your organization, chances are that you’re doing it wrong.
Moving actually moves things in memory, including the thing those references reference. This means the references now point at the old and now incorrect location. Accessing them would trigger undefined behavior.
Self-referencing is only acceptable, if the struct is guaranteed not to move. Rust does provide a mechanism to provide such a guarantee with std::pin but outside of async code, you probably don't want to be using it.
std::pin: https://doc.rust-lang.org/std/pin/index.html
If you're curious about pinning and have a few hours to spare, https://www.youtube.com/watch?v=DkMwYxfSYNQ is a great video that explains it in detail.
The FSF is not a new organization. That it cannot function without RMS means it's failing to stand on its own. That may be acceptable for a new organization but in case of the FSF that's just a massive failure to build a sustainable organization.
If you care about the work the FSF is doing (I don't), this announcement should be extremely worrying.
Once upon a time you needed to hire someone to get a website for a small business going, now you can do this yourself for a small fee.
That's unrelated to it being negative-sum though. Running the numbers on this is trivial. You can only profit from bitcoin by selling it to someone else for more than you paid for it. Inevitably for some people to profit, some people have to lose a corresponding amount. This alone would make bitcoin zero-sum. Some people, miners, are special though in that they are by design always making a profit. That they extract from the network making bitcoin negative-sum.
As a consequence it's positive only for those people who find a loser to sell to, are miners or "shovel" makers (electricity, hardware, ...)
CO2 extraction from our atmosphere for long term storage or creation of CO2-neutral carbon-based fuels for applications that require fuels with high energy density like airplanes.
Of course not. The existing ones you depend on to protect the necessary infrastructure and servers of bitcoin are already sufficient.
> How can anyone doing business with China look the other way on Xinjiang simply by saying "our factory isn't there".
In many industries not doing business with China is synonymous with not doing business. Many supply chains go through China, this is not something you can easily change.
Additionally capitalism incentives companies to focus on profit over ethics. You can't expect companies to act against that. That's why regulation is important to limit what companies can do to what is acceptable.
Your expectation here is just not realistic.
> Every one of us buying goods made in China is enabling their behaviour by showing that we would rather make more money or would rather have cheaper electronics and plastic crap than standing up for the human rights of the people in Xinjiang who are the focus of the CCPs genocide.
Placing blame on consumers is extremely problematic because it assumes people can make a choice here. That is not a reasonable assumption. Consumers probably don't have the necessary information about the product (and supply chain!), so they can't make an informed decision not to buy a product on this basis. Even if they had this information, they also may not have the financial means to afford making a choice on that basis.
We have effective mechanisms to define and enforce rules, it involves governments taking action through creating and enforcing laws. Putting blame on consumers ultimately shifts responsibility away from people who could do something meaningful about the problem to people who cannot.
> As a Canadian I wish our Prime Minister Justin Trudeau would more directly speak out against China's poor behaviour and offer some temporary support for businesses that would be impacted.
Trudeau merely speaking out against China, also wouldn't help. Sanctions might help and Canada is actually one of several countries that has created sanctions over the treatment of Uighurs.
I'm sure this is not your intention but effectively you're arguing for actions that have no chance of actually solving the problem. This is also a common political strategy by neoliberals who are opposed to government intervention on ideological grounds. So one might be inclined, to think that you pretend to be offended because it's unacceptable not to but don't really want it solved either.
You could create a new database and restore a production backup instead of using fake data but that might not be allowed or require some kind of approval due to rules protecting the privacy of customers or employees.
Rust's stability guarantees mean that you don't need to take any action at all.
Breaking changes (unless soundness is involved) only happen with editions and even when a new edition comes out and you update the compiler, you still don't need to do anything unless you explicitly change the configuration of the project to the new edition.
The only thing you might want to do, if you use clippy (a linter that comes with the rust toolchain). Is to check whether it complains about your code due to new check. If that's the case, you get told what to change and why.