Down the Raspberry Pi Rabbit Hole
I can be easily distracted. Lately, I’ve been working on a new blog of sorts, but instead of technical stuff, this blog will focus on writings about life. I think. I’m almost 10,000 words into recounting my recent motorcycle accident, and I haven’t published anything yet. I’m determined, though.
Writing long pieces on my MacBook Pro is proving to be hit-or-miss. When I get on my Mac, I tend to update Homebrew formulae, check Hacker News, scroll Twitter a bit, and start coding projects in Go or Rust or whatever intrigues me in the moment. Further, I live in a zoo of people, so finding quiet time at home proves an impossible quest. I try going to a coffee shop or a library, but my Mac’s battery doesn’t hold up. Between the distractions, the noise, the people, and the battery life, I don’t get much writing done.
Convinced? Yeah, that’s how I justified buying a new iPad Pro. I got the 12.9″. The dearth of keyboard cases (yeah, I tried Apple’s Smart Keyboard, but it felt like typing on a bowl of oatmeal) has been dismaying, but I bought a Logitech Bluetooth keyboard to tide me over. A trip to the App Store to install Ulysses let me pick up right where my Mac dropped me off.
I guess I like the distractions, though, because I want to develop Go and Rust and Node code on this iPad. I leave Java at work where it belongs. I read the vim-go author’s writeup on developing on the iPad Pro, and that sounded intriguing. I may go there yet, but last week a coworker held a lunch-and-learn on Raspberry Pi. Sure, I knew about them, and I’ve read a piece or two, but I’d never actually seen or used one. Fifteen minutes into the presentation, I was on Amazon ordering one (not an affiliate link). I used NOOBS to install Raspbian, feeling a little guilty that I wasn’t wiping the card and doing a headless Raspbian installation but not wanting to invest that much time, and I soon had a working Raspberry Pi.
Then, I logged into my Apple AirPort Extreme to set up NAT so I could ssh into my Raspberry Pi from Starbucks. The click-click-click approach clanked and clunked, and googling told me something about disconnecting every attached item and clearing the cache and rebooting the router, and I recognized this was the time to replace this aging router. OK, c’mon, it wasn’t just that. The range extender I’d bought to accommodate my son who lives in the upstairs bedroom over the garage sometimes grabs my phone when I walk in the front door and won’t let it go it even when it refuses to serve it packets. This device has served me well, but it was time to move on to something faster and meshier.
I skimmed some reviews, went to Best Buy, and walked out with a Netgear Orbi router-and-satellite-in-a-box, came home, set it up, and . . . it wouldn’t connect to the Internet. This was on Saturday. I tried again. I followed the instructions from the iPhone app. I rage tweeted. I rebooted my cable modem. I logged in to Xfinity’s site and had them restart the cable modem. I rebooted the Orbi. I chanted and danced. I offered my firstborn son to whomever would take him. Still, no dice. In the meantime, my live-in zoo clamored for Internet so they could watch Miranda Sings on YouTube (no, I’m not linking that). Frustrated, I surrendered, and I plugged the AirPort Extreme back in. And it wouldn’t connect to the Internet. I rebooted it, rebooted the cable modem, had Xfinity reboot the cable modem, and still nothing. Then I really capitulated. I called Xfinity. On the telephone. Navigated the voice prompts and listened to the on-hold music and talked to a live representative. I explained my dilemma, and she said, “Whoops! Sorry. Our systems are down and I can’t help you. Please call back later.” And she hung up. So I went to bed.
The next morning, I went back at it, though I also had to do dishes and laundry and prepare to take my family to a Purim festival at the synagogue where my 17yo daughter works. While my children squealed over the animals in the petting zoo (come to think of it, they had a pig, which doesn’t sound very kosher), I fretted about my Internet imbroglio. At least I learned about Hamantashen and bought a couple bagfuls. Delicious. When we’d had our fill of farm animals, human hamster balls, snow-cones, and Hamantashen, we returned home and I tilted anew at my routers. I called Xfinity again, who lamented that everything was green on the back end, and the equipment was my own, not rented from them, so I was on my own. This time, I hung up on them. Just when I was about to go back to Best Buy, either to buy a new cable modem or return my Netgear Orbi, I tried leaving the cable modem unplugged for 15 minutes and then tried connecting my AirPort Extreme. Success! Everything connected! I’d found the secret sauce! I hurriedly disconnected everything before the children got on YouTube, unplugged the cable modem for 15 minutes, hooked up the Netgear Orbi, and . . . failure. It couldn’t connect to the Internet.
I’ll spare you most of the details, but I tried leaving the cable modem unplugged for 30 minutes, tried the AirPort Extreme again (that worked), power-cycled the Netgear Orbi, held my mouth in unfamiliar poses that seemed lucky, and said a lot of words I used to eat soap for. Still nothing. Finally, as I prepared to repack the Netgear Orbi, I noticed a pinhole on its back with the label “Reset.” Inserting a safety pin into the hole, I held my breath, waited, and . . . the Orbi connected. I whooped. I cheered. The children streamed Colleen Ballinger (still no link).
Port forwarding and DDNS were simple to set up, and I can now mosh into my Pi with Blink. I just built Neovim from source and installed Rust via Rustup. I installed Go through apt-get, but that installed version 1.7 so I removed it, and I’ll try again later. Rust works great, though.
So I still have to finish configuring Neovim (no Python providers installed yet) and install Node (nvm seems like overkill, and maybe I just want a single Node at a time), and probably fix the colors better and maybe install Oh My Zsh and switch my shell to Zsh and . . . wait a minute. What problem was I trying to solve? Oh yeah, the iPad Pro and my new blogging site that still isn’t live. And I’m typing this on MarsEdit on my Mac and wondering if anyone makes anything comparable for the iPad, for surely they must, and my battery is down to 20% so I’d better hurry and post this!