Once or twice a year, I get the urge to install some variant of Linux or Unix and set something up. What something? No idea. Which is why, of course, the experiment is typically abandoned within a week or two.
Well, that’s not always the case. Abandonment still occurs, but sometimes it’s because I discover that my project, let’s say “build a super secure personal firewall using OpenBSD,” wasn’t worth the effort given other tools I already had in place. Ok, maybe also a tad over-ambitious.
Other times, I have some vestigial Silicon Valley idealism resurface, making me want to move away from Mac OS or Windows, angst-ridden over all of the things going on that I don’t know about. I’ll compile my own kernel! I’ll run wireshark and review source code! I’ll shut down all of the unnecessary services! I’ll make a personal media serv… no I won’t.
It’s not that I don’t have the desire. It’s more that the *n?x communities I end up in still haven’t moved away from the Nick Burns stereotype. There’s an elitism that permeates much of the culture, despite the best efforts of some really helpful distro teams and well-meaning benefactors. It’s hard to RTFM when you don’t know where TFM is or even what it is that you don’t know. There’s more often than not a tone of “I’m not going to hold your hand” in the community forums.
Don’t get me wrong, I appreciate and agree with the underlying sentiment. Point someone toward the bait store instead of handing them a plate of sushi and they’ll be better off in the long run. But many of the experts I’ve come across online are just that: experts. They’re not teachers, mentors, or guides. They have the knowledge, but they came by it via years of effort and struggle, value it highly, and often hold onto it like a dying Skeksis emperor.
Years ago, I was a decent programmer. I only knew one language, BASIC, and I only wrote for three platforms: Apple II, TRS-80, and my beloved Commodore 64. I even wrote an assembly program once to see if I could do it. I know I have the aptitude, the creativity, and access to the necessary tools. What I no longer have as much of are time and dedicated focus.
So how do I resolve those self-imposed limitations, an arcane ecosystem with a long history, and a cultural group that values DIY and distrusts tourists, with my goal to learn a new programming language? As usual, there’s a quotation that applies.
When I was a child, I spoke like a child, I thought like a child, I reasoned like a child. When I became a man, I gave up childish ways. (1 Corinthians 13:11)
This time, however, I am reversing the lesson. What is needed is not the abandonment of childish ways, but rather the adoption of them. I need to forget what I’ve learned over the last 25 years, to abandon what I “know.” I need to ignore the tweaking and the tribes and, above all, to seek out the education culture instead of the expert culture to help me learn.
In recent searches, I rediscovered the Raspberry Pi’s simplistic beauty. It’s powerful, but accessible and affordable, just as my Commodore 64 was. More importantly, the communities are full of projects and lessons geared toward the beginner. Toward the new mind. Of course, a new model has just hit the market, so everything is sold out, but that will pass.
This time, there won’t be a nebulous project. I know exactly what the end result should be. The project is to learn.