An “eat dosa!” reminder for busy kids :)

Here is a one hour HTML app that you can use to repeat recorded audio to remind your busy kids they have to finish that food on the table, while watching their favorite videos on YouTube.

Launch Dosa Reminder HTML App

To use the app is this simple –

  • Click on record button. Give permission to access microphone if it asks for it.
  • The recording automatically stops in 4 seconds and replays what it recorded. You can re-record till you are satisfied with the playback.
  • Now you can set the number of seconds of interval, between which the above audio has to be repeated.
  • Click on “Start Reminder” button to start the reminders.
  • When your kid is done eating, you can stop the reminders by clicking “Stop Reminder” button

Happy parenting !

Enable dark mode for Chrome on desktop

Dark mode is great to protect your eyes, more so if you are a coder.

Here is how you can apply dark more on chrome on your desktop –

  • In the address bar paste this address : chrome://flags/#enable-force-dark
  • Change the setting “Force Dark Mode for Web Contents” from default to “enabled”

That’s it. Now you can have easy on eyes theme on Chrome, just like your IDE !

NPM install gives error : Cannot find module ‘semver’

Problem:
We get this error when we do npm install –

Error: Cannot find module ‘semver’
Require stack:

  • /usr/share/npm/lib/utils/unsupported.js
  • /usr/share/npm/bin/npm-cli.js
    at Function.Module._resolveFilename (node:internal/modules/cjs/loader:924:15)
    at Function.Module._load (node:internal/modules/cjs/loader:769:27)
    at Module.require (node:internal/modules/cjs/loader:996:19)
    at require (node:internal/modules/cjs/helpers:92:18)
    at Object. (/usr/share/npm/lib/utils/unsupported.js:2:14)


Reason:
Version issues

Fix:
Run these commands

sudo rm -rf /usr/local/bin/npm /usr/local/share/man/man1/node* ~/.npm
sudo rm -rf /usr/local/lib/node*
sudo rm -rf /usr/local/bin/node*
sudo rm -rf /usr/local/include/node*

sudo apt-get purge nodejs npm
sudo apt autoremove
sudo apt-get install nodejs npm

Try now. Should be fixed !

Note: In case the version didn’t get updated even after following the above command use these set of commands:

sudo rm -rf /usr/local/bin/npm /usr/local/share/man/man1/node* ~/.npm
sudo rm -rf /usr/local/lib/node*
sudo rm -rf /usr/local/bin/node*
sudo rm -rf /usr/local/include/node*

sudo apt-get purge nodejs npm
sudo apt autoremove

Download the latest installable archive for your OS from https://nodejs.org/en/download/

tar -xf your-archiveFile
sudo mv extracted-archiveFolder-name/bin/* /usr/local/bin/
sudo mv extracted-archiveFolder-name/lib/node_modules/ /usr/local/lib/

Fix : The repository ‘http://archive.ubuntu.com/ubuntu disco-backports Release’ no longer has a Release file.

Issue : When doing an apt update, we get the this error.
The repository ‘http://archive.ubuntu.com/ubuntu disco-backports Release’ no longer has a Release file. N: Updating from such a repository can’t be done securely, and is therefore disabled by default.

fix :

[bash] vi /etc/apt/sources.list replace all occurrences of archive.ubuntu.com to old-releases.ubuntu.com [/bash]

Cannot connect to DB from a process inside Docker container ? This could fix it.

I had recently hit a blocker to production deployment, when my processes just won’t connect to my Cassandra DB from within their containers.

This is how I could fix it –

  • Start by checking if the target port is open. For eg, if it is the Cassandra DB that the processes cannot access, make sure that its host port 9042 is not blocked by any firewall rules (or security group settings in case of AWS)
  • From the host machine where your docker’ed process has a connectivity issue, use telnet or netcat to check if you can access the target machine and port.

  • Once you verify that you can access the port of the service you want to access, from the host machine where your docker process is failing, and still the problem persists, do these steps-
  • Verify the IP address of the problem container –
  • If the IP address so obtained is found to be conflicting with the IP addresses of your network, provide a new sub-net for the the docker containers within the host as below-
    • vim /etc/docker/daemon.js
    • Add the following lines with the subnet address of your preference
  • Restart docker service and start your containers.
  • Check your connectivity issue is solved.
  • If your application still cannot connect to your target service, lets reset docker by deleting the docker inventories and restarting it-
  • The above steps usually fixes the faulty bridge network created previously by deleting and recreating it.

Else, as it happens mosltly, you are on your own 🙂

Best of luck for your resolution, and please comment if you have have a different solution to the problem.

Open ports in Ubuntu’s firewall using IP Tables

On the terminal, do the following to open port 80

Persisting the rule changes across boot cycles –

iptables-persistent will look for the file “/etc/iptables/rules.v4” after boot up, to restore the rules for IPV4, thus automating the restore for each boot.