off-topic

Max 2026-02-21T14:07:30.946689Z

Triple stores in the wild! https://github.com/wolfoo2931/linkedrecords

emccue 2026-02-21T19:49:14.158809Z

Open prompt: if you could travel back in time and do "the JVM ecosystem" differently, how would you structure the way in which people publish, share, and consume libraries? In this hypothetical you have complete foreknowledge of how Java, Clojure, etc. evolved and can time travel as much of that back as you want. I have my own thoughts but don't want to influence responses too much. I just want to see if anyone else has gone down this rabbit hole

john 2026-02-27T20:00:55.972889Z

Well that didn't take long. Repos with free agents attached: https://claude.com/contact-sales/claude-for-oss

emccue 2026-02-28T01:33:22.660949Z

I'm tired of pretending their logo isn't a butthole

john 2026-02-28T03:30:20.872279Z

Lol

dpsutton 2026-02-21T19:50:03.324069Z

iโ€™d make a bytecode that runs on an abstract virtual machine that has strong promises of backward compatibility

dpsutton 2026-02-21T19:51:36.155129Z

iโ€™m interested to hear your ideas. i like the state of it, but i suspect iโ€™m just complacent with the current world

phronmophobic 2026-02-21T19:52:38.518509Z

Inevitably, some will mention Unison and I will say "not that".

๐Ÿ˜ 2
๐Ÿ‘‹ 1
phronmophobic 2026-02-21T19:54:38.567339Z

There's a bunch of ways in which code is not data, even for clojure. Instead, it is text oriented and file oriented. I've been thinking about this just in the context of clojure, and I think there are ways to start moving towards code as data.

emccue 2026-02-21T20:08:13.725709Z

I'll highlight some freedoms then You can decide on a different artifact format than jars, different metadata format than poms, different authentication and management structures for repos, entirely change what a "repo" is, etc

phronmophobic 2026-02-21T20:14:00.234829Z

having more options isn't necessarily better (it's also not necessarily worse). I think it's better to frame how things should be different around what problems you are trying to solve.

phronmophobic 2026-02-21T20:25:48.414189Z

As just one example of a problem. A lot of utility functions in clojure are just a few lines. There's not really a convenient way to grab just the utility function and its dependencies.

โž• 2
2026-02-21T20:25:55.457069Z

I have very mixed feelings about the strong separation from native code in the jvm. But would weakening that weaken the safety guarantees you get so marking larger systems would be harder

phronmophobic 2026-02-21T20:28:27.458899Z

Packaging, distributing, and loading native resources for jvm libs is a huge pain.

phronmophobic 2026-02-21T20:29:30.164569Z

Not quite the same, but packaging, distributing, and loading large application resources is also painful.

2026-02-21T20:29:42.697319Z

It would be interesting to redo something very maven like, but instead something like a DHT storing artifacts

phronmophobic 2026-02-21T20:31:14.729319Z

