Technology

Cricket Wireless, AT&T and Planned Obsolescence

Cricket Wireless SIM Card

I’ve been on Cricket Wireless since I returned to the United States. Cricket is owned by AT&T and uses its cellular network. Until this year, Cricket worked perfectly and without issue. A few months ago, my phone randomly stopped being able to accept or make calls. Data and texting still worked, but calls were impossible. Cricket support had me change my settings, so my phone defaulted to 4G instead of LTE. They claimed this wouldn’t reduce my speed (which I don’t think is correct), but I was able to make outbound calls. The fix only worked for a few months. AT&T seems to be upgrading their phone networks. In either pure incompetence or an intentional push to force customers to buy new phones, they have made several old devices unusable on all their partner providers. Thankfully, my device still works on the T-Mobile network at full LTE speeds, so I said goodbye to Cricket/AT&T and trashed my old SIM card.

Read More Right Chevron

The Coming Dot Com Bust and the Future of Remote Work

Graphic of a Downward Stockmarket Chart

In 2000, the world survived Y2K only to be hit by the dot com crash. Some of us who were still in university wondered what the job market would look like when we graduated. We heard tales of recruiting parties, in major tech hubs, where people handed out resumes. The lead up to that bubble came from companies that believed they could sustain themselves with services that were free to consumers, and supported by advertisements. Services like Juno provided free e-mail and dial-up in exchange for displaying ads. Long before the blockchain, we had useless currencies such as Beenz.

The early 2000s led to a lot of consolidation in tech industries. Some of those companies are now turning into venture capitalists, investing in newer startups to hedge their bets against the next big thing. We are in an era of overvalued companies, that are heavily leveraged with investment or debt. When this house of cards eventually does collapse, those venture capitalists, along with angel investors and startup incubators, will be in the unique position to cut off anything they view as non-profitable or unsustainable. We may see large tech investment firms getting to decide which companies will live and die, similar to banks in the 2008 financial collapse.

Read More Right Chevron

dav-xmpp-sync v1.0.0 Release

White book and pen

I created dav-xmpp-sync as a way to sync my contacts between my CardDav server and an XMPP/SMS Gateway, in order to migrate from Google Voice. I’m happy to announce the release of version 1.0. dav-xmpp-sync is now published to PyPI, as well as docker hub. Many of the features and bug fixes for this release wouldn’t be possible without all the various contributors, both for bug reports and code patches.

Read More Right Chevron

ZFS Woes, or how ZFS Saved Me From Data Corruption

OpenZFS
OpenZFS

I’ve been using ZFS for years on my Linux storage server. Recently I upgraded from Alpine 3.12 to 3.14, which included a ZFS 0.8 to ZFS 2.0 update. Not soon after, I started getting random file corruption issues. I didn’t see any SMART errors on the drives, but still assumed that my hard drive could be going bad. My storage had outgrown my previous backup drive anyway, so I purchased an additional drive. When I attempted to sync snapshots to the new device, I started to see I/O errors and kernel panics. I took a long journey through ZFS bug reports, attempted to switch to Btrfs and even migrated my storage to a different computer. In the end, ZFS saved me from what could have been disastrous amounts of data corruption due to faulty hardware.

Read More Right Chevron

Upgrading OpenSMTPD 6.3 and Running E-mail in Docker

Photo of vintage airmail envelopes

I’ve been administering e-mail servers since the early 2000s, for both my myself and for various jobs. For a brief period I stopped hosting my own e-mail, but returned to running my own stack due to the revelation of domestic spying in 2013. Even though the larger providers have made e-mail less reliable than it once was, I’m still glad I host my own e-mail. I had been using an OpenBSD 6.3 VM for e-mail, and couldn’t upgrade to OpenSMTPD 6.4+ because of some big configuration file changes. Thanks to many good 6.3 → 6.4+ tutorials, I finally tackled this lingering piece of technical debt, and migrated my e-mail from an OpenBSD VM to my standard Docker infrastructure.

Read More Right Chevron

Lineage with microG on a Sony XA2

Lineage with microG Logo
Lineage with microG Logo

I’ve owned a lot of smart phones. I started off in the PalmOS world and have been solidly in the Android camp for the past several years. Although I’ve used a lot of custom ROMS, I typically still install Google Apps and services. As my concerns over privacy have grown, I’ve started looking at microG, a bare-bones implementation of Google Services that limits personal and location information being continually sent to Google. I purchased a Sony XA2 a few years ago as a backup device, and decided to try out the Lineage for microG project on this device. Although flashing a new operating system on a phone should be a common affair by this point, I ran into issues that left me digging through forum threads for help. Hopefully documenting the errors I encountered, and my solutions, will help others with similar devices.

Read More Right Chevron

Setting up IPv6 on a Linux Router

World IPv6 Launch Logo
World IPv6 Launch Logo

It’s fairly straightforward to build your own router, and there are a number of tutorials for setting up IPv4 forwarding and NAT rules on Linux. However, IPv6 is a bit more complicated. There are many BSD and Linux based operating systems like pfSense and OpenWRT, which have web management tools to make setting up IPv6 straight forward. However, if you like to run your own custom Linux distribution on your home router and control everything from the command line, this tutorial will take you through configuring dhcpcd, dnsmasq, unbound, iptables and ip6tables for full IPv6 support on your local network.

Read More Right Chevron

Installing Void Linux with a Serial Terminal

Lanner FW-7541C-E01 (Front View)
Lanner FW-7541C-E01 (Front View)

I recently picked up a Lanner FW-7541C off eBay for $88.31 (including shipping). This industrial device has a 2-core/4-thread Atom D525 processor, a 30GB SATA SSD, 4GB of DDR3 ram and six independent Intel gigabit Ethernet adapters. It’s a well built little device I bought to replace my custom Linux router. However, it has no video output ports. It took some work, but I was able to setup and install Void Linux on this device using the serial port console. This guide goes through building the installation media with the custom parameters needed for a serial console. It also goes through the post installation steps that will keep a login prompt active on the serial port after install.

Read More Right Chevron

Gaming System Upgrades

SFF Time P-ATX V2 case with an i7-9700KF and a 3080-Ti
SFF Time P-ATX V2 case with an i7-9700KF and a 3080-Ti

For the past few years, my gaming rig has been an MSI Trident-X, a prebuilt PC that uses standard ITX components. It replaced my previous gaming laptop, which I also upgraded a few years ago. The Trident-X case does fit a standard PCI-E video card, so I thought it would a good future-proof system. I’ve upgraded the storage of this unit, although not without issues. Back when the current generation of nVidia and AMD graphics cards were announced, I noticed most of them were over 2.5 to 3 slots wide, and likely wouldn’t fit in the current Trident-X enclosure. I watch way too many tech reviews, and found myself pre-ordering an SFF Time P-ATX V2 case. I had the intentions of moving the guts of my gaming PC into an enclosure that could support newer video cards, sometime in the distant future. I placed a pre-order in February, and the case shipped fairly quickly in March. However, it was held up in shipping due to the pandemic, and didn’t arrive until recently. The far future turned into this summer. I moved my gaming PC components into this very nice small form factor case, while adding a few upgrades.

Read More Right Chevron

Docker with IPv6 and Network Isolation

Photo of network switch in a data center rack cabinet

Fancy Docker orchestration systems, like Kubernetes or DC/OS, have networking layers that can be setup for complicated ingress and load balancer configurations. But what if you just have a single Docker daemon and multiple IPs assigned to a single server? How do you bind individual containers to specific public IP addresses? It’s fairly straight forward to bind a service running in a container to a specific IP listening address, but getting outgoing traffic to egress via a specific IP address takes additional work. If you’re attempting to use Docker with IPv6, you’re in for a world of very counterintuitive configuration. In this post, I’m going to take you through setting up Docker to work with IPv4 and IPv6, using isolated networks, so all incoming and outgoing traffic are restricted to specific IP addresses.

Read More Right Chevron