Come to your senses – the lies are useless

Think for yourself.

I saw a recent quote that said “I am always disappointed when an actual liar’s pants don’t catch on fire” – and I wholeheartedly agree. Lies don’t help anyone, sure there are harmless fictions such as holiday traditions. Those don’t cause harm. They aren’t so much a problem as a ‘preservation of innocence” for children to allow them time to grow.

The real lies are those that are spread to cause division, mistrust, hatred and fear. They are the most harmful of all, as they are meant to cause pain to someone else. If someone wants to harm themselves – they are free to do so, but when they lash out at others to stoke the worst of us, they are enabling their own insecurities to come to life for malintent.

I’ve seen enough hatred in my lifetime to know that people who engage in such seek to surround themselves with people who will agree with their dark vision. Those people are the easily misled, the ones who will follow without question the crazed insecurities that drive their ‘leaders’ – often nothing more than sycophants and lesser beings themselves who can’t think their way out of a cul-de-sac.

It’s truly painful to realize that someone who needs assistance will do everything that they can to prevent themselves from receiving same. It’s as bad as watching someone dying of thirst refuse a drink of water because they’d rather die than take any help from a stranger. These same folks will eat a crap sandwich if their conspiracy cult leaders tell them it is the best tasting sandwich in the world and then smile at you with their shit-eating grin as if they were proud of consuming manure.

We owe ourselves the benefit of using our own brains to think critically. If you don’t do that, you are wasting the talents you were given, and instead choosing to go back to the stone age because you would rather be dense. I will miss you on your way down, but it is your choice. You can choose to question the motivation of the speakers or simply swallow crap whole. No one will work to stop you from doing so, you are free to be stupid and always behind, going deeper into that dark hole of idiocy.

While certain people think they are forgotten, they really need to wake up from the stupor and realize that there is a need to change with the times or get left behind. When in Rome, do as the Romans. When in the future that you knew would come, don’t seek a u-turn to the past, the past is gone. It will not return, no matter how stupid you choose to be.

Do yourself a favor and ask “is this really who I want to be? Do I really believe the bullshit being spouted by these people, or do I want to live in peace?”

The answer you choose will be your choice, no one holds a gun to your head telling you what to believe. However, the consequences of your choosing are yours as well. Don’t be surprised if choosing hatred and lies doesn’t work out so well. The world has a way to standing up to that, and every loser eventually pays the piper.

Have a nice day. Don’t worry, be happy.

Till next time: Now, just how is that Un-American, bubba?

There is no compromise

My hopes for my country never included the regression of the achievements we’ve built over the last fifty years to that of a polarized, dimwitted, and non-thinking populace. Never thought I would say that there was a time when the country had the ability to have its self respect and the ability to recognize the right of all to peacefully coexist taken away so quickly by a conman and an easily lead crowd of non-thinking hate-mongers. However, here we are today in 2022 faced with such outcomes. Everyday gun violence is so common that we’ve had nearly one mass shooting a day this year and no one seems to do anything to stop it. It is not America, the land that I love anymore. It is the land of the fearful, hateful and ideologically incoherent morons.

The blame is quite simple for this mess. We all are to blame. We allowed the ideology of hate to remain on air, we allowed a corrupt minority to buy the government and overturn the laws that kept our government in the hands of people and not the wealthy alone. We allowed the false ideology that money is more powerful than the rights of individuals. We allowed the wealthy to buy out the members of the elected offices and to steal the control of the once revered Supreme Court and make a mockery of our laws. We allowed the hate mongers to stir the crazies into violent actions, blaming their poor choices on everyone else in their phony victimhood. We allowed the covert racists to build their networks of domestic terror and we allowed the weapons dealers to sell weapons of war to everyone, giving the weapons more value than human life. Women in my state have fewer rights than weapons, viruses and domestic animals. We’ve allowed the corruption and it needs to end.

