FISH | Friendly Interactive SHell on openSUSE

BASH has been good to me and I have enjoyed my time with BASH very much. I have learned so much about the inner workings of Linux through the terminal and BASH has been there my whole experience. “Tab” completion has been a marvelous gift to the terminal user experience. I have never had a complaint about BASH and therefore never looked elsewhere.

On the episode of BDL from 17 Oct 2020, I was told to try FISH as it would change my terminal life. I didn’t really believe it but proceeded to install it anyway. I also wasn’t ready to commit to it so I modified a profile in Konsole to use Fish instead of Bash. Typing in one solitary command and I was sold.

Installation

The installation of FISH takes but one step. In the terminal type:

sudo zypper install fish

If you just want to try it, you can just run fish from the terminal and you are immediately in it.

Difference

Fish helps you along, give you hints, pressing tab gives you options and defines the options which removes the ambiguity in the commands. On the surface, this doesn’t look any different, that is, until you do what you would normally do in the terminal and see the difference. This may not be the greatest example but it essentially shows the improvements in the interaction.

As you start typing fish predicts the command based on your executed command history. In a sense, it learns and predicts your inputs which is very handy. Think about all the different things you do in the terminal. How many times have you reviewed your history to remember the exact syntax of a command you previously ran. This will make that process so much more enjoyable.

What is absolutely fantastic about FISH is how easy it is to configure. Simply run:

fish_config

and you are presented with the ability to easily configure your options graphically. At the same time, you are able to view the config file and manually input changes as well.

Switch to Fish | Bash is out

Lets say you are running Konsole for you terminal emulator. Changing it to use FISH instead of BASH is as simple as going into Settings > Configure Konsole

Under Profiles, select the default profile and “Edit” it.

The command should be changed to /usr/bin/fish

If you would like to check before hand to see if that is indeed the installed location of the FISH executable, run this in terminal to be sure:

which fish

Switch to Fish on openSUSE

To make the changes system wide, that is also an easy process. As root run the following command

chsh -s /usr/bin/fish

Additionally, you can change your user account default shell in this way, where in this case “cubiclenate” would be your user name.

chsh -s /usr/bin/fish cubiclenate

Keep in mind that user accounts may still be using BASH depending on how they were set up. Since the terminal should be a personal choice, it is totally understandable that the user accounts could vary.

Final Thoughts

I have been totally fine with using Bash, I started on csh in the HP Unix days, when I went to Linux, I was introduced to Bash and I thought it was pretty great. What I appreciated was the tab-completion on commands. I had heard about Zsh and Fish but since I didn’t have a problem with Bash, I had no desire to change my shell. The interactive nature of FISH makes using anything in the terminal so much better and dare I say, “fun”. Maybe instead of “Friendly” the F in FISH should stand for “Fun”. I really enjoy the terminal a lot more and I believe that making this the default shell for not just openSUSE but all distributions would also make the terminal far less scary for more people to use.

Reference

OSTechnix – Install Fish
fish on software.opensuse.org
3 Ways to change a user default shell

Noodlings | Inspiration Is Around You

21st Noodling of jam packed excitement… not really.

This is the 21st hot-pocket-sized podcast that won’t scorch roof of your mouth.

I have a small collection of vintage or near vintage gaming consoles. I lean mostly in the Nintendo party as I think they have a great grasp on what is fun. I don’t always agree with many of their business practices but the entertainment they have provided is multi-generationally successful. In order to lower the wasted time of hooking these systems up to enjoy and better organize their presentation, I built a Gaming Rack that was inspired by watching a YouTube channel called Retro Recipes. Seeing how nicely laid out and easily enjoyed they were set up, I made the decision that I must adapt this idea to my little world.

I’ll address this in greater length in the future but suffice to say, the creation of this Gaming Rack has made coexisting with lots of tech in the common areas of my house so much better. The big win was a place to keep all the tablets, handhelds and mobile devices so that they don’t linger in the kitchen or on the dining room table. They have a place to sit and charge and it is pretty fantastic.

The primary item of note here is, you can find inspiration all around you. The final result of my gaming rack, largely, isn’t anything like what I saw on the Retro Recipes channel but the purpose and intent is very much the same. I appreciate inspiration from wherever it materializes.

Modern Computer in a Commodore 64 Shell

The Commodore 64 was my first computer and there is something about the classic, beige bread-bin shape that brings a kind of retro-excitement. I have many fond childhood memories of flicking the switch on the side of the case where I was greeted with that “Ready” prompt and the blinking cursor on the light gray field… You see, I had a 13 inch, wood grain black and white TV that I mostly used with this fine machine. Only on special occasions did I get to enjoy it full color on the family TV in the living room. When I did though, that blue screen would fill the room with near endless possibilities of electric joy and hours of entertainment. There hasn’t ever really been an experience quite as exhilarating, as a child then when I learned how to input those load commands and hear the 1541 disk drive come to life with the warm sound of heads seeking over the spinning disk. To this day, when I use that disk drive, it takes me back to those bleak winder days where I would cozy up to a mug of hot cocoa and Commodore 64 delight.

