Skip Navigation

User banner
Posts
6
Comments
159
Joined
2 yr. ago

  • How about figure out what you can and can't access first. Like can you access the rest of the internet openly?

    Are all sites allowed, are some things blacklisted, or are sites whitelisted? If things are whitelisted on the network, it might be pretty difficult to find a hole.

    Anyways, you mentioned your phone - If you have unlimited data, I'd suggest you just set up your phone for tethering, and create a private wifi from your laptop to your phone using mobile data, that should bypass all network restrictions.

  • I believe there are a large number of feature requests on Lemmy’s GitHub page, making it difficult for developers to prioritize what’s truly important to users.

    Github issues are annoying that way. You could solve it by closing down "issues" and using discussions instead. People can up and downvote discussions, and you can see that from the listview, unlike with issues.

    And you can have threaded conversations in discussions.

    • AWS Cloud services
    • Azure devops build services
    • OpenAI API
    • JetBrains Toolbox
    • OneDrive
    • Protonmail
  • I assume they're talking about this api

    Any tools that interface well with it?

    Lots of tools, but it depends on where you want to use it. For example, inside Obsidian you can use it as a text generator

    Inside VSCode you can use something like AI Genie

    If you just want to use it raw, you can use postman

  • Java makes things run in a VM

    Docker makes things run in a VM

    Virtualbox makes things run in a VM

    Why did we need any of those things, should have just put everything in Java instead right 🙃

  • 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

  • Rebasing is for noobs.

     
        
    git reset head~42
    git push -f
    
      
  • Javascript is a fad, we should all move to WASM. 🙃

    But no, TypeScript is not a fad. Unless a better "Typescript like" thing comes out - I know how in frontend land people like to make their own substitute framework that does something slightly different than an existing framework - But I don't really see why anyone would want to make a NewTypeScript, and not just expand existing TypeScript

  • 243650.0054 = 47,304$/ year / instance. How many instances are hosted by AWS? How many are hosted by Google? How many by other Redis aaS?

    Formatting it like 47,304$/ year seems like you're saying it's $47k, but it's just $47. How much would it cost any company to self-maintain their Redis instance?

    Don’t contribute back in a significant manner

    They have multiple people full time employed that are contributing, and how are they "hampering its development"?

    If you look at the top contributors: https://github.com/redis/redis/graphs/contributors

    • #4 Binbin works for Tencent Cloud
    • #6 Zhao Zhao works for Alibaba
    • #7 Madelyn Olson works for AWS
    • #9 Wen Hui works for Huawei

    Soo actually these cloud providers are some of biggest contributes to the project. They're not just taking Redis and aren't contributing. The opposite actually lol.

    Besides, you're acting like Redis is some poor little startup, but they're a company with 991 people (by their linkedin stats). Its like if Oracle would change the MySQL license, and then you side with Oracle "Poor little Oracle, everyone uses MySQL, but no one contributes" - yea no

  • They were allowed to leech, [...]

    Services like AWS and Google Cloud offer 1000s of "free software" (like Redis) as a service - like AWS Elasticache - and if you look at the pricing, cache.t2.micro for example, is $0.017/hour, while just a plain t2.micro vm is $0.0116/hour. So effectively AWS is only "leeching" $0.0054 an hour on the Managed Redis that they're offering.

    An AWS managed Redis is just easier, otherwise I'd have to boot my own t2.micro, and install Redis there. I'd still be using official Redis on AWS, because self-hosting is still fine in the new license, it's just more work for me, because the license doesn't allow AWS to do it for me anymore.

    and the naive, purist opensource community ([...]) will happily join the ranks of businesses that couldn’t be bothered to donate to Redis

    It's funny how people are now siding with Redis. When other companies did something similar (like identityserver4 was FooS, and then they created their new commercial company - and everyone was like "fuck you, you people are sellouts.".

    Most of the time when a FooS project goes commercial, people make a free fork and the commercial project slowly dies

  • Probably, AWS and Google probably have millions of existing customers using Redis. And AWS and Google are not going to be paying for it themselves of course, but just pass the costs on to their customers.

    So they can stick to the old official Redis version for a while, before the license change happened, but at some point someone might find a vulnerability, and patch it in the official Redis, and then everyone that's stuck on the old version is fucked - it's a bit of a ticking time-bomb to be stuck on an old version.

    So then AWS and Google customers can decide

    • "I want to use the latest version of official Redis, and pay x per month per Redis cache" (if the new license allows that)
    • Or "AWS doesn't support a free Redis anymore, but competitor does, so I'm just gonna migrate my infra to a different cloud"

    So if they already switch to an open-license fork they can preemptively mitigate most of those risks

  • I suppose "parsing" is a more generic thing. If you "build a tree" you did some form of "parsing" - yes

    However when you do "parsing" like "find all links in an html doc" - you're parsing, but not necessarily building a tree.

  • "OS support: The latest one” is not that bad of an requirement...

    If they complain like "why doesn't this work on Windows Vista, on IE8" - you can just point to the specs and say you only support the latest OS.

    So basically you only support the latest Nightly Build of Ubuntu, since that's the current latest OS

  • For simple snippets like templates I'm using Obsidian and Obsidian Templater ( - For any programmer I'd consider Obsidian the best note-taking-app by miles.)

    For more complicated stuff I used to just build generators in code, but as you mentioned, that's kind of a nightmare to manage. So now I usually use Liquid Templates - and a custom parser I made to process them

  • On the other hand, when my IDE doesn't tell me:

    Build Server: "BUILD FAILED! SonarQube says that Roslyn says that you're not using one of your variables!"

    Yea okay calm down, and why are you snitching now, Roslyn? Should have told me directly 🙃

  • 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

  • I think it's something similar to leetcode challenges, or adventofcode or something. I'm not associated with them, so I don't really know entirely.

    Their existing problems are not behind an account wall though. You can go to any of their challenges, for example:

    Then on top there's a label "Continue without an account" - and you can just try them out. I assume the challenges for this one will be something similar.

    And I thought this site was pretty cool, since they actually have some graphical front-end showing what's going on, instead of just a code-only parsing kinda thing

  • I'm not 100% familiar with how federating works between instances - if one instance is hosting illegal content such as piracy, is that content actually federated into the databases of other instances? As in - are the other instances are now actually hosting that illegal content?

    Or are the frontends (like programming.dev) just kinda proxying data without hosting it?

    Just wondering at what level illegal content would exist in federated instances, since that might matter how liable other instances would be for it