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

help-circle

  • As someone who has strong opinions on this, and not only has a job but has a job related to exactly sort of thing… We use freebsd.

    Specifically to avoid shit like systemd, and other questionable choices forced down people’s throats by idiots who can’t stop touching things that work well because they didn’t invent it.


  • 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.


  • 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
    


  • Really dude? I never once devolved to name calling, I stated that s/he lied when s/he made false statements. What else am I supposed to say there?

    I also don’t understand how saying they doesn’t know what the subject matter s/he’s taking a stance on is ‘know-knowing’ either? S/He’s straight up said they doesn’t know what a CVE is, doesn’t know what experimental means, and while they claims to be in this field of work, they doesn’t know what a web worker is and confused a web transaction with a database transaction.

    Sure, I could have been nicer about it when they started escalating, but I never made it personal, and have no intentions of doing so either.

    EDIT: realized I was assuming their gender.


    1. I’m glad we agree a DoS is a vulnerability.
    2. CVE best practices state that CVEs are required to be assigned to experimental features. F5’s company policy is that CVE best practices are followed. F5 is the company that owns nginx. Therefore, it was required. Nice ‘legal requirement’ strawman. Also, ‘Common’ in this situation is not defined as ‘Widespread; prevalent,’ it’s defined as ‘Of or relating to the community as a whole; public.’
    3. That was a typo regarding ‘stable,’ my bad. I meant to say ‘It is just not available on stable, but is both via commercially and via the open source version.’ However, it’s still available on commercial versions and open source, and ‘non-stable’ versions are not inherently unstable, they’re just called ‘mainline’. Proof: https://nginx.org/en/download.html Stable is basically just ‘long term support/LTS’ versions of nginx.
    4. Again, you are intentionally misusing the definitions of the word common. Lets see what MITRE has to say about it, hmm?

    Common Vulnerabilities and Exposures (CVE) is a dictionary of common names (i.e., CVE Identifiers) for publicly known information security vulnerabilities. CVE’s common identifiers make it easier to share data across separate network security databases and tools, and provide a baseline for evaluating the coverage of an organization’s security tools. If a report from one of your security tools incorporates CVE Identifiers, you may then quickly and accurately access fix information in one or more separate CVE-compatible databases to remediate the problem.

    Source: https://cve.mitre.org/about/

    1. Yes, I would consider notifying the development mailing list as ‘quietly’ fixing it, as most all companies using it will not be on the development mailing list. It’s meant to be an area for developers to discuss things. They didn’t inform the public, they informed the devs.
    2. Where are you getting database from? You’ve randomly pivoted into talking about database transactions then started babbling about how you somehow think using a production mainline release with production options on a fully supported commercial binary is somehow inherently unsafe, as though it wouldn’t still be in dev or test.

    Since you seem to have no idea about how web servers work, or indeed, experimental features, I’ll let you in on a secret- The only difference between a non-experiemntal option in nginx and an experimental option is that they’re unsure if they want that feature in nginx, and are seeing how many people are actually using it/interested in, or they think that usage patterns of the feature might indicate another, better method of implementation. “Experimental” does not mean “unfinished” or “untested.”

    If you know nothing about programming, CVEs, or even web engines, please stop embarrassing yourself by trying to trumpet ill-thought out bad takes on subjects you don’t understand.


  • ysjet@lemmy.worldtoOpen Source@lemmy.mlNginx gets forked by core developer
    link
    fedilink
    English
    arrow-up
    6
    arrow-down
    3
    ·
    edit-2
    8 months ago

    There is an astounding number of lies in your post, good lord.

    1. It is an issue. A DoS is a fairly serious vulnerability, and very much is a vulnerability.
    2. Experimental features are explicitly defined to require their vulnerabilities to be assigned CVEs.
    3. It is not just available on the stable version, but both commercially and via the open source version.
    4. CVEs are not just for serious issues, they are for vulnerabilities. All vulnerabilities. It is a number that allows you to reference an vulnerability, nothing more, nothing less.
    5. Mentioning a CVE on the mailing list is the absolute least they should be doing.
    6. ‘workers can just be restarted anyway’ shows a deep misunderstanding of what a worker does. Any pending or active transactions that worker had now hangs, meaning that the service is still being denied. Trying to recover automatically from a DoS does not mean the DoS is not happening- it just means that the DoS is slower to get rolling, or intermittently seems to work mid-DoS.

  • ysjet@lemmy.worldtoOpen Source@lemmy.mlNginx gets forked by core developer
    link
    fedilink
    English
    arrow-up
    5
    arrow-down
    4
    ·
    8 months ago

    Experimental features are explicitly defined as requiring CVEs. You are supposed to run them in production, that’s why they’re available as expiermental features and not on a development branch somewhere. You’re just supposed to run them carefully, and examine what they’re doing, so they can move out of experiment into mainline.

    And that requires knowledge about any vulnerabilities, hence why it’s required to assigned CVEs to experimental features.

    And I’m not sure why you think a DoS isn’t a vulnerability, that’s literally one of the most classic CVEs there are. A DoS is much, much more severe than a DDoS.






  • 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.