• 0 Posts
  • 74 Comments
Joined 1 year ago
cake
Cake day: September 25th, 2023

help-circle





  • Nvidia and AMD broadly cover the same use cases. Nvidia cards are not intrinsically better to my knowledge, Nvidia simply offers ultra high-performance cards that AMD doesn’t.

    If you just need nonspecific games to run decently, a card from either brand will do it. If you need to run the most intensive games there are on unbelievable settings, that’s when Nvidia should be edging out.

    ML dabbling may complicate things. Many (most?) tools are written for CUDA, which is a proprietary Nvidia technology. I think AMD offers a counterpart but I do not have details. You will need to do more research on this.


  • pixelscript@lemmy.mltoProgrammer Humor@lemmy.mlDamn Linux Users
    link
    fedilink
    English
    arrow-up
    16
    arrow-down
    1
    ·
    8 months ago

    I am going to continue to tell people “just get an AMD card”, but only if they have indicated to me that they are shopping for new parts and haven’t committed to any yet.

    Giving that advice to someone who already has an Nvidia card is just as useless as those StackOverflow answers that suggest you dump your whole project architecture and stuff some big dumb library into your build to solve a simple problem.



  • It’s a huge win, but not the kind of win people reading the statistic with no context (like me) probably thought.

    I’m sure a lot of us looked at “15 percent of desktop PCs in India run Linux” and, regardless of whether it was hasty and irresponsible for us to do so, extrapolated that to, “15 percent of Indian PC users are personally selecting Linux and normalizing its paradigms”.

    But in reality, it sounds more like “15 percent of Indian PC users use Linux to launch Google Chrome”. Which is impressive, but not the specific kind of impressive we wanted.

    It feels a bit like how I imagine, say, a song artist feels when they pour their heart and soul into a piece of music, it gets modest to no traction for a while, and then years later a 20 second loop becomes the backing track for a massive Tiktok meme, and almost zero of that attention trickles back to their other work.


  • Stateless functions still deal with state, they just don’t hold onto it. Without state to mutate, a so-called stateless function doesn’t do anything.

    In declarative languages, your state is the sum of everything you’ve declared. You don’t query results out of thin air. Computational results logically conclude from everything you set up.

    HTML ““has state””, as in it has a DOM, but it doesn’t do anything with it. You don’t mutate the DOM after it’s built, or query the DOM to compute results that weren’t trivially evident from the state you declared.

    You can do those things with JavaScript. But all that proves is JavaScript is a programming language, and HTML is just a data format it can interact with.



  • The bar for me is whether the language describes an executable program that has state and control flow.

    You could perhaps be generous and describe the DOM as a (write-only) state and the parser as a control flow. I don’t, personally.

    HTML is just a data container format to me. Belongs with the likes of XML, JSON, JPG, PNG, GIF, MP3, MOV, etc.

    The umbrella term I’d use for all of these is “coding”. That’s the skill of understanding structured languages and format specifications, and understanding how you can and can’t piece things together to make something coherent. This is a critical requisite skill to programming. But programming is more.

    Programming is the art of juggling of state and control flow in clever ways to trick funny rocks into computing something you don’t know. It doesn’t need to be general purpose, but I would argue it indeed needs to have a purpose. It has to be something more than just a pile of declarations you know from the outset. Otherwise it’s just structured data.


  • There are really only three licenses you should ever consider when making a new project in earnest: GPL if you want it to stay free forever, MIT if you don’t care. Put an L in front of GPL if your project is a library. The end.

    Any CC license including CC0 looks fine on paper, and they are court-tested, but anyone with a legal department won’t risk dealing with one in the context of software, because CC licenses are for creative works and scientific research, not software. The main thing they’re missing is a warranty release.

    The Unlicense feels like an earnest attempt to fill the void that CC0 fails to fill, but it isn’t a tested license. Everyone with a lawyer won’t touch it with a 10 foot pole because they don’t want to be the ones to find out how enforceable it really is. Besides, the only thing it gains you over the MIT is the ability to go uncredited. Which is nice feature; if people didn’t want this we wouldn’t have so many attempts to make a license that has it. But I feel like of all the features of a free software license one should be concerned about, explicit lack of credit is a pretty low-rung one.

    Direct public domain insertion is good and effective, but is not global. Many places in the world have no formal legal system to do this (Germany is a famous example). PD dedication without a permissive fallback license makes your code completely unusable in these places. It’s exactly why the CC0 and Unlicense exist in the first place.

    Every single other license is either a meme license not worth the toilet paper it’s written on, a weaker version of the GPL/MIT, or the GPL/MIT with extra steps.


  • pixelscript@lemmy.mltoProgrammer Humor@lemmy.mlPHP Moment
    link
    fedilink
    English
    arrow-up
    2
    ·
    8 months ago

    PHP stack traces are effectively identical to Java’s in every metric I’m concerned about.

    If you get them sensibly in a log file, anyway. If you allow PHP to render this god awful fugly table inline with your page? Well, have fun. Yes, all the same info is there, and on paper it’s organized in an easier to read format. But oftentimes the table will collide with and mangle with other elements and styling on your page, making the trace irritating or impossible to read.

    This isn’t much of a problem of course, because aforementioned log file is absolutely the way to do it in the first place, and PHP lets you. And hey, absolutely obliterating your page DOM in strange and exciting ways on error sounds like a fantastic way to ensure errors get caught and addressed in testing, so even the unpredictable mangled DOM bullshit is useful in its own way.

    But if someone wants to dunk on PHP for at least outwardly appearing to promote trying to debug it with these awful stack trace tables, I think that’s a well-earned roasting.


  • There is a long, long list of classifications they may put you in. I believe appointing one to you is their job, so you don’t get to pick. I read through all of these and couldn’t decide which of them really applies to, “I am building a FOSS app/library”.

    There is a “scientific research” designation. Does that count? Well, if so, it says this:

    Scientific research does not include activities of a type ordinarily carried on as an incident to commercial or industrial operations, as, for example, the ordinary testing or inspection of materials or products, or the designing or construction of equipment or buildings.

    Is building software “designing or construction of equipment” that is “incident to commercial operations”?

    Maybe it belongs under classification U41, which is Computer Science? Does building software count as “research” into comp sci for the benefit of the general public?

    Maybe it’s W80, public utilities? I think that’s intended more for municipal utilities like electricity, water, gas, and sewer, not public software projects.

    I really have no clue. Here be dragons.


  • IANAL and I have zero experience doing anything remotely like this.

    But from my cursory reading of the IRS instructions on their website, doing this in the US specifically is more or less a two step process:

    1. Form an organization by filing with your local state. Every state handles this process differently; in some (most?) this can be as straightforward as filling out a form, paying a processing fee on the order of $100 or so, and waiting for approval. Just don’t form an LLC in particular, as that complicates the next step.

    2. Fill out Form 1023-EZ with the IRS. This requires proving your organization qualifies for tax exemption (it is not clear to me whether this would) and a filing fee of $275. Your org also cannot possess more than $250,000 of assets, cannot receive more than $50,000 of revenue from donations within the span of a year, and cannot be registered as an LLC. If you fail to meet these, you need to fill out the regular Form 1023, which I believe is more involved and has a more expensive filing fee.

    If both of these forms are accepted, kapow! You are now a tax-exempt organization, and other corporations can charitably donate to your project for tax breaks. Just remember to do your station-keeping tasks like filing your annual company and tax exemption status renewals, reporting your earnings to the IRS, and sending receipts to donors.


  • I use KDE on Debian and did not encounter this problem when I did the reverse action (migrated /home from a second drive back to the system drive).

    This may be an insulting question, but are your files in the new home partition inside a /home directory on that partition? Because if they are, that would definitely mess it up. If you mounted that to /home in your fstab file, then the path to your home dir would be /home/home/user instead of /home/user. Your user directory needs to be at the root of the filesystem on that partition.

    I expect you did not make this mistake, but a sanity check never hurts…

    Oh, and check the files on the new partition with ls -l as well. See who owns them. If you did the copy with the root account or with sudo, the owner of the files might be root. They should be owned by the user you are trying to log in as.


  • I can’t give you precise directions on how to troubleshoot this, hoping someone else can chime in with some wisdom.

    What I can tell you is that being able to log in and then failing to launch a session is definitely evidence that your system either cannot find or cannot access the /home directory. I ran into the same thing not too long ago, but I guarantee you that we don’t have the same problem. Mine was file permission related due to installing a new OS. You have the same OS.

    When you installed your OS, did you create a root user account? Not an account that can use sudo, I mean the root user. That user has a special home directory, /root, which is entirely separate from /home. If you can find a guide that tells you how you can boot your OS as the root user, try that.

    Put your system back into the broken state with the new partition in the fstab file, reboot, log in as root, and check the filesystem. If you did things correctly, a /home directory should be there, and there should be files in it. If you don’t see it, it means for whatever reason it failed to mount on startup. Try using the mount command manually to force it to mount, and see if it gives an error. If it works with the command, it means your fstab is not correct.

    Best of luck! Welcome to the Linux experience… lmao


  • or is it a really good OS for privacy that sacrifices in usability?

    Privacy and usability are inversely correlated. Anyone who tells you otherwise either has a relatively weak definition of “privacy” or a relatively exotic definition of “usable”. If you’re at the point of installing an OS like Gentoo just for its privacy benefits alone, I’d say you’re already the latter case, even from the perspective of most fellow Linux users.

    Of course, that doesn’t necessarily imply very un-private software is always very usable, or that highly privacy-respecting tools with good UX don’t exist. Just that most highly UX-polished software tends to have poor privacy, and most privacy-focused software expects the user to do a lot of hoop-jumping to make up for all the systems and workflows the user can’t utilize due to having some dealbreaking non-privacy-respecting component to them.


  • Here’s an overview of how Linux reads its filesystems on boot:

    1. You press the power button on your PC.
    2. Your motherboard receives power and begins a process called Power-On Self-Test, or POST. This is essentially the motherboard “feeling out” on all of its ports to see what’s connected. It senses all of your hard drive(s).
    3. The motherboard picks one of the partitions on one of the connected drives and tries to run it as an operating system. For a linux system, you want this to be /boot.
    4. /boot finds your actual system partition and tries to spin up the OS using it. This partition becomes the “main” one you’ll see by default when it’s fully up and running.
    5. At some point in the boot process, Linux checks the contents of the file at /etc/fstab. “fstab” here is short for “file system table”. It’s basically a list of other partitions plugged into your PC, and a mapping of where it should be mounted in your filesystem. If your system partition was Partition A, for example, and you had another Partition B that you want to be accessed at the path /B, you’d add a line to your fstab file that says something to the effect of, “hey, reach out to the connected partition with ID <long id string>, and if it’s there, create the folder /B, and make the files inside of the partition show up there.” This is called “mounting” the filesystem. You can do it manually at any time with the mount command. The fstab file is just a way to get Linux to auto-mount permanent partitions on startup. You can mount any drive to any path, including /home.

    What you need to do is:

    1. Format your new drive, and create a new partition there.
    2. Mount the new partition with the mount command. Park it anywhere you want. /media/new_home or whatever you like. This will just be a temporary place.
    3. Copy everything from your /home directory to the newly mounted one.
    4. Move the existing /home folder to literally anyplace else than where it currently is. \home_old would do. It just needs to be out of the way. You almost certainly want to do this only when logged in as the root user, or from another OS running off a USB. You will not be able to log in as any user after you do this until you finish the following steps.
    5. Edit your /etc/fstab file to point your new home partition to the path /home. This will “hook up” the new partition.
    6. Reboot to make Linux mount the new partition.
    7. Verify everything works.
    8. Delete the backup home directory.

    Answering some of your questions:

    Can /home live on a separate drive from the system partition?

    Yes. Linux does not care in the slightest where any mounted drives are. A drive is a drive is a drive. If it mounts, it mounts. Just make sure it’s in your fstab file.

    How should I organize my partitions?

    There is no right answer. It depends entirely on what you need and how you intend to use your PC. But since that answer is unhelpful, I’ll tell you how I’ve done mine. I currently have a single 2TiB SSD split up like this:

    [ 200 MB boot | ~500 GB system | 2 GB free | ~1.5 TiB home | 8 GB swap ]

    Boot comes first and is tiny. System is probably an order of magnitude bigger than it ought to be, but whatever. 2 GB of deliberately unallocated space is there for the exceedingly rare situation where a dumb bug chews up all the storage on the system partition rendering it un-runnable; it’s emergency expansion space I can tack on to get it running just long enough to resolve the problem. Home gets the lion’s share. And swap goes at the end, where home can cannibalize it if some day I decide I don’t need so much swap space.

    You would probably organize your drives in a similar way, except one drive would be entirely dedicated to /home and nothing else, and system taking up the bulk of the other drive. That would be the easy and naive solution. Some users may be inclined to create other partitions for organizational purposes. I personally don’t care for that organizational pattern, so, w/e.

    I cannot help you with your display troubles. :(