I’ve been thinking for a bit about the next set of experiments I’m going to do and I’ve narrowed it down to two main pushes I’m going to make in 2018.
I’ve been working with Apple products since junior high school. They used to be the perpetual underdog, which seemed to make them work harder and usually turn out a better product. But the success of iOS, or possibly the loss of Steve Jobs, seems to have resulted in Apple losing its way. They’ve leaned heavy on fashion/lifestyle branding/design (from Jony Ive) and logistics/operational efficiency (from Tim Cook), which has allowed them to make an even better profit, but not even better products. I really hope that changes in the future (the canary in my coal mine is going to be the Mac mini), but until it does I’m going to spread myself around a bit more.
Fortunately, I’ve never been a one-trick pony. I’ve always been willing to use anything that gets the job done. I have the most other experience with alternative Unix systems (Linux, Android, etc.), and I’ll do development on Microsoft systems if someone pays me enough. But as I look at some of the possible roads that lead away from Apple, one platform calls to my impossibly stupid RAGtag sensibilities more than anything else: Raspberry Pi (RPi).
In a world where everything has become more packaged and productized, the Raspberry Pi is a refreshingly open computing ecosystem. I’ve already tinkered around with it a bit, but now I plan on seeing if I can begin to use it for most of my day-to-day desktop computing tasks. A random list of things I can see liking about the switch:
The primary OS that is supported on an RPi is called Raspbian, which is based on Debian Linux. While it has been a bit more sparse than the experience I’ve gotten with other Debian desktops like Ubuntu or Mint, I’m confident that if I start using it more like an actual computer, I’ll be able to improve the user experience quite a bit with a few choice package installations.
No, not even the fastest RPi is a speed demon, but the 3B is literally 1/10th the price and 1/6th the size of the Mac mini it sits next to. And the still-very-capable 0W is a fraction of that size and cost. That opens up a lot of interesting use cases if you’re not doing any heavy computation. And if you are doing some kind of number crunching, then projects like an 8 RPi cluster are an interesting new way to explore it.
Right now, for Impossibly Stupid and other sites/services that I host, I use virtual machines running Debian on my Mac to replicate the production environment. This is convenient, but takes resources away from the Mac side of things when doing that development. By shifting all the staging work to dedicated RPi machines, it’ll be a big win for everyone involved.
I’ve never been able to put my Mac to sleep. There have always been too many processes that “need” to be kept running. From simple things like RSS feed readers getting updates, to the aforementioned virtual test servers that need to be kept going for some period of time, I’ve just never had a setup where I could comfortably let it power down and lose it’s connection with the outside world. An RPi would suck up 1/10th to 1/20th the energy of the Mac, so if I shift those “always-on” processes to just a couple of these little guys, that’s another big win.
I think a major part of why I liked Apple is that I was introduced to their technology in an educational setting. That was another thing that seemed to fall by the wayside when the iPhone was introduced. Even around that time, I had a twinkle in my eye for the OLPC as a spiritual successor to the original iBook. But the OLPC never seemed to gain the momentum necessary to really be successful, whereas the RPi offering is a product that has seen widespread adoption by makers of all ages.
I really do hope Apple regains their footing, but until they do I’m voting with my wallet and giving most of my money to Raspberry Pi or, if I need beefy hardware, some other PC hardware vendor with good Linux support. Expect to see many more posts in 2018 about how well this works out for me.
As someone who does a lot of software development, I already tend to use computers to automate quite a few things. But I also know a lot of tricks that allow me to quickly perform tasks without going to the trouble of actually writing a proper script. So consequently, I don’t quite fully follow any efficiency guidelines (e.g., I might use a series of commands in my bash
history to shave off 5-10 seconds from a frequent task that I could actually completely automate to shave off 30 seconds).
But in 2018, I’m just going to try to automate all of it. Anything that I do more than once, I’m going to take the time to drop into a script. No wasting time to bother to see if I’m saving time. I’m doing this to get better at automation, not efficiency. Sure, the two should go hand in hand, but I’m not going to force the issue until I look back at the end of 2018 and reflect and see if my time was well spent. I mean, it’s possible many of the tasks I want to automate could lead to development hell.
On the positive side, though, this push towards automation intersects quite well with my interest in the Raspberry Pi. While I certainly don’t plan to go so far as to make robots to start doing a lot of things for me, the RPi is designed to be a platform that makes it easy to reach out into the real world to do some simple kinds of automation. I’m way more CS than EE, but hardware doesn’t frighten me. The last time I did any serious work with building electronic circuits was back in high school, though, so I’ll just have to see what sorts of physical tasks crop up that seem within my ability to solve with the RPi, some components, and a bit of solder.
See you next year.