Best source hosting
Pages: 1 2
Chris (121) 472 posts |
My stumbling efforts to use git with Maestro have persuaded me that it would be better to store my own programs on something similar to GitLab, in case my own machine breaks down and I can’t get access to the sources. Can anyone give any advice on what would be the simplest solution for me? All my programs are in BASIC, and I’m very happy doing the actual development on RISC OS (RPCEmu) and then using the Mac to upload and manage the sources. All I really need is a somewhere to put the code, keep it secure, provide some version control, etc. Github seems to be free for single users – would that be a good choice? Or I think GitLab also has a free option – at least I’ve actually used that one. I’d be after the simplest possible solution, really. |
Richard H (8675) 100 posts |
Following on from the ArcadeBBS discussion, where version control was briefly discussed, I was wondering something similar. I have a spare Amazon micro-instance in their Virginia datacentre which I’m not using at the moment, and which I have no expectation of using in the foreseeable future. It is also fully paid-up for another two years. If there is sufficient interest, I could stick a gitlab server on it, for the sole purpose of hosting RISC OS source repositories. Shouldn’t take me too long1 to do this, and I actually have a week off next week (which has mostly been pre-booked for decorating, but I can’t do that all the time). Would this be of general benefit to people? 1 Laugh quietly, please. |
Andreas Skyman (8677) 170 posts |
I have used both GitHub and GitLab. Both are good and similar in design, and both are free for free software projects. I think that, since a few years, GitHub is also free (as in free beer) for non-free projects as well, at least for single users. Not sure about GitLab in that respect, but I don’t think it requires your projects to be open either. Further considerations: GitHub is more well documented and has a bigger community, but GitLab (an instance of it) is used by ROOL, so if you learn the ropes on GitLab you can perhaps feel more confident contributing here, which might be something to consider. GitLab is also free software, whereas GitHub is not, if that is something you care about. Personally I mostly use GitHub these days, but that is mostly because we use it at work. In summary: both GitLab and GitHub are good choices. |
Richard H (8675) 100 posts |
I didn’t realise that GitLab offered free hosting. In that case, it would be better to use that than to use anything I hosted, which would probably be less feature-rich. |
Chris (121) 472 posts |
Great – thanks. If GitLab offers free hosting then that might be the one to go for. I’ll have a look. |
Steffen Huber (91) 1953 posts |
GitHub, GitLab, SourceForge, LaunchPad, Azure DevOps, BitBucket, Savannah, Allura…or “roll your own” with e.g. Gitolite on a rented server somewhere if you just need a version control system. I have done the latter, and it is really easy compared to the old times where you struggled with setting up and maintaining a CVS or SVN server. Some of the services have restrictions on the license you must publish your software under for the “free plan”. You can spend ages comparing the services with respect to issue tracker integration, wiki integration, CI/CD stuff, APIs for more powerful integration into your personal workflow…or just use GitHub like everyone else :-) |
James Byrne (3371) 29 posts |
The free tier on GitLab.com is fine. It’s also worth mentioning that for anyone who has an account on the ROOL GitLab server, there’s nothing to stop you making a public project that anyone can access in your personal area. |
Nick (8831) 1 post |
Just go with gitlabs, used them for so long and still not ready to change them! I know that keeping a website up to date is somehow challenging, however we have the tools to make a great job. I have started buying domains when I was in school on 28msec.com and after that, worked on wix and WordPress. It feels like it was ages ago. Now, everything is so different, so many tools and apps that make our work so much easier. Does anyone relate? Or am I alone in this reminiscing thing? |
Paolo Fabio Zaino (28) 1882 posts |
There are plenty of choices yes, I used quite a lot of them and use versioning since the early days of M$ VSS and CVS… GitHub and GitLab these days are the top contenders as far as I can tell.
Just my 0.5c on GitHub we already created a RISC OS Community for people who want to put RISC OS Projects in a community space (everyone is welcome and it would be great to have more admins as well!). Thanks to Andreas and Julie’s feedback we have reached a very good status in terms of code of conduct and rules, so we can also open the community for Sponsors who may help some of the projects hosted there if someone is interested. In my very little spare time I am also working on interfacing RISC OS straight with github API (the API is specific for each provider) and hopefully in the future there will be a graphic GitHub client for RISC OS. One great feature of GitHub over the others is the availability of good apps for both iOS and Android (for both phones and tablets) and this can help a lot on community projects where there can be discussion over tasks and decisions as well as notifications. I have seen already many git clone on the RISC OS community on Github so maybe people are also interested to contribute back? :) |
David J. Ruck (33) 1635 posts |
Link?
If it precludes giving anyone a good drucking, then leave me out :-) |
Paolo Fabio Zaino (28) 1882 posts |
Community Link here: (I need to add your account to the community, which is why more Admins are very welcome!!!!) https://github.com/RISC-OS-Community
Never had an issue with “Drucking” lol, anyway I asked everyone here on ROOL Forum for a review of the code of conduct and other docs… (everyone’s feedback is more than welcome!), ROOL forum post with links to each doc for review here: https://www.riscosopen.org/forum/forums/5/topics/16429 Thanks everyone for your help and please please please remember that contributing is not just coding!! :) |
Theo Markettos (89) 919 posts |
Unless you have special requirements (enormous files, etc) I’d strongly recommend not rolling your own hosting solution. As well as the overhead of running it, it’s a single point of failure that depends on you continuing to be around, interested and paying the bills. If you cease to be one of those things, it’s much harder to hand over to someone else. The git protocol means if this happens people who cloned your repo have a backup of the code, but not of your issue tracker, wiki, pull requests and everything else that a git host provides, and not of your server config behind the scenes. And if someone does need to rebuild everything, now they need to let everyone know of the new URL. If you’re on github or a similar service, doing this kind of recovery is just a case of appointing multiple admins who can take over if you disappear. Although it’s still a good idea to back up your repos just in case your host does a Code Spaces |
Paolo Fabio Zaino (28) 1882 posts |
Absolutely agreed with Theo’s points. Personal websites/spaces should be avoided as much as possible. Having a Community repo on github or gitlab helps immensely on a number of things: 1) No more: I have lost the sources of my very useful to everyone app/tool And for who wants a bit more: 5) Using services like GitHub may allow the community to get Sponsorships (you it can help!) There is more to add, but a lot of extra benefits would be unlocked only when the community grows and get noticed, but one among the many is support for the specific languages from the service itself. While using our own web space won’t have any of these advantages. |
David J. Ruck (33) 1635 posts |
I will be making a lot of my stuff open source if I ever find time, and at least now there is an obvious place to put it all. |
Clive Semmens (2335) 3276 posts |
I’ve got various little apps on my private website which I’ve linked from here from time to time ( http://clive.semmens.org.uk/RISCOS/RISCOS.html ). If they’re useful to anyone, and it would be useful for them to be on some other site, I’m perfectly willing for them to be there. I’ll put them there if (a) someone can explain to me how, and (b) if it’s not too difficult. Otherwise, anyone is welcome to copy them to another location and or modify them in any way as long as the readmes in them are left intact, giving my contact details etc. |
Stuart Swales (8827) 1357 posts |
FFS. Even this old git is using git. You can back up the repo and you have its history captured, not just the current state. We do need some sort of !NoddyGit application on RISC OS once the full git client is stable to save command line angst. |
Clive Semmens (2335) 3276 posts |
I suspect that FFS is aimed at DavidS, Stuart – but I’m probably not a lot better myself, so I can’t be sure it’s not also aimed at me. I’m willing to try to be cooperative if anyone finds my apps useful, but I’m not experienced in that kind of work – and they’re not well-written in the sense of being easily maintained by anyone else. All in BASIC – I used to have some that had assembler routines in them, but I’ve never 32-bitted those ones. |
David J. Ruck (33) 1635 posts |
The FFS was aimed at DavidS, and rightly so. We may have to create a Luddite forum and automatically move posts there, to preserve everyone else’s sanity. |
Clive Semmens (2335) 3276 posts |
This is much more apparent now Stuart’s added the rest of the post!
Now that sounds like Just What I Need! I’ve not used git yet, don’t know anything about it. |
Stuart Swales (8827) 1357 posts |
We do have a Luddite forum: stardot. And even they aren’t that Luddite! |
Clive Semmens (2335) 3276 posts |
I think it’s the use of a shared version control system that’s the main issue, David. Which is something I’ve not got to grips with, but am prepared to learn if someone can point me in the right direction. |
Clive Semmens (2335) 3276 posts |
For sure; but whether yours or mine remains to be seen. |
Rick Murray (539) 13840 posts |
Why? The point of a repository is that it can be copied and cloned. If you want a local copy (and I’m sure all the current RISC OS devs have their own), then “simply” sync the master repository with your local system.
The reliability of your network access is your problem, not the problem of the version control system. It works well for thousands of people.
The point of maintaining remote backups is two-fold and has nothing to do with what mainframes may or may not have done. Firstly, because we can. Those of us of a certain age will remember the world of V.23 (1200/75 baud) connectivity and the shocking prices that British Telecom (Ma Bell for you) used to charge for phone connections, often using highly arcane methods where calling the same person could result in two different prices depending on whether you use the STD number (trunk for you, I think?) or some strange bypass number that your local exchange understood. An example, when I was young I used to live in Yateley on the 0252 exchange. A friend lived in Sandhurst on the… 0483? I forget. It was different. Now, if I was to dial 0483 123456 (whatever her number was) then I’d basically have to wrap up a bunch on banknotes and throw them at the telco. However in those days, people on borders like that got a little booklet of shortcuts. Sandhurst would be, perhaps, “68”. So I could dial 68 123456 and get the exact same person, but it would be charged as a local rate call (which could still be bloody expensive depending on the time of day that you called) but was much cheaper than using the full number which would route your call “nationally” rather than “locally”. Secondly, it is practical these days to have an “off site” copy if there is anything of importance. I partially do this. A few source archives are downloaded onto my phone. It’s not foolproof, certainly, but if anything kills me than whether or not I had backups is unlikely for be of relevance to anybody else…
?
Troll. Yes, compilers weren’t terribly good in the 1970s due to limitations both in technology (compiler and computer), fairly slow clock speeds, and lack of memory (because it was hideously expensive). A harddisc that wouldn’t even hold one single low bitrate MP3 of a pop song cost more than a house. Memory…wasn’t much cheaper. Fast forward to today, and any competent compiler will wipe the floor with your arse, screw it up, and toss it into the recycling bin as a job well done. Oh, and it can keep track of stacks and register allocations and dual issuing and concurrent FP and all that sort of stuff in a mere heartbeat in a way that would take you days to match. It can also favour speed or code size in the way it generates code (and we all know world+kitten will choose speed). And best yet, so long as the code is reasonably portable (no weird stuff and the same libraries on both machines), the same code can be built for x86, for ARM, for ARM-64, for MIPS, for RISC-V, for whatever. Compiler back ends exist which can outperform pretty much anybody who isn’t called Sohpie Wilson, and they’re the reason why Linux exists everywhere. FFS, processors these days don’t even necessarily execute the code as written in the order it was written. Everything you thought you knew about assembler belongs in its rightful place → the past.
Except for the part where you kinda actually did. Quote: holding the long disproven belief from the 1970s that a compiler can outperform a programmer
For Felicia’s Sake.
No, no, and a thousand times NO. This is what I do. It’s wrong. My excuse is because I really cannot be arsed to learn git. I feel that git is a horribly overcomplicated crock (and looking at the recent threads involving git only help to emphasise that opinion). Now the problem with zip files is that there is utterly no tracking of what has changed, either at code level or at descriptive level. Think of how many times a developer has copped out and said “bug fixes”, if anything at all. That says nothing. I’ll give a real life example. In my programs, I maintain a file called “Versions” which gives a fairly verbose textual description of what actually changed from one version to another. If you want to know when something was done, it’ll be mentioned in the Versions file. With source control, not only is every modified source checked in (and by who, when), it also carries a description and the version control system can also diff between versions to highlight what has actually changed. So I distribute archives. Rockin’ it like it’s 1988, baby! |
Clive Semmens (2335) 3276 posts |
Me too likewise, except that I don’t know whether I can’t be arsed to learn git or not because I haven’t yet been arsed to find out how hard it would be. |
David J. Ruck (33) 1635 posts |
git is not an off-site version control system. git is 100% on-site using local storage, no networking needed. You chose when and if you want to transfer changes to or from off-site copy. |
Pages: 1 2