Pumped hydro is just not a valid comparison. I wish people would understand that already… it’s only good for long term storage in certain key geographical regions. Its use case is very limited.
You don’t want to used pumped hydro for short term storage because the rapid cycling will drive up the maintenance costs. You actually hear about hydro power plants talking about installing batteries to reduce wear.
In these discussions please keep in mind that frequency regulation, short term and long term shortage are different applications with different needs. The costs for pumped hydro are generally reported with their target application in mind. It’s not as applicable to dedicated short term storage and certainly not applicable to frequency regulation.
It's cute you think short cycles are somehow better in gas turbines and compressors and that you will restart the whole thing constantly to fill short term demands
> In these discussions please keep in mind that frequency regulation, short term and long term shortage are different applications with different needs.
The comparison is valid; If you want to fill hour to hour demand or add some frequency regulation, an inverter with a bunch of batteries is far, far better than this
> You don’t want to used pumped hydro for short term storage because the rapid cycling will drive up the maintenance costs. You actually hear about hydro power plants talking about installing batteries to reduce wear.
They are still cycled daily, that's the entire point of them that even worked pre renewables - load up on cheap night energy and unload it with demand. Renewables just flipped that to load in solar peak.
And putting few hours worth of batteries to reduce cycling is beneficial in both of those cases.
Ireland is lucky enough to have several suitable sites, but just one operational: Turlough Hill, which has been running for over 50 years and is in use daily. It's at least as useful in terms of grid stability and (relatively) rapid dispatch as capacity. Output ~0.7% of total daily (~120GWh), ~5% of daily peak (~6GW), wintertime figures. For comparison electricity usage has increased about 8-fold since it was deployed in 1974.
I knew the top result is an ad and is marked, and still didn't notice the mark. I think there's actual research put into making these markings "visible" but not "noticeable". And on my phone only the top result shows that big picture banner taking all the attention while the rest of the "real" apps are presented as one liners. [1]
But what's worse than an ad is that too many times these apps are actually scammy. A whole host of apps with almost identical and misleading names, icons, banner pictures, descriptions, developer names, and so on.
Ok, I search for Netflix and you show me Prime first is one think. But showing me a scam app is a different offense altogether. And it doesn't matter if your phone costs $600 or $1600 you'll get served up to the scammers just the same.
It's not clearly labeled, it is a very small label with white text on a pale blue background in an already very busy UI. It is clearly made to look like a real search result and not an ad. On top of this, the screenshots are clearly made to mislead the user into thinking that this is the officiel Microsoft authenticator app by having a large text saying "Authenticator for Microsoft" and a second screenshot with a "Microsoft" TOTP entry.
This is an example of a company whose financial incentives are in direct conflict with the interests of their users, and so they choose to be complicit in borderline fraudulent auctivities.
>It's not clearly labeled, it is a very small label with white text on a pale blue background in an already very busy UI.
You piled a whole lot of arguments, but doesn't change the fact that it's still clearly labelled. Besides, you only need to notice this box once to be able to tell whether something marked the same way is an ad or not in the future.
You're absolutely right on the real problem: it's allowed to present itself, totally convincingly to the average / naive user, as Microsoft sanctioned.
It’s not an opinion, the law states that ads must be “clearly” labeled as such, so if you disagree and think Apple is breaking the law, feel free to report them to the FTC and see how far you get.
A clear blue ad label!! Is this sarcasm? Your remark is so dystopian, you full accepted this as normal.
Btw, I'm checking now, the label "ad" is not there, it's just highlighted. Or is it that blue tag? I thought that signified in-app ads? Shouldn't the highlight itself have a label? Probably this is some A/B test optimized BS, that tag was the option where most people WRONGLY clicked on the stuff they didn't search for.
When I came from Android I first couldn't figure out why app store search was so bad. Dumb me, expecting the highlighted option to be something most relevant to ME and MY search, no it's most relevant to some paying company and can even be a scam. And you and me can reason through this, but my kids get this BS as well, the grow up with this as normal.
You search for something, you don't get what you search for. This is our normal.
Absolute disappointment on day 1 with iOS.
My next phone will be something like FairPhone with e/OS or Sailfish. Or I'll wait for that Graphene hardware partner stuff to finally be revealed. I'm so sick of this bs. You pay a lot of money for something and they slap you with ads. Same on smart TVs, my Philips Hue system (hundreds, maybe thousands of euros I spend on that), ads ads ads.
Maybe it's clear to you... or you work in marketing and have a different definition of "clear".
Note that this is a screenshot from a hi dpi iphone that went through a few upload/download/reencode cycles [1] so it lost all density information. On the real phone screen the "Ad" thing is extremely tiny and unnoticeable.
[1] Downloaded it from my work chat where i posted it as a warning to my colleagues a couple days ago.
The whole background of the ads are also a light blue, in contrast to the white background of organic results.
I want all the ads to go away, and misleading apps should be removed from the store and certainly not promoted via ads… but I also don’t want ads to be flashing and being annoying in the name of being “clearly” market. Some people won’t notice anything, no matter how obvious.
> I wonder how people would have responded if this were about Android.
As someone who uses both Android and iOS (the dual usage being in large part because I develop software for both) if this were about Android I wouldn't be surprised in the least, but I do find it surprising for Apple to increasingly allow for this sort of thing.
IMO the major positive differentiators Apple has over Google as a phone OS provider are the perception of protecting user privacy and also not plastering ads everywhere. This example weakens both of those perceptions at the same time.
So (for me) its not about Apple being worse than Google when it comes to this stuff, its just surprising they are willing to be as bad.
In any case, I don't have a horse in the race to cheer for. Google's major positive differentiator has been flexibility for advanced users to run what they want with minimal OS interference, and Google has been tamping down on that, so from my perspective both appear to be destroying their previous benefits to meet somewhere in the worst-case (for end users) middle.
It's really not that deceptive. It says "Ad", right there. I can think of about 40 different, more deceptive ways they could have gone. If that was their goal... they failed.
He’s probably thinking of robo taxi self driving. So that would be e.g. Waymo.
I don’t think anyone has better self driving for consumers out atm, but you could argue that’s because other companies are not using their customers as beta testers. I’ve seen demos that may indicate Mobileye has tech that’s just as good if not better. But they don’t release it to end users until it’s fully ready.
I don’t think Tesla has any special sauce, and that when the tech is actually ready for unattended full self driving in a consumer car, other car makers will come out with solutions around the same Tesla. One difference is maaaybe Tesla will be able to update old cars (probably with a hardware update). While I think others will only support it on new cars.
> Tesla will solve self-driving and everyone will be left unable to compete. Also, AI is advancing rapidly and will solve all kinds of problems for society.
But apparently it will not solve self-driving for anyone else but Tesla.
I gave up trying to argue with Tesla fans years ago. They are immune to logic which invalidates their priors.
Going by the Tim Todds interview with Jeff Bezos it seems like BOs approach is very similar in this area. It looked to me that the machines they had there to build NG is set up to produce rockets in large quantities. He talked about their goals with the second stage, and that they’re looking at making a reusable version but that in parallel they’re also doing cost optimisations that may make it so cheap that reuse doesn’t make sense.
I figure evolution will solve that. The kind of people who don’t have kids while living in prosperity will die out. The ones who reproduce will stick around.
We’ll build mirror life to assist us so we keep not needing children before evolution has a chance to fix anything. I postulate it is coming this century.
It’s hard to do something that is truly novel these days. Though I’d argue that Zigs upcoming approach to Async IO is indeed novel on its own. I haven’t seen anything like it in an imperative language.
What’s important is the integration of various ideas, and the nuances of their implementation. Walter Bright brings up D comptime in every Zig post. I’ve used D. Yet I find Zigs comptime to be more useful and innovative in its implementation details. It’s conceptually simpler yet - to me - better.
You mention Ada. I’ve only dabbled with it, so correct me if I’m wrong, but it doesn’t have anything as powerful as Zigs comptime? I think people get excited about not just the ideas themselves, but the combination and integration of the ideas.
In the end I think it’s also subjective. A lot of people like the syntax and combination of features that Zig provides. I can’t point to one singular thing that makes me excited about Zig
Scala did async io in a very similar way over a decade ago except it was far more ergonomic, in my opinion, because the IO object was implicit. I am not convinced by either scala or zig that it is the best approach.
Are you implying that Zig hasn’t been used in production? What about Tigerbeetle, Bun and Ghostty? I’m using Ghostty as my terminal right now.
I feel like Zig is aiming a lot higher. So that’s why it’s taking longer and also why people are more obsessed with it. The work on doing their own backend and incremental linker is impressive and interesting. So is their attempt at getting IO and async right.
But also in the real world I may not be interested in any error information for the library I’m using. I’d like to be able to pass a null for the error information structure and have the compile optimize away everything related to tracking and storing error information.
I’d like my parser library to be able to give me the exact file, line and column number an error occurred. But I’d also like to use the library in a “just give me an error if something failed, I don’t really care why” mode.
You don’t have to hope. Avoiding function colours and being able to write libraries that are agnostic to whether the IO is async or not is one of the top priorities of this new IO implementation.
If you don’t want to use async/await just don’t call functions through io.async.
The new Zig IO will essentially be colored, but in a nicer way than Rust.
You don't have to color your function based on whether you're supposed to use in in an async or sync manner. But it will essentially be colored based on whether it does I/O or not (the function takes IO interface as argument). Which is actually important information to "color" a function with.
Whether you're doing async or sync I/O will be colored at the place where you call an IO function. Which IMO is the correct way to do it. If you call with "async" it's nonblocking, if you call without it, it's blocking. Very explicit, but not in a way that forces you to write a blocking and async version of all IO functions.
The Zio readme says it will be an implementation of Zig IO interface when it's released.
I guess you can then choose if you want explicit async (use Zig stdlib IO functions) or implicit async (Zio), and I suppose you can mix them.
> Stackful coroutines make sense when you have the RAM for it.
So I've been thinking a bit about this. Why should stackful coroutines require more RAM? Partly because when you set up the coroutine you don't know how big the stack needs to be, right? So you need to use a safe upper bound. While stackless will only set up the memory you need to yield the coroutine. But Zig has a goal of having a built-in to calculate the required stack size for calling a function. Something it should be able to do (when you don't have recursion and don't call external C code), since Zig compiles everything in one compilation unit.
Zig devs are working on stackless coroutines as well. But I wonder if some of the benefits goes away if you can allocate exactly the amount of stack a stackful coroutine needs to run and nothing more.
Can you guess if it's going to do blocking or non-blocking I/O read?
The io parameter is not really "coloring", as defined by the async/await debate, because you can have code that is completely unaware of any async I/O, pass it std.Io.Reader and it will just work, blocking or non-blocking, it makes no difference. Heck, you even even wrap this into C callbacks and use something like hiredis with async I/O.
Stackful coroutines need more memory, because you need to pre-allocate large enough stack for the entire lifetime. With stackless coroutines, you only need the current state, but with the disadvantage that you need frequent allocations.
> Stackful coroutines need more memory, because you need to pre-allocate large enough stack for the entire lifetime. With stackless coroutines, you only need the current state, but with the disadvantage that you need frequent allocations.
This is not quite correct -- a stackful coroutine can start with a small stack and grow it dynamically, whereas stackless coroutines allocate the entire state machine up front.
The reason why stackful coroutines typically use more memory is that the task's stack must be large enough to hold both persistent state (like local variables that are needed across await points) and ephemeral state (like local variables that don't live across await points, and stack frames of leaf functions that never suspend). With a stackless implementation, the per-task storage only holds persistent state, and the OS thread's stack is available as scratch space for the current task's ephemeral state.
> You don't have to color your function based on whether you're supposed to use in in an async or sync manner. But it will essentially be colored based on whether it does I/O or not (the function takes IO interface as argument). Which is actually important information to "color" a function with.'
The Rust folks are working on a general effect system, including potentially an 'IO' effect. Being able to abstract out the difference between 'sync' and 'async' code is a key motivation of this.
You don’t want to used pumped hydro for short term storage because the rapid cycling will drive up the maintenance costs. You actually hear about hydro power plants talking about installing batteries to reduce wear.
In these discussions please keep in mind that frequency regulation, short term and long term shortage are different applications with different needs. The costs for pumped hydro are generally reported with their target application in mind. It’s not as applicable to dedicated short term storage and certainly not applicable to frequency regulation.
reply