WTTR.in | Weather Forecast in the Terminal

I have had an affinity for all things terminal in my old… or middle age. Not that I have ever spent all that much time in the terminal back in the 80s and 90s but as I transitioned into the Linux world, I started to enjoy the terminal and wanted to learn it.

What I am most interested in by this is the quick and efficient retrieval of the weather forecast. Since this is a terminal application, the actual limitations are few of what can access this information. The Commodore 64 with a text only web browser should be able to view this and certainly any other computer that came after it. In effect, this makes nearly any computer built, still quite relevant for modern tasks, or at least, it certainly helps keep computers useful.

Being able to access weather data quickly in the terminal is far preferred over using a web page as this is much quicker and does not gobble up internet bandwidth and cast a net of trackers at you.

I was made aware or rather re-aware of this information by some of the folks over at The Otherside Podcast Network.

Rickroll in the Terminal

When I was watching a YouTube channel “Adrian’s Digital Basement“, I noticed a dancing dude on some kind of small device in the background, on his wall of interesting things.

You know, I am seeing a pattern of me snooping on YouTubers…

I took me a bit of searching to realize that this was the “Rickroll” and out of curiosity, I had to see if it was available as a terminal command. Sure enough, this absolutely is a thing in the terminal and I had to Rickroll myself!

I found the project on Github, ran the commands and got an incredible laugh out of it. In an effort to not lose this again, I made a quick blathering about it on CubicleNate.com

There is nothing of any real value on this at all.

BDLL Followup

Talk on application preferences. What I got out of this was the push to use fish instead of bash for my shell. Fish stands for “Friendly Interactive SHell” So, calling it fish shell is a like ATM Machine.

In short this truly revolutionizes the terminal interface. This takes the terminal from good to awesome. The bottom line of what makes this awesome, and I will create a blathering post about this later, is that it holds your hand in using commands in the shell. It has parsed the man pages so when you start entering a command and press the tab key, it does more than just display what command you may be entering, it gives you the options and descriptions of what it is, continue to press tab and you will cycle through the similar commands. It’s

openSUSE Corner

Introducing the Open Build Service Connector

Open Build Service Connector is built around bookmarks of packages. Individual packages or whole projects can be checked out directly from within Visual Studio Code, similar as to how you would with osc.

This works well with the openSUSE project philosophy of collaboration which is at the heart of all things openSUSE and fundamentally built into the Open Build Service.

Node.js, OpenSSL, Mesa Update in Tumbleweed

Some of the major package updates in the last week of snapshots include newer versions of the Linux Kernel, Node.js, OpenSSL, Mesa, Apparmor, ImageMagick, AutoYaST and many others. Several CVEs and bug fixes have been addressed and the Mesa graphics library updates to support Intel Rocket Lake platform

Tumbleweed Roundup

https://review.tumbleweed.boombatower.com/

Computer History Retrospective

Computer Chronicles – Speech Synthesis (1984)

I think we often take for granted about how well speech-to-text and text-to-speech works these days on rather small hand held devices. I know that I have become unreasonably upset with my mobile when it didn’t translate anything or translated what I said poorly. I have to stop and look back in time at the history of speech synthesis and compare it to the size and limitations of the machines in 1984 at the commencement of commercially available solutions for speech synthesis.

Although not covered in this episode of Computer Chronicles, there was an application called “SAM” which means, Software Automatic Mouth, published in 1982 by “Don’t Ask Software”. I played with it a lot on the Commodore 64 and what I found out more recently was that this really taxed the little 64kib machine which is why it had to blank the screen when speaking.

SAM on the Web

The applications for speech synthesis in 1984 were a bit of a stretch in some ways. I’m not sure if it was the large awkward microphone or the obvious shoehorning of it’s usage for checking your stock portfolio but it did seem a bit clunky. Other uses, like the speak and spell, I thought was good but a camera or my car speaking to me is not really something I would appreciate today.

Could you imagine your camera telling you that you need to use a flash when taking a picture at a wedding?

The Speak and Spell is, in my opinion, is one of the best examples of a fantastically well executed consumer product. Though I don’t enjoy my Speak and Spell much as an adult, it is fun to pull it out from time to time and see how poorly my spelling still is after so many decades on this planet.

If speech synthesis is of any interest to you, I recommend watching this and seeing formative years of computer speech synthesis to gain a bit of appreciation on where we are today. Maybe you totally appreciate it but I know that my attitude falters from time-to-time and it’s good to look back and see how far we have journeyed.

Final Thoughts

Inspiration is all around you, it is just a matter of you taking the time to pause for a moment and look for it. There are truly creative minds out there, freely sharing ideas that you can apply in your life to make things just a bit better. Pause and appreciate the bits of inspiration throughout computing history that have made our tech lives so very interesting and fun. For a nerd, this is truly the best time to be alive.

Rickroll in the Terminal

This is a mostly useless blathering but since I got a good laugh out of it, I wanted to index this bit of fun and share it because that is what you do, right? Share nonsense on the Internet? Isn’t that why they invented the thing?

