Making Systems Programming Accessible by Andrew Kelley

  Рет қаралды 30,462

TigerBeetle

TigerBeetle

Жыл бұрын

The kick-off talk for Systems Distributed '23: systemsdistributed.com.
andrewkelley.me
github.com/andrewrk
mastodon.social/@andrewrk
Join the chat at slack.tigerbeetle.com/invite!

Пікірлер: 19
@cellularmitosis2
@cellularmitosis2 Жыл бұрын
Talk starts at 8:00
@vikingthedude
@vikingthedude 6 ай бұрын
based
@ArifBasri
@ArifBasri 6 ай бұрын
THANK YOU!🎉
@bjorn2625
@bjorn2625 24 күн бұрын
Da real MVP
@boy_deploy
@boy_deploy 9 ай бұрын
Thank you for supporting Zig. God bless you guys 🙏
@uzoolisemeka3684
@uzoolisemeka3684 Жыл бұрын
great question @ 43:34 asked about takeaways for people who are not systems developers, who don't need to know os-level commands to do their work like writing business logic in js. answering to share my perspective as someone who fits the description. the slide @ 36:36 is a great summary for all types of devs. - make whatever you are building accessible. - understanding what is going on at runtime is valuable. - invest in tooling to improve runtime introspection. i write business logic in js and run it in node. i rely on message passing (interprocess or rabbitmq) to send messages to where the business logic runs and ask it questions about certain operations or state. i couldn't name 10% of the syscalls where my code runs, but there's a lot to learn in this talk for people like me.
@budiardjo6610
@budiardjo6610 Жыл бұрын
always really good talk
@andrewdunbar828
@andrewdunbar828 9 ай бұрын
fully understand = grok
@artiekushner6849
@artiekushner6849 Жыл бұрын
wow u guys are really making software look sexy again. love the dis sys and zig communities.
@michaellatta
@michaellatta Ай бұрын
Printing debugging is about looking for patterns of behavior, in particular with the output going into grep.
@simonmassey8850
@simonmassey8850 3 ай бұрын
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.
@jaysistar2711
@jaysistar2711 2 ай бұрын
The intro track was a bit like "Ghost" by Robert Miles.
@UGPepe
@UGPepe Жыл бұрын
I dunno about that copy example, the OS should abstain from providing hi-level APIs, I mean does it copy on multiple threads? Does it preallocate space on the destination drive? Does it delete the partial file on failure? These questions don't have a single best answer
@Diamonddrake
@Diamonddrake 8 ай бұрын
Considering that IO is originally why operating systems were invented it’s not unreasonable for there to be syscalls that operate in very specific optimized use cases. Copyfilerange syscall copies a range of bytes from one file descriptor to another provided they are the same file system without the overhead of moving the data into user space. It doesn’t magically copy files like he implies, you still have the option to make all those decisions you described. You still open the files yourself, orchestrate what bytes get written and when, you just don’t get access to the bytes.
@Rupour
@Rupour 7 ай бұрын
Don't think I necessarily agree with his perspective on games not needing systems programming. Games are fundamentally the art of designing systems. Thinking through the interactions of the system, and what can and more importantly what can't be done. The only reason we can play games in the real world with regular objects are because of the arbitrary rules we assign to those objects. I think having a mindset similar to systems programming is vital to being a good game designer.
@seantyson6021
@seantyson6021 7 ай бұрын
I get your point but I think this view might be a little reductive (or abstract) of systems programming. Systems programming isn't just "designing systems" thinking through interactions etc. If that were true web development would be systems programming. Audio DSPs would be systems programming. Data science would be systems programming. All programming is "f designing systems. Thinking through the interactions of the system, and what can and more importantly what can't be done" - systems programming has to be defined differently. e.g. specifically low level engineering with APIs that interact specifically with hardware - like Andrew explains.
@lepidoptera9337
@lepidoptera9337 10 ай бұрын
Distributed systems are a bad idea. Just don't build them unless you absolutely have to. In most cases problems can be solved without this strategy.
@nathanmartinez2630
@nathanmartinez2630 Ай бұрын
What about databases? They need to be distributed, no? Also, software infrastructure in general (load balancers, kubernetes, etc.). I think any time you need fault tolerance and reliability/high availability, you need distributed systems. I think it's a necessary evil for high availability, and sometimes a necessary evil for performance and scalability (when the demands of the system exceed what a single server can fulfill).
@lepidoptera9337
@lepidoptera9337 Ай бұрын
@@nathanmartinez2630 Yes, all of these things are bad, bad, bad ideas unless you have to use them. That a single CPU is not reliable is complete bs. I have industrial control systems products without any redundancy out there that have basically 100% uptime and zero known bugs. They use a simple watchdog circuit to reset themselves, just in case that a cosmic ray does something bad to the memory content. In most cases the 1ms startup delay is not even noticeable. Do we need distributed systems? Of course we do, but not for something like a spreadsheet or word processor app. I would claim that even the HR department of Walmart (2.1 million employees) could do all of their hiring and firing on a single PC with nothing but a few extra hard drives (terminals and terminal server excluded, but those are trivial pass-through functions). Just how much data do you think does HR need per minimum wage employee? One MByte? So that is, at most, a couple of GByte of data for everybody who is currently employed by the corporation. That's less than the memory your phone's CPU uses to play one video at a time.
Trying Zig Part 1
1:30:00
TheVimeagen
Рет қаралды 60 М.
ISSEI funny story😂😂😂Strange World | Pink with inoCat
00:36
ISSEI / いっせい
Рет қаралды 27 МЛН
Зу-зу Күлпәш. Стоп. (1-бөлім)
52:33
ASTANATV Movie
Рет қаралды 916 М.
Godzilla Attacks Brawl Stars!!!
00:39
Brawl Stars
Рет қаралды 10 МЛН
C++ Game Programmer Tries ZIG for the first time.
5:28
Low Level Game Dev
Рет қаралды 45 М.
How does an OS boot? //Source Dive// 001
50:22
Low Byte Productions
Рет қаралды 364 М.
CppCast Episode 342: Zig with Andrew Kelley
57:45
CppCast
Рет қаралды 13 М.
Fiber kablo
0:15
Elektrik-Elektronik
Рет қаралды 5 МЛН
Готовый миниПК от Intel (но от китайцев)
36:25
Ремонтяш
Рет қаралды 350 М.