• 5 Posts
  • 284 Comments
Joined 3 years ago
cake
Cake day: January 23rd, 2022

help-circle

  • vim isn’t required for any files, you just followed online tutorials for how to edit those files instead of RTFM

    terminal text editing is convoluted because it has to strike a balance between figuring out when a keypress is part of the text you’re typing, vs when it’s a command you’re using, and making sure that all the editor commands the designer wanted are accessible.

    vim is great because it allows for thousands more editing commands and macros, and much more customization of the editor, up to allowing plugins that emulate other functionality. As it stands, my setup basically functions as a full, lightweight-ish, multi-language IDE that rivals Emacs or Visual Studio.

    On top of all that, I don’t have to move my hands away from the homerow of keys to navigate or edit, which may not seem like much, but adds up to a lot of avoid typos and time saved from moving my hands to reach the arrows/delete/home/end/pgup/pgdn.

    Some examples:

    h, j,k,l move left, down, up, and right respectively, but they can be combined with a number to move that many rows or columns; e.g. 6j will move down 6 rows

    dd deletes a line, but using a number + d + a movement will delete that many characters/lines in the path of the cursor: e.g. 34dl will delete 34 characters to the right of the cursor, 12dk will delete 12 lines up.

    gg will take you to the first line, G will take you to the last, and number + either will take you to that line: e.g. 3275gg or 3275G will take you to line 3275

    and finally you can use /text or regex pattern you want to search for and Enter to search the document for the first occurence below your current location, and then use n to search for the next occurence, or N to search for the previous

    That doesn’t even scratch the surface (that’s just the cheatsheet, which only scratches the surface), but if you can get a handle on only what I’ve said, and switching between input and command mode (i and Esc respectively), the speedup to navigation alone will make it seem more sensible.

    And as always, don’t forget to :wq (write to file and quit)







  • I will be using your example of Arch as a great stepping off point, because honestly imo the best way to learn is by having a project to work on

    1. RTFM - Read The Fucking Manual. Read the docs, read the code comments if need be. In the case of installing an OS, use the installation guide as a starting point; Arch’s is on their wiki, and links to several other sections that go more in-depth about what each step does and why it does it.

    2. DuckDuck it - if you don’t understand what something is or why you’re doing it, search it. If you understand it completely, search it anyway and check the docs because no you don’t, you just don’t know how little you know. If you know why we do something and what function it fulfills, but not how… Then you’re a power user.

    Using your example of commands from the internet, break the command down into as many parts as you can, and figure out what each part does. If there’s punctuation marks, don’t assume you know what those are doing. man [command's name] is your friend.

    1. Do all of the above as often as possible, no matter how slow it makes progress feel. Learning these things the proper way now will save you from days, weeks and months of troubleshooting in the future. I mean it, literally at every step of the process.

    2. secondary sources are invaluable, but for this it might help to get into the best way to self-educate. The only gospel are the docs and/or manual that were written by the code/OS maintainers - primary sources - everything else is opinion.

    Here’s a source i agree with on the best way to self-educate, but keep in mind even Artem is still just a secondary source.

    That being said, here’s a few secondary sources that helped me understand how OSes work and why:

    nand2tetris: build an operating system starting with logic gates and working your way up from there. It has a offshoot site that’s slowly being rolled out, that implements it all in a gamified interface: nandgame

    os-tutorial: build an OS from scratch

    Linux From Scratch: Learn everything about Linux by building your own distro from the kernel up.

    Unfortunately everything that taught about the behind-the-scenes aspects of OSes in general—and Linux in specific—were either projects like the above, or just seeing what came up in a DuckDuckGo, Youtube, forum, or wiki etc. search. Below are just resources that teach you about the “power user” level of knowledge, not “super user” but not your average user either.

    Fireships’ 100+ Linux Things you Need to Know: it’s not particularly good on its own, but it does introduce a lot of concepts and vocab for you to then look up elsewhere

    freeCodeCamp.org offers a lot of courses that will go over using Linux. None go too in-depth on the fundamentals of Operating Systems, but they will still introduce most of what you need to know for day-to-day use. I don’t want to link them all, but just search for linux freecodecamp on youtube and find one that piques your interest. The longer, the more in-depth—you don’t have to watch it all in one sitting.

    1. And of course, when all else fails: just ask. Participate in the community, don’t be afraid of looking stupid. The only people that get no respect are the ones who refuse to accept others’ help because they know better than those they’re asking to help them. (ignore the gatekeepers who want to project their own need for an identity onto you)

  • I came here because of the clickbait title, ready to lambast thunderbird for the empty promises… But it turns out that they’re pretty clear on the specifics of what separates them from Thunderbird.

    But I’m not gonna let that righteous indignation go to waste, so instead I’m gonma rip Sourav Rudra('s writing skill) a new one. Prepare your (writing skill’s) ass for a kicking Sourav.

    Betterbird: A Thunderbird Fork That Promises Better Features

    Better features?! Can I also have updated elements and improved aspects? Maybe superior components too??? Ah. A girl can dream.

    Vague buzzwords and nothing more. “Better features” is not only subjective, but also vague enough to be almost entirely meaningless. Let’s hope the rest of the article does better.

    Thankfully, the author included a shortlist of “Must-Know Bits.” I’m sure that’s a good summary of what’s to follow.

    — Features many long-requested features.

    I’m glad they’re finally listening to my request of compatibility with the Lovense remote control vibrator app’s API. Now I can feel good about receiving emails instead of stressed! They sure took their sweet time, it’s been long [time units] since I requested it!

    How long and who requested? Or better yet, what features??? Why should I care??? Please, give me somethinbg concrete to grip onto!

    — A more streamlined alternative to Thunderbird.

    Streamlined! Wow! Is it also more efficient, and higher quality? Will they make it sustainable? Maybe it can also be more ethically sourved.

    Could you be more vague please? This almost accidentally told me something about the changes they’ve made.

    — Highly customizable, thanks to Add-ons and Themes.

    Like Thunderbird? Like the addons you can find at the official Thunderbird site at addons.thunderbird.net?

    Do they also plan to send and receive email in betterbird? Will it work with a graphical desktop environment? Will it be computer software? Or does the failure to mention these assumed “features” imply that it will diverge from Thunderbird in these key aspects?


    Deeply shit lead-in. The rest of the article stands in stark contrast, being actually specific and informative. It’s like ol Sourav wrote an actually good article, then some idiot editor slapped it in ChatGPT and told it to fart out a title, subtitle, and highlights list. And then ChatGPT ignored all that and made the most generic tech article heading of all time.

    FWIW, itsfoss.com: you should fire that editor for being a completely incompetent moron.





  • BaumGeist@lemmy.mltoLinux@lemmy.mlWhat distro do you use and why?
    link
    fedilink
    arrow-up
    9
    arrow-down
    2
    ·
    3 months ago

    Debian. Because it’s the best about “Just Works” (yes, even moreso than Ubuntu, which I tried). It has broken once on me, and that was fixed by rolling back the kernel, then patched within the week.

    BUT I’m also not a “numbers go up” geek. I don’t give a shit about maxing out the benchmarks, and eking every last drop of performance out of the hardware; to me, that’s just a marketing gimmick so people associate dopamine with marginally improved spec numbers (that say nothing about longevity nor reliability).

    If you wanna waste something watching numbers go up, waste time playing cookie clicker, not money creating more e-waste so your Nvidia 4090 can burn through half a kilowatt of power to watch youtube in 8k.

    (/soapbox)

    My gpu is an nvidia 970 and my cpu is a 4th or 5th generation core i7. I just don’t play the latest games anyway, I’m a PatientGamer, and I don’t do multimedia stuff beyond simple meme edits in GIMP.

    It has plenty of power to run VMs, which I do use for my job and hobby, and I do coding as another hobby in NVIM (so I don’t have to deal with the performance penalty of MS Code or other big GUI IDEs).

    It all works fine, but one day I’ll upgrade (still a generation or two behind to get the best deals on used parts) and still not waste a ton of money on AAA games nor bleeding-edge DAWs


  • I’m a 30-something woman myself. I’ve been gaming longer than I’ve had a phone. Here’s my two cents:

    You’re already into videogames. Fuck what the haters say about mobile gaming not being “”“true”“” gaming (whatever the heck that means), they’re just sour they can’t game whenever wherever without investing a ton of time. Then again, maybe I’m just mad because I’ve recently invested a ton of time into Youtube’s playables.

    If you want to get into PC or console gaming, I recommend starting off with popular E rated games in the genres you already know you like. Generally these games are more complex than mobile games, but this type will usually introduce difficulty curves to gradually transition you into their mechanics and complexity and teach you to be a master without having to look up training online.

    If you want to branch out, start with genre-bending/-blending games. I’m personally a fan of puzzle-platformers, as those are my two favorite genres; while I’m not big on card games, they recently had an explosion in popularity, so there’s a blend of just about every genre you could want.



  • BaumGeist@lemmy.mltoProgrammer Humor@lemmy.mlI love Rust
    link
    fedilink
    arrow-up
    24
    ·
    edit-2
    3 months ago

    Implementing Equality in Haskell:

        deriving (Eq, Ord)
    

    After learning how easy it was to implement functional programming in Rust (it’s almost like the language requires it sometimes), I decided to go back and learn the one I had heard about the most.

    It opened my mind. Rust takes so many cues from Haskell, I don’t even know where to begin. Strong typing, immutable primitives, derived types, Sum types. Iterating and iterables, closures, and pattern matching are big in Haskell.

    I’m not saying Rust uses these because Graydon Hoare wanted a more C-like Haskell, but it is clear it took a lot of elements from the functional paradigm, and the implementations the designers were familiar with had descended through Haskell at some point.

    Also, deriving is not the same as implementing. One is letting the compiler make an educated guess about what you want to compare, the other is telling it specifically what you want to compare. You’re making, coincidentally, a bad comparison.


  • When does Debian update a package? And how does it decide when to?

    These both can be answered in depth at Debian’s releases page, but the short answer is:

    Debian developers work in a repo called “unstable” or “sid,” and you can get those packages if you so desire. They will be the most up to date, but also the most likely to introduce breaking changes.

    When the devs decide these packages are “stable enough,” (breaking changes are highly unlikely) they get moved into “testing” (the release candidate repo) where users can do QA for the community. Testing is the repo for the next version of debian.

    When the release cycle hits the ~1.5 year mark, debian maintainers introduce a series of incremental “freezes,” whereby new versions of packages will slowly stop being accepted into the testing repo. You can see a table that explains each freeze milestone for Trixie (Debian 13) here.

    After all the freezes have gone into effect, Debian migrates the current Testing version (currently Trixie, Debian 13) into the new Stable, and downgrades the current stable version to old-stable. Then the cycle begins again

    As for upgrades to packages in the stable/old-stable repos: see the other comments here. The gist is that they will not accept any changes other than security patches and minor bug fixes, except for business critical software that cannot just be patched (e.g. firefox).



  • Robert Glasper - Black Radio

    Sungazer - Perihelion

    Unexpect - Fables of the Sleepless Empire

    Frank Zappa - Civilization Phase III

    Will Wood - “In case I make it,”

    The Algorithm - Brute Force

    Devin Townsend - Empath

    Miles Davis - Bltches Brew

    Oneohtrix point Never - R + 7

    Panopticon - Autumn Eternal

    King Capisce - Memento Mori

    Cynic - Kindly Bent to Free Us

    Archive - Controlling Crowds The Complete Edition Parts I-IV

    Intronaut - The Direction of Last Things

    SHT GHST - 1: The Creation

    Dan Deacon - America

    Opeth - Ghost Reveries

    Steve Reich - Music for 18 Musicians