• 1 Post
  • 48 Comments
Joined 1 year ago
cake
Cake day: June 29th, 2023

help-circle
  • theneverfox@pawb.socialtoAnimemes@ani.socialRelatable
    link
    fedilink
    English
    arrow-up
    9
    ·
    18 days ago

    There are levels to programming.

    It’s fun to solve simple problems effortlessly. It’s fun to solve hard problems after banging your head against the wall for a week

    Simple problems that require a lot of code are not fun. Neither are medium problems that require a lot of code. Herd problems that require a lot of code fill me with joy.

    Programming is like an abusive relationship. Mostly days it just hurts you. But when it’s good it’s great… It doesn’t just give you the satisfaction of a job well done, it expands you mind


  • It just makes too much sense… The only way to get past electron is a better electron. Or just fix electron

    We’ve been going after this concept for decades now. That’s what java swing was supposed to be, what python gtlk was supposed to be, and I’m sure there were others before that and there’s been a hell of a lot since then

    It’s all trade-offs between flexibility, ease of use, and performance. Also between maintenance cost, portability, and existing library support

    Electron is a good compromise. The execution could be better, but it’s come a long way. There is no one size fits all solution, but there are some decent options that handle that compromise differently


  • I’m split, but I lean slightly towards no. On one hand, it could be good for discoverability, and it would help my efforts to make a client-side algorithm

    On the other hand, it will make one of Lemmy’s problems worse - engagement. Some people will vote less, and it’s already feeling a little quieter around here as the numbers settled after the Reddit Exodus. I doubt it’ll be a massive change, but a .5% decrease in voting, permanently, could make a difference

    Ultimately, you can see it on federated platforms, so shrug


  • So this isn’t a compelling argument because it sounds outlandish and the implications (while serious) are indirect

    Every major power, and some companies, have population simulations. It’s not that hard to build one - we’ve been using them for decades, and they start yielding useful results even when they’re pretty simple. Individuals are complex, but populations can be boiled down with statistics pretty easily

    Let’s say I want to increase stochastic violence in America. I rate the traits of as many people as I can across as many useful criteria as I can measure. I could then tweak an algorithm to show something I think would radicalize people to a test group, and measure again. I then take what I learned, and polish my approach until I’m ready to go live

    You can do this to whatever end you like - and browsing habits can only tell a human so much, but this is what big data does. It finds associations humans wouldn’t see through math

    This probably sounds like I’m wearing a tin foil hat, but this is a real thing. This is how foreign election interference works - astroturfing blindly only does so much, and modeling a population isn’t difficult (depending on what you’re trying to do)

    Now as for browsing habits - like location data or Facebook friends, with enough data points you can find out things about a person they don’t know themselves. It may or may not make sense to a human, but big data is all about finding associations through blind math.

    If you provide a set of data points, you contribute. It may or may not influence you, but either way it improves the ability to influence those around you.

    I don’t know how much opera collects, I don’t know how much of that data is exfiltrated to China. I know I don’t want anyone to have too much of that data, but I also have to live my life.

    It’s a matter of harm reduction - educate yourself on your choices, listen to people who dive deeper than you’re willing to, and do what you can to make the most ethical choice based on where you are right now. There’s no perfect choice




  • I don’t think life is rare, nor photosynthesis, but complex life might be. A planet needs to be really thriving with life for it to be worth it to go down the path to something like animals

    But I think the bigger filter is much stranger.

    Humans are a hive-like species. We’re not just social - we’re insanely interdependent, we don’t function on our own and yet we’ve ended up in this place where we (often) try to individually succeed, even at the cost to our community

    We’re greedy enough to want the stars, yet interdependent enough we could only swarm over them in endless numbers

    There’s many problems with the fermi “paradox”, but personally I think one of the largest is assuming all species would spread like a cancer blotting out the stars

    A more individualistic and long lived species might instead be careful explorers, taking what they need and leaving little sign of their passage. A more communal species might be careful and control themselves to not destroy pointlessly. They might also feel no desire to contact other species

    We’re just the right mix to want everything a star could give, and to want to find others at great energy cost


  • Ditto. I’m not going to put in the time to clean up a project working fine for me just to have it ignored or complained about. It’s all expectation, very little reward

    And even if I did get volunteers, I’m not coordinating people on my personal projects. Sounds like a great way to take all the joy out of it…

    Open source is just broken right now, it runs by draining the passion out of people


  • Well hey listen, I appreciate it. I would’ve spent who knows how long waffling between distos that I don’t feel drawn to, and even if I came across an atomic flavor, I probably would’ve just assumed it was marketing fluff

    Good ideas need advocates, and this is a good idea… It’s a promise of an OS I want, not just running from one I don’t

    I’m probably going to look at bazzite first. If I have containers that can run LLMs on my GPU, that checks off everything on my wish list except gaming. I’ll read up on it though, you’ve given me the context I need to care about learning more


  • Ok, when I googled it earlier I saw “containers and roll back to previous version” and I made a note to do more reading

    Your write up was good, much clearer than what’s on fedora and Wikipedia. And the fact you pitched immutable OS’s in general first caught my attention… The concept is a no brainer. Decouple the os and the rest of the software, and don’t bother digging into one of a kind conflicts when updating things - just make it rebuildable and create it fresh. You never know when the wrong bit will flip

    Nix’s “learn this one thing, configure it once, and you’re done” stuck in my head. And after a different distros, a couple lines installed Nvidia, Nvidia’s docker package and docker

    But then I had to configure WiFi and spend half an hour learning why I couldn’t mount an external drive and how to manage it… I still have no regrets, I’ve got a USB that should start converting my friends and family’s old PCs into a self organizing AI/self hosting cluster… Hopefully it works next month lol

    But not what I want in a daily driver. I want something that’ll quickly do what I tell it and gracefully handle the fact I have 6 versions of Java and no idea why I need a version from 2018 specifically. And that I’m going to add a repo to install something and instantly forget what I did if it seems like the best path forward at the time

    You’ve sold that pretty well - my takeaway was that atomic fedora is very modular and low side effect and also an interchangable foundation I can swap out and roll back easily… At this point, if it can run containers and the drivers I need, it sounds like a great option.

    I used to use VMs so every 6-12 months I could start clean with the latest and run setup scripts for my dependencies… It was just easier than debugging some conflict. This sounds even cleaner - I swap out the base at will, and the stuff I’ve built on it should stay intact. Plus it sounds much more testable

    So my main concern is will it run on an HP omen - it has zero Linux support and a bunch of concerning driver needs, but it does have a second m2 slot… What’s the worst that can happen? Except apparently some models forget they have fans in Linux and I just know the iGPU-GPU switch will cause some problem with sleeping… But Windows is only going to get worse

    Now that you’ve convinced me this might be the best course (I only see less problems than other distros would have), and I’ve talked myself into giving it a go, is there any recommended reading or key concepts I should look into? Any particular flavor(s) you’d point me to first?


  • Fedora Atomic a chance, it’s an extremely nice family of distros (e.g. Bluefin/ Aurora, Bazzite, etc.)!

    Can you elaborate on this? I landed on nix for my PC turned server and haven’t regretted it, but I’ve been hesitant to go all in on my main laptop (I’m wary of my laptop iGPU and GPU switching becoming a config issue, and I’m dreading having to configure my wsl dev environments again…)

    Windows is getting blatantly terrible enough I know I’m just putting it off, maybe a cool new technology might help make it sound more fun



  • I was recommended nix, because I used to use Linux with snapshots and write my setup notes in bash scripts

    I just wanted to run docker with gpu access though…a dozen distros known for Nvidia support, I decided if I had to eat a shit sandwich, I would eat it once.

    Nix actually showed the desktop with the generic driver… It was faster to see up docker and vscode and everything else then to enable the Wi-Fi

    Nix is the one true Linux. Look at the lengths they go through to emulate a fraction of our greatness


  • Huh, I’ve never actually come across that, I’ve only gotten it indirectly. I bet my first mentor put it on in my head, the guy built out our entire system, then a v2, with one intern while the rest of us extended the framework he built.

    As long as the Lemmy API can be used as a de-facto standard

    And that’s the sad part… The Lemmy api is not only not that, federation is an API+ that gives an amazing starting point. As far as I can tell, the lemmy API was made with the official clients in mind, and everything else was an afterthought made in a hurry during the last Reddit Exodus

    I started reading through the kbin API, which starts with “here’s a link to activity pub standards, they’re surprisingly readable”. They were… It’s unwieldy in a lot of ways and maybe too all-encompassing, but they left so much on the table.

    For one, uri ids. Lemmy has them for everything (which is nice), but they aren’t directly usable. You can get the local ID for the home instance, but if I’ve got a url for lemmy.world I want to see on my instance, my only option is a search. Which should kick off federation, but what if it’s there already? I want an endpoint to resolve it (or even to tell me it’s not here right now so I can fall back).

    And the way they handled metadata is pretty awkward… They next objects inside of collections of activity data and object properties, which is annoying because it’s so inconsistent. Like, if you get a comment response, it gives you the comment reply, which is basically a comment without the usual metadata like vote count or the full actor object.

    It gives you too much, then suddenly too little - I don’t need the bio, tagline, and banner of a server every time I see a post, and I also don’t need it for the community and user

    But I do need the comment votes when I get a reply - I’ll wait on the comment chain and root post, but I don’t want to have to build a post-body only component to show while I wait to replace it with the whole thing

    I do really like that they autodoc everything… Even if a lot of it is indecipherable with no context offered. Like the honeypot parameter on getPosts… It’s actually intended to be a honeypot. Like if you set it to true, it’s supposed to not give you posts, or log you or something? I tracked down a one line confirmation on GitHub which left me baffled. I had to try it… It didn’t seem to do anything

    /Rant

    It is getting better though, the amount of completely breaking changes that pop up is very frustrating, but this time around it is significantly improved


  • I’d love it if the API that exists was more reliable… It’s getting better, but the amount of basic features that didn’t work (usually without specific combinations of params or unknown ranges, but sometimes not at all) is pretty crippling. (If there’s a central place of discussion, I’d love to hear about it…I don’t speak rust or flutter, but I’ve had to muddle through source several times)

    I’ve never done anything as a mod so I have no idea what kind of tools they need, but I noticed enough basic parts to build all sorts of things.

    There’s definitely no reason to build it into the core though… Why put it on the machine busy serving everyone? You could do stuff so much cooler if you offload it… Like you could track mod actions against users/communities/servers, give a sample of random posts across their vote distribution, show the top few communities they get down voted… All things psychotic to even consider in the core right now, but a reasonable project for a separate system

    And since you seem like you’d get it, I want to share a win I made today. I’ve got a lemmy app I want to mix feeds (including between accounts and servers) to make a unified feed algorithm on your device. I also want it to support kbin, and maybe more… I took a couple cracks at it and charted out several designs, but I was getting too deep into abstraction.

    Today, I finished working on a ridiculously generic abstraction layer - it handles not only tracking pagination, buffering, and preprocessing, it also enumerates all of the options in the Lemmy sdk so I can auto magically build most of the controls when I update. It also disambiguates resources (and actors) across instances and could describe valid actions you can take on it (I think that might be too far, so I’m resisting the urge… This time)

    Everything is done through the account level, everything knows where it came from and can call the API by passing itself to its account to be worked on. It’s also neatly serializable, you just have to write one function to pull the next page, and the rest is just an absurd amount of generics

    Now, if I can figure out how to translate all that into a usable UI, I’ll be getting somewhere…

    I just had to share that with someone who can appreciate crazy data flow, it’s been in the back of my head for months and today (after pulling my hair out for an hour and realizing I was forgetting to actually pass the posts to the UI) it worked beautifully


  • I like to think of it like this - many hands makes for a very stable project. Stable as in reliable, but also stable as in resistant to change.

    Everyone is going to pull in a different direction, and it kind of averages out and slows things down.

    Right now, lemmy is extremely immature. It’s amazing how well it’s held up really. There’s a lot to go to get to a solid baseline - just enough to keep

    If everyone dogpiled it, someone could easily solve the image problem. Granted, that might block someone else working on the database, and changes to improve or extend federation would likely be set back as they step on each other’s toes.

    We could still probably quickly get popular features quickly… For example, one person could get more useful mastodon and kbin federation going in a reasonable period of time. But then, when the core team goes in to overhaul the database or the API, now they need to make sure they don’t break it - and the person who did those changes won’t have the same vision as the core team, and now you have to either refactor the whole thing or work around it until it’s causing too many problems

    Certain things can be spun off more easily than others - I think other people have totally taken over deployment of instances.

    Some are good candidates but require more maturity - like if they handed off jerboa and the default web client, there’s one place that would need to be reinforced - the API.

    Way down the road, they could build plug-in/mod interfaces so instances could choose feed algorithms, or individuals could come up with their own karma systems, or all sorts of other things.

    To get to that point, you have to have a clear vision and stable growth though - that takes time, and is better done by an individual or small team keeping things heading in one direction


  • Romantic love is absolutely not the only form of love.

    Love between a teacher and student has a specific word in many languages, and based on my conversations with teachers (as an adult) it’s probably reciprocated. Embrace it. Treat them like a family member and you’ll be fine.

    You’re allowed to reach out to them. They’re not going to forget you anytime soon. Do it - they want to see you grow. Ask them for guidance. They haven’t died or forgotten you - they’re right there, and they want to teach you, personally

    They can’t reach out to you though, they can only follow your progress from a distance. So reach out - tell them how they affected you and they’ll melt




  • theneverfox@pawb.socialtolinuxmemes@lemmy.worldNvidia...
    link
    fedilink
    English
    arrow-up
    2
    ·
    8 months ago

    I used to be, but once I started doing a commit each feature I got in the habit - it’s great when you fuck something up and need to see how you did it before

    On solo personal projects I’m much worse, because I’m not afraid to rip it apart and put it back together on a whim…I usually go in with a goal, but then I might decide “this design isn’t going to work much longer, let’s rewrite this”, and 8 hours later I’ve made a bunch of improvements. Maybe even the one I set out to do

    When that happens, I do like Minecraft - I give it a name.

    And since the people I work with never read commit messages, after I list the changes I remember off the top of my head I sometimes do some creative writing. Sometimes I put my next plans to lay them out, sometimes I write about philosophy, sometimes I go on a rant about specific criticisms of the language or vent about how this was so much harder than it should have been. Occasionally I write a haiku

    It’s so much easier to keep up with it when you just have fun with it…I just treat it like a reflection exercise