Monthly Archive for October, 2024

Blogging like it’s 2006

I am blogging like it’s 2006 again. Countless people write about social justice and their experienced reality and they find praise and acclaim. I stifled my words for a long while because I believed that I would be even less able to find a job without stifling my words. My experience is valuable and would have served me well had it been in my possession prior to its acquisition.

Rebecca at Basics by Becca expressed her view on allowing the potential opinions of other people to dissuade one from following their own way. “Find out all the things that make your heart sing and go after them! It might be a little bit scary at first – but who cares? Don’t let other people’s opinions stop you from following what makes you happy. The more time we spend doing our passions, the easier it becomes to find our voice [1].” She further admonishes one to stop caring what others think about you. “This goes hand in hand with the last point – once you stop caring so much about what others think of you, you will start to feel a lot freer. It’s okay to make mistakes and it’s okay to be different! Embrace your authentic self and let it shine [1].” She recommends being bold, and letting go of the past.  The phrase about letting go of the past possesses great salience for me. “This one is hard but so important! Living in the past keeps us stuck and makes it impossible for us to find our voice because we are too caught up on what has already happened instead of living fully in this moment right now [1].” Other great action points including finding one’s tribe, expressing one’s feelings, and letting yourself be free. “Take off the mask and just BE YOURSELF with no apologies attached. Don’t worry so much about whether things are perfect or if people will judge you – just be yourself and don’t let anyone else define who that is. You are free to be anything you want, so take the time to figure out what makes you happy, go for it fully without apology [1]!” She says to be authentic: “Be honest about what matters most to you in life, because only by doing this can we be fully authentic. If society’s expectations are not on your list, ignore them and follow your own path[1]!”

Jennifer Hamady in Psychology Today mentioned that “Creativity is an imperative for a well-lived life [2].”

Sam Watson said “One of the advantages of writing blogs is that it can help to refresh and consolidate you thoughts on a topic. “ [3] His view coincides with my own.

Research has shown that writing about traumas improves time management over time. Dr. Pennebaker found that writing for short periods of time produce improvement, and writing for longer periods of time also produces improvements [4]. In an interview on the subject, Kim Mills asked “Do people have to write on a regular basis to see a really significant effect? Do I have to write something every day to really experience the benefits [4]?”

“Oh my God, no.” Dr. Pennebaker answered. “To give you an example, I write maybe two or three times a year when something miserable is going on. When I hear about journaling and writing every day, I just get nervous about it. I would hate that because I use writing when I’m dealing with something that is ugly, unpleasant, painful. And if life is going well, why in the world do I want to introspect that? I want to enjoy life when it’s here and when there’s bad things, writing for me helps me get through them [4].”

 

 

 

1. Becca, “18 Powerful Ways to Find Your Voice.”
2. Hamady, “The Truth About Creative Expression.”
3. Watson, “Geostatistical Modelling with R and Stan.”
4. Mills and Pennebaker, “Expressive Writing Can Help Your Mental Health.”

Install cron on Fedora 38

dnf install cronie
systemctl enable crond.service
systemctl start crond.service

Building an anti-bitrot bunker

When I first obtained a CompTIA A+ certification some time ago, the concept of bit rot related to what happens to software reliability as the number of updates to the system increases. Over time, software that worked in years past ceases to work as new system updates block system calls or change permissions and files that the software originally relied upon. This slow decaying of reliability was called bit rot. There are some other definitions floating around on the internet, but that is the one most relevant for me.

To prevent this and reduce the amount of time spent in sorting out the bit rot introduced to my investments by Microsoft’s proclivities, I have standardized on two operating systems for major time investments in computing that occupy my life.  Windows still has a place since I sometimes use Windows only games to play with my child.  Other than that necessity, I have built the things I rely on for use with Linux.  The two versions that I have standardized on are Debian and Fedora. Specifically Debian 12 and Fedora 38.  These are not what is used for the website, but they are the major components of my anti-bitrot infrastructure.  I am aware this may not be good security practice, but this isn’t to get me a job, this is to serve an aging man and his family reliably over time.

There are a few reasons that I selected Fedora 38 and Debian 12. Fedora 38 still has Python 2.7 in the repositories.  It was within 2 versions for upgrading from Fedora 36. Fedora 36 was what I was running in my Windows Subsystem for Linux instance, and I upgraded it to Fedora 38.   When deciding to move back to bare metal for my Linux software development and automation needs, I decided to standardize on that one.  Debian has a 32 bit version. I have both the 32-bit and 64-bit deployed in my network.  Debian 32 bit allows on to easily 32-bit builds of Java on a Linux server.  One can add the testing repository and have the latest Java in 32 bit form.  32-bit Java is necessary to run older Minecraft versions.  My family has a large set of mod-collections and old Java Minecraft instances and maps going back about 8 years. I can then run the latest JVM and the latest Minecraft on the same server because the 32bit JVM is available.  It is very annoying to try and  manage 32bit and 64bit Java virtual machines on the same host, so having it all 32-bit solves a huge problem.  One can add the Debian 11 repository and install Python2.7 if one wants to use old Python versions.  I need this old Python version for a project that I worked on over the course of the last 8 years.

