• 1 Post
  • 54 Comments
Joined 1 year ago
cake
Cake day: July 2nd, 2023

help-circle
  • The biggest hole in WASM right now is being able to DO anything really useful in it, natively. The only thing you can do natively right now is use the CPU. Can’t manipulate the DOM. Can’t access local storage or cookies or networking APIs, etc. You can call out to arbitrary JS code, but that’s it.

    This is great for some of the big JS libraries that have very CPU-heavy workloads they can optimize in WASM and call to from JS. Like frequently parsing and re-parsing HTML. Or doing game physics calculations.

    I haven’t heard word one about WHEN any of this will be available. Which is particularly troubling, given how long people have been begging for it.

    Of course, none of this stops you from using WASM in the real world, to do quite a lot of things. You’re just gonna have to deal with JS interop, still, do do anything really useful.


  • A quality apology consists of 3 things:

    • An explanation of what you did that was wrong, and why it was wrong
    • An explanation of what you’re going to try and change about yourself, to avoid the same mistake
    • An expression of remose. I.E. the word “sorry” or “apologize”.

    Your proposed apology has all those elements, so you’re already ahead of most folks. But there are a few suggestions for improvement in this thread that I think are also good.

    “if you felt so, I apologize”: I don’t read this as you apologizing for how the other person feels, since you clarified that earlier. But I think it’s fair that others might read it that way, so you’re better off eliminating the ambiguity. You’re apologizing for what you did, without considering that others might (validly) consider it inappropriate.

    “I’ll try to control myself around you”: similar deal, it should be clear that this is about you, not them. And when it comes to swearing in a workplace, it’s pretty-darn common to consider it inappropriate and unprofessional, no matter who you’re around. Maybe part of your apology needs to focus on how the behavior is unprofessional, and you simply needed help recognizing that, as you’re (possibly?) new to the professional working world.


  • Also related to reddit, since that’s where I was always inundated with this shit, before moving here: the constant stream of Genshin Impact leaks that come out, that the whole obnoxious subculture is built around, are just released by Mihoyo, intentionally, under the guise of all the anonymous leakers that constantly come and go. Seems to me like the only explanation for how CONSTANTLY leaks come out, and how they’re basically never actually damaging to the game or the company, while being REALLY effective at stirring up obsession in the fanbase, and driving people to invest more time and money into the game to be prepped to get the next new character immediately on release.

    Also how so many of the leakers would release extremely accurate stats and numbers, but then drop statements like “if I release any more than this, I’d be risking my safety” or “since everyone’s been asking about it, I’ll go ahead and confirm X, but after this I’m gonna have to go on hiatus for a while, until things cool down”. Seems like nonsense meant to either inflate the leaker’s ego, or rile up the fanbase.


  • It’s the capability of a program to “reflect” upon itself, I.E. to inspect and understand its own code.

    As an example, In C# you can write a class…

    public class MyClass
    {
        public void MyMethod()
        {
            ...
        }
    }
    

    …and you can create an instance of it, and use it, like this…

    var myClass = new MyClass();
    myClass.MyMethod();
    

    Simple enough, nothing we haven’t all seen before.

    But you can do the same thing with reflection, as such…

    var type = System.Reflection.Assembly.GetExecutingAssembly()
        .GetType("MyClass");
    
    var constructor = type.GetConstructor(Array.Empty<Type>());
    
    var instance = constructor.Invoke(Array.Empty<Object>());
    
    var method = type.GetMethod("MyMethod");
    
    var delegate = method.CreateDelegate(typeof(Action), instance);
    
    delegate.DynamicInvoke(Array.Empty<object>());
    

    Obnoxious and verbose and tossing basically all type safety out the window, but it does enable some pretty crazy interesting things. Like self-discovery and dynamic loading of plugins, or self-configuration of apps. Also often useful when messing with generics. I could dig up some practical use-cases, if you’re curious.











  • Shit shit shit, I just remembered I haven’t attended English class all semester.

    Shit shit shit, I can’t remember my locker combination, and I can’t find the orientation sheet that has it, also I can’t find my class schedule, I have no idea what class I’m supposed to be in right now.

    Plus a few other variations. All High School. I dunno why the focus on High School, I’m 34. I get one of these once or twice a month.