Hi Folks.
At this stage, I am technically neither completely gone from Pub0x, nor back from a hiatus. My existence here is in some sort of intermediate/indeterminate state, like Schrödinger's cat. I'm waiting for my My Lot account to be restored so that I can post discussions there again. I don't know if it's a browser issue or permissions that need to be granted. (I've sent a message to Alice, the admin/owner, informing her of my problems. At least that functionality seems to be working for me.) I haven't yet got around to investigating other for-pay blogging/writing sites in much detail, although I really should get on that before the end of the month.
ArduinoIDE-PyQt and IRC
Yesterday, I learned that the Arduino IDE (or at least version 2), downloadable from the main Arduino site, is built using Electron and Node. That's a discovery about which I'm not at all happy. (Eww, Google tech stack in a supposedly open-source project!) Now, given that the IDE is basically a frontend interface to/wrapper around a text editor that highlights C/C++ syntax (such as vim or emacs), gcc, avrdude and a serial terminal (such as kitty or smartty), it should be possible to either replace it with these individual applications OR build a frontend interface (using subprocess or similar) in a different language with a different framework/toolkit (such as C/C++, C#, Nim, Python or vimScript, possibly with Gtk+, Qt 5/Pyside 2/Otherside, charva, ConsoleDraw, ncurses, pdcurses-Mod, notcurses or urwid). I don't want to learn node and/or electron if I can help it, especially not just for that (although I probably should learn them anyway). At least the IDE is open-source, so it's possible to look at/through the code and convert it to something else or write something compatible.
To that end, I searched the 'Net for an alternate tech stack for an Arduino IDE (because surely I'm not the only person to have this idea). However, the only thing I've found is "ArduinoIDE-PyQT" on GitHub, a project with the last commit dated around fourteen years ago. As far as I can tell from a brief look at it, it's "in a pre-alpha state" according to `README.MD`, uses Qt 4 and Scintilla (woot!), has no releases and looks very much like a skeleton that the developer(s) abandoned after losing inspiration. (Apparently, he/they is/are contactable in the #Arduino channel on irc.freenode.com, so I'm trying my luck by reaching out there, in the hope of getting some clarification.) If that's the case (my assumptions/suspicions are correct), I am happy to fork the ArduinoIDE-PyQT project and continue its development. Alternately, I'll see if I can make headway going the CLI route, then build something TUI-based (because I like TUIs, having not yet completely made the switch from GUIs to CLI). Finding, listing and installing Arduino libraries through it might prove to be one of the more difficult aspects (although I'm hoping that looking at the IDE's code and writing an equivalent using urllib3 and/or requests proves otherwise).
I've been looking into using IRC recently, since I learned that the Nim chat channels/groups on Discord, Matrix, Slack, Telegram and Twitter/X pretty much all link to/relay content to each other. I really don't want to be involved with Discord or Twitter/X if I can help it. (I've installed Mumble, but am yet to try it out, mainly due to time constraints and not having a line-in jack on my PC. I've made a custom audio splitter for headphones, which splits that line in two. This is so that I can record both what I and others say. One of the problems I had with Discord is that I could record my voice, but others were muted on playback. Apparently, that's a "privacy/security feature" of Discord that isn't over-rideable, even when I had the explicit consent of others to record our conversations and they were aware of me doing so.) The whole setup of relays for Nim seems really fucking stupid to me, since it's mixing secure channels/protocols (such as Matrix) with insecure ones (such as Discord and Twitter), not that IRC is secure unless sending encrypted DMs to individual participants and vice versa. However, IRC seems to be the only one that isn't connected to the others (or, at least, content comes in from the others but doesn't go back out to them if I understand correctly.) Besides, being able to use IRC should increase my general tech cred. #CanUseIRC Maybe I should put that on my CV ...
The other options seem to be plugins/packages for Eclipse IDE and JetBrains' CLion. (I've tried searching for the plugin in PyCharm CE, but no dice.) If I'm not mistaken, the Jetbrains IDEs also use Electron (and CLIon costs a whack, anyway). Ho-hum, what fun!
I've been working on creating a REPL/tiny OS for Arduino Due, Mega and more advanced boards, because the Linux-running Yún costs more than a BeagleBone Black and building an OS might be fun. (Another curerent project, which I hope to include, is an interpreter/transpiler for BrainFart, a small esoteric language Ive based on Brainfuck, but with some additional syntax to make life a little easier for developers). I really want to get back into doing electronic projects and making doodads. I really don't want the choice of IDE/tools to be something that stands in my way.
Update #1
Further investigation (mostly by happy accident) has revealed that there is a CLI version of the Arduino software, available as a prebuilt binary/MSI for Windows and a bash installation script for both GNU/Linux and OSX.
Update #2
Looking through error messages in the developer console and disabling plugins for Firefox revealed that the culprit was the Hive Keychain wallet. Since I dislike Hive, seldom use it and discovered the plugin uses Node.js, I removed it. I'm now back to posting discussions on My Lot, so you can expect to find more of my inflammatory/offensive rants there for as long as I'm tolerated and not banned (again). At least Pub0x allows me to post links to other sites, which is strengtens verboten on My Lot. Falling foul of that is what got me banned from My Lot in the first place. Since it does allow me to post images, I wonder if QR codes obscured behind multicoloured wavy lines (like you get in SolveMedia verification text) are a loophole I can exploit ...
In other news
I managed to get KeePassXC installed and running through flatpak/flathub (instead of snap) on my GNU/Linux machine. I've yet to fully test it by importing and accessing entries from a DB, but I'm hopeful that I won't need to create a port of it; it'll just be a project undertaken for fun and because I like TUIs.
Thumbnail image: Screenshot of Arduino IDE v2 running on Windows 10 as a portable app