litchralee

joined 2 years ago
[–] litchralee@sh.itjust.works 28 points 1 day ago (1 children)

I've even seen people vibe code ethernet drivers for freeBSD.

Please make sure to read what considerations that developer had before undertaking that effort using an LLM: https://github.com/Aquantia/aqtion-freebsd/issues/32#issuecomment-3997341698

Specifically, they (the human) were kept in the loop for the entire process, which included referencing the working Linux driver to do a clean-room reimplementation. This already means they have some experience with software engineering to spot any issues in the specifications that the LLM might generate.

Also, Aquantia (before the merger) already had a published FreeBSD driver but it hasn't been updated. So this port wouldn't have to start from zero, but would be a matter of addition support for new NICs that have been released since, but Aquatia hadn't updated the driver.

This is very much not an example of an Ethernet NIC driver being "vibe coded" from scratch, but a seasoned engineer porting Linux support over to FreeBSD, a kernel that already has a lot of support for easily adding new drivers in a fairly safe manner, and then undertaking a test plan to make sure the changes wouldn't be abject slop. That's someone using their tools with reasonable care. In the industry, this is called engineering.

Admiration for what people can do with the right tools must always be put into the right context. Even with the finest tools, it's likely that neither you nor I could build a cathedral.

[–] litchralee@sh.itjust.works 12 points 1 day ago

I don't think they can be force applied to everyone who contributes

This is certainly an opinion, but here is a list of major projects that have a code of conduct: https://opensourceconduct.com/projects . How well those projects enforce their CoCs, idk. But they are applied, otherwise they wouldn't bother writing out a CoC.

it's not fair to hold people to standards they didn't personally agree to

Software development is not the only place which holds people to standards. The realm of criminal and civil law, education, and business all hold people to standards, whether those people like it or not. In fact, it's hard to think of any realm that allows opt-out for standards, barring the incel-ridden corners of the web.

this guy might have just decided to make a project

Starting any project -- as in, inviting other people to join in -- is distinct from just publishing a public Git repo. I too can just post my random pet projects to Codeberg, but that does not mean I will necessarily accept PRs or bug reports, let alone even responding to those. But to actually announce something, that where the project begins. And to do so recklessly does reflect poorly upon the maintainer.

[–] litchralee@sh.itjust.works 19 points 1 day ago (3 children)

I've not heard of Booklore or the critiques against it until seeing this post, but I don't think this take is correct, in parts. And I think much of the confusion has to do with what "open source" means to you, versus that term as a formal definition (ie FOSS), versus the culture that surrounds it. In so many ways, it mirrors the term "free speech" and Popehat (Ken White) has written about how to faithfully separate the different meanings of that term.

Mirroring the same terms from that post, and in the identical spirit of pedantry in the pursuit of tractable discussion, I posit that there are 1) open source rights, 2) open source values, and 3) community decency. The first concerns those legal rights conferred from an open-source (eg ACSL) or Free And Open Source (FOSS, eg MIT or GPL) license. The details of the license and the conferred rights are the proper domain of lawyers, but the choice of which license to release with is the province of contributing developers.

The second concerns "norms" that projects adhere to, such as not contributing non-owned code (eg written on employer time and without authorization to release) or when projects self-organize a process for making community-driven changes but with a supervising BDFL (eg Python and its PEPs). These are not easy or practical to enforce, but represent a good-faith action that keeps the community or project together. These are almost always a balancing-act of competing interests, but in practice work -- until they don't.

Finally, the third is about how the user-base and contributor-base respect (or not) the project and its contributors. Should contributors be considered the end-all-be-all arbiters for the direction of the project? How much weight should a developer code-of-conduct carry? Can one developer be jettisoned to keep nine other developers onboard? This is more about social interactions than about software (ie "political") but it cannot be fully divorced from any software made by humans. So long as humans are writing software, there will always be questions about how it is done.

So laying that foundation, I address your points.

Open source should mean that anyone can write anything for fun or seriously, and we all have the choice to use it or not. It doesn’t matter if it’s silly or useful or nonsense or horrible, open source means open. Instead we shut down/closed out someone who was contributing.

