Blog

December 2021 work summary

I didn’t do much work this month because about half of it was planned vacation. We were on a cruise ship in the West Indies enjoying ourselves and, fortunately, didn’t contract anything on the cruise. It certainly helped that they checked and double-checked our shots, boosters and recent tests before letting anyone board. It also helped almost everyone was my age or older and we wore masks indoors except when in our cabins or eating. It was a good mental break and it was good to be on the sea again and see some exotic islands.

During my absence though a queue of work accumulated and happily all were nice enough to wait until I returned home. As for my large commercial project, I didn’t do any work for them at all in December, but they gave me a nice holiday bonus. I expect that project will enter a testing phase this month.

2021 was a record year again for this business. I think it’s kind of gauche to disclose exactly how much I earned but you can get a sense from this revenue graph for my business since I started it in 2006. I keep all these details in a Google spreadsheet.

phpBB Services revenues per year through 2021

I don’t expect this trend to continue in 2022, unless I can replace the work I did for my large commercial client with another such company. The money inspired me to purchase a new computer, which I can write off as a business expense. I currently use a late 2013 edition iMac, which was later upgraded to 16GB memory and a 1TB solid state drive. It will be replaced by a Mac Mini with 8GB memory and a 512GB solid state drive. This model has the new Apple M1 chips that use a RISC architecture, so it’s likely to be super fast. Also on order is a HD display monitor and a web cam. It will take about a week it all to arrive and get configured.

During December, I also released version 3.3.12 of my digests extension and a release candidate version of a SCSS compiler extension. A few days ago I also completed a revision of my book. When business slows down, it’s nice to spend some time giving back to the community with unpaid work.

Other work in December:

  • Earned a DreamHost commission
  • Updated a board from phpBB 3.3.4 to phpBB 3.3.5. No extensions or styles needed updating.
  • Updated board from phpBB 3.3.1 to phpBB 3.3.5. I updated the prosilver_se style from version 3.3.0 to 3.3.5 and the Tapatalk extension from version 2.1.8 to 2.2.0. Updated the Danish language pack to version 3.3.5. I reapplied the logo and changed reCaptcha V2 to V3.
  • Upgraded a board from phpBB 3.3.3 to phpBB 3.3.5. I also changed reCaptcha from V2 to V3.
  • Upgraded a board from phpBB 3.3.4 to phpBB 3.3.5. I also updated the Cleantalk extension from version 5.7.3 to 5.7.4. The client reported that he wasn’t receiving notification emails for new registrations. I found the domain on an email blacklist. It looked like BlueHost was blocking outgoing emails. I recommended that he resolve it by talking with them and to appeal to the blacklist to remove his domain from their list.
  • Upgraded board from phpBB 3.3.2 to phpBB 3.3.5, my digests extension from version 3.3.3 to 3.3.11 and the Cleantalk extension from version 5.7.3 to 5.7.4. No issues were noted.
  • Client’s flaky VPS server, ran out of space (there were 20 GB of images and attachments). The symptom was that phpBB reported an error saying that the phpbb_moderator_cache table didn’t exist. Eventually I was able to SSH in, drop the table explicitly (although it showed in the list of tables, it couldn’t be queried) and re-created it. That allowed the board to come up again. This probably occurred because he simply hit the storage limit and that corrupted his MySQL database. I also re-created the board’s database user and assigned privilege to the database that didn’t seem to exist.
  • Converted a board from phpBB 2.0.23 to phpBB 3.3.5. Some posts had too large a font size. I created a new database to hold tables for the converted board. I disabled the contact page and set up a reCaptcha V3 spambot countermeasure. I also created a home link. I suggested creating an email address and testing emailing. Otherwise, it was a straightforward conversion.

New edition of my book is available. Covers through phpBB 3.3.5

I’ve updated my book, Mastering phpBB Administration! This is the first revision since the July 2021 edition. This edition covers phpBB administration through phpBB 3.3.5. Both a paper version ($19.99 USD) and an eBook version ($9.99 USD) are available. The paper book is 373 pages and 88,000 words long. Both have numerous illustrations.

Mastering phpBB Administration eBook
Mastering phpBB Administration eBook cover

