Wait, but Who's Debugging the Debugger?!

  Рет қаралды 33,884

Tsoding Daily

Tsoding Daily

10 ай бұрын

- Music: / @nu11_ft
- The GDB frontend for Linux: github.com/nakst/gf

Пікірлер: 183
@nakst6528
@nakst6528 9 ай бұрын
Thanks for the bugfixes. A few tips when using gf2: - "skip to" (shift+click) does not do what you think it does! You are getting it confused with "run until" (ctrl+click) - You can change the default size of the watch window, see the "User interface" section of the README - The "traffic light" is the coloured box in the bottom left corner of the window :)
@TsodingDaily
@TsodingDaily 9 ай бұрын
Thank you so much! I definitely need to spend some time reading the README. There are so many things I'm missing. :D
@bashbarash1148
@bashbarash1148 9 ай бұрын
Imagine to debug a C application via C debugger via C debugger to find that problem was in Python
@monad_tcp
@monad_tcp 6 ай бұрын
Python is always the problem. It's load bearing. I just broke my Linux yet again because it is a Debian and I tried to update libinput because of python, it refused and updated python3 back to match it. (to be fair, I did random pokery with dpkg) Why do we have DLL hell in Linux in 2023. Is that Windows XP ? maybe it's my fault for using Debian, maybe Debian is stable bugs forever. Maybe Linux can't afford having a SxS and becoming a 30GB OS only because I wanted to have 2 versions of libinput. Maybe I should just nuke everything and make my own Linux from scratch instead. Anyway it's my fault for using Linux to begin with, or wanting to use KDE with Wayland. Also, Clang17 needs an Old GCC10 to run. Why, why. Sometimes I think Windows is better because I don't suffer too much trying to change things and I can't see how bad and shit the code is, so I don't try to fix it. It's all Python's fault. Why can Debian have 4 different versions of Python3 at base. Why's every thing hanging on libinput, is like libC of KDE. Why does the thing that loads shite into the D-bus from the server side needs to be the same as the shite from the KDE/QT side, never mind I don't want to know, maybe they're sharing binary data and pointers. Anyway , sorry for the rant. And it's python fault , it's all pythons fault .
@lorenzocalza9960
@lorenzocalza9960 5 ай бұрын
@@monad_tcpmove to a rolling release distro or a distro based on fedora. You’ll thank me later :P
@pookiepats
@pookiepats Ай бұрын
@@monad_tcp in a rage against python I ran a command to eliminate it globally and it broke Ubuntu(WSL), I hate Python's fat hefty arse
@mariuszdziem8203
@mariuszdziem8203 10 күн бұрын
@@pookiepats I hate Python too. I have been taught Pascal, C, C++, and all those languages are kinda the same. But Python is so bad with tabs instead of simply using curly brackets {,}. Readability would be skyrocketing.
@pookiepats
@pookiepats 10 күн бұрын
@@mariuszdziem8203 ashamed to say but when I was only a young ignorant data analyst I would swear by Python’s indentation approach because the vast majority of my work was done in relatively small instances of Jupyter Notebooks. But you’re 100% correct-as soon as I graduated into writing actual programs the indentation became a hindrance and source of major frustration. TL;DR i write Swift everywhere i used to write Python and my blood pressure is down 30 points
@bacon-SG
@bacon-SG 9 ай бұрын
13:20 That feeling that all programmers get to feel. "I thought this would be an easy fix, but looks like we have to go deeper"
@rootsudosu
@rootsudosu 9 ай бұрын
47:20 "we fixed the debugger, now lets fix my application" XD XD
@aarovprasad391
@aarovprasad391 9 ай бұрын
This is like watching an artist at work
9 ай бұрын
Well you are watching an actual artist.
@user-bn4wn7ll3e
@user-bn4wn7ll3e 9 ай бұрын
Who compiles the compiler? In what text editor the text editor is written? What analyzer is used to analysis the source code of the analyzer? And who's debugging the debugger?
@darukutsu
@darukutsu 9 ай бұрын
Who comments on comments?
@CertifiedDynamite
@CertifiedDynamite 9 ай бұрын
As per the LFS installation manual: "To compile a compiler, you will need a compiler."
@ace5331
@ace5331 9 ай бұрын
C is written in C and Java is written is Java, and many other languages is written in itself. Eventhough it's understandable, still sounds fascinating 😄
@rj7250a
@rj7250a 9 ай бұрын
​@@ace5331the Java std library is written in Java, but the JVM is in C++. An interpreted language can not be self hosted. You could run the Java JVM in the C++ JVM, but then you would have to maintain 2 versions, so it would be pointless.
@hetias
@hetias 9 ай бұрын
_tsocrates_
@ynchen
@ynchen 9 ай бұрын
WHAT ARE YOU WORKING ON? TRYING TO FIX THE PROBLEMS I CREATED WHEN I TRIED TO FiX THE PROBLEMS I CREATED WHEN I TRIED TO FIX THE PROBLEMS I CREATED WHEN...
@TEHNOTRAHER
@TEHNOTRAHER 9 ай бұрын
me: mom can i go to cinema to watch "Inception" mom: we have "Inception" at home "Inception" at home 7:20
@thakeenathees2342
@thakeenathees2342 9 ай бұрын
I was just typing this coment and saw this
@apenaswellignton
@apenaswellignton 9 ай бұрын
it made my brain go smooth
@ThatManFromGermany
@ThatManFromGermany 9 ай бұрын
Imagine using an electron based debugger frontend in 2023! Thank you for this, this is a master class of "how to approach a problem solution" IRL.
@simonfarre4907
@simonfarre4907 9 ай бұрын
I certainly do. It means my IDE _and_ debugger uses the same interface. The seamlessness is amazing. I use RR, GDB seamlessly together in vs code with the Midas extension. It means all my bookmarking, all my navigation of the code works identically. It makes the process of development exponentially a lot faster than having to manage multiple UI:s for what essentially amounts to the same work flow.
@ShpirtMan
@ShpirtMan 9 ай бұрын
Cool video. As soon as I saw the L in "5L", I knew it's going to be py2 vs py3 issue.
@Sloimay
@Sloimay 9 ай бұрын
did i just get spoiled in a "debugging the debugger" video
@aciddev_
@aciddev_ 9 ай бұрын
tsodin: fix bug in debuger: easy write comment message: *imposible.*
@isaacdiaby
@isaacdiaby 9 ай бұрын
45:30 The celebration dance made it all worth watching 😂🎉
@nickdance965
@nickdance965 9 ай бұрын
excited to watch this one! thank you for all the interesting videos and content!
@bashbin
@bashbin 9 ай бұрын
That was great! It's been 2 years of watching you, and I have learned so much from you.
@apenaswellignton
@apenaswellignton 9 ай бұрын
and who's debugging the debugger that is debugging the debugger!?!
@realGBx64
@realGBx64 9 ай бұрын
13:40 “so maybe it won’t be that deep and that dirty” - me looking at the timer, showing the video is 59:53 long: “it will be deep and dirty”
@Gordonfreems
@Gordonfreems 9 ай бұрын
This is such an awesome find, nice video!
@CoderDBF
@CoderDBF 9 ай бұрын
You’re like a 40x developer, I couldn’t do in a week what you do in an hour.
@TsodingDaily
@TsodingDaily 9 ай бұрын
Tbh, I got really lucky today. It's def not always like that. :D
@khuntasaurus88
@khuntasaurus88 8 ай бұрын
Sounds like you're just a 0.2x developer. Skill issue
@lamprospitsillou6325
@lamprospitsillou6325 9 ай бұрын
Would love more of fixing-contibuting to OSS ! ❤️
@rasulseidagul
@rasulseidagul 9 ай бұрын
This was insanely entertaining to watch 😂 lmao Thanks for sharing the vid
@HarperLee1840
@HarperLee1840 9 ай бұрын
That's quite a journey. Great video and thank you for the pull request.
@PwnySlaystation01
@PwnySlaystation01 4 ай бұрын
This was a fascinating video. Really good
@theherk
@theherk 9 ай бұрын
That was a really nice session. Thanks for the video.
@tomaspecl1082
@tomaspecl1082 9 ай бұрын
Who debugs the debugger? The hexdump of memory content and a "real programmer" who speaks machine code fluently.
@andrewkosenko2757
@andrewkosenko2757 9 ай бұрын
I like your statusbar, especially the part that shows the folder size 😂😂
@MrChester114
@MrChester114 9 ай бұрын
This is honestly a great unintentional tutorial on how to contribute to open source
@mariuszdziem8203
@mariuszdziem8203 10 күн бұрын
You're my hero! :) So interesting episode. You deserve P70,/P71/P72 thinkpad with Xeon processor with 64/128GB of ram.
@luigidabro
@luigidabro Күн бұрын
A GDB debugger with compiled with a clang++ compiler.
@prodbyfaith
@prodbyfaith 9 ай бұрын
"Look how quickly it recomputes its layout, can your Electron do that?" Lmao instant sub
@cheebadigga4092
@cheebadigga4092 9 ай бұрын
This was fantastic! Also, very smart fix.
@kir4agi
@kir4agi 9 ай бұрын
Loved this one mate, keep it up :)
@diverso3611
@diverso3611 9 ай бұрын
this was very impressive. great job
@artemiasalina1860
@artemiasalina1860 Ай бұрын
With all of the recursive meta-debugging going on it's best practice to make sure you're seated and hold onto something when watching a Tsoding video. I'm still dizzy from watching him develop his Dramatic EDitor in his Dramatic EDitor! It's a good thing he didn't need to debug his debugger while editing his editor in his editor!
@sitryk3362
@sitryk3362 9 ай бұрын
I get so burnt out with programming these days but I really enjoy watching your programming Tsoding : - )
@ariftunahandeniz6078
@ariftunahandeniz6078 9 ай бұрын
It's like watching Bob Ross. Awesome video!
@exvimmer
@exvimmer 9 ай бұрын
This was a really cool video. Thanks
@fluffyribbit1881
@fluffyribbit1881 9 ай бұрын
Have you ever gone through TAOCP? One of the curious things about it is that it tries to teach programming using a bespoke assembly language. Why do this? Because, once you get to the (unwritten) end, you could write a compiler *without* a compile, as the Grace Hopper had to do when she wrote COBOL.
@adibozzhanov3101
@adibozzhanov3101 9 ай бұрын
I just spent a whole day staring at SQL queries stored as string literals in a python codebase and seeing the exact same thing happen in a C code base with python as string literals just kind of boiled my brain. Loved every second of this video, thank you for doing that.
@astral6749
@astral6749 9 ай бұрын
This question has the same vibes as "what compiles the compiler"
@JakobKenda
@JakobKenda Ай бұрын
and that's why you ship your dependencies alongside your program, boys
@monsieuralexandergulbu3678
@monsieuralexandergulbu3678 9 ай бұрын
It's nice to be able to just edit your video in two hours
@Stroopwafe1
@Stroopwafe1 9 ай бұрын
I honestly thought ddd was the only graphical frontend for gdb, thanks for showing me gf2, it actually has a nice UI
@kaksisve4012
@kaksisve4012 9 ай бұрын
They: Do you have a gf? 👩‍❤️‍👨 Me:
@SimGunther
@SimGunther 9 ай бұрын
2:52 Debugging the debugger running buggy GUI programs LOL
@akkudakkupl
@akkudakkupl 9 ай бұрын
This was a thing of beauty.
@jordanmcconnon6214
@jordanmcconnon6214 9 ай бұрын
Thanks for showcasing gf
@nebulus3919
@nebulus3919 9 ай бұрын
I'm learning how to code a complier by Porth, but I have a question, why all the tutorials on this topic start doing an algebra compiler, and then start doing the things like functions, variables...? Btw I love your videos! Would be amazing if in a future you do some compiler relationed content.
@DFPercush
@DFPercush 9 ай бұрын
Maybe it's just because parsing algebraic expressions with the proper order of operations is a natural part of generating an abstract syntax tree. Usually, function calls and control flow take lower precedence than algebraic expressions, so you can just take your expression parser and add those things on the end. Of course you can also use a parser generator like Lex and Yacc to describe your language using pattern matching, kind of like regular expressions.
@michalbotor
@michalbotor 9 ай бұрын
you deserve a medal you're too nice
@salim444
@salim444 9 ай бұрын
It was really nice seeing how to contribute like a REAL PROGRAMERS. thanks tsoding
@leonardoquiroga6850
@leonardoquiroga6850 9 ай бұрын
great video!
@teslax9243
@teslax9243 9 ай бұрын
Wonderful video.
@MyWatermelonz
@MyWatermelonz 9 ай бұрын
Damn i subscribed but i never have time to really sit down and watch your videos due to the length. Im sure the content is good from what I've gauged from.the comments
@ZoraAlven
@ZoraAlven 9 ай бұрын
this one kinda epic in all means IT in its pure natural form
@wijiler5834
@wijiler5834 9 ай бұрын
Epic zozin zession
@mondevictor
@mondevictor 9 ай бұрын
Insane video
@criticalpoint2779
@criticalpoint2779 Ай бұрын
Debugging a buged debugger with a buged debugger souds like governments in action
@kyuantym
@kyuantym 9 ай бұрын
Upon reading the title, I just thought about this.
@Ubervisor_
@Ubervisor_ 9 ай бұрын
zozin asking the real questions here
@stevenriofrio7963
@stevenriofrio7963 9 ай бұрын
Could you recommend a computer graphics book where they teach the mathematics of 3D rendering, I still don't understand how to obtain the projection matrix?
@prasannas3219
@prasannas3219 9 ай бұрын
Hi Tsoding developed a 3D graphics library from scratch, where he goes over the mathematics behind rendering objects in 3D. kzfaq.info/sun/PLpM-Dvs8t0Va-Gb0Dp4d9t8yvNFHaKH6N Maybe some of the episodes in there relating to 3D will be useful for you.
@mypegionworld7612
@mypegionworld7612 9 ай бұрын
I wanna reach this level of mastery.. You are the best 🎉.
@veritas7010
@veritas7010 9 ай бұрын
I mean so much can you expect from 155 commits repo
@tapion1998
@tapion1998 8 ай бұрын
These random german expressions are gold! Are you from germany or have you just caught up some words?
@vuongnh0607l
@vuongnh0607l 9 ай бұрын
So for anyone who never programmed in Python 2 like me, print in Python 2 is not a builtin function but a statement, the code is intepreted as printing a tuple ('(array) ', 5) But there's no such thing as a single element tuple, so printing a single string ('(array) 5') doesn't show the *parentheses
@odomobo
@odomobo 9 ай бұрын
There is a single-element tuple, but its syntax looks like: (5,)
@vuongnh0607l
@vuongnh0607l 9 ай бұрын
@@odomobo thanks for correcting me, I'm still learning Python Out of curiosity, what's the use case for single element tuple?
@odomobo
@odomobo 9 ай бұрын
@@vuongnh0607l I don't think there are many use cases, as I think it's mostly there for consistency's sake (so you can create any length of tuple). I don't write a lot of python, so I've never run into a situation where I needed to use it, I just thought it was interesting that it does exist
@SingleTheShot
@SingleTheShot 9 ай бұрын
I think part of the issue is your GDB is using python 2, but their gf2 expects python 3 cuz in python 2 the print statements dont need (), so theyre treated as a tuple and my gdb (from doing `py import sys; print(sys.version);`) prints python 3.10 and also doesnt have the tuple bug
@SingleTheShot
@SingleTheShot 9 ай бұрын
lol 3 seconds later you figured this python2 vs python3 bug out lmfao
@KunalDawn
@KunalDawn 9 ай бұрын
look at this MF*, why the f* it even do that - you made my day there
@DFPercush
@DFPercush 9 ай бұрын
lol, and there's your moment. Actually I think it's because in Python 2, print is a keyword, not a function. So the parentheses that would normally indicate a function call are instead interpreted as a tuple, because it contains comma separated values. Changing it to a single string value just makes the outer parentheses redundant, but that also makes it compatible with both versions.
@ian3084
@ian3084 9 ай бұрын
C++ operators, such a great idea ... I might take up Zig just for not allowing that
@user-kp6ir4ih9s
@user-kp6ir4ih9s 9 ай бұрын
You are so cool, man
@AlguienMas555
@AlguienMas555 9 ай бұрын
Jajaja. The moment of the true was great
@mbarrio
@mbarrio 9 ай бұрын
Success!
@inferior2884
@inferior2884 9 ай бұрын
This is why you use standard containers instead of rolling your own
@apenaswellignton
@apenaswellignton 9 ай бұрын
ikr? this has to be one of the w̶o̶r̶s̶t̶ most curseds C++ codebase ive ever seen. i bet this was written by people who thinks C++ is C with classes, i mean, you can clearly see it, they even manage the memory themselves by hand. imagine doing that in 2023.
@djscratchcat474
@djscratchcat474 9 ай бұрын
@@apenaswelligntonwhat do you suggest?
@TsodingDaily
@TsodingDaily 9 ай бұрын
you meant the best C++ codebase
@apenaswellignton
@apenaswellignton 9 ай бұрын
@@djscratchcat474simply use what the standard already offers to you. theres barely any reason to come up with generic containers from scratch, and if you do try to come up with one theres a big chance you will get it wrong
@apenaswellignton
@apenaswellignton 9 ай бұрын
@@TsodingDailyKappa
@b4mbus60
@b4mbus60 9 ай бұрын
what is the app used for zooming in and out?
@postmodernist1848
@postmodernist1848 9 ай бұрын
He really debugged the debugger
@revenevan11
@revenevan11 Ай бұрын
It's recursive debuggers all the way down!!!🤯🤣
@cedric1731
@cedric1731 9 ай бұрын
What caught me off guard was that you were using scheisse so often. Do you use this word in Russian, too?! As far as I knew it is German (written scheiße...).
@nickdance965
@nickdance965 9 ай бұрын
there's a funni @ 28:41
@Czeckie
@Czeckie 9 ай бұрын
ok this was epic
@blackhaze3856
@blackhaze3856 9 ай бұрын
This video is programming porn. Top level wisdom.
@rodelias9378
@rodelias9378 9 ай бұрын
Great stream!! (And it is not a Rust one)
@potatopassingby1148
@potatopassingby1148 9 ай бұрын
alternative title: FIXING A DEBUGGER WITH ONLY PYTHON?!
@bashbarash1148
@bashbarash1148 9 ай бұрын
What was that? I just watched Inception 2, but with art house flavor and budget.
@ALG397
@ALG397 9 ай бұрын
Hello, why you don't explain the Encrypt Algorithme and How BruteForce works
@motyakskellington7723
@motyakskellington7723 9 ай бұрын
who's compiling the compiler
@user-mj1wg5oz2b
@user-mj1wg5oz2b 9 ай бұрын
for everyone that just want to see the highlight; 45:31
@johanngambolputty5351
@johanngambolputty5351 9 ай бұрын
I'm guessing print(*args) in python 3 is variadic, so it just runs __repr__ on each of the things in its args (appends the individual string representations), which drops the quotes for the string. While in python 2 it just prints the string representation of the args tuple, which prints the outer brackets and keeps the string wrapped in quotes.
@odomobo
@odomobo 9 ай бұрын
In python 2, print was a builtin keyword, and in python 3 it became a function. Since it's a keyword in python2, you don't use parens when calling it. However, if you use parens anyhow, the expression on the right becomes a tuple, and the tuple is printed.
@an0nsaiko890
@an0nsaiko890 9 ай бұрын
Next Episode... "Wait, who compiles the compiler ?!"
@replikvltyoutube3727
@replikvltyoutube3727 9 ай бұрын
The nest is a lot
@filippanek9484
@filippanek9484 9 ай бұрын
Nice session Mr. Tsoding, but where github…
@sonuaryan5287
@sonuaryan5287 9 ай бұрын
A similar question comes to mind but every programmer knows I think including me. Who is compiling other compilers if we go whether no software exists? A funny question but it's important.
@andrejsk6211
@andrejsk6211 9 ай бұрын
You start with writing machine code by hand to create an assembler to assemble a compiler to compile a better compiler :) It's the compilation centipede.
@sonuaryan5287
@sonuaryan5287 9 ай бұрын
@@andrejsk6211 ya
@romandobra3151
@romandobra3151 9 ай бұрын
Really krasava
@caiodavi9829
@caiodavi9829 9 ай бұрын
tsoding, have you been to ICPC world finals?
@TsodingDaily
@TsodingDaily 9 ай бұрын
Nah, only semi-finals. I'm not really good at competitive programming, sorry. :D
@eazypeazy8559
@eazypeazy8559 9 ай бұрын
FUCKING GREAT
@wellhiiguess2351
@wellhiiguess2351 9 ай бұрын
Amazing video just one quest why does it say porn folder in the bottom right
@rootsudosu
@rootsudosu 9 ай бұрын
29:30 XD XD
@XDjUanZInHO
@XDjUanZInHO 9 ай бұрын
You should also try using seer, or the classic ddd
@valbogda5512
@valbogda5512 3 ай бұрын
Thanks. Watching this video I was trying to remember what was the name of the graphical frontend I used to use lotta years ago. I never realised it was GNU's own frontend. Gotta love the aesthetics of Motif :).
@VinayKumar-vu3en
@VinayKumar-vu3en 9 ай бұрын
Tsoding the type of guy who would debug the debugger (i'd have just moved on to another one).
@anon-fz2bo
@anon-fz2bo 9 ай бұрын
billion iq question
@chriscoyc
@chriscoyc 9 ай бұрын
if is that so, who makes the clown laugh? 😔
@michalbotor
@michalbotor 9 ай бұрын
debugging is hell
@rootsudosu
@rootsudosu 9 ай бұрын
45:34 first try MF XD
@malusmundus-9605
@malusmundus-9605 9 ай бұрын
This is why I just use gdb from the command line... you add all that extra complexity for the gui and you get bugs... and then you waste time.
@hedlund
@hedlund 9 ай бұрын
You're seriously calling an explicitly recreational programming session a waste of time...? Recreational programming that also happens to improve upon a piece of OSS. A piece of OSS he actually likes, at that. Are you just e-peening? Are you simply a bit of a twat? What am I missing?
I regret doing this...
1:20:07
Tsoding Daily
Рет қаралды 61 М.
The Best Coding Interview Question Ever
1:21:27
Tsoding Daily
Рет қаралды 35 М.
CAN YOU HELP ME? (ROAD TO 100 MLN!) #shorts
00:26
PANDA BOI
Рет қаралды 36 МЛН
1 класс vs 11 класс (неаккуратность)
01:00
БЕРТ
Рет қаралды 4,8 МЛН
ДЕНЬ РОЖДЕНИЯ БАБУШКИ #shorts
00:19
Паша Осадчий
Рет қаралды 5 МЛН
The Largest Unsolved Problem in VR.
25:43
ThrillSeeker
Рет қаралды 138 М.
How does an OS boot? //Source Dive// 001
50:22
Low Byte Productions
Рет қаралды 372 М.
Back to Basics: Debugging in Cpp - Greg Law - CppCon 2023
1:00:37
Web in Native Assembly (Linux x86_64)
2:03:41
Tsoding Daily
Рет қаралды 53 М.
tree-sitter explained
15:00
TJ DeVries
Рет қаралды 68 М.
Configuring my Emacs. Vim users are not invited!
16:37
Tsoding
Рет қаралды 84 М.
Reverse Engineering Data Files
1:59:16
Tsoding Daily
Рет қаралды 38 М.
Why Linux is better for (most) developers!
14:59
The Linux Experiment
Рет қаралды 460 М.
Neural Network in C that Recognizes Shapes
3:43:48
Tsoding Daily
Рет қаралды 35 М.
Hot Code Reloading in C
2:16:18
Tsoding Daily
Рет қаралды 60 М.
Apple watch hidden camera
0:34
_vector_
Рет қаралды 52 МЛН
Цифровые песочные часы с AliExpress
0:45
Mi primera placa con dios
0:12
Eyal mewing
Рет қаралды 420 М.
3.5.A Solar Mobile 📱 Charger
0:39
Gaming zone
Рет қаралды 320 М.