was tearing my hair out yesterday for HOURS trying to diagnose a programming bug last evening. i went to sleep, woke up, had a cup of coffee, looked at it for literally 5 minutes, and fixed it immediately
if youre a newbie programmer, the best advice i can give you is just... go the fuck to sleep honestly
The more tools you know, the easier each tool is to pick up, because there is a vast hidden overlap between all fields that only becomes noticeable when you master multiple. (This is less true of messy languages like C++ where most of the complexity is incidental -- stuff like memorizing accidental inconsistencies introduced by the language design committee forgetting previous features.)
I think you're misunderstanding the term "Software Engineering".
It doesn't mean making good quality software. It means mass-producing software of predictable quality at predictable deadlines. The manglement turns down the quality knob until the cost-time tradeoff is acceptable, and then hits the "START" button.
What I'd like kinds to is Software DIY. Or, IOW, hacking.
A look at recent soil science - exploring ways to improve soil health and the amazing, but still often overlooked **even by soil scientists**, impact soil micro-organisms play in regulating the planetary ecosystem. https://lachefnet.wordpress.com/2018/03/25/its-the-soil-biology-stupid/
Would it change the social psychology of social media if we replaced the terms "follow" and "followers" in the UI with "listen" and "listeners", or "read" and "readers", or some other set of terms with a less ... well ... culty ring to them?
But, at small scales, the effect of anything is less important. So, it's not that Small Computing is anti-quality or anti-craft, but that any failure of quality or craft in a Small Computing context is not multiplied by a million identical installations, so those failings are more acceptable.
In an attempt to simply the terminology in the fediverse, I propose we start referring to "instances" as "neighborhoods". Here's a short pitch:
Each neighborhood: * Has its own set of rules. * Has its own "guard" (sysadmin) that makes sure there are no incidents. * Is usually (but not always) focused on a common theme.
You can send an update to: 1. A specific person. 2. Your own neighborhood. 3. Entire network.
IMO this proposal would make things about 30% easier to understand for newcomers.
Many people use Markdown not just because the formatting is convenient to write, but also because it is itself human-readable. Consequently, it's also used as a plain text alternative to e.g. HTML-rendered text. I read a lot of things in plain text, so I see plain Markdown frequently.
One of the worst things you can do for legibility is to place URLs inline---it obscures the text, especially if there's a lot of them. Instead, use a reference (ideally numeric), of the form "[foo][n]".
Then, rather than placing all URLs at the bottom of the document, please them below the paragraph that references them. Not only does this reduce scrolling, but it also allows easily copying/pasting portions of the text while keeping the references intact, which is especially convenient for quoting.