I switched to Linux for everything but AAA FPS PVP games last year and have had a great experience so far.
Steam+Proton makes everything I play just work: Helldivers 2, Slay the Spire 2, No Rest For The Wicked, FF7 Remake, Stardew, modded Lethal Company (using r2modman) are the main things I've been playing recently, and all worked out of the box with Proton.
My PS5 controller may have needed me to install one package or something but has been working flawlessly after that.
I keep a Windows drive around for stuff like Apex Legends, Battlefield 6, but I pretty much never boot into Windows anymore except for those.
(I probably sound like a shill at this point, having commented something like this on multiple Linux threads now, but I continue to be impressed at how well Linux performs for gaming these days!)
Idk, I'd like to see AI design a schematic and lay out a board. Even the occasional "Show HN" that combines AI+PCB stuff is about analysis and checks. It doesn't seem like anybody is even near any kind of ECAD using AI. People still complain about autorouters. Even frontier models need architecting and guard rails in software to avoid spaghetti, it seems like an even harder problem to get them to choose the correct parts, create accurate footprints and symbols, and wire those all up together.
"This is wrong, fix it" + recompile, can happen twenty times in ten minutes, but "we discovered the layout is wrong, fix it" is precluded by the cost and time of a new board spin.
AI + text (code) seems like a good match but (E)CAD seems a lot harder to interface AI with. If I'm wrong, I'd like to share that with the EEs on my team, though.
I didn’t know about hosted-MCU! I just started using the ESP-AT firmware for an ESP acting as a radio co-processor on a project at work - do you know how hosted-MCU differs?
I did glance at the readme and get the impression that hosted-MCU works for all compatible ESPs and seems more flexible and powerful, where ESP-AT is for select ESP chips and is more limited.
I keep saying this under a bunch of Linux-adjacent posts, but I switched to EndeavourOS late last year and have been enjoying it ever since.
I do 99% of my computing needs on it, with the last 1% being a second Windows SSD I only boot into to play games that require heavy anticheat (Apex Legends, Battlefield 6, Rainbow Six Siege).
Otherwise, I've been doing everything else in Linux, including all the rest of my gaming (Baldur's Gate 3, Helldivers 2, No Rest For The Wicked, Slay The Spire 2, Stardew Valley, pretty much anything that's not AAA FPS multiplayer that I've wanted to play so far, even modding games like Lethal Company using r2modman).
It's been great - I told my coworker I only realized how annoying the Windows auto-update and forced reboots were after I got used to my Linux PC always being in the state I left it.
I agree with you that some protocols were dumb. Schools should have opened windows, or added UV-C lights, or replaced high-traffic surfaces like doorknobs in large common areas with antiviral materiel, added foot-use mechanisms for opening doors, and so on. Or, if it was too expensive for any of that, asked cleaning staff to spend more time on high-transmission areas like bathroom faucets and doorknobs even if it meant less time elsewhere. But I think there's something more than just outdoor vs indoor going on.
LA County Parks is implementing following changes effective November 30, 2020:
All playgrounds will be closed.
Fitness zones and exercise equipment will be closed.
Parks and trails remain open for outdoor, passive use for individuals or members of the same household. Masks and physical distancing are required. No group gatherings are permitted
So why were public outdoor areas like skate parks filled with sand to “promote social distancing”?[1] Or parking lots at beaches and state parks closed “to curb the spread of coronavirus”?[2]
I did consider Fedora, just was intrigued by EndeavourOS, being Arch-based but with default settings that work totally fine for a casual like me, not having to fuss about setting up a DE or WM+addons, firewall, WiFi, Nvidia GPU worked out of the box, etc
Yep, my casual Steam games run well out of the box. I don’t even use a gaming-focused distro like Bazzite, just EndeavourOS. Helldivers 2, No Rest For The Wicked, Slay The Spire 2, even modded Lethal Company with friends using r2modman (also worked OOTB). And of course Discord works, including streaming when friends want to watch
If I really want to play Apex or Battlefield I’ll fire up my dual drive dual boot Windows, and in the meantime, no more Microsoft spying on me, forced Windows updates and reboots at random times, ads in my Start menu, Xbox apps and other bloatware, etc
As a kid who was a voracious reader, also called a geek by myself (cringily lol) and by others, some quotes that resonated then and still do now:
> Geek kids read many more words than they speak. As a result, when geek kids do talk, they talk like a book.
> They use fully formed sentences, complete with subordinate clauses; if you listen hard, you can almost hear semicolons and parentheses.
> Many geeks, though, speak with "-v" turned on
> In fact, many geeks are so offended by the very idea of telling others what to do that they spend all their lives in the declarative voice, and never use the imperative voice at all. These are the geeks who recoil from moving into management.
I'd recommend Katherine Dee's Substack, Default Friend, for a more in-depth look at this type of thing. The NYT op-ed dips into the usual tropes of the attention economy, true crime, copycat behavior, viral memes and social media algorithms, calls to safeguard the algorithms and AI.
Dee's article "The Nihilism of the Mass Shooter" (written in 2022, even) (https://default.blog/p/the-nihilism-of-the-mass-shooter) provides more specifics than the generalities in this op-ed. I'm a regular reader, so it's easy for me to see, but I believe that her passion about investigating and reporting on these things is visible even to a new reader. It's clear to me that she actually spends time looking at the sources, e.g. there's a link in the article to one of her sources, a pdf of the law enforcement report on a shooter from Parkland.
Is there an example of the generic programming that you've found useful?
The extent of my experience has been being able to replace functions like convert_uint32_to_float and convert_uint32_to_int32 by using templates to something like convert_uint32<float>(input_value), and I didn't feel like I really got much value out of that.
My team has also been using CRTP for static polymorphism, but I also feel like I haven't gotten much more value out of having e.g. a Thread base class and a derived class from that that implements a task function versus just writing a task function and passing it xTaskCreate (FreeRTOS) or tx_thread_create (ThreadX).
Typed compile-time computation is nice, though, good point. constexpr and such versus untyped #define macros.
I took a brief skim through so apologies if I missed that it was mentioned, but wanted to bring up the Embedded Template Library[0]. The (over)simplified concept is: it provides a statically-allocated subset (but large subset) of the C++ standard library for use in embedded systems. I used it recently in a C++ embedded project for statically-allocated container/list types, and for parsing strings, and the experience was nice.
+1 to this and your above points (the embedded team I'm on has started using C++ over the last year or so).
I've definitely learned a lot, and I like the portability of CMake for cross-platform use (our team uses all 3 of Windows, Mac, and Linux). My experience sounds much like yours: there've been a lot of times where using the vendor's flavor of Eclipse-based IDE (STM32CubeIDE, Renesas e2studio, etc) would have saved us a lot of discovered work, or extra work adapting the "happy path" to CMake and/or C++.
Using C++ and/or CMake is fine when it's part of the happy path and for simpler things e.g. STM32CubeMX-generated CMake project + simple usage of HAL. For more complex things like including MCUboot or SBSFU, etc, it's forced me to really dig in. Or even just including FreeRTOS/ThreadX, we've created abstractions like a Thread class on top -- sometimes it's nice and convenient, others it feels like unnecessary complexity, but maybe I'm just not used to C++ yet.
One clear, simple example is needing to figure out CMake and Ninja install. In an Eclipse-based IDE, you install the platform and everything Just Works(tm). I eventually landed on using scoop to install CMake and Ninja, which was an easy solution and didn't require editing my PATH, etc, but that wasn't the first thing I tried.
AO3 also allows downloads of different formats including epub. I often download the epub (or use fichub for other sites) and read on the Epub Reader app. If I want to read on my Kindle app or my physical Kindle, I'll send the epub to my Amazon library via email.
Former band kid who also just got a digital keyboard. Ime learning to read the staff just came from putting in the time on the instrument, but I’m also looking for ways to speed that up. I had the idea of making flashcards and even putting it into an SRS like Anki to see if I can make the process of (re-)learning the staff faster and make it stick. If you come across anything that would help I’m interested too!
I just switched to EndeavourOS for 95% of my home computer needs last week (I left my Windows install on a separate drive for gaming and especially those that require super invasive anticheat, e.g. AAA multiplayer FPS) and it has been a wonderful experience so far.
Would creating a `main.py` with the dependencies installed either as a uv project or inline work for you?
One thing I did recently was create a one-off script with functions to exercise a piece of equipment connected to the PC via USB, and pass that to my coworkers. I created a `main.py` and uv add'ed the library. Then when I wanted to use the script in the REPL, I just did `uv run python -i main.py`.
This let me just call functions I defined in there, like `set_led_on_equipment(led='green', on=True)` directly in the REPL, rather than having to modify the script body and re-run it every time.
Edit: another idea that I just had is to use just[0] and modify your justfile accordingly, e.g. `just pything` and in your justfile, `pything` target is actually `uv run --with x,y,z ipython`
Edit edit: I guess the above doesn't even require just, it could be a command alias or something, I probably am overengineering that lol.
Steam+Proton makes everything I play just work: Helldivers 2, Slay the Spire 2, No Rest For The Wicked, FF7 Remake, Stardew, modded Lethal Company (using r2modman) are the main things I've been playing recently, and all worked out of the box with Proton.
My PS5 controller may have needed me to install one package or something but has been working flawlessly after that.
I keep a Windows drive around for stuff like Apex Legends, Battlefield 6, but I pretty much never boot into Windows anymore except for those.
(I probably sound like a shill at this point, having commented something like this on multiple Linux threads now, but I continue to be impressed at how well Linux performs for gaming these days!)