HN user

Phil_Latio

369 karma
Posts0
Comments155
View on HN
No posts found.

Well, the C3 developer could add more fine grained control if people need it...

I don't really see what's your problem. It's not so much different than disabling asserts in production. Some people don't do that, because they rather crash than walking into invalid program state - and that's fine too. It largely depends on the project in question.

documentation clearly states that it's UB to violate them

Only in "fast" mode. The developer has the choice:

Compilation has two modes: “safe” and “fast”. Safe mode will insert checks for out-of-bounds access, null-pointer deref, shifting by negative numbers, division by zero, violation of contracts and asserts.

Then look at the the average and compare with France. Germany causes 6 times more Co2 stemming from energy production.

The energy mix in Germany leads to a situation where electric cars are dirtier than diesel (for the first ~200000 km / 125000 miles driven).

This argument, namely that politics can lower the price (by emitting extra certificates) when it gets too high, contradicts the whole reason for the mechanism in the first place: They claim a free market can find the right price better than politicians. But then they interfer anyway?

The price will rise much larger than a dumb, fixed increase-schedule would. Because the "market" wants it's profit.

It's just one piece of the puzzle. The cost for Co2 certificates is a more major reason. Starting 2027, hedge funds can buy these certificates which will be the nail in the coffin. It's basically Bitcoin on steroids with the difference that people buy Bitcoin out of free will, while the industry is forced to buy these certificates which get more scarce over time.

Whether or not GC is a negligible portion of your runtime is a characteristic of your program, not your implementation language.

Of course, but how many developers choose C _because_ it does not have a GC vs developers who choose C# but then work around it with manual memory management and unsafe pointers? ....... It's > 1000 to 1

There are even new languages like C3, Odin, Zig or Jai that have a No-GC-mindset in the design. So why you people insist that deliberately unsafe languages suddenly need a GC? There a other new languages WITH a GC in mind. Like Go. Or pick Rust - no GC but still memory safe. So what's the problem again? Just pick the language you think fits best for a project.

In this case, there is no "increased subsidies for less feasible regions"

https://energiewende.bundeswirtschaftsministerium.de/EWD/Red...

The price actually paid is the bid price, which is adjusted up or down by a correction factor. This is higher in low-wind locations and lower in high-wind locations. Put simply, this means that where there is a lot of wind and yields are high, there is slightly less money per kilowatt hour fed into the grid. Where the wind is weaker, the subsidy increases.

Now why do they do this? Because the goal is to do _everything_ with renewables. Which means: Since it's not so easy to route electricity from the north to the south, the south needs it's own plants, even if they are unprofitable.

Well the whole clean energy transformation in Germany has a tax payer burden of 3 trillion or more till 2045. Frances nuclear plants didn't even receive 1 trillion of subsidies in total since their existence (according to my quick research). But let's say France and Germany are even in subsidies or France pays slightly more: I thought it's about Co2? Again: France has 1/6 of the Co2 emissions compared to Germany. Just by that metric it's a colossal failure!

When you say Germany can't just build nuclear plants now you are right. But the solution can't be to expand solar and wind, while destroying coal and nuclear plants - which is what they do. The last minister for these matters had the unironical idea to shutdown industry when the renewables don't produce. The idea was to move from a demand driven industry, to a supply driven industry. Total madness. The idea to produce wind in the south of Germany is part of such madness.

I wrote aggressively expanded. It doesn't make sense to build wind in a region where it's only profitable due to subsidies.

Wind power is so cheap

Germany has the highest energy costs in the world. The alledged price points for wind and solar do not account for the total cost: Negative electricity prices when there is too much demand, increased costs managing the grid (redispatch), the need for a double-infrastructure (because when there is no wind or solar produced, someone else has to produce)

France has lower electricity prices than Germany, while emitting only 16% (!!!!!) Co2 compared to Germany. Conclusion: Germanies "clean energy" way is a total failure. Electric cars in Germany are "dirtier" than gasoline cars due to the energy mix.

Germany pays about the same each year: Wind is turned off, but the investors get their guaranteed profit from the tax payer. Meanwhile wind is aggresively expanded. They even go so far to now build wind in the south of Germany and then offset the lower average wind speed by increasing subsidies...

Well I see 2 cases for automatic preemption:

- You are lazy and just don't care, let the runtime do it - Or you failed to realize that what you do could block

The first case is what annoys me. I think the developer should handle obvious cases manually. While the second case would be considered a bug in my model and the language should help you with that as explained earlier. If that works out, I mean to rule out mistakes for the second case, then this model is superior and more performant I think.

No i meant cooperative green threads, not the stackless async/await model. My model would basically mean: No "function coloring", all functions can be called as usual. IO related functions will automatically yield, no problem. All CPU-bound work either need manual yield points (not good, I agree) or should be offloaded to a coroutine on a different thread and then awaited (yes with await keyword) cooperatively. If you want to invoke a click handler for an UI, you can launch a coroutine on the same thread (cooperative).

Go must do all sorts of trickery with the preemption. Like inserting yield points or even depend on signals so it can preempt a goroutine which didn't hit a yield point. It basically replicates what the OS does with threads.

What do you mean by "IO hot spots"? You really mean IO or rather CPU bound work? Because for IO, the standard library stuff could always yield properly (like Go does).

If you mean CPU-bound-like work, then that's true. But is the Go model really the solution? I don't know. It basically replicates the OS model, where preemption is required. But in a single application, the developer should be able to coordinate..? Maybe the cooperative model just needs more tooling, like clear rules: The main coroutine shouldn't execute for longer than 1 millisecond (or better a certain number of instructions) between yields. In debug mode, you could then get the exact stack traces where "stuttering" happens. You may then insert yield points or better just offload CPU-bound work by spawning a new coroutine on a different OS thread and await it cooperatively.

Otherwise people can get drafted by a government they didn't have a say in electing.

This kind of thinking is not rooted in reality. When you were born, you were forced to accept the conditions you were born into. The same is true with laws. I understand that going to war is something else than going to school, but that's life.

No taxation without representation.

"Representation" in the original slogans context does not really apply here (since it was about voting rights for a taxed population as a whole).

But for the idea of "anyone who has to pay taxes, must also have a say!", I can only say that it comes right back to the previous point: You could just as well argue the individual income tax rate must be zero, until a person had the opportunity to vote at least once. The world doesn't work this way.

Somewhere one has to draw the line, or you can go down to voting power for toddlers. And the best and obvious line was to treat an adult human as a "full" citizen with all the rights and duties.

So how far down in age would you go and why would you stop at that age?

You have a point, but getting the easy part (the lexer/token) "right" is something to strive for, because it will also influence the memory and performance characteristics of later stages in the pipeline. So thinking (and writing) about this stuff makes sense.

Example: In the blog post a single token uses 32 bytes + 8 bytes for the pointer indirection in AST node. That's a lot of memory, cache line misses and indirections.

The study analyzed two separate phenomena - changes in engagement for Musk's posts AND changes in engagement for Republican content - occurring simultaneously

And in which political bubble is Musk popular? It's not seperate phenomena. What do you expect? That let's say republican engagement organically increases (as I claim), but Musks engagement stays the same, even though he made many statements regarding the assassination attempt and got people riled up because of his endorsement? This is ridiculous, sorry.

Should we have abandoned Alzheimer's research because perfect data wasn't available? Obviously not.

The study authors should've been well aware of the above. They didn't care and did it anyway, because they knew fully well that people will not care, because it fits a certain narrative.

Your eagerness to defend him

Okay I think we can stop it here then. You think I write in defense of Musk. I think you are completely oblivious to common sense. The truth is probably not that black and white though.

Nice day