The attitudes about web programming and system programming made me think for years I didn’t like coding, when what I actually needed was to get closer to the metal and gain a deeper understanding of the theory.
@franksinatra2530
11 ай бұрын
I've dabbled in low-level programming, but never really interfaced directly with actual hardware. This is a great starting point for me. Thanks Steve!
@CrIMeFiBeR
11 ай бұрын
I like the analogy, because fashion also repeats itself, people going away from RPC 20 years back, and now we are coming back to it, same with message passing
@nirmalyasengupta6883
11 ай бұрын
I cannot agree more. Sun RPC / CORBA were dealing the same problem which - say, Protobuf - today does! 😁
@akauppi2
8 ай бұрын
we are?
@EvgeniyDolzhenko
4 ай бұрын
It's pretty much the same, concepts and the challenges are very much alike. E.g. multi threading in C++ and module loading in Angular, C++ compilation and assets bundling, GDB and DevTools debugger, once you truly master one side of it the other becomes easy and accessible as well.
@tomcooper9061
11 ай бұрын
I2C screams of TCP, at least in this simplified explanation. I got my start in IT provisioning IP networks and now I’m doing web development. It’s cool to see how certain concepts from one domain come into another. Thanks for this talk, definitely makes me feel like I can pick up more systems and embedded programming. 👍
@dineshwarrajendran1189
11 ай бұрын
Intro ❤
@raidensama1511
8 ай бұрын
Master Slave are only words just like proletariat bourgeoisie
@guentherjehle
10 ай бұрын
The server/client terminology is not fitting when replacing master/slave in this case - server/client should be swapped. The controller would be the "client" and the peripheral is "serving".
@michaelruggles9441
8 ай бұрын
The "server" (microcontroller), in this paradigm, is both serving and requesting data just like a typical web server (serving data to clients, requesting data/services from dbs/apis etc). It is also running the main loop, always listening for "requests" (interrupts) and handling the execution of those events. It wouldn't be fit to call it a client. Instead of redefining the server, it might be helpful to think of the "clients" (peripherals) as anything that directly communicates with the server, regardless of whether it's sending or receiving information (browser, db, API, terminal, etc).
@inasinas226
8 ай бұрын
Yeah which is why the struggle to keep master slave terminology. It works really intuitively unfortunately: a slave cant have 2 master, but a master can have 2 slaves.
@moestietabarnak
11 ай бұрын
compiler message with suggested solution ?! ..great ! I've always thought when a compiler tell me "missing ';' or '"" etc... why don't they just ADD it (still print a warning in case it's really not what the programmer had in mind) and CONTINUE building ! Later the programmer can see ALL the error in once pass.. even like 'accept compiler solution' to automate the trivial fix...
@mikkelens
10 ай бұрын
this can be dangerous for real compiler errors since a program that doesnt compile by definition is wrong and therefor cannot be fixed without knowing the intent of the program from outside of the program itself, but… if you are using a rust code linter like clippy, where your program definitely compiles but may be improved for effiency, clarity or brevity reasons, it will give you those suggestions like a compiler would tive you warnings or errors AND you can run “clippy -fix” to make it actually apply some of these suggestions to your code and you can basically trust it did it correctly without altering any behaviour. I believe all clippy automatic fixes follow the rule of not changing program I/O behaviour at all.
@mikkelens
10 ай бұрын
In this way, the clippy linter is a lot like a more powerful and/or higher concept code formatter (like rustfmt), which I think is really magical.
@mikkelens
10 ай бұрын
Also note that not every clippy suggestion/warning has an automatic fix since those can be pretty complicated at times even though the issue may be obvious. For the areas it works automatically, its wonderful for cleaning up big piles of code while you rummage through it, like forking a small “old” unkept rust library for your own use or improving your own code from before the clippy lints existed/were something you used regularly (new ones are added all the time)!
@MDarkus3
11 ай бұрын
28:00 unpopular opinion: I hate this code! WoW. If you tell me this is what Rust has to offer for embedded programming I will stuck to my C lang.
@scottmabin3323
11 ай бұрын
It's done to show you what HALs do under the hood in Rust. As you user you don't have to delve into this stuff, like you wouldn't have to delve into this with C you'd use an of the shelf HAL. Embedded programming is so much more than writing to registers.
@edgeeffect
11 ай бұрын
19:36 totally blew my mind... because if you were to press my for my "views" on software development... it would be THAT SLIDE... WORD FOR (expletive deleted) WORD!
Пікірлер: 21