Hacker Newsnew | past | comments | ask | show | jobs | submit | azangru's commentslogin

In the novel Tom Brown's School Days [0], published in mid 19-th century and depicting a public school in the first quarter of that century, there is a scene describing how students those days used "vulgus-books": collections of previous years' students' homeworks in Latin that new students copied from for their assignments in Latin composition. There was a boy named Arthur in that story who refused to copy from other students' essays, and worked on the compositions himself. He also tried to convince his friends to abandon that practice of copying, and to write their assignments on their own.

This is what this article reminded me of. The student writes how her classmates use help from AI as if she cannot decide for herself to do the work on her own if she cares about learning. She writes as if she is devoid of agency.

The Atlantic published a post on reddit about this article, titled "I’m a High Schooler. AI Is Demolishing My Education." [1] And yet, it is the other students that the author primarily focuses on. Why does other students' cheating demolish _her_ education?

[0] - https://gutenberg.org/cache/epub/1480/pg1480.txt

[1] - https://www.reddit.com/r/ArtificialInteligence/comments/1n7o...


That's an interesting point, but one way I can think is that as AI generated homework is completed by AI, "all natural" student performance may seem abysmal in comparison. The students who use AI to do the "grunt work" like paper writing will have more time to do things like attend office hours, befriend professors, network, get internships, or whatever other useful things they can do with their time.

It makes me think of the rampant cheating culture in the PRC. Cheating generally isn't considered immoral, or, it may be, but the attitude is basically "well everyone cheats, so you better do it too or you'll be left behind." University becomes a performance, and all thoughts are turned towards how to present the best in that performance. If you ask someone that buys into this system about the value of, idk, writing a paper so as to learn the material, they'll be very confused. What's the point of learning the material? The only thing that matters is getting the best grade possible. Then you can get the highest paying job possible. That's all that matters.

This is of course not universal, the PRC is a country with a gajillion people in it, but this is what I experienced at university there and when I returned to the USA and was the defacto "PRC student tutor" at my university because of my Mandarin and time spent there. I must have been offered money to write essays for people over fifty times.

So, I can imagine this happening with AI. What does it matter if you learn the material? You use AI to get a good score and then you use AI to do your job anyway so who cares. AI written emails summarized by AI, replies written by AIs, reports generated by AI, sent, summarized by another AI...


If you don't have anyone around who understands the material differently from the way you do, you can't discuss it with them.

This is not particularly worrisome in basic arithmetic, but severely limits history, philosophy, and arts.


No. Could you try to put your finger on what exactly in this text gives you the vibes?

Also, a sibling comment suggests that "those tiles" is some sort of slop; but I find it no more sloppy than "this little web app" in the preceding sentence. Both are handwavy markers of imprecision common in oral speech. A comment on English Stack Exchange points out that this feature is referred to as the "indefinite this" [0].

[0] - https://english.stackexchange.com/questions/389637/using-thi...


I remember when beacons were recently discussed here, someone mentioned the fetchLater API: https://developer.mozilla.org/en-US/docs/Web/API/fetchLater_...

> the current advise for web components is to avoid Shadow DOM (almost like the plague)

Could you provide the source for this advice?


It may have actually started with Web Components Community Group report itself: https://w3c.github.io/webcomponents-cg/2022.html

--- start quote ---

It's worth noting that many of these pain points are directly related to Shadow DOM's encapsulation. While there are many benefits to some types of widely shared components to strong encapsulation, the friction of strong encapsulation has prevented most developers from adopting Shadow DOM, to the point of there being alternate proposals for style scoping that don't use Shadow DOM. We urge browser vendors to recognize these barriers and work to make Shadow DOM more usable by more developers.

--- end quote ---

And probably continued in HTML Web Components https://blog.jim-nielsen.com/2023/html-web-components/

A more technical and measured take on Shadow DOM is here: https://nolanlawson.com/2023/12/30/shadow-dom-and-the-proble...


It's wrong - both that it's general "current advice", and the advice itself when it does pop up.

Yes, there are some people who say to build web components without shadow DOM, but I'm convinced they're only building leaf nodes so they don't need composition with slots. As soon as they try to build any kind of container element they hit big problems.


In a parallel discussion happening on Mastodon, someone says:

> People coming from React-land can have a hard time reasoning about the difference between a custom element and a template render function and when best to use each

> This abuse of the component system can indeed lead to a massive explosion in nodes on a page and the performance tanks because of that