With every version, I re-edit the whole thing. Of course, it has additions and corrections as appropriate. Every edition attempts to refine the content both as a source of quality information, but as a written work too. Hopefully this book, now nearly two years old, will just get better and more useful with time.

I find turning it into an eBook challenging. I use Calibre to make the eBook, and it imports the Word document source easily enough. But there are some illustrations that are out of place, font sizes to fix and I have to re-link all the items in the table of contents to make it quick to jump to areas of interest. So far, I haven’t found an easier way to do this.

If you own an earlier edition of the book but don’t feel like paying for the newest version, email me your Amazon receipt and I am happy to send you the current PDF version.

Links to the book are above, below and in the sidebar.

The downsides of virtual private servers

Virtual private servers (VPS) are neat inventions: they give you a guaranteed slice of resources on a real server, which means you generally have plenty of CPU, disk space and memory to run your bulletin board. Usually things run spiffy on a VPS. Limitations like outgoing email quotas generally aren’t a problem. A VPS is generally completely configurable, letting you control and install pretty much anything. It’s all this and they don’t have the cost of renting a dedicated server. The technical overhead is usually less too.

Working with a client yesterday though reinforced in my mind that a VPS is not for everyone. I’ve had a VPS for this site and my other domains over the years. I eventually discovered I didn’t need one. Shared hosting was fine for my needs (and budget), providing I could find the right shared host. Even though I am a techie at heart, doing this stuff is not where I wanted to spend my time. I could usually work around shared hosting issues and if I couldn’t, I could usually find a better shared host and move my stuff there.

VPS Pitfalls

What are some of the pitfalls of a VPS? Here are some:

  • Generally you don’t get much handholding. You usually get a web host control panel like Plesk to take a lot of the grunt work out of managing a VPS, but you can’t get rid of the technical behind the scenes work altogether. For example, the client I worked with yesterday abruptly ran out of virtual disk space. He likes to keep tons of images that are attached to posts on his VPS. He got no warning emails that he was about to use up his quota. This resulted in a cascading series of failures that me and his web host got to clean up. In his case, it appears that abruptly running out of space corrupted his database. phpBB was trying to write to the phpbb_moderator_cache table and it failed. It corrupted this table, showing it in the list of tables but it wasn’t actually accessible. I got to clean up that issue while he got to figure out just how many system backups he could safely store in his virtual space. With 20GB of attachments and about 80GB of space, you can’t make too many backups without triggering problems.
  • You may be paying too much for file space on a VPS. Prices for a VPS generally start around $50/month. If you have a lot of static files like images and videos, a lot of these static files could be moved into the cloud, you could conceivably pay a lot less money rather than buying more virtual space on your server when you need it. Putting attachments in the cloud not easy to do in phpBB although there is a dated AWS S3 extension that could be used, if you have the technical skills to set it up and migrate the files.
  • You really need to have some intermediate or advanced Linux skills. Do you know how to check the size of your physical and logical volumes? Do you know how to give a volume more space? If you do, great, but if you don’t you’ll have to rely on your host’s tech support and probably pay for the special support. You need to know SSH, how to navigate around your VPS from the command line and change file and directory permissions. To install some software, you might have to know how to use a package manager. It’s up to you to monitor your server’s performance and troubleshoot issues like emails getting blocked from going out.
  • Good shared hosting may be cheaper and meet your needs. Finding good shared hosting can be hard and the market constantly changes. Although shared hosting has many downsides, it is considerably cheaper than a VPS and someone else manages the infrastructure for you, generally speaking.
  • Like with shared hosting, there are lots of VPS hosts out there that aren’t great. Generally, you won’t know how good an experience you will have until you try it.

For these reasons and others don’t assume a VPS is the solution to your problems, even if you are willing to pay $50/month or more. It’s nice to get fast response time and that can be very helpful for things like search engine optimization, where fast page loading is a critical factor for high placement in a search index. It’s nice to see things run smoothly and reliably, which is generally what happens when you are on a VPS. When things go awry though, it’s likely to be a painful experience, unless you have the skillset for managing these sorts of problems.

VPS host recommendations

