HN user

nchi3

115 karma
Posts1
Comments72
View on HN
WebTorrent 4 years ago

It's quite obvious that it means "running in the browser engine" rather than "has the technology implemented in a native language". But sure, you're technically correct.

Because there are scenarios where pattern matching (or instanceof) is the better and more ergonomic thing to use. One obvious example I can think of is event handling.

If anything, this is _not_ something JS devs are asking for, but rather devs using functional languages.

I agree, but I'm not saying anyone should only have friends where they work, but rather that you can have both.

I don't live in the US, and almost all of my friends I meet on my free time are not through work, but I do have colleagues who I consider friends and it makes work a lot more enjoyable. That being said, there's only very few of them who I would be likely to keep in touch with if they or I quit.

I think everyone is responsible for doing what they can to contribute towards a better society, not only governments and law makers. That also means you're responsible for the actions you make which does the opposite, whether you get paid for it or not. If someone values having a great home over contributing to a better world, that obviously does tell of that person's values.

Starving is not very "arbitrary" because it means life or death, and you can't expect people to choose death over doing something unethical.

If more people say no to doing unethical things (or show disapproval of those things being done), it'll be harder and more expensive for companies to find people who will do said things. Software engineers working in online gambling make a lot more where I live, which makes that industry less profitable. That's way more effective than waving signs on the street.

Why do you feel that you can't be held accountable for your actions as long as you get paid for it? Do you not want a better world? Or do you think it's up to others to do something about it, and not you?

If the alternative meant starving, I'd agree. That's rarely the case for software developers though, so I think it definitely shows of their values.

Doing it "for the money" is not a free card to do anything unethical when it's easy to say no and get another job.

An extreme example: Was voluntarily being a guard in Auschwitz fine because it was legal? Should you be able to get away with saying "I only did it for this money"?

I don't agree at all. They're very orthogonal concepts, and DDD has very little to do with OO. For an example, see Domain Modeling Made Functional.

Yes, if you do DDD in Java, you should probably follow OO principles. If you end up with a lot of classes "that do nothing", you've probably done something wrong along the way or you've applied it to something very simple where it didn't make sense to do so.

See my reply to denvaar for an example!

It has much in common with mindfulness I'd say, with some extra "simplified" techniques and learnings. It's easy to dismiss this type of therapy (even more so before there were studies on it), but the mindset changes which it advocates are very wholesome and are likely to increase quality of life even if it would fail to lessen the pain, so there's very little to lose!

You might have heard about this or tried it, but if not: There's some very promising studies from last year regarding treatment of CLBP that doesn't seem to have a physiological cause[1]. This type of "treatment" helped me turn around my backpain (both upper and lower) which had been getting worse and worse over ~6 months (not very long, I know), and after a few months I was virtually pain free.

This type of therapy is not new, but it's only very recently that proper big and reputable studies have been done. Most people don't even need to see a professional, reading online and doing it on your own is enough for the majority (including me).

[1] https://www.colorado.edu/today/2021/09/29/how-therapy-not-pi...

We use bounded contexts ("modular monolith") with strictly separated concerns.

because the logic between modules is too intertwined and coupled.

That doesn't sound very modular? If your bounded contexts are intertwined, I don't think they can be considered bounded contexts. A modular monolith would only communicate between contexts through well-defined and non-leaky APIs, and that's the opposite of intertwined.

bgfx is definitely a competitor in that sense. However, it doesn't have the same backing, is not standardized, and would have a hard time building momentum due to that.

I'm mostly thinking of indie game devs who decide to write their games from scratch (which still happens, though it's becoming rare), or up-and-coming game engines such as Bevy. They might not have a team who can spend the time optimizing Vulkan (while also making sure MoltenVK runs it fine, if they want to target MacOS), and might prefer something more modern than OpenGL.

WebGPU since it limits what you can do and gets in the way

Does it do that more than OpenGL ever did though?

while being defensive for WebGPU on native deployments

Because I still haven't heard a single argument against it from you that isn't extremely vague and handwavey.

For example, you skipping over my questions regarding more details on what you think makes WebGPU bad/castrated, or what is making Qt the better choice over WevGPU? (ignoring the fact that Qt doesn't seem to have a common shader language)

I'm open to hear the reasons, but it seems like your goal is to be contrarian.

Castrated by the security constraints of being a MVP 1.0 API to fit into the security sandbox of a Web browser.

What security contraints are you thinking of which are making it castrated? In what meaninful ways is it castrated?

In case you missed the train, Qt now makes direct use of Metal, Vulkan, and DirectX 12.

So with Qt, can I write a complete renderer with advanced techniques, and have it run on all 3 platforms without changing a single file? If not, how is it relevant to even mention?

I don't see any benefit in using a castrated 3D API outside the browser.

Castrated how? A single digit performance loss compared to the most extremely complex graphics APIs which aren't properly cross-platform?

Want Vulkan/DX12/Metal without boilerplate?

Just use Ogre or Godot, among endless other options.

"I want a graphics API!"

- "Use this game engine or this old and outdated graphics library instead"

Even Qt is better than what WebGPU is capable of.

Ah, is it? Do you have any example of implementing forward+ rendering in pure Qt? No? What about GPU compute? Not that either?

I think one big difference with WebGL and WebGPU is that WebGL was never really a target that you'd use for native applications. I've never heard of WebGL running outside of a browser (you'd use OpenGL ES for that), whereas I think native WebGPU has the potential to end up being the OpenGL replacement people have been asking for for years.

It definitely won't kill Unity or Unreal, but I have hopes that it will make developing without a ready-made engine a bit more attractive at least!

That part wasn't really obvious, even with context!

Though I'd say that a big reason for that is because very few companies even had a backend 20 years ago compared to today. The ones which did are likely not really consumer oriented, but if you ask medical companies (EMRs), governments, and insurance companies, I'm sure it's not too uncommon to use applications which have codebases that are from before 2002.

Also, 10-20 years from now, I'm sure it will be quite common for companies to have backend services code which are 20 years old. There are still a lot of companies having Java 7 and earlier in production, and that's 11+ years now.

But I agree with what you're saying, it's much easier to get rid of code vs. data, and data is also a lot more valuable!