HNHacker News
TopNewBestAskShowJobs

DasIch

2,776 karma · joined April 17, 2011

submissionscomments
DasIch··on Entire German bond yield curve back in sub-zero territory
It means now is a great time for the German government to make some investments into crumbling infrastructure, even if that means taking on debt.
DasIch··on Entire German bond yield curve back in sub-zero territory
> If people put their savings into a bank account, then this savings would nevertheless be available for investments via the banks, arn't they?

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.

DasIch··on Entire German bond yield curve back in sub-zero territory
> At least you cant change inflation on a whim there [...]

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.

DasIch··on Intel Distribution for Python
Competition is desirable because it aligns with society’s goals of innovation and progress which also imply increased productivity and lower prices.

Artificial barriers to entry are contrary to that and if they’re not illegal they should be.

DasIch··on I am often asked if I will “return to cryptocurrency”
Capitalism and centralization of control are not incompatible. The entire point of platforms is to centralize control up to the point of having full control over proprietary markets like Apple with it's App Store.
DasIch··on Temporal: Getting started with JavaScript's new date time API
When you schedule an event in the future like “meet me at 14:00 in cafe foo”, this means local time and it’s going to mean 14:00 local time even when the timezone changes.

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.

DasIch··on Mexican billionaire Salinas says his banking business may embrace Bitcoin
I agree that the Mexican peso and the Venezuelan Bolivar are not doing well, certainly you wouldn't want to use them as currency, if you can avoid it.

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.

DasIch··on Mexican billionaire Salinas says his banking business may embrace Bitcoin
> Many in developed countries don't understand the challenges of a devaluing currency with unlimited supply or the difficulty of being unbanked.

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.

DasIch··on Disasters I've seen in a microservices world
> Why do you need to make the dependence on Redis a part of the public API? You don't do that with the service API, so why do you have to do it with the library API?

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.

DasIch··on Disasters I've seen in a microservices world
Let's say you want to add redis for caching purposes. If a service does that, users of that service don't have to be aware of it. If a library does that, users of the library do have to be aware of that.

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.

DasIch··on Disasters I've seen in a microservices world
A library can be stateful or have a data store but that means the user of that library has to be aware of changes beyond the API and hat to operate this data store.

> 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.

DasIch··on Disasters I've seen in a microservices world
There are many reasons for why a library might not be sufficient. The most common one is that what you’re doing is stateful and requires some sort of data store.

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.

DasIch··on Disasters I've seen in a microservices world
Big organizations do microservices because it reduces the number of people who you need to coordinate changes with to a reasonably small number per service. This is critical for the ability to effectively maintain services and make progress at a reasonable pace.

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.

DasIch··on Ad tech firms test ways to connect Google’s FLoC to other data
If you care about privacy, "well-behaved adtech companies" is an oxymoron.
DasIch··on Things you can’t do in Rust (and what to do instead)
Let's assume for a moment self-referential references were allowed. Let's further say we have such a struct containing self-referential references and we move it.

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.

DasIch··on How to find a job as Software Developer in Germany
60k for a senior engineer in Berlin is too low. 75k at the lower end is quite reasonable and 80-90k is definitely possible, if you're good at what you do.
DasIch··on Statement of FSF board on election of Richard Stallman
What political successes did the FSF have in the last 20 years and what role did RMS play in those?
DasIch··on Statement of FSF board on election of Richard Stallman
One person is not a movement. It's not enough to find someone else. The organization, the entire group of people it consists of, needs to be able to its job.
DasIch··on Statement of FSF board on election of Richard Stallman
What if, RMS is hit by a bus tomorrow?

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.

DasIch··on Are Hackers the New Luddites? [audio]
This is already happening. Squarespace, Shopify and to some extent Facebook certainly have an impact on the lower end of web development.

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.

DasIch··on Bitcoin is not a Battery – it is a Sink
If bitcoin stopped existing today, the environment would be better off because right now the impact is negative. It could only become net-positive, if there are changes in the future. Even if you believe such changes will happen, I think you'll have to agree that this is speculation. It's not net-positive for the environment, it might be net-positive for the environment.

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, ...)

DasIch··on Bitcoin is not a Battery – it is a Sink
> Is there something better than minting new money that we should be using this energy on, and to which we can economically distribute said energy from locations with excess capacity?

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.

DasIch··on Bitcoin is not a Battery – it is a Sink
> No additional tanks, armies and nuclear weapons needed.

Of course not. The existing ones you depend on to protect the necessary infrastructure and servers of bitcoin are already sufficient.

DasIch··on Bitcoin is not a Battery – it is a Sink
Bitcoin being a net-negative investment doesn't exclude the possibility of a few winners. Much like some people do actually benefit from pyramid schemes.
DasIch··on Nike Statement on Xinjiang
I haven't downvoted you but there are a couple of problems here.

> 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.

DasIch··on How to create a 1M record table with a single query
You want to run a transaction in production and you're unsure about the impact because it might take a lock and block other transactions for some time. In that case you may want to spin up a separate database with fake data and test it there first.

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.

DasIch··on The biggest threat to Rust's sustainability
> [...]every six weeks you'll get this ping, you need assess what changed and whether you need to take action.

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.

DasIch··on India to propose cryptocurrency ban, penalising miners and traders
Do they pay an appropriate price for the energy the use? Do they pay a price that takes into consideration CO2 and environmental costs?
DasIch··on Cleaning Up Your Postgres Database
As you can probably tolerate reads being a bit slow for logs, S3 is a good option. It's cheap, trivial to operate and you can query it easily with Athena.
DasIch··on Weird architectures weren't supported to begin with
C is more portable than Rust when you define portable as "it compiles". If you define portable to mean "works correctly" I expect C is about as portable as Rust in the context of most applications.
← PreviousPage 3 of 34Next →