I am usually asked for recommendations for shared hosting. For a VPS, the best I’ve seen so far has been MediaTemple’s VPS hosting. I’ve had a client on a MediaTemple VPS for twelve years and system problems have been virtually nonexistent. I don’t recommend their Grid service, although that experience is some years old. A self managed VPS plan with two virtual CPUs and Plesk, for about $50/month, has proven very reliable for this client. MediaTemple is now owned by GoDaddy, and some say things were better before they were bought out, so certainly things can change for the worse.

November 2021 work summary

I’ve completed a nearly two-week vacation, so this report of my work in November is a bit late. I did a fair amount of work in November, mostly miscellaneous stuff. One big event was finally quashing my digests extension bug that reported bogus container issues, which was in the place I least expected: an event handler designed to intelligently shut things down if a lack of resources occurred. In addition, I wrote a draft of a SCSS compiler extension.

For my large commercial client, work is definitely ebbing as development is complete and we are moving into a testing phase. We went through a trial upgrade using a copy of their production board running phpBB 3.0.11, which was designed to be a smoke test. The copious notes I took when I did it last year when I did it helped a lot. There were a few bugs in our custom extensions that needed to be fixed. But overall the smoke test went pretty well. While I was on vacation, the client hoped to do a second smoke test using Ansible.

Other work done in November:

  • My client did most of the moving of files and database for his board for this rehosting to Siteground. I changed the domain and I placed the board into a subdomain. The client provided a refreshed database that I reloaded somewhat tediously. It took four attempts with timeouts to import it all. The site used a Sitesplat style and a ton of Sitesplat extension, neither were really needed as the site was purchased, the extensions weren’t actually used and the style was proprietary. After moving database and putting it in a subdomain, I upgraded board from phpBB 3.2.8 to 3.3.5. I removed most of the Sitesplat stuff and the unused Sitesplat extensions. I kept the Share On extension (no upgrade available) and updated the phpBB Media Embed extension. I installed and tweaked proflat style to match colors on main site. Later, I moved board from the subdomain into a folder to address client’s SEO concerns.
  • I upgraded phpBB from version 3.2.7 to 3.3.5 and PHP from 7.2 to 7.4. I updated the Metrolike style and reapplied template and theme changes. I upgraded nine extensions too.
  • Client’s board reported PHP version could not be used. It was configured to use PHP 7.0 due to some sort of incorrect GoDaddy change that was applied in mass to lots of its servers. I waited more than an hour on the phone to talk to GoDaddy to eventually learn that this was an enterprise problem. It was subsequently fixed by GoDaddy.
  • I updated phpBB from 3.3.4 to 3.3.5. I updated the board’s Italian language pack to a phpBB 3.3.5 version. There is an upgrade to the advertisement management extension I did not do.
  • Solved the long issue with digests not running correctly that I mentioned above and applied it to a suffering client who had been dealing with it for a while. I installed version 3.3.11 of digests with an unsubscribe link patch, set up a new system cron and tested it and it appears to be working okay. Charged for two hours of my time to address numerous questions on web hosting that they asked.
  • I updated a board from phpBB 3.3.1 to 3.3.5. I also updated my digests extension from 3.3.2 to 3.3.11 and the stop forum spam extension from 1.3.10 to 1.4.0.
  • Made modifications to david63’s user details extension (which david63 is apparently not supporting) to make it work as a cron. It had already been modified by the client to change CSV to tab-delimited output. Getting it to work as a cron required a lot of tedious debugging and testing as crons are hard to test, and the code was a bit hard to read.

DreamHost Black Friday and Cyber Monday sale runs November 22 – 30

I currently host my site on DreamHost. If you are considering rehosting or just want to buy some domains (or renew them) at some great prices, consider taking DreamHost up on their sale and saving some money too. You would also be doing me a favor by using my affiliate link, which would allow me to generate some income too.

Rehosting is obviously a time consuming and can be an expensive endeavor. DreamHost may not be appropriate for your particular needs either. See my review of DreamHost and make sure to contact their sales department to make sure it meets your requirements. But if you decide to use them, please use my affiliate link.

I could help you move your board to DreamHost if you need help, for a fee of course. Also please note that I will be on vacation November 30 – December 12 and won’t be providing any services during that time.

