linux

This magazine is from a federated server and may be incomplete. Browse more on the original instance.

demesisx, (edited ) in [Old 1997 story] The Greatest OS That (N)ever Was
@demesisx@infosec.pub avatar

Edit: my below comment was actually wrong. They actually do use git.


Thanks for sharing. What I find most interesting is that Linus is still using the same email-based software development methods for the kernel while the rest of the software engineering world has evolved to use his other invention, git, for that. I’m kind of second-hand embarrassed for those geniuses who have yet to adopt proper version control for (what I’d argue is) the most important project in the computing world.

Here’s a far more nuanced explanation from Spore’s reply to this comment :

Git and Email are not mutually exclusive. In order to collaborate with git, you need and only need a way to send your commits to others. Commits can be formatted as plain-text files and sent through emails. That is how git has been used by its author from literally the first release of it.

clmbmb,

You know that git is also Linus’ project, right?

kureta,

Wh were you downvoted? You are correct.

Git was originally authored by Linus Torvalds in 2005 for development of the Linux kernel, with other kernel developers contributing to its initial development. Since 2005, Junio Hamano has been the core maintainer.

ourob,

What? Linux does use git for version control.

demesisx,
@demesisx@infosec.pub avatar

Is this article (and the many sources I see confirming it) inaccurate then?

www.theregister.com/AMP/…/linux_kernel_email/

I’m happy to be wrong if you have any evidence to refute what I’ve written.

Ps. I’m talking about the kernel.

Spore, (edited )

Git and Email are not mutually exclusive. In order to collaborate with git, you need and only need a way to send your commits to others. Commits can be formatted as plain-text files and sent through emails. That is how git has been used by its author from literally the first release of it.

MigratingtoLemmy,

Could you explain? I’m still stuck with a mind-block, can’t imagine how a git server can track changes to code with messages from email

Spore,

A git server don’t need to know email to work, and it is not required to have a git server. Email in this workflow is an alternative to a PR: contributor submit a set of commits to the maintainer (or anyone interested). Then the maintainer is free to apply or merge the commits. After that the code can be pushed to any servers.

MigratingtoLemmy,

Ah, you mean email being used as a direct alternative to issue reports? I get it now, and TBH this makes intuitive sense. Thanks

demesisx,
@demesisx@infosec.pub avatar

Thanks for the insight. I’ll edit my comment to point to yours.

Spore, (edited )

Honestly I’m surprised that so many people don’t know how git can be used without those repository hosting sites. That’s one way to use it, not the only way. And it’s not even the way it was originally designed for.

Checkout git format-patch.

demesisx,
@demesisx@infosec.pub avatar

I, for one, was quite ignorant of that fact.

otl,
@otl@lemmy.sdf.org avatar

I’m not so surprised anymore. I’m self-taught using open-source software projects for guidance. But not everyone learns like that. For example in the commercial software dev world, having patches easy to apply with minimum tooling isn’t usually a priority (for better or worse).

This is actually a little story I had half written down; your comment prompted me to finish it. Thanks! www.srcbeat.com/2023/11/git-email/

rufus, (edited )

Yeah, that’s not quite right. You need a means to discuss things and review code. You can do this via a website or mailing list. The Linux kernel uses the latter. Lots of other devs use the former. Like Github. And Github and Git aren’t the same. The issue tracking, discussion platform etc are something Github does on top of Git. You can as well use Email or a different service/online platform for the communication. The actual program code is stored in Git in both cases.

Adalast, in Gamedev and linux

A. If you haven’t played ΔV, do it. One of the most amazing games out there imho. So good in fact that I just went to find a Δ on the internet so I could use it and not disrespect the dev and the game. B. He is such an amazing dude. I don’t know him personally, but I do know that when Ukraine was invaded he made the game free for months on Steam so people in Ukraine could get it and have something too distract themselves from the conflict. A+ move in my book right there. I had already bought the game at that point, but I wish I could buy it again just to support him further. C. Reading this almost makes me think it would be a good tactical move to offer early access games at a steep discount on Linux if it has this great of an effect. Pay back the “free” QA kindness of the community.

Makussu,

You know what? I will buy it again for you right now!

lambda,
@lambda@programming.dev avatar

Imagine saying all that and not linking it 😏

I got you fam. store.steampowered.com/app/…/V_Rings_of_Saturn/

Adalast,

Lol, thanks. It was late.

bionicjoey, in is there a foss project to automatically sort files

