Author: sts

  • Dashboards

    Dashboards

    What is the dash in dashboard? As a verb it means to travel in a great hurry. When a horse dashes off (noun), there is often debris flung behind. The debris from the horse’s dashing is also called dash.

    In carts and wagons boards were placed behind the horse to protect riders from getting a load of dash in their lap, hence dashboard. This became a great place to rest your feet, hang your cup-holder, even mount a chalk board to monitor how many horsepower you were using.

    The evolution and standardization of system control & monitoring, climate adjustment and entertainment selection has meant that just about anyone can get into just about any vehicle and make use of the ‘dashboard’ to control the vehicle.

    In computers it’s much the same, a dashboard let’s you monitor & control a system without knowing how to build it, just know if it’s working properly. My Pi shop has several dashboards, they too are fairly standardized so just about anyone can understand their use.

    Doing things in triplicate helps me better remember how to do something; standardization also helps. In this case all of my Pi have the same base build up through Docker, Portainer, Homer, the Grafana monitoring stack, and the dashboard above . From there each Pi has a different set of apps and services to spread the load.

    This is the Grafana monitoring dashboard, the top row gives me, at a glance, the status of key indicators for the system. The lower panels provide information on specific resource usage by container, either in aggregate of any one of them can be isolated by simply clicking the container label in the panel. The data is available from minutes to weeks or months at a glance. This Pi-hosted YT video goes through the set up,. one of the few with preconfiguration steps

    One common interface is a navigation pane on the left and a detail pane on the right, this has been used by the file explorer for decades and it is still common today because it is somewhat intuitive.

    Cloudflare uses the 2-pane, left nav, right detail user interface. I’m writing this about 2 weeks after getting a Cloudflare account and tunnel, the domain name & URL have not been published. I believe most of this traffic is from bots; although there have been more than 90 attempts to log into the WordPress admin account during this time as well, and that isn’t from bots.

    Portainer, the Docker container mangers also uses the left nav, right detail panes. These are a few of the 200+ templates available with the Novaspirit Tech’s template file. Most, with one click, will deploy the container(apps & services); some are noted with pre-work to ensure a smooth install, mostly by creating an install directory.

    Immich, my Google Photos replacement, works much like everything else, left nav, right detail. I’m still figuring out the workflow, but no issues so far.

    I’ll end my missive on dashboards with this screen shot from Jellyfin my home media server. The base interface is similar to Netflix & Prime. It also has the hidden, fly-in left nav pane to fall back on.

    In olden days it was the backside of the dashboard that was the working side catching all the debris. Now it’s the front side, often in a slap-dash form that displays all the debris so we can try to control it. Sorry , I have to dash.

  • Painting Shrooms

    Painting Shrooms

    Light painted mushrooms are fun and easy to make, both when capturing the photons & processing the pixels. It is a great way to learn Photoshop or any layered image editor, how to master the use of layers and masks.

    To take the picture you just need a way to support the camera at mushroom height and able to focus from a few inches away. A bean bag or tripod with a column that inverts will hold the camera low to the ground. A macro lens or focus-tubes, hollow tubes placed between the lens and camera that allows the lens to focus very close to the front of the lens for macro work will be needed. Also a small flashlight that isn’t terribly bright, the flashlight on a phone will work if that’s all that’s available.

    Take your time getting a pleasing composition; make sure the sky is not in the picture (will be too bright) and that there are no distracting elements. Once you are happy with the composition do not move the camera for the duration of the shots other than to change exposure and be careful to not bump the camera when doing so

    A base image is needed. this will be what you build the rest of the image from. It needs to be underexposed about 1-stop with an exposure of 1″-2″ and aperture of f/11, adjust ISO to get that exposure using the other values given.

    Once you have a base image carefully, without bumping the camera change the aperture to f/16 and shutter to 3″-5″. This will have 2 affects on the resulting images; the aperture change will increase the depth of field (more will be in focus front to back) and it will dim the rest of the image. The longer exposure time allows more time to move your light so you aren’t rushed and can take your time light painting. be careful to not overexpose with the light, watch the histogram for any crushing on the right side.

    Rinse and repeat with other comps or mushrooms. Most of all have fun being out in nature.

    I use a Lightroom to Photoshop workflow for images like this. I’ll do a base adjustment in LR and then bring them into PS to blend into the final image.

    In LR I adjust the base image to have good details in the shadows but is overall underexposed slightly. The light painted images I tend to darken further and drop the highlights, what I want to see is clear details in the highlights and gills of the shroom, don’t blow these out during capture.

    Once all the images are ready in LR, select the base and painted images for merging the edit as layers in PS. Once all the layers are in PS select the base image and move to be the bottom layer. Select all the layers then align the layers.

    The next step is to simply select each light painted layer one at a time and change the blend mode to lighten. This will allow the light parts of the light painted image to be seen over the base image. Each layer can be toggled on and off (eyeball icon) to see what it adds to the image. A mask can be added to the layer to block out unwanted portions of the light painting from getting through. Also, the layer can be turned down it does not come through as strong.

    Now it’s just a matter of playing with each layer until you get what you want. Have fun creating something unique.

  • Top Level Domains

    Top Level Domains

    TLDs are no longer limited to .com, .net or .org.

    The .sky is not the .limit. TLDs now go from A to Z with hundreds of stops along the way and more added all the time.

    To get an idea of some TLDs and who controls them this wikipedia page lists several hundred. Most professions & sports are covered, here is a small sample:

    actor
    agency
    band
    beer
    bingo
    cafe
    camera

    cards
    cash
    cheap
    dance
    dating
    dog
    football

    fyi
    gallery
    gripe
    house
    kitchen
    love
    money

    ninja
    rocks
    tires
    town
    website
    wtf
    xyz

    Another thing you will see is that corporations have locked in their names as TLDs. I don’t know if there are any checks & balances to this or not, but .camera is available as a TLD, but .Canon & .Nikon are not. Potentially I could get a domain “canon.camera”, but not “camera.canon”

    One thing to note, not all registrars can register all domains, some domains are limited to specific registrars. That is not a big deal.

    First I registered my .space domain through namecheap.com. Then, after creating an account with cloudflare.com I used the the DNS records provided by Cloudflare back on namecheap so my domain would use the Cloudflare DNS servers.

    Another inexpensive registrar I seen mentioned to get your domain is Porkbun.com

    When a domain name is registered a valid name, address and contact information has to be provided for the responsible party. Namecheap and porkbun hide this from inquires by default for free; GoDaddy and others charge for this service. You will want to hide this from prying eyes, but why pay extra.

    Over the past 10 years there’s been a continual growth in the number of domain names issued, although it has slowed. In the US, there are 133 domain names almost 100 million more than the next closest country at 35 million. The new TLDs might cause an influx of new domains and websites, and there is not a 1:1 connection between the two, subdomains count as one domain and one domain can host multiple websites.

  • Acorn to Oak

    Acorn to Oak

    Practice makes perfect

    You can teach an old dog new tricks, but the dog has to want to learn, and it’s still harder to do. One way to help is practice, practice, practice. That was all the justification needed to add a 2nd Pi to my Pi shop.

    With two Pis I had to start thinking about what apps or services would be hosted on which Pi. My choices for some must-have apps were narrowing down.

    • Immich as the image backup and album sharing replacement for Google Photos was a slam dunk.
    • Jellyfin as the media server for movies, music, home video and pictures was also a slam dunk
    • Nextcloud is groupware, software for you & your family to share file, calendars, to do lists, etc. your personal cloud storage

    One reason to go down the self-hosted route is to avoid storage fees. After the first 15-20GB you have to pay. I now have TBs of storage at no additional cost. And my images and data won’t be used to train AI.

    After that short list trying to select a photo album/gallery software is proving more difficult. There are three main contenders left after the first round.

    • Pi Gallery2 — The main thing with this app is that it just uses the subdirectories and images to create the galleries; they call it directory first. This is something important to me. Another nice thing is that it is fast.
    • Photoprism — This too uses the directory structure and has a great facial recognition, but it only allows one user, so not a program to use for public viewing, bummer.
    • Piwigo — I have yet to install or play with this software to complete the evaluation of which to use

    There are a few downsides to online galleries and that’s users. Not the users themselves, managing there accounts; how granular do you need/want to go? A guest account for all to use to see everything, or a per user account so the hoi poli can’t see your family holiday pictures, or some combination of guest & specific users. Either way it means administering accounts.

    Now that I have this site, photo gallery services may go by the way side, they’ve been set aside for now. to get the site out. I’ll revisit later.

  • Docker – Step 2

    Docker – Step 2

    All aboard

    Raspberry Pis run a Linux Operating System, probably the most used OS in the world, and it’s open source, meaning (in general) anyone can use it, modify it and redistribute it, all for free.

    So far the software for my Pi shop has been completely free, there are opportunities to pay to support the developers, but no requirement to do so. WordPress, the software to create this site and used by almost half of all websites, is also free. It uses many plugins that are free in a minimalist version with desired features available in a paid version, but that’s a tale for another post, today’s is about Docker.

    Docker is a framework that sits on the OS (Windows, Mac, Linux) and supports containers. Containers hold isolated and secure installations of software apps & services. Prior to containerization of software & services there could be contention issues on libraries & resources, as well as security issues where malware could access data from other apps. By using containers these issues are no longer of concern. Software install and set up is fairly simple & standardized, after all, even I’ve been successful building my Pi shop.

    There are lots of people making YouTube videos and posting blogs that helped with guidance on my journey.
    One of the most helpful was Novaspirit Tech and their Pi Hosted series. The Github repository where the scripts and resources to setup and configure the self-hosted services mentioned in the videos are kept and you will become familiar with if you go down this path. This is also a great way to learn more about Docker, containers & Portainer, oh my.

    After installing Docker, which is a command line tool (CLI) the first container to install is Portainer, a GUI to manage Docker and the rest of the containers you will install.

    Pi hole is a network-wide ad blocking service and must have on every home network IMHO. Simply grab a few lists from the firebog collection to add to your Pi hole and you will see no more ads, yipee.

    If you watch the Pi-hosted series you will soon find that there are more than 200 free apps in the template to select from, with hundreds more on the docker hub (library) of container images. In subsequent posts I will identify the one’s I’ve selected to be on my home lab.

    Here is a sample Docker yaml script I’m using to install two containers; the first is piwigo, a photo display app, which depends on the 2nd container for the maria database to hold all the data for the photo album. There are some users, some port settings and some paths defined (volumes). This is typical of settings for every container in Docker.

    services:
      piwigo:
        image: lscr.io/linuxserver/piwigo:latest
        container_name: piwigo
        environment:
          - PUID=1000
          - PGID=1000
          - TZ=America/Los_Angeles
        volumes:
          - /portainer/Files/AppData/Config/piwigo/config:/config
          - /uppercrust/firstcut/Keepers:/gallery
        ports:
          - 8083:80
        restart: unless-stopped
        depends_on:
          - maria_db
    
      maria_db:
        image: linuxserver/mariadb:latest
        container_name: piwigo_db
        ports:
          - 3306:3306
        environment:
          - PUID=1000
          - PGID=1000
          - MYSQL_ROOT_PASSWORD=MySqlPassword
          - TZ=America/Los_Angeles
          - MYSQL_DATABASE=piwigo_db
          - MYSQL_USER=myuser
          - MYSQL_PASSWORD=mypassword
        volumes:
          - /portainer/Files/AppData/Config/piwigo/DB:/config
        restart: unless-stopped
    

    As you can see, not much to it and nothing to be intimidated by. If things don’t go right, or later you decide you want to change or remove it’s simply a matter of stopping the service and deleting the container. Modifying the script as needed and rerunning it will recreate the container with it’s software.

    Whether you are interested in monitoring your home (home automation) or your network (intrusion & threat detection) or your computer (CPU temp & activity) or serve your media, there is a free container that will help you do that.

  • First Steps

    First Steps

    Don’t reinvent the wheel.
    It’s probably been done before.
    Check YouTube.

    I wanted a way to show & share images across my local network without having to start my main PC. I started with 1 Raspberry Pi 5 (some assembly required); the free Raspberry PI Imager (OS); and some websites & YouTube channels for guidance.

    Little did I know the door that opened or how glad I’d be I took that first step. One unanticipated side benefit(?) is this website. It is operating on the first Pi, sitting on the corner of my office desk, sipping power and providing services 24×7, but that’s a story for later, this story is about getting that first Pi up and running.

    The Pi 5 is the first Pi with a PCIe bus that you can plug real storage hardware into, like SSDs. Thankfully Pis are well supported and have an active community. One Pi guru, Jeff Greeling has a great step by step tutorial on booting your Pi from an NVME drive or you can watch it on his YouTube channel

    At this point I had a Pi that could boot up and had lots of storage, but no apps and no way to access the storage. I knew I wanted to “show” my pictures from the Pi, but first I had to get them there.

    Some research showed that Samba was what I needed to drag and drop from my Windows PC to a file-share location on the Pi. One speed bump in this was finding out the hard way the ‘root’ user on the Pi, the first logged in user, cannot be used as the owner of the connection or storage target on the Pi, this is for security reasons; a new user is required.

    This is also a good time to point out that Linux has a totally different security structure for files and ownership & permissions. When something doesn’t go right, the first place to start is with permissions. Either the user doesn’t have permission to write to the location or doesn’t have permission to read or execute the file. These will stop you in your tracks every time.

    Thankfully, if an internet search or YouTube video doesn’t enlighten you there are a couple of personal assistants you can call on, they have been immensely helpful to me; Microsoft Copilot and Google Gemini.

    I’ve typed and spoken my queries; I’ve even taken screen shots with my cell phone and pasted the resulting image into the AI prompt. It was able to ‘read’ the lines of error code in the picture and tell me the problem and offer a solution.

    I’ve given it a few variables like database name, user and password and it will use those to produce a script to install an application.

    I would be much closer to my beginning steps than I am to my end steps without the help of AI. If you haven’t tried, download one of the apps from your app store and give it a whirl, much better than doom scrolling.