Here are some details from DreamHost on their sale:

Domains:

.xyz – $0.89
.online – $0.99
.store – $0.99
.com – $5.99
.io – $29.99
.art – $1.99
.shop $0.99

Hosting:

$2.95/mo for a year plan, over 79% savings and a free domain

Pro Services:

(Applies to both New and Current Customers)
20% off all Web Design Plans
20% off 1-time Site Services:
Site Optimization, Site Migrations, Site Update, Hacked Site Repair, Custom Web Development

Again, use my affiliate link if you want to take advantage of this sale.

October 2021 work summary

October was a slow month, work-wise. This was principally due to ending development on a long term project for a major client. We have been working on it since March 2020. The next phase for this work is testing, and that requires cloud resources and configuring a bunch of servers which is not in my skillset, so it was left to the client. The client though is used to farming out the work to me, but can’t for this phase, and wants it to be all automated using Ansible. That and that because of his skill level he is highly multitasked just meant that he had a hard time working on it. It’s likely though that in November testing will start in earnest. We’ve got a whole list of steps necessary to do and we need to do a lot of them together so he can learn the complex process for upgrading phpBB. We hope to meet tomorrow to resume work on this project, otherwise it’s been four weeks of me waiting on events as one planned meeting after another got delayed as he got waylaid on other tasks.

The other work that came in was slow too. To keep busy, I released new versions of my digests and spam remover extensions. I think I fixed a persistent issue with the digests extension. Working with a client I was able to test the spam remover extension against a real case study on a board with about 70,000 posts. This let me find lots of bugs and lead me to change the logic so that the remove spam function happens iteratively.

Otherwise, just four commercial jobs in October:

  • This was the project that involved removing spam that took more than a week to complete that I mentioned above. The client mentioned off hand that she wanted me to get rid of the spam, but this turned out to be the major task, not the upgrade and rehosting that occurred too. I tried my spam remover extension, but version 1.0.2 (which is approved!) wasn’t up to snuff due to the size of the spam in the database. So I spent a couple of days adding functionality to the extension to remove spam in batches, and used the client’s site as test. I tried to move the database first, but I couldn’t import it because the spam context in the post text column was too big, resulting in database timeouts, even on my local machine. So I had to do it in a phpBB 3.2 board on the client’s host. Eventually I got my extension to remove the spam, but some spam was left over in a few topics that Akismet did not get flag, and there was some old false spam I reported as ham. Then there were issues with testing on the new host (DreamHost). My usual trick for testing by editing my hosts file would not work, requiring technical support and some back and forth that further delayed things. I was finally able to do the phpBB upgrade, which was done very quickly. But trying to install the old custom style didn’t work, so I applied changes to the we_universal style on which it was based. I removed 17,000 bogus users in the database manually and removed some spam topics manually too that Akismet missed. I had to reinstall the Tapatalk extension and find a recent Beta version of the reIMG extension to install. Emailing worked at first, then didn’t. The issue was using a forwarder instead of authenticating with an email inbox … thought I had it doing both. Then DreamHost moved their staging site to production, removing the board’s files but leaving the phpBB database unaltered. So I had to upload phpBB’s files again, reinstall the extensions and re-tweak the style. I tested emailing again and there was no error now that an email inbox is created, but later had to get it to work with an external SMTP provider. DreamHost limits shared hosting to 100 per hour, which was unacceptable to the client.
  • A client’s Siteground database quota exceeded the 1GB quota by a lot! The main problem was that the phpbb_log table was huge, so I truncated that but also the phpbb_spam_found table and that brought database size down to 376MB. I also disabled logging for the filter by country extension.
  • I had an initial conference call to discuss requirements for extension with a potential client. I subsequently iterated on the requirements in a Google Doc and did an analysis in a Google sheet. The nearly $2000 estimated price though was more than the client wanted to pay, so he paid me for my time.
  • Upgraded a total of three boards from phpBB 3.2.7 to 3.3.5. Added Polish language pack on one forum. Changed PHP on another forum from 5.6 to 7.3.23. Later, I did the third forum was similar but I had to update the OneAll Social extension and change PHP from 7.1 to 7.3.23.