Learning by doing is hard to beat when it comes to building software.

I am starting a home lab to have a safe environment to try things out. Any ideas on what I could run that is completely useless but fun to set up?

@learn_programming
@homelabs

  • baddison
    link
    fedilink
    English
    arrow-up
    1
    ·
    4 days ago

    If you really wanna get the entire experience start with system design and make a whole thing from the bottom up. For bootstrapping use erlang, java, racket etc as the intermediate language, and write an assembler and some kinda ISA on top, then make a higher level lang to run on top and for fun make a shell and or a gui to run on top…

    When you’re done and you come back to reality, if you went deep enough, software engineering as a thing becomes funny as it’s a series of compromises to violently enforce coldwar era ideas based on a world that no longer exists…

    I mean if I use GCC on Solaris 11.4, the compiler is going to output object code that I can run a linker against to get an executable and this whole thing ELF64 is a 1990s and 386UNIX thing that we still use because reasons but when you go thru the process of making your own whole thing maybe you too think ELF is stupid and you get to decide how the entire process of going from source to application goes!

    I don’t wanna spoil it but 10/10 worth it

  • logging_strict
    link
    fedilink
    arrow-up
    2
    ·
    8 days ago

    Take any package that is no longer maintained and git clone it.

    Configure the dev environment

    • pre-compile

    • three tox config files:

      testing, docs/lint/formatting/pre-compile/interrogate, update/sync requirements files

    • unittest --> pytest

      Read the tests and then bring it up to your current competency level

    • gh workflows

    • pyproject.toml

    poetry is worthless!

    If the build backend focus is on requirements and not build plugins, remove it. Use a separate package for requirements file management.

    For how to do this see how logging-strict is doing it

    https://github.com/msftcangoblowm/logging-strict

    Specifically pyproject.toml and tox-req.ini

  • logging_strict
    link
    fedilink
    arrow-up
    3
    arrow-down
    3
    ·
    8 days ago

    You are not safe

    home is not a safe environment. Might be possible with alot of preparation like sound proof and a lock on the room.

    The entire point of all the security is to protect yourself from the wife unit

    I code at a cafe. Far far far away from interruptions.

    • andioop
      link
      fedilink
      English
      arrow-up
      3
      ·
      8 days ago

      Hope you’re being facetious, if your spouse genuinely doesn’t respect your time and need for silence at certain times that sounds like a relationship issue.

      • logging_strict
        link
        fedilink
        arrow-up
        2
        ·
        8 days ago

        i’m deadly serious. A cafe isn’t silent, just are left alone to do our thing