

Ask Randall Monroe.
Linux gamer, retired aviator, profanity enthusiast
Ask Randall Monroe.
I have a Rio Volt SP-250. A CD-MP3 player I’ve had since 2001. The in-line remote died somehow but the unit itself works flawlessly and is in excellent condition. It runs on AA batteries; originally they were rechargeable but they were Ni-MH cells. I don’t know where its charger went, but I can run the thing on Alkaline batteries or charge Eneloops in a separate charger.
It long outlasted the iPod it replaced and is still serviceable to this day.
Hobby: Video gaming.
Try to determine what kind of video game a movie character is playing by what they’re doing to the controller.
The only other package even remotely compatible with Linux is OnShape and their licensing terms are a non-starter. Frankly so are AutoDesk’s.
Why the fuck should an end user of mechanical engineering software know how to use Git? Does Blender leave entire features completely undocumented expecting their audience of 3D animators to write their APIs for them given nothing but the app’s source code? Does GIMP? Does KDENLIVE? Does Arch Linux? Hell no, Arch has a massive and detailed wiki. Imagine if there just was no documentation for how to script in Bash and the Arch devs were like “Oh yeah think you could write that for us? You know, while you’re trying to get something fairly basic done?”
Okay, how much effort should an end user be expected to put into learning how to use software? The standard used to be RTFM. Oh us Linux users get bitched at when we tell people to RTFM.
Well I Read The Fucking Manual. The macro scripting API isn’t anywhere in The Fucking Manual. You ask how you’re supposed to learn how to use a feature that isn’t in The Fucking Manual, and you get asked why you haven’t Written The Fucking Manual.
You’re told “The Python console has a help feature. Type help() to enter the help mode.” Yeah, that’s a standard feature, here’s the thing: It’s broken in FreeCAD. If you type anything at the help prompt, it exits the help system. You can’t get a list of modules to browse it that way. So you have to know the name of the module that the function you’re looking for is in. Somehow.
I think it’s somewhere around this point that the end user has done what tehy reasonably should have and the ball is in the developer’s court. There is a difference between “Hey it would be great if you guys could help us flesh out the tutorial section on our website a bit!” and “We outright refuse to document our scripting API in any way, if the busted automated help system isn’t good enough, you write it.”
I’m not Writing Their Fucking Manual for them. That is utterly insane.
They have what looks like documentation. That manual is out of date and incomplete.
FreeCAD exposes a Python console as an end-user feature. It has a macro recording system for automating repetitive tasks, much like MS Office does, it uses Python as a scripting language. Can you show me an API reference for this feature?
I want to write a macro that will insert some text into the cell of a spreadsheet I have selected. Click a cell, click the macro button, and it puts some text into that cell. It can do this. There are macros published that do this kind of thing. Show me where in their published documentation the functions necessary to do that are described.
They don’t help people in that forum. For some reason, FreeCAD’s forums default to English, but no one in the community speaks English as a first langauge. So you ask a detailed technical question, and some French guy babelfishes a couple of the key words and posts a random paragraph about the workbench you mentioned and a random unrelated code snippet. I’ve paid to have someone help me work on this software, that went nowhere.
I’m pretty sure I can demonstrate that doesn’t work; people have donated more money to the project than I’m capable of giving alone and that didn’t bring about usable documentation. The definition of insanity is watching other people fail and then doing exactly what they did.
Once again, “I don’t understand this, I guess it’s up to me to explain how it works.”
I didn’t go to software engineering school. I went to flight school. Reading and understanding the source code of an application as large and complex as FreeCAD is outside my skillset.
I’m a flight instructor. I can and have taken people from never having flown a plane before to licensed pilot. You want me to teach flight school, you’ve got to give me the plane’s POH. It is not my job to write the Pilot’s Operating Handbook. It is my responsibility to teach students how to read it.
You get me good documentation for this software I’ll create and publish a course on parametric furniture design. But I’m not going to sift through source code trying to figure out how to write a macro any more than I’m going to pull the panels off a Cessna and trace wires to figure out what the switches do. That is the responsibility of the people who made the damn thing.
You know what? That’s okay, I’ll just switch operating systems to Microsoft Windows or Apple MacOS and start using Autodesk Fusion360, paying hundreds if not thousands of dollars on a recurring basis to at least two American corporations that directly support the rise of fascism. I’ll be directly financially supporting everything from AI slop to the abduction of academics in broad daylight but just think of the fives of minutes I’ll save over the next decade drafting cabinets.
Okay, let me ask you this: Why would the developers of FreeCAD demand their documentation be that inefficient and poor quality?
I mean, we’ve got two options here:
Option A: The developers of the software, the people who already know how to program at the application level, who are already familiar with at least some of the codebase, could write down what all the features are and what they do. Armed with that basic documentation, power users, folks who are specialists in using this class of software for its intended purpose, can create tutorials and coursework to teach people how to make projects in it, or create and share useful macros and extensions and whatnot, building the ecosystem, of our app specifically and FOSS software in general…OR
Option B. We can get weirdly pissy about it and insist that those end users, people who don’t have a need in their lives to know how to write software applications but do have a need in their lives to use mechanical engineering software, to gain enough proficiency in not one but two programming languages to examine the source code to figure out how it works and write the documentation themselves. The best case scenario here is it wastes a whole lot of manpower of competent coders who now have to read and familiarize themselves with someone else’s codebase. Meanwhile, a lot of smaller contributions that end users would have made get abandoned because the support they need to do that deliberately doesn’t exist. So adoption of our app specifically and of FOSS in general chills, we continue to maintain FOSS’ reputation as unusable garbage made by damaged nerds, and the people will continue to say “I would switch to Linux but I need functioning CAD software for my job/hobby so I’m going to have to keep making large recurring payments to corporations like Microsoft and Autodesk who directly support the rise of fascism in the West.”
OPTION FUCKING B IT IS.
“I don’t know how this works. I guess I’ll have to be the one to explain it.”
E. Pink car turned turn signal on before entering the circle, keeps turn signal on all the way around the circle, thus invalidating any method of informing other drivers of which exit they intend to use. Car E deserves rapid unplanned orthodontics.
You want to play a fun puzzle game? Go figure out how to get basically anything done with the macro/scripting system. The app exposes a Python console to the user and they didn’t bother to publish an API reference so you’re left resorting to the “dangle a cat from a string and hit it with a stick to see what falls out” method of veterinary school. Why is being open source an accepted excuse to force users to attend Pinata University?
How am I supposed to write the documentation for software that I have no method of learning how to use?
What do you think Gnome Seahorse does? What utility function does that small piece of software perform, based on its name? I’ll give you a hint: It directly competes with KDE’s Kleopatra. Did you guess GPG and other encryption key generator/manager? Because that’s what those are for. Not sure how KDE kissed “Keyring.”
I’m not sure if it’s Gnome that started it, but file managers often have a nautical theme. Gnome Nautilus, Cinnamon Nemo, KDE Dolphin…
This post is the first I’ve heard of this, and I’m confident in declaring it pseudoscientific bullshit.
I present to you: The Carrington Event. In 1859, the Earth was directly hit by a coronal mass ejection from the Sun. This caused the strongest geomagnetic storm in recorded history. Miners in the American rocky mountains woke up in the middle of the night because the Aurora Borealis was so bright they thought it was morning. Currents induced in telegraph wires caused sparks and fires. A telegraph line from Boston Massachusetts to Portland, Maine was able to operate for hours with no power connected at all; the geomagnetic storm induced enough current in the telegraph lines that the operators were able to pass traffic for hours without any batteries connected to the circuit at all.
There is no mention of people dying from unexplained heart attacks at the time. If solar or geomagnetic storms could magnetically disrupt blood flow, you’d think the largest geomagnetic storm we know of would have been associated with an uptick in recorded cases. But it isn’t.
THAT SAID. I do believe that solar flares, CMEs or other such events can and do have an effect on the health of organisms on Earth including humans. I spent most of my time in aviation meteorology class studying the troposphere so my understanding of the high atmosphere isn’t as strong, but…bombard the high atmosphere with particles from the sun, some chemistry can happen which disrupts the ozone layer, more UV light makes it to the surface, and we get more sun burns and skin cancers. However, as far as I can tell, Thomas Midgley Jr. had more of an effect on the ozone layer than any recorded solar flare has.
I had a nightmare once made mostly or entirely out of assets from Ocarina of Time.
I found myself in an underground room of some kind, just a large space made out of that brown dirt wall texture. There was no entrance or exit, the room was maybe the size of a large classroom or two, maybe 30x40 feet? Along one wall was a low rise, with the light grey stone wall texture behind it, two braziers providing the only light in the space, and a kind of gallows/gantry thing made out of those large wooden beams you see Beneath The Well. One upright member supporting a horizontal swingarm, and from the end of the swing arm dangled a noose.
Standing beneath the noose was a tall, thin figure. Thinking about it now I picture it as a ReDead enemy but I don’t think that’s what it actually looked like. It made no sounds at all. It walked like a ReDead does though; that slow labored trudge. It started trudging toward me, and as it did, the gantry moved to keep the noose hangling about a foot directly over its head, making the noise from the Castle Town draw bridge as it moved.
It followed me around this room for a bit, I couldn’t move very fast, like my body wouldn’t respond right. I tried to say something but I couldn’t summon up any power.
I woke up in a cold sweat with my girlfriend asking me what was wrong. Did I mention I was 27 years old at the time?
The novelty of my brain using N64 graphics for this, along with the weirdness of the noose hanging over the figure and not actually around his neck, burned it into my memory.
I’ll also never forget the first lucid dream I had. I was on my grandparents’ back deck, talking to several members of my family. My grandmother’s dog Ginger started barking over us, as she constantly. I started to say some smartass line to the dog, starting with “Ginger, you shouldn’t bark because…” and then a thought occurred to me. “…Because you’re dead…we put you down last year, and dead dogs don’t…bark I must be dreaming.”
The dog and the people disappeared. Just…despawned. Everything got less vivid and my peripheral vision disappeared. I could see what I was directly looking at, or a blank beige color. I walked around the yard for a minute in a perfectly familiar and yet empty world, everything simultaneously had a kind of dark “before an afternoon thunderstorm” kind of look and that blank beige color, and after a minute or two I woke up.
I hadn’t heard of lucid dreaming before this, and in fact not until a couple years after the fact. I spent a couple years really interested in the subject when I did, and managed it a couple more times. Some people talk about having “control” of the dream, for me, I usually realize I’m dreaming, it immediately starts to fade, and I’m able to just walk around and look at stuff for a little bit before I wake up.
I’ve got an old Dell XPS system from 2010 with a Core i7 970 in it that runs Mint perfectly well.
9/10ths of a cent. It’s part of the tax.