I'm not pissed, I'm impressed!
Edit:typo
Mista zozin is a legend.
Helo helo everyone and welcome, to yet anotha recreational programming session with a mista a Zozin (starts beatboxing)
How do someone become as good as him ? I mean the guy can literally code anything and learn anything in mins ?
He codes every day in all languages he can find, even the most stupid ones. And then creates his own and codes in them.
Man as if he knows how to talk to computers and everything is second nature to him
No, him doing it every day made it a second nature. Nothing happens automatically, you actually have to work to get good.
"Ahh, I wish I had that kind of talent, but I just wasn't born with it like he was. Oh well"
See? Now isn't that so much easier than all that pesky "work" you're talking about?
Never underestimate hard work
The only difference is that he knows hard work pays off and he enjoys the ride
Fine your enthusiasm, work hard to make it pay off
Just hard work and dedication. Easy.
also I think most people forgot that this dude has ben programming for literal decades already. I think many assume hes younger than his actual age due to the... aesthetics
If working hard was easy even i could do it 🤣
He's a got a gift. Got it.
You get used to it, though. Your brain does the translating. I don't even see the code. All I see is blonde, brunette, redhead. Hey uh, you want a drink?
Bro been straight coding since before 2007 just so you can have an idea. Hard work, staying consistent and loving what you do. This guy literally manages to stream almost everyday of the week (during the whole year) and still not run out of content (and he doesn’t even prepare his coding sessions) + takes the effort to edit / upload the videos to his youtube channel, that is discipline.
Stop using AI
The real secret in getting really good at anything is heavily focusing on the details and fundamentals, perfecting them. The memes about not knowing basic things out of your head is a meme, a footballer who can't do a perfect pass like a robot without thinking about it is a bad one. When you gather many things to an intuition level you can focus on the big picture.
A really practical and useful answer is to understand computer science and a bit of electrical engineering from the ground up.
If you have a top down view of computing you'll end up in a scenario of often asking "why" and getting an answer that relies on a massive subset of knowledge you maybe don't have. After running into that wall a few times, I can absolutely see someone throwing their hands up and saying "wtf this is an absurd amount of info".
But the key isn't to have all that info on hand. The key is to understand the building blocks at the lowest practically useful level.
Or in programming terms lol, you don't need to store every permutation of engineering knowledge data in memory. You just need to build up a relatively quiet small handful of factory methods and understand a few concepts and everything is just layers of abstraction after that.
... So where's the actual practical takeaway that can get you there?
Like I shit you not, if you focus on those things for a few years you will be see the black boxes of all programming disappear like magic. :)
He puts in the hours and likes what he does, simple as.
If you mean turning a 5 minute task into a 6 hour one, my company seems to be full of people that good
IQ is almost exclusively a genetic trait. Either you have it, or you don't.
Until we know which genes are responsible for that (I heard they have some research going in China since some time), and how to reprogram an already grown up organism (which would also require to "rewire the brain", which likely meas to replace it…), there's not much one can do. OTOH you wouldn't be you any more after such procedure, anyway. ¯\_(ツ)_/¯
But regardless, I think programming GUIs in C is not very smart. It's imho actually very stupid. Doing things "just because you can" is almost always idiocy…
Famously, you can improve at IQ tests by studying
That doesn't mean it's not inherent though. IQ tests are what measures, and IQ is what is being measured. No test will perfectly capture what is being measured. That fact doesn't in itself say anything about the thing itself.
Except that “IQ” is a contrived metric that doesn’t exist beyond IQ tests.
Sure, the actual factor that is being measured is G. IQ is a close proxy to that. So I wouldn't call it contrived, since G (and the ability of IQ tests to measure G) is extremely well substantiated by this point. But, yes, G and IQ isn't the same thing, just closely correlated.
It is not at all well substantiated. Only eugenicists, white supremacists, and grifters think it's anywhere near established.
There's this cool thing that when you practice a lot you get very good at what you do! You should try it!
"IQ is almost exclusively a genetic trait"
No, that is false. Genetics play a role but not as much as one might think it does.
I've been reading so many Rust articles, that I've read your first sentence as: "IO is almost exclusively a generic trait"
Iq is the entry barrier, it defines your potential, achieving it is hard work. Go try playing chess for 12 hours a day with zero studying just brute forcing, I can guarantee you will improve massively if you keep doing that for long enough
Believing in IQ is ironically a low IQ take. It's complete bullshit.
Now that is rawdogging hardcore GUI bruh. I cannot imagine putting in the effort of doing GUI programming without object-oriented programming
Immediate mode programming is the one true way.
You can mimic a bunch of OOP styles using C. Just looking at the struct he's defining is showing a bunch of other nested Structs within the definition. Only real difference is you don't get to define visibility as part of the language.
Not having classes to organize methods is what really does it for me. That being said, I still love C
You can even do polymorphism using clever struct padding.
C devs reinventing C++, exhibit #23e34873.
God, everyday I love C++ more.
Take a look at the UI programming series from Ryan Fleury's substack https://open.substack.com/pub/ryanfleury/p/posts-table-of-contents?utm_source=share&utm_medium=android&r=1mq7cs
Modern React is no longer OO but functional
imperative vs declarative
I love him. Protect him at all cost
Guy just casually visualising fast fourier transform... I wish to never look upon this shit again
Absolute coding
This guy is dope
Doing a UI in C is going to piss off everyone that has to touch it.
Does this guy even work at Blizzard though
As a React dev, I want to see this!
AI would go mechahitler if it tried to comprehend the video
Not all heroes wear capes
I love what this guy does but his videos are so hard to watch
The exact opposite for me. They're very easy to follow because he clearly talks through his reasoning, he understands and brings you to understand the WHY of things. He doesn't just mindlessly read and copypaste from docs or LLMs, he shows the whole process of discovery and understanding, which imho is very interesting to watch
I fully agree. I've understood a lot of concepts I couldn't quite grasp before while watching him. He is really talented at explaining things. I do find his accent a bit difficult to understand sometimes though :)
Why?
Maybe not C, but... What if you were developing a game, and started making your own engine in C++? https://kittenspaceagency.wiki.gg/wiki/BRUTAL It's already been showing some amazing results.
Where is the Issue? I am doing UI in Excel+VBA… 😅
lol
We need to have a pop-up for the summer sale, and the main website should have an animated background of the beach. We need to finish this by tomorrow, and we have bottom of the barrel coders who're paid peanuts.
I dunno this doesn't sound awful, React is at least as silly and it's somehow widely accepted.
"Did you make a UI in C with no framework?"
"Yes."
"Does it correctly handle non-Western input methods and accessibility technology?"
"Uh... Well..."
What if hes trying to fight globalism AND inclusiveness while coding his UI
I wouldn't call a visualization UI programming.
UI programming is dealing with, buttons, hover states, active states, tab indexes, windows, popovers, modals, animations, animation states, the list is endless -- and doing it well is really hard -- AND THEN rendering via GPU.
This example is creating an graph basic on audio input into a FFT.
What you meant was "missing interactivity".
Then what you meant was creating a basic graph from the FFT analysis of a given audio source.
Which invalidate your first fist claim as, that graph, is an interface for the user over the data he wants to see, in this context, an overview of the frequency spectrum of the audio he's been giving as source.
Don't worry, we'll stay here to help you in the future. Did you manage to center that div in your react project ?
step 1 - loop through frequency blocks
step 2 - draw a fucking line
step 3 - make the fucking line a fucking color
UI programming:
this button must react to mouse clicks, finger events, but make sure it doesn't fire until after we listen for gestures. Oh yes, there are 12984192874981279 fucking interactive buttons on the fucking screen.
Found the developer who makes shitty vst plugins, totally missed the point, but thank god, you nailed the uninstall button.
And before saying "yeah, but a vst isn't common scenario", depends who you ask (it is in my case), and think hard about what you described and what I've said. Never said a button wasn't ui, or easy, or anything like that, then realize that maybe it's a matter of what problem you're trying to solve with your software. A frequency graph is just as easy as a button, or as hard, with a wide variety of complexities for both, depending on how important those elements are to the business you're serving, your requirements/context, etc. But yeah, not even sure writing it will help you understand the point.
Also, your 3 step recipe can be applied to a button, just need bad faith and broad generalization, but yeah, certainly wasting time too pointing that out...
The idea, behind this, is to understand you might have a really narrow understanding of what a UI can be and how a graph like this can hide way more complexity than you can imagine. I've worked, and still work, on music production software, and broadcasting, both industries, even tho "specific", aren't neither niche. And for instance, I even know systems where you don't have any buttons on the screen, you don't even have a keyboard and a mouse, just dedicated controllers and a screen for part of the feedback. I'm not saying a button isn't hard or complex, but maybe realize you have a really narrow understanding of what an interface to a system for a user can be, and I'm not even talking about the softwares where there are buttons, and "a bunch of drawings", with those drawings being most of where the work is actually and where your 3 steps recipe would make a ton of people laugh quite hard. So yes, your buttons are fin, just as fin as that graph, which is not always just a gimmicky thing in the corner of your mobile/web app.
Doing good work.
I remember making a text based GUI in my freshman year. It's nothing complicated, just arrow key navigation for a 2048 game. It was fun.
Now I create shitty CRUD web apps, so I prefer React.
I am way too stupid for this
Doing UI in binary to piss off the C devs
i been watching this guy for years but wasnt sure... is he pretty well known? hes a guy i tell friends about and most of them havent heard of him but he's a genius... and funny as hell imo
that looks like a ragebait
POV: you’re watching someone implement ecmascript in real time.
Learned C in first year nearly 30 years ago. The pointers still give me nightmares.
as a game programmer who spent last month fixing bugs in one of our ancient tools written in raw Win32, I have mixed feelings about someone who'd do this for fun
If you think that making a GUI in C is horrible, try with Fortran 🙈
give him the windows start menu!!
I disagree with most Tsoding takes on programming languages but I still love to watch him
Look at this mad lad.
Thats, impressive.
Loved his videos until a recent haskell video where he went off on a stupid tangent calling the haskell website slop because it just looked nice lmao
That's pretty cool... but as a nerd it's my duty to point out that he's not optimally organizing the data within his struct to minimize the amount of padded bytes.
I love this guy 🫶🏽
Doing a one-off UI for your weekend project in C is not impressive.
Take a walk kid
Going fast when you're working alone isn't really impressive. How about doing an actual user interface for other people instead of just some lame visualizer. I've had tons of colleagues bragging about being able to do this sort of stuff, and they make shit interfaces for themselves and noone else.
You are the type of guy everyone in the industry hates. Literally, you always know it better and probably are never wrong either. Just shut the fuck up if you don't have anything of value to add or just spread your negativity, scroll the fuck on
The type of guy everyone in the industry hates is actually the hobbyist that produces 0 value but acts like he's a god programmer (and better than you R*eact devs who actually make things that people use, of course) because he spent 3 months making a shitty native program in C.
Why the fuck would people in the industry hate hobbyists LOL they're not even IN the industry that's why it's called hobbyists... Im also not even a react dev but whatever
I said "react devs" in reference to OP's print screen
No i dont know this better, but this doesn't impress me. Gamedevs do it all the time. But if all of your GUI amounts to nested menus, its not fucking impressive, buddy. Doing real interfaces for real people to get actual shit done, impresses me. React or C, i dont care.
"I'm gonna break a leg to piss off professional olympic runners which have trainers and personal doctors and shit". Goofy ahh attitude.
Are you a React dev?
No. Just commenting on how ridiculous the title is.
Not really a good analogy. Plus, it's just a joke, guy.
Ahh he got ya!
I'm not a react dev tho. The logic of his title got me.
Nahh you got got bro it's alright we all get got every once in a while
I got ragebaited but not for reasons people seem to think. Especially how the hell was I supposed to know this random guy is specifically making a joke?
One react dev pissed off. Millions others to come
millions must segfault
Comparing a broken leg to designing a UI in C — and likening React developers to Olympic athletes — just proves that in both cases, you have absolutely no idea what you're talking about.
Making a UI in JS+HTML is going to be way easier than having to interface with the OS in C. Running in olympics is going to be way easier for rich pros with all the amenities and benefits.
More like "I'm gonna swim in the sea to piss off people in the kiddie pool"
Kinda like that. I mean doing something way more complicated and laborous to piss off people who have it way easier and don't even care about you. A rich olympic pro won't care about some random dude trying to do the same thing but harder.
Ahh, back in college 20 years ago I learned how to do UI in C using OpenGL. That was only a two week lesson in an academic setting, and even then I was like nah I’m done with this FOREVER
But how performant was that UI
The thing about low level programming is that while you can make things fast you can also make things slow and shitty and with way more bugs. C doesn't just magically make things faster, it takes actual skill and effort.
Oh, skill and effort was what I was missing. Can I import that?
There's an npm package but it depends on left pad :/
Obviously that’s an immediate import.
god i recall when lpad was pulled by the developer and it was utter chaos as everything broke
Oo I found another package. And it's actively maintained! Huh, looks like there was some drama between the creator and some other guy a few months back and the creator quit...
is it async? I need it in async
Can only be lazy loaded
So while c is perfomant the better question is: is your c code performant
But the Rust folks say, when you code in Rust it will be "blazingly fast and memory-efficient", just because Rust!
They don't want to believe (even I've seen samples in the past) that when an average dev translates some average code in, say Java, to Rust the result will be almost certainly a few times slower than when run on the JVM.
Ah yes, "The Rust Folks", AKA the straw man/generalized group "they" who all think homogenously.
The reason they put that in quotes is its literally stated on the Rust website as a fact.
And then here's a literal "I'm a Java dev wanting to use Rust" with multiple Rust people stating that just using Rust will make code more gooder: https://users.rust-lang.org/t/is-rust-really-faster-than-java-because-of-memory-management/80651
So no, its not a straw man.
Okay but you're comparing it to Java, so in this case they're actually right.
It doesn't have to be Rust. It just has to not be Java.
You should also actually read your source:
You're cherry picking and ignoring everything else.
I mean, you're both right. Actually you both just repeat what I've said, paragraph by paragraph. 😃
The main point in fact wasn't Java. It was that Rust is a little overselling. Simply no language does magic. Including C.
When it comes to the concrete comparison I should have said "JVM" not "Java". It's the VM and it's byte code which run reasonably fast. And it runs even the typical Java OOP-spaghetti fast, as it's optimized for it.
The later is the factor which makes naively translated Java to Rust often slower than on the JVM. The JVM can optimize stuff on the go, utilizing runtime information. Rust can not do that usually. (There's PGO, but most of the time you don't know the workload in advance.)
But yes the, the OOP-spaghetti has large overhead. If you did translate it to idiomatic Rust you could get much better performance and especially orders of magnitude better memory utilization.
OOP-spaghetti is in fact a cultural thing. But the JVM doesn't force you to do it like that. You could try to mimic idiomatic Rust, and than it will be likely again competitive fast. (But please let us not talk about the memory overhead. At least not until Valhalla is fully implemented.)
Also, if you like some higher level language on the JVM, there is Scala. It has some features Rust has not. OTOH it lacks currently features for semi-automatic garbage collection without GC, and language level, safe concurrently primitives, like Rust offers, even there is Scala Native. But they work on that.
But is it even correct? What code runs slower in rust than in java?
The straw man here is thinking that fast language = fast code automatically, which is stupid
https://users.rust-lang.org/t/is-rust-really-faster-than-java-because-of-memory-management/80651
Found the vegan.
I love meat :) But I also hate language evangelists with a fiery passion, and anyone who continues to serve the narrative.
Right, say something negative about rust...
I could rave about most languages all day! They all suck for their own reasons.
Rust is verbose and cumbersome in larger projects. Some might argue the inflexibility is a feature but it's another hurdle to surmount for sure.
And don't get me started on the open/implicit returns. Jesus. Just use the return keyword. ("But that's not idiomatic!" Non-idiomatic my ass ). The programs' over reliance on utilization of C code is a nice stop-gap measure, but ultimately renders much of the safety moot.
C++ sucks because of its build system. And templates. And macros.
C sucks because it lacks most of the features of C++, but the simplicity is a perk in and of itself. The language as a whole is very easily understood. Though, the older, and generally more sophisticated nature of those code bases results in a tangled spaghetti cluster fuck in most prod repos.
Python's lack of a type system is sad and their half-assed attempt at type hints often times does nothing to make the system clearer, though, they tried.
Java is overly verbose and the typified nature of using every design pattern under the sun makes Java a headache factory.
JS sucks because it refuses to fail (which is also a feature, but that's another rant.), but that's why there's so much awkward casting behavior.
I could go on, but I'm most familiar with that bunch.
Oh man. I read Java and understood JavaScript. I was bewildered for a moment
Is that true? I don't know Rust and Java that much, but it seems counterintuitive. Why is that?
Translation does not transfer the nuance in language. I don't have the grasp of rust but the memory efficiency of rust is a concept not present (or often taught?) in Java, same with pointers of C.
You can probably learn the syntax of analogous features like a for loop, but beyond that, literal translation between languages does not indicate understanding of each language.
I don't think so. It's completely unrelated to low level graphics programming, but if you make the same code in a slow language, and a fast language, the slower one will simply be n times slower.
I can't think of an example where you could somehow make the exact same concept run slower on rust/C/whatever compared to Java. The drawback of lower level languages is having to deal with extra stuff like memory bugs or the borrow checker, not that you can somehow do super slow code with them. I think OP's example makes no sense
*sobbing in assembler
I remember doing well enough in the class, so I assume it was as performant as any other code written by a college student building UI components with OpenGL would be.
Not very
He is using raylib. He is rather talented. The app in context is musializer and it is fucking awesome.
Oh, hey. I had the same experience, but it was a month.
I used to do and make games using CPP and directX ( and one time just using graphics.cpp)
Memory leaks are fun..
Yeah, as someone who still writes OpenGL for work, trying to write a GUI fully in it is crazy. The closest I’ve gotten to that is creating canvases in wxWidgets to render OpenGL but even then, the UI is mostly in widgets, not in the OGL.
I don’t recommend anyone using either of these unless they need to, though.
I've done GUI by implementing my own draw functions for Java's swing library, so I understand the pain even if I haven't done it as low level as just C and OpenGL.