I have always had a wide variety of interests and fascinations. This can absolutely be a good thing, but when trying to sit down and focus to get something done, it feels like the weight of the world is holding you back. It’s taken years for me to really discover how I operate; what pushes me forward and what holds me back. I’m still figuring that out, but I’ve got to spend less time trying to figure out before doing and more time just doing. The rest of the figuring will follow after that.
But doing has always been a struggle for me. I constantly find myself slipping into stages of planning and thinking, but all that time spent envisioning what I want to do or how I want things to be doesn’t make the slightest difference unless I actually do something practically to make it happen. After trying many different methods of providing some sort of self accountability in my study and projects, I’ve settled on weekly check-ins.
But just writing a note every week is not enough. If it’s just me who sees it, it’s extremely easy to stop holding myself accountable and drift off after just a few days or weeks. So that’s why I’m here on Substack. I’m giving myself a weekly check-in that’s public record and available for anyone to hold me accountable. And even though no one may even be interested, I’m hoping that the fact this is public will in and of itself be enough.
What I’m doing here
So now that I’ve talked enough about why, I need to spend some time getting into the what. I’ve always had a fascination with computers and technology, and while just about every single field piques my interest, I’ve been specifically focusing on Linux, kernel development, development as a whole, and networking. Now, that’s not to say I know a whole lot about these things–I don’t. But what I do have is a strong desire to get hands on with these concepts and to continually be working with them to make new things.
While I’m not totally settled on the structure, I do have a basic idea of everything I want to learn. And believe me, it’s a lot. So while it may seem like my weekly updates are a bit all over the place, there are some specific end goals in mind, but I’ll get back to those later. For now, let’s dive just a little bit deeper into the umbrella topics that I will be focusing on, and why I’m interested in them.
Open-source and development
To start things off, I love the concept of Linux, and in an age where your platform choices are extremely locked down, bloated and inefficient, contain spyware, or some combination thereof, the Linux kernel and the wide array of distributions that have made it their home are a fresh of breath air. And when you really dive into it it’s such a powerful tool that you hardly ever see a reason to look back.
While I had heard of it before, Linux is what really introduced me to the concept of open-source. Personally, I’m always seeking feedback on whatever I’m working on to ensure the best possible end result. For this reason alone, open-source resonates with me, and I really don’t see any other alternative for me personally.
These concepts together got me looking into the Linux phone arena (presently, I’m an iPhone user). Even though android is based on the Linux kernel, I could never actually daily drive it due to privacy concerns. Going down the Linux phone rabbit hole though, what I discovered was a little disappointing. While there are many great devices out there, their implementations are often far too narrow minded in their focus and largely unsuitable as well rounded and fully functional replacements for the mainstream iPhones and android devices. My mind working the way it does, I start imagining the kind of phone that I’d really love to have…
And you guessed it, I now have a concept for a Linux phone. And I have a lot of really cool ideas (in my opinion) for this phone, not all of which are new, but the complete and polished package would be. Now, while I will return to the details of the phone at a later date, it is now one of largest drivers of my passion for these other topics, and you’ll see even more of how they all connect here shortly.
Linux kernel development is what I got introduced to while brainstorming and planning my phone concept, and something I really want to dive into. Considering I already wanted to get into web and software development, this was an easy addition to make. While I don’t want to contribute to the over saturation of the Linux distributions out there, it will be a necessary component for what this device will demand.
Since development obviously requires knowledge of programming languages, it goes to follow that I have specific languages that I would like to focus on. Those languages at the moment would include JavaScript, Python, C, and Rust. JavaScript obviously for web and lightweight applications, Python for scripting and other applications, and C and Rust for kernel development.
Projects
To shift tracks just a little bit, working with Raspberry Pi’s has gotten me further interested in smaller electrical engineering projects as well as networking and hosting. Some I my current projects involve building a Raspberry Pi Zero smart thermostat that’s integrated with a Home Assistant server running on a Raspberry Pi 3. I’m even seeing more how I can use Pi’s to develop the phone before moving on to more powerful and capable hardware and designing custom PCBs.
Speaking of, while it’s not at the top of the list, I’m definitely planning on learning at least some of the basics in designing printed circuit boards. Obviously this is a necessary component to a phone, and being able to design one is crucial.
Lastly, networking has been the subject of the list that I’ve probably been into the longest. While not entirely relevant to everything else mentioned above, it has been and will continue to be crucial in setting up environments and avenues in and through which I can better work on my other projects.
How I’m using this platform
I know this seems like a lot, and that’s because it is. It’s no wonder I can never really devote the time to studying one thing. Moving forward, these posts are not just going to be updates; They’re going to create a record a goals set, met, and missed. This Friday I’ll share my first goal post, and in it you’ll find it broken down into three main types: short term, midterm, and longterm goals. I know goals, schedules, and mindsets can change a lot, so I want to set this up in a way that’s malleable. It’s open to a life that’s constantly changing, but still setting deadlines to meet and ultimately a sense of accountability so as to achieve all the things I want to but never do.
In addition to the goals laid out in these posts, there will also be reflections on what I learned and did, most of the time related to the goals previously set, but many times not. I’m not setting up a strict framework here, but rather an environment where I can move around freely, but always forward. Think of it in terms of an open world video game. You can run around wherever you want, do whatever you want, and take all the time you want. But ultimately, you’re pressing forward to some goal, to accomplish something. That’s what I’m trying to do here.
I know that was a long read, and I appreciate you sticking around! If my journey is one you want to follow, feel free to subscribe and help keep me accountable week after week. If you have any tips, suggestions, or feedback along the way, I’d love to hear it! Thank you again for reading, and I’ll hopefully see you this Friday.