by WebKeyDesign | May 14, 2020 | Linux, Webmastering
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.
by WebKeyDesign | Jan 1, 2019 | Project Management
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.
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.

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.
=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.

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:
by WebKeyDesign | Oct 16, 2017 | JIRA
Over 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.

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.
by WebKeyDesign | Oct 4, 2017 | News & Trends
Like most professionals, I have taken countless courses on data privacy and computer security. After a while, the online courses and training scenarios all end up sounding the same. In 2017, the size and scope of technology breaches has increased and at the same time we are learning that our financial and private data is being compromised in more places than we can count. From our local store at the mall, to our financial institutions, the reality is that technology is making everyone a target. By news accounts, you can’t trust anyone. Your bank, your healthcare insurance, your webmail provider, the IRS, your payroll provider, have all been compromised and this all before we even learned about the Equifax breach. Target is a good example of a company that invests heavily in technology and implemented security protocols better than most companies, however they still became a victim and were compromised. The reality is that security is not ever going to be easy. The best way to implement security is by using a layered approach, with multiple levels of restrictions. Secure your network, secure your devices, secure your software with updates, use strong passwords, and backup your data in multiple ways. This becomes a lot of work for individuals. The frustration is that even if you do everything right, you are still going to be compromised. The best possible outcome is that you will not be an easy target and that you limited what was taken from you.
CCleaner
CCleaner is one of my trusted utilities, on Windows computers. I use it quite often and install it on all of my Windows machines. Recently, their security was compromised and malware was added to their installer. Reading carefully through all the reports, I determined that on two machines the version had not been updated and multiple scans by different anti-virus tools came up clean. On a third machine, a laptop, the machine had been compromised. On this particular computer, I did not have any real data that was of importance, and this was the laptop that I had setup with a custom Windows setup that allows me to restore Windows to a fresh state. This allowed me to restore the machine in less than an hour and I no longer had to worry about malware on that computer.
However, this was a wake up call in regards to my other machines. I need to implement a similar setup for my other computers. There needs to be a strategy for my home Windows Server, my kids computers, and what about my Mac computers? This all came about because I trusted an application that I have been using for years.
iOS Devices
For the most part, I have not had to worry too much about the Apple ecosystem, when it comes to iOS. Apple has been pretty good about keeping malware out of the App Store, not perfect by any means, but good. All I have had to do is keep iOS updated with the latest version that is available for the device and not install too many third party apps. I also keep an iTunes backup for my iPhone and iPad. I do not put too much faith in the cloud, so my iCloud data is pretty slim.
Android
There are not any Android devices in my home. We are pretty much Apple, Windows, and Linux. My criticism of Android is that there are way too many exploits and security compromises when it comes to the platform. The devices are not updated very often and prior Android versions are very vulnerable to all types of attacks. This is an area where Apple has managed to do better due to the faster upgrade cycle and walled garden that is the App Store. My best advice for Android users is the same as iOS users: upgrade your OS and do not install too many third party apps.
Linux
I do not use Linux as a desktop, so my concerns with Linux is typically with servers. Linux is becoming a bigger target these days. Part of the problem is that Linux is a collection of software that is patched together from multiple sources. These sources are all vulnerable. The other issue with Linux in general is that it requires a certain level of admin expertise, which is different from most consumer software. For Linux, I keep a backup of an original setup, so if I misconfigure or break something, I can restore to that setup. For the data, I backup separately and keep multiple copies of that. Scanning tools for Linux tend to be free, but there are commercial versions which you can purchase. If you are using Linux for business purposes, Redhat is highly recommended.
Facebook, Amazon, & Clouds
I find it hard to reconcile individual security and Facebook usage. To me the more you use Facebook, the bigger a target you become. I see people updating their Facebook account with their physical location all the time. This is great information to have, if you are a thief and want to break into someone’s house. The problem with Facebook, Amazon, and cloud platforms like iCloud is that these services communicate with your mobile phone and the data that they send back and forth is very susceptible to being breached. Your phone is literally a beacon that keeps signaling all the time. You can prevent some of this by turning off Bluetooth, Wireless, and not installing third party apps, however for everything you turn off or disable, the phone becomes less connected, less functional. A must have is some sort of VPN, that you can enable when connecting to free wireless networks.
There really is not a good way to be private or have layered security when it comes to the mobile phone. The phone is a beacon at this point, and you are the target.
Identity
Since the Equifax breach, I have been reading about what possible avenues people have to protect themselves, now that everyone is compromised, and the only advice that I found that seemed plausible was to change your name. It is possible to legally change your name and to escape some of the repercussions of the Equifax breach. Unfortunately it has come to this.
by WebKeyDesign | Sep 6, 2017 | Business
When I was a child, my parents would drive to the suburbs once a month and we would arrive after what seemed like the longest drive at Kmart. At the time, Kmart was a strange and wonderful place. It was a giant store that had toys, music, clothes, pretty much everything! My parents would usually buy my brother and I, a couple of Hot Wheels cars and that is pretty much all we cared about. I can’t even remember why we would even go there, cause all I remember was the Hot Wheels cars. The only stores that my parents would take us to were grocery stores, so to us Kmart was pretty incredible. As I got older, I grew less and less interested in Kmart. The store lost its appeal to me completely when I became a teenager.
Primarily Kmart seemed to be a store that did not want you to shop there. They had a little bit of everything, but they never really had what you wanted. They sold automotive parts, but somehow never had the bulb or oil filter you were looking for. At the time they sold music and movies, but always at a higher price than stores like BestBuy. They were not known for carrying the best brands. Their registers were notorious for ringing up the wrong price and making people wait in line for price checks. Lastly, it seemed like Kmart employees hated their customers. The only good time to shop at Kmart was when they had an end of the season sale on items. Otherwise I learned to avoid Kmart if at all possible.

