from a content creation perspective, I'm super super super impressed by your ability to speak so effortlessly without needing to take multiple takes. Amazing!
This is a great tip, I would just add a small gotcha. Although this works perfectly in single threaded contexts, it won't work well in multi-threaded situations and you will need some sort of synchronization to prevent TOCTOU (time of check to time of use) from biting you.
@@aarondfrancis Thanks for the tip! Here's is mine: In spanish single "r" inside word is pronounced soft, as you did later. Single r at the begining or double r in the middle is pronounced hard as you tried to in first place :)
Hello Aaron, do you have a link for the products in your setup? I'm trying to build a more professional setup right now and your audio & image are great!
Noooo Aaron your engineer is showing! You can’t answer “it depends” for your personal sparkling water ranking! 😂 give us something to debate in the comments!
This is all well and good for a single-threaded process, but does this play nicely with Octane? I don't know exactly how it works (yet), but I know it boots each component once and keeps it in memory. Can modifying static properties like this cause a race condition?
If we have more than two nested withoutLogging calls, will the stack of previous values be kept in the call stack? I'm assuming this is true, which is why we don't need to store the previous values in our own stack
Not sure I totally understand the question but you always need to store the value as it was at the beginning of your operation and then restore it after
@@aarondfrancis yeah i was cramming my question a bit. I meant if we have three or more nested calls to withoutLogging, how we make sure the third value doesn't overwrite the second? We only have two variables here: the instance var $this->loggingEnabled and the local var $loggingEnabled. We'd need a stack of vars if we want to store all the previous values. Im guessing this takes care of itself because the local vars live in separate function calls (ie stack frames)
Prefer to read instead of watching? Check out the article version of this video: aaronfrancis.com/2024/dont-undo-what-you-havent-done-430ac590
I was so confused on where you were going until the pure bliss in the moment of clarity
Totally worth it!
Confused with
from a content creation perspective, I'm super super super impressed by your ability to speak so effortlessly without needing to take multiple takes. Amazing!
If only you could see how many takes I have to do 🙊
@@aarondfrancis owhhh! so each take is just REALLY REALLY long!
@@justine_chang39 haha yup!
man the level of production of these videos is on a different level, I didn't expect to ever see stuff like this in software-related youtube content
Thank you so much! I've got a great partner helping me out. Producer Steve is the man
So good! I don't even write php, but still am here for bits of wisdom!
This is a great tip, I would just add a small gotcha. Although this works perfectly in single threaded contexts, it won't work well in multi-threaded situations and you will need some sort of synchronization to prevent TOCTOU (time of check to time of use) from biting you.
And now I feel so stoopid for writing a counter-based system instead of just caching what was there
Do not feel stupid! You solved the problem. And now you know another way to solve it
so doing time paradoxes in my code is still fine then, nice.
Good video ^^
Watched it, closed the tab.
Forgot to like the video, came back to like the video.
You know what this means?
This means I really like the video!
(
Bless you
I really needed this stuff in a service, many thanks !
Bubly lemon is good for me. Awesome video, thanks so much.
Interesting Video, thank you Aaron
I don’t know but Agua is the way we in Brazil write water. Btw, great content.
we also do it in Nicarwater... ba dum tiss 😂😢 sry
Haha yeah I know. I know a little Spanish, living in Texas
@@aarondfrancis Thanks for the tip! Here's is mine: In spanish single "r" inside word is pronounced soft, as you did later. Single r at the begining or double r in the middle is pronounced hard as you tried to in first place :)
Ahhhh I've never thought of that, I love it
Hello Aaron, do you have a link for the products in your setup? I'm trying to build a more professional setup right now and your audio & image are great!
that intro is so fun!
Just stopped by for an autho thumbs up, and an add to watch later 😀
Thank you for your service
@@aarondfrancis No, thank you! 🫡
Very, very nice and clear.
phpstorm looks neat
Very good video
WOWOWOW, what is that inline docs at 4:39? Is that an editor feature? What editor is that?
PHPStorm
Any IntelliJ-based IDE! (in this case PHPStorm).
It's basically rendering documentation comments inline, which makes it look super nice.
Jarritos! Muy bien 🎉
Noooo Aaron your engineer is showing! You can’t answer “it depends” for your personal sparkling water ranking! 😂 give us something to debate in the comments!
Don't worry, I've got a definitive ruling on the next one 🙊
Great intro
Great as always. Can you get rid of that gray flash? I’m guessing it’s an auto save or something, but man it’s really annoying.
Probably not. It's an old habit
Just setup Pint on save 😅
This is all well and good for a single-threaded process, but does this play nicely with Octane? I don't know exactly how it works (yet), but I know it boots each component once and keeps it in memory. Can modifying static properties like this cause a race condition?
Each individual octane process is single threaded, so as long as you clean up after yourself like in this video, you're fine
If we have more than two nested withoutLogging calls, will the stack of previous values be kept in the call stack? I'm assuming this is true, which is why we don't need to store the previous values in our own stack
Not sure I totally understand the question but you always need to store the value as it was at the beginning of your operation and then restore it after
@@aarondfrancis yeah i was cramming my question a bit. I meant if we have three or more nested calls to withoutLogging, how we make sure the third value doesn't overwrite the second? We only have two variables here: the instance var $this->loggingEnabled and the local var $loggingEnabled. We'd need a stack of vars if we want to store all the previous values. Im guessing this takes care of itself because the local vars live in separate function calls (ie stack frames)
Aaron Francis drinks sparkling water and drives a lambo, I wonder where did he get that from?
I have a Lambo??
@@aarondfrancisall php developers have a lambo, its common knowledge 😂
Mineragua or Topo Chico?
What do you prefer??
Man that's gonna be a tough call when it comes time
hey Aaron, it's risky to accept food from someone and assume it's safe to eat/drink... 😐
Please don't poison me
Yummy!
You should definitely drink Mocny Gaz from Poland 👌🇵🇱 or Muszynianka
Send me one! I'd love to try it
❤
Jarritos > topo chico > pellegrino > perrier imo
Jarritos? Never tried it! Adding to the list
@@aarondfrancisjarritos 🤤