New Year 2022 and an update is overdue
It’s been a bit too long between updates, and this is a major update. There are changes ahead for tcMenu, IoAbstraction and TaskManagerIO as I had to make a choice on how much I can do, going forward and for the foreseeable future it is back to my hobby, and the company behind it is closed. I am very happily working permanently and making the audio equipment that I always wanted to make in my spare time.
tcMenu designer 2.2 with improved IoT support and more automated tested
It has been quite a bit more than a week since the last update, but a lot has happened in that time! First, we released version 2.1.3 of the library, and switched the designer to use the 2.1 plugins by default. That means that we’ve opened up themes for everyone to use. We’ve also made it really easy to rollback too.
However, let’s take a look at where we are now, since the move to a single code base for designer. Firstly, we’ve made several releases of the designer with improvements and fixes, it’s far easier now there’s only one code base to test and ensure it works. We are now able to round trip much faster and that should benefit everyone. In the next version you will even be able to choose more than one remote/IoT connector at once.
tcMenu - menu designer 2.1 has been released
We have now released version 2.1 of the menu design software TcMenuDesigner. For all users it is now downloaded from GitHub instead of acquiring from the App Store. We notarize for Mac, package for Linux, and have an extended validation certificate for Windows deployments. So it should be quite easy to install for most.
We initially thought getting it in the App Stores was what people wanted. However, most people seemed either neutral or negative to tcMenuDesigner being installed from the App Store. Further, even really popular developer apps with many users struggle to achieve a rating of 3. Now I know why, it’s really hard with a complex like tcMenu Designer to ensure something won’t break when it auto upgrades, so you end up just not updating it very often, because the risks are too great, with the user unable to revert to a prior version.
TaskManagerIO and asynchronous I2C in IoAbstraction
In the image to the left, you see me debugging hardware I2C (or TWI) from AVR to a PCF8574.
This past week and a bit I realised something, there’s a couple of missing pieces in the core libraries that are really needed to tidy up the last messy pieces in IoAbstraction. Once we move beyond TcMenu 2.0, we expect that it should be enhancements only.
Firstly, we think that task manager lacks one last feature, a suitable generic cross-platform spin locking mechanism. Secondly, the way I2C is done in IoAbstraction is suboptimal, with too many conditional blocks handling different boards. Further it is synchronous often causing delays in task manager.
TaskManagerIO update, tcMenu 2.0 testing, mbed improvements
As promised last week, here’s an inflight update for this week. It’s been a busy week as we get further along in the preparations for tcMenu 2.0, and try to bring mbed further into the fold.
First of the bat this week was to fix the last of the bugs we knew about in tcMenu 2.0 development branch, so as far as we know, anything outstanding is now fixed, and we are ready to do the final testing!!
TcMenu 2.0 - a very complete menu framework / library
I’m going to start writing more frequently about our goals, and the plan is to do it here and share these updates on Facebook and Twitter, to avoid me having to write the core of the article twice. This time around I’m going to cover tcMenu 2.0, where it is, and what’s next.
TcMenu 2.0 BETA designer UIs and Libraries are now available
This is an exciting time for tcMenu, moving further towards a UI framework rather than just rendering line by line. In 2.0 you’ll be able to set menu items out in grids made up of rows and columns, you’ll be able to draw actionable items such as ActionItems, DialogButton, and SubMenus as icons, and those icons could be Xbitmap, or native colour; in an upcoming version we’ll even support palette based bitmaps!
Secure Linux web host: locking down and checking the SSH access logs
If you run you hosting on a Linux server, it normally comes out of the box pretty secure with few of the older less secure services enabled. On top of this, if you use a provider like AWS they further secure the server by their own custom firewall. I truly like Amazon Web Service and have used it for some time. They can scale from mom-and-pop shop right up to enterprise.
Multiple URLs to the same page in Joomla!
TL;DR: In Joomla there's often more than one way to get to the same page, if you're moving off
joomla this needs to be considered, *preferably before moving any pages*. This article discusses
the cases that I found
[during my recent move to hugo](https://www.thecoderscorner.com/team-blog/web-design/cms/moving-to-hugo-from-joomla/).
URL Mappings in Joomla, the background
Recently I decided to move a joomla site over to hugo; I had search engine friendly URLs turned on and therefore assumed the mapping should be easy. Whatever the path was in Joomla, should be the same path for Hugo (insert CMS of choice) right?
Moving to Hugo static CMS from Joomla
In this article I discuss moving sites from Joomla over to Hugo static content manager. Before we start
lets take a quick look at why we may want to do this, and the cases were it may not be appropriate.
tl;dr: In summary, hosting a site on Joomla is time consuming and requires that both Joomla and PHP are frequently updated. If you’re site is suitable for Hugo and are considering moving over, take a look through the phases below.
For the first time ever, this site is static generated
For the first time ever, this site is now statically generated using hugo content templating system, I wish I'd
done it years ago. For technology sites it really is like a breath of fresh air, as there is no more playing around
trying to get code and technical content into an online editor designed for WYSIWYG general purpose blog editing.
For some time, I had kept the misconception that a CMS had to be dynamic; that was until I found I was spending considerable time trying to keep my Joomla system up to date and safe. I think at times I spent more time backing it up and running it locally to stage updates, rather than building content.