NordicTrack Commercial 1750 Treadmill
The initial overview of the device and its customisation capabilities.
assorted bits of wit
The initial overview of the device and its customisation capabilities.
A technical guide for manually changing the Country Service Code (CSC) on modern Samsung phones.
A post that explains how to overcome the limitations of the macOS built-in VPN client, which the author finds lacks flexibility in its GUI and exposes only a fraction of its supported features. Despite these issues often leading users to third-party apps, the author finds the native client is usually sufficient. The work-in-progress guide uses Windscribe VPN as an example to demonstrate how to…
The post provides a step-by-step guide for debugging the “Content wider than screen” mobile usability error reported by Google Search Console, even when the issue isn’t visually apparent. The author demonstrates how to use Chrome DevTools, specifically the “Layers” view, to identify the root cause. By inspecting the layer hierarchy, one can spot elements with…
This post details author’s process for creating a truly responsive pagination widget using only HTML and CSS. The goal was to build a widget that maintains its appearance across different viewport sizes by omitting middle page numbers when space is limited, without compromising accessibility for screen readers. After exploring flexbox, the author developed a solution that divides the…
A comprehensive guide to setting up a fully automated deployment pipeline for a static website using a private source repository and a public GitHub Pages repository. The author details a process that leverages GitHub Actions to build a Pelican-based site from a private repository — keeping API tokens and experimental code secure—and then deploys the generated static files to a public repository…
This post presents a pure CSS-based solution for adding a visual wrap indicator to lines within code blocks to improve responsiveness and readability. The author was annoyed that long lines wrap without any clear indication, making code blocks difficult to read. The method involves wrapping each physical line of text within the tag in its own . Using the ::after pseudo-element on these divs, a…
Dissatisfied with the Blogger platform’s changing features and lack of control, the author decided to migrate their decade-old blog to a self-hosted, low-maintenance solution. After researching static site generators (SSGs) that aligned with Jamstack principles and met their requirements for stability, extensibility, and language (preferring Python), they chose Pelican over contenders like…
This post presents a non-intrusive solution for NGINX to connect to backend servers with dynamic IP addresses, such as an AWS ELB, replacing a previous method that involved a now-unstable patch. The new approach uses systemd-socket-proxyd, a utility that forwards traffic from a local socket to a remote target. The configuration involves setting up NGINX to pass FastCGI requests to a local Unix…
A “howto” post which details a custom patch created for the community version of NGINX to enable the dynamic DNS resolution of upstream servers. This functionality addresses the challenge of working with cloud load balancers, whose IP addresses can change automatically, a feature not supported in the free version. The patch implements a resolve keyword compatible with the commercial…
This post presents an expert-level solution for transparent SSH host-jumping that enhances a previous method by allowing different usernames and ports for each host in the connection chain. The author created a custom Bash script to be used with the ProxyCommand directive in the SSH config, which parses a new connection syntax like userA^hostA/userB^hostB:port/hostC. This script dynamically…
This post demonstrates a solution to a common misconception that SSH’s ProxyCommand does not support interactive scripts, a problem the author encountered while working on the sshephalopod authentication project. The author proves interactivity is possible by creating a wrapper script that cleverly manipulates file descriptors. The script first saves the original standard input (descriptor…
This post provides a detailed walkthrough of building a cross-compilation toolchain for a Raspberry Pi 3 on a CentOS 7 server to accelerate software development. Motivated by a project to modify his car’s CAN bus system using a Raspberry Pi, the author found on-device compilation to be too slow and opted to create a toolchain on a more powerful AWS EC2 instance. The process involves using…
This post advocates for building simple, elegant, and secure firewall rulesets, arguing that overly complex configurations are difficult to manage and audit. The author suggests that most firewall needs can be met with fewer than 20 well-defined rules by focusing on four key prerequisites: understanding networking fundamentals, mapping traffic flows with diagrams, clearly defining firewall goals…
This post presents an advanced SSH configuration to transparently connect to a target host through one or more intermediate “jump” hosts, addressing the inconvenience of managing numerous LocalForward entries in the ~/.ssh/config file. The solution uses a “Host / ” pattern and a ProxyCommand directive, allowing a user to connect with a simple command like ssh…
This article challenges the common belief that using sudo for daily administrative tasks is more secure than directly logging in as a privileged user via SSH.
This post introduces the basics of SSH port forwarding as a secure alternative to exposing services like a MySQL database to the public internet. The author explains that instead of binding a database to a public IP address, which poses security risks, one can keep it running on a private or loopback interface (like 127.0.0.1:3306) on the remote server. By using a local port forwarding command,…
An introduction into the world of SSH port-forwarding and how to leverage it to access resources in private subnets
Turning VMware Player into a non-privileged VNC client to access