I was watching “Adrian’s Digital Basement” on YouTube and caught site of a device that had a repeating Rickroll animation. At first, I couldn’t remember what it was called and nearly hurt my thinking muscle in trying to remember it. After a bit of searching, I found a YouTube video of the actual music video of the “RickRoll”. So then I thought, I wonder if someone made this to run in the terminal. Sure enough, that is a thing.

I found this GitHub page here:

https://github.com/keroserene/rickrollrc/

I was incredibly amused.

Here is my warning and disclaimer, don’t ever copy some random text from the internet into a terminal and just run it. That is not in any way a good idea. Since I do lots of things that aren’t good ideas, I have done this and from what I can tell, it hasn’t destroyed my system.

To view a pixelated Rickroll in the terminal run this command:

curl -s -L https://raw.githubusercontent.com/keroserene/rickrollrc/master/roll.sh | bash

If you would like to share this with a friend and don’t want to give away what it is and surreptitiously get this person to run it in there terminal, use this command:

curl -s -L http://bit.ly/10hA8iC | bash

The obfuscation of the URL will aid in the process of “Rickrolling” your buddy… in the terminal.

As the GitHub site suggests, you could turn it into a script and further hide your true intentions when helping someone else out. Oh the fun that could be hand by wearing out a joke that was never that funny to begin with.

Final Thoughts

I totally realize that the “funny” of the Rickroll has long since passed on but this still gives me a chuckle and someday, someday, you can use it again on an unsuspecting technological enthusiast. I can think of all kinds of ways to shoe horn it in to the next time I give someone some advice.

References

Adrian’s Digital Basement YouTube Video with Rickroll in the background
Rickroll in it’s full Standard Definition Glory
Rickrollrc on GitHub

WTTR.in | Weather Forecast in the Terminal

In the spirit of using this site as my public facing notebook. I sharing with you and future me, what might be, the most beautiful terminal based weather forecast application wttr.in. Rather than babble endlessly about all my reasons for my love for the terminal, I am going to link you here to my Tmux blathering.

There is nothing to install, unless you don’t have curl but that is pretty standard fare on a modern Linux distribution. If you do not have curl, please consult your distribution instructions on getting it installed as with openSUSE it is there automatically.

I also want to note, most people, normal people, will just glance at their phone and be done with it. I, however, am not most normal people as the mobile form factor is not my favorite place to do anything.

How to Use It

Since there is nothing to install, this is a down and dirty on how you use it. You can get all the details by going to the project GitHub site and learn much more about its extended features, extensive options, and details of its inner workings.

The easiest way to view this weather information can be done just by navigating to the the website which will display the information in your browser. This is not personally interesting to me but possibly the best options available for viewing the weather.

http://wttr.in/

The more fun way to view the weather is right there in the terminal. Open you favorite terminal emulator or drop down into a TTY and it works.

This is all you have to do and it will just give you weather information.

curl wttr.in

It will use your IP to get the weather near you. For most people, this will probably be good enough.

For those that use a VPN may find that this doesn’t work for them. In this case you will have to specify the specific location where you want the weather forecast. Spectacularly, you can use the city name or the postal code. For example

curl wttr.in/kalamazoo

works just as well as

curl wttr.in/49001

Something of note, cities in the USA or across the world are not exactly unique. If I wanted the weather of Portage, MI and just typed

curl wttr.in/portage

I would get Portage, Indiana, presumably because it may be geographically closer to my location than Portage, Michigan. To be more specific, the appropriate syntax is this:

curl wttr.in/portage+michigan

Display Units

WTTR.in is set to default to your regional unit format but this can be over ridden. This can be done with adding ?u for USCS used in the United States or ?m for the rest of the world. An example of how that would be used to get metric in the United States.

curl wttr.in/kalamazoo?m

Final Thoughts

What is very cool about this, up to date weather information is readily available to any computer with a terminal, internet connection and curl which is what makes this very interesting and useful to me. It is a service that does not limit or wall off anything. It is there to be used.

I am only scratching the very surface of this incredibly versatile terminal weather application. It should be noted that because it is a terminal application and is extensible, you can very much make it more than just a basic text-based output. For my purposes, today, this is all I want but with a little imagination, marvelous things can be done with it.

This small blathering is very much for me, as I do recall this application from years back but have since forgotten the details about it. In my not so recent searching for terminal weather applications didn’t present this information so this is my gift to you and future me.

References

WTTR.in Project GitHub Page
Tmux Desktop on openSUSE Linux
Terminal Weather in the Browser

Noodlings | No Linux for 10 Days

20th Noodling, just like the previous, delivered inconsistently!

The 20th cookie sized podcast, but not one of those oatmeal raisin type of cookies, more like something with chocolate chips.

Chinese food containers are a feat of clever engineering. Most people just toss them in the bin once they are done with them but if you stop to look at how they are folded together from wax coated paper, you have to smile and marvel at the ingenuity of this clever, nesting box.

Element | Matrix Chat Client

The Element client makes using Matrix quite enjoyable. Previously, using Matrix was a bit of a lack-luster, almost a science experiment kind of feel to it. Sure, it worked but it didn’t have the polish and great user experience I have using Telegram. I can say, with much confidence, using Element feels like a real product. It feels just as good as any other messaging client. It is still early days for me so it’s still all new and exciting.

