Author Archive

Google Workplace IMAP & SMTP intricacies

Google Workplace (the paid version of Google/Gmail) has so many settings that one really needs to study it to set it up well.

Although, I do have a sneaking suspicion that some things may not be spelt out (at least not well) on purpose to foster some vendor lock in.

What not to do: try to get Thunderbird to access a Google Workplace account when you are in a hurry.

  1. Thunderbird can’t access Google; Thunderbird indicates that the password is wrong.
  2. Despite numerous re-types and checking that the password is inputted correctly, the connection just refuses to work.
  3. But I’ve enabled IMAP from the User’s Gmail account!!! I don’t understand!!!
  4. Happen to notice a single Security Alert email in the inbox using the Gmail interface.
  5. That’s strange – falls inside the time period I’ve been tearing my hair out with Thunderbird – yet only one alert despite numerous attempts.
  6. So, a search reveals that Google considers any non-Google, non-OAuth applications (like Thunderbird) as a ‘Less Secure Application’ … interesting classification given all the SSL advances in client-side mail applications.
  7. Ah, one can allow ‘Less Secure Application’ in the Google Workplace administration console.
  8. Wait, still doesn’t work.
  9. Go back to the the Google Workplace administration console. Read the wording again and realise – allowing this at the administration console level only allows each user to have their individual choice.
  10. Armed with this glimmer of hope, the User’s Account (not Gmail setting) reveals the option to allow ‘Less Secure Application’.
  11. Finally, Thunderbird connects and inbox fills – along with tears of joy.

mac annoyances

The new M1 Apple Silicone seems to be a game changer for productive use of laptops. Windows still offer better value proposition if limited to office-type work; there are sub-$1000 laptops that are lightweight yet sufficiently endowed to handle any such workload. However, if any video work is required, it seems that the M1 offers a level of performance that can only be matched with an external GPU on a PC, thereby increasing the cost and also at an expense to battery life. This is why the M1 is the front runner to be my next laptop.

However, a few MacOS annoyances that hopefully have solutions/workarounds:

  1. I hate how the Dock works in MacOS. It is so much easier to get an immediate visual summary of what applications are open – which I want to access at a given time – on Window’s Taskbar. MacOS has always had the strange paradigm of “close” not equaling “quit” – so the Dock could indicate that an application is “open” but what that really means is the application is “not quit” yet its corresponding window does not exists in the desktop view.
  2. I don’t know why you can’t Cut files and folders in Finder. The option is there in the Edit menu just greyed out. So to move a file, you have to Copy from the source directory, go to the destination directory to Paste, and then go back to the source directory to move the file to Trash. Why not just enable Cut? Absolutely stupid.
  3. Snapping of windows is not built in. Nor is automatic resizing of Finder window. If you are unfortunate enough to drag-and-drop (because there is no Cut-and-Paste!) a file into a far corner of the Finder window that isn’t within the viewing area the next time Finder is opened – you’d have a heart attack that the file has disappeared but its just sitting out of view waiting for you to scroll horizontally to see it. Absolute time waster.

Need to find some solutions to these.

Mega Soundboard

It is hard to understand why PowerPoint never implemented this, but if you ever had to play a sound or music during a presentation, you had to peg the start of the audio to a particular slide, and once the audio starts there’s no easy way to stop.

Completely cumbersome if, say, the first time you teach some children to sing along a set of slides. You can’t skip forward to show a slide without activating the music; you can’t go back to the first slide without restarting the music; you can’t stop the music if you realise the kids need a bit more time to follow.

Mega Soundboard is the easiest and best answer to this problem. Its taken a long time for me to find this; none of the other soundboards, or hotkey solutions, or full featured media players (e.g. VLC, fubar2000) does this as simply and as elegantly as Tom4nt’s Mega Soundboard: you setup your selection of audio files, assign each a hotkey (which are global), and you just press the hotkey to play the desired audio without the program needing to be in focus (i.e. you need PowerPoint to be in focus to control the slides).

A start/stop global hotkey can be assigned as well to stop the audio at will.

Voila! Its open source to boot as well!

Upgrade to PHP 7.4 broke Moodle 3.3

Well, I thought, let’s go the other way then: upgrade Moodle first and then backtrack to PHP.

But Moodle 3.3 can’t go straight to 3.9 (which is the LTS I’m hoping to get it to) – 3.3 can only go as far as 3.5 – and Moodle and PHP documentation doesn’t say whether 3.5 will work with the existing PHP 7.0; time to take a gamble …

