Competitive/Collaborative Programming Class

ICPC Computer Programming Contest Prep

Problem Solving in Computer Science

Spring 2025 -- CSC 2700 Section 01
1212 Patrick Taylor, 6:30 PM - 8:20 PM



Tailscale

Class projects often result in client/server or peer-to-peer softweare development. Trying to demonstrate this in a classroom environmnet can be challenging. Teams often wind up using S3 or some other online hosting service to provide a publlicly available server for the project. This has several drawbacks:

Another approach is to stand up a server at home and devlop there. This has it sown issues:

Tailscale can help. If you build a server(s) at home to host the project, Tailscale can enable you to provide limited access to a limited number of folks. It essentialy builds a VPN for each authorized client to conect to. You do not have to do anything to your home router. The server is not open ot the internet, so no new security holes have been opened up. You can do secure, shared development on a home server from anywhere.

Tailscale can do many things. It will take a fair amount of study to understand all of its capabilities. To just use it as a simple VPN mfor a projecxt can be figured out fairly quickly. Installation is pretty painless.

Tailscale is a commercial product designed to allow companies to extend their internal LAN to workers regardless of location while maintaining security. They provide a free tier so that folks can do non-commercial testing and use (obviously they hope that tech folks will use it for free, like it and then convince their companies to pay for it).

I will add more here in the future. Here are some links to get you started: