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
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
A few months ago, I got a notice stating Google Hangouts would stop handling SMS/Voice. In 2012 I transfered my primary phone number to Google Voice before leaving the country, so I could still send texts and keep my American number. At the time, it cost $20 to transfer a number to Google Voice. Eventually Voice was deprecated and Google moved their customers’ phone numbers into Hangouts. Now they’re moving everything back to Voice apparently, in their never ending confusingly labeled and hopelessly broken suite of communication tools. Rather than wait for Google to finally put their telephony products out of their misery, I decided to port the two phone numbers I had on Google over to another service. After some experimenting and trials with various providers, I decided to go with jmp.chat which allows for both Session Initiation Protocol (SIP) for voice calls and XMPP for texts/MMS.Read More
As people have been banned from one major platform after another, one common response has been, “build your own platform”. Of course, it’s not as simple as that. Platforms need infrastructure to run on, and if every hosting provider decided to not offer someone service, corporate censorship can kill a website. Parler made the mistake of tightly coupling their website to Amazon Web Services (AWS). The weaponization of the courts essentially made their contract with AWS entirely worthless. Parler’s response makes me question a lot of their core business decisions, and their future.
People may have flocked to the new network because Parler promoted themselves as an alternative to the current social media landscape. Yet Parler has made critical mistakes with their infrastructure stack, and arbitrary decisions about what content to allow. Parler also suffers the same failure points as any centralized social media platform. To paraphrase Obi-Wan Kenobi, “This is not the free platform you are looking for”.Read More
Home storage is not very expensive today, and the magic of the cloud is more fragile than ever. We hear story after story of accounts getting locked, suspended or terminated on platforms like Google, Facebook and Twitter, often with little to no explanation. Thanks to certain legal requirements around the world, you can usually make full backups from these services. This is a quick guide on how I regularly backup my data. It’s pretty easy and everyone should have a reminder on their calendar to do this at least twice a year (or until you loose access to your calendar).Read More
A few weeks ago, my account on Hacker News, a Reddit like aggregation site for technology links, was banned. My five-year old account received zero warnings before I got a comment from a moderator. Recently, I also discovered from a friend that this website, BattlePenguin.com, has been shadow banned on Hacker News. To any user submitting one of my posts, the submission will look as if it’s successful and appear on the new page. However, if one switches to a private browser, they’ll find that the submission does not appear.
I cross promote new articles on this blog across several platforms, some that are even hostile to smaller websites. Typically, promoting on various platforms doesn’t guarantee additional clicks unless you actively participate on that social network. Hacker News was one of the few sites I enjoyed participating on. I knew it was heavily moderated, but I liked how it generally pushed articles specific to programming, hardware and technology, and avoided more controversial topics.Read More
Facebook is openly hostile to its own users. It blocks private messages with links to content Facebook does not approve of, and the types of content that are blocked or allowed, should greatly trouble people. They practically hold our data hostage, and have put considerable roadblocks in place over the past several years to make it more difficult to access information, even for developers. In 2014, they intentionally manipulated posts to make certain users more depressed in an experiment that should have made everyone reconsider their interactions with the network. On the surface, many casual users may not notice how Facebook’s hands have grown tighter around their walled garden of data, but for developers and content creators, the signs are everywhere and should trouble everyone.Read More
Living within a city, it’s often nice to be able to get out and explore local parks and recreational areas. Google Maps used to be a helpful tool for finding public parks and forests. Many wilderness areas were colored green. Even though some of them were not public parks, the color coating helped narrow down areas of interest. A recent update changed this behavior to make zoomed out views of maps rendered entirely in green, for anything that isn’t an urban area. This change isn’t reversible by an option, layer or preference, and makes Google Maps more difficult to use for one of my favorite use cases. This isn’t the first time Google has broken their online maps or introduced a terrible feature. Thankfully, there are open source solutions and alternatives.Read More
Sites like Reddit and Hackernews allow people to vote stories up or down. Users collectively rank the values of user submissions and comments. The Hivemind. It can lead people to create and discovery great things, or just enjoy funny cat videos. These sites filter content through a combination of their moderators and the masses. With that filter comes bubbles, echo chambers and group think. Only the most commonly held opinions are given a voice. If you want to break free of orthodoxy privilege, you need to change the way you use these websites, by reading comments from the bottom.Read More
Once upon a time, there were many chat services. AOL Instant Messenger, Yahoo Messenger, ICQ and others. These messengers had their own desktop clients, and developers reverse engineered their protocol to build custom applications, both open and closed source. Trillian, Audium and Pidgin were applications that let people communicate across all these messengers with one program. Over time the old protocols died, and newer chat services like Facebook Messenger and Google Hangouts started storing your entire history on their servers. People started using the web interfaces and mobile apps, no longer caring about desktop programs.
Matrix is an open source communication protocol. It’s similar to XMPP (formerly Jabber) in the sense that anyone can set up a Matrix server and communicate to people on other Matrix servers. It’s a federated protocol, just like e-mail. Google Hangouts used to support XMPP federation, but silently removed support in 2014. Matrix supports bridging other chat services, so they can appear in a unified view. With my current setup of Matrix and appropriate bridges, I’ve combined my view of Facebook Messenger, Google Hangouts, Telegram and native Matrix chats into one convenient user interface. The path to get to that integration was not as simple.Read More