• 3 Posts
  • 27 Comments
Joined 1 year ago
cake
Cake day: June 19th, 2023

help-circle

  • Right now overlays requires elevated privilèges, but ideally it shouldn’t. Rewriting the Linux kernel to implement per user namespaces like plan9 does would allow unprivileged actions from any user (just like if any user was sitting in a container, overlayed from the base system).

    I know we’re not there, and that’s not the direction development is going, but this thread is about dreams, right ? 😉

    About the XDG specs, they serve a totally different purpose so they’re out of the discussion IMO. I’m not advocating against env variables. Just $PATH which is a workaround as I see it, but your mileage may vary. As for your “issue” with steam, of course this is the best way to solve it. Because of today’s OS limitation. My point is that with a better designed namespacing implementation, there would be more elegant solutions to solve it (and would get rid of the need to use LD_LIBRARY_PATH too, or literally any *_PATH env variable)




  • You missed my point. The reason $PATH exists in the first place is because binaries were too large to fit on a single disk, so they were scattered around multiple partitions (/bin, /sbin, /usr/bin, etc…). Now, all your binaries can easily fit on a single partition (weirdly enough, /usr/bin was chosen as the “best candidate” for it), but we still have all the other locations, symlinked there. It just makes no sense.

    As for the override mechanism you mention, there are much better tools nowadays to do that (overlayfs for example).

    This is what plan9 does for example. There is no need for $PATH because all binaries are in /bin anyways. And to override a binary, you simply “mount” it over the existing one in place.



  • For the past year, I’ve been working on an online scavenger hunt. It features many tech related challenges on various topics (web, protocols, crypto, stegano, …).

    This is the project as a whole, but I had to work on many sub-project to bring it to life, out of which:

    • a Pokemon game (assembly)
    • an online scoreboard (go)
    • an encryption tool (go)
    • a crypto hashing tool (go)
    • a cli interface ©
    • many deployment shell scripts
    • … much more

    What I love about this project is that it touches many different topics. I had to setup reverse proxies, complex firewall rules, VPNs, abuse the TCP/IP stack, … I could also work on very useless but fun topics, like creating a tool that answers to ICMPv6 traceroute packets to insert fake hops between the requester and the destination. I’m now close to releasing it, and I wonder what I’ll do when this is over…


  • I started using Linux because I was curious. I installed the “Ubuntu distribution” (a Linux “flavor” with preinstalled software to make your life easier), and started goofing around: first navigating the web using the web browser, which isn’t a much difference experience than windows, then did my programming courses in there for university, installed a few games, and broke the system many, many times because I had no idea how to install stuff ! (Protip: it uses a “store-like” approach, like on Android, rather than running .exe installers ;))

    The best way to learn it, is to try it ! I’d suggest Ubuntu, because it worked for me 15 years ago, and it’s the simplest approach you have to discover it, as the system will be ready to do the most basic tasks (browse the web, edit document, watch videos, etc…). You won’t have to struggle with searching and installing software, and can just discover it.

    Now about your question, it’s not about how Linux is “better” than windows. It isn’t, and doesn’t try to be. The most important trait is that it’s “different”, and you gotta find what it means for you.

    I won’t lie, using Linux as a daily driver is harder than using windows (much less than it was 15 years ago!), because of hardware/software compatibility, user support, etc… But it is also so much refreshing! You get to change every tiny bit of your system, you can swap components easily, eg replace the default web browser, change the windowing system for another “desktop environment”, and take back control of your privacy while doing computer stuff.

    So here’s my best advice to you: Try it out! Break stuff, restart from scratch, and keep learning that way. This was the most fun I had regarding computers for my whole life, and now I simply cannot switch back :)