This definition of open-source is mixing up open-source rights ("we al have the choice to use it or not" and "anyone can write anything") with open-source values ("for fun or seriously" and "doesn't matter if it's silly or useful"). The statement of "open source means open" does not actually convey anything. The final sentence is an argument in the name of community decency.

To be abundantly clear, I agree that harassing someone to the point that they get up and quit, that's a bad thing. People should not do that. But a candid discussion recognizes that there has been zero impact to open source rights, since the very possibility that "Some contributors are working together on an unnamed replacement project" means that the project can be restarted. More clearly, open-source rights confer an irrevocable license. Even if the original author exits via stage-left, any one of us can pick up the mic and carry on. That is an open-source right, and also an open-source value: people can fork whenever they want.

How they were contributing is irrelevant

This is in the realm of community decency because other people would disagree. Plagiarism would be something that violates both the values/norms of open-source and also community decency. AI/LLMs can and do plagiarize. LLMs also produce slop (ie nonfunctioning code), and that's also verbotten in most projects by norm (PRs would be rejected) or by community decency (PRs would be laughed out).

We should all feel ashamed that an open source project was shuttered because of how our community acted.

I would draw the focus much more narrowly: "We should all feel ashamed ~~that an open source project was shuttered~~ because of how our community acted". Open-source rights and open-source values will persevere beyond us all, but how a community in the here-and-now governs itself is of immediate concern. There are hard questions, just like all community decency questions, but apart from Booklore happening to be open-source, this is not specific at all to FOSS projects.

To that end, I close with the following: build the communities you want to see. No amount of people-pleasing will unify all, so do what you can to bring together a coalition of like-minded people. Find allies that will bat for you, and that you would bat for. Reject those who will not extend to you the same courtesy. Software devs find for themselves new communities all the time through that wonderful Internet thing, but they are not without agency to change the course of history, simply by carefully choosing whom they will invest in a community with. Never apologize for having high standards. Go forth and find your place in this world.

[–] litchralee@sh.itjust.works 3 points 6 days ago

I second the option of Git + SSH. That will scale to one hundred repos. And if you don't want the repos to be checked out, use "git clone -n" to not do that. It'll just be dozens of repos which only have the minimal .git/ directory. All other repos that specify this one as the upstream will have no issues pulling or pushing code.

You won't have PR features nor a web UI though.

[–] litchralee@sh.itjust.works 3 points 1 week ago

Castle builders

[–] litchralee@sh.itjust.works 10 points 1 week ago* (last edited 1 week ago) (1 children)

In Anglo-American common law, if a party has previously argued a position in one of their own cases, and later argues a different position in a subsequent case that they've a party to, then the doctrine of equitable estoppel would foreclose on certain claims from that party. As usual, the devil is in the details.

Firstly, they must be a party to both the prior and prospective case. A motorist that is injured in a multi-vehicle pile-up cannot assert different facts when suing each of the participants in the crash. However, an advocacy group that files a petition on behalf of another is, by definition, not the party that is bringing suit. Nor is anyone that offers an amicus (ie "friend of the court") brief that advises the court on how a case ought to be decided.

Secondly, the exact things which are foreclosed will depend. The most common benefit available under equitable estoppel is the loss of a presumption of good faith. So if party A is a corporation and claimed in an earlier employer/employee case that their CEO's crass, sex-pest behavior was a result of substance abuse (in an attempt at a medical defense or a defense about temporary inability to perceive the situation), then that assertion -- irrespective of whether it actually won them that earlier lawsuit -- could be used against them in a later case litigated by the shareholders. If the company is sued for the CEO not conveying accurate business info, the defense that their CEO acted in good faith is not going to carry water, if the events coincided in time.

As you can see, the exact remedy that equitable estoppel provides isn't exactly clear-cut in every instance. But the goal is to prevent the same litigant from abusing the judicial system. One cannot come into court on Monday claiming the sky is blue when it's convenient for them, then claim on Wednesday that the sky is not blue when it's inconvenient for them. Two-face assertions are not allowed.

To be clear, these must be actual assertions. Sometimes a civil case can be won merely by the likely possibility that someone else is at fault, making it impossible to determine fault. And so no assertion may be needed as a defense. If a pedestrian is struck and injured by a hit-and-run motorist driving a red car, and five red cars are identified later, any of those motorists can correctly state that there were four other such cars in the area. Pointing out facts unfavorable to the plaintiff is exactly what the defense is supposed to do. But if a motorist actually says "I didn't injure her", then that's an assertion. And judicial estoppel means they may not later claim, for some reason in a later case, that they did do it.

