this post was submitted on 25 Mar 2024
33 points (97.1% liked)
Learn Programming
1615 readers
1 users here now
Posting Etiquette
-
Ask the main part of your question in the title. This should be concise but informative.
-
Provide everything up front. Don't make people fish for more details in the comments. Provide background information and examples.
-
Be present for follow up questions. Don't ask for help and run away. Stick around to answer questions and provide more details.
-
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 1 year ago
MODERATORS
you are viewing a single comment's thread
view the rest of the comments
view the rest of the comments
All good. Learning and exploring is part of the journey! For example hosting a website can be as simple as running a program
(eg
while true ; do nc -l -p 80 -c ‘echo -e “HTTP/1.1 200 OK\n\n $(date)”’; done
)or as complicated as an entire application with multiple databases and processes.
For your first goal - what do you want your website to do? Blog? A bio about yourself? Are you interested in creating the HTML or do you want to focus on getting someone else’s application (eg matrix) up and running?
It would be nice to just have a blog up and running! This morning I stumbled upon this website https://alexw.nyc/, and I would be so happy to be able to make a website like that one, to be honest.
Being able to host a matrix server o a pixelfed instance for me, family and friends is something that would be awesome, but probably too much for someone like me, at least for now. So I'd rather go with the website.
PS: Whenever I see something like this I panic lol
Excellent - that site is nice and basic. A good first project.
Seek out some resources on HTML, CSS, basic Linux command line and nginx and start playing around. If you’re on a Mac you can do all this locally then rent a small VPS from digital ocean or the like for about $5/mo to host everything on the web when you’re ready. I can’t speak to options on windows.
On your last comment it looks scary but if we break it down it’s not bad at all.
while true ; do
Programs are (super) basically made up of if “this” then do “this stuff”, and while “this thing” do “some stuff”. While true means run this next bit of code (untildone
) forever.nc -l -p 80 -c
nc is a program (netcat) that reads/writes data to a network. - in Linux denote options for the program. These are saying listen, listen on port 80, and run a command.
‘echo -e “HTTP/1.1 200 OK\n\n $(date)”’;
The command netcat will run. This is HTTP protocol magicness and
$(date)
is a Linux command that prints the date.done
Ends the loopEz pz.
If you have a Mac you can probably run this in terminal and check out what it does (do take care in running commands from the internet tho).
Thanks for the explanation! Once you give everything a meaning it's just another language I guess lol
I'm not on a Mac, but I do have a PC running Ubuntu so maybe that works too (?)
I'll be looking for those resources you listed this week since we have some days off and see what I can come up with. With that and all the other suggestions I think I'm ready to do some stuff, build some break some and see how it goes haha
Thanks again!
Oh yes! Even better. People having Linux machines just hanging around is rare so I didn’t even consider it.
I did a little looking and found instructions for hosting a matrix server here:
https://element-hq.github.io/synapse/latest/setup/installation.html
Once you get a bit comfortable on the command line give this a try!
When I was a kid I was really into computers, so I met Linux back then. Nowadays, I just use it when I'm fed up with Windows or if I need to get work done since it's distraction free and workspaces and hot corners make my life so much easier when working with multiple documents :)
Saved the website for later on!