Lexmark E260dn Filter Error on MacOS Big Sur

Lexmark E260dn ErrorOver 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.

Modify Settings

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.

pfSense 2.4.5 Package Manager Defect

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:

  1. Stop the Squid service
  2. Attempt to upgrade the Squid package
  3. Wait until the process stalls
  4. Use Putty to SSH into the pfSense firewall
  5. Select the SSH option
  6. 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.

CentOS 8.1 Modular Dependency Problems

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.

#dnf check

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.

Software Estimation Plan

Microsoft Excel IconIn 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.

Story Planning:

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.

Excel Template:

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.

Excel Software Calendar

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.

Excel Software Story Planner

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.

=IFERROR(VLOOKUP(D2,calendar,4,TRUE),”Jan”)

The Capacity column calculates a percentage and if over 100%, displays a warning message, to let me know we are over our story points.

Excel Software Story Planner at Capacity

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")

Summary:

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:

JIRA Scrum Dashboard

JIRA Story IconOver the last year I have utilized Atlassian’s JIRA issue-tracking system for monitoring the progress of various scrum development teams. JIRA is a very versatile tool for Agile software development, however, like any other tool, the more you use it the more you find out about its limitations. In regards to scrum, I find the Active Sprint Board view to be rather cumbersome to use, if you are working with a large number of stories and sub-tasks. What we use instead for our larger teams, is a JIRA Dashboard. This allows us to view all the work in one screen and allows project managers to monitor the sprint progress as well.

Display Current Sprint Overview

To start with you will need to create three filters and share them with the project. The first filter is to retrieve all stories and task tickets for the current sprint. The next filter retrieves all sub-task tickets for the current sprint. The last filter is to retrieve any open bug tickets; this may be optional on how you handle defects in your project.

project = PROJ-X AND issuetype in (Story, Task) AND Sprint in openSprints() ORDER BY Rank ASC
project = PROJ-X AND issuetype = Sub-task AND Sprint in openSprints()
project = PROJ-X AND issuetype = Bug AND status != Closed

Now that we have our filters, we will create a new dashboard. I personally prefer the middle layout which gives you a smaller left column and larger right column; however you can choose whichever layout you prefer.

JIRA Dashboard Layouts

For the right column, add three Filter Results gadgets. Using this gadget, we can display Stories, then Sub-tasks, and then any open Bugs. In the Filter Results configuration, set the following columns to display for Stories:

  • Issue Type
  • Key
  • Sub-Tasks
  • Summary
  • Epic Link
  • Story Points
  • Status
  • ∑ Progress
  • Assignee
  • Linked Issues

For Sub-Tasks and Bugs, you do not have to add as many fields, but you can see what works for you based on the fields listed above.

On the left column of the dashboard, some recommendations would be to add the Sprint Health gadget and Sprint Burndown gadget. I also recommend adding the Issue Statistics gadget to display Status for Stories. Although I am not a fan of the Pie Chart Gadget, you can also add this on the left column to display Sub-tasks and the Assignees.

When complete, this overview dashboard will provide a quick and easy view of the scrum team’s current sprint work. It is great for reviewing before or after standup meetings, or for product owners who need to monitor specific stories.