Gerph's RISC OS development setup
This is my home office. The 2013 8GB MacBook is my main development environment for non-work things. It runs Sublime Text as my editor, with modes for some of the RISC OS filetypes that I edit, though the assembler mode is nowhere near as complete as the CodeMirror mode I published recently. Beyond Compare handles the diffs and most git merge operations, although I also use Sublime Merge when I've entangled changes a little too much. Git is largely run from the command line. Firefox provides the few hundred tabs of documentation - I keep each chapter of the PRMs open in a different tab. Most of my time outside of work is RISC OS-y things so I spend a bit of time staring at them.
RPCEmu is used to check behaviour of RISC OS when the PRMs, or other online documentation, seem to be at odds with reality. All of my RISC OS development is on the MacBook. Testing happens through my own systems, or RPCEmu (or, very rarely, sent to a friend who has an ARMBook), or in my automated testing ('CI') environment. That said, the Hourglass module development and testing I'm doing right now is entirely compiled by sending it off to the JFPatch-as-a-service system.
Other hardware, connected to the MacBook:
* WavLink dock, drives the upper two monitors, connected through the USB 3 connection from the MacBook.
* Lower two monitors are driven by the native DisplayPort connections from the MacBook (through adapters to DVI).
* All 4 monitors run at 1600x1200 (or 1200x1600 if you prefer to care about orientation).
* Speakers driven by WavLink dock.
* Headphones for conference calls during our isolation come through additional USB audio through one of the USB hubs connected to the monitors.
* MIDI keyboard is connected to the WavLink's USB, for testing the RISC OS MIDI.
* DVD drive is there for some recent testing.
* Yubikey provides second factor for authentication systems.
* The keyboard's an old Dell keyboard I got from Picsel about 10 years ago. The Mac's keyboard is... not to my liking.
Networking is all WiFi.
Having the multiple monitors is pretty great for development - I usually keep the PRMs on the bottom right monitor, filling the screen. Top right I keep my workboard or other documentation that I need to refer to. Bottom left is the main workarea that usually has the editor, with vertical split so that I can see two files at once. Top left monitor is a general chat and mail terminal, and music (since it might as well be visible, as I've got enough screen space) - though I'll commonly throw extra windows, like RPCEmu, up to that monitor if I need to see multiple things at once. The laptop screen's generally reserved for the terminal where I build things, and where the tests are run.
I did tidy the desk a little before taking the picture - the Post-It notes accumulated over 6 months have finally migrated to the bin - although I left the Hourglass test running, so you may just about be able to see it on the laptop monitor. I have my pointers configured to be huge, which is kinda important when you've got a lot of screen space to find it in!
You might just about be able to see the work laptop hiding behind the MacBook; they get swapped over daily due to the joys of working from home. Oh, and there's a die I made a few days ago sitting next to the keyboard, which I forgot to move out of the way.
This is the home server, a Dell R710 with dual X5675s (which gives me 12 cores; 24 threads), 120GB memory... stupid amounts of disc space (also stupidly connected through the USB-3 external devices... I should really replace that with a bay'd external box, but I'm lazy and it works). It runs Linux, with numerous VMs and docker containers to manage the storage and services. It runs the GitLab server holding the sources I'm working on, both my own and for the RISC OS components that I play with. The server runs Artifactory to store built artifacts - modules, applications, tools, and documentation. The server has a dedicated VM for the GitLab docker build environments. These provide the linux building of RISC OS as part of the CI, and for testing the components themselves. CI also manages the build and test of RISC OS components on the MacBook, to check cross platform compatibility of the RISC OS builds. CI runs on git push, and tests that components build on MacOS and Linux, and that the built components execute on RISC OS, using the contemporary versions from Artifactory. I've yet to set up a Windows test environment, but that's one of the many things on the list.
The server also runs the runs the development versions of the JFPatch-as-a-service build server. That service now runs entirely on AWS on a t3.micro, but the test version which I try out changes on lives here. It's probably not the first RISC OS in the cloud, but it's probably the most dynamic. I don't have any pictures of it.
The laptop and the server are both backed up off site, incrementally each day, and with a full backup at the start of the month, 'cos I've lost of lot of things due to crashes, failed discs, stupidity, etc, and it's really quite annoying.
My RiscPC lives in a storage unit /way/ across town, as it has for the past 5 years or so. Every now and then I think I ought to go over there and bring it home, but... it's all the way across town!
You can see lots of other Computer setups
If you want to add yours, send us send a pic and an intro on your RISC OS related setup (email to markstephens At idrsolutions.com), and we will add it.