Readit News logoReadit News
whilenot-dev commented on Architecting large software projects [video]   youtube.com/watch?v=sSpUL... · Posted by u/jackdoe
manoDev · 12 days ago
That’s not how I read “Don't ever implement good-enough-for-now APIs”.

Requirements _may_ change, but it’s much harder to have consumers move to a new API. Once it’s published, it’s a contract you don’t want to break.

That doesn’t mean you need to design an extremely flexible and future-proof API to the point it stops making sense — it’s a false dichotomy.

What you can do is take your time designing an API that still makes sense as long as possible, until your understanding of the domain has changed so much that it’s a different shape altogether.

Throwing your hands up and saying “it’s impossible” is easy, the art is in figuring out how much has to change until you have to say that.

Design is a game of push-pull between context and form, and you can add tolerances both ways.

whilenot-dev · 11 days ago
Another way to put it: Software isn't just stale building blocks, it's an ever evolving ecosystem with varying lifetimes. Developers should embrace the different periods during the lifetime of software, and model with them, not around them.
whilenot-dev commented on Why are there so many rationalist cults?   asteriskmag.com/issues/11... · Posted by u/glenstein
toasterlovin · 13 days ago
I don’t think we disagree. I’m not taking issue with scientists having jargon, which I agree is good and necessary (though I think the less analytical academic disciplines, not being rooted in fact, have come to bear many similarities to state-backed religions; and I think they use jargon accordingly). I’m pointing out that I specifically intended to exclude professionals by scoping my statement to “social groups”. Primarily I had in mind religion, politics, certain social media sites, and whatever you want to call movements like capital R Rationality (I have personally duck typed it as a religion).
whilenot-dev · 13 days ago
> I’m pointing out that I specifically intended to exclude professionals by scoping my statement to “social groups”.

I think your argumentation is a generalization that's close to a rationalist fallacy we're discussing:

> a social group with a lot of invented lingo is a red flag that you can see before you get isolated from your loved ones.

Groups of artists do this all the time for the sake of agency over their intentions. They borrow terminology from economics, psychology, computer science etc., but exclude economists, psychologists and computer scientists all the time. I had one choreographer talk to me about his performances as if they were "Protocols". People are free to use any vocabulary to describe their observed dynamics, expressions or phenomena.

As far as red flag moments go, the intent to use a certain terminology still prevails any choice of terminology itself.

whilenot-dev commented on Happy BuyNothing Day   justbuynothing.com/... · Posted by u/Improvement
steanne · 17 days ago
especially with art, "how hard is this going to be to clean?" helps too
whilenot-dev · 16 days ago
Maintainance in general, excludes all IoT electronics right off the bat for me.
whilenot-dev commented on Cursed Knowledge   immich.app/cursed-knowled... · Posted by u/bqmjjx0kac
motorest · 18 days ago
> I think you got that all wrong and strongly misinterpret "modern functionality" as some generic library here...

I didn't. I am telling you exactly why polyfills exist, and why people use them.

More importantly, I am explaining to you why this scheme is successful.

You don't need to write any wall of text that adds nothing. Read the facts I laid out, and use that to either understand how things work, or don't. It's your choice.

whilenot-dev · 18 days ago
I did just explain to you why this "scheme" in the "for-each"[0] package has nothing to do with the forEach method in the Array object[1] - method VS function for once, doesn't implement a spec'ed feature secondly.

More generously, I am explaining to you why your definition of a "polyfill" "is [NOT] successful" and isn't how it's commonly understood.

But you do you, it's fine.

[0]: https://www.npmjs.com/package/for-each

[1]: https://developer.mozilla.org/en-US/docs/Web/JavaScript/Refe...

whilenot-dev commented on Cursed Knowledge   immich.app/cursed-knowled... · Posted by u/bqmjjx0kac
motorest · 18 days ago
> Are you serious here?

I am.

If you check the definition of polyfill, you'll eventually arrive at something like the following:

> A polyfill is a piece of code (usually JavaScript on the Web) used to provide modern functionality on older browsers that do not natively support it.

https://developer.mozilla.org/en-US/docs/Glossary/Polyfill

I think we would agree that foreach fits the definition, happy path, and whole purpose of a polyfill.

if you read up on forEach, you will notice that Array.prototype.forEach requires objects to be callable.

https://developer.mozilla.org/en-US/docs/Web/JavaScript/Refe...

whilenot-dev · 18 days ago
> I think we would agree that foreach fits the definition, happy path, and whole purpose of a polyfill

I think you got that all wrong and strongly misinterpret "modern functionality" as some generic library here...

Runtimes are developed against a certain spec, in this case ECMAScript, and "modern functionality" is meant as addition to iterations of such a spec. As it happens, iterations of specifications and runtimes are seldomly provided by the same entity, so both are moving forward with newly supported features, or more "modern functionality", individually.