When people tell you that your bad circumstances are due to someone else’s choices or lives, you’re being lied to. They want to manipulate you into becoming a weapon of their ideology. Much like Osama Bin Laden, they radicalize you to do their murder, their violence and their hateful acts. If you do that, you are no different than the homicide bombers who feel so entitled as to take other people’s lives because they need someone to blame for their misfortunes in life. I refuse to call them suicide bombers, because they are the worst form of killers, narcissists. They feel that everyone else must die because they feel like the world is to blame for their outcomes. 

We don’t have to look far to find these awful human beings. They are easy to spot. They blame everyone else for their outcomes. Never mind that they choose to eb bitter and spiteful, never mind that they are cruel to others and are reviled for their behavior – no, it must be someone else’s fault. Sorry, but that isn’t the case. We have on the biggest narcissists in the world with the entire world lining up against him now in Russia. He started a war over nothing other than his own choice to do so ‘because he wanted one’.

His troops are being ground to pieces fighting for a war that they don’t even understand. Many of them are poor conscripts but there are many vile thugs amongst them, shooting, torturing and killing civilians. They are war criminals and terrorists. They kill indiscriminately for the sport of it, because they are armed and have no discipline. When they come up against real resistance, they don’t make much progress – they get killed instead.

The same is what we have in our domestic, white supremacist terrorist. They are great at killing innocent people, but cower and cry when faced with real threats. They surrender quickly when they know that they can’t keep killing indiscriminately. I find them revolting thugs, and want them to know that there will be consequences for your actions. Life in prison won’t be so grand – if you live that long. There is nothing redeemable in that act, and you don’t just suddenly turn out that way. You have to have learned it either at home or in the family somewhere.

Racism should have consequences. I can remember back int the 1970’s as a teenager when a man was fired for using the N-word to describe his co-workers and thought he was talking in safe company when he saw me. He said “Can you believe they fired me for calling those n———, n———?” All I could think to myself was “what a loser” – anyone that could not treat folks as human beings and have some civility and decency was getting what they asked for – being treated as a failure to get along and be human. I hoped such actions would allow for some self-introspection and reflection on the error of those acts, but recent times have shown me that they learned nothing. They turned their own actions into their own ‘victimhood’ and blamed everyone else on the outcome they chose to live within. It’s not the fault of others that you failed to wise up and educate yourself to respect others.

In this day and age, there cannot be a return to those years of hateful racism and hostility. It isn’t acceptable now as it wasn’t then. There will be consequences for those who refuse to learn and they must not be allowed to thrive and expand their hate. If they lose employment, friends and cover – it is the outcome of their own choosing. I can’t and won’t compromise on that principal. There is only one human race, and you can either grow up and be a part of it, or you can suffer the consequences of your own actions. But get this straight: the fault lies within you, no one else is to blame.

Till next time. Have a nice day all. Don’t worry, be happy.

A Fool and his money seem to find real good friends

Thanks to Robin Trower’s Too Rolling Stoned for the title of today’s post. The lyrics are true today as they were then. A fool and his money do both seem to find real good friends. While the economy has been in a massive upheaval due to the pandemic, wars and other previously unthinkable occurrences, the old adages remain tried and true.

Looking at the obvious signs of economic insanity that has occurred over the last twenty two years or so, we can see from the Enron to the current Housing market/Crypto/NFT insanity that people will place their faith in absolutely meaningless objects over reasoned and continued progress.

The housing squeeze seems to be driven by a lot of untraceable investment financiers. The market is too hot to handle and removing the dream of home ownership from the next generation so fast that it is driving people to become renters without equity.

That is not a desirable outcome for a just society. If we want to have a nation where people care for and seek to improve their communities, we need to have people invested within their own community, not serfs of same feudal investor. Home ownership should not become some crazed party where everyone seeks to outbid and overpay for property. It should be an investment within the community for its residents.

I have been saying for some time that the Texas system of Robinhood is an anathema to the idea of local property tax valuations as the ideas of stealing the locally paid taxes to pay for extravagant facilities for smaller schools while preventing the local taxes staying local is an economic theft designed to destroy the services that people pay for within the city. It is an unjust and unfair system that allows some districts to build swim theme parks, while other districts had to create bake sales and other stupidity to fund their district activities for children. It is a quid pro quo, evidence of corrupt handling of taxes in exchange for the culture war voters to blame and bite the hands that feed in the form of political extortion.

