I have a small app on my computer that I wrote myself. It’s small and simple, and it’s the default application for opening BitTorrent files on our computers. When I download one of these files the app takes the file and moves it to a folder on the server. This folder is watched by my torrent client of choice which runs on the server and immediately starts the download when it sees the file.
The app then pops up a notification to the user to ask if they want to be directed to the deluge web interface to see the download progress.
I rewrote the app about a year ago. The original version was written in RealStudio but the location of the watched folder and the URL for Deluge’s web interface were hard-coded in: a reasonable design decision given it was just a small app for only my use one, but still a poor one – when a change I made to my network configuration required me to adjust these variables I no longer had a copy of RealStudio available.
I wrote a new version in Visual Basic 2010 Express, and this time I did a little extra work to take the configuration variables out of the source code and put them into an .ini file.
Why am I telling you all this?
I’m working on something right now that’s big and complex and I value having version control and branches to work with. I already have Git installed on my server (both my home server and my public webserver), but I’ve downloaded a windows Git client to compliment that setup and opened a GitLab account to use as an external repository and a means to eventually make a finished product public.
Why have I chosen GitLab over the more ubiquitous GitHub? GitHub makes you pay to host a private repository, and I want somewhere where I can both host code that’s a work in progress (and not ready for public distribution) and distribute completed code that’s ready for download, public review and maybe even improvement by the wider community. GitLab gives me free private repositories for partially-completed things that I can later make public once I’m ready to.
I’ve already created a couple of public repositories, mostly to test the platform out, and TorrentApp is one of them.
So use it if it’s a tool that might be useful to you, improve upon it if you have the expertise, and send me a merge request so I can incorporate your changes into the code!