Cant wait to watch these next few! I Did watch a few of the old streams/videos going over the LSM forest, but I am looking forward to getting this deep dive. I really appreciate all the work you have done on this. A guided code walkthrough TigerBeetles codebase is amazing.
@Peter-bg1kuКүн бұрын
King is the king of both the mic and the keyboard.
@Peter-bg1ku3 күн бұрын
I never thought Redis AOF were this simple.
@stevesteve80984 күн бұрын
Yes.... i remember back in the 90's oracle tried this system of "direct IO", Blew lots of trumpets..... and announced it HAS to be better & faster Because ....'insert reasoning here" Well you know what..... it was complete bullshit, becasue they made lots of assumptions and very little real testing. Because even you THINK you are writing directly to the "disk" YOU ARE NOT.... you are Writing to a BLACK BOX., you have absolutely NO idea of HOW or WHAT is implemented in that Black box. There may be a thousand buffer levels in that box, with all sorts of swings and roundabouts. so... no.... you are NOT directly writing to disk, such a basic lack of insight and depth of thought is a worry with this sort of "data" Evangelicalism...
@ForeverZer018 күн бұрын
Zig has been on my radar for about a year as one of those languages "I want to learn someday". About a month ago I finally devoted some time to it, and I regret not having done it sooner. I initially found the syntax off-putting, but within literally a few hours, I came to really appreciate it, realizing how smoothly it allowed you to do perform many tasks and work with the language idioms. The stdlib is a little sparse in the documentation department, but I can hardly hold that against a language that hasn't even hit v1.0 yet.
@solagratiasolafide24 күн бұрын
Jepsen mentioned
@Hector-bj3ls26 күн бұрын
I wish there were some examples of what he was talking about. Sometimes it just sounds like vague advice. "Do software good like an artist does"... Okay, but like what? Like when talking about naming things he just said: "Use the right nouns and make the names good and clear". Yes, I agree, probably, but what are some examples? How do I know what you mean by "use the right noun"? I think I do that, but I have no idea what you think that is, nor what Tiger Style says on the subject.
@amoghyermalkar550229 күн бұрын
I love the kind of content, but it would really help to stick till the end of the video if the audio quality wasn't this bad!
@ikolomietsАй бұрын
So far, this is the most mind-twisting episode of all the previous ones. I'm still struggling to build a mental model around the idea of each ballot is processed concurrently by the replicas, yet a replica can "assess" the result of casting for previous ballots. Are there popular media (articles, video) describing the very same fundamentals behind consensus?
@tigerbeetledb27 күн бұрын
These two lectures made consensus click for me personally lamport.azurewebsites.net/tla/paxos-algorithm.html
@vekmogoАй бұрын
Great video, very clear and helpful! Also, nice title!
@nexovecАй бұрын
Turns out I've been using tigerstyle for the past 5 years and didn't even know. It's always good to see something put in writing that you've long subconsciously practiced, because then you can focus on it and audit it. This is helpful.
@YuruCampSupermacyАй бұрын
Could you plese zoom in a bit on your editor the next time? Its very hard to read the code if i am watching this on my phone
@8888anthoq88Ай бұрын
You should be able to zoom in yourself if you're using the KZbin app
@nathanfranck5822Ай бұрын
Matklad, it would definitely benefit you to unlearn the "uhhh" word. I think we tend to use it in conversation so the other party doesn't butt in and take the conversation in another direction, so it makes sense that we would have learned that behaviour in normal interactions with people... But in presentations I'd say it's a bad habit
@YuruCampSupermacyАй бұрын
I am guessing that English is not his mother tongue and despite that he has a really good command over the language, your comment is an unnecessary nitpick instead of constructive criticism. Even native English speakers overuse uhhh. It's a common filler word And if one is giving an impromptu presentation they will end up using filler words to gather their thoughts. It's not like he is speaking off of a script.
@nathanfranck5822Ай бұрын
@@YuruCampSupermacy Yeah I totally get it, maybe I'm more sensitive than others, BUT if this was a college lecture you bet the students would be talking about it after class, comes with the territory
@JoeTaberАй бұрын
The key to unlearning "uh" is to become comfortable with silence.
@niskarshdwivedi1549Ай бұрын
00:03 Testing distributed systems is complex due to asynchronous communication and multiple computers. 02:39 Testing a Single-Node, Single Threaded, Distributed System 06:44 Testing for unknown unknowns is crucial for robust systems 08:41 Cost of solving bugs increases over time 12:42 Effectively testing a system requires comprehensive exploration of its state space. 14:42 Testing a distributed system can be challenging due to the difficulty in replicating bugs found by users. 18:37 Focusing testing energy on key points can significantly speed up algorithm performance. 20:38 Using Mario's x-coordinate as a guidepost for progress in the game. 24:03 Testing distributed systems often requires considering higher dimensions than initially anticipated. 25:55 Exploring incomparable and unique situations to find bugs in distributed systems. 29:39 Challenges in Branch Execution Order 31:46 Testing a single-node distributed system in 1985 revealed issues with random number generation. 35:22 Applying a mask with low probability makes random distributions more realistic. 37:15 Improving random number distributions for more natural movement and beating levels in old video games. 40:56 Developed a deterministic hypervisor for running software consistently. 43:05 Accessing the program via email subject line.
@themichaelwАй бұрын
18:00 that's the same Andres Freund who discovered the XZ backdoor. Neat.
@klumpeetАй бұрын
"State is building a database" Yes!
@sierraoscardeltaАй бұрын
really great stuff team!
@ankishasharma7035Ай бұрын
Great presentation!
@utkarshsrivastava2107Ай бұрын
This was awesome! Thank you for sharing.
@VipulVaibhawАй бұрын
This was mind blowing presentation.
@bobbycomputersАй бұрын
The theme song really slaps!
@JoeTaberАй бұрын
The talk defines two terms: Strategy and Tactics. Strategy is the datum you choose to optimize for as the fuzzer randomly walks the states of the system. E.g. optimize to maximize Mario's X value, or optimize for reaching all tile positions etc. Tactics is the choice of input distribution.
@JoeTaberАй бұрын
My favorite deterministic simulator is Factorio (tbf I haven't tried TB). A deterministic hypervisor is dope!
@CTILETАй бұрын
Node js?
@trejohnson7677Ай бұрын
LOOOOL
@michaellatta2 ай бұрын
Printing debugging is about looking for patterns of behavior, in particular with the output going into grep.
@biomorphic2 ай бұрын
Correct me if I am wrong, but the static allocation is only possible because you do have few specific structures to allocate. All of these would not be possible if the client would send a completely different structure. I mean, your system would never be able to store anything but transactions, unless someone modifying the code, adds a different structure, and compile it. Am I right saying so, and is that the reason this database is so specific and cannot be used for any other use cases rather than financial transactions? I mean, even if you have some sort of metadata attached to the transaction, this has to have a fixed length, otherwise cannot be allocated statically.
@tigerbeetledbАй бұрын
Thanks for the great question. The static memory allocation happens in the foundational layer underneath the state machine, so it's orthogonal in fact to TB's choice of primitives (and specific structures). But yes, all structures at heart need to be some multiple of fixed size (e.g. you could do 64 bytes, 256 bytes, 512 bytes, 4 KiB page size etc. to accommodate variable length structures). However, this is no different to e.g. how languages like JavaScript in V8 do it (IIRC, variable strings are a minimum of 24 bytes).
@tenthlegionstudios13432 ай бұрын
These are great - I have only had time to watch the first two. I am using more Rust in my free time, but want to get into zig. Overall I find the code simple, safe, intentional, and efficient! Which is my goal. Really appreciate this deep dive series!
@tigerbeetledb2 ай бұрын
Thanks for the kind words! The rest of the videos will be there for when you have more free time! :)
@RonnieRedd2 ай бұрын
Thank you!
@SebastianSativaLivemore2 ай бұрын
The more I think about it, the more TigerBeetle and Redpanda seem like a perfect fit tbh
@Metruzanca2 ай бұрын
Tigerbeetle just knows what good music for their talks is.
@Metruzanca2 ай бұрын
NOW THIS IS HOW YOU MAKE A KILLER DEV TALK INTRO. Rockstar developers. Also I find it funny that it says "Iron Beetle" when thats image is a parody of Judas Priest.
@amidamarurookie2 ай бұрын
hey, does the src code still up-to-date? i saw the last commit was 2 months ago
@tigerbeetledb2 ай бұрын
TigerBeetle is a bit of a moving target, so for this stream, I always look at that IronBeetle branch. I do update the branch periodically, just not for every stream, just to make sure that consequitve episodes look at the same code. Should probably sync with main before today's stream though...
@highpofly2 ай бұрын
bottom line, always use rust
@pietraderdetective8953Ай бұрын
Bottom line: PoS rust cultist!
@cal34612 ай бұрын
I love how much Joran love to present this talk. - one of my favourite technical talks
@tenthlegionstudios13432 ай бұрын
Great video! Really appreciate the walkthrough - I have been very interested in Zig. Through learning about zig, I became interested in tigerBeetle.
@fluffyunicorn71552 ай бұрын
He‘s got that smooth voice.
@nosh30193 ай бұрын
Amazing! Great talk!
@aurelian8913 ай бұрын
Very infomative, thanks! Any chance we could get recordings with dark theme? Hard to watch at night.
@tigerbeetledb3 ай бұрын
Tried to switch to the dark theme for episode 16!
@jaysistar27113 ай бұрын
The intro track was a bit like "Ghost" by Robert Miles.
@JannisAdmek3 ай бұрын
One of the best tech talks I've seen in a while!
@josefpharma47143 ай бұрын
Nice talk, thanks a lot. I can fully empathize your idea of using the same language for build orchestration as you are using for your code. Specially in your case, building clients for many different platforms as well. If this would still be a "fantastic idea" for "C/C++", debugging memory corruptions in the build script? Not sure 🙂.
@josefpharma47143 ай бұрын
Tried it on my mac, the script failed "try shell.exec("go test", .{});" That's expected, as I don't have go installed, I guess 🙂 (Or the planned go installation did not work, but I could not see an error above)
@luqmansen3 ай бұрын
Great talk, thanks for the sharing! ❤
@simonmassey88503 ай бұрын
22:52 The comment that “when your system is accessible, bugs are trivial” is a really thought-provoking comment. That is something that I have subconsciously known but never actually called out when writing unit tests and automated integration tests that use simulated data.
@timibolu3 ай бұрын
Amazing. Really amazing
@vladzhukov61164 ай бұрын
Give Alex a good mic :)
@rallokkcaz4 ай бұрын
King is the king!
@rallokkcaz4 ай бұрын
Man I'd love to learn more about how it works under the hood, a deep dive would be great for somebody who's VERY interested in these topics... like me.
@tigerbeetledb4 ай бұрын
If you want a deep dive, you might like kzbin.info/aero/PL9eL-xg48OM3pnVqFSRyBFleHtBBw-nmZ series, where we (slowly) are going through the entirety of TigerBeetle! Haven't made it to LSM layer yet though!