Send and Receive Text Messages SMS with Element

Amiga Fast File System Return to Linux Kernel

A component of the Linux kernel for the Amiga Fast File system had been broken that deals with the basic permission bits, protection bits in Amiga OS. The Linux Kernel would only set bits but never delete them.

Max Staudt is the developer that noted this issue and submitted a fix “for good” such that this won’t be an issue in the Linux Kernel any more. He said, “…Linux a nd classic AmigaOS can coexist in the most peaceful manner.”

Linus Torvalds appears to have agreed and the code made it into rc4 of version 5.9 which is slated to be release this month, October 2020.

This is great news for those of us that are vintage tech enthusiasts.

VisualBoy Advance

I was in a situation where I was away from home for an extended period of time. As a result I was separated from my old tech which means authentic hardware to do the more retro style of gaming that I enjoy. While away, I had a hankering for some GameBoy fun to unwind at the end of the day. The application I found, which I ultimately installed from the Snap Store was VisualBoy Advance. The big take away on why this is a great application for playing GameBoy and GameBoy Advance games is the ease of use and how highly configurable it is.

Dell Inspiron 20 3048 Black Screen Repair

Power outage left me with a computer where the LED on the side would show activity but there wasn’t even a flicker on the screen itself. It was out, completely black, no light whatsoever.

Ultimately the issue came to a faulty power supply which tells me that I need to take the time to put in some sort of UPS to protect it in the future. This isn’t the first time I have had issues with this computer as a result of power fluctuations.

No Linux for 10 Days

In my time away from my normal life, I was in a situation where I was without Linux for almost two weeks. I hear of people that consider time away from tech as being “refreshing”. I wouldn’t consider that the case at all but it was enlightening. Using “analog” methods for recording information is super inefficient but it did force me to work on my hand writing as it is atrocious.

Secondly, having to use Windows 10 to do “digital work” was so frustrating, I will say, the points of frustration were not all the fault of Windows 10 but it did make me greatly despise using tech. It confirmed that if Linux went away and I was forced to use Windows 10, I just wouldn’t.

BDLL Followup

There was a discussion about the perfect distribution that dominated the majority of the the conversation. I can easily say that openSUSE fits as the perfect distribution. There isn’t much I would change about it. The only thing I can think is a little polish in Tumbleweed as such that it becomes real easy to do distribution updates, preferably, using Zypper.

openSUSE Corner

openSUSE + LibreOffice Conference

Going on now is the openSUSE + LibreOffice virtual conference. There is one day left but you have to register before participating as to keep out spammers. There are two virtual rooms where talks are given and a workshop room to hack on LibreOffice. Thinking about this, there is an element missing from the event. There isn’t a virtual hall way to get lost in and have random conversations about of topic subjects. Maybe Next time?

It’s nice to see that virtual conferences are still happening. Just because the world has hit a rather large bump, not all the wheels have fallen of of the wagon.

Join our team and help us improve the openSUSE learning experience!

openSUSE is a project that has many parts to it and with the very lively and thriving community, some things can become untidy. The project has multiple distributions, although Leap and Tumbleweed get more of the mind share, things can become a bit overwhelming for someone new to start poking around the openSUSE spaces.

This is why a group of volunteers have taken up the task of improving the learning experience for users regardless of their experience level. We want to make sure that new users can best identify solutions for their requirements and experienced users have the detailed documentation that is easy to access and update.

Any help is welcome for writing, editing, peer-reviewing, video production and testing.

Tumbleweed Roundup

  • 20201008 moderate 90
    • MozillaFirefox (80.0 -> 81.0.1)
    • inkscape
    • kdeconnect-kde
    • libzypp (17.25.1 -> 17.25.2)

https://review.tumbleweed.boombatower.com/

Computer History Retrospective

Computer Chronicles – Super Computers (1984)

Oldest computing machine is the abacus

Massive Parallel architectures was the key feature of these massive super computers. It is interesting to see that the super computer technology of this time is essentially the architecture that would later be adopted by the average home computer, to include your mobile device.

These computers were rated at over 100 million calculations per second. I wanted to get some kind of a baseline comparison to a modern Threadripper but getting actual “calculations per second” isn’t a thing with modern benchmarks. I would be interested in see how one of the old Cray super computers of the mid-1980s would compare to the average gaming desktop computer of today. It’s worth a wonder.

Parallel processing was a big thing with these super computers but the rate of improvement had slowed down and the discussion boiled down to the next breakthrough coming in changing the way things are done and different algorithms to take advantage of greater speed increases.

It was initially by government grants that breakthroughs in super computers came about and once better understanding and more applications were developed for the super computer did the commercial applications jump on board to better simulate a 3D world for testing such as the automotive and oil industry. Ultimately, making the process of being profitable much quicker.

Barriers at the time is building better algorithms to map on a computer’s architecture while at the same time, modifying the architectures to work with the algorithms. There was such a massive number of changes and experimentation in this time. The US and Japanese manufacturers were competing against each other at the super computer level. Both governments investing in the private sector to help with R&D costs. Really a spectacular time in the history of computing.

