• Linux
  • May 2024
    M T W T F S S
     12345
    6789101112
    13141516171819
    20212223242526
    2728293031  
  • Meta

Penultimate Day 2023

I guess I was busy this year. I messed around with bash scripts a lot; writing them, modifying them, and even abandoned a few.

When I first changed my GitHub access to use SSH, I couldn’t get it working right, so I put it aside for a while, and eventually set up a local Gitea server (October 2022). This past October, I found some information that finally made GitHub usable for me again. Since my scripts repository hadn’t been touched in well over a year, I deleted all of it, and pushed some of my current scripts to it. I’m not putting all of my bash scripts on GitHub, only some that I think might be useful to others. A lot of my scripts are specific to my personal computing environment.

In the past few months, I’ve been messing around with tar as a means of archiving my financial records and my scripting projects. Now I have several incremental backups running every day. I was kind of surprised at how easy it is to work with and setting up the incremental backups was relatively painless.

Speaking of backups, I did a lot of work on my backup script based on Joe Collins’ script. I set it up mount the USB backup drive if it’s not automatically mounted. I needed that capability on my Debian i3 machines until I found a utility that would automatically mount USB drives. For a few machines where I take regular snapshots, I have it set up to recognize if the correct backup drive has been attached. I also replaced the original nested if statements with case statements for better efficiency.

Another small project of mine was to write a couple of scripts to work with downloaded ISO files. When I download an ISO from a distro’s web site, I also down its SHA checksum. My verify-iso script verifies that the checkums match. The write-iso script writes the ISO to a thumbdrive using the dd command. The scripts lists the available files and the writing script lists available removable media that can be written to.

I’ve been expanding my use of i3 on Debian. I have several laptops and a couple PCs running it on Debian 11 which I plan to upgrade to Bookworm. On the Bullseye system, I originally used Bumblebee Status as my status bar, and I’ve replaced it with Polybar. I have one laptop with an external monitor attached to play around with i3 on multiple monitors.

My son bought my wife a new computer for Christmas, and I had the pleasure of setting it up. It wasn’t nearly as painful as it used to be when I built them. Even copying her files over went rather well. Her Windows 10 computer had been acting up a lot for a while. It was slow and would often lose its network connection and the connectinons for everything else on that switch. A couple of months ago, I started setting up Linux Mint on one of my better machines, getting ready for the day her Lenovo finally died. The new machine is working well for her. It’s running Windows 11 Home which is adequate for her needs and works well in my network environment.

Penultimate Day 2018

The past year kept me busy with a lot of little tech projects, programming, scripting, networking, and honing my Linux skills.

Writing Code

Probably the biggest thing for me was the revival of my interest in writing code. This summer I found a couple of notebooks containing some of my source code from my college days Of particular interest was code from a 1998 Computer Engineering class for which I wrote a couple of programs to count logical lines of code. The Function Lines of Code (FnLoC) program I found wasn’t the latest version I’d written but I typed it in to an editor and compiled it.

Then I started improving it and resolving some of the problems it had. One of the big changes I made was to replace the stack holding the function information with a singly linked list. With the stack, the function data was displayed in the reverse order of how it appeared in the code because the last function was the most recent addition to the stack. My implementation of the linked list added new data to the end of the last and displayed it from the beginning so the functions are listed in the same order as they appear in the source code.

I also fixed problems with properly identifying and counting function headers that spanned two lines. If a function header needs to be split (a practice I try to avoid), both lines will be copied to the linked list and later displayed in the output. The two lines are counted as one logical line of code.

There is still a problem with how the program deals with multi-line data structures where the data is comma delimited as in arrays. Currently, mult-line array declarations are counted as two line, regardless of how many lines are in the declaration. One of the challenges I face is differentiating a function from a data strucuture while parsing a line of code.

As part of the FnLoC project, I created a Bash script wrapper for the program which displays the program’s output to the screen as it writes it to a file. I also learned out to create a .deb package to distribute it to Debian/Ubuntu-base distributions and wrote scripts to install on other Linux distributions and on Windows. I also compiled it on Windows 7.

I’ve also been doing some other coding to keep in practice but haven’t found myself another project yet.

Bash Scripts

I continued to write Bash scripts to do several tasks for my own use and I’ve been adapting others’ scripts (particularly Joe Collins of EzeeLinux) to fit my needs. Among the scripting highlights were scripts to insert headers and licenses into existing scripts and to use templates to create new scripts and source code files.

I also created other scripts solved routine problems like renaming file extensions or file names to make them more readable or to conform to naming conventions.

Conky Scripts

During the year I found that due to changes in conky in Mint 18.x and Ubuntu 16.04 repositories, my conky scripts weren’t functioning right.I wrote a new and simpler base script and applied it to my systems. Since developing my conky scripts is no longer a priority, I removed the Conky Configuration page from the blog. I rarely have much need to tweak them any more.

Recently, I created a script to take a template file, fill in the appropriate device names, create the .conkyrc file, and make a copy of it in a designated folder. Then I expanded on the script to install conky and the conky.desktop.