The general anti-bit rot measure for Debian is to always use apt-get to install packages as this will leave the .deb file in the cache.  Then copy those .deb files on a regular basis to another location for use as a repository for other Debian installations.  This can be configured to work via a cron job.  Debian is really the only long-term viable game in town if one wants a 32-bit anti-bitrot bunker that will last into the future, over say, a ten year time horizon. Save the .deb files on a private web-server inside the network and periodically update that repository with the files copied via the sweeps from the cache directory.

For Fedora, this should work with any version.  Fedora 38 is the one I use.  Edit the /etc/dnf/dnf.conf file to say keep_cache=True, and this will save the dowloaded RPMS.  One can then build their repository using only what they need if so desired.  The other genuine long term standardization option is to mirror the entire repositories to the private webserver within one’s network.  To do this, install yumdownloader.   Then, move all of the .repo files from /etc/yum.repos.d except for one to a temporary location.  Then, go into a directory with a lot of space.  For Fedora 38, the complete mirror was 229GB.  Then use yumdownloader * and it will download all files from that repository.  Then, use yumdownloader –source * and it will download all source packages for the packages that it just downloaded.  Then, go back to /etc/yum.repos.d and switch that .repo file out with one that was moved previously, and repeat the process until all repositories have been completely downloaded.  Then, copy all downloaded RPMS to one large directory on the webserver and use createrepo to create the meta data.  Then on the client machines, create a .repo pointing to your own webserver, and move the existing .repo files in /etc/yum.repos.d to an archival location.   Then all of your installations will occur from your own webserver and all machines will have the same versions of packages.

In my case, I then install the data science specifics that I need for the automated software that I created.  The process varies slightly depending on whether the system is Fedora or Debian.

For Debian:

Add bullseye to sources.list
Install python2 via bullseye repositories
Install pip via the downloaded file from https://linuxhint.com/install-pip-on-debian-11/ that is to say,
1. wget https://bootstrap.pypa.io/pip/2.7/get-pip.py
2. python2 ./get-pip.py
Apt-get install libcurl4-openssl-dev

R:
Install.packages(‘curl’)
Install.packages(‘fpp2’)
Install.packages(‘magrittr’)
Install.packages(‘urca’)
Install.packages(‘vars’)
Install.packages(‘psych’)
Apt-get install r-cran-rjava
Install.packages(‘rJava’)
Install.packages(‘xlsx’)
Install.packages(‘Hmisc’)
Install.packages(‘prophet’)
Install.packages(‘dplyr’)
pip2 install parsedatetime==2.5
apt-get install awscli
pip2 install boto3
apt-get install r-cran-car

Troubleshooting steps if .xlsx and others are not built:
Are all R packages installed successfully with a 0 exit status?

On Fedora, the repositories do not contain R components in the same way the Debian repositories do.  Here is the process for Fedora 38.

Used the script https://bootstrap.pypa.io/pip/2.7/get-pip.py
pip2 install parsedatetime==2.5 –user
dnf install libcurl
dnf install libcurl-devel
dnf install R
dnf install awscli
pip2 install boto3 –user
dnf install cmake

Within R:
install.packages(‘car’)
install.packages(‘curl’)
install.packages(‘fpp2′)
install.packages(‘magrittr’)
install.packages(‘urca’)
install.packages(‘vars’)
install.packages(‘psych’)
install.packages(‘rJava’)
install.packages(‘xlsx’)
install.packages(‘Hmisc’)
install.packages(‘prophet’)
install.packages(‘dplyr’)

Interlinear Greek New Testament

The Interlinear Literal Translation of the Greek New Testament with the Authorized Version (1897). This is an interlinear Bible with the Authorized Version (King James) along with a Greek text along with it.

A Caution of Claude AI

The Claude AI terms of service at Anthropic, as of 14 October 2024, say that

you may not use the service to “develop any products or services that compete with our Services, including to develop or train any artificial intelligence or machine learning algorithms or models.”

Claude’s terms further state

Equitable relief. You agree that (a) no adequate remedy exists at law if you breach Section 3 (Use of Our Services); (b) it would be difficult to determine the damages resulting from such breach, and any such breach would cause irreparable harm; and (c) a grant of injunctive relief provides the best remedy for any such breach. You waive any opposition to such injunctive relief, as well as any demand that we prove actual damage or post a bond or other security in connection with such injunctive relief.”

Machine learning includes linear regression. Other Machine Learning algorithms include Logistic Regression, decision trees, random forests, support vector machines, K-Nearest Neighbors, & Bayes Algorithms. It seems to me, that as of 14 October 2024, no one seeking to handle any data science can legitimately use Claude. They are driving toward Claude working as the replacement of human co-workers according to some of the latest marketing.  If the users are forbidden from using the results of the services to strengthen their own work, it seems like it will produce a walled garden without machine learning expertise within the businesses.

Greek letters

This is a list of Greek letters and their names.

α alpha
β beta
γ gamma
δ delta
ε epsilon
ζ zeta
η eta
θ theta
ι iota
κ kappa
λ lamda
μ mu
ν nu
ξ xi
ο omicron
π pi
ρ rho
σ/ς sigma/final sigma
τ tau
υ upsilon
φ phi
χ chi
ψ psi
ω omega

 

Holy Bible Geneva Bible – 1579

Holy Bible – Geneva Bible – 1579