Part of the problem with native resources is that if you're targeting linux, then precompiled binaries often don't help (it's usually ok on OSX and Windows).

2026-02-21T20:31:32.097869Z

Again tricky, might cause adoption issues, how do you police what does in the DHT, mavens kind of loose federation around the big central repos may be best

2026-02-21T20:38:17.997399Z

There was some suggestion I saw somewhere to use ed25519 (64 bytes?) signatures in versions

emccue 2026-02-21T20:47:39.583729Z

What is a DHT?

john 2026-02-21T21:02:55.741779Z

Distributed hash table

john 2026-02-21T21:03:42.829799Z

P2P

john 2026-02-21T21:05:33.326349Z

Yeah, artifacts as globally addressable URIs

john 2026-02-21T21:06:36.329059Z

Js vm deps resolution is handy in that regard

john 2026-02-21T21:07:57.985579Z

Some distributed, federated rdf scheme or a crdt, that hosts "repos"

john 2026-02-21T21:10:20.894629Z

Torrent swarming for deps downloads

2026-02-22T00:30:48.269829Z

The Unison approach is a great idea. Iโ€™m building a strong type Lisp with Unisonโ€™s content-hash concept and a simple interop feature like Clojure. The main platform is JVM.

emccue 2026-02-22T02:36:24.628349Z

I'm asking a genuine question here - what properties of DHTs and artifacts as globally addressable urls are desirable (for jvm stuff) and how many of those are equally delivered by doing a torrent like thing just for artifact retrievals

emccue 2026-02-22T02:36:37.080659Z

If that's not a well-formed question let me know or just rant what's in your head

2026-02-22T02:40:58.599959Z

In some ways because a DHT is on its face "untrustworthy" because there is no central authority, it would force things like signature checking

2026-02-22T02:41:59.749209Z

In some ways it is solving a social problem with tech, making a community resource run in a p2p way

john 2026-02-22T05:07:58.218979Z

I'm a bit of an information anarchist. I think information wants to be free. A hacker ethic of sorts. And with it comes an ethic of decentralization and distributed trust. Git deps for clj is an escape hatch to a global uri scheme. It's a url with source hanging off. That could be an ipfs resource or some future unison uri like thing. Does unison solve trusted vs untrusted code? Can it block user scripts in domain code? I feel like you need a metered sci runtime to sandbox untrusted code.

emccue 2026-02-22T15:52:36.838219Z

@smith.adriane can you elaborate on the Linux native libs issue?

emccue 2026-02-22T15:54:01.114399Z

And I read something recently - that I will try to find the link for - which called repositories something like "a wicked problem" where the way you formulate the problem statement determines your solution

emccue 2026-02-22T15:54:31.637969Z

And there is no solution which will make everyone happy + it's all constrained by social realities

emccue 2026-02-22T15:59:26.799639Z

I don't think my problem statement would include "things should be more trust-less."

emccue 2026-02-22T16:00:01.018739Z

Rather more things like "development should be funded and compensated" and "transitive risks should be made visible"

john 2026-02-22T16:04:02.611449Z

Does it include runtime foreign dep injection?

john 2026-02-22T16:04:34.029489Z

or runtime dep resolution

emccue 2026-02-22T16:04:36.114579Z

@john I think I would describe that more as "information libertarian" - very crypto bro coded

john 2026-02-22T16:05:07.329299Z

I think it's an ethic that came before crypto

john 2026-02-22T16:09:31.398349Z

But yeah I think a lot of crypto bros ended up camping out in the same intellectual waters. There's some overlap in philosophy. Maybe different motives.

john 2026-02-22T16:13:01.966789Z

Things like the right to encrypt arbitrarily. If you're invested in algorithms that require encryption freedom, you're going to have stronger opinions over your rights around that.

emccue 2026-02-22T16:25:08.602519Z

Another banger

emccue 2026-02-22T16:25:59.897419Z

I think part of why requiring single functions and their dependencies by hashes doesn't appeal to me is simply because I think there are multiple granularities of usage

emccue 2026-02-22T16:26:14.722109Z

Leave off the of usage for a second. I'll think of the better way to describe it

emccue 2026-02-22T16:26:37.957759Z

But a human being or group of human beings developed software

emccue 2026-02-22T16:26:45.688179Z

Then that software is bundled into artifacts

emccue 2026-02-22T16:26:57.233319Z

Then your software consumes a portion of the functional behavior of that artifact

emccue 2026-02-22T16:27:16.478039Z

I think the part that matters more isn't the artifact in the middle - which is what most schemes focus on

emccue 2026-02-22T16:27:24.262149Z

And I also don't think it's the usage chain at the bottom

emccue 2026-02-22T16:28:36.293269Z

I think it's the very top. You depend on multiple artifacts written by Joe schmo in Lansing Michigan. Joe schmo is not funded. He also does it in his spare time. It's the xkcd comic all the way down.

emccue 2026-02-22T16:29:06.924289Z

My hypothesis is that this only has worked so far because software as a field has been generally lucrative. IE even the people doing it for free in their spare time probably have a six-figure job and that subsidizes their work

emccue 2026-02-22T16:29:47.155619Z

If that ever changes, or we reach the actuarial expiration date on a lot of these folks, we'll hit a kind of software maintenance collapse

john 2026-02-22T16:30:34.610919Z

It's theorized to be a "gift economy" that only happens in a surplus/abundance scenarios, yeah

john 2026-02-22T16:31:33.139819Z

"The Cathedral and the Bazaar" frames it that way IIRC

emccue 2026-02-22T16:31:54.097469Z

It's not that I think there should be a central authority on what gets published or not - it's that I think trust relationships should be made explicit, rather than implicit

emccue 2026-02-22T16:32:12.917999Z

The relationship exists regardless

emccue 2026-02-22T16:32:58.114309Z

Like sonatype has a thing where they will fund through subscriptions to their service the most popular packages. That's not bad, but I think we all know that most software has a dependence on a long tail of small libraries.

emccue 2026-02-22T16:34:26.011189Z

part of why I wanted to hear other people's solutions is because I think I can work backwards from their solution to problems they see

2026-02-22T16:35:00.036219Z

That is basically the great man theory of history applied to software right? There are these libraries that people depend on and they come from these unique individuals and couldn't come from anywhere esle

john 2026-02-22T16:36:59.711949Z

That's an interesting perspective

emccue 2026-02-22T16:38:17.615439Z

No - it's not they are the only people who could maintain these bits of software or could have produced them - it's that they are in reality only maintained by one person

emccue 2026-02-22T16:38:56.223759Z

Our repositories do not represent the concept of "I want this software artifact, but it's maintained by company B instead of company A"

emccue 2026-02-22T16:39:13.767559Z

But relationships like that do exist once you step outside of the repositories. For instance the jvm itself

emccue 2026-02-22T16:39:50.793979Z

You download the jvm which is a source repo, then that is built into artifacts and distributed under terms by different providers. Oracle Amazon Google, etc. are all providers you can get "java.desktop" from

emccue 2026-02-22T16:40:41.346799Z

Whereas once something gets on a maven repo you can pick a different repo or do a lot of things manually - but ultimately org.clojure/clojure is only available from one provider per repo

emccue 2026-02-22T16:43:26.817049Z

So I don't think it's "the great man theory" but I also don't think it's your classic venture capitalist "all the devs are interchangeable" either. Maintenance of a software artifact requires domain knowledge if nothing else. I'm sure we can find (or build up) another curl maintainer, but no one is actually incentivized to be the curl maintainer

john 2026-02-22T16:51:12.866449Z

If an open source project has no "maintainer" then the consumer becomes the maintainer. I don't see the problem. How is complaining about having a dependency on an unmaintained artifact anything other than saying, "not it!"?

emccue 2026-02-22T16:52:37.222309Z

The problem is that that does not happen in practice

john 2026-02-22T16:52:43.780969Z

I guess it's the fact we take it for granted and are mostly blind to it

john 2026-02-22T16:52:45.302849Z

yeah

2026-02-22T16:55:47.980829Z

It is the view that where we are now is important so what got us here must be important

2026-02-22T16:58:46.098179Z

(I don't know that the group that brought us the ideas of rockstar devs and 10x programmers can be entirely characterized as having an interchangeable view of devs)

john 2026-02-22T17:03:51.300329Z

Well hey, AI makes maintenance easier now. In a few years, every repo will have a free agent attached. Repo owners will have more automatic actions for maintenance related activities.

john 2026-02-22T17:05:07.414919Z

What are the chances most human repo owners are merging commits from mostly bots in 5 to 10 years?

john 2026-02-22T17:10:01.332359Z

We may be trying to advertise clojure to agents in the future, trying to get them to use our language, so that they choose to build in it. What open source projects will billion dollar agent economies sponsor and donate maintenance resources to?

john 2026-02-22T17:13:16.173219Z

hmmm, is targeting advertisements towards agents a form of injection attack? ๐Ÿค”

john 2026-02-22T17:13:43.595469Z

I guess advertisements in general are injection attacks lol

2026-02-22T17:43:33.517789Z

A lot of VC culture can be characterized as contempt for the masses, and worship for heroes, so very great man of history

emccue 2026-02-22T17:58:06.647989Z

@john counterpoint, that's insane

emccue 2026-02-22T17:58:33.880379Z

Anyways, I guess I have no choice but to write up what I'm thinking

Zeniten 2026-02-21T21:13:22.397819Z

A new lisp: https://loonlang.com/ > A functional language with invisible types, safe ownership, and algebraic effects. โ€ข https://campedersen.com/loon โ€ข https://news.ycombinator.com/item?id=47094429

๐ŸŽ‰ 2
๐Ÿ™ƒ 2
Jack Arrington 2026-02-27T16:30:03.148829Z

I kinda love the square brackets ๐Ÿ˜†

1
2026-02-21T21:16:00.195699Z

Cool, but square brackets ? Really ?

john 2026-02-21T21:23:28.990229Z

Lol it's opinionated

john 2026-02-21T21:23:40.509569Z

Super interesting type system

2026-02-21T21:25:59.587599Z

Ya, it's just one of those irks that will be irrationally hard for me to get over. Just like how I didn't Ruby style begin/end ๐Ÿ˜…

2026-02-21T21:32:40.647909Z

In terms of convenience I can see why square brackets could be good, because to make a ( I have to shift+9 (two keys) whereas a square bracket is just one key.

๐ŸŽฏ 1
mdiin 2026-02-21T21:43:10.980409Z

Depends on your keyboard layout. On a Danish layout both are two keys, shift+ or altgr+.

mdiin 2026-02-21T21:43:18.664379Z

I do find the argument for using square brackets a bitโ€ฆ underwhelming? > โ€œSquare brackets replace parentheses for a clean, uniform syntax.โ€ Are parentheses dirty? Do two parentheses not look uniform?

mdiin 2026-02-21T21:44:26.691379Z

But the type system does look interesting.

2026-02-21T21:47:26.279209Z

I program with a US ANSI layout, but in my native Estonian keyboard it would also be 2 keys for both I guess (I got used to programming in US ANSI because 2 decades ago when I started learning HTML, the < and > were very uncomfortable in my own languages layout).

john 2026-02-21T21:48:46.830519Z

I one time wondered what it'd be like defining forms with vectors and applying them with parens, might be an interesting mix. So you don't have to worry about function application in bracket form. Could be neat for some kinds of macrology. Don't think they're doing that here though.

amano 2026-02-21T06:49:45.856349Z

Has anyone used AI website/web page builders? Some people seem to even make websites and mobile apps without manually writing a single line of code. I wonder how they do that. For now, I would build a prototype in AI, learn from the prototype, and then manually write a website. You can show the frontend prototype to prospects, and if they pay, you can write manually while referencing the AI frontend prototype. Even for someone like me who isn't yet comfortable with vibe coding, using AI for learning and quickly sketching frontend prototypes is great. Does anyone use AIs for more than learning and frontend prototype sketching?

amano 2026-02-21T07:22:56.402739Z

I guess vibe coding is also suitable for small projects that don't deserve a real human developer.

amano 2026-02-21T09:32:04.148219Z

Okay.

p-himik 2026-02-21T07:51:58.495459Z

See #ai-assisted-coding.