GitHub

In late November, I discovered that I had set up an account on GitHub. I have no recollection of when I did this but since I had it I figured I may as well use it. I found some tutorials on-line and set set up git repositories on my main computer and on my GitHub account. Presently I have two repositories on GitHub – FnLoC and bashscripts.

Windows

Although I’m primarily a Linux user, I still maintain a few Windows machines. On my Windows PC I installed CygWin and MinGW mainly to use rsync for external backup and to compile C source code, respectively. I still have a small number of tasks I do on Windows so I keep a Windows 7 PC around just for that. The rest of the family still hasn’t converted yet. I avoid using Windows 10 like the plague.

Installations

Throughout the year I did several installations of both Linux and Windows. I set up Windows 7 on laptops as gifts for my son and my daughter-in-law and set up a Windows 10 laptop for my grandson. I also put Windows 7 on a machine to replace an older machine. And I set up various flavors of Linux on laptops to try them out.

Near the end of the year, I replaced the aging Dell laptop I keep by the rooter with an HP EliteDesk 8300 USDT. I had intended to install LMDE 3 on it but had some issues with the UEFI partitions so I ended up putting Mint 18.3 on it and letting the installer set it up with a single partition.

A few days later I did get LMDE 3 installed on a desktop mini which is working out very well. It has an issue with sourcing my .profile in the GUI login so my ~/bin folder wasn’t showing in in the path. I had to configure the terminal to login in as a login shell. It’s a work around and something I’ll hope they’ll fix.

Just after Christmas I decided to reinstall Mint on my Lenovo PC. I decided that I was never going to use the Windows 10 partition so I reclaimed that disk space. I struggled with getting the partitions set up to work with UEFI and I somehow managed to disable it and get Mint 19.1 on it. Getting my applications installed was a struggle too. You can read the details in a previous post.

Employment

From mid-January through the end of October, I was again employed by The AME Group, working part-time on the Kettering Health Network project to upgrade their systems to Windows 10. I generally worked four evenings a week imaging computers and tracking the computers that weren’t going to be used in the upgrade. I was able to purchase some very nice computers dirt cheap so I have a nice collection of laptops and ultra-small form factor desktops to play around with.

I stopped working at the end of October because I was nearing my income limit where it would have affected my Social Security benefits and I wanted to get some things done around the house. They are hoping I will return after the first of the year. I’m thinking about it because I could use the extra money. However, I’m not sure I want to do the four-day work week again because I found that I really didn’t have as much time to get things done as I would have liked. I’m thinking a three-day work week for between 18 and 24 hours a week would suit my needs well.

2019

In the coming year, I expect to be doing more with Linux along with building up my coding and scripting skills. I’ve got a couple of small projects in mind.

  • Installing LMDE 3 on my HP EliteBook 6570b. I have 18.3 on it now and it’s working well but I want to work with LMDE more.
  • Do more with virtual machines – distro testing, programming environments, testing scripts, and Windows tasks.
  • Finding more coding projects, either C programs or Bash scripts. I’m sure I’ll find things that pique my interest or a problems in need of solutions.

Penultimate Day 2016

Today is December 30, 2016, the penultimate day of the year, a day I review and contemplate the events of the year and, hopefully, set goals and intentions for the coming year.

After AME lost their contract with Premier Health at the end of October last year, I had very little desire to reenter the job market so I really didn’t put much effort into looking. I did enough to collect my unemployment benefits. In late January a former AME colleague reached out and asked me if I knew anyone who might be interested in doing a short-term refresh project. I told him that I’d be interested. What I had expected to be a four to six week project, stretched into about three months. It helped me got through the interim until my retirement officially began.

The work wasn’t difficult though there were some challenges. Working the project did renew an interest in upgrading my own computers and network. Most of the upgrades were simple things like adding memory or updating operating systems.

My wife’s computer, a Dell Optiplex 780, was having a number of issues. I had planned to use the Lenovo M91p I’d purchased from AME as my own PC but decided to use it to replace her Dell. I put Windows 7 on it and brought it up to 24GB of memory. I added more memory to the Dell and used that as my Windows 7 PC. I put Mint on the Ultra Small Form Factor Optiplex and put it in the network corner. Finally, I brought my HP up to 16GB.

I had been using using my Linksys router as a wireless access point for quite a while. I thought about and researched the idea of using a Linux-based PC as an access point until I found a good deal on a refurbished D-Link access point. That’s been working quite well. I thought about setting up the Linksys router behind the AT&T gateway device as a guest WiFi on a separate network. I haven’t done it but I’m sure I will eventually unless I switch back to cable for my Internet access. If I do switch providers, I’ll set it back to defaults, turn off the wireless, and use it as my primary router.

I modified the conky script that I run on my Linux desktop to display network information only for connections that were active. Now I don’t have have separate configurations for desktop PCs and laptops. See conky modifications for details. Installation and configuration is fairly simple but I might try to write a Bash script for it.

