blog posting from an old ipad

Turning back to the past and old tech… I’m writing this post on my big iPad Pro. The editor I’m using is WordPress’ web-based editor within Safari. The iPad in question, although it was released in 2017 (over six years ago), is still quite functional, especially if you don’t want to run the latest AI model locally or play some AAA violence-soaked game. I find the processor and its supporting memory and storage to be more than adequate for everything else.

I tried to use the latest darling browser, Vivaldi, to write this post but when I went to the WordPress site and tried to log into my blog account, I got the following bizarre screen:

Whatever is happening, WordPress’ login thinks I’m from somewhere else besides Orlando, Florida. I have no idea what language that is. This isn’t the first time that Vivaldi on my iPad has been identified as an unsupported browser, which kinda warps my mind a bit as this is the third decade of the 21st century and we’re supposed to have left this kind of nonsense behind over 20 years ago with the rise of Mozilla/Phoenix/Firefox and the long overdue death of Internet Explorer 6. But I suppose that whatever Vivaldi is spitting out as an identifier to WordPress’ login page is so alien it can’t handle it. Instead, I fell back to using Apple’s Safari browser, which isn’t bad at all. In spite of what Safari’s legion of vociferous critics may say Apple has invested a lot of quality effort into making mobile Safari the best mobile browser on the iOS platform (and yes, in spite of the name change, ipadOS is still iOS).

What’s even stranger is how WordPress the company has replaced its mobile application with a newer application, Jetpack. As of this point in time I have absolutely no use for Jetpack. The one feature the older WordPress app had, the ability to create and edit posts, is conspicuously absent. Oh, you can click on an entry and pop into an editor to edit an existing post, but the ability to create from new is gone. Furthermore, when you do pop into an editor, it’s that block-based editor that WordPress has attempted to foist on us for years. In spite of WordPress’ warnings it would remove the classic editor, it’s still there for old curmudgeons like me to continue to use.

Jetpack on ipadOS

I suppose I’ll just have to muddle along with the old ways of writing posts. I doubt, however, that I’ll ever need to fret about having a decent tool to write creatively. If and when WordPress ever does get around to finally killing the old classic editor, I’ll either learn to get along with the new stuff because it’s been polished a bit more to make it easier to work with, or else I’ll find yet another tool and go back to the setup I tried years ago with Ulysses. There is the new kid on the block, Obsidian…

Correction/Update

See that round gray circle with the white plus in it, down at the bottom on the lower left? Yeah, that one. That’s the control for creating a new entry. I “discovered” that feature just moments ago. I still won’t use it because it throws me into the block editor which I just do not want. And I did look around a bit to see if I could configure which editor to use, but I didn’t expect to find such a feature, and I didn’t. I’m still sticking with the web-based WordPress dashboard and its classic editor.

report #2 on using ubuntu 23.10 with a raspberry pi 5 — gpio usage

This report concerns the configuration of Ubuntu 23.10 on a Raspberry Pi 5 to properly interact with the Pi’s built-in GPIO hardware. But first…

Caveats

  1. I’ve been using the Raspberry Pi 5 since it showed up at my home on 13 November. The first two operating systems I tried were Raspberry Pi OS (October major update) and Ubuntu 23.10 for Raspberry Pi. A lot has changed and improved over the last four weeks with both operating systems.
  2. Many little annoyances have been corrected with both operating systems. For example the December 2023 release of Raspberry Pi OS now supports dark mode and is based on Debian 12. Ubuntu 23.10 has updated its kernel and native Raspberry Pi software so that the active cooling fan is now properly managed and not turned on fully all the time. Both operating systems allow the Raspberry Pi 5’s active cooling to run silently.
  3. The latest Ubuntu 23.10 with patches still doesn’t properly enable GPIO, requiring some changes to the operating system once it’s installed and updated.
  4. There is a tutorial on Tom’s Hardware released in October showing how to use the GPIO with a Python library, which I will neither name nor link to. That’s because that tutorial does not work at all. I have no idea why not. I will show GPIO Zero that works quite well.

How to Achieve Successful GPIO Usage

The first major step is to add a rules file to the filesystem location /etc/udev/rules.d. The file name is 99-com.rules. The listing follows.