Final Thoughts

Take some time to appreciate some of the marvels around you. Even something as ubiquitous as a to-go container has an incredible story behind it. Someone or many someones spent many hours engineering the shape and the design of the thing as well as the many hours or perhaps years it took to perfect the manufacturing process. We often take for granted the wonderful luxuries we have.

Noodlings | BIOS Games Serving the NDI™ Plugin

Another prime number… and no the title doesn’t make sense. It’s just a nonsensical way to string everything together.

19th Noodling on a mid-August night

19 Episodes… 19 is another prime number!

Fun facts about chocolate milk can be found here

BIOS Update Dell Latitude E6440 on Linux

My BIOS was 4 years out of date. I thought it was time to update it. I went to the Dell Support page and noticed that they only had *.exe files available. I sighed and was initially frustrated because my initial supposition was that I was going to have to have a working copy of Windows to do the update. 

AntiMicro | Map Keyboard and Mouse Controls to Gamepad on openSUSE

Installed a game called Pokemon Insurgence on Lutris and there was no way to play the game with a gamepad. Rather than try to fight things, set out for an application that would map the keyboard controls to the WiiU Pro Controller that has become my gamepad of choice.

CPU Downgrade

After receiving this message following a BIOS upgrade, I was forced to purchase a lower powered CPU for my AMD Workstation.

OBS NDI™ Plugin on openSUSE

The NDI plugin offers a fairly easy way to send OBS video signal (presumably other applications can take advantage of this too) to another OBS instance on another machine. This can come in handy for numerous reasons such as splitting up workloads between machines by capturing output from one machine, such as gaming computer, to stream with a dedicated unit that interfaces with YouTube.

BDLL Followup

What have you done that would cause you to lose your Linux card

openSUSE Corner

New Prototype Builds Bringing Leap, SLE Closer Will be Available Soon

The release manager for openSUSE Leap, Lubos Kocman, has updated openSUSE’s develop community on efforts to bring the codes of Leap and SUSE Linux Enterprise closer together.

