• 0 Posts
  • 14 Comments
Joined 9 months 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
    ·
    4 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.


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


  • pixelscript@lemmy.mltoProgrammer Humor@lemmy.mlIT Help Desk
    link
    fedilink
    English
    arrow-up
    16
    ·
    5 months ago

    It bumps the speed and officially supports Displayport and PCIe protocols being tunneled through.

    Also, as a tiny nit for seemingly no other reason than to piss us all off, they have decided the “correct” way to write it is “USB4” (no space). This is in contrast to every previous version of USB such as “USB 3” (space).


  • pixelscript@lemmy.mltoProgrammer Humor@lemmy.mlGit Rules
    link
    fedilink
    English
    arrow-up
    5
    ·
    5 months ago

    You don’t. One of the core aspects of Git is that it fully expects conflicts to be inevitable, and it gives you tools to resolve them.

    I will say that if you learn to aggressively rebase branches, you can at least occasionally reduce the complexity of conflicts.

    If you are working on a long branch and three other branches that conflict with your changes land in the meantime, a simple merge will force you to reconcile all of those conflicts in one big stinky merge commit.

    If you instead rebase after each individual branch lands, you resolve the same number of conflicts but in three smaller, focused steps instead of one big ugly one. You also don’t get a merge commit full of redundant deltas that serve only to resync your branch to master; all the conflict resolution becomes baked in to your individual branch commits.

    Spreading out the problem is not reducing the problem. But it can make fixing the problem less daunting, which has a similar effect.