this post was submitted on 23 Oct 2025
        
      
      61 points (89.6% liked)
      Programming
    23300 readers
  
      
      387 users here now
      Welcome to the main community in programming.dev! Feel free to post anything relating to programming here!
Cross posting is strongly encouraged in the instance. If you feel your post or another person's post makes sense in another community cross post into it.
Hope you enjoy the instance!
Rules
Rules
- Follow the programming.dev instance rules
- Keep content related to programming in some way
- If you're posting long videos try to add in some form of tldr for those who don't want to watch videos
Wormhole
Follow the wormhole through a path of communities !webdev@programming.dev
        founded 2 years ago
      
      MODERATORS
      
    you are viewing a single comment's thread
view the rest of the comments
    view the rest of the comments
I am still relatively inexperienced and only embedded. (Electronics by trade) I am working on an embedded project with Zephyr now.
If I run into a problem I kind of do this method (e.g. trying to figure out when to use mutexes vs semaphores vs library header file booleans for checking ):
first look in the zephyr docs at mutexes and see if that clears it up
second search ecosia/ddg for things like "Zephyr when to use global boolean vs mutex in thread syncing"
if none of those work, I will ask AI, and then it often gives enough context that I can see if it is logical or not (in this case, it was better to use a semi-global boolean to check if a specific thread had seen the next message in the queue, and protect the boolean with a mutex to know if that thread was currently busy processing the data), but then it also gave options like using a gate check instead of a mutex, which is dumb because it doesn't exist in zephyr.
For new topics if I can't find a video or application note that doesn't assume too much knowledge or use jargon I am not yet familiar with, I will use AI to become familiar with the basic concept in the terms so that I can then go on to other, better resources.
In engineering and programming, jargon is constant and makes topic introduction quite difficult if they don't explain it in the beginning.
I never use it for code with the exception of codebases that are ingested but with no documentation on all of the keys available, or like in zephyr where macro magic is very difficult to navigate to what it actually does and isn't often documented at all.