On the other end of the spectrum was Sears. For many years, I would shop at Sears for hand tools, lawn equipment, electronics, and most of all clothes. Unlike Kmart, Sears had better quality clothes for men. In my teen years they also had the famous Sears Catalog and I did order from it a few times. My first stereo system came from the Sears Catalog and I had to pick it up at the local Sears location. For both my parents generation and part of mine, the Sears name was associated with quality and the middle class. Overtime Sears began to gradually decline. Some journalists today are writing about how the decline of the middle class itself is causing a death spiral for businesses like Kmart and Sears, other people are instead pointing to the rise of online shopping from Amazon as the cause of why retail business is suffering. However, I think the reality is a bit more complicated than Amazon Prime members no longer shopping retail.
Today Kmart and Sears are one company. A company that is closing stores, having trouble keeping shelves stocked, and bordering on the edge of bankruptcy. So what did happen? More than anything else, Sears Holding Corporation, the parent company of Kmart and Sears, does not understand who their customers are. This is the problem.
ShopYourWay Is Not Helping
The focus on online shopping is not going to save Sears. If anything it is going to cause it to close more stores. Last year I ordered a sweater on clearance from one of the three websites the company has. The website allowed me to ship to my local Kmart and save on shipping costs. After receiving an email notification stating that my item had arrived, I drove to the store and went to the customer service desk. I was amazed to find out that the Kmart employee had to search for my item on a paper log that was completely handwritten! After a few minutes, the employee gave up and brought it up on the register and then went to go retrieve the item. Comparing this to JCPenny, BestBuy, or even Walmart, the experience was not impressive.
I receive multiple retailer emails a day. When I look at emails from Amazon and BestBuy, I can immediately see that their emails are targeted to my interests. They spotlight specific electronics or books that I am already interested in. The ShopyYourWay emails look like old style newspaper circulars with literally 50 or more items listed, almost none of which I am interested in. The emails are not helpful, they are instead a time waster, as they never highlight anything specific. Sears Holding really does not understand my interests, nor do they value my time.
The Store Shelves
A year ago I was at social event, and I sat next to a retired gentleman. He mentioned that he use to work in supply management. I could not help but vent my frustration and relate what a terrible inventory system Kmart and Sears have. He agreed with me and then related that he was a former employee. In the multiple years that have passed, where Walmart figured out how to do electronic inventory and Target created mom friendly stores with plenty of room for baby strollers, Sears and Kmart stores have not changed physically at all. The competition understands that change is good, that changing layouts and having different types of displays is what keeps people coming back. Target offers Wifi access to its customers. Imagine if next time you went to Sears there was a cafe area where customers could drink Starbucks coffee at the same time they waited for their tires to be installed? Instead the last time I was at Sears, I saw a shoe department that looked like a tornado had just gone through it and boxes were scattered throughout. The employees in appliances were trying hard to stay awake as they stood there looking at each other. The store was almost empty of customers. Walking to another end of the mall, you could find a vibrant, brightly lit, JCPenny. The differences were remarkable.
What To Do
Sears Holding needs to focus on the customer experience in the store. First empower your employees to take care of the customer. Retail employees want to help their customers, so let them do that. Forget about giving customers endless amounts of paper coupons and instead let employees walk around the store and survey customers via iPads. Find out why they are there and thank them with a discount or other type of immediate reward for their time. Provide spaces in the store for customers to sit and talk. A coffee shop or other type of area where customers can make a small purchase and feel comfortable would help keep customers in the store and visiting more.
Focus on products that customers actually want to buy, this is why you had employees survey customers, so use the data. Highlight specific products in the store, show people how to use their lawn mower. Host makeover sessions on the weekend to attract customers to clothing lines and other personal items. Be relentless, about creating spaces for customers to interact with employees and products. The store space should be about customers engaging with products.
Lastly, invest in the stores. Close the store for a week and remodel. The stores need to be bright, clean, and layouts open and inviting to families.