Control Your Dependencies

  Рет қаралды 22,612

Tsoding Daily

Tsoding Daily

2 ай бұрын

Previous Episodes: • Music Visualizer
References:
- Tsoding - Musializer - github.com/tsoding/musializer
- Raylib - www.raylib.com/
- Miniaudio - miniaud.io/
- nu11 - WIP Works 2016-2022 - / nu11-wip-works-2016-2022
Support:
- BTC: bc1qj820dmeazpeq5pjn89mlh9lhws7ghs9v34x9v9
- Servers: zap-hosting.com/en/shop/donat...

Пікірлер: 64
@khenstot
@khenstot 2 ай бұрын
Sorry Tsoding, but this project needs npm+asyncify and 500mb of packages, my PR is ready and you can't stop me.
@AndrieMC
@AndrieMC 2 ай бұрын
uh oh
@0xfadead
@0xfadead 2 ай бұрын
I hear villain music
@ivanjermakov
@ivanjermakov 2 ай бұрын
no **closed**
@clubpenguinfan1928
@clubpenguinfan1928 2 ай бұрын
Can you get it merged soon? It's blocking my Rust rewrite PR.
@ewertonls_
@ewertonls_ 2 ай бұрын
LGTM
@Kknewkles
@Kknewkles 2 ай бұрын
The thing about C dependencies: there are so few of them(STB, Raylib, Sokol, etc) and they are so minimal and neat that you don't need a fricking package manager for C. They are so good you're happy to go dl them and put them in the folder.
@jambalaya974
@jambalaya974 2 ай бұрын
And the reason for why these libraries don't really require a package manager is because they're built to be standalone for the most part. Whereas in languages that have package managers as a feature, the culture is very much to introduce a chain of dependencies; to build a dependency they use lots of dependencies that use lots of dependencies and so on without any care in the world. It is quite horrifying what behaviour package managers normalise when it comes to an ecosystem. Everyone agrees spaghetti code is bad, but dependency hell is just spaghetti code on a module basis, but everyone just accepts it because of convenience.
@boccobadz
@boccobadz 2 ай бұрын
@@jambalaya974 The culture (aka web dev) is that people after bootcamps (so without any understanding of underlying tech) copy-paste code without any thought. I mean, things like leftpad and isArray exist in npm-ecosystem, it's enough of a proof. Those people not only never read language docs, they don't even stop to think for a second - 'Do I really need to pull hundreds of dependencies to get this to work?'. Not to mention that some of those deps can be malicious. It's refreshing to see that it can be done "the other way".
@user-uf4rx5ih3v
@user-uf4rx5ih3v 2 ай бұрын
​@@jambalaya974 C has make and cmake, which are basically just terrible package managers if you think about it. In languages with a decent package manager, many libraries are designed to work as small parts of many other dependencies. Apart from outrageous compile times (which are not uncommon) you get all the advantages of code reuse and small modules with non of the downsides. Also, many projects in C have many dependencies. Look at GAP for an example of spaghetti C code with a ton of dependencies.
@Daniel_Zhu_a6f
@Daniel_Zhu_a6f 2 ай бұрын
@@jambalaya974 so your solution is to just not include package manager? it sounds kind of like "let's just not give smartphones to kids" -- it may sound ok, but the result is always garbage. maybe there is a better strategy like reviewing and pruning packages over time, or merging the ones that are downloaded concurrently into a single bundle? i mean, if you need a program to actually work, you will include whatever stupid thing. you cannot write on a short notice linear algebra or statistics or codecs, it requires a serious amount of time and effort, and a thorough knowledge of the subject. this is why, btw, such things exist as several separate packages in the first place. then there are also proprietary libraries (which in many cases are so hideous, that they can only be fixed by communism)
@jambalaya974
@jambalaya974 2 ай бұрын
​@@Daniel_Zhu_a6f I did not make a prescriptive statement on whether package managers as a language feature are a necessary evil or not for the time being. Just that they are not ideal and the culture they breed is awful. To me, Nix is ideal.
@SwanGangMeme
@SwanGangMeme 2 ай бұрын
26:25 that Beat is 🔥
@stackercoding2054
@stackercoding2054 Ай бұрын
I started to learn C around 2 months ago because I kinda want to switch to systems/embedded programming, coming from a background of 5 years working as a webdev (shame on me), and discovering raylib was the best thing that could happen to me, I really learned a lot of how Makefiles work, how linking works, managing libraries, cross-platform compilation, etc. I feel really comfortable with the dev flow of a C project now.
@D-V-O-R-A-K
@D-V-O-R-A-K 2 ай бұрын
Why doesn't Raylib just #define NO_WAV macros etc ONLY when miniaudio's header guard isn't already #defined? Seems like an easy solution to the problem
@blackhaze3856
@blackhaze3856 2 ай бұрын
Looks like we are ALIVE ❤
@apppples
@apppples 2 ай бұрын
I just wanted to say this video was great. It was a lot better than the last non stream video. Actually excellent. I loved it
@anon_y_mousse
@anon_y_mousse 2 ай бұрын
I had a weird thought regarding plugin functionality. What if you made the buttons themselves loadable as plugins. Say for instance a dynamic library or maybe a scripting language so if recording doesn't work on someone's platform they could rewrite the code and load it once they've repaired it and bingo. It would increase the complexity of the plugin system, but it would be interesting to see someone come up with a filter that could be passed around and loaded up on demand to say make your recording sound like a robot voice, or to invert the colors of the visualizer.
@wandermaus4571
@wandermaus4571 2 ай бұрын
great video, great beatbox 😊
@ZhouHenry
@ZhouHenry 2 ай бұрын
Please do more of this kind of videos❤
@SXZ-dev
@SXZ-dev Ай бұрын
No, migrate this to Rust, install and compile 500 crates containing 320 different versions of the same duplicate dependencies.
@angelcaru
@angelcaru 2 ай бұрын
depend on your control
@blackhaze3856
@blackhaze3856 2 ай бұрын
This video reminds me 'debug the debugger' episode. Epic.
@c0ld_r3t4w
@c0ld_r3t4w 2 ай бұрын
honey look! tsoding uploaded
@clubpenguinfan1928
@clubpenguinfan1928 2 ай бұрын
Looks like we're-- wait what
@nulligor
@nulligor 2 ай бұрын
this thumbnail is fire!!
@plushrei5926
@plushrei5926 2 ай бұрын
Упустил немного момент: почему отказываемся от записи вейв файлов через миниаудио, если от целого миниаудио не отказываемся (с девайсом через него работаем)?
@markblacket8900
@markblacket8900 2 ай бұрын
What are the benefits of a header-only lib over the same code in separate .c and .h files? I've always considered it to be a gimmick, a-la "Look, my whole library fits in just one file!", but some way more experienced programmers seem to like them a lot, what am I missing?
@remondrk
@remondrk 2 ай бұрын
I guess a single file is easier to move around, and probably easier to navigate through the code for some people
@pokefreak2112
@pokefreak2112 2 ай бұрын
There's a section explaining this in in the STB repo. Single header isn't the only appeal though, it's also just that other C libraries like libpng are significantly more low level than the API you usually get with single header libraries. Experienced programmers like them because they get you started quickly. You can get a window up or image loaded in just a couple lines of code instead of hundreds and immediately start writing the applications you actually wanted to make. Once your needs become more specific you can either switch to the lower level API that the lib exposes or ditch it entirely for a more robust alternative.
@pwii
@pwii 2 ай бұрын
I assume it's just for simplicity, it's easier to move one file around and you don't need to add header files to whatever build system or script you're using
@RandomGeometryDashStuff
@RandomGeometryDashStuff 2 ай бұрын
18:18 what if remove `#include "raylib.h"` but not change compiler command?
@buzzerbeatz5927
@buzzerbeatz5927 2 ай бұрын
After you are done with the main functionality, are you going to make a plug-in version of misializer (like .vst or .aex)? I think it would be cool to explore this topic
@nashiora
@nashiora 2 ай бұрын
or CLAP
@Quique-sz4uj
@Quique-sz4uj 2 ай бұрын
No asyncifiy?
@flyLeonardofly
@flyLeonardofly 2 ай бұрын
🎵DEEM ©AAAA! 🎵
@ecosta
@ecosta 2 ай бұрын
I'm surprised how Raylib doesn't support audio input. It is useful for chatting and other features.
@rogo7330
@rogo7330 2 ай бұрын
I believe software in 2024 must run in watch -n 0.5 and my cpu will not even go up by 0.1 degree celsius.
@thetruedaveshow6830
@thetruedaveshow6830 2 ай бұрын
Alexej are you using Debian?
@RandomGeometryDashStuff
@RandomGeometryDashStuff 2 ай бұрын
01:07:42 did that just change when you unpressed mouse!?
@spacewad8745
@spacewad8745 2 ай бұрын
no looks like we're live. my day is ruined
@vanvothe4817
@vanvothe4817 2 ай бұрын
Maybe nix(nixos) is also a way
@nysewerrat6577
@nysewerrat6577 2 ай бұрын
Baj programmer PagMan
@amj864
@amj864 2 ай бұрын
Day 10,000 of asking you to do odin
@sanalyny2807
@sanalyny2807 2 ай бұрын
я смотрю тебя уже примерно год, но так и не понял, что значит азузин сешн? (остальное меня не смущает)
@TsodingDaily
@TsodingDaily 2 ай бұрын
Люди не могут прочитать Цодинг, поэтому часто называют меня Зозин :)
@Kknewkles
@Kknewkles 2 ай бұрын
​ @TsodingDaily во дают. А я думал это твоя фамилия, ан нет, еще один уандерфул сарказм))) Так и слышу каждый раз - "Мистер Азузин" 😂
@heyclore5728
@heyclore5728 2 ай бұрын
am i first?
@glowiak3430
@glowiak3430 2 ай бұрын
1:10:44 Lol Vim's Visual Mode can do that and even more. Can your stinky emacs do that?
@eeriemyxi
@eeriemyxi 2 ай бұрын
he was joking
@TurtleKwitty
@TurtleKwitty 2 ай бұрын
"In miniaudio we could jsut use floats and it does the conversion" okay...? so use miniaudio ? it makes 0 sense to not use the entire miniaudio even if you're ripping out raudio if it has useful features XD
@amigaworkbench720
@amigaworkbench720 2 ай бұрын
3:38 BSD or gtfo!
My Own 3b1b Animation Engine but in C
2:06:44
Tsoding Daily
Рет қаралды 14 М.
I regret doing this...
1:20:07
Tsoding Daily
Рет қаралды 59 М.
请善待你的娃娃第二集 #naruto  #cosplay  #shorts
00:52
佐助与鸣人
Рет қаралды 24 МЛН
КАРМАНЧИК 2 СЕЗОН 4 СЕРИЯ
24:05
Inter Production
Рет қаралды 540 М.
Суд над Бишимбаевым. 2 мая | ОНЛАЙН
7:14:30
AKIpress news
Рет қаралды 575 М.
The simple, clever sensor behind automatic windshield wipers
11:18
Technology Connections
Рет қаралды 689 М.
I tried React and it Ruined My Life
1:19:10
Tsoding Daily
Рет қаралды 108 М.
Noodle - Animation
0:58
Devine Lu Linvega
Рет қаралды 8 М.
Will Ada Replace C/C++?
44:57
Tsoding
Рет қаралды 62 М.
Jonathan Blow on how an operating system should work
14:22
Anton Swifton
Рет қаралды 95 М.
My Viewers DDoSed my Go App
2:36:31
Tsoding Daily
Рет қаралды 49 М.
I KNEW I’d Hate this (I Was Wrong)
12:19
Linus Tech Tips
Рет қаралды 751 М.
Weird Parts of C you probably never heard of...
38:06
Tsoding Daily
Рет қаралды 53 М.
The Most Bizarre and Fascinating Project I've seen!
1:55:16
Tsoding Daily
Рет қаралды 39 М.
Clean Code and Successful Career in Software Development
4:45
Tsoding Daily
Рет қаралды 19 М.
СЛОМАЛСЯ ПК ЗА 2000$🤬
0:59
Корнеич
Рет қаралды 1,5 МЛН
Эволюция телефонов!
0:30
ТРЕНДИ ШОРТС
Рет қаралды 1,3 МЛН
iPhone - телефон для нищебродов?!
0:53
ÉЖИ АКСЁНОВ
Рет қаралды 3,5 МЛН
phone charge game #viral #tranding #new #reels
0:18
YODHA GAMING RAAS
Рет қаралды 8 МЛН