Let's do an experiment! If you're *not* a professional or habitual programmer, I'd love to hear what you know about what happens between typing a web address like "example.com" into your web browser and actually seeing the page show up. Whatever level of abstraction and verbosity you're comfortable with.

Tech folks: absolutely no making fun of people for being wrong, okay? People are allowed to not know stuff!

Boosts appreciated, but only if you're interested in frivolity 💜

@noracodes as someone who is really not a programmer but very definitely something resembling a network engineer, the way you've defined the audience here is breaking my brain a little bit

I guess I see the idea behind using "programmer" as the catch-all term to refer to people who work or tinker with IT, but at the same time this feels like a very familiar type of, uh, "IT erasure" (I last had to explain I do not write code despite studying IT to someone last week)

@noracodes that said, I am now fascinated by the semantics of the term "programmer" and how its definition has shifted. like, in a way, configuring a network switch is programming but at least in my social circles, programming very much refers to writing code

@tupsu @noracodes heh, you've reminded me of how at my first internship my boss was an EE who was definitely programming with ladder logic, but knew just the smallest scraps of python and java

very cool guy, much more of a generalist than i ever was. i should reach back out to him.

@jyn @noracodes oh yeah. similarly, my ex is a sweng who in the past 5 years has ended up programming Rust in embedded systems and bare metal, and it's been really insightful to watch how over time they've had to start taking the physical aspects of computing into account in their work more and more

meanwhile, coming from a background of networks and electronics, it feels like I'm much more used to having to consider the laws of physics as part of my work

@tupsu ooh, how did they get into embedded systems? i've been thinking of doing some more low level stuff but not sure where to start

@jyn hmm, well, they were put on that path by outside influence - they work at a university and were looking for a new project with the only requirement being that they can write Rust. there happened to be a SoC development project where there was interest in testing Rust as part of the ecosystem

they do also run a course around starting out in bare metal with Rust - I'm not sure if I can share full materials, but I can definitely share the recommended resources if you're interested!

@tupsu the recommended resources sound wonderful, thank you so much!
GitHub - rust-embedded/awesome-embedded-rust: Curated list of resources for Embedded and Low-level development in the Rust programming language

Curated list of resources for Embedded and Low-level development in the Rust programming language - rust-embedded/awesome-embedded-rust

GitHub

@jyn The character limit is tripping me up badly here, if I had more free time I'd probably make a blog post for these as well.

I agree with the other person who replied to you in that the best way to get into all this is to just get some basic device/kit and start playing with it. Arduinos are the most popular and hence have great resources. We've used Longan Nanos because RISC-V is cool, they're also very cheap and there's a support crate for it: https://github.com/riscv-rust/longan-nano

GitHub - riscv-rust/longan-nano: Board support package for the Longan Nano board

Board support package for the Longan Nano board. Contribute to riscv-rust/longan-nano development by creating an account on GitHub.

GitHub
@jyn Without knowing where you are in terms of prior knowledge and experience, here's a few tips to start out:
- get a physical device to mess around with, it's so much more fun when you have something to play with right away
- read up/refresh your memory on interrupts and registers - textbooks on operating systems generally cover this very nicely
- pick something really simple as your first project, involving something like networking quickly makes your project into an inconquerable mess ":D"
@tupsu these are awesome resources, thank you so much!