• 4 Posts
  • 86 Comments
Joined 3 years ago
cake
Cake day: June 8th, 2023

help-circle
  • Sometimes I feel embarrassed, because people see me, see that I’m female, and I worry they automatically assume I’ve got a rotting crab factory somewhere.

    You can stop worrying, this never happens. Nobody is going around assuming people will probably smell like fish at normal social distances because of their sex. That’s not a thing.

    Do people think vaginas in general might smell like fish, like if you go and stick your nose in one? Yeah, that’s a common factoid or comparison. But anybody who is looking at you and thinking of what your crotch might smell like at a distance of 2cm is not someone you want within 100m of you anyway.

    If it really bothers you, take up some kind of smelly shampoo or perfume or something. Then you can know you are thought of as “the person who always smells like peaches” or whatever.




  • Meshtastic’s not really a company exactly. MeshCore exists if you don’t like it.

    Semtech does IIRC have patents on and make all the LoRA chips. But the patents will expire eventually, and the LoRA chips they make are well-behaved modules that do what you tell them and not locked-down bits of nonsense that are a pain to work with. The data sheets for the modules are easy to find, and you’re not stuck messing around with firmware blobs you need to load into things. You can get boards with the Semtech radios on them from a whole bunch of manufacturers. You’d be hard-pressed to find a competing radio tech with modems available at a similar price point that we “should” be using instead.

    And while the ability to use any link for e.g. Reticulum is nice, it also means that without coordination you have no idea what link you should use, and so you can never see anyone because you have no idea what technology or even what LoRA channel to look for peers on.

    And Meshtastic now can go over UDP anyway.




  • You have methods that amount to making yourself an online job, or an offline job with a lot of online communication (independent software contractor, commission artist, author, sex worker, online course teacher, Etsy knit hat manufacturer, etc.).

    You also have various flavors of capitalism, which may not count, as you did say “legitimate”. But if you already have ten million dollars, you can spend lots of time researching stocks and evaluating pitches for businesses and maybe get a better return than you would otherwise, all online.

    And then you have merchanting, wholesaling, or furniture-flipping type approaches: buy stuff online, refurbish it or repackage it in smaller quantities, translate all its documentation correctly, vouch for its quality and fitness for purpose, take nice photos of it, market it, sell it, deliver it, and support it.





  • You should definitely get off of Rumble; I think it’s full of Nazis.

    I think there was some kind of crypto-themed thing that was LBRY and also Odyssee at the same time, but that might have been infested by Modern Crypto Nazis also.

    There are the centralized YouTube competitors like Vimeo and DailyMotion.

    If really your priority is the availability of a large audience and a slick mobile app, you want the centralized social media platforms: Tiktok, Facebook, Snapchat, Instagram, X. Also often full of Nazis, or under the direct personal control of individual billionaires, who may themselves be Nazis.

    Honestly I recommend trying to do something other than reach a large audience that someone else has already herded onto a platform. Mark Zuckerberg may see fit to bless you with many views and complementary bot comments, but why would he? Trying to make videos for a lot of people to see, without controlling your own distribution and advertising, is a long, almost certainly unsuccessful, and hence unrewarding slog. If you aren’t making stuff for its own sake, you won’t get there, and if you are making stuff for its own sake, it won’t matter when you don’t get there.


  • One thing that might help is having a broader background in the field and its concepts. If an interview question can feature a bunch of concepts you’ve never heard of, you might have missing bits of background you could learn more about to fill in gaps. You could go from “I have no idea what a hadoop is or what it’s for” to “I know people like to use Hadoop for X and it works basically like Y but I’ve never used it myself” pretty quickly.

    Anyone useful as a computer-related employee is still going to encounter problems they don’t immediately understand on a daily basis, though. You need to be able to happily and confidently say “I have no idea what X is, what is that?”. An interviewer will be happier to get a clear idea of what you don’t know than to see you struggle to pretend to know things, because someone who pretends to know what they don’t is a danger in a real workplace. And maybe they’ll actually teach you enough to let you solve the problem, or, failing that, to be able to answer the next interviewer who asks you about that thing.



  • This is honestly a lot of the problem: code generation tools can output thousands of lines of code per minute. Great, committable, defendable code.

    There is basically no circumstance in which a project’s codebase growing at a rate of thousands of lines per minute is a good thing. Code is a necessary evil of programming: you can’t always avoid having it, but you should sure as hell try, because every line of code is capable of being wrong and will need to be read and understood later. Probably repeatedly.

    Taking the approach to solving a problem that involves writing a lot of code, rather than putting in the time to find the setup that lets you express your solution in a little code, or reworking the design so code isn’t needed there at all, is a mistake. It relinquishes the leverage that is very point of software engineering.

    A tool that reduces the effort needed to write large amounts of human-facing, gets-committed-to-the-source-tree code, so that it’s much easier and faster than finding the actual right way to parse your problem, is a tool that makes your project worse and that makes you a worse programmer when you hold it.

    Maybe eventually someone will create a thinking machine that itself understands this, but it probably won’t be someone who charges by the token.







  • Computers have systems (BIOS, EFI, ACPI) that give the people who make the machine responsibility for providing a standard, publicly-defined way for the OS to enumerate the hardware, and to use the hardware in a basic way even if the OS has never heard of it. Linux can get a kernel panic on the screen even if it has no idea what your GPU is, because EFI understands it and Linux understands EFI. It is set up this way partly because there’s a real possibility of hardware being added or removed, partly because people routinely mix and match parts, and partly because IBM mistakenly designed a good system that was easy to work in and not one that kept them in business.

    Phones (and phone-derived systems like the Raspberry Pi and other single-board computers) don’t implement a standard. The hardware and its boot process assumes tight integration between the hardware and the software, usually to the point where the bootloader refuses to load anything not signed by the device manufacturer, unless it is satisfied that it has been given that manufacturer’s permission to be unlocked. (Computer secure boot implementations generally trust, for example, Microsoft, as well as the machine owner, who can load their own keys.)

    Instead of the CPU developers releasing example EFI implementations, they release forks of the Linux kernel that they maintain as long as that chip is the latest chip they sell, and then fork off the mainline kernel again for their next chip. And the device makers ship devices by starting with the chip maker’s kernel, customizing it for the device, giving it a “device tree” that tells it everything that is supposed to be in that particular device, and shipping it. For a few years they port patches from the current kernel onto this forked kernel, and then they stop. With no standard to develop software against, and no documentation for what’s in a device and how to use it like there is for the standard’s interfaces, the only practical way to run software on a device is to start with that patched kernel.

    Mainline Linux refuses to adopt and maintain the chip and device makers’ low-quality, chip-and-board-specific kernel changes (often because they break the kernel for other uses), so you can’t generally use a mainline Linux kernel instead. If you tried to tease out and improve the device-specific patches to the point where mainline Linux would take them, the device would be hopelessly outdated by the time you were done and you would have dozens of job offers to occupy your time as a highly skilled embedded Linux developer. The work is not practical given the tiny number of people who would benefit from it for a particular device, and how little it pays off compared to just buying a new device with a more up to date forked kernel available.

    “Maintaining” a device for LineageOS or other open software eventually collapses under the weight of mainline Linux’s changes and the necessary chip and device maker patches no longer being practically reconcileable.



  • I think to test it you’d need to do some kind of comprehensive analysis, something like a big spreadsheet of a convincingly unbiased sampling of states (or states-at-points-in-time), evaluated for libertarianism-vs-authoritarianism. But you’d need to have a way to distinguish whether differences between states were caused by inherent per-state effects (or by more mechanistic runs-with-the-state traits, like “having a written constitution” or “being a monarchy”), or by “circumstances”. So you’d need a way to measure plausibly-causitive circumstances and then see how much of the variance they explained.

    It’d be a big project and hard to do in a controlled way across a large enough sample, but if you sent enough history grad students out to rate things like “worker organization” in 1925 Germany and “protections for human rights in constitutional law” in 1975 New Zealand on 5-point scales, you might be able to get a data set that could answer this question.