The COVID19 pandemic had multiple impacts on everyone personally and I have to admit that mentally it was difficult for me to not be able to leave the house and go to the mall or dine out. However, the time at home did allow me some time to clean-up the home office space and do some upgrades. This space has become the work space and I spend at least 50% of my time now in my home office.
Connectivity & Networking
The first significant upgrade was to our Internet. The DSL connection that we utilized for more than a decade was not capable of providing access to work VPN connections, online schooling sessions, and streaming. We had to utilize cell phones for work VPN connections and even then, the internet was spotty and unusable most days. Lucky there was a new ISP in town that was providing fiber connections and so a few weeks into the Summer, we upgraded to a new, faster internet. This allowed us to VPN for work and at the same time allow for Zoom school sessions. We have two network access points in our house. These were eventually upgraded as well. The current models are a NETGEAR Nighthawk AX5400 and a NETGEAR Nighthawk R7350 AC2400. Both of the wireless access points are wired. I try to keep most devices wired, so the access points see mostly mobile device traffic. My work laptop is wired, but the rest of the family mostly use wireless connections, but can connect directly to the access points for faster connections if they need to. The access points, along with a firewall, network switches all keep up very well with the new faster internet connection. Note that a previous NETGEAR Nighthawk (R7000) – AC1900 access point limited the upload speeds of my new 100Mbps connection.
It is simply amazing to be able to download an Apple update and watch HBO Max in 4K all at the same time.
Displays & Screens
The 24-inch monitor is the standard, the 27-inch monitor is the better upgrade, and the 32 or higher is not affordable: all of these are better than anything your work laptop has though. Monitors are weirdly frustrating and at the same time amazingly cheaper these days. However, my eyes have not gotten better, but worse as I mostly look at text all day long. Achieving crisp and readable text on a screen is a combination of science and art. If you utilize Windows 10 and MacOS X, you will see that Microsoft and Apple have different ideas on how to achieve this. MacOS X provides shadows and stresses the shape of the font letter as it scales, while Windows focuses on accurate pixels and scales worse in my opinion.
The frustration for me is that on a 27-inch monitor that has a display resolution of 2560×1440, is that I can’t really see fonts very well in Windows10. Changing the font scale to 125% makes fonts more readable but then throws off the size of Window elements. Windows10 just looks bad to me at this resolution and scale. I have thought about getting a 27-inch monitor with a typical FHD resolution of 1920×1080, but this seems like going backwards to me technology wise. The other option is to try a 27-inch 4K monitor or a larger display with the same display resolution of 2560×1440 with 100% font scaling. These options are more expensive and may introduce other problems such as dock connections, video card limitations of my work laptop.
At this time, the current setup consists of two Dell Ultrasharp U2719DX 27-Inch IPS Monitors connected via one display port cable to an OWC 14-Port Thunderbolt 3 Dock (OWCTB3DK14PSG). This is an excellent setup, as you connect the first monitor to the dock and then there is a display port out on the first monitor that you then connect to the second monitor. There is a setting you have to change on the display itself to make this work for an expanded display; by default the two monitors will come up in mirror mode. Similar to HDMI connections, DisplayPort connections to a Thunderbolt Dock are not perfect. Occasionally one of the monitors will come up in a lower resolution and the only solution that I can find is to disconnect the laptop from the dock and reconnect it. It is annoying when it occurs, but other than that it works well. Thunderbolt has its own strangeness. The display connections just work, but the rest of the dock can be disabled depending on your laptop settings in the BIOS/firmware. Security settings for Thunderbolt can disable your dock ports by default, except for display connections. Different docks will also have different display ports, so pay close attention to what ports are available for displays and I won’t even get into the whole cable discussion of what USB-C, Thunderbolt cable to get.
After taking an inventory, I found that pretty much everything I have for input devices is about one company: Logitech. Although I do not think Logitech has the best quality in hardware and software, they do seem to make affordable devices and I tend to gravitate to Logitech no matter what other brands I find on Amazon.
For pointing and clicking, my favorite mouse is the Logitech M720 Wireless Triathlon Mouse. What this mouse has over the competition is the bluetooth connectivity. Forget using the transceiver and instead utilize the bluetooth feature on your laptop that is probably not even being used. I have switched the rest of my computers to this mouse. It just works and feels solid compared to anything cheaper.
The most used device of all is your keyboard. It is the device that you first touch to begin your workday and it is the most neglected of all. From dust, to cookie crumbs, most of us don’t even clean the keyboard and it shows. Think about your hands and how badly they can suffer from a cheap keyboard or that terrible laptop keyboard, and you will soon discover that investing in a new keyboard is the best thing you can do for your work space. After trying a few cheaper gaming keyboards, on a whim I ended up treating myself with a Logitech G915 Wireless Mechanical Gaming Keyboard (Tactile). This keyboard is wireless and it will last about 2-3 days without a charge, but for the most part I keep it wired to the OWC Dock. The upsides with the G915 is that it has lighted keys, so I can work in dimmed light. It is super responsive to my typing and overall construction is heavier than the cheaper keyboards out there. If you do not care for the wireless feature or the full size layout there are cheaper models to choose from in the Logitech G line. I have to state that the G915 is the best keyboard I have ever used and I would have a hard time switching to something cheaper. The minor issue I do have with it is that some of the keys are only partially lighted: the “?/” key for example only have the slash lighted.
Lighting is still on my list of things to change. I have typical LED tube lighting and it feels harsh on most days. I am picky about lamps and so I have not really found the perfect lighting solution for the office.
The Desk has not changed since 1996. I am still using what I had in college. I’ve considered doing a butcher block desk similar to one I put together for my son, but after looking at the time and effort I put into that project, along with the prices for wood lately, I have decided to forestall this for a bit longer. Plus I have a garage that needs a lot of work of late, so that will probably need a work table.
In closing, I hope this gave you some ideas about what to look at for your home work space.
Over the Summer I got a new MacBook Pro 16 to replace my current MacBook Pro from 2010. Due to the COVID19 pandemic, I had to start working from home full time, so my home office has had to go through a lot of changes to accommodate this change. This has meant, that my new MacBook has been sitting in a box for a couple of months while my desk has been taken over by my work laptop. The other hesitation has been Apple; they have been focused on iOS 14 and product launches around it, that MacOS 11, otherwise known as macOS Big Sur was released in the Fall instead of late Summer. Now with macOS Big Sur 11.1 installed, I have been slowly moving over to the new MacBook.
The first real problem I have encountered has been with my Lexmark E260dn monochrome laser printer. Lexmark no longer provides updates for this printer and since the printer still works fine and I use it sparingly throughout the year; I see no reason to replace it. The E260dn replaced a similar Lexmark printer, which died a few years ago, unexpectedly on the day I needed to print some tax documents. I suspect a power surge or electrical short killed the board. Upon downloading the printer drivers for MacOS X from Lexmark, running the installer, and adding the printer in System Preferences – Printers & Scanners, and then attempting to print an email, I got a Filter Error in the Printer Status.
After researching the problem, I was able to to fix the issue.
Reset Printing System
First open up System Preferences – Printers & Scanners. Hold down the Control key and drag your pointer over the Printers area. The option to Reset Printing System will appear. Go ahead and click on the option.
Download Lexmark Drivers
You will need to get the last updated drivers from Lexmark. Here is the direct link to the download page: Print Driver for 10.6.8 and later Mac OS. Once you agree to the download, open the installer and run through the installation process.
Add Lexmark Printer
In System Preferences – Printers & Scanners, click the plus sign and add your printer. It should come up and you should see it added. If you try to print something, it should result in the Filter Error.
Use the Go to Folder… option under the Go menu to open the following location: /Library/Printers/Lexmark/filter/
Next you will need to edit the file psoptionreroute with a text editor. I recommend using BBEdit, as it will let you modify system files easily. Right Click on the file and choose Open With – Other and choose BBEdit. In the file psoptionreroute, look for the line:
use POSIX qw(tmpnam);
Comment this line out by adding a pound sign in front of it and then directly underneath add the text below:
use File::Temp qw(tmpnam);
File and Save and close the file. At this point, go ahead and attempt to print something and the error will no longer appear and you should hear your printer turning on and spitting out a page or two. Further discussion on this issue can be found on the Apple Support Forums.
There is a defect with pfSense 2.4.5 and the Package Manager. When installing, upgrading, or removing packages, the process will not complete. For the Squid package, I did the following to upgrade:
- Stop the Squid service
- Attempt to upgrade the Squid package
- Wait until the process stalls
- Use Putty to SSH into the pfSense firewall
- Select the SSH option
- Execute the command to kill the Package Manager and then Exit
killall -9 pkg-static
Reference the following forum post on the Netgate pfSense forum for more info.
Some of us prefer the Red Hat flavor of Linux to the Debian and Ubuntu distros. Although CentOS is a very stable system, you do run into issues like any other operating system. Here is an issue that I encountered on my CentOS 8.1 web server, while trying to fix something else.
Modular Dependency Problems with Perl
Running a dnf check would result in the following messages.
Modular dependency problems:
Problem 1: conflicting requests
- nothing provides module(perl:5.26) needed by module perl-DBD-MySQL:4.046:8010020191114030811:073fa5fe-0.x86_64
Problem 2: conflicting requests
- nothing provides module(perl:5.26) needed by module perl-DBI:1.641:8010020191113222731:16b3ab4d-0.x86_64
The fix was to run the following command:
#yum module enable perl:5.26
After this, I reran the dnf check and the dependency problems were gone.
In software development, planning is a necessary component regardless of whether one takes a traditional waterfall methodology or adopts a more agile mindset, such as SCRUM. As a project manager or scrum master, you often have to estimate how long a software release or product will take to develop. Given a set increment, such as a two-week sprint or calendar month, and the number of development units you have, it is possible to plan out a software project and estimate how much work can be completed. This estimation work is one of the many things that Microsoft Project excels at, however not everyone has Microsoft Project. Instead, you can use Microsoft Excel to do this type of work and achieve similar results.
Calculating Development Capacity:
To start with we have Development Units. This is a measurement of dedicated development hours which is what most project managers deal with in Microsoft Project, or you can substitute hours for Agile Story Points. For my example, I will utilize story points, but either hours or points will work.
Next we need to know the number of development resources that we will have available to us by Sprint or by Month. For this example, I am going to use 12 months (January through December).
The next value that we will need is how many units a single developer can complete in a given month.
Inputting these values into a table, will give us an estimated capacity for the project.
What we need next is the set of stories and their corresponding unit values. For this, we start with 49 sample stories, each with a different unit value, in this case story points. Our stories will be completed sequentially in Excel, and their story points will be totaled as we progress. This summary is used to calculate what month the work will take place in. If we are over the sum capacity of the 12 months, then we would have exceeded our percentage capacity and note this as “Over Capacity”.
We either can remove stories or increase the number of developers for a given month.
To do this in Excel, I created a Calendar worksheet with a table that listed out by month, the number of developers, the estimated velocity, and incremented story points. The calendar table does simple addition and subtraction. You can change the number of Developers and outside of the table, there is a value of Story Points per Developer that can also be changed.
In cell A4, we have 32 story points which we have already completed at the beginning of March. For the month of March we have an estimated capacity of 16 story points. Note, I have set the Story Points Per Developer value to 4 for this example. With the Calendar worksheet completed, we have a good overview of what our capacity for the next 12 months will be. We can now move on to story planning.
Next I added a Story Planner worksheet with another table that lists out the planned stories and estimated points. The Story Summary incrementally sums up the story points.
For the Estimated Month, a VLOOKUP formula evaluates the story points to the values in the calendar table. The IFERROR is used to display Jan instead of #NA values.
The Capacity column calculates a percentage and if over 100%, displays a warning message, to let me know we are over our story points.
The formula uses the IF function to display the percentage if it is less than 1, or display Over Capacity message. You can also apply percentage formatting to the column to make it appear like in the example above.
=IF((D2/Calendar!$A$14)<1, (D2/Calendar!$A$14),"Over Capacity")
Microsoft Excel is a very versatile tool and this tutorial illustrates some simple planning techniques that can be done using a couple of tables and some basic formulas. I have made a version of the Excel file, to use as a starter template: