Why would they? WASM is Web-Assembly, so Assembly is a lower level language than Java.
You can use C# WASM through Blazor, and Java WASM though JWebAssembly. WASM as core is supposed to be language agnostic. So If you want a JVM in WASM you can build it on top of it
You'd probably use a different approach for that. Like you'd make your program dynamically load all the .dlls in a "plugins" folder -
Then you'd provide some plugin interface for the users to create plugins, for example:
csharp
public interface IImageEditorPlugin
{
public void BeforeImageEdit(int[,] imageData);
public void AfterImageEdit(int[,] imageData);
}
And then you can load plugin classes from all the dlls with dependency injection, and execute them though something like this:
csharp
public class ImageEditor(IEnumerable<IImageEditorPlugin> plugins)
{
public void EditImage(int[,] imageData)
{
foreach (var imageEditorPlugin in plugins)
{
imageEditorPlugin.BeforeImageEdit(imageData);
// Do internal image edit function
imageEditorPlugin.AfterImageEdit(imageData);
}
}
}
This is a very simple example obviously, normally you'd send more meta-data to the plugins, or have multiple different interfaces depending on the kinda plugin it is, or have some methods to ask plugins when they're suitable to be used. But this way a user can provide compiled versions of their plugins (in the same language as the core application) - instead of having to provide something like lua scripts
Extension functions are not the same at all. Extension functions are syntactic sugar. For example if you have an extension function like
public static class ObjectExtension
{
public static void DoSomething(this object input) { }
}
You can call that function on an object by doing object.DoSomething() - Yes. But underneath it's the same as doing ObjectExtension.DoSomething(object)
That function does not actually become part of the object, and you can't use it to override existing functions
A closer example of how to do something similar in a memory safe language would be - in C# - using something like Castle DynamicProxy - where through a lot of black magic - you can create a DynamicProxy and fool the CLR into thinking it's talking to an object, while it's actually talking to a DynamicProxy instead. And so then you can actually intercept invocations to existing methods and overrule them
Generally overruling existing functions at runtime is not that easy
Hahah, well as a primarily backend developer, that's what I think as well.
“Just make this button work”
If that button doesn't work, that sounds like a frontend problem to me.. ;)
But yea, as you mentioned, it probably comes down to experience. As the meme from this post depicts. When I dabble in frontend and make a WinForm for my devtool, people just look at me and are like "Uhhh, can you make it better?"
No sir, clearly I can not. And I have no idea what you mean with "better".
Yea, fair enough. My point was mostly: backend requirements are usually at least objective. "Json xml comes in", "CSV goes out by email", "The request must be processed under 100 ms", "API should not return 400 on feetpics" - these are still mostly objective requirements.
Frontend requirements can be very subjective "The user should have a great user experience with the frontend"
Backend Requirements: "When x,y goes in, I want x+y to come out!" - Okay
Frontend Requirements: "Well it needs to be more user-friendly, and have this rockstar wow effect" - Yea wtf are you even talking about? You want me to add random glitter explosions, because I found a script for that, that's pretty 'wow effect' right?
Ok, sure. So in a tech race, if energy is a bottleneck - and we'd be pouring $7tn into tech here - don't you think some of the improvements would be to Power usage effectiveness (PUE) - or a better Compute per Power Ratio?
I wasn't saying there was any, I was saying there are benefits to the race towards it.
In the sense of - If you could pick any subject that world governments would be in a war about - "the first to the moon", "the first nuclear" or "first hydrogen bomb", or "the best tank" - or "the fastest stealth air-bomber"
I think if you picked a "tech war" (AI in this case) - Practically a race of who could build the lowest nm fabs, fastest hardware, and best algorithms - at least you end up with innovations that are useful
If governments are going to be pouring money into something, I'd prefer it to be in the tech industry.
Imagine a cold-war / Oppenheimer situation where all the governments are scared that America / Russia / UAE will reach AI supremacy before {{we}} do? Instead of dumping all the moneyz into Lockheed Martin or Raytheon for better pew pew machines - we dump it into better semiconductor machinery, hardware advancements, and other stuff we need for this AI craze.
In the end we might not have a useful AI, but at least we've made progression in other things that are useful
Well @ @TheGrandNagus and @SSUPII - I think a lot of Firefox users are power users. And a lot of the non-power Firefox users, like my friends and family, they're only using Firefox because I recommended them to use it, and I installed all the appropriate extensions to optimize their browser experience.
So if Firefox alienates the power users - who are left? I'm gonna move on to Waterfox or Librewolf, but they are even more next-level obscure browsers. My non-tech friends know about Chrome, Edge, and Firefox, so I can convince them to use one of those... But I kinda doubt I can get them to use Librewolf. If I tell them Firefox sucks now too, they'll probably default to chrome
If AI integration is to happen [...], then this to me seems to be the best way to do it.
Well, to me the best way to do it would be for Mozilla to focus on being the best bare-bone, extendable browser.
Then - if people want an AI in their browser - people should be able to install an AI extension that does these things. It's a bit annoying they're putting random stuff like Pocket, and now an AI in the core of the browser, instead of just making it an option to install extendable
So the full story would be that Elon stayed up until 5:30 a.m playing Elden Ring in a Vancouver hotel - was very stressed, saw on Twitter that people knew he was raging in Vancouver based on the Jet Tracker - stressing him out even more -Though "Fuck it, maybe I can't beat Malenia, but at least I can beat this asshat on Twitter tracking me!"
...If only FromSoftware had added some pay-to-win elements... Like "For A Small $1 billion Micro-Transaction you get the uber Malenia slayer sword!" -We would be living in a totally different timeline
I suppose it's not allowed them. That kind of sucks, it is pretty convenient to just use a replicate.com machine and use a large image model kinda instantly. Or spin up your own machine for a while if you need lots of images without a potential cold-start or slow usage on shared machines
I wonder why they chose this license, because the common SD license basically lets you do whatever you want
Well I have Copilot Pro, but I was mainly talking about GitHub Copilot. I don't think having the Copilot Pro really affects Copilot performance.
I meanly use AI for programming, and (both for myself to program and inside building an AI-powered product) - So I don't really know what you intend to use AI for, but outside of the context of programming, I don't really know about their performance.
And I think Copilot Pro just gives you Copilot inside office right? And more image generations per day? I can't really say I've used that. For image generation I'm either using the OpenAI API again (DALL-E 3), or I'm using replicate (Mostly SDXL)
Why would they? WASM is Web-Assembly, so Assembly is a lower level language than Java.
You can use C# WASM through Blazor, and Java WASM though JWebAssembly. WASM as core is supposed to be language agnostic. So If you want a JVM in WASM you can build it on top of it