In Between Projects
Things ramped up for me technically when I tried to build my first server, which I describe here. I was only just getting to grips with command line and Linux, and it took months of my life and a lot of persistence to get it all to work. I had to start over many times. It was therefore quite strange to experience a sense of deflation when the server finally ran stably, was public-facing and secured with HTTPS. Now what?
WordPress and Nextcloud...need a purpose
Through osmosis from watching numerous tutorials, I had learned that you can run software on your server. I spent many nights over one Christmas break setting up WordPress and Nextcloud. Neither worked right away, and so I learned about 'debugging', which is trying to isolate the specific problem that is stopping it from working by creating lots of small A/B comparisons and seeing how these affect the outcomes. Eventually, both applications were up and running, and I was duly impressed by how slick both platforms looked, and how sophisticated their features were.
But setting up Nextcloud and WordPress was the end of the road; I couldn't think of anything else to do with my server. It had felt great to experience this really sharp focus on a project that was challenging. Having a very steep learning curve meant that I was learning a lot in a field that was totally new to me. There were times when I felt my brain was changing.
These are great and rewarding feelings. I hardly thought about why I was building the server with these applications; I only knew that I wanted to see it working. This hyper focus led to a sense of deflation when it finally did all work without bugs or crashes or other problems.
My Nextcloud had a few users, so I could see what real engagement looked like. We tried to set up a shared music library but really struggled (at the time) to find a good audio player tool that could access that rather large library of mp3s without crashing. I had endless amounts of trouble scanning the library in, and at one point even had to try and upload the music in small, alphabetised segments. Needless to say, activity gradually petered out.
I didn't know what to use my WordPress for. At the time, I had nothing to say that I would want to publish online. I thought about writing about problems in education, but didn't feel motivated to write about work after work. So in the end, the WordPress account, with its paid-for custom domain name, was just sitting there, unused.
In both cases, it seemed the journey truly was more rewarding than the destination.
New projects, please!
I had become hooked on the excitement of a challenge and the thrill of getting immersed in a project, and so I began looking for new ideas. I thought I could try to learn a real programming language, and bought a book titled Think Python and explored some websites.
The problem with this was that I wasn't interested in the problems the books or web tutorials presented to me. It seemed artificial to create a programme for adding and subtracting numbers. What had felt so exciting about building the server was that I could 'see' the end result. Like Oz, or the Celestial City in the Bunyan's allegory The Pilgrim's Progress, every difficult step towards the goal meant learning something new. That was thrilling. Perhaps this was a lack of imagination on my part, but I could not 'see' the next project that I wanted to create using Python. I briefly considered building a library cataloguing application for my books and music, but it didn't capture my attention in the same way the idea of a server had.
I had also learned about Raspberry Pi mini computers. That interested me, because I love gadgets, but when I looked at the projects in books in the library, none of those really grabbed my interest either. Luckily, later I did end up buying a simple Raspberry Pi and found a good practical use for it: setting up my own Whoogle instance for the home.
I thought I could learn HTML and learn how to design my own website, but I had already learned you have to have something you want to publish, which I did not at the time. So the drive to learn wasn't there.
Lastly, I had really enjoyed discovering the power of the command line, and began looking into online Linux courses. I put that on hold for some time, but eventually (during Covid..., when there suddenly was more time) I completed several modules of a decent Linux course online, which was a satisfying experience.
I don't know why it is that one project will capture your imagination and set you off on a frenetic journey of late night after late night taking notes, watching tutorials, and failing over and over again...while 99 other project ideas don't. I still haven't built that book catalogue, and I probably never will. But I do now recognise the feeling of excitement that comes when you land on a project you do really want to build, and I tend to follow wherever that leads. Some later projects like that were mining Monero and flashing custom ROMs on Android devices.
What I have learned is that having a real-world problem to solve up front really helps motivate you to learn new things. It's odd that many of the textbooks and web tutorials reverse that process, giving you small 'exercises', an approach that doesn't make you hungry to learn. The model of working towards an end goal in small stages, with a steep learning curve, is perhaps something to consider in education. This approach is similar to what makes playing single-player video games so addictive.
I have a number of active projects today that I really use. I came back to the Nextcloud server later and now love it. Some of the planning tools Nextcloud offers as plugins are just fantastic. My Raspberry Pi Zero 2 W runs Whoogle, and I have a public-facing Monero node from which I mine several cents' worth per week on an older PC. I install Linux on my devices and those of my children, and actually like opening these up and replacing parts.
I'm pleased that as an absolute beginner with no IT experience, I was able to get somewhere by taking one step at a time. Reflecting on that journey eventually led me to feel like I do have something to say, and I began to write this blog. If you are a beginner, and have been thinking about starting a project on an old laptop, I hope that some of my experiences will encourage you to take the first step and start experimenting.
-----Discuss on Reddit -----
Subscribe to my blog via email or RSS feed.
Back to Blog