this post was submitted on 14 Feb 2025
38 points (100.0% liked)

Learn Programming

1726 readers
1 users here now

Posting Etiquette

  1. Ask the main part of your question in the title. This should be concise but informative.

  2. Provide everything up front. Don't make people fish for more details in the comments. Provide background information and examples.

  3. Be present for follow up questions. Don't ask for help and run away. Stick around to answer questions and provide more details.

  4. Ask about the problem you're trying to solve. Don't focus too much on debugging your exact solution, as you may be going down the wrong path. Include as much information as you can about what you ultimately are trying to achieve. See more on this here: https://xyproblem.info/

Icon base by Delapouite under CC BY 3.0 with modifications to add a gradient

founded 2 years ago
MODERATORS
 

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

top 7 comments
sorted by: hot top controversial new old
[–] baddison 1 points 3 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

[–] [email protected] 3 points 1 week ago

Checkout awesome self-hosting lists.

[–] logging_strict 2 points 1 week 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 0 points 1 week ago (2 children)

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.

[–] [email protected] 4 points 1 week ago

@logging_strict We might have different things in mind when we say safe.

Moving to a place for deep work sounds like a good idea indeed!

[–] andioop 3 points 1 week ago (1 children)

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 2 points 1 week ago

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