• 0 Posts
  • 26 Comments
Joined 10 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.


  • pixelscript@lemmy.mltoProgrammer Humor@lemmy.mlNever again
    link
    fedilink
    English
    arrow-up
    8
    ·
    5 months ago

    To me it comes off like you’re irrationally afraid to invoke its name.

    I get and appreciate that you’re trying to make a statement here, but in my opinion it isn’t landing the way you think it is. By giving its name special reverence you’re needlessly elevating it, not diminishing it.



  • I appreciate the gusto, but I find rally posts like this to be extremely irritating.

    Do you really think the people who are saying he’ll just get away with it all don’t think all of these things? Do you think people dropped their morals on the issue and now think “this is fine” because it’s the status quo?

    Pray tell – what can I do, today, as a drop in the fucking ocean, to ensure this specific white collar criminal gets summarily apprehended, convicted, and meaningfully punished for his crimes on a reasonable timescale? What reasonable, concrete action am I supposed to take that will do a damn thing about it that I’m not already doing by dutifully casting my ballots and boycotting support for people and causes I don’t believe in at every opportunity?

    I am convinced there is no such action. The dominos that matter in this specific case were already set long ago. All we can do at this point is make logical predictions about how they will fall. And from my point of view, “Donald Trump will not be meaningfully punished” is looking inevitable. I have no faith in the current stacking of the judicial system to declare an outcome I’d be content with. I and others like me are not happy about it. But we aren’t deluding ourselves either. The train for proles like us doing anything about this now is long gone.

    Now, I don’t think it’s hopeless on the grand scale. We can and should work to claw progress on the general form of this issue over time. There’s lots we can still do about that. Activism, protesting, dragging people to polls, etc. But that will likely be a “plant a tree whose shade you will never sit in” kind of thing.

    Regarding this specific man today, I think we are powerless to meaningfully affect the trajectories of these cases. Anything short of rioting in the streets, casting aside legal process, and marching on the courthouse demanding his head on a pike (in other words, stooping to the level of Jan 6th insurrectionists) is too slow and/or only theoretical. And I am very tired of cheerleaders trying to tell me otherwise when they offer no substantive plan of action.


  • pixelscript@lemmy.mltoProgrammer Humor@lemmy.mlpomni.xml
    link
    fedilink
    English
    arrow-up
    1
    ·
    edit-2
    7 months ago

    I had struggled with Gradle off and on for something like five years before eventually learning that Gradle files were executable code files (as opposed to static data files such as .ini) written in Groovy (as opposed to some unique esoteric Gradle lang), and the code within them interacts with implicitly declared objects.

    All of that could have been figured out very quickly with a cursory look over the documentation. I just never read it until way past the time I should have. That’s on me. I just wanted the stupid magic Gradle incantation that would get my stupid Minecraft mod to compile.

    Also, I gotta say, holy crap I hate Groovy. All of its syntax ““sugar”” just makes it hard to read unless you already know what’s up. The unique ways it makes code look like not code was the bulk of the reason why I took so long to figure out that Gradle files were code in the first place.

    I know you can write Gradle files in Java instead of Groovy, but at this point that just seems wrong. Build files shouldn’t look like source files. I have no objective justification for this, it just doesn’t feel like the way.


  • The replacement for the JavaScript Date API is on the cusp of finalization.

    They just got an RFC proposal approved by the IETF for an extension to the way datetime strings should be serialized that adds support for non-Gregorian calendar systems. That seems to have been the last round of red tape holding them back. Now it’s just a handful of bugfix PRs to merge and browsers can begin shipping implementations unflagged.

    You can watch the progress here if you find it interesting. In the meantime, there is a polyfill out now if you want to get started with it.