Error Xcode Select Error Tool Xcodebuild Requires Xcode Active Developer Directory Command Line Tools Instance

Playing with Cordova, I was getting this error when building iOS version: Error: xcode-select: error: tool 'xcodebuild' requires Xcode, but active developer directory is a command line tools instance Even full install of Xcode didn’t fix this error. The solution was to run following command to use full Xcode instead of command line tools version that I had installed earlier: sudo xcode-select --switch /Applications/Xcode-beta.app/Contents/Developer

Published on


Setup Outgoing Email on Lightsail Ubuntu VPS

I followed instructions here: https://www.digitalocean.com/community/tutorials/how-to-install-and-configure-postfix-as-a-send-only-smtp-server-on-ubuntu-18-04 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 gmail-smtp-in.l.google.com[172.217.197.27]:25: Connection timed out May 3 12:28:10 postfix/smtp[3160]: connect to alt1.gmail-smtp-in.l.google.com[2800:3f0:4003:c00::1a]:25: Network is unreachable May 3 12:28:40 postfix/smtp[3160]: 4984C41A1E: to=<xxxx@gmail.com>, relay=none, delay=3246, delays=3186/0.01/60/0, dsn=4.4.1, status=deferred (connect to alt2.gmail-smtp-in.l.google.com[2a00:1450:400b:c00::1a]:25: Network is unreachable) However, I could ping any of above ip addresses just fine.

Published on


Files Empty in html form?

Put enctype="multipart/form-data" in your form tag.

Published on


hsts Neterr_cert_common_name_invalid

Without full understanding, I had enabled HSTS on amerkhalid.com with option includeSubDomains. I had a subdomain that was used as “Custom Domain” to SmugMug site. After enabling HSTS, these subdomains started to throw NET::ERR_CERT_COMMON_NAME_INVALID. The fix is of course simple, don’t use includeSubDomains. But that opens up your top level domain to man in middle attacks. For now, I decided to follow the best practices and leave includeSubDomains enabled. And decided to not use custom domain for my SmugMug site.

Published on


TypeError: require.extensions.hasOwnProperty is not a function

While playing with https://github.com/alexa/interactive-adventure-game-tool, 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 /Users/amer/alexa/interactive-adventure-game-tool/node_modules/require-dir/index.js:97 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! code ELIFECYCLE npm ERR! errno 1 npm ERR! interactive-adventure-game-tool@1.0.0 start: `node node_modules/gulp/bin/gulp.

Published on


Disable Ping in Linux

echo 1 >/proc/sys/net/ipv4/icmp_echo_ignore_all

Published on


LeetCode 1664: Ways to Make a Fair Array

I tried to do this all by myself but got stuck, ended up transpiling this solution in PHP. class Solution { /** * @param Integer[] $nums * @return Integer */ function waysToMakeFair($nums) { $len = count($nums); $ans = 0; $leftOdd = 0; $rightOdd = 0; $leftEven = 0; $rightEven = 0; for ($i=0; $i<$len; $i++) { if ($i%2 === 0) $rightEven += $nums[$i]; else $rightOdd += $nums[$i]; } for ($i=0; $i<$len; $i++) { if ($i%2 === 0) $rightEven -= $nums[$i]; else $rightOdd -= $nums[$i]; if ($leftEven + $rightOdd === $rightEven + $leftOdd) $ans++; if ($i%2 === 0) $leftEven += $nums[$i]; else $leftOdd += $nums[$i]; } return $ans; } }

Published on


LeetCode 20: Valid Parentheses

Here is my solution to this problem in PHP: /** * @param {string} s * @return {boolean} */ var isValid = function(s) { const stack = []; const brackets = { '(': ')', '{': '}', '[': ']' }; for (i=0; i<s.length; i++) { if (s.length === 0) return true; const c = s[i]; if (brackets[c]) { stack.push(c); } else { const lastBracket = stack.pop(); if (brackets[lastBracket] !== c) return false; } } if (stack.

Published on


LeetCode 844. Backspace String Compare

Here is my solution Backspace String Compare problem. /** * @param {string} s * @param {string} t * @return {boolean} */ var backspaceCompare = function(s, t) { s = processString(s); t = processString(t); //console.log({s, t}) return s===t; }; let processString = function(s) { const a = []; let skip = 0; for (let i = s.length-1; i >= 0; i--) { if (s[i] === '#') { skip++; } else if (skip > 0) { skip--; } else { a.

Published on


Leetcode 690: Employee Importance Solution

Here is another LeetCode solution for Employee Importance Problem. /** * Definition for Employee. * class Employee { * public $id = null; * public $importance = null; * public $subordinates = array(); * function __construct($id, $importance, $subordinates) { * $this->id = $id; * $this->importance = $importance; * $this->subordinates = $subordinates; * } * } */ class Solution { /** * @param Employee[] $employees * @param Integer $id * @return Integer */ function getImportance($employees, $id) { if (empty($employees)) return 0; $emap = []; foreach ($employees as $e) { $emap[$e->id] = $e; } return $this->recurse($emap, $id); } function recurse($emap, $id) { $e = $emap[$id]; $ans = $e->importance; foreach ($e->subordinates as $sub) { $ans += $this->recurse($emap, $sub); } return $ans; } }

Published on


Prev Next