As the prices of homes go ever higher, the insanity of taking the tax base away from its creators (the employed earning populace) to give to the willfully ignorant who are actively taking same creates an undeniable rift with reality. It makes the people who are earning resent those who are taking and it makes the takers resent those who are earning, believing that the earners owe them. It is not a sustainable civil society in this fashion. We can’t mend fences until we understand reality.

Property valuations are increasingly false, driven on the idea of “there will be no downturn” which history has shown us is not true. It will happen and it will be painful. I’d venture to say that it will location driven, and many will suffer. My advice would be to have no mortgage now -and never take a flexible rate mortgage at all. That causes a crush that will drive your out of your equity investment.

As for Crypto and NFTs – yeah, that’s going to be a shitshow. Some schemes will make their founders wealthy, but by and large, most will lose. When everyone is rushing to put their money into it, it has a red flashing warning sign that the person who exits first wins. When the values get ‘high enough’ for a substantial exit – it will crash. Those left holding the bag will feel the pinch of having lost their money.

I can’t tell you where to invest, but I would advise us that the future must be about building a sustainable world or we will be living underground as the planet surface boils away. I’d prefer children to have a chance, peace to grow, and people to actually understand that freedom takes work. Your ideas end at the tip of your nose. No one has the right to take away the freedom of others, through stupidity, legislation or just outright hatred.

Till next time, I’ll be eating popcorn and watching people stumble all over themselves with some really dumb ideas. I remember that Men In Black had it right : A person is smart. People are dumb, panicky dangerous animals and you know it.

Yes, yes I do know it. Have a nice day, Don’t worry, be happy!

Pop!_OS GDM Background changer

There will always be a workaround when working with Linux. Things just don’t stay static and the idea of a walled garden for users isn’t much of an impediment to adaptation. As a Pop!_OS user, I’ve come to know the brown of the GDM login screen as a de-facto part of the OS. It’s okay and not awful, but it isn’t the most appealing color and doesn’t allow for choice.

Imagine my happiness to find a script out on github which promised to reset the GDM theme (image, color or gradient) on Github thanks to the team at UbuntuHandbook who delivered the news about this fine script from Pratak Kumar. Of course, the author went to pains to point out that the script only supported Ubuntu, and the script tested for that condition.

Unlike a lot of folks, I prefer to verify that scripts have only the intended outcome and use my Crash Test VM for all such scripting as I work my way through any modification when I find something interesting that can provide some joy. I never recommend running scripts without a sheep dip or crash test machine. Same holds for anything modifying kernels or untrusted sources.

However, a script can be torn down and reviewed, simply because you can read the source and alter as needed. If you aren’t aware of what a script does, don’t use it. Seriously.

Below is my modified script to set the GDM Background for Pop!_OS 22.04 Jammy Jellyfish. I modified the script and tested it out and it works well for me.

What not to expect: This will not change the background on the drive encryption screen. I wouldn’t even begin to want that to happen.

What to expect: This will allow you to change the default GDM login screen to something of your choosing. If using a background image, I suggest a hard-coded path to a locally stored image to ensure that nothing goes wrong. Relative paths or remote images do not work and may cause a broken login screen.

The script must be run with sudo privileges (you don’t run anything as root, right?) and you should read through it thoroughly to understand the options and recovery procedure. The main difference here is that you are calling the script pop-gdm-set-background NOT ubuntu-gdm-set-background and I have only written this for Pop!_OS 22.04, but you can expand it to include other releases if you wish.

So, without further ado, I give you pop-gdm-set-background:

#!/bin/bash

#Based off the work of Pratak Kumar for Ubuntu, but adapted specifically for Pop!_OS 22.04 Jammy

# Colors
Red='\e[0;31m';     
BRed='\e[1;31m'; 
BIRed='\e[1;91m';
Gre='\e[0;32m';     
BGre='\e[1;32m';
BBlu='\e[1;34m';
BWhi='\e[1;37m';
RCol='\e[0m';

