• 6 Posts
  • 25 Comments
Joined 10 months ago
cake
Cake day: October 14th, 2023

help-circle
  • I’m not that familiar with newer c# code and only recently started with result pattern but tbh, I can’t tell what is this code supposed to do. Does opt resolve to true or false in this case? Why do you want TestStringFail to always execute, and what should it return? Why is opt.None true when it was initialized with a valid string value, what does None even mean in this context?




  • You can kinda see this in things like modding communities or anything piracy related too. Users just want easy solutions even if it’s at the expense of creators, and creators are doing it more and more for money rather than any personal drive or satisfaction. I can’t believe we’ve reached a point where even mods are being locked behind paywalls, need to be commissioned or sometimes have entire teams funded by patreon to work on them, it’s just another business nowadays.



  • The switch case was based on an enum but it is what I want to get rid of. In the end I ended up doing what you wrote there, expect instead of casting I’m just writing

    case Type.Int: return MyTypedMethod<int>(args)
    case Type.IntNull: return MyTypedMethod<int?>(args)
    // etc for another 10+ different types
    

    It just feels like I’m doing something wrong if i have to manually handle every case in a switch (or if else) statement and I was wondering how could I write, for example, a method that would do the conversion from Type.Long to System.Int64 for me, and then I just pass that type into the generic method instead of having to manually translate it into a type every time it is used.

    However, if I have to use reflection maybe hardcoding it manually every time is actually faster and easier to debug so maybe i’m just overthinking it.

    That c# 7 structure looks interesting but not sure it solves my issue, I need to get to the part where i have the generic type T in the first place. I dont know how to get a “T” out of a custom field indicating type, so to speak.

    edit: as for the invalid code, i just wrote it quickly as example but you are right. Pretend it says switch (field.SomeType) instead of it being a method





  • If our content gets federated to threads then it just means that google results will point to it first rather than to us, they will probably have better indexing and search features than the fediverse. People will also probably think the content originated on threads too (since that’s where they see it and threads could easily obfuscate info like that) instead of who actually made it.

    It could increase the short term engagement but in the long run, it will just serve to make threads better.






  • That’s not really a good solution although it is a temporary workaround.

    • Many users won’t know this is a feature they can use, or how to set it up
    • Some users use alternative instances that federate with lemmy which might not have this feature
    • Content still gets copied and hosted on this instance which might not be desireable

    Besides, at the end of the day, shouldn’t the admins and mods here curate the content according to the community’s guidelines and spirit? If someone started spamming undesired content on a forum you’re administrating, the answer wouldn’t be “all the users can just block it if it’s an issue”. I don’t think it should be the answer here either




  • I only have half as much experience as you, and none with Go specifically, so I can’t give you any good answers but I can say I empathize - the company I work at is also stuck with a legacy monolith that’s still on .net framework and everything is so coupled that it’s impossible to even unit test, less alone deploy the projects separately. Some people aren’t bothered even with the basic principles of code writing and the senior people are just overworked and can’t keep tabs on it even if they wanted to.

    The worst part is that the company is mostly either juniors just doing what they are told or older seniors that are stuck in their ways and are afraid of anything new - although as I got older I started to see why that might be the correct approach, not everyone wants to learn and adapt to new tech and it’s a big ask of the upper management to risk it on that. Basically we’re just repeating the same mistakes and wasting time fixing known errors that keep happening and any actual improvement or proper removal of tech debt never happens.

    So yeah… I’m starting to believe that “clean good code” only happens either in hobby projects or new startups. Any larger, “stable” codebase of a larger company is going to be an inefficient mess however 🤷‍♂️







  • I use the CLI for simple commands, especially if helping someone on another PC and I don’t have access to my preferred tool, but I honestly don’t get people who use it religiously and never even try tools with GUIs. The convenience of being able to easily see the commit history, scroll through it, have a right click context menu or ability to just click it and see file changes (and then right click those files for additional options), is just something I can’t abandon. Nowadays even the aliasing can be replicated in those tools if they support creation of custom commands so even that is a moot point - with some setup you can be as fast as with a CLI.


  • Hmm, having googled very superficially about django and flask, it seems to me like the state (at least today) is the opposite - flask is lightweight and django is more heavy duty, having a built in ORM layer, authentication service, admin interface, db migration framework, etc.

    To be fair the article also says Django is known for its performance but when I googled that the other day, it looked like it was often near the bottom of the chart rather than top… I guess it really comes down to personal preference in the end 🤷‍♂️