I started using activities instead of virtual desktops with 2 desktops each.
Separate wallpapers, separate start menu favorites, separate panel pins, etc… Plus you can hide activities not in use to keep it tidy. I used to use virtual desktops more, but I think of it now as a 2D grid. Vertically activities very organized and for each you can switch horizontally where organization doesn’t matter as much.
Activities are great except there is a bug where the little wallpaper previews won’t show with the default, batch resized and renamed wallpapers.










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.