Not all problems are worth solving.
I recently moved several websites1 to a new server. Not just a new server, but a new server using different technology, in a different location, and with different software.
Lots of different... which implies lots of mistakes, lots of fixing things, and lots of learning.
One of my takeaways isn't really new to me, but it's something I think is easy for many people to overlook.
Sometimes, ya just gotta start over.
Become a Patron of Ask Leo! and go ad-free!
Pragmatic solutions
In setting up a server, I chose to uninstall a piece of software that wasn't necessary -- or so I thought. I spent a little time investigating how to get what I needed re-installed, but after some time, I realized it would be faster to simply start over with a clean slate. As daunting as it feels, sometimes starting over is faster in the long run, and often more likely to succeed.
Ignore the geek
This is another story where the details are deeply geeky.
Ignore the details. They're present only to give this lesson a little structure.
Don't get lost in the details. The story still applies to you.
Amazon Web Services
By now, I'm sure you realize that Amazon is more than a bookstore. Most interesting from our perspective is that it's a technology heavyweight. An incredible number of websites and services live on the computing equipment -- the "cloud" -- that Amazon sells to companies to use.
AWS -- Amazon Web Services -- is a wonderfully rich set of technology that can do an amazing amount of stuff. Their model is "pay as you go" rather than a monthly commitment, so it's a perfect environment for testing, proofs of concept, and for services whose needs are constantly changing.
It's also incredibly geeky. Seriously geeky. It requires a commitment to get your brain around how the system works.
If you've had experience setting up a website at a shared hosting company, you're nowhere near ready enough. Have you deployed a virtual private or dedicated server? You're getting closer.
I wanted to learn.
Setting up a server
Skipping over all the initial head-scratching getting my first server up (which now hosts things like my personal blog, NotAllNewIsBad.com, and other sites), it was in setting up my second server when I ran into difficulty.
I set up a site. It worked great.
I set up a second site. It worked great as well.
The third site? It worked well, but unlike the first two, it also needed to send email. And email failed: it could not, would not, send email. No matter how hard I tried, no matter what research I did, I couldn't coax it to do so.
I did have a clue, though.
Email, malware, and spam
The default configuration for the server -- an Ubuntu Linux-based machine -- included email-processing software, but also included an anti-malware scanner and an anti-spam scanner.2
My experience on the first server was that the anti-malware scanner was a memory hog that caused the machine to crash periodically. I disabled it on that server and uninstalled it on the new one. (Since I process all my incoming email with Gmail, these server tools were redundant anyway.)
The uninstall turned out to be a mistake.
The problem was that even though the scanner is used on incoming email, uninstalling it also removed a component used when sending email.
OK. Fair enough. So we just reinstall it, right?
Head-banging commences
Figuring out that it was a side-effect of the uninstall that was at fault was a time-consuming bit of research. Now I had to figure out either:
- How to reinstall a component I didn't really need, hoping that the required component I did need would return
or - How to reinstall just the component I needed
To be clear: I have no doubt whatsoever that both are possible.
What I didn't have was patience. After searching for more how-to's and trying to filter the relevant from the useless, I threw my hands up.
I knew of one probably-faster solution that was guaranteed to work.
Server number three is born
I started over with a new server.
This time I did not uninstall the scanner. I left it in place and disabled it instead, as I had on the first server.
I set up the third site (something I was getting really good at, with so much practice), and sure enough, email worked without a hitch.
I moved the first two sites to the third server (again, something that became so much easier with each round of practice), and I finally reached my destination: all three sites on the server, all working.
I turned off the second server with the uninstalled components.
The lesson learned (or reminded)
Problem-solving can be difficult, time-consuming, and frustrating. I hear it from my readers, but I also experience it myself. I work with technology, after all.
There are also few guarantees that the process will be successful. I've certainly spent many hours tracking down a problem, only to give up in tired frustration.
Starting over seems more daunting, but often it isn't.
We know that starting over will take some time. It's difficult to justify when a problem's solution should be quick and easy.
Except, of course, when partway down the path to a solution we realize it'll be neither quick nor easy.
At some point, it just makes more sense to let the solution remain a mystery and start over.In my case, that meant building out a new server with a certain setting left untouched. In your case, it might mean reinstalling an application, or even reformatting and reinstalling Windows itself.
It can sound really daunting, I get that, I truly do. It can be a lot of work.
But sometimes it really is a faster solution with a much higher chance of success in the long run.
Depending on the problem you're faced with, keep it in mind.
Do this
Subscribe to Confident Computing! Less frustration and more confidence, solutions, answers, and tips in your inbox every week.
I'll see you there!
One time my system became malware infected. Instead of tracing down the problem, I restored from my incremental backup from the night before. This isn’t directly related to the article, but years before when I had malware, I reinstalled Windows and all my programs from scratch. It took a long time but mostly hands off time where I could be doing something else while the OS and programs were installing. The settings took much longer but I worked on them as they came up. Not long after that reinstall, I started doing system image and incremental backups. A good backup program can make starting over much easier in case of malware or updates gone bad.
Sometimes starting over may also be a better technical approach rather than hacking something with hope and prayer. Starting over can be an opportunity to cleanly apply lessons learned. Case in point: I wish Microsoft had started over with Windows 10 instead of hacking Windows 95 to death with patch after patch. By the way, Leo once said something like “there will never be a Windows 11”. Well, something new is coming. Microsoft may not be calling it Windows 11 yet, but everyone else is. I’m betting on “Windows NG”. I hope this next Windows isn’t yet another cosmetic hack (aka change for the sake of change).
Windows 10 is NOT Windows 95 “hacked to death”. Windows 95 was based on the MS-DOS codebase, whereas Windows 10 is based on Windows NT/2000/XP, etc — which was a total rewrite.
Thank you for a very timely article. It convinced me that the issues which I was having with my printer/scanner (it just stopped communicating with my older desktop) were not worth my time to fix, or to try to understand. Instead, I removed it from ‘Devices’, then after failing to get it to automatically reconnect with my computer, I did a manual reconnect. The thing works again (until the next time this happens), and Life is a little better.
One interesting little side note. We use a WAP, and in the app for it on my phone, several devices were listed which I did not recognize. So I went around turning things off, to see if doing so helped with my printer issue. No, but doing this caused them to show as offline on the app. I was then able to add nicknames to them, which at least lets me know what’s where.