[–] litchralee@sh.itjust.works 8 points 1 week ago* (last edited 1 week ago)

Predominantly in Texas, Buc-ees is nominally a chain of gasoline stations but they're known for the stores attached to the station, selling all manner of kitsch but also fast food. Ok, they're also known for having 100+ pumps at each location. But that's important because it means they've always been located at the periphery of city boundaries, on huge lots, usually on the highways into or out of town.

When the gasoline business dries up, Buc-ees still has other business interests to keep them going in the road travel market, and they have real estate along major corridors that could be redeveloped. One option is to invite businesses that occupy motorist's time while parked charging their electric cars, like wayside attractions (besides Buc-ees itself, obviously). Another would be to fully entrench themselves: develop a hotel so that visiting business people always stop at the Buc-ees before leaving.

So while neighborhood fuel stations would see a slow demise, Buc-ees can turn their fuel locations into new cash cows. This is why diversification is so important.

[–] litchralee@sh.itjust.works 2 points 2 weeks ago* (last edited 2 weeks ago) (1 children)

Whole sections of the country that are zoned for suburban single family housing would not exist as they are today. Not because they'd be illegal or anything, but they'd be incredibly unpopular if most people didn't own a car, which is needed to basically get to or from a suburban neighborhood.

I understand the question to be something like: what happens if a majority of people are absolutely dead-set unwilling/unable to own a private automobile. And I think the immediate answer is that suburban neighborhoods cease to exist, at least at the current density levels. Either a neighborhood must densify so that transit options make sense, or they must aim to become rural living. This also means that things like suburban schools either turn into walkable urban schools, or into small one-room rural schools.

I don't actually think rural living will go away, because the fact is that the grand majority of people -- USA and abroad -- do not prefer rural living. The 18th, 19th, 20th, and 21st Century trends are that people tend towards urban areas, where services and jobs exist. That said, there will always be people that want to live in the hills on 20 acres, and therefore need an automobile. And it's certainly sounds appealing to some, myself included. But that has never been the majority, so if a majority of people refuse owning an automobile, they will also mostly refuse rural and suburban living.

There is no plausible situation where over 50% of people willingly decide to: 1) not own a car, and 2) live in a suburb or rural area. This is from the fact that all other modes of transport into a suburb or rural area are either: 1) nonexistent (eg metro rail), or 2) ludicrously expensive (eg Lyft, or transit with 15% fairbox recovery) if the cost was borne by the people living there (as opposed to being subsidized heavily by other taxpayers.... Ahem, America).

Edit: some more thoughts: standalone strip malls would also change character, because the smaller ones that aren't on a rail or bus corridor would be undesirable commercial real estate. If they still exist, they'll likely be integrated into housing, so as to become the #1 most convenient option for people living there. Captive audience, indeed.

But larger strip malls and shopping centers actually might florish: they usually have enough stores and services that transit already makes sense. Indeed, shopping malls are actually really good transit center locations. But instead of giant parking lots, there would be housing, because why not? People who reject cars have every reason to live next to, or on top of, a mall: fully pedestrianized, air conditioned, lots of stores and dining options. Some places even put schools and post offices in their shopping malls. I would also expect that dwelling soundproofing to get better, because the paper-thin walls of American homes and apartments are awful.

In this way, malls are no different than casinos, cruise ships, and downtowns: a small island of paradise to visit, and is distinct from home. Malls will still exist after cars, the same way that Las Vegas exists in the middle of a desert: it is a big enough anchor that draws people.

[–] litchralee@sh.itjust.works 3 points 3 weeks ago (1 children)

I too have issues with silicone earbuds, and also with them falling out. Which is why I was over the moon when I discovered wireless clip-on earbuds. They meet my criteria of being convenient (because wireless) while also not falling off (because clip-on). The specific ones I bought (Anker Soundcore c30i) are not noise-cancelling, but I found that I can adjust their position up or down my ears to meet conditions. For example, I wear them high up when out in public, to hear wayward automobiles that might run me down.