I did do a major cleanup this year and donated my excess computers and computer parts to Project Access. I probably still have too many computers. I guess some of them still have some sentimental attachment.

Over the course of the year, there were a number of issues with hosted email. While I have resolved the issues with the host, I still haven’t resolved the problems with my email client. I’m working on getting as much moved over to my Gmail account as I can. I keep thinking about dropping the mojoreisen.com domain entirely. I’ve also been reevaluating my need for a hosted site but that’s still very much undecided. I should look at what content I have on rbromig.org and mojoreisen.com and purge some things. The blogs can be moved to WordPress.

During my brief period of employment, I took it upon myself to learn the basics of Bash scripting. I’m not nearly as proficient with them as I am with DOS batch files but I created a few useful scripts that I use regularly.

Looking to the new year, I’d like to my current computers with more up to date equipment. My HP desktop has a few little quirks and something faster with more memory would be nice. I’d like to play around with virtual machines. A better laptop would be nice too. The Dell is a bit heavy and a memory upgrade for it really isn’t very economical. If I could find a powerful enough laptop with a dock, perhaps I could eliminate the need for a desktop machine. Of course, I would need money to do these upgrades. As much as I loathe the idea of reentering the world of OPCP, I may find myself doing that, at least on a part-time basis.

Found another project

Yesterday I was looking into alternatives the the 2Wire 3802HGV that AT&T provide with my U-Verse package. It turns out that I could upgrade to the Pacer 5081NV gateway as long as I don’t have the U-Verse TV package (which I don’t). It’s supposed to be about $100 from AT&T which seems affordable.

Researching the matter a bit further I found a lot of information on setting up a router inside the AT&T Residential Gateway. Looking at the material, it doesn’t look like it would be very difficult. It seems that they actually made it easy to “bridge” the 2Wire gateway to allow a second router and have the inside router handle the DHCP and WiFi for the interior network.

I would have to change my network structure so that the inner network was something other than 192.168.1.0. That shouldn’t be a big deal. I can make it 192.168.0.0 or maybe something in the 172.16.0.0/12 area. I only have two static address – a printer and a NAS.

Now I’m looking for a router that supports 802.11n, preferably in the 2.4 and 5GHz ranges. Now I almost regret giving Ryan my Linksys N-router after I switched to U-Verse. I’ll be looking for something economical. I don’t need a lot of extra features; the basics will probably do just fine.

Here are some links about setting up a router inside a AT&T gateway:

Pseudo Bridge AT&T Uverse 3801HGV Modem (RG) to a Router (video)

Putting the 2Wire 3801HGV (AT&T UVerse) Residential Gateway (RG) into Bridge (Passthrough) Mode

Adding a third party router behind an ATT Uverse 3801HGV

Setting up Cisco Router behind the AT&T 3801HGV Router

The video was well done and showed every step clearly. That’s probably the method I’ll try first.

Technology Update (08/08/11)

Not much has changed since the last couple of posts. The Cisco switch, the Linux Server, and the Windows print server are still sitting idle. I just haven’t felt motivated to do anything with them. My Windows PC is up and running and I’ve got some applications installed. I’ve been using it for finances and music. I still have yet to install the hardware/software for converting LPs or the software I was using on the W2K machine. I haven’t installed the slide scanner either. Geekiness isn’t as high a priority as it used to be.

Well, I did move my cell phone into the 21st century. I moved up to a Droid X. So far, it’s pretty good. There’s been a bit of a learning curve and I really haven’t begun to get into its capabilities and I’m occasionally overwhelmed when it’s not as intuitive as I’d like it to be but I’m getting there. In my perusing of various Droid-related forums, I’ve been less than impressed with their helpfulness. I often find several possible fixes for my problem but invariably they’re written with the assumption that I’m as geeky as they are and I know what the fuck they’re talking about.

No, I don’t soar with the ubergeeks. I don’t think I ever did. I am not awed by technology. I view technology as a set of tools. Tools, by their very nature, exist to be useful, to perform a function and perform it well.

My rules for technology:

  1. It must work and perform its intended function.
  2. It must simplify tasks.
  3. It must be reliable.
  4. It must be intuitive (user friendly).
  5. It must not cause additional stress.
  6. It must not succumb to feature creep. Every feature should be necessary.

What’s annoying me most about my Droids right now is that I haven’t found a good vehicle mounting system for it. A suction cup on the windshield makes it unreachable. A disk mounted atop the dashboard places it too high and in the line of vision. The vent mounts haven’t worked out either. I find them difficult to mount in the vents and they tend to fall out or get in the way. I’m looking into a cup holder mount which might work alright for the truck but not so well for the car since the cup holders are back further. There must be a practical solution for this.

Relocated

Recently I’ve noticed that I’ve been unable to reach my web server through the Internet. I’ve also been having issues with the server shutting itself down unexpectedly  I’ve got a lot of other things going on that require my attention and I just don’t feel like messing with it so I created a new blog here. I can still access the files from my LAN so eventually I may repost some entries. I’ll move the other content from my public_html directory to my hosted site and fix the links on my blogs and web sites.