8,633 readers
372 users here now

Welcome Programmers! is a collection of programming communities and other topics relevant to software engineers, hackers, roboticists, hardware and software enthusiasts, and more.

The site is primarily english with some communities in other languages. We are connected to many other sites using the activitypub protocol that you can view posts from in the "all" tab while the "local" tab shows posts on our site.

🔗 Site with links to all relevant sites

🟩 Not a fan of the default UI? We have alternate frontends we host that you can view the same content from

ℹ️ We have a wiki site that communities can host documents on

⚖️ All users are expected to follow our Code of Conduct and the other various documents on our legal site

❤️ The site is run by a team of volunteers. If youre interested in donating to help fund things such as server costs you can do so here

💬 We have a microblog site aimed towards programmers available at

🛠️ We have a forgejo instance for hosting git repositories relating to our site and the fediverse. If you have a project that relates and follows our Code of Conduct feel free to host it there and if you have ideas for things to improve our sites feel free to create issues in the relevant repositories. To go along with the instance we also have a site for sharing small code snippets that might be too small for their own repository.

🌲 We have a discord server and a matrix space for chatting with other members of the community. These are bridged to each other (so you can interact with people using matrix from discord and vice versa.

founded 1 year ago

Canvas has ended! 🎨 - final canvas

submitted 2 days ago by mac to c/gamedev
submitted 22 hours ago by mac to c/gamedev
Googling (
submitted 2 days ago by JPDev to c/programmer_humor
Crowdstrike (
submitted 1 day ago by [email protected] to c/programmer_humor
submitted 22 hours ago by mac to c/godot

CSS Grid support has been widely available since March 2017 in all major browsers. Yet, here we are in 2024, and I still see few people using the grid template areas feature.

It’s no surprise that many avoid template areas as making sense of the grid is challenging enough. In this interactive article, I aim to shed light on this feature and, hopefully, convince you to use it more often. Once you see the simplicity and power of template areas, you may reach for them much more frequently.


I made some Go scripts that require user input fmt.Scanln(&fileName) during the execution. When I use the Go debugger built into VSCode which is the launch type, it works but there is no way to enter any prompts when your exeuctable asks for a input. With other programming languages like NodeJS and PHP, there is way to run the scripts in "debugging mode" where it will run the code but before it executes the code, it will wait to attach to a debugger on your system and then execute the code. This has always allowed me to use the terminal for inputs in the executable.

For example to do this in NodeJS, you will use node --inspect-brk= main.js instead of node main.js and then run the debugger in VSCode to attach it to the executing script. Is there a way to do this with Go? Do I need to set something up to achieve this?

I am on Linux Mint and cannot find any commands to run go run . but to wait for a debugger to attach to the executable before executing.

36 link

Hello, I have elected to pop my hosting in event, cherry in the most scuffed way possible. There is money about it.

Right but yet the theme is cute and dark. So cartoonishly cute and dark in theme. Cute with the dark aesthetics only has been done and you know it’s been done well so that’s that’s what’s up. Normal game jam rules. Contributors can vote. We are kind of you know doing this as a form of play. And I think that that’s perfectly fine. So yeah, if you agree and you want to put something in, come on by. It’s going to be open the whole time, and I might even do like Our weekly streaming kind of thing for an hour on Saturdays. I did it today and do you know that was OK.

WebRTC IP Leaking (self.javascript)
submitted 1 day ago by xoron to c/javascript

i want to understand more about WebRTC security when using vpn. id like to know if it is more secure with VPN than without... or even if its recommended to use WebRTC with VPN.

i created a webrtc demo: (the corresponding code its created with:

if i generate a "WebRTC offer" then i see a bunch of information including my IP address.

if i do the same with VPN, i see that my ip address isnt in that payload.

following the information here:

and using the demo here:

it seems even with vpn, the local ISP ip seems detected.

a recurring concern ive had on reddit about the security of my app is that webrtc exposes ip addresses. im investigating using the app with vpn. it seems to work like normal.

in the example details given above, i see while the local ISP IP is exposed, the personal ip address is still hidden. im sure what is exposed there is not worthless, but it could help users with privacy and security.

on the back of this investigation id like to see if i can add something like a toggle in my app called "enforce VPN" which will first check to see if you are on a vpn, and if you are, open the rest of the app.

my app is using peerjs-server as the connection broker. this is a third party i have no contractual agreement to provide me with a service. it could help to hide your IP from this service.

Hardware issue (
submitted 1 day ago by [email protected] to c/linux

Today, i turned on my Mint pc and it wouldn't let me type in a passpowrd. Even the mouse was not reacting.

So i rebooted, got a massive text wall that mentioned something about not syncing

When i rebooted again, it wouldn't start up only a few rotations with the fans and then it restarts and repeats this loop

I assume that this is a hardware issue but what should i be looking into and how do i make the recovery as smooth as possible?

submitted 22 hours ago by mac to c/godot
submitted 22 hours ago* (last edited 22 hours ago) by alexdeathway to c/docker

I am working on this django docker project template with this certbot setup, Dockerfile

FROM certbot/certbot:v1.27.0

COPY /opt/
RUN chmod +x /opt/

ENTRYPOINT ["/opt/"]



set -e

echo "Getting certificate..."

certbot certonly \
    --webroot \
    --webroot-path "/vol/www/" \
    -d "$DOMAIN" \
    --email $EMAIL \
    --rsa-key-size 4096 \
    --agree-tos \

if [ $? -ne 0 ]; then
    echo "Certbot encountered an error. Exiting."
    exit 1

#for copying the certificate and configuration to the volume
if [ -f "/etc/letsencrypt/live/${DOMAIN}/fullchain.pem" ]; then
    echo "SSL cert exists, enabling HTTPS..."
    envsubst '${DOMAIN}' < /etc/nginx/ > /etc/nginx/conf.d/default.conf
    echo "Reloading Nginx configuration..."
    nginx -s reload
    echo "Certbot unable to get SSL cert,server HTTP only..."

echo "Setting up auto-renewal..."
apk add --no-cache dcron
echo "0 12 * * * /usr/bin/certbot renew --quiet" | crontab -
crond -b

problem with this setup is,certbot exits after initial run of getting the certificate and when it's renew time it require manual intervention.

Now There are two choices

  1. set restart: unless-stopped in docker compose file so it keeps restarting the container and with cron job to renew the certificate when required.

  2. Set cron job in host machine to restart the container.

Are there any other/more option to tackle this situation.


I just finished watching Why Google Stores Billions of Lines of Code in a Single Repository and honestly, while it looks intriguing, it also looks horrible.

Have you run into issues? Did you love it? How was it/

submitted 2 days ago by mac to c/git
submitted 22 hours ago by mac to c/golang
CSS Selectors (
submitted 22 hours ago by mac to c/webdev
submitted 2 days ago* (last edited 2 days ago) by JackbyDev to c/programmer_humor

Literally. I open up my terminal and try to cd Desktop only to be told that no such file exists. I thought for sure everyone this was happening to was just not reading something correctly and were foolish. Nope! It literally began deleting my files.

Edit 2: Even once it's done and you have them locally and not "on demand", the Desktop is in ~/OneDrive/Desktop instead of ~/Desktop. See this helpful comment.

It looks like there might be a way to sort of disable Files on Demand but it looks like it won't let me do it until it's done uploading? I'll post updates.

Not to be dramatic, but I'm really going through it. My mouse logitech mouse is suddenly chattering really bad and double clicking everything. Also while Steam refuses to let me disable auto updates for all games in any sort of easy way. And DDG seems intent on only showing me results related to launching games without updating (as opposed to merely disabling auto updates until I launch). The chatter fixer I found for my mouse does not work and the other requires some logitech program to even try to use. (The repo doesn't mention the name.) This is awful. When it rains it pours, I guess. Literally can't even high light this text to wrap it in a spoiler. This is fucking stupid.

Context: My parents have a family plan for Microsoft 365 they added me too and it has 1 TB of storage I can use. I wouldn't have turned it on otherwise.

Edit: My desktop background has literally vanished and turned solid black.


submitted 22 hours ago by mac to c/php
view more: ‹ prev next ›