[–] litchralee@sh.itjust.works 3 points 3 weeks ago* (last edited 3 weeks ago) (1 children)

Fair, though I personally don't let my ISP indirectly dictate what I do with my LAN. If I didn't already have a v6-enabled WAN, I would still manage my LAN using IPv6 private range addresses. There are too many benefits to me, like having VMs and containers be first-class citizens on my LAN, rather than sitting behind yet another layer of NAT. That lets me avoid port forwarding at the border of my home Kubernetes cluster (or formerly, my Docker Swarm), and it means my DNS names correctly resolve to a valid IP address that's usable anywhere on my network (because no NAT when inside the LAN).

I will admit that NAT64 is kinda a drag to access v4-only resources like GitHub, but that's only necessary because they've not lit up support for v6 (despite other parts of their site supporting v6).

This is my idea of being future-ready: when the future comes, I'm already there.

[–] litchralee@sh.itjust.works 5 points 3 weeks ago* (last edited 3 weeks ago) (3 children)

The approach isn't invalid, but seeing as you already have the framework set up to deny all and log for IPv4, the same could be done with IPv6.

That is to say, your router advertises an IPv6 gateway to the global internet, but you then reject it because your VPN doesn't support v6 (sadly). I specifically say reject, rather than drop, because you want that ICMP Unreachable (administratively prohibited) message to get returned to any app trying to use v6. That way, Happy Eyeballs will gracefully and quickly fall back to v6. Unless your containers have some exceptionally weird routing rules, v6 connections will only be attempted once, and will always use the route advertised. So if your router denies this attempt, your containers won't try again in a way that could leak. v6 leaks are more likely when there isn't even a route advertised.

This makes your apps able to use v6, for that day when your VPN supports it, and so it's just a question of when the network itself can be upgraded. IMO, apps should always try for v6 first and the network (if it can't support it) will affirmatively reply that it can't, and then apps will gracefully fall back.

This also benefits you by logging all attempted v6 traffic, to know how much of your stuff is actually v6-capable. And more data is always nice to have.

[–] litchralee@sh.itjust.works 5 points 3 weeks ago (1 children)

I'm so confused on what the point of such a hash would be. If the time that an email was sent was so important, would existing DKIM timestamps also work? Is this basically the digital equivalent of including today's newspaper in a ransom note?

Not to say that DKIM as-used is perfect.

 

(fairly recent NewPipe user; ver 0.27.6)

Is there a way to hide particular live streams from showing up on the "What's New" tab? I found the option in Settings->Content->Fetch Channel Tabs which will prevent all live streams from showing in the tab. But I'm looking for an option to selective hide only certain live streams from the tab.

Some of my YouTube channels have 24/7 live streams (eg Arising Empire), which will always show at the top of the page. But I don't want to hide all live streams from all channels, since I do want to see if new live streams appear, usually ones that aren't 24/7.

Ideally, there'd be an option to long-press on a live stream in the tab, one which says "Hide From Feed", which would then prevent that particular stream ID from appearing in the feed for subsequent fetches.

From an implementation perspective, I imagine there would be some UI complexity in how to un-hide a stream, and to list out all hidden streams. If this isn't possible yet, I can try to draft a feature proposal later.

 

I'm trying to remind myself of a sort-of back-to-back chaise longue or sofa, probably from a scene on American TV or film -- possibly of the mid-century or modern style -- where I think two characters are having an informal business meeting. But the chaise longue itself is a single piece of furniture with two sides, such that each characters can stretch their legs while still being able to face each other for the meeting, with a short wall separating them.

That is to say, they are laying anti-parallel along the chaise longue, if that makes any sense. The picture here is the closest thing I could find on Google Images.

So my questions are: 1) what might this piece of furniture be called? A sofa, chaise longue, settee, something else? And 2) does anyone know of comparable pieces of furniture from TV or film? Additional photos might help me narrow my search, as I'm somewhat interested in trying to buy such a thing. Thanks!

EDIT 1: it looks like "tete a tete chair" is the best keyword so far for this piece of furniture

EDIT 2: the term "conversation chair" also yields a number of results, including a particular Second Empire style known as the "indiscreet", having room for three people!

view more: next ›