What did I get done?
In writing up the year's work, it's clear to me that I managed to get a huge amount done - the summary in the appendix goes through all the headlines in different areas. I always question whether I have done enough and whether it's worthwhile, but doing these retrospectives - either as a presentation or an article like this - reminds me how far the system has come.
There were a lot of things that worked really well. I spent a lot of time getting the host hardware interfaces working so that I could drive some real devices. Largely that was just for fun, but it also made some fancy things to show off - and it improved many parts of the internal system as well.
The improvements to the testing system - adding mocking for some components, and more tests to make the system more reliable by testing more of the interfaces - make the system feel much more robust. Adding features without tests is generally a bad idea, and most of the new features have some form of test to ensure that they work the way they're intended. Having good tests is something I regularly talk about at work and have spoken about at length in the RISC OS world. Knowing that I follow those principles, is obviously a great feeling!
The user interface changes that added the memory views and file browsing were a bit more involved than I had intended, but that opens up more ways to interact with the system than before. The system is definitely moving closer to being able to provide a full debugger. Plus those libraries are open source, so others can use them if they wanted.
Making Jan Vibe's graphical programs work properly was an amazingly fun little project. Not only was it a good trip down memory lane, but also it showed many problems with the system in those corner cases. The system is much better for it.
The testing of the Internet 7 modules was interesting because it pushed some of the limits of RISC OS Pyromaniac - but not as many as I might have expected. It largely worked, and once the DCI 4 shim was in place, the experimental RISC OS Pyromaniac DCI 4 driver worked the first time. There remain problems with the Internet 7 system, but they're not in RISC OS Pyromaniac in general.
The work on Git was triggered by a single meeting, and adding the additional features for the common Git commands was both easy and rewarding. Each change came easily and unlocked more possibilities. It's demonstratable on the shell.riscos.online system, so that's pretty cool too!
Is it still fun?
The most important question, which I always come back to, is whether the project is still fun. There's been a few times in the last year when I've questioned why I spend the time on RISC OS when the response from some is lukewarm. But the important thing that I am reminded of is that the project needs to be fun for me, and I need to enjoy what I'm doing. That's what matters, not what other people think.
In that regard, it's still fun. I've produced some impressive things, and whilst it's not everyone's cup of tea, it is what I care about.
It's been a pretty good year.
What do I want to do next?
Every time I suggest things that I want to do, the list is rather aspirational - I rarely get those things done, but it's nice to have some interesting goals. With that in mind, I'd like to...
- ... do some more work on file systems.
- ... improve the interfaces to make a proper debugger.
- ... finish some of the experimental things like the Joystick and ADC modules.
- ... test more things like the ROOL Internet stack for comparison.
- ... do a proper presentation at the end of next year.
- ... make a proper debugger.
Part 1: Introduction
An introduction to Pyromaniac.
Part 2: Changes by month
Summary of the changes broken down by month.
Part 3: Details (1)
In depth discussion about some quick hacks, Jan Vibe's graphical ditties, Git and others.
Part 4: Details (2)
In depth discussion about the user interface changes and testing.
Part 5: Details (3)
In depth discussion about the hardware interfaces.
Part 6: Conclusion
Some final words about the year.
Appendix: Summary of the changes
A quick summary of the changes in 2022.
Main Pyromaniac Site
Main pyromaniac site with resources, examples and other links.