• 0 Posts
  • 43 Comments
Joined 3 months ago
cake
Cake day: August 15th, 2024

help-circle
  • The two apps are identical and built from the same codebase anyway. K-9 is just a branding asset swap.

    I’ve seen conflicting info from Thunderbird devs on how long they actually intend to keep both branding packages active. I’ve heard no longer than a year. I’ve heard only as long as it takes to get Thunderbird out of beta. I’ve heard they have some sort of agreement with FDroid that obligates them to keep it listed for some minimum duration of time (???). I’ve most recently heard indefinitely, because their build script is just a toggle now and it costs them nothing. Which one do I believe? I have no idea. I doubt K-9 will be kept around in perpetuity, though.



  • There’s actually no digital audio involved anywhere in this process. It’s all analog.

    A magnetic tape cassette holds raw wave data of the sounds it records. Just like a vinyl record, except the groove is in the magnetic field instead of physically etched into the surface of the tape, and the needle is an electromagnet instead of, well, a needle.

    An audio cable using a standard 3.5mm jack also transmits raw wave data. It has to, because the electromagnetic pulses in the cable are what directly drive the electromagnets in whatever speakers they’re hooked up to. If it’s coming out of a digital player, the player has to convert the signal on its own using an onboard digital-to-analog converter (a DAC).

    The neat part is that since a tape deck read head is looking for an analog wave signal, and an analog wave signal is what an aux cable carries, the two are directly compatible with one another. If you actually crack one of these tape deck hacks open, you’ll find the whole thing is completely empty, save for the audio cable wires going directly to the write head that mimics the tape. Beyond that, there’s no conversion equipment, no circuit board, nothing. It’s a direct pass-through.

    The body of the thing is nothing more than an elaborate way to trip all the mechanisms in the tape deck to trick it into thinking it’s holding a valid cassette, while simply holding the write head fixed in the proper spot.

    I’m sure you already know all of this. I just think it’s really cool and I enjoy talking about it. Analog tech is amazing.




  • I guess, in a very liberal definition of the term, “cloud gaming”. Specifically the old LodgeNet systems in hotels where you could rent Nintendo games by the hour to be streamed to your room from a physical console somewhere behind the front desk. Every room had a special controller with oodles of extra buttons on it hardwired to the television that also functioned as television remotes.

    The service was objectively awful, of course, when factoring in how much the hotel charged compared to what little you got for it. But I’ve always found it fascinating.


  • It’s “I am working” not “I be working”.

    From how it’s used and understood, it’s a lot closer to, “I am in a situation where I find myself working from time to time”. “I am working” suggests you’re doing it right now, “I be working” does not. This example is a unique, condensed way to convey a very specific idea that your idea of “proper English” cannot convey without a boatload of extra words.

    If that’s still bothersome to you, well, I guess have fun kicking that proverbial land-crawling fish back into the sea if that’s where you get your jollies. IMO some prescriptivism is okay to get people on the same page, but the moment you use it as a cudgel to beat people who are very clearly already being understood, you’re being a prude.





  • The more egalitarian principle would be to not assume. I won’t deny that. People from more minority locales have every right to be upset at being marginalized.

    But at the same time, whenever I read passive aggressive comments on socials from residents of crown countries or from EAASL people around the world bitching about US defaultism as if people are doing it just to be ignorant dicks, I can only think to myself, “Uhh, hello? What do you think the demographics of this space were? What did you expect?”

    Americans are hardly the majority of the world’s English speakers, but for all the reasons you listed, they tend to remain a massive plurality, if not an outright overwhelming majority, of any mainstream online English language platform. No, that’s not a license to perpetuate US defaultism. But like… read the room, people. Your good fight is far more uphill than you seem to think it is.



  • For anyone who was using K-9 wondering why Thunderbird looks no different, it’s because they aren’t different.

    They build both apps from the exact same codebase. Only difference between the two are the default color scheme, the branding icons, and the text strings of the application’s name. It’s literally just a choice of which brand skin you prefer.

    Which, honestly, kinda cool. A virtually zero-cost way to keep a few K-9 stans happy.



  • pixelscript@lemm.eetoProgrammer Humor@lemmy.mlComenting code
    link
    fedilink
    English
    arrow-up
    0
    ·
    edit-2
    1 month ago

    I recognize three kinds of comments that have different purposes.

    The first kind are doc block comments. These are the ones that appear above functions, classes, class properties, methods. They usually have a distinct syntax with tags, like:

    /*
     * A one-line description of this function's job.
     *
     * Extra details that get more specific about how to use this function correctly, if needed.
     *
     * @param {Type} param1
     * @param {Type} param2
     * returns {Type}
     */
    function aFunctionThatDoesAThing(param1, param2) {
        // ...
    }
    

    The primary thing this is used for is automatic documentation generators. You run a program that scans your codebase, looks for these special comments, and automatically builds a set of documentation that you could, say, publish directly to a website. IDEs can also use them for tooltip popups. Generally, you want to write these like the reader won’t have the actual code to read. Because they might not!

    The second kind is standalone comments. They take up one or more lines all to themselves. I look at these like warning signs. When there’s something about the upcoming chunk of code that doesn’t tell the whole story obviously by itself. Perhaps something like:

    /* The following code is written in a weird way on purpose.
    I tried doing <obvious way>, but it causes a weird bug.
    Please do not refactor it, it will break. */
    

    Sometimes it’s tempting to use a standalone comment to explain what dense, hard-to-read code is doing. But ideally, you’d want to shunt it off to a function named what it does instead, with a descriptive doc comment if you can’t cram it all into a short name. Alternatively, rewrite the code to be less confusing. If you literally need the chunk of code to be in its confusing form, because a less confusing way doesn’t exist or doesn’t work, then this kind of comment explaining why is warranted.

    The last kind are inline comments. More or less the same use case as above, the only difference being they appear on the same line as code, usually at the very end of the line:

    dozen = 12 + 1; // one extra for the baker!
    

    In my opinion, these comments have the least reason to exist. Needing one tends to be a signal of a code smell, where the real answer is just rewriting the code to be clearer. They’re also a bit harder to spot, being shoved at the ends of lines. Especially true if you don’t enforce maximum line length rules in your codebase. But that’s mostly personal preference.

    There’s technically a fourth kind of comment: commented-out code. Where you select a chunk of code and convert it to a comment to “soft-delete” it, just in case you may want it later. I highly recommend against this. This is what version control software like Git is for. If you need it again, just roll back to it. Don’t leave it to rot in your codebase taking up space in your editor and being an eyesore.


  • Easily my vote for the most unweildy named concept in software development.

    It always reads like a typo of memorization. Not exactly an accident, of course. Memorize is memory + -ize, while memoize is memo + -ize, and memo is short for memorandum, which comes from memory. Both terms refer to some kind of storage and retreival of information. The similarities are deliberate.

    My gripe with it is that memo in my head exclusively refers to a one-paragraph email sent to my company to notify me about something. Not remembering something. Definitely not the very specific case of linking input parameters to results of pure functions.

    So we have this made-up word that looks suspiciously like an existing word that is related and means something related but is not the same thing, and the words it is actually adapted from don’t mean the thing it’s supposed to mean. Thanks, I hate it.

    Really ought to call memoization what it what it really is. Lazy-loaded lookup tables.




  • pixelscript@lemm.eetoLemmy Shitpost@lemmy.worldEmpires fall
    link
    fedilink
    English
    arrow-up
    4
    ·
    1 month ago

    I still won’t forgive Shopko for consuming Pamida and ultimately taking the remnants of Pamida down with it.

    I’m surprised to see on Wikipedia that Shopko actually owned Pamida basically the entire time I was growing up, they just ran it independently. They even broke up breifly before re-merging later. The second merger sent it all to shit, though. “Shopko Hometown” my ass.


  • Fellow tattooless here. Uh, neither?

    I simply don’t see the appeal of putting on something I can’t easily take off if I wanted to, for its own sake. Yeah, tattoos aren’t permanent, a removal process exists. But they cost money and require an appointment to be rid of, on top of the investment of time, money, and pain to buy in. The barrier to entry and the barrier to exit are both too high for my liking.

    Ideally you get a tattoo and enjoy it for life. I can’t commit to that kind of decision. Not for a funny body picture. If I need a memento to cherish memory of a thing or event I’ll get a tchotchke or something.

    I have no complaints about others’ tattoos. They’re more often than not incredible works of art.