I know I certainly have that hard time deciding when I need a custom element and when a render function.

[0] - https://front-end.social/@5t3ph/115135994774490769


> As soon as they try to build any kind of container element they hit big problems.

That's not true. Web components that render nothing will contain only their children as nodes, that's good enough for a good amount of container use cases.

So you can have something like:

  <uix-modal>
    <uix-button icon="wifi"></uix-button>
    <dialog>
      <div class="flex flex-col gap-4 p-4 w-[640px]">
       ...
      </div>
    </dialog> 
  <uix-modal>
It could be better, but this little annoyance is still better than React, Angular, and the other options.

> It's wrong - both that it's general "current advice", and the advice itself when it does pop up.

Unless you actually care about the web and its users. Then it turns out it's a very wise advice.

https://w3c.github.io/webcomponents-cg/2022.html

Web Components Community Group: 2022. You are one of the authors:

--- start quote ---

It's worth noting that many of these pain points are directly related to Shadow DOM's encapsulation. While there are many benefits to some types of widely shared components to strong encapsulation, the friction of strong encapsulation has prevented most developers from adopting Shadow DOM, to the point of there being alternate proposals for style scoping that don't use Shadow DOM.

...

Selection does not work across or within shadow roots. This makes fully-featured rich-text editors impossible to implement with web components. Some of the web's most popular editors have issues that are blocked on this functionality

...

Shadow boundaries prevent content on either side of the boundary from referencing each other via ID references. ID references being the basis of the majority of the accessibility patters outlines by aria attributes, this causes a major issue in developing accessible content with shadow DOM.

--- end quote ---

Those are just the tip of the iceberg as these are very explicitly stated in the doc.

Then there's the issues of shifting the responsibility to both developers and consumers to handle Shadow DOM correctly.

Styling/themeing is still pain despite several different specs like shadow parts.

Don't use styles in your components too much, use Javascript to inject CSS into document and shadow trees or else there will be performance impact https://w3c.github.io/webcomponents-cg/2022.html#constructab...

Don't use too many shadow roots or there will be performance impact https://front-end.social/@5t3ph/115135994774490769 (linked in the sibling comment by @azangru)

You can't participate in forms until you write more JS for it, and still your submit buttons will be broken with no solution in sight.

etc. etc.

You don't have to take my word for it. Here's Nolan Lawson, emphasis mine:

--- start quote ---

https://nolanlawson.com/2022/11/28/shadow-dom-and-accessibil...

Shadow DOM is a kind of retcon for the web. As I’ve written in the past, shadow DOM upends a lot of developer expectations and invalidates many tried-and-true techniques that worked fine in the pre-shadow DOM world.

--- end quote ---


Did web components kill your dog or something? You have this truly bizarre fixation on the topic for multiple years now.

Perhaps I care about the direction in which the web is pushed by a very small number of people incapable of seeing beyond their solutions and incapable of admitting their own mistakes.

I'm 100% with you on that.

At no point have I ever gotten the impression that you are even remotely open to seeing other points of view so it’s a bit hard to take the moralistic tone of the brave defender of the web part seriously. I think you just want to yell at people.

Web Components have been in development for 14 years. If you think this is the first discussion of web components, you clearly haven't been paying attention.

All there is to say was said years ago. Today it should be enough to know that, for example, "form associated custom elements cannot be a submit button" issue was opened 6 years ago, in 2019: https://github.com/WICG/webcomponents/issues/814

In 2022 web component group report mentions it in passing: https://w3c.github.io/webcomponents-cg/2022.html#concerns-10

That issue is still open.

Or that web components breaking ARIA was known at least 2019: https://x.com/sarahmei/status/1198069119897047041 and this will not be fixed for another 4-5 years at least.

Imagine if any web framework had issues like that.

That doesn't even begin to cover things like "now every useful spec has to be acutely aware of Shadow DOM shenanigans" which delayed any number of specs like scoped CSS etc


It’s just like an LLM stuck on a loop. It’s just years and years of making the exact same comments, not responding to any counter arguments and then demanding that people take you seriously.

> As a linux admin, I refuse to install npm or anything that requires it as a dep. It's been bad since the start.

As a front-end web developer, I need a node package manager; and npm comes bundled with node.


How in the world did we survive before node?

> in order to do the incredibly unpopular but morally good things

Who is electing the leaders of those states if the things they do are incredibly unpopular?


