Skip to content

Instantly share code, notes, and snippets.

fardjad /
Last active Jul 1, 2020
[Kubernetes resources cheatsheet] A cheatsheet for Kubernetes resource types and their hierarchy #kubernetes #cheatsheet



In Kubernetes, controllers are control loops that watch the state of your cluster, then make or request changes where needed. Each controller tries to move the current cluster state closer to the desired state

Kubernetes provides the following controllers:


fardjad / .!password-authentication-with-mongoose
Last active Apr 29, 2020
[Password Authentication with Mongoose] #nodejs #mongodb #authentication
fardjad /
Created Aug 28, 2019
[How to run PhotonOS 3+ on VirtualBox] #virtualbox #photonos

How to run PhotonOS 3+ on VirtualBox


Create the VM

  1. Download the latest OVA (I downloaded the one with UEFI support).

  2. Extract the OVA and grab the VMDK file.

    tar xf photon-*.ova
fardjad /
Last active Aug 1, 2019
[How to Use an Insecure Local Docker Registry with Minikube] Steps required to use an insecure docker registry running on localhost with Minikube for development #docker #minikube #development #docker_registry

How to Use an Insecure Local Docker Registry with Minikube


  1. Run a local registry server

  2. Log into the Minikube VM with SSH (minikube ssh)

  3. Make sure GatewayPorts option is set to yes in /etc/ssh/sshd_config (and restart the SSH server if necessary)

  4. Forward the exposed registry port on your host machine to the Minikube VM with SSH:

     ssh -i $(minikube ssh-key) -N docker@$(minikube ip) -R 5000:localhost:5000
fardjad / low-level-async-buffered-read.js
Last active Feb 18, 2019
[low-level-async-buffered-read.js] Low-level async buffered read from file with Node.js #nodejs #async #file
View low-level-async-buffered-read.js
const fs = require("fs");
const EventEmitter = require("events").EventEmitter;
const read = (fileHandle, bufferSize, position, emitter) => {
const buffer = Buffer.alloc(bufferSize);
fardjad /
Created Feb 8, 2019
[] Find binary files in a git repo #git #bash
git_files=$(git ls-files)
for git_file in $git_files; do
encoding=$(file --mime-encoding "$git_file")
type=$(echo "$encoding" | awk -F ': ' '{ print $2 }')
if [ "$type" == "binary" ]; then
echo $git_file
fardjad / .!php-sample-with-grunt-composer-phpunit-and-continuos-testing
Last active Feb 8, 2019
[PHP sample with Grunt, Composer, PHPUnit, and continuos testing] #php #grunt #composer #phpunit
fardjad / Unity3DObjectDragHandler.cs
Last active Feb 7, 2019
[Unity3DObjectDragHandler.cs] Handles drag and drop for a 3D object in Unity3D #unity #csharp #draganddrop
View Unity3DObjectDragHandler.cs
using UnityEngine;
public class Unity3DObjectDragHandler : MonoBehaviour
public Camera camera;
public void Start()
fardjad /
Last active Feb 7, 2019
[iTerm2 key bindings for better navigation] #iterm2 #macos

⌘→: 0x05

⌘←: 0x01

⌘←Delete: 0x15

⌥→: ^[f

⌥←: ^[b

fardjad / kernel-3.10.21-armv6-qemu.patch
Last active Feb 7, 2019
[kernel-3.10.21-armv6-qemu.patch] Kernel 3.10.21-armv6 Patch for QEMU #kernel #arm #linux #qemu #raspberrypi
View kernel-3.10.21-armv6-qemu.patch
Make the "Arm Versatile" board even more versatile, for QEMU, which can
stick weird processors into things that were never meant to receive them.
Based on:
--- a/arch/arm/mm/Kconfig
+++ b/arch/arm/mm/Kconfig
@@ -71,7 +71,7 @@ config CPU_ARM9TDMI
# ARM920T
config CPU_ARM920T