There is a difference between nullish coalescing and the or operator. The or operator will return the right value if the left operand is a falsey value. however the nullish coalescing syntax will only return the right value if the left operand is null or undefined. So "" || "a" returns "a", but "" ?? "a" returns "" Edit: I paused and commented before watching the next 5 seconds. Oops.
@TsodingDaily2 ай бұрын
> I paused and commented before watching the next 5 seconds. Oops. Classic :)
@TurtleKwitty2 ай бұрын
Bit of context on the touch one; if nothing handles the touch event the browser converts to a mouse event and refires so that older sites can work on mobile. It's pretty common to handle only mouse even for touch events if theres nothing specific to touch you're trying to do
@lievenpetersen2 ай бұрын
This session is super cool! Seeing the maintainer's side and some git usage is very interesting. Thank you so much!
@user-ux2cx4kc3h2 ай бұрын
Hi Zozin! I recently played with WASM in Go and I liked the approach proposed there, I think it’s quite interesting because having just once written a wrapper for calling functions from Go on the JS, you can then use the language of the project itself, in this case C, to create an API for raylib And thanks for the streams, I highlighted a lot of useful things from them :3
@ludwintor49862 ай бұрын
git blame is good thing to blame other people git bisect is good thing to blame other people before figuring out that you are blaming urself
@MrKristian2522 ай бұрын
Congratz with 100k!!!!!!
@cobbcoding2 ай бұрын
I had no idea about that git bisect command. thats so useful
@demolazerАй бұрын
As a relative novice, it is very interesting to see live the process of open source collaboration.
@hanshh35322 ай бұрын
23:40 As a Visual Studio user this was pure magic! Generally, I enjoy your navigation through your system.
@naymon3572 ай бұрын
Dont use VS then xD although am pretty sure you can set shortcuts for multicursor in vs as well
@ludwintor49862 ай бұрын
you can do it in VS also
@theodorealenas31712 ай бұрын
So far as I know, multiple cursors are a plugin in Emacs, and I do know VS Code has them built in, so there's got to be at least a plug in for VS too
@Mythricia19882 ай бұрын
This is not in Visual Studio?! It's in VSCode at least, and it is indeed extremely useful when bulk editing or re-formatting something you pasted from another language or some weird (but structured) source.
@ludwintor49862 ай бұрын
@Mythricia1988 VS have multiple cursors built-in as default, Shift+Alt and arrows up/down (or Ctrl+Alt and click with mouse to set at specific positions)
@maximus80452 ай бұрын
46:35 king
@erroneum2 ай бұрын
In regards to ?? vs ||, ?? is the null coalescing operator, it takes the first unless it's null, then it takes the second; || will give the first if it's a "truthy" value, so anything that's falsey except null or undefined will be rejected by || but accepted by ?? As an example: "", false, and 0 will all yield to the alternative with ||, but be accepted by ??
@Pi7on2 ай бұрын
Didn't know about git bisect, very cool
@JakeSilva-672 ай бұрын
I love your stream ❤
@clubpenguinfan19282 ай бұрын
my uber after 20 minutes of silence: looks like we arrived
@dieSpinnt2 ай бұрын
To "The Browser Should Be Simpler ..." (around 41:00 + "Support for worker execution context. No. 22" Pull Request). I totally agree! The browser should simply be the X-Server of the "Web", an engine to display Scheisse! Now it is a -playground- -for- dumpster fire of all kind of internal frameworks and wannabe features like VRML and CSS( hehehe, hate me for that:P). Absolutely BLOATED BS! When did we take the wrong turn? (Hint: "The Browser Wars", Microsoft, Google, Mozilla. There are no angels in this club!:))) )
@bart20192 ай бұрын
I suspect the ?? is inspired by PHP.... There you initially just had ?: which was later followed by ?? What is funny is that in PHP these are actually 2 operators (each) so you may put whitespace between them. (These are the ternary operators.) ?: is the same as || in JavaScript
@gusic45292 ай бұрын
asyncify
@p99chan992 ай бұрын
No
@blackhaze38562 ай бұрын
Javascript operators' easter eggs.
@MrSofazocker2 ай бұрын
About browsers should beocme "Distribution programs", aren't they already? I get what you mean, server send html which says button there, and the browser actually renders the button natively on any device. That was the original thought. Why do you think URLs are called Universal Resource Locators? A browser simply asks for a resource from a location!? The only added part is, instead of downloading everything to a file on your system, it can instead display some types of content. Like an Video file, MP3 file, etc. most have players built-in, with native controls written by whatevery UI library the browsers using. Then it can also render HTML. HTML is a markup language, in which you describe layout as "bullet-points" for the browser to render how it wants to on any given device natively. Now, HTML can also link to other content... uiuiui So it recoursively resolves fetch requests... then renders all content. And also scripts! oh oh! So it also fetches unsafe code and has to ship a interpreter + a standard library. But then people said, we actually want client-side interaction, and don't want to leave it up to the browser how the button looks like. So we enter CSS and JS. JS was to provide client-side interactivity together with CSS. And to provide a way to layout your page. But soon people started building apps and ""browser-native"" apps, instead of distributing it through the browser. They are now using the browser AS their application. But then still ship in MB of javascript their own "Virtual" UI Frameworks that transpile/translate it to browser renderer html and css. Your point of why not, at this point, ship your own application, which just happens to run inside the browser window. But isn't run using the browser, but your own renderer code etc. That was always possible. Not everything the browser displays has to be HTML. But now they are making it even easier, by having WASM "Assembly for Web", as a supported "native" filetype a browser. Instead of rendering the html, showing the mp3 player or video player. It begins executing the send-over binaries. Within the browser natively. Why people use an html doc and render to a canvas element? And pretend its the only way? No idea.
@ferdynandkiepski50262 ай бұрын
When you fixed the text y offset you added fontsize separately when it is already there in the parentheses, multiplied by the line number. What the commit author did is make an off by one error as the loop starts from zero so the first line was never offset. Adding fontsize twice looks very bad.
@Vulto1662 ай бұрын
This subject has potential for a series of videos. Don't you think?
@Pi7on2 ай бұрын
Adding a js dependency to a zozzin project, rookie mistake kiddo
@ivanjermakov2 ай бұрын
1:31:23 This is why you use a linter and force formatting.
@thebatchicle34292 ай бұрын
Most formatters have shit style
@thebatchicle34292 ай бұрын
Why? The issue was solved by the same guy in literally the next commit. This caused 0 bugs.
@ivanjermakov2 ай бұрын
@@thebatchicle3429 most formatters are configurable. And I think it's a good thing to use consistent "shit" style across the whole project. It literally broke font rendering and Tsoding had to git bisect the issue.
@user-dt8mf8nt2v2 ай бұрын
@@ivanjermakovthat was actually not what broke font rendering, that part of the code actually had the same behaviour as it would if written normally. the problem was not adding fontSize
@ivanjermakov2 ай бұрын
@@user-dt8mf8nt2v true, but it's still a problem that improperly formatted code can be used to obfuscate malicious logic
@apenaswellignton2 ай бұрын
Pog
@lievenpetersen2 ай бұрын
Whenever I see you faffing around in chromium, I am reminded that I do actually prefer firefox for dev tools, because they are more accessible. Which is kinda unexpected. (like the buttons for dark mode preference are right there in the inspector for ex.)
@delibellus2 ай бұрын
If you go out of your way to contribute to a project that is not yours, you have to expect anything. It doesn't mean that any reaction by the devs in charge, as shitty as it can be, will be good or just, because shittiness is just shittiness. But you have to expect anything and if you value your time too much, maybe you shouldn't work for free.
@noahstruck70452 ай бұрын
49:19 I am literally crying from laughter. Why does it copy the name?
@j-wenning2 ай бұрын
1:20:00 this is http query params being stupid, not JS, lol.
@amj8642 ай бұрын
why don't you do odin? come on man I don't wanna die before you do odin
@desertfish742 ай бұрын
welcome to another zodin zession
@maxrinehart41772 ай бұрын
He said that he doesn't want to do so because he is terrified of gingerbill (odin creator), because gingerbill became aggressive when someone talk about odin in stream. Apparently gingerbill was watching his past streams and qouted him on Twitter too. 😅
@amj8642 ай бұрын
@@maxrinehart4177 I hope it must have been a joke, Bill is a pretty chill guy, he jokes around for sure but being aggressive toward people I have not seen that.
@ikeofili3552 ай бұрын
First try!
@NyanCoder2 ай бұрын
I'd expect the double pipe (||, a.k.a. logical OR) would return boolean (e.g. `'hello' || 69 === true`) and the double question mark to be as shortened ternary operator (`('hello' ?? 69) === ('hello' ? 'hello' : 69)`) 🤦♂
@U20E02 ай бұрын
short-circuit && and || returning whichever operand they evaluated last is extremely common in high-level languages, as it is actually faster than always returning true or false, and it's pretty useful sometimes. Of course C likes not specifying things, so there they can return anything, which makes everything confusing.
@xarchist2 ай бұрын
Alternative stream name: shitoberfest
@anon_y_mousse2 ай бұрын
Some devs really need to grow a spine. A maintainer shouldn't have to waste their time explaining why a PR gets rejected. It's almost like dealing with children. Anyone else have to put up with that kind of behavior running a team, especially from fresh graduates that have inflated egos?
@boccobadz2 ай бұрын
Kids after bootcamps these days think they know everything and should start with comp package in mid six figs lol
@carljosephyounger2 ай бұрын
Multiple cursors work best in editors like Helix.
@HaMMeR336612 ай бұрын
Coming from Emacs where I used macro-recording as a kind of "multiple cursor" that I can reuse with incredible precision and power, I miss it in Helix. There's a lot you can't really do -- But I haven't really seen @TsodingDaily use Emacs' macro-recording at all.
@carljosephyounger2 ай бұрын
@@HaMMeR33661 - Helix has macros (and registers to store them in), but I've not used them very extensively, and have nothing to compare them to, so don't know how much better they could be. The way Helix generalizes cursors, anchors and selections (so you always operate on one or more ranges of one or more characters) would make much less sense if you only had one selection. It's that focus on Select Then Act that makes having multiple selections so powerful.
@abdallaalhag44252 ай бұрын
31:31
@varshneydevansh2 ай бұрын
Zozinnnnnnnnn
@yrds962 ай бұрын
24:15 Of course my vim can do that: qq/{ait,at}ayyptwct_wasm/"buildct_wasm/",ea/wasmG:normal! @q
@Tawre0072 ай бұрын
I read it and my furniture started to fly. Thanks it's easier to clean floors ;)