The notion that states are the perfect reflection of the democratic will is quite silly.

Suppose a party in Europe is elected on the premise that they will provide free ice cream for all. This is an important issue for people, so they vote for the party. When they get into power, they ban ice cream to promote "healthier living".

Most citizens do not support this policy but they did support the government being elected due to various leveraged mechanisms, such as political polarization, identity politics, laws, outright lies & manipulation, etc.

Ironically, these states keep turning over their leadership because it's incredibly unpopular and the new leadership just continues to do incredibly unpopular things.


It is worth noting that the principles behind the online services act are still broadly popular in the UK

https://www.ipsos.com/en-uk/britons-back-online-safety-acts-...


Did you read this link?

>This reluctance extends to different types of platforms. Only around a third would be likely to provide age proof for messaging apps (38%) or social media sites (37%). For user-generated encyclopaedias like Wikipedia, half (51%) say they would be unlikely to submit any proof of age. Just 19% say they would be willing to submit proof of age for dating apps, lowering to 14% for pornography websites.


> But people should also be able to get apps from whatever store they want.

I agree with you. But, as devil's advocate, why not suggest that Apple should be allowed to run as crappy a store as they want, while people should be free not to buy Apple?


People are free to buy Apple (or an Android flavour, or no smartphone at all). But there are many many things which goes into a buying decision than what manner of software delivery is available.

This duopoly does not truly offer a lot of choice, so any criticism must happen from within the confines of the current reality.

I’m not going to tell a pedestrian who wants safer roads to stop being a participant in traffic, I accept that they have very little real choice.

Having to uncritically accept anything and everything the manufacturer of your device does is not really viable and is a recipe for a worse future.


> And what people in western, democratic world think about it?

People are usually asked to 'think about the children'. Pedophiles, drugs, suicides, self-harm, cyberbullying; and whatever other horror stories the media has at hand. This maneuver is usually sufficient to neutralize the opposition.


> Can it also now load ES5 modules?

ES5 standard (released in 2009) didn't have modules.


That answers it. I guess it still can’t! :-/


I need a tooltip, with a pointer; but it seems that the current state of the spec does not allow for pointers; and most explainers studiously avoid this use case, as if this isn't a lion's share of what people do with anchored floating boxes.


Tooltips are normally visible on hover, so the pointer is your cursor. I've never added an additional arrow pointing to the element, nor had any designers ask me to do so. So I'd disagree that such a design is the "lion's share", but am curious what types of apps you create where you do find it to be so?


Someone in a comment below posted a link to Adobe Spectrum design system [0]. You will find similarly shaped tooltips in Shoelace [1], or shadcn [2]. The Popper library has it [3]. Github's design system has it (they call it popover) [4]. It's an extremely common design pattern.

[0] - https://spectrum.adobe.com/page/tooltip/

[1] - https://shoelace.style/components/tooltip

[2] - https://ui.shadcn.com/docs/components/tooltip

[3] - https://popper.js.org/docs/v2/modifiers/arrow/

[4] - https://primer.style/product/components/popover/guidelines/


They are using a stylized floating DIV (or something) not the built-in thing from the title attribute. Lots of design teams seem to want this, for consistency.


Think a common approach is to just display a triangular svg beneath the tooltip:

https://react-spectrum.adobe.com/react-aria/Tooltip.html#exa...


> Think a common approach is to just display a triangular svg beneath the tooltip

One killer feature of CSS anchor positioning is that it allows you to declaratively define fallback positions if the floating element does not fit into the preferred position. For example, you prefer your tooltips to appear below the anchor; but if the anchor happens to be at the bottom of the screen, there is no space below it, and so the floating element can flip to the top.

After the flip, the triangular svg will be pointing in the wrong direction.


I'm unsure what you mean by "pointer" - normally that just refers to the user's mouse cursor on-screen...

...do you mean you want a rich-HTML tooltip that is auto-positioned to ensure it's fully visible w.r.t. the browser's viewport but you also want the tooltip (or UI in general) to include an arrow shape that stays fixed on-target even if might be occluded by the browser?


> I'm unsure what you mean by "pointer"

An arrowhead pointing at the anchor element.

Example: https://en.wikipedia.org/wiki/Tooltip#/media/File:Mobile_URL...

UPD: In spec speak, these are called tethers. The anchoring indicators

https://fantasai.inkedblade.net/style/specs/css-anchor-explo...


Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: