Category Archives: Uncategorized


Linux on the iPad isn’t a reality yet, at least not like on a desktop platform. With hardware becoming more and more powerful every year, obsolete iPadsshould be allowed to continue to serve a purpose. Obsolete iPads could be affordable personal computers and useful for project builds. We believe Linux is the key to bring new life to these devices.

TypeError: require.extensions.hasOwnProperty is not a function

While playing with, I ran into following error:

> interactive-adventure-game-tool@1.0.0 start /Users/amer/alexa/interactive-adventure-game-tool
> node node_modules/gulp/bin/gulp.js

            if (!require.extensions.hasOwnProperty(ext)) {

TypeError: require.extensions.hasOwnProperty is not a function
    at requireDir (/Users/amer/alexa/interactive-adventure-game-tool/node_modules/require-dir/index.js:97:37)
    at Object.<anonymous> (/Users/amer/alexa/interactive-adventure-game-tool/gulpfile.js:1:85)
    at Module._compile (module.js:660:30)
    at Object.Module._extensions..js (module.js:671:10)
    at Module.load (module.js:573:32)
    at tryModuleLoad (module.js:513:12)
    at Function.Module._load (module.js:505:3)
    at Module.require (module.js:604:17)
    at require (internal/module.js:11:18)
    at Liftoff.handleArguments (/Users/amer/alexa/interactive-adventure-game-tool/node_modules/gulp/bin/gulp.js:116:3)
npm ERR! errno 1
npm ERR! interactive-adventure-game-tool@1.0.0 start: `node node_modules/gulp/bin/gulp.js`
npm ERR! Exit status 1
npm ERR!
npm ERR! Failed at the interactive-adventure-game-tool@1.0.0 start script.
npm ERR! This is probably not a problem with npm. There is likely additional logging output above.

npm ERR! A complete log of this run can be found in:
npm ERR!     /Users/amer/.npm/_logs/2018-01-02T05_12_24_832Z-debug.log

The solution was to update require-dir to version 0.3.2 in package.json and run npm install again.

Setup Outgoing Email on Lightsail Ubuntu VPS

I followed instructions here:

Everything seemed okay but email were not getting delivered. Logs showed me that smtp connections were timing out:

tail -f /var/log/mail.log
May  3 12:28:10 postfix/smtp[3160]: connect to[]:25: Connection timed out
May  3 12:28:10  postfix/smtp[3160]: connect to[2800:3f0:4003:c00::1a]:25: Network is unreachable
May  3 12:28:40 postfix/smtp[3160]: 4984C41A1E: to=<>, relay=none, delay=3246, delays=3186/0.01/60/0, dsn=4.4.1, status=deferred (connect to[2a00:1450:400b:c00::1a]:25: Network is unreachable)

However, I could ping any of above ip addresses just fine.

Next step was to see if ip address of my VPS was blacklisted in RBLs, I used None of my ip addresses were in any black list.

Port 25 was open in firewall, both on server and in Lightsail’s networking UI.

After spending another hour or so troubleshooting, I found this thread: It seems AWS/Lightsail have recently started to throttle outgoing emails, but by throttling they meant completely blocking it. You need to open a support ticket to remove these limits here:

So I submitted my request, hopefully, this will resolve the issue.

UPDATE: It worked, now my VPS can send outgoing emails.


Unlike engineers, engineering managers have no natural source of power. In previous lives many of them ran the machines themselves, but there came a time when they’ve traded their role as craftsmen for the management track. Sometimes it’s because they weren’t good craftsmen in the first place and knew it limits their earning capacity. Sometimes they were good craftsmen who were seduced by the siren song of social status among the normies. Sometimes they genuinely wanted to support engineers in their work. But in every case, they can no longer fix the machines. Their power has to come from elsewhere.

Source: Parallel tracks – spakhm’s newsletter


“You heal a fear much like you heal a cut on your hand. If you ignore a cut on your hand, it will get infected. But it will heal itself if you pay attention to it and give it time. Same with a fear. First, recognize its existence—what kind of fear is it? Is it fear of poverty, of loneliness, of rejection? Then use common sense. Don’t let the fear get infected. Often we burn 70 percent of our emotional energy on what we fear might happen (90 percent of which won’t happen). By devoting our energy to our other emotions, we will heal naturally.”

— What Should I Do with My Life?: The True Story of People Who Answered the Ultimate Question by Po Bronson


When you write about your work, it makes all of us smarter for the effort, including you. Done well, this kind of sharing means you’re contributing signal, instead of noise. But writers are made, n…

Source: Writing Is Thinking – A List Apart


Tips and techniques for driving in sandy conditions. Knowledge to acquire before hitting the beach or dunes in your vehicle to avoid getting stuck because it is very easy to get stuck in sand. Avoid joining the ‘digging club’.

Source: How to Drive on Sand Without Getting Stuck


About four years ago I stumbled on a book called Highly Sensitive Person that absolutely blew my mind. I realized I had very intense emotions that I was culturally programmed to repress, which caused my psyche to overload and go into full apathy mode also known as clinical depression.

Source: How I built an app to fix my depression – Eli Finer