Where do I put this?

Now that you learnt how to code, you wonder how you can expose your non-sensical logic-defying unreadble scribles to the maximum people possible while you make them experience intolerable amounts of cringe. fret no more my friend! You can now host your code on the internet for little to no money! I, myself, am a no money person so most of the things I will be talking about will be free. What tools I do use? where do I put my code? here is the result of years of research!

Domains ๐ŸŒ

Before we talk about flexing your bad code on people that don't know any better, I want to talk about domains (no this is not a JJK reference). I won't go deep into the details about what a domain is, or how important it might be. You can just google that. A domain is not mandatory but having one is always better. Mine is nairolf32.com. It's from cloudflare. I used to have one on namecheap but I moved to cloudflare because it's actually cheaper (ironic) and way more secure. I am not even affiliated with cloudflare I just love their service. I also get free subdomains everywhere I can, using pages (github, gitlab, bitbucket, cloudflareโ€ฆ), with wordpress or editors like wix (yuck!) , also some from here and if you want to get a domain I suggest checking the list first.

Cloud and Vps โ˜๏ธ

I used to have a VPS on digitalocean and also tried akamai/linode too but ended up not liking them much... I recommend digitalocean for cheap VPS though (If you got 5 bucks to spare). Also considering major cloud providers like Google, Azure, AWS, Oracle...but none seem to be really "cheap" or "free", and to be honest it's quite understandable.

Workspaces ๐Ÿ“

Now let's talk about where you can actually code. Obviously you know I am gonna say:

Workspaces with VCS

Github is my main workspace. I use it for everything. I have a lot of repositories, a lot private for my silly experiments, some public mostly because I like using their pages. I wrote a semi-decent article about git and github here.

To stay in the version control system league we also have:

other workspaces

There are other places where you can code and store your code without necessarily using VCS

And if you like containers and CI/CD Docker will hold your images for you.

Online Code editors ๐Ÿ“

Now if you don't want to install anything on your computer, but feel the urge to display your so-called "skills" you can open your browser and code directly there. The magic people from the internet will take care of the rest and make sure your code is available to the world. Here are some places where I usually go:

Deployments ๐Ÿš€

Basically you have a lot of options to deploy your code but these platforms focus on this exact purpose. They want to make sure your code is available, fast and secure. Now you need to pick them according to your needs

Static (and serverless)

And any pages (github, gitlab, bitbucket, cloudflare...)

Dynamic (and serverless)

web3 (some say it's the future)

More might come in a dedicated article about web3 because I am still a bit confused about it

Mostly databases ๐Ÿ—„๏ธ

Binaries and executables ๐Ÿ“ฆ

It's not seen as best practice to git track binaries and executables as this is generated content that end up bloating your repository. But you not all your users know how to compile your code. So you can do it for them and offer them either a github realease link, or a cloud storage downlaod link. But those are not always the most elegant solutions, also github private repos require authentication to download releases. So here are some places where you can publish your binaries and executables for free:

For Desktop (Windows, Mac, Linux)

Honestly I didn't find many here. I will update this list if I find more. So far reddit recommends you to use your own website (with some cloud storage) or github releases, so...yeah.

For Mobile (Android, iOS)

google play and apple store are gold standards but they are not free. You can still use:

Local hosting ๐Ÿ 

Now this is not a very conventional method but hear me out. You can simply host your code on your own computer. Yes, basically if you know how to setup a Server with port forwarding, and correct DNS and IP configurations, or how to activate DMZ with all the Security risks that come with it, you can host your code on your own computer.

Or you can also use some tools that expose your local server to the internet through a link. Most of the time it's a temporary solution to quickly show your work to someone (like a client or your Boss). In this category we have:

ngrok comes packed in one of my favorite local development tools laragon (I am not even affiliated to them, they are just that good and need more recognition)

Most importantly anything from Freefordev and Freestuff. Now you have all the tools to force people to see your spaghetti code and its results. In upcoming articles I will talk about more utilities and tools and how I usually set my development environment. I also plan to talk a bit about game development (we often forget those poor souls). Stay tuned!