… and it paid off. Following these steps Moodle was upgraded to 3.5 and it worked with PHP 7.0

Then the upgrade to PHP 7.4 went smoothly.

Upgrade Debian 8 (Wheezy) to 9 (Stretch)

Upgrade of my Debian 8 server was long overdue; however, went headlong into it and ran into problems the first time round (i.e. MariaDB wouldn’t start properly. So I restored the server back to 8 (thanks Vultr for snapshots!) and tried again. This is what worked the second time round:

  1. Shutdown MySQL/MariaDB before attempting to upgrade Debian (a step I noticed after the failed first attempt; Section “Upgrading to MariaDB 10.1 from MySQL 5.5” of MariaDB’s documentation “Moving from MySQL to MariaDB in Debian 9”).
  2. Follow Steps 2 to 5 of phoenixNap’s guide– it had the easiest sources.list edits for switching to Debian 9 repositories.

As the primary function of this server is to serve PHP applications, it was also an opportune to upgrade the PHP version as WordPress will soon require at least version 7.2.

  1. Follow Steps 1 to 3 of Computing for Geeks guide – this will upgrade PHP to version 7.4
  2. Follow Section “Activating New PHP Version in Apache” in JiyuuLife’s guide for the quickest way for Apache to use the new 7.4 instead of the previous version (7.0 for Debian 8).

Led down the garden path

I want to Airplay a YouTube video to an Apple TV. According to this official support document from Google/YouTube:

As a reminder, if you’re casting from a mobile device, make sure to download the YouTube app. Casting from in a mobile web browser is not currently supported.

So, downloaded the YouTube app, can’t find an Airplay icon anywhere. Some users claim its now subsumed under the Cast icon – no luck there for me either.

Turns out, playing the YouTube video directly from Safari shows up the Airplay icon.


motorola razr

I must say, the form factor of the new Motorola Razr has me tempted to go back to Android. I love the pocketable design and with retro cool to boot! I do hope it was the ThinkPad team that Lenovo deployed to consult on the hinge design.

But its not even in the realm of possibility with that $1500 price tag …

WordPress stack

My new found favourite (free) stack for WordPress frontend work – and a little bit of backend tinkering are:

What is interesting is that Elementor and Ultimate Addons for Gutenberg is aiming to do the same thing – provide ready made widgets to drag and drop into the layout. However, I think its best to keep each page/post using one or the other; and both have widgets that are useful and not found in the other.

For the backend, I’ve been using Code Snippets for a long time. But recent discovery of PODS has revolutionised how I create, extend and change Custom Post Types and Custom Fields. It was simple to extend the Post type to have a Custom Field of Date, and easily display it in an Ultimate Addons Post Grid using a Hook in Code Snippets.


Shout out to Integromat, an online service that connects other web services together, using a visual paradigm. Great customer service, even for the free tier.

After working out a few kinks, I’m now able to pipe custom fields from a Woocommerce order into a Airtable base, with relative ease.

partitioning a usb drive for mac and windows

Bought a 3TB Seagate usb portable harddrive, and wanted to partition it for both Macs (to have Time Machines on their own dedicated partition) and Windows (for general storage of files).

Can’t be done using Windows, at least not the free software I tried. Had to be done on Mac, but not without some strange phenomenon that required a few tries. Basically, Mac’s Disk Utility won’t partition the Seagate as-is, from what I can find its most likely due to a EFI that is smaller than 200MB (in fact, the Seagate doesn’t have a EFI partition), and also the Seagate has a Microsoft reserved partition that seems to serve no purpose.

Whatever the reason, I didn’t bother to figure it out. I decided to forgo Seagate’s default setup and start from a blank disk. So, in the Mac’s Terminal:

diskutil list
diskutil unmountDisk force disk2 //or whatever disk# the usb drive is]
sudo dd if=/dev/zero of=/dev/rdisk2 bs=1024 count=1024 //this will erase the entire usb disk
diskutil partitionDisk disk2 GPT JHFS+ "KnockDrive" 0g // this will partition the drive with a EFI and the remaining space as a partition of Apple's HFS format

Now open up Mac’s Disk Utility. Use the Partition function to segment the desired number of partitions; for the partition that will be used by a Mac, set it as Journal HFS, and for the partition that will be used by Windows, set it as exFAT.