codename=$(cat /etc/os-release | grep UBUNTU_CODENAME | cut -d = -f 2)
osname=$(cat /etc/os-release | grep '="Pop!_OS"' | cut -d = -f 2)

if [ "$codename" == "jammy" ] && [ "$osname" == '"Pop!_OS"' ]; then
  source="/usr/share/gnome-shell/theme/Pop/gnome-shell-theme.gresource"
  GDM_RESOURCE_CONFIG_NAME="gdm"

else
  echo -e "${Red}
------------------------------------------------------------------
Sorry, Script is only for Pop!_OS ${BWhi}22.04${Red} Only
Exiting...
------------------------------------------------------------------
${RCol}"
  exit 1
fi

pkg=$(dpkg -l | grep libglib2.0-dev-bin >/dev/null && echo "yes" || echo "no")
if [ "$pkg" == "no" ]; then
  echo -e "${Red}
-----------------------------------------------------------------------------------------------------
Sorry, the package ${BWhi}'libglib2.0-dev-bin'${Red} is not installed. 
Run ${BGre}sudo apt-get install libglib2.0-dev-bin${Red} to install.
For now, Exiting...
-----------------------------------------------------------------------------------------------------${RCol}"
  exit 1
fi

dest="/usr/local/share/gnome-shell/custom-gdm"
color='#456789'

###################################################
HELP() {

  echo -e "
${BGre}pop-gdm-set-background${BGre} script (for changing Pop!_OS ${BWhi}22.04${RCol} GDM Background) HELP

there are four options
1. background with image
2. background with color
3. background with gradient horizontal ( requires two valid hex color inputs)
4. background with gradient vertical ( requires two valid hex color inputs)

${BWhi}Tip:${RCol} be ready with valid hex color code in place of below example like #aAbBcC or #dDeEfF. Change them to your preffered hex color codes.
you may choose colors from ${BBlu}https://www.color-hex.com/${RCol}

Example Commands:

1. ${BWhi}sudo ./pop-gdm-set-background --image ${BGre}/home/user/backgrounds/image.jpg${RCol}
2. ${BWhi}sudo ./pop-gdm-set-background --color \#aAbBcC${RCol}
3. ${BWhi}sudo ./pop-gdm-set-background --gradient horizontal \#aAbBcC \#dDeEfF${RCol}
4. ${BWhi}sudo ./pop-gdm-set-background --gradient vertical \#aAbBcC \#dDeEfF${RCol}
5. ${BWhi}sudo ./pop-gdm-set-background --reset${RCol}
6. ./pop-gdm-set-background --help

RESCUE_MODE, Example Commands:

1. ${BWhi}$ sudo ./pop-gdm-set-background --image ${BGre}/home/user/backgrounds/image.jpg ${BWhi}rescue${RCol}
2. ${BWhi}$ sudo ./pop-gdm-set-background --color \#aAbBcC rescue ${RCol}
3. ${BWhi}$ sudo ./pop-gdm-set-background --gradient horizontal \#aAbBcC \#dDeEfF rescue${RCol}
4. ${BWhi}$ sudo ./pop-gdm-set-background --gradient vertical \#aAbBcC \#dDeEfF rescue${RCol}

${BWhi}Why RESCUE_MODE?${RCol}
It is when you try to change the background with some other scripts and then interacted with this script,
there will be some conflicts. In case you ran other scripts to change the background and then tried this script,
found conflicts? then add 'rescue' to the end of the command as mentiond above.

${BRed}Please note that for 'RESCUE_MODE' active internet connection is necessary ${RCol}
"

}
###################################################

###################################################
ROUTINE_CHECK() {
  if [ "$UID" != "0" ]; then
    echo -e "${BRed}This script must be run with sudo${RCol}"
    exit 1
  fi

  cd /tmp
  if [ -d /tmp/theme/ ]; then
    rm -r /tmp/theme
  fi

  if ! [ -d $dest ]; then
    install -d $dest
  fi

}
###################################################

