I’m the administrator of kbin.life, a general purpose/tech orientated kbin instance.

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

help-circle


  • When I was talking about memory, I was more thinking about how it is accessed. For example, exactly what actions are atomic, and what are not on a given architecture, these can cause unexpected interactions during multi-core work depending on byte alignment for example. Also considering how to make the most of your CPU cache. These kind of things.


  • I’d agree that there’s a lot more abstraction involved today. But, my main point isn’t that people should know everything. But knowing the base understanding of how perhaps even a basic microcontroller works would be helpful.

    Where I work, people often come to me with weird problems, and the way I solve them is usually based in low level understanding of what’s really happening when the code runs.


  • I’ve always found this weird. I think to be a good software developer it helps to know what’s happening under the hood when you take an action. It certainly helps when you want to optimize memory access for speed etc.

    I genuinely do know both sides of the coin. But I do know that the majority of my fellow developers at work most certainly have no clue about how computers work under the hood, or networking for example.

    I find it weird because, to be good at software development (and I don’t mean, following what the computer science methodology tells you, I mean having an idea of the best way to translate an idea into a logical solution that can be applied in any programming language, and most importantly how to optimize your solution, for example in terms of memory access etc) requires an understanding of the underlying systems. That if you write software that is sending or receiving network packets it certainly helps to understand how that works, at least to consider the best protocols to use.

    But, it is definitely true.




  • I started playing with rust last week (just converting a couple of C# projects so far), and I’m going to say that once you understand that mutexes/rwlocks are wrappers around the actual data, it (to me at least) feels better.

    Don’t get me wrong, it’s an absolute headache for anyone that’s acquired intermediate or better skill in one of the Cx languages. The paradigm shift is still hitting me hard. But this was one of the differences I actually think is an improvement in probably most use cases.




  • I mean I could have used the GDPR (still a thing in the UK, at least for now). But didn’t see it as worth it. It really wouldn’t be worth the risk selling data that was deleted from a GDPR request.

    I don’t know that they’ll risk using the data from deleted posts/comments though anyway. Most comments and posts will be deleted for a reason (moderation, or otherwise mistakes) and as such, likely isn’t going to make the best training data really.

    It’s far easier to just sell the live data and be done with it.


  • I think there were historically interoperability issues, and there used to be (my version of mbin is quite old), and maybe still are issues federating dislikes (which stems from the way they were seen in kbin, which straddles both thread based and mastadonesque sides of the fediverse). But overall there’s aren’t the larger federation issues there used to be.

    Right now, the choice mainly comes down to the interface you prefer, and if you perhaps want a limited ability to work with mastadon type posts. Since you can follow mastadon users and see their posts within the mbin interface.




  • Well good news. Because ipv6 has a thing called privacy extensions which has been switched on by default on every device I’ve used.

    That generates random ipv6 addresses (which are regularly rotated) that are used for outgoing connections. Your router should block incoming connections to those ips but the os will too. The proper permanent ip address isn’t used for outgoing connections and the address space allocated to each user makes a brute force scan more prohibitive than scanning the whole Ipv4 Internet.

    So I’m going to say that using routable ipv6 addresses with privacy extensions is more secure than a single Ipv4 Nat address with dnat.



  • Yeah, but they’re not. That’s the modern world. But also even if it was a web server there’s usually ways to advertise the IP for the app to connect to. I’ve seen other stuff do that. So getting an IP is easy. Once the app knows the IP and if you really want to allow connections from outside to your IOT devices (I wouldn’t) it could remember the IP and allow that.

    You really don’t need to give a fixed IP to everything. I think I’ve given 1 or 2 things fixed IPv6 IPs. Everything else is fine with what it assigns itself.



  • Hah. But to be fair, ATM did have a specific use that it worked great for. That is the move to digital voice circuits. The small fixed cell size and built in QoS meant that if you had a fixed line size you could fit X voice channels, and they would all be extremely low latency and share the bandwidth fairly. You didn’t need to buffer beyond one cell of data and you didn’t need to include overhead beyond the cell headers.

    ATM was designed to handle the “future” or digital network needs. But, the immediate use was about voice frames and that likely dictated a lot of the design I’d expect.