• 0 Posts
  • 20 Comments
Joined 1 year ago
cake
Cake day: July 1st, 2023

help-circle

  • Honestly, these days it’s pretty simple. The thing you need to remember is that you do not need to know EVERYTHING all at once. Learn a little bit, use it, keep what you use, discard what you don’t, get it in muscle memory, and learn a bit more. Very quickly you’ll be zooming through vim.

    You can learn the basics, and go from there- the basics of vim (which imo everyone should know- vi is often the fallback editor), and then you can just casually learn stuff as you go.

    Here’s the basics for modern default/standard vim: Arrow keys move you around like you expect in all ‘modes’ (there’s some arguments about if you should be using arrow keys in the vim community- for now, consider them a crutch that lets you learn other things). There’s two ‘modes’- command mode, and edit mode.

    Edit mode acts like a standard, traditional text editor, though a lot of your keybinds (e.g. ctrl-c/ctrl-v) don’t work.

    Press escape to go back into command mode (in command mode, esc does nothing- esc is always safe to use. If you get lost/trapped/are confused, just keep hitting escape and you’ll drop into command mode). You start vim in command mode. Press i to go into edit mode at your current cursor position.

    To exit vim entirely, go to command mode (esc), and type :wq<enter>.

    ‘:’ is ‘issue command string’,

    ‘w’ is ‘write’, aka save,

    ‘q’ is quit.

    In other words, ‘:wq’ is ‘save and quit’

    ‘:q’ is quit without saving, ‘:w’ is save and don’t quit. Logical.

    Depending on your terminal, you can probably select text with your mouse and have it be copied and then pasted with shift-ins in edit mode, which is a terminal thing and not a vim thing, because vim ties into it natively.

    That gets you started with basically all the same features as nano, except they work in a minimal environment and you can build them up to start taking advantage of command mode, which is where the power and speed of vim start coming into play.

    For example ‘i’ puts you in edit mode on the spot- capital i puts you in command mode at the beginning of the line. a is edit mode after your spot- capital A is edit mode at the end of the current line.

    Do you need these to use vim? Nope. Once you learn them, start using them, and have them as muscle memory, is it vastly faster to use? Yes. And there’s hundreds of keybinds like that, all of which are fairly logical once you know the logic behind them- ‘insert’ and ‘after’ for i/a, for example.

    Fair warning, vim is old enough that the logic may seem arcane sometimes- e.g. instead of ‘copy and paste’ vim has ‘yank and put,’ because copy/paste didn’t exist yet, so the keybinds for copy/paste are y and p.


  • ysjet@lemmy.worldtoLinux@lemmy.mlSwitch from Ubuntu to something immutable?
    link
    fedilink
    English
    arrow-up
    6
    arrow-down
    1
    ·
    3 months ago

    I’d you want immutability and things that just works, snaps are the exact opposite of what he needs. I’m gearing up to swap away from Ubuntu for the same reasons as him, and the snap ecosystem is utterly fucked and accelerating my timetable daily.

    I’ve never seen something so damn broken, and it gets more so every update. It’s gotten to the point of where snap store will just straight up log me out of my session out of the blue when it finds an update so it can install it, losing all of my work.






  • In the case of Discourse, a hardware engineer is an embarrassment not deserving of a job if they can’t hit 90% of the performance of an all-time-great performance team but, as a software engineer, delivering 3% the performance of a non-highly-optimized application like MyBB is no problem. In Knuth’s case, hardware engineers gave programmers a 100x performance increase every decade for decades with little to no work on the part of programmers. The moment this slowed down and programmers had to adapt to take advantage of new hardware, hardware engineers were “all out of ideas”, but learning a few “new” (1970s and 1980s era) ideas to take advantage of current hardware would be a waste of time.

    You can really tell this guy is some hardware design engineer at nvidia that has absolutely no fucking clue about how real-world user space programming works. Also I like how 74% slowly kept getting inflated until it became 90%.

    Like, this dude is trying to claim that fucking Donald Knuth himfuckingself cannot figure out some new computer hardware.

    Multiple processors working in concert is not, and never has been, a cure-all. It’s highly situational and generally not useful.

    What’s dumb is that, as a Systems Design Engineer at NVIDIA, Dan Luu should know that. After all, how has SLI been doing recently?

    That said, yes, of course, web dev bloat is absolutely out of control, and slow websites absolutely have nothing to do with hardware or network. That’s a culprit of bad frameworks, horrific amounts of ads/trackers/bullshit, and honestly just general lack of programming fundamentals in the web dev space. Might as well call them web technicians and really ruffle some feathers. :P


  • ysjet@lemmy.worldtolinuxmemes@lemmy.worldLinux error starter pack
    link
    fedilink
    English
    arrow-up
    20
    ·
    edit-2
    6 months ago

    Possibly, but I’ll just transcribe it here for screenreaders and people who can’t see through the pixelation:

    Linux Error Messages That Go Hard Starter Pack

    ERROR: Failed to mount the real root device.
    Bailing out, you are on your own. Good luck.
    
    WARNING: The following essential packages will be removed.
    This should NOT be done unless you know exactly what you are doing!
       sysvinit initscripts (due to sysvinit) sysv-rc (due to sysvinit) util-linux
    0 upgraded, 0 newly installed, 198 to remove and 3 not upgraded
    You are about to do something potentially harmful.
    To continue type in the phrase 'Yes, do as I say!'
     ?] 
    
    (12/19) upgrading linux-raspberrypi
    WARNING: /boot appears to be a seperate partition but is not mounted.
             You probably just broke your system. Congratulations.
    >>> Updating module dependencies. Please wait...
    
    [   0.895799] ---[ end Kernel panic - not syncing: VFS: Unable to mount root fs 
    on unknown block(0,0)
    
      _______________________________
    < Your System ate a SPARC! Gah! >
      ------------------------------
                \    ^__^
                  \  (xx)\_________
                     (__)\         )\/\
                      U   ||-----w |
                          ||      ||
    
    Out of memory: Kill process 15745 (postgres) score 10 or sacrifice child
    



  • ysjet@lemmy.worldtoProgrammer Humor@lemmy.mlC++ Moment
    link
    fedilink
    English
    arrow-up
    11
    ·
    edit-2
    6 months ago

    https://wiki.ubuntu.com/Apport

    It intentionally acts as an intercept for such things, so that core dumps can be nicely packaged up and sent to maintainers in a GUI-friendly way so maintainers can get valuable debugging information even from non-tech-savvy users. If you’re running something on the terminal, it won’t be intercepted and the core dump will be put in the working directory of the binary, but if you executed it through the GUI it will.

    Assuming, of course, you turn crash interception on- it’s off by default since it might contain sensitive info. Apport itself is always on and running to handle Ubuntu errors, but the crash interception needs enabled.





  • The reason I care about the technical implementation shortcomings is because they don’t go away. They don’t magically fix themselves over time, they snowball, especially when the maintainers refuse to admit they’re shortcomings and insist on doubling down on them.

    As time goes on, new functionality and technologies are going to emerge, and you need to be able to fold those, cleanly and reliably, into your codebase. And frankly, wayland’s devs are having trouble getting past and even current technologies implemented cleanly into their codebase, because they’re made architectural decisions that exclude those technologies. This is just going to be more and more of a problem as time goes on, imo.

    • Screen recording CAN work… if client devs go out of their way to work around wayland, like OBS did. That is not a long term solution, or even a solution we should be encouraging.
    • yes
    • personally I have crashes on wayland, none on X11. even when x11 does crash though, you just drop to terminal. Whatever is locking your system up, it might not actually be X11 itself. Wayland, you do actually have to reboot, it’s a standing architectural issue.
    • nice
    • I’m on ubuntu gnome w/ AMD gpu, and they straight up do not work. You can set a global hotkey for the OS/wayland itself, but there is no way to set a global hotkey for/from a program, e.g. set a key combo for ‘clip last 30 seconds’ like I can in X11. Again, conscious design decision by wayland devs that breaks a lot of use cases. I think there’s some third party plugin for wayland that fixes this, but I shouldn’t need the wayland equivalent of nexusmods to get my window manager working. This ain’t skyrim. :P
    • sleep and hibernate are pretty close to the same thing- sleep mode saves your current state to RAM, hibernate stores it to disk. hibernate uses less power draw and recovers cleanly from power loss. These days I think most front-ends call ‘hibernate’ sleep, and don’t actually provide sleep as an option, because it’s imo better. I meant hibernate, and I should have clarified, because linux does actually allow you to pick and choose.
    • some appimages work, but it’s because they work around wayland. These days there’s a package you can include in your app image to hep with that iirc, but again that’s kind of dumb.
    • redshift is f.lux. Basically, eye strain relief.
    • toolbars, utilities, etc. For example, I have a program that adds an overlay to my screen for discord, so when someone talks in discord their avatar pops up on the left side of my primary screen. This not only doesn’t work in wayland, it can never work in wayland, because it intentionally refuses to allow programs to set their own screen position, control whether they appear over other things, or even know where on the screen they are on the screen.
    • GUI applications with sudo, yes. Basically, in wayland sudo has to pipe the password arround because it doesn’t support SUDO_ASKPASS, so they work around it by piping it around with a generated shell. This vastly increases the attack surface of sudo: https://github.com/linuxhw/hw-probe-pyqt5-gui/commit/eb2d6e5145fb8571414bda57676084b7f13b94e5#diff-23cb15995f1502beebb38433bfa83204a5f45b376eaf88e2e41a0d8a1cd44722R290


  • screen recording/sharing, automation, it’s inherant fragmentation because it decided that basic window server functionality should be implemented on the DE, basically every driver but a super small subset of drivers for devices the devs care about which do not include nvidia drivers which are a huge portion of the userbase, the absolutely ridiculous architectural choices that intentionally blocks basic functionality, and furthermore causes a crash to completely freeze your computer which forces restart, a complete failure to understand standard monitor EDID, and a refusal to allow you to set them yourself (to this day my monitor, a bog standard 144hz 1440p LG monitor, is not supported by wayland), no global hotkeys, broken sleep mode, breaks appimages entirely, no redshift, the developers made sweeping design decisions that don’t work and then get pissy and throw temper tantrums in the mailing lists when people point out that they don’t work, heavily moving away from portability and modularity (the devs think nobody uses BSD?!), windows can’t raise themselves or keep themselves raised, or absolutely position themselves, so toolbars/utilities/etc can just go fuck themselves, sudo gets broken and has to pipe passwords everywhere as a workaround which means sudo has increased attack surface on wayland, and color management is non-existent.

    And this is just shit I have personally ran into the last time I tried it, which was about 4 months ago.