###################################################
RESCUE_MODE() {
  echo -e "
>>>>> Trying to ${BWhi}reinstall${RCol} the package yaru-theme-gnome-shell,
if the reinstallation of the package is succesful, background change will be done
otherwise No changes will be made <<<<<<<<<
"
  apt install --reinstall yaru-theme-gnome-shell
  if [ $? != 0 ]; then
    echo -e "${BIRed}
SCRIPT COULD NOT FINISH THE JOB, FAILURE, NO CHANGES WERE DONE.${RCol}"
    exit 1
  fi
}
###################################################

###################################################
EXTRACT() {
  for r in $(gresource list $source); do
    t="${r/#\/org\/gnome\/shell\//}"
    mkdir -p $(dirname $t)
    gresource extract $source $r >$t
  done
}
###################################################

###################################################
CREATE_XML() {
  extractedFiles=$(find "theme" -type f -printf "%P\n" | xargs -i echo "    <file>{}</file>")
  cat <<EOF >"theme/custom-gdm-background.gresource.xml"
<?xml version="1.0" encoding="UTF-8"?>
<gresources>
  <gresource prefix="/org/gnome/shell/theme">
$extractedFiles
  </gresource>
</gresources>
EOF
}
###################################################

###################################################
SET_GRESOURCE() {
  cd $dest
  update-alternatives --quiet --install /usr/share/gnome-shell/$GDM_RESOURCE_CONFIG_NAME-theme.gresource $GDM_RESOURCE_CONFIG_NAME-theme.gresource $dest/custom-gdm-background.gresource 0
  update-alternatives --quiet --set $GDM_RESOURCE_CONFIG_NAME-theme.gresource $dest/custom-gdm-background.gresource

  check=$(update-alternatives --query $GDM_RESOURCE_CONFIG_NAME-theme.gresource | grep Value | grep $dest/custom-gdm-background.gresource >/dev/null && echo "pass" || echo "fail")
  if [ "$check" == "pass" ]; then
    echo -e "
😕 ${BGre}Seems 'background change is successful'${RCol}
Changes will be effective after a Reboot (${BWhi}CTRL+ALT+F1${RCol} may show the changes immediately)
If something went wrong, log on to tty and run the below command
${BWhi}$ sudo update-alternatives --quiet --set $GDM_RESOURCE_CONFIG_NAME-theme.gresource /usr/share/gnome-shell/theme/Pop/gnome-shell-theme.gresource${RCol}
"
  else
    echo Failure
    exit 1
  fi
}
###################################################

############################################################################################
case "$1" in 
  --help)
    HELP
    exit 1
  ;;
  --reset)
    ROUTINE_CHECK
    if ! [ -f $dest/custom-gdm-background.gresource ]; then
      echo -e "
-----------------------------------------------------------------------------
No need, Already Reset. ${Red}(or unlikely background is not set using this Script.)${RCol}
-----------------------------------------------------------------------------"
      exit 1
    elif [ "$UID" != "0" ]; then
      echo -e "${BRed}This Script must be run with sudo${RCol}"
      exit 1
    else
      rm $dest/custom-gdm-background.gresource
      update-alternatives --quiet --set $GDM_RESOURCE_CONFIG_NAME-theme.gresource "$source"
      cd /usr/local/share
      rmdir --ignore-fail-on-non-empty -p gnome-shell/custom-gdm
      echo -e "${Gre}
      		---------------
		  		|Reset Success|
		  		---------------
		  		Changes will be effective after a Reboot ${RCol}"
      exit 1
    fi
  ;;
  --image)
    if [ -z "$2" ]; then
      echo -e "${BRed}Image path is not provided${RCol}"
      exit 1
    fi
    if
      file "$2" | grep -qE 'image|bitmap'
    then
      ROUTINE_CHECK
    if [ "$3" == "rescue" ]; then
      RESCUE_MODE
    fi
    EXTRACT
    cd theme
    cp "$2" ./gdm-background
    mv $GDM_RESOURCE_CONFIG_NAME.css original.css
    echo '@import url("resource:///org/gnome/shell/theme/original.css");