“Please move all of the media files in my home folder into the /home/me/media folder”

AI: moves the assets from all of your video games into one folder

TheGrandNagus, (edited ) in Flathub Grows Past One Million Active Users

'ate dependency hell

'ate outdated packages in distro repos

'ate snaps

luv flathub

simple as

possiblylinux127, in Flathub Grows Past One Million Active Users

I like how know one wants snap but everyone chose flatpak.

I like flatpaks

sleepyTonia,
@sleepyTonia@programming.dev avatar

Now I’m just hoping AppImage will follow in Snap’s footsteps.

WeLoveCastingSpellz,

appimage aren’t bad

fine_sandy_bottom,

WDYM? I thought canonical was kinda standing their ground with snaps.

nobleshift, in Breaking Windows to let the penguin in...
@nobleshift@lemmy.world avatar

deleted_by_author

  • Loading...
  • Quazatron,
    @Quazatron@lemmy.world avatar

    Exactly. Boring stability is good.

    neidu2, (edited )

    What this guy/gal said. Linux user for 25 years here, 10ish of which have been exclusive. And I run Mint on my main PC.

    Because when I can finally wind down after the kids are in bed and I can hear myself think, I just want shit that works, without having to dick around with manual kernel modules and other custom stuff to get basic things working … I get paid to do the latter at work, and I get enough of it there.

    blotz, (edited ) in Good Nix OS series: five articles for new users.
    @blotz@lemmy.world avatar

    What’s up with the ux design of nix? I get it’s made for advanced users but still. I’m reading through this guide and man it’s convoluted.

    The different ways of installing packages. Either through editing the configuration.nix or running a command. The weird inconsistency of nix commands. nix-env -iA to install and nix-env --uninstall to uninstall. Then updating uses nix-channel --update but upgrade uses nixos-rebuild switch --upgrade. All this to use the package manager. Also haven’t even mentioned flakes or home manager.

    It’s a cool OS, but the UX really needs work imo.

    [Edit] I do wanna add something else too because I feel like my point isn’t getting across.

    It’s okay to have a complicated ui. Especially if your target audience are tech-savvy. But even tech-savvy people have to start as new users. A tech-savvy new user isn’t going to know what the best practices are. Being able to anticipate the steps for installing a package is important for ux. If the commands for installing packages isn’t cohesive/intuitive, then the user has to spend more time looking for guides and learning how to use the software.

    People also mentioned a new command in the works. This is great! However, these current commands are being recommended through blogs and nix. New users won’t know about this new command.

    million, (edited )
    @million@lemmy.world avatar

    After trying out Nix as a package manager I realized I have a pretty different world view than the makers of Nix. I agree with the end goal but how they are trying achieve it is just alien to me. The nix command line is just downright user hostile.

    I am personally hoping that someone else takes a stab at the Nix concept but have accepted Nix isn’t for me.

    filister,

    The errors are also pretty terrible, usually the thing that interests you is buried under a lot of text that makes troubleshooting a real pain.

    wewbull,

    Yep, today I had a typo in a package name, and it cascaded into a syntax error. The syntax was absolutely fine.

    AI_toothbrush,

    Yeah because when you make an error it causes a snowball affect and it shows you too little information but when you look at the trace its a wall of errors.

    callyral,
    @callyral@pawb.social avatar

    oof, yeah.

    i had a syntax error in my dotfiles that took me two hours to solve.

    it was a missing semicolon that was wayyy above where the error said it was. it didn’t even say missing semicolon, instead saying unexpected ‘}’ on line …

    CrabAndBroom,

    I’ve read so many things that try to explain what flakes are, and for the life of me I still don’t understand what they are or what they’re for lol.

    madmaurice, (edited )
    @madmaurice@discuss.tchncs.de avatar

    Imho I wouldn’t bother with nix-env or nix profile. It just creates a secondary list of packages that needs to be maintained and it’s cumbersome to do so. There’s nix-shell or nix shell if you need a package temporarily and there’s your configuration.nix or flake for everything else.

    Side note: nix profile at least has consistent commands: install/remove/upgrade

    rutrum,
    @rutrum@lm.paradisus.day avatar

    Here’s an example of a tutorial that uses flakes and the new cli. You might glance through here to see how the syntax compares: zero-to-nix.com/start

    rutrum,
    @rutrum@lm.paradisus.day avatar

    They have resolved this exact problem. There is an “experimental” cli tool that fixes a lot of your complaints about nix-env, nix-channel, etc. Itcs wrapped together with “flakes”. This newer feature is a little different, and working with or without flakes segments the community AND the types of articles about nix, like this one.

    As far as I know though, nixos related thing still have a bizarre set of commands, and even with flakes “nixos-rebuild switch --upgrade” is still how you switch configs.

    And as far as installation goes, using nix-env -iA really is a bad practice. Thats installing something ad hoc like you would in any other package manager. That defeats the point of nixos, where your configuration file explicitly defines all the packages you need installed, and nothing else. Nix will remove any packages you didnt specify.

    blotz, (edited )
    @blotz@lemmy.world avatar

    Oh that’s good that they are addressing those issues with a new command. Hopefully it gets into stable soon.

    Might be that nix-env -iA is bad practice! I’m strictly talking about ux design here and nix-env -iA is being recommend by blogs and nix themselves. (Nixpkgs tells you how to install using nix-env -iA)

    A new user isn’t going to know what bad practice is.

    MaliciousKebab, (edited )

    It actually recommends using nix-env -i, which is even worse because with that command it searches the whole repository instead of just getting the correct attribute on nixpkgs. It takes half a minute to run the command, it’s insane.

    lambda,
    @lambda@programming.dev avatar

    What is this experimental tool called so I can read more about it?

    rutrum,
    @rutrum@lm.paradisus.day avatar

    Add this to your nix.conf: experimental-features = nix-command flakes

    Then check out nix --help.

    mvirts,

    I do think it’s important to emphasize the difference between installing software in user environments and system wide, which is why the tool is named nix-env. System packages must be installed via the nixos configuration file and a rebuild.

    To me the biggest missing piece for new users is a tool to help manage your system configuration and reduce the frustration of having to constantly look up nix syntax or nixpkgs quirks. Maybe thinking of it as a nixos/nix IDE? Also a polished distribution built on nixos would be a good starting point (and easy to do, I didn’t realize I could just copy someone else’s configuration until well after I had my system working well enough)

    The other thing that got me starting out is the need to garbage collect old packages. It’s not strictly necessary if you have a large enough disk, but it took me several iterations of filling my root partition before I figured out how to properly clean up old generations.

    lambda,
    @lambda@programming.dev avatar

    Have a good guide on cleanup? 👀

    mvirts,

    I think ultimately

    Sudo nix-collect-garbage --delete-old

    Is my go-to command. For a while I was looking at generations manually, but now I just wait a while (days, a few reboots, or until I need more space) to run this after changing things in case the new stuff is broken.

    I think running this as my normal user cleans out old env generations… But I’m not 100% sure.

    pr06lefs,

    There is controversy in the nix world because nix flakes were (some say) merged without proper vetting first. OG nix diehards don’t want to taint nix documentation with ‘experimental’ flakes. But probably the majority of nix users are all in on flakes. So you have documentation from the OG camp that doesn’t include flakes, and you have innumerable unofficial guides for the flakes way. This on top of the quirkiness of nix the language and the multiple ways to do things. Unfortunate.

    IMO nix-env was a mistake. It feels like an imperative package manager which may be comfortable to new users who are used to apt or similar. But really what you should be doing on nix is maintaining *.nix files which document/specify your system setup, and nixos-rebuild to update your system to that configuration. Similarly, nix channels are an imperative holdover, which can be done away with if you use flakes, which results in your current nixpkgs version being documented in a system level flake.lock file.

    blotz,
    @blotz@lemmy.world avatar

    I think both nix-env and flakes are designed with making package management easier. Nix-env tries to make it intuitive and familiar for new users. Flakes improve package management by simplifying the configuration.

    Personally I would love to see syntax highlighting, language server, code completion. Maybe all in a dedicated application which is configured to give the easiest experience for new users. If nix is intended to be managed through config files, then the experience of writing a config should be as easy as possible.

    itslilith,
    @itslilith@lemmy.blahaj.zone avatar

    Syntax highlighting, LSP and code formatting work flawlessly for me using Helix, and therefore should on any editor that implemented LSP

    pr06lefs, (edited )

    The intent of nix-env was to make it easier, but the effect was to push some of your system state into a shadowy ‘env’ realm that is not managed by your *nix files. Same with channels - its state that isn’t in your configuration.nix.

    To me the whole point is to have all your state in some files you can check in to version control, and use to reproduce your system.

    Agree it would be cool to have a way to edit nix files that would give you all the args to functions, code completion etc. You do get some of that with the nix repl. Would be nice to even have a GUI for selecting packages for those that don’t “do” text editing.

    I’m using nixd for a nix language server, but haven’t seen a lot of benefit so far to be honest. I think part of the reason is nixpkgs isn’t pulled in until runtime, so most things are undefined as far as the lsp is concerned. Haven’t put a lot of time into it, there may be ways to make it more useful.

    kbal, in Mozilla Firefox 122 Is Now Available for Download, Here's What's New
    @kbal@fedia.io avatar

    will finally ship with a DEB package for Debian-based distributions

    That's good news for the more specifically Ubuntu-based distributions and their users. I trust that Debian will continue to build its own packages.

    SuperSpruce,

    Interestingly, just today I switched Firefox from a snap to a deb due to the limitations of the former on Ubuntu.

    wiki_me,

    I had some issues that happened on debian and not on firefox nix package, maybe debian packaging is not great and this can help improve it.

    kevincox,
    @kevincox@lemmy.ml avatar

    It may still be nice to have a reference implementation. For example maybe they can see if there are extra hardening options that they can enable or adopt the more seamless update flow.

    Ephera,

    Yeah, really happy about this. $WORKPLACE uses Ubuntu and the Snap is just mildly broken in multiple ways. The .tar.bz2 works, but we would have had to script the download + creation of the .desktop file. We successfully procrastinated doing the latter long enough, that Mozilla fixed it.

    topperharlie, in What's (are) the funniest/stupidest way(s) you've broken your linux setup?

    One that I can remember many years ago, classic trying to do something on a flash drive and dd my main hdd instead.

    Funny thing, since this was a 5400rpm and noticed relatively quick (say 1-2 minutes), I could ctrl-c the dd, make a backup of most of my personal files (being very careful not to reboot) and after that I could safely reformat and reinstall.

    To this day it amazes me how linux managed to not crash with a half broken root file system (I mean, sure, things were crashing right and left, but given the situation, having enough to back up most things was like magic)

    Serinus, (edited )

    Many years ago I was dual booting Linux and Windows XP. I was having issues with the Linux install, and decided to just reinstall. It wasn’t giving me the option to reinstall fresh, only to modify the existing install.

    So I had the bright idea to just rm -rf /

    Surely it’ll let me do a fresh Linux install then.

    Immediately after hitting enter I realized that my Windows partitions would be mounted. I did clearly the only sensible thing and pulled the plug.

    I think I recovered all of my files. Kind of. I only lost all the file paths and file names. There was plenty to recover if I just sorted though 00000000.file, 00000001.file, 00000002.file, etc. Was 00000004.file going to be a Word document or a binary from system32 directory? Your guess is as good as mine!

    danielfgom, in Hans Reiser Apologies For Social Mistakes, Comments On ReiserFS Deprecation From Prison
    @danielfgom@lemmy.world avatar

    I’m glad to see that he is learning in prison, talking and working through things. This really is the point of prisons: not just a place to keep people but a place to reform them.

    Anyone of us could become a criminal given the right pressures and circumstances. I wish all prisons would reform and educate their inmates and that they come out as better people who can live a peaceful and productive life.

    WarmApplePieShrek,

    You are wrong. The point of US prisons is punishment.

    danielfgom,
    @danielfgom@lemmy.world avatar

    I don’t live in the US. But I would hope that eventually prisons would adopt the mindset to reform inmates rather than just keep them locked up for nothing.

    That will only lead to frustration and trouble

    TropicalDingdong, in Reddit API blew up and now I run Linux?

    Just wait till you start the estradiol…

    Sammy,
    @Sammy@lemmy.dbzer0.com avatar

    Oh friend-… I’m on the other side. 8 years on T 💪💉. But yes. We’re all queer.

    NotJustForMe,

    I was told that linux doesn’t work on the Spectrum oO

    jaybone,

    On Lemmy it exclusively works on the spectrum.

    NotJustForMe,

    I was referring to the spectrum computer, which can’t run Linux. It wasn’t about people on the Spectrum, which are probably all of us, in some fashion?

    Jean_Lurk_Picard, in Which terminal emulator do you use?
    @Jean_Lurk_Picard@lemmy.world avatar

    alacritty

    cyanarchy,

    Seconded, Alacritty has been great to me

    jaxxed, in Yubikey on Linux?

    yubikey works on every linux distro I have tried, and even on freebsd. Some people say it “works out of the box” but that part is not true on every distro. Every distro will recognize the device when it is plugged in, but not every distro will all 2FA actions out of the box, and almost no distro comes with the management tools.

    On linux (and BSD) you can install a CCID tool to get the 2FA, which installs software that needs to be running (you can use the yubikey as a keyboard approach if you really need it) On Linux you can install a manager tool like ykman is easy, if you want to manage the tooling on your card On Linux you can setup PAM (authentication) so that yubikey can be used for logins, sudo auth etc On Linux you can use yubikey to do advanced things like manage the encryption keys for encrypted disks

    As always, off to the Arch docs: wiki.archlinux.org/title/YubiKey

    vhstape,
    @vhstape@lemmy.sdf.org avatar

    I appreciate the detailed response. I looked at the Arch wiki page and ensured that I have all packages listed. Still, the output of ykman info is “Error: No YubiKey detected!” :P

    jaxxed,

    What was your mesg/jpurnalctl output when you plugged in the key?

    vhstape,
    @vhstape@lemmy.sdf.org avatar

    I do not get any messages. I’m starting to think there is an issue with my motherboard’s USB-C port. If I can get my hands on a USB-C to USB-A adapter, I can test this theory…

    mranderson17, (edited ) in best foss cad software?

    I use FreeCAD and Assembly3 for everything and have for many years now. I sometimes use realthunder’s fork of FreeCAD but right now it’s quite a bit behind upstream and there are some cool new features in sketcher so I use upstream for those.

    Some people get confused about workflow in FreeCAD because there are so many options and every youtube video has different opinions or tries to feature a particular workbench like curves or something. My opinion… Pretty much your workflow starting out should be to ignore everything else and use part design and sketches, it’s the simplest way:

    1. enable autosave with a short interval, like 2min

    2. Switch to part design workbench

    3. create body

    4. create sketches as the base of the features of your part attached to the xy, xz, yz planes, offset them to create a “wire frame” that resembles your project

      a. Your sketches should be fully constrained

      b. Your sketches should have as little geometry in them as possible, if you need more complex stuff make more sketches

      c. Your sketches should have closed wires, you can’t pad something that doesn’t create a face.

    5. use pad, pocket, revolution, loft, and hole operations on those sketches to form a 3d solid

    6. if you need to create additional sketches which import geometry from the previous operations (using the external geometry tool), import SKETCH geometry from the previous ops, not edges of solids, whenever possible. Hide your solid, unhide your sketch, select that with the external geometry tool.

      a. Use sketch on face sparingly.

    7. Do fillets and chamfers last, if you need to change something, delete them and recreate them once you’ve made your changes.

    To make multiple parts make multiple bodies with the same workflow as above.

    Once you get pretty good at making static parts with constrained geometry, holes, threads (with the hole function), etc, which you can do with only the stuff above, then you can branch out into other workbenches like assemblies or curves, but all of those things build on the concepts above, so it’s easy to get overwhelmed if you try to do it all right from the start. Learning how to recover from a mistake is just part of CAD in general, though I admit that it’s a bit more effort to find what’s wrong in FC vs commercial platforms, but we aren’t here, on lemmy, in a linux community, to use commercial platforms.

    AFAIK that’s pretty much the same workflow as F360 uses for single-solid parts though things have different names. pad=extrude for example.

    It’s obviously far from perfect but in my opinion it’s the best solution that runs natively on Linux and is actually open source. Also assembly3 uses solvespace as it’s backend solver so if you make assemblies using that you are kindof using solvespace too.

    Also, I hear/read a lot of complaining about instability but I’ve honestly never had a crash that wasn’t on an experimental branch like RT or the edge release of upstream. However step 0 above should help if you’re worried about that.

    cyborganism, in What are some interesting devices powered by Linux?

    The vast majority of the web, really.

    SnotFlickerman,
    @SnotFlickerman@lemmy.blahaj.zone avatar

    Nearly all of AWS.

  • All
  • Subscribed
  • Moderated
  • Favorites
  • linux@lemmy.ml
  • localhost
  • All magazines
  • Loading…
    Loading the web debug toolbar…
    Attempt #

    Fatal error: Allowed memory size of 134217728 bytes exhausted (tried to allocate 22852000 bytes) in /var/www/kbin/kbin/vendor/symfony/http-kernel/Profiler/FileProfilerStorage.php on line 174

    Fatal error: Allowed memory size of 134217728 bytes exhausted (tried to allocate 10502144 bytes) in /var/www/kbin/kbin/vendor/symfony/error-handler/Resources/views/logs.html.php on line 25