What is bad? Stating that her company would find this to be an unacceptable standard of service quality?
Sharing experiences and opinions on HN that are unpopular?
I didn’t complain to the worker, the company, or give her any attitude about it. None of that would have helped me get my task done.
They have other agents who are more professional, so next time I could get routed to somebody else.
To answer your question:
If the noise was an office cacophony then I’d put the blame on the company that tolerates it.
The noise was a children’s cartoon and a babbling child.
The worker has a responsibility to either get noise-canceling tools or work from a quiet area of the home. It’s 2024- it’s really easy to do either one.
It's easy if you earn $100k+ of course. It's not easy with $40k in a two-bedroom house with a toddler as a single parent.
"But then, she's not supposed to have that job if she can't do it," I can already hear you say. To that, I'd say sure, you could do that, if you're willing to pay for a several year long maternity leave from your taxes until the parents can place their kids in kindergartens.
I've been fought by people insisting that if we're using a framework, we should be using it for everything, if it has it, even when both agree that doing it natively is actually less cumbersome. All that in the name of consistency. I think middle ground is a good solution.
On topic: I don't think WebComponents are going to "make it" until someone builds a nice framework on top of them. React, Vue, Svelte, etc. solve a number of problems that are not directly solved by Web Components. State management, rendering, routing - right now, these are, imho, the high level areas that need solid solutions for an UI app to function in any sane way. How much of that is solved by going Web Components?
I work on Lit, which I would hesitate to call a framework, but gives a framework-like DX for building web components, while trying to keep opinions to a minimum and lock-in as low as possible.
It's got reactivity, declarative templates, great performance, SSR, TypeScript support, native CSS encapsulation, context, tasks, and more.
It's used to build Material Design, settings and devtools UIs for Chrome, some UI for Firefox, Reddit, Photoshop Web...
Lit's features are internal to each component (except context which is being developed as an open community protocol with the Web Components Community Group) and there is no coupling between components written in Lit. So you can port from Lit to something else component-by-component.
Lit is also modular. The template library, lit-html, is usable independently and used by other web component and non-web component libraries. The reactive custom element base class ReactiveElement can be used to build web components with a different template system like Preact.
This is just splitting hairs in an attempt to pretend that lit isn't a framework (or framework-like lib), or that it's somehow unopinionated, or that it somehow prevents you from lock-in.
Almost all of the things you listed are specific to lit, and lit only. So, people who will develop with lit will be locked in to lit. Because it's not like you can just pop the code you wrote with lit into stencil or ionic, and will just work.
> So you can port from Lit to something else component-by-component.
I personally saw a huge project ported from Angular to React basically doing the same. It's not a testament to lit. It's what people have been doing since time immemorial.
> I personally saw a huge project ported from Angular to React basically doing the same.
Do Angular and React components talk to each other? Lit and other Web component frameworks can share components. To refactor Lit components into other web component framework or raw web component is orders of magnitude easier than converting Angular <-> React.
> Do Angular and React components talk to each other?
You can make them talk to each other. Depends on what exactly you need, how components and projects are structured etc.
> Lit and other Web component frameworks can share components. To refactor Lit components into other web component framework or raw web component is orders of magnitude easier than converting Angular <-> React.
You're putting a false equivalency between "talking to each other" and "refactoring one code base into another".
Preact, Svelte, Vue, and Angular can all be compiled to web components. How easy do you think it would be to convert app code between each of these frameworks? Convert that code to and from lit?
you can make almost whatever you want with code but they weren't build for that. Besides that, both angular and react are bloated software, adding another layer to create web components version of their components is just more bloat. It took some time for chariots to be considered a legacy way of transport but you can't fight its obsolescence just by saying that chariots will also carry you from one place to another.
What a vendor lock-in basically means is that your integration with the vendor is so specific, that it's very hard to transfer to another vendor.
Lit is basically a library that makes use of the native Web Components APIs in modern browsers. If someone else would make a similar library, it would most probably have similar functionality.
So I don't really see the issue with vendor lock-in here. Most logic regarding your app is not gonna have anything to do with Lit. Only the way the templates are structured is a bit specific. But it is way less specific than JSX. Because it's just normal HTML with a few specific attributes to easily bind event listeners on HTML elements.
So Lit basically just gives you easy access to powerful browser APIs, making it really easy to build complex webapps without using a big framework.
> your integration with the vendor is so specific, that it's very hard to transfer to another vendor.
Indeed.
> Lit is basically a library that makes use of the native Web Components APIs in modern browsers. If someone else would make a similar library, it would most probably have similar functionality.
Maybe, similar, perhaps.
The meat of the matter is this. There are a lot of things in lit that are specific just to lit. They have nothig to do with web components. Custom DSL. Tasks. Reactivity. etc. etc.
So yes, when you're buying in to lit, you're locking yourself to lit, and the way lit does things.
For example, Stencil, another popular web component library, is completely different from lit: it uses a different templating mechanism, a different data binding mechanism etc. etc.
> So Lit basically just gives you easy access to powerful browser APIs
No, it doesn't give access to those APIs. It goes out of its way to hide those APIs and provide a different, ore ergonomic API on top.
Well, if Stencil is a Web Component framework using native Web Component technologies and strategies, transferring from Lit to Stencil will probably be a lot easier than from React to Angular or something.
And there are actually not that many things specific to Lit, and it's only things that would need to be solved in some kind of (opinionated) way anyway. But I think Lit does it in an elegant, intuitive and flexible way. You might like it or you might not.
I don't know Stencil, but looks nice. But their main npm package [0] is 47.8 MB, whereas Lit [1] is only 105 KB. So I would say that there are a lot more things specific in Stencil then there are in Lit. Which would probably make it harder to move from Stencil to Lit, than it is to move from Lit to Stencil.
> Well, if Stencil is a Web Component framework using native Web Component technologies and strategies, transferring from Lit to Stencil will probably be a lot easier than from React to Angular or something.
Literally everything that's on the web is using "native technologies and strategies". Because there's nothing else.
So, extraordinary claims require extraordinary proofs. I eagerly await a description, with examples, of how much work there is to convert a non-trivial lit component to Stencil.
Why non-trivial? Because trivial components are easy to convert from anything to anything. You could convert a trivial React component into knockout.js, then to Angular, and then to Lit, and back, in under half a day even if you've never worked with those technologies before.
> And there are actually not that many things specific to Lit
I've listed a few of them. They are opinionated enough that lit code and stencil code are completely different and incompatible.
Besides, there are a dozen or so libraries and frameworks that can, or do, compile to web components. Their code is also different from lit's.
> But their main npm package [0] is 47.8 MB
This is completely beside the point. We're not discussing Stencil, or the opinions its authors may or may not have taken.
Sorry but I think it is quite obvious that a large framework will create much more lock-in and dependency than a tiny library. The more specific stuff you use, the more you are locked in. And yeah Lit still does some things for you so there's always some lock-in, with any library that you use. So it's not about simply whether it is a lock-in or not, but the amount of lock-in.
Lit doesn't need JSX and a virtual DOM, which are React specific technologies. You have to design your React components with these technologies in mind. With Lit there are much less dependencies like that, so your code will be less designed for a specific framework, making it easier to move to another framework that doesn't impose a specific workflow.
So. So, extraordinary claims require extraordinary proofs. I eagerly await a description, with examples, of how much work there is to convert a non-trivial lit component to Stencil.
BTW. Claiming that Virtual DOM is somehow a react-specific technology (and that somehow apparently affects conversion from React to something else) really shows how much you understand about the topic at hand.
I: ask to show me how converting from lit to something else is easier as you claim
You: ignore everything completely and answer a question literally no on asked, and pretend that the only custom thing is the DSL.
Yup. My choice to completely ignore you in a sibling discussion was correct.
On the other hand, after a few years of engaging with web component defenders, propoenents and propagandists I'm not surprised in the least. This behaviour is on par with the rest of them.
From all our arguments I think it's obvious that Lit has less lock-in than any other framework we discussed. If you find it so important to prove your point, why don't you make an exstensive comparison of all the discussed frameworks?
I mean they have to be for now - you're just being semantic for the sake of it a bit. I will say as a team that utilizes Lit for our design system web components (which none of our users even need to know or care about no matter their framework btw). The Lit team are huge advocates of aligning with native standards (now or what they might be in the future) and working to establish or push them forward. The goal of the project for a lot of these issues truly seems to be to eventually not need them to be a part of Lit at all.
> you're just being semantic for the sake of it a bit.
No. I'm calling it as it is. I don't pretend that something isn't a framework when it has all the same things that the frameworks they so love to vilify do.
> The Lit team are huge advocates of aligning with native standards
Which of the things that lit provides are native standards current or future? Its template DSL? Its custom decorators? Its data binding system? Tasks? Directives?
Honestly, you don't. It's used for many Google projects like Chrome, parts of YouTube, Maps APIs, Collab, the Google Store, and a ton of internal things, so I think it's unlikely, but I understand Google's reputation.
This is one reason why we care so much about low coupling and lock-in, and a small, easy-to-understand codebase. You should be able to migrate away from Lit very easily, and fork or maintain it if necessary. We're also trying to build up our non-Google contributors.
> It's used for many Google projects like Chrome, parts of YouTube... so I think it's unlikely,
When Custom Components v0 was barely released Google re-wrote Youtube with Polymer. Where's Polymer now?
> You should be able to migrate away from Lit very easily
And that should comes from which part of lit? Custom DSL? Custom decorators? Custom data bindings? Custom tasks?
As I wrote elsewhere, Preact, Svelte, Vue, and Angular can all be compiled to web components. How easy do you think it would be to convert app code between each of these frameworks? Convert that code to and from lit?
I never used Polymer but as far as I understand it was always an experimental project for the then very young technology of Web Components. And it was a rather opinionated framework also. Lit is just a very lightweight layer on top of the now matured Web Component API. And you are not really dependend on a strong community releasing occational security updates and new features and bugfixes, because it's very small and simple, and it won't really need much new features, because Lit doesn't want to be a opinionated framework, but a simple tool for a single job: rendering a web component.
So because it's small and doesn't need much new features, it's also easy for the community to maintain it. I think not much has changed in the Lit library over the last few years. So it's also easy with upgrading.
> as far as I understand it was always an experimental project for the then very young technology of Web Components
So experimental that Google even had a Polymer Conference and was promoting it heavily, like it promotes lit now.
> because Lit doesn't want to be a opinionated framework
For a "non-opinionated" framework it sure does have a lot of opinions: custom DSL, custom directives, custom decorators, custom way of building elements...
Well, any popular framework has all these things, and most frameworks have a lot more. Lit is really the littlest amount of tools you would want. With less than that, you can just as well directly use the web component APIs, and not use a framework / library at all. I don't know what you imagine would be a less opinionated way without having to chip in on usability.
SSR, context and tasks are all separate packages, not in the Lit core package. The others are very basic functionalily for what you expect from a framework like Lit. It has to do something ultimately :D
> SSR, context and tasks are all separate packages, not in the Lit core package.
Splitting hairs
> The others are very basic functionalily for what you expect from a framework like Lit.
Indeed. Framework like Lit. These mental hoops and shenaningans lit defenders have to jump and go through to pretend lit is somehow not a framework and somehow different.
"Web Components" are the name for a dream, not an actual technology. The actual technologies involved -- customElement and shadow DOM -- are pretty crappy to use directly, and even when hidden behind a framework/library don't buy you that much. But people want it to be true that there is such a thing as a "Web Component" so the dream lives on.
Stencil does it, but the resulting web components are still not great to work with because of shadow dom and the missing standards you can't expect from custom elements. You want inline styles? hope your dev remember to drill those down.
That's good to know. I really liked what I saw last time I played with it but it's hard to find many job listings where people are using svelte. Almost everything is react and surprisingly, at from what I can tell, it's getting even bigger share in job postings I used to see. Hooray for uniformity, I guess.
But what does "excellent" mean? Can you play any game with modern graphics at native resolution with at least 60 fps? That's barely happening on gaming laptops so I am kind of wondering if maybe the reason this sort of vague praise never mentions any particular games, settings, frames per second, etc. You know, the useful information.
I am writing this on a light Linux laptop with a Ryzen 6800H APU. It is somewhat capable for a laptop this small and light but it is no match for my gaming PC. Kind of doubt my m2 max is going to offer better gaming experience.
What vague praise? I mentioned I mostly play older games. Your M2 Max won't get anywhere near gaming PC performance, but now that DX12 is mostly working some recent games should work with lower graphics settings. The Youtube channel I linked tests a lot of different games on various machines, and it doesn't take much time to just test it out yourself.
These games should be playable on an M2 Max: Cyberpunk 2077, Diablo IV, Control, Dead Space, Elden Ring, Hogwarts Legacy, Spider-Man Remastered, FF7 Remake, Shadow Warrior 3
Recently I've been playing AOE2 DE, it's upscaled to native resolution and runs at 120fps with highest graphics.
You are reading too much in what I said. Of course weird things are happening in an unstable dictatorship like Russia and this guy might have been assassinated for one reason or another. That does not mean it is not nice to give people context about the culture in that end of the world though.
I think you make it sound more exotic than it is. People pick mushrooms around the world. Slightly more common in SE-Europe, a bit less so than a few decades ago. People tend to stick to the 1-2 species they know best, poisonings are extremely rare.
Fair point, but I am surprised to hear that. My US friends (New England) have been extremely surprised when they hear that foraging for mushrooms is common where I come from (on the rare occasions when this comes up).
It is also pretty common in parts of the US. They probably don't know about that either. I know people who go morel hunting every spring in the midwest (Iowa and Illinois, specifically).
Just today I went into a Xiaomi only store, branded as Mi store something.
After spending a few minutes looking around, I finally asked the guy if there's ANY product that works without an app. Surprisingly, there was - an electric shaving device (razors?). I couldn't stop laughing. Even things as simple of cheap pole/standing fan require apps.
Apple is doing what people hated Microsoft for.
It's amazing that a closed ecosystem is so welcomed by Apple fans. But I suppose man has always been tribal.
I work on a split team, Windows and macOS. We do straightforward Java work and most of the problems that we have are related to installing command-line software on Windows.
Installing Postgres, Redis, etc. on Windows is wildly complicated compared to on macOS or Linux.
Yes it’s a constant source of problems. Trying to live share and get any actual work done leads to constant crashes, simply git cloning and trying to docker-compose and yarn install is a convoluted mess etc. windows is just not friendly to the kind of development common these days.
In South Korea I recently only visited Jeju island. They have a lot of tourists there. There was lots of free wifi from businesses and some that seemed municipal. Fostering tourism might have played a role in that, I don't know. No clue how it looks like in the rest of the country.
Interestingly, the free wifi on Jeju typically didn't even have captive portals with T&C. They just let you connect.
In Singapore, captive portals are common. Cafes with free wifi usually require a password that you can get from staff by just asking. Municipial wifi is provided via Wireless@SGX https://www.imda.gov.sg/how-we-can-help/wireless-at-sg/wirel... at eg food courts and train stations.
I don't know if our telecoms have expressed much of an opinion. People still have mobile broadband plans.
I understand not trusting random developer, which means your only option is to create your own extension. Shouldn't be that hard, considering the scope of what's needed.
Sadly, what we have is bro science vs super cozy doctors and pharma industry. One group is largely ignorant, while the other wants to make money. You shouldn't trust either one blindly.
Every game is probably exaggerated but I've watched enough sports as a kid. Even back then it was clear to me that big, especially international, events are highly orchestrated. Yes, including outcomes.
I've been watching F1 for several decades and some key races are jazzed up to the point that one must actively suspend their disbelief. Not to mention Bernie Ecclestone straight up saying who's going to be champion and who isn't ever going to be one. It's all fake, dude. Unless you really believe some countries are thaaaaaaaaaaaaaaaaaaaaaaaaaaat much better at sports (and everything else) because they're just that awesome in every respect.
Yes, that's the picture they are trying to paint. Rather successfully it would seem.
Providing facilities, medics, dietitians, etc. does not hurt, of course. Makes for great PR. Having your guys in charge of testing for dope helps create the actual results, though.
That said, if you truly believe superhumans exist, that's fine too. Even if it strikes me as rather naive. It helps patriotism and whatnot. A man needs his pride