This behavior provokes some difficult challenges for developers. For once, they would like to work against the latest spec with its newest features, but, due to the natural dynamic of various entities doing things in different ways, these developers would also need to support older/other runtimes where such a feature is not (yet) implemented natively. Now, to bridge these supported-feature-gaps developers came up with an interesting concept: Instead of waiting and relying on the runtime to support such a new feature, it might be possible to provide an implementation as workaround, hence the "polyfill".

So, if something A isn't currently in the spec, nor B even proposed or in discussion to be in the spec, nor C provided by any current runtime (and relied upon by developers), then I'd conclude that such a functionality is not considered to be a polyfill, as it isn't to be seen as workaround for the supported-feature-gaps due to the difference in runtimes.

whilenot-dev commented on Cursed Knowledge   immich.app/cursed-knowled... · Posted by u/bqmjjx0kac
motorest · 18 days ago
Older browsers don't support foreach, so it's not like a polyfill is unheard of

https://caniuse.com/?search=foreach

whilenot-dev · 18 days ago
Are you serious here? It isn't a polyfill, it's supposed to work on plain objects which isn't part of the spec at all. Besides that, Array.prototype.forEach is only unsupported in Android Browser 4.3 (from July 2013) and IE8 (from May 2008). Seems like a weird reasoning to add it to packages in 2025.
whilenot-dev commented on Cursed Knowledge   immich.app/cursed-knowled... · Posted by u/bqmjjx0kac
whilenot-dev · 18 days ago
A package "for-each"[0] that depends on a package "is-callable"[1], just to make forEach work on objects? Nope, not buying the goodwill here.

[0]: https://www.npmjs.com/package/for-each

[1]: https://www.npmjs.com/package/is-callable

whilenot-dev · 18 days ago
To be fair, he himself removed his unnecessary dependency that caused the explosion of dependencies: https://github.com/A11yance/aria-query/commit/ee003d2af54b6b...

EDIT: Oops, he just did the changelog entry. The actual fix was done by someone else: https://github.com/A11yance/aria-query/commit/f5b8f4c9001ba7...

whilenot-dev commented on Cursed Knowledge   immich.app/cursed-knowled... · Posted by u/bqmjjx0kac
motorest · 18 days ago
> (...) but a particularly paranoid interpretation is that this person is setting up for a massive, multi-pronged software supplychain attack.

That person might not be doing it knowingly or on purpose, but regardless of motivations that is definitely what is being done.

whilenot-dev · 18 days ago
A package "for-each"[0] that depends on a package "is-callable"[1], just to make forEach work on objects? Nope, not buying the goodwill here.

[0]: https://www.npmjs.com/package/for-each

[1]: https://www.npmjs.com/package/is-callable

whilenot-dev commented on We shouldn't have needed lockfiles   tonsky.me/blog/lockfiles/... · Posted by u/tobr
beart · 20 days ago
I don't think you can republish to npm.

https://docs.npmjs.com/cli/v11/commands/npm-publish

> The publish will fail if the package name and version combination already exists in the specified registry.

> Once a package is published with a given name and version, that specific name and version combination can never be used again, even if it is removed with npm unpublish.

whilenot-dev · 19 days ago
> if the package name and version combination already exists

I was talking about tags above, eg. "npm i react@next", and you can use tags in your package.json. npm allows you to republish them at will, and you can never force your users to use a specific version.

whilenot-dev commented on Litestar is worth a look   b-list.org/weblog/2025/au... · Posted by u/todsacerdoti
arthurcolle · 19 days ago
Iam-abbas has a good FastAPI boilerplate
whilenot-dev · 19 days ago
If you're referring to this[0] GitHub project I'd highly disagree. I will never understand the minds of people that structure their apps like this:

  app
  ├── controllers
  │   ├── task.py
  │   └── user.py
  ├── models
  │   ├── task.py
  │   └── user.py
  ├── repositories
  │   ├── task.py
  │   └── user.py
  └── schemas
      ├── extras
      │   ├── current_user.py
      │   ├── health.py
      │   └── token.py
      ├── requests
      │   ├── tasks.py
      │   └── users.py
      └── responses
          ├── tasks.py
          └── users.py
A structure around mini apps always turns out to be more beneficial for keeping boundaries intact in the long run:

  apps
  ├── tasks
  │   ├── controller.py
  │   ├── models.py
  │   ├── repository.py
  │   ├── schemas.py
  │   └── service.py
  └── users
      ├── controller.py
      ├── models.py
      ├── repository.py
      ├── schemas.py
      └── service.py
[0]: https://github.com/iam-abbas/FastAPI-Production-Boilerplate

u/whilenot-dev

KarmaCake day557May 2, 2016
About
https://blog.whilenot.dev/
View Original