Tumbleweed Roundup

  • 20200805 Stable 99
    • MozillaThunderbird (68.10.0 -> 68.11.0)
      • Several CVEs addressed
    • transactional-update (2.22 -> 2.23)
      • Subpackages: transactional-update-zypp-config
      • Version 2.23
      • Add “run” command to be able to execute a single command in a new snapshot
      • Add “–drop-if-no-change” option to discard snapshots if no changes were performed (BETA, required for Salt integration)
      • Removed previous CaaSP Salt support (gh#openSUSE/transactional-update#33)
      • Avoid “file not found” message on systems without /var subvol
  • 20200810 Score of a moderate 84
    • epiphany (3.36.3 -> 3.36.4)
    • gcc10 (10.2.1+git465 -> 10.2.1+git501)
    • gnome-mines (3.36.0 -> 3.36.1)
    • kernel-source (5.7.11 -> 5.8.0)
    • squid
    • zypper-lifecycle-plugin (0.6.1490613702.a925823 -> 0.6.1596796104.87bdab7)

https://review.tumbleweed.boombatower.com/

Computer History Retrospective

Computer Chronicles – Fifth Generation Computers (1984)

The pioneers in the field talk about 5th generation computers capable of Artificial Intelligence and heuristic learning; giving computers context. In 1984, computers were already being used to make knowledge based decisions.

The Computer Chronicles – Fifth Generation Computers (1984)

Final Thoughts

Take some time to have fun. Good, clean wholesome fun. Go for a walk, enjoy the weather on any day that it is possible. Take some time to cherish each moment, whether it is good or bad, find the positive in the situation and make it a point to say “thank you” as often as possible.

OBS NDI™ Plugin on openSUSE

The NDI plugin offers a fairly easy way to send OBS video signal (presumably other applications can take advantage of this too) to another OBS instance on another machine. This can come in handy for numerous reasons such as splitting up workloads between machines by capturing output from one machine, such as gaming computer, to stream with a dedicated unit that interfaces with YouTube. This has advantages in that you can move the machine doing the heavy lifting into another room or across the room as to not hear the fans and so forth. In my case, my primary machine is getting long in the tooth. I prefer the setup I have as far as the screen layout and height of the computer as well as the location. I use my AMD Desktop / server / workstation machine to talk to YouTube or Twitch directly with that OBS instance and record locally in effect freeing up my laptop from quite a bit of the workload.

The Challenge

At the time of writing, there isn’t an RPM available and the instructions out there along with what to expect seems lacking at best, so, I thought I would take what I know and compile it into one easy, step-by-step guide here for openSUSE. Your mileage may vary depending on your distribution.

Installation

For starters, you need to get the software packages from GitHub.

https://github.com/Palakis/obs-ndi/releases

Download the following:

The version numbers may have changed but you should get the “libndi*” and “obs-ndi*” packages

This is a Debian package meant for Debian/Ubuntu so you may be thinking, “how am I supposed to use this?” …and that is a reasonable question. The solution is a tool that is not often talked about. It is also likely not recommended by most people but I am not most people. That tool is called “Alien“.

To install Alien, navigate here and just click on the appropriate experimental package for your version of openSUSE:

https://software.opensuse.org/package/alien

Alternatively, you can use the terminal method, which will very a bit between distributions

Tumbleweed

sudo zypper ar https://download.opensuse.org/repositories/utilities/openSUSE_Factory/ utilties
sudo zypper ref
sudo zypper install alien

Leap 15.2

sudo zypper ar https://download.opensuse.org/repositories/utilities/openSUSE_Leap_15.2/ utilties
sudo zypper ref
sudo zypper install alien

To explain each of the lines that I am expecting you to put in the terminal because you should NEVER just trust some random commands on the internet. First of all, I stand behind this as CubicleNate, and I do my best to not be wrong and I’d like to keep doing these things. You can also reacho ut to me directly using any of these methods.

Once the installation of Alien is complete. You will have to take the two deb packages previously downloaded and convert them.

Using a terminal, navigate to the location of the downloaded packages and run the following

sudo alien -r libndi*.deb  
sudo alien -r obs-ndi*.deb  
sudo zypper in ./libndi*.rpm obs-ndi*.rpm

Now your are ready to set up OBS!

OBS Setup

Using this reference, I made the adjustments to my firewall but it didn’t work. Perhaps I am missing something and I would love to edit this article accordingly but opening up both tcp and udp ports 5960 through 5968 as well as having the mDNS port active did not allow me to utilize the NDI plugin with firewalld active. Either the documentation is out of date, in correct or there is a user error on my part and I couldn’t find the appropriate logs to tell me otherwise. Therefore, I just deactivated the firewall on both the source and destination machines.

sudo systemctl stop firewall

This is the point where you should be sorely disappointed with these instructions but again, I would like to improve this and will gladly listen to any input.

The next step is to open up OBS-Studio (v25 and latter is required) on both machines. On the source machine, go to Tools > NDI™ Output settings

Then set the output preferences. In my case, I had not interest in sending the “Preview Output” only the “Main Output” and label it with the hostname; just in case I might do this with another machine.

On the Destination OBS machine, you have to add the NDI Source. This is just one of the many options you have available as a source.

For the source name, select the drop-down and the appropriate available source. I didn’t mess with any of the other settings so your mileage may vary on this portion of the instructions as well.

And that is it. Your NDI Source is just another input like a webcam or video signal and you are off to the streaming or production races.

Final Thoughts

The whole firewall thing has me a bummed out a bit. I have wrestled around with it far too long but at least I know that lowering my “shields” will allow for transporters to work. Not ideal but I am within my firewalled off house, I just happen to like security in layers.

I want to note that the latency on this is VERY low. I mean incredibly low. I have tested this by playing a game on one machine and using the output on another machine with almost no latency perceived. It is quite the incredible technical miracle and I am quite grateful.

I also want to make the vintage computer tie-in. The NDI plugin is developed by Newtek, the makers of the Video Toaster that was very popular on the “big box” line of Amiga computers from the 1990s. So, in a way, I feel like I have a little bit of that incredible Video Toaster tech on my openSUSE machine.

References

OBS-NDI on GitHub
https://obsproject.com/forum/resources/obs-ndi-newtek-ndi™-integration-into-obs-studio.528/updates
NDI Problem Solving PDF

BIOS Update Dell Latitude E6440 on Linux

…Sort of. It didn’t require using Windows

My BIOS was 4 years out of date. I thought it was time to update it. I went to the Dell Support page and noticed that they only had *.exe files available. I sighed and was initially frustrated because my initial supposition was that I was going to have to have a working copy of Windows to do the update. My last Dell Latitude, a D630, the BIOS updates required a lot of fiddling on my part. At the time, I would burn a special FreeDOS CD with the BIOS update EXE on it. I figured I would have to do the same with this computer. The good news is, that is not the case and it could be I am the last person to know this bit of information.

I am not sure how well known this process is, but the good news is, you don’t need Windows to do the BIOS update. Where I went to get the BIOS is here:

https://www.dell.com/support/home/en-us/product-support/product/latitude-e6440-laptop/drivers

I searched for “BIOS”

After a bit of searching, I found this page at Dell.com that explains how to update the BIOS on Linux or Ubuntu systems.

https://www.dell.com/support/article/en-us/sln171755/update-the-dell-bios-in-a-linux-or-ubuntu-environment

In short, the way to do this is to take the downloaded BIOS update .EXE and put it onto a FAT32 formatted USB Drive. It is quite important that you use FAT32.

An easy way to check is to use Gnome Disks, Gparted or KDE Partition Manager to verify.

Once verified that you are indeed using FAT32, copy the BIOS update .EXE to the USB Drive.

Reboot the computer and one the Vendor image appears, press F12 for the One-time boot menu.

Then select BIOS Flash Update.

The flash update tool is a simple GUI. Select the button to the top right with an ellipsis.

Next, you will be presented with a file dialog GUI where you can navigate to the USB drive. Ensure you select the correct file and follow the prompts. If you do not see the file, select the drop-down tool adjacent File System:

Select the appropriate BIOS .EXE then OK

Next select Begin Flash Update.

The big warning is to keep your computer plugged into the “mains” and do not interrupt the process as it could possibly “brick” your system. The process takes a few minutes to complete and the computer will automatically reboot.

Assuming it all goes well, you really shouldn’t notice a difference as the issues being fixed are under the surface.

Just to check, that the BIOS is indeed now updated. I ran this in terminal:

> sudo dmidecode --type 0

Then you will get the resulting output.

# dmidecode 3.2
Getting SMBIOS data from sysfs.
SMBIOS 2.7 present.

Handle 0x0000, DMI type 0, 24 bytes
BIOS Information
       Vendor: Dell Inc.
       Version: A24
       Release Date: 06/13/2019
       Address: 0xF0000
       Runtime Size: 64 kB
       ROM Size: 12288 kB
       Characteristics:
               PCI is supported
               PNP is supported
               BIOS is upgradeable
               BIOS shadowing is allowed
               Boot from CD is supported
               Selectable boot is supported
               EDD is supported
               5.25"/1.2 MB floppy services are supported (int 13h)
               3.5"/720 kB floppy services are supported (int 13h)
               3.5"/2.88 MB floppy services are supported (int 13h)
               Print screen service is supported (int 5h)
               8042 keyboard services are supported (int 9h)
               Serial services are supported (int 14h)
               Printer services are supported (int 17h)
               ACPI is supported
               USB legacy is supported
               Smart battery is supported
               BIOS boot specification is supported
               Function key-initiated network boot is supported
               Targeted content distribution is supported
               UEFI is supported
       BIOS Revision: 65.24

I was just glad to see that 5.25″ floppy service is still supported. Just in case it comes up, I can still utilize it.

Final Thoughts

Due to my laziness and inhibition to use Windows caused me to avoid pursuing updating my BIOS. Dell, on newer systems (~2015 and later), have built in a service to perform these updates outside of the operating system and has removed or eliminated your excuses for keeping your system up to date and more secure.

I am glad I took the time today to figure this out and do the proper thing in keeping my system updated.

References

https://www.dell.com/support/article/en-us/sln171755/update-the-dell-bios-in-a-linux-or-ubuntu-environment
https://www.dell.com/support/home/en-us/product-support/product/latitude-e6440-laptop/drivers
Playing in the terminal | dmidecode

Noodlings | Hardware is for the Terminal

18 is such an adult number. Perhaps I am truly becoming a grown up podcast here.

18th Noodling of mid-summer musings

18 Episodes… 18 is a fun number. Divisible by 2, 3, 6 and 9. The age you can vote in the United States.

LG 29″ UltraWide | Monitor Upgrade and Configuration on Linux

I have historically made my hardware decisions based on price, generally I get what I can get for as low or as reasonable as possible. Basically, I go for free or near-free and fabri-cobble something together. After seeing some other computer setups, I have really thought that I want to be able to function more effectively and efficiently than I had been. One of the areas that I have been less than happy has been my monitor layout. I have been pushing 3 displays with my Dell Latitude E6440 and for the most part, it has been meeting my needs but there were some work flows that have not been working out so well.

Tmux Terminal Desktop

I can’t say that I ever spent my childhood wishing I had the ultimate terminal desktop but the more I have played on Linux, the more I have spent time in the terminal and I really can’t explain why I find it so charming. Perhaps it is the low memory usage of the applications? The clever modern implementation of certain terminal applications? I can’t really say, but there is something incredibly charming about the terminal.

Turn off Monitor using CLI

This is another gift to future me from present me. I made the mistake of not properly writing this down before so I had to search for the answer. The problem is, sometimes, it seems as though Plasma is not shutting off my external screens consistently. I can’t say why but I have a suspicion that it is due to a specific communication application as I can almost guarantee that it is preventing my screens from turning off. I don’t have definitive proof of this so I am not going to put it in writing.

BDLL Followup

Keyboards and mechanical keyboard talk

openSUSE Corner

Release Team to have retrospective meeting about openSUSE Leap 15.2

Members of the openSUSE community had two retrospective meeting on the release of openSUSE Leap 15.2 after receiving feedback from the recent survey.

Leap 15.2 Install party @ GOLEM – A quick report

Italian Linux users did an openSUSE Leap 15.2 Launch Party, at the local LUG (it’s called GOLEM, it’s in a small town in central Italy), and Dario Faggioli made a quick report.

Tumbleweed Roundup

  • 20200730 Stable 99
    • MozillaFirefox (78.0.2 -> 79.0) Numerous CVEs addressed
    • snapper (0.8.11 -> 0.8.12)
      • Subpackages: libsnapper5 snapper-zypp-plugin
      • fixed error when using mksubvolume to create /tmp (bsc#1174401)
    • yast2 (4.3.17 -> 4.3.19)
  • 20200731 Stable 99
    • ghostscript
    • kernel-source (5.7.9 -> 5.7.11)
      • iwlwifi: Make some Killer Wireless-AC 1550 cards work again (bnc#1012628).
      • dpaa_eth: Fix one possible memleak in dpaa_eth_probe (bnc#1012628).
      • m68k: nommu: register start of the memory with memblock (bnc#1012628).
      • m68k: mm: fix node memblock init (bnc#1012628).
      • clk: qcom: gcc: Add GPU and NPU clocks for SM8150 (bnc#1012628).
      • ALSA USB-audio bug fix, driver improvements for realtek audio
      • Improvements to USB Serial
      • Intel_th added support for Jasper Lake CPU
  • 20200803 Pending Score of a Stable 93
    • aaa_base (84.87+git20200708.f5e90d7 -> 84.87+git20200507.e2243a4)
      • Too many improvements to list but suffice to say, lots of code cleanup and bug fixes
    • adwaita-qt (1.1.1 -> 1.1.4)
    • dnsmasq (2.81 -> 2.82)
    • polkit (0.116 -> 0.117)
      • memory management fixes
      • read-only-root-fs (1.0+git20200121.5ed8d15 -> 1.0+git20200730.1243fd0)
    • As an aside, bluetooth audio is properly working again.
  • 20200804 pending Stable 97
    • iso-codes (4.4 -> 4.5.0)
    • ncurses (6.2.20200613 -> 6.2.20200711)
      • fixed pound sign mapping in acsc
      • additional changes for building with visual Studio C++

Computer History Retrospective

Computer Chronicles – Printers

At this time, printers were divided up in two classes, impact and non-impact. Emerging technology in in laser printers was being developed.

Final Thoughts

Life can be full of surprises, sometimes you can get a curve-ball thrown at you. It might really throw a wrench in your plans and mess up your plans in life.

Don’t put it off, don’t ignore it. Face that challenge head on. Begin immediately on unwinding the bailiwick. I promise you won’t regret that decision.

Turn off Monitor using CLI

This is another gift to future me from present me. I made the mistake of not properly writing this down before so I had to search for the answer. The problem is, sometimes, it seems as though Plasma is not shutting off my external screens consistently. I can’t say why but I have a suspicion that it is due to a specific communication application as I can almost guarantee that it is preventing my screens from turning off. I don’t have definitive proof of this so I am not going to put it in writing.

My intent is to have a shortcut for turning off all my screens instead of just locking them and hoping that the desktop environment will do its job of turning them off. I do want to point out that when I was using Windows, both 7 and 10, I had this problem too so it is absolutely not an issue with Desktop Linux.

It is fun being able to understand how to talk to a Linux machine through the terminal using the CLI (Command Line Interface). The more you know about how to work with it, the more you will ultimately enjoy your journey in Linux. Here is my solution.

The Commands

The commands I found out there in the vastness of the world wide web lead me to this that I have tested on multiple machines. Two were running Tumbleweed with Plasma and the other Leap 15.2 with Plasma.

xset -display :0 dpms force off

The other command is to force the screen on. This is useful as I have had issues where after undocking my machine, my screen would forget to turn on. I can’t say the reason why but this could also use a Global Shortcut

xset -display :0 dpms force on

The Script

I created a little shell script for turning off my screen called screenoff.sh. I can’t say for sure how all distributions handle this but I have a bin directory in my home folder, so this is where I have chosen to place this script. ~/bin

Using nano, I created a bash script for this.

nano ~/bin/screenoff.sh

Then filled it in with this information

#!/bin/bash

sleep 1
xset -display :0 dpms force off

The purpose of the sleep 1 line is to give me a chance to get my hand away form the keyboard and mouse so I don’t inadvertently cause the desktop environment to wake the screen.

Next I made the file executable. There are many ways to do it but since we are playing in the terminal:

chmod +x ~/bin/screenoff.sh

To test this out, using krunner or open a terminal and type screenoff.sh should turn off your screen. If not, something is wrong and maybe we can figure it out…

Custom Shortcut

It is not real practical to open up krunner or a terminal just to shut off the screen when I have the power to create a custom shortcut in Plasma. Here is how to do it. First open up System Settings and choose the shortcuts module. Your system settings may look a bit different but I am sure you can figure it out. I have faith in you.

Next you have to select the “Custom Shortcuts” submodule.

At the bottom of the list there is an Edit button with a down arrow. Select that > New > Global Shortcut > Command/URL

Name it whatever makes sense for you. I chose the name “Screen Off” to make it pretty clear. Set your shortcut. I chose Meta+Alt+O.

Next, Select the Action tab and enter the path of the script you just created. In my case, it is:
~/bin/screenoff.sh

Select Apply and test it out!

Final Thoughts

Plasma is real easy to customize to your liking. I am very happy with this small modification to make my desktop experience a bit more suited to my personal taste. I don’t expect that this is a very common use case but since I know I am an edge case in much of what I do, this helps me to remember and hopefully there will be at least one person that can use or adapt this to their own case.

I am not a terminal expert so if there is any way that this can be improved, please contact me or comment below

References

Terminal Applications
https://askubuntu.com/questions/62858/turn-off-monitor-using-command-line
https://unix.stackexchange.com/questions/16815/what-does-display-0-0-actually-mean