#lockDialogGroup {
background: '$color' url("resource:///org/gnome/shell/theme/gdm-background");
background-repeat: no-repeat;
background-size: cover;
background-position: center; }' >$GDM_RESOURCE_CONFIG_NAME.css
    cd /tmp
    CREATE_XML
    cd theme
    glib-compile-resources custom-gdm-background.gresource.xml
    mv custom-gdm-background.gresource $dest

    SET_GRESOURCE

    exit 1

  else
    echo -e "${BRed}
Absolute path to image is neither provided nor is it valid.
see help with below command${BWhi}
$ ./pop-gdm-set-background --help${RCol}"
    exit 1
  fi
  ;;
  --color)
    if [ -z "$2" ]; then
      echo -e "${Red}Color is not provided.
      Use ${BWhi}\$ sudo ./pop-gdm-set-background --color #aee02a${RCol} to set ${BWhi}#aee02a${RCol} as the background color.${RCol}"
      exit 1
    fi
    if ! [[ $2 =~ ^#([A-Fa-f0-9]{6}|[A-Fa-f0-9]{3})$ ]]; then
      echo -e "${BRed}Provided color is not a valid 'HEX Color Code'${RCol}
See help with below command
${BWhi}$ ./pop-gdm-set-background --help${RCol}"
      exit 1
    fi

  ROUTINE_CHECK
  if [ "$3" == 'rescue' ]; then
    RESCUE_MODE
  fi

  EXTRACT
  cd theme
  mv $GDM_RESOURCE_CONFIG_NAME.css original.css
  echo '@import url("resource:///org/gnome/shell/theme/original.css");
#lockDialogGroup {
background-color: '$2'; }' >$GDM_RESOURCE_CONFIG_NAME.css
  cd /tmp
  CREATE_XML
  cd theme
  glib-compile-resources custom-gdm-background.gresource.xml
  mv custom-gdm-background.gresource $dest

  SET_GRESOURCE

  exit 1
  ;;
  --gradient)
  if [ "$2" == "horizontal" ] || [ "$2" == "vertical" ]; then
    direction=$2
  else
    echo -e "${BRed}Gradient direction is not provided.${RCol}
    Use ${BWhi}$ sudo ./pop-gdm-set-background --gradient horizontal \#aa03af \#afa0ee${RCol} OR
    ${BWhi}$ sudo ./pop-gdm-set-background --gradient vertical \#aa03af \#afa0ee${RCol} to set a vertical gradient.
    See ${BWhi}./pop-gdm-set-background --help for more info${RCol}"
    exit 1
  fi
  if [[ -z "$3" || -z "$4" ]]; then
    echo -e "${BRed}color/colors is/are not provided${RCol}"
    exit 1
  fi

  if ! [[ $3 =~ ^#([A-Fa-f0-9]{6}|[A-Fa-f0-9]{3})$ ]] || ! [[ $4 =~ ^#([A-Fa-f0-9]{6}|[A-Fa-f0-9]{3})$ ]]; then
    echo -e "${BRed}Provided color/colors is/are not a valid 'HEX Color Code'${RCol}.
See help with below command
${BWhi}$ ./pop-gdm-set-background --help${RCol}"
    exit 1
  fi

  ROUTINE_CHECK

  if [ "$5" == "rescue" ]; then
    RESCUE_MODE
  fi

  EXTRACT
  cd theme
  mv $GDM_RESOURCE_CONFIG_NAME.css original.css
  echo '@import url("resource:///org/gnome/shell/theme/original.css");
#lockDialogGroup {
background-gradient-direction: '$direction';
background-gradient-start: '$3';
background-gradient-end: '$4'; }' >$GDM_RESOURCE_CONFIG_NAME.css
  cd /tmp
  CREATE_XML
  cd theme
  glib-compile-resources custom-gdm-background.gresource.xml
  mv custom-gdm-background.gresource $dest

  SET_GRESOURCE

  exit 1
  ;;
  *) 
    echo -e "Use the options ${BWhi}--image |--color | --gradient | --help | --reset${RCol}"
    exit 1
  ;;
esac
exit

I do hope that you find this useful if you are a fan of Pop!_OS like I am. I’m on my fourth System 76 machine and still a huge fan of System 76.

Have a nice day. Don’t worry, be happy!