SUBSYSTEM=="input", GROUP="input", MODE="0660"SUBSYSTEM=="i2c-dev", GROUP="i2c", MODE="0660"SUBSYSTEM=="spidev", GROUP="spi", MODE="0660"SUBSYSTEM=="*gpiomem*", GROUP="gpio", MODE="0660"SUBSYSTEM=="rpivid-*", GROUP="video", MODE="0660"KERNEL=="vcsm-cma", GROUP="video", MODE="0660"SUBSYSTEM=="dma_heap", GROUP="video", MODE="0660"SUBSYSTEM=="gpio", GROUP="gpio", MODE="0660"SUBSYSTEM=="gpio", KERNEL=="gpiochip*", ACTION=="add", PROGRAM="/bin/sh -c 'chgrp -R gpio /sys/class/gpio && chmod -R g=u /sys/class/gpio'"SUBSYSTEM=="gpio", ACTION=="add", PROGRAM="/bin/sh -c 'chgrp -R gpio /sys%p && chmod -R g=u /sys%p'"# PWM export results in a "change" action on the pwmchip device (not "add" of a new device), so match actions other than "remove".SUBSYSTEM=="pwm", ACTION!="remove", PROGRAM="/bin/sh -c 'chgrp -R gpio /sys%p && chmod -R g=u /sys%p'"KERNEL=="ttyAMA[0-9]*|ttyS[0-9]*", PROGRAM="/bin/sh -c '\ALIASES=/proc/device-tree/aliases; \TTYNODE=$$(readlink /sys/class/tty/%k/device/of_node | sed 's/base/:/' | cut -d: -f2); \if [ -e $$ALIASES/bluetooth ] && [ $$TTYNODE/bluetooth = $$(strings $$ALIASES/bluetooth) ]; then \echo 1; \elif [ -e $$ALIASES/console ]; then \if [ $$TTYNODE = $$(strings $$ALIASES/console) ]; then \echo 0;\else \exit 1; \fi \elif [ $$TTYNODE = $$(strings $$ALIASES/serial0) ]; then \echo 0; \elif [ $$TTYNODE = $$(strings $$ALIASES/serial1) ]; then \echo 1; \else \exit 1; \fi \'", SYMLINK+="serial%c"ACTION=="add", SUBSYSTEM=="vtconsole", KERNEL=="vtcon1", RUN+="/bin/sh -c '\if echo RPi-Sense FB | cmp -s /sys/class/graphics/fb0/name; then \echo 0 > /sys$devpath/bind; \fi; \'"

This file is installed when Raspberry Pi OS is installed. I copied this file to an external thumb drive, and then when I installed Ubuntu 23.10 for Raspberry Pi I copied it back into the same location in the file system. There is currently no package that installs this file on Ubuntu 23.10. Rather than go through what I went through, copy the file verbatim and past it into a text file named as shown, then copy it the location /etc/udev/rules.d. Reboot.

After reboot the GPIO devices will have the group ID of gpio. You will need to create that same group (sudo groupadd gpio) and add that group to the users who will need to access all the GPIO devices (sudo usermod -aG gpio USERID) where USERID is a real user ID. In my case the user on my Raspberry Pi 5 is pi itself, so I executed sudo usermod -aG gpio pi. Once done, log out and then back in again. From this point you will be able to access GPIO resources without root (sudo) access.

The final piece of the puzzle to working with GPIO devices under Ubuntu 23.10 is the installation of gpiozero. I used Python pip to install it. I can’t recall if pip is preinstalled with Python 3 or not. If not pip is easily installed with sudo apt install python3-pip. One note of warning: if you install gpiozero via pip you will run into the EXTERNALLY-MANAGED error. I’ve solved this already, and the solution is in the links at the bottom.

Many may ask why go to this much trouble if the latest version of Raspberry Pi OS has everything essentially built in. The answer is that Ubuntu 23.10 is far more polished than Raspberry Pi OS. I’m used to Ubuntu and Linux Mint (my primary daily driver), an independent derivative of Ubuntu. Ubuntu 23.10 for Raspberry Pi is almost indistinguishable from the x86-64 release, and my skills and tools transfer seamlessly between the variants. The Raspberry Pi 5 has raised the bar with regards to performance and capabilities.  I’m far happier with the quality and capabilities of Ubuntu 23.10 on a Raspberry Pi 5 than Raspberry Pi OS. I only see the quality gap widening between the two distributions going forward.

Links

externally-managed-environment error on debian 12 — FIXED