APIs

  • Get raw file data from Github API
  • Status: DRAFT -- Github requests with HttPie
  • AJAX
  • The Simplest AJAX Script
  • AJAX Basics
  • API Basics - Grabbing Data with Python
  • Algorithms

  • Fizz Buzz
  • Amazon Web Services (AWS)

  • Upgrading an Amazon LightSail instance
  • Giving an account access to your AWS resources
  • How to sync an entire Amazon S3 bucket locally
  • Armbian

  • Add Monitor Profile
  • Status: DRAFT -- How to add and enable 2K display resolution for your monitor
  • Status: DRAFT -- Installing snap packages on Armbian
  • Setting up Vim and Tmux
  • Screen recording on Armbian
  • Setup Orange Pi Plus 2 (Armbian) as a network attached storage (NAS)
  • Install WebTorrent Desktop on Armbian (OrangePi Plus2 / RaspberryPi 3)
  • Armbian / Orange Pi Plus 2 - getting started issues
  • Date Time troubleshooting on Armbian
  • Install Nodejs and Yarn on Armbian
  • Pairing Bluetooth devices in Armbian, Orange Pi Plus2
  • Bash Scripting

  • OSTYPE in Shell
  • Batch rename filenames to snake_case
  • Log Bash Command Output to a File
  • Here Documents in Bash
  • File Test Operators
  • Associative Arrays in Bash
  • Status: DRAFT -- Bash script for installing ISPConfig 3.1 on Ubuntu 17.04
  • Upgrade to Bash 4 on macOS
  • Directly run bash scripts in Github Gists locally in Terminal.
  • Arguments
  • Bash Scripting 101
  • CASE Statement
  • Colored Output
  • Conditional Statements IF/ELIF/ELSE
  • Showing Help and Usage
  • Taking user input
  • Variables and Arguments
  • Check if a program is installed
  • Require script to be run as root
  • Batch renaming files in Bash
  • How to create a man page for your Bash Script
  • Bash script to create a new Jekyll post
  • Bash Scripts - Load/Read/Include Settings from Another File
  • Opencart Install Script
  • Bash script to create OCMOD and vQmod templates with a single command
  • Bash script to create Media Queries with Sass
  • Bash Scripting - Taking input
  • How to check if a user is root
  • Bash script to install a LAMP stack
  • How to take options for your Bash Script
  • Write a Bash Function to Create a gruntfile.js for your project
  • CSS & Sass

  • Check browser support with `supports`
  • Advanced CSS Tips
  • Justifying items to the right in Flexbox
  • Inter-unit CSS calculations
  • Issues with making mobile screens take full height `100vh`
  • Notes on CSS Grid
  • Quick intro to CSS Animations
  • Getting started with CSS Flexbox
  • CSS Layout Models
  • CSS Margins Collapsing and how to deal with them
  • A to Z Sass in 30 minutes
  • Hands-on with CSS Grid Layout
  • Introduction to CSS Grid Layout
  • CSS Positioning
  • CSS Transitions
  • Sass - Beginner to Advanced in 30 Minutes
  • CSS Transitions and Transforms
  • CSS Style Notes
  • Making a site presentable in 7 lines of code
  • How to create a Grid system in Sass
  • CSS Blend Modes
  • Sass - Mixins vs. Extend
  • Sass Function to Auto-Convert Pixels to Ems
  • Debugging Sass
  • Sass: Working with Libraries
  • Import Files in Sass with `@import`
  • Create a Color Palette in Sass
  • How to install Compass on a Mac via Command Line
  • Cheatsheets

  • tmux cheatsheet
  • Homebrew Commands
  • MySQL Commands
  • Amazon RDS + MySQL
  • Commands

  • [uname] Find out system Architecture (32-bit vs. 64-bit)
  • Enable cross-site scripting in Chrome
  • Select files with multiple different file extensions
  • [gcp --parents] Copy selected files and recreate folder structure
  • Change Default Terminal Editor
  • [curl] run a script remotely from web
  • [cut] cut, print selected parts of a file
  • [dig, whois] Domain records
  • [dig] Domain Information Groper
  • [last] Find out login details
  • [lsusb] List USB devices
  • [grep, egrep, fgrep] Search files based on patterns
  • Doomsday Commands
  • [SimpleHTTPServer] Python HTTP server
  • [find] Find files and folder by name, type, date etc. and take some action on them
  • [grep, sed] Find and Replace string in multiple files
  • Pipes |
  • Redirects (>, >>, 2>, 2>&1)
  • Streams (stderr, stdin, stdout)
  • [grep] Find and Delete files based on string
  • [curl] Get IP address (external) using URL endpoints
  • [ifconfig] Get IP address of your machine (internal & external)
  • [apt] Packages
  • [scp, sftp] Transfer files between systems
  • [scp] Secure Copy
  • [tar] Compressed Archives
  • [df] Disk Free
  • [du] Disk Space Usage
  • [wget, grep, nano, ps, ssh] Top 5 Commands
  • [chmod] Permissions
  • Devil's Commands
  • [wget] How to store an entire website offline
  • TwitchInstallArchLinux - chat.md
  • Databases

  • Finding slow MySQL queries
  • Notes on SQL
  • Notes on Moving from MySQL to MariaDB and Replication
  • Find out MySQL Database sizes
  • Notes on Moving Large Databases
  • Allowing remote access to MySQL
  • Search for characters in SQL with LIKE and CONTAIN
  • Conditional Statements in SQL with CASE
  • Referencing data from multiple tables using JOINs
  • Intermediate SQL
  • SQL basics
  • Connect to MySQL installed by MAMP via Command Line (Terminal)
  • Secure MySQL installation non-interactively with a bash script
  • Update WordPress posts for SSL https
  • Common MySQL Errors
  • Reset MySQL root password on Linux
  • OpenCart: Bulk Update Customer Group via phpmyadmin
  • Install MongoDB on MacOS
  • Getting started with Firebase Hosting
  • SQLite Basics
  • OpenCart: Delete Multi-Store and Move Everything to the Default Store
  • Joining Relational Data between Tables in SQL
  • Manipulating Schema with SQL
  • Using PHP with MySQL
  • Backing up and Restoring Databases
  • Database Foundations
  • Tips for Querying a MySQL Database
  • OpenCart: Bulk update prices of Products
  • How to add a WordPress Admin user via PhpMyAdmin
  • Delete ALL Unapproved comments in WordPress
  • Automated MySQL Backups to Amazon S3 with AutoMySQLBackups
  • Making a MySQL database connection with PHP
  • MongoDB Basics
  • DevOps

  • 14 days of DevOps
  • Azure DevOps Getting Started
  • Deploying a MVC 5 ASP.NET Porject on Bitbucket to Azure using Bitbucket Pipelines
  • Deploy to separate Expo release channels based on Bitbucket feature branches
  • Bitbucket Pipelines: Overview and Notes
  • Continuous Deployment for React Native app to Expo using Bitbucket Pipelines
  • Deploy a .NET Core API to AWS Elastic Beanstalk using Bitbucket Pipelines
  • Status: DRAFT -- Deploying a .NET MVC app on AWS Elastic Beanstalk
  • Drafts

  • Pair the same Bluettoth devices with Windows and Linux on dual-boot systems
  • Portable Visual Studio Code
  • Cookies and Mobile Apps (React Native)
  • This is a really very long post title so i could see the legibility over multiple lines. Let's make it even longer to stretch it over multiple lines
  • Creating Tables in Markdown
  • Node.js Basics
  • Status: DRAFT -- Compressing and Minifying Scripts in WordPress
  • Status: DRAFT -- Generating PDF files with JavaScript
  • Troubleshooting MongoDB on Mac
  • Expo

  • Firebase Crashlytics and Expo
  • Integrating Sentry with Expo
  • Getting started with Expo
  • Flutter

  • Layouts in Flutter
  • Git & Github

  • Convert commits to branches and bring back reverted changes with cherry-pick
  • Ignoring files and folders in Git
  • Git in Production
  • Git revert and reset
  • Replace and overwrite branches in Git
  • Delete files forever from a git repo on Github or Bitbucket
  • move master branch from one repo as the master branch to another repo, without merging
  • Clone and Push all branches
  • Common Git/Github Errors
  • Rebasing vs. Merging
  • Getting started with Github Pages
  • What to .gitignore
  • Git Basics
  • gitflow.md
  • Graphql

  • Basic intro to GraphQL
  • Hardware

  • Network Cabling
  • Routers, Switches, Hubs and Access Points
  • JS Interview Prep

  • strict mode
  • JavaScript

  • Iterables and Iterators
  • Side effects and Pure functions in JS functions
  • Using Gatsby with the WordPress API
  • Throwing errors in JavaScript
  • Timezone Notes
  • Using environment variables with .env
  • Flow basics
  • What can I do with the DOM? (Examples)
  • Function Statements, Declarations and Expressions
  • Notes on handling clicks and taps on iOS devices and touch enabled mobile browsers
  • Event Capturing, Event Bubbling and Event Delegation
  • Plain JavaScript vs. jQuery
  • Notes on creating a Chrome extension
  • Formatting dates in JavaScript
  • ES6 Classes vs. Constructor Functions
  • Prototypal Inheritance and Constructor Functions
  • ES6 (ES2015) and Beyond with Node.js
  • Getting started with Express
  • Set `npm init` defaults globally
  • [ES2015] Default values
  • Array.sort() - Sorting Arrays in JavaScript
  • [ES2015] Arrow Functions
  • Intro to Immutable.js
  • Formatting and validating dates in JavaScript
  • [ES2015] Generators
  • Array.concat
  • Array.every()
  • Array.filter()
  • Array.forEach()
  • Array.map()
  • Array.reduce()
  • [ES2015] Async/Await Functions
  • [ES2015] Classes in JavaScript
  • [ES2015] ES6 Features Overview
  • [ES2015] Map object
  • [ES2015] Promises
  • [ES2015] Set object
  • [ES2015] var, let and const
  • Status: DRAFT -- Object copying in JavaScript
  • Strict mode in JavaScript with `use strict`
  • LocalStorage API
  • Modules
  • bind
  • this
  • JavaScript Objects
  • Manipulating Arrays in JavaScript with built-in methods
  • Quick Intro to Arrays in JavaScript
  • Self-invoking Anonymous Function - IIFE
  • Working with APIs using AJAX and JSON
  • jQuery and AJAX
  • Play sound/video when image/link is clicked
  • AngularJS Basics
  • jQuery vs. JavaScript
  • how to redirect a URL in JavaScript
  • Get Current Year in JavaScript
  • Converting 24 hour time to 12 hour time using Javascript
  • JavaScript Basics
  • JS-Babel.md
  • JS-Basics-notes.md
  • JS-Closures.md
  • JS-Composition.md
  • JS-Conditionals.md
  • JS-Filter.md
  • JS-Loops.md
  • JS-OOP.md
  • JS-Pure-Functions.md
  • JS-Recursion.md
  • use-strict.md
  • Jekyll

  • Bash Script to Convert Jekyll Front matter to Hugo
  • syntax highlighting colors
  • How to import a WordPress blog in Jekyll (macOS)
  • How to use Redcarpet for syntax highlighting in Jekyll
  • Linux

  • Enable macOS like touchpad gestures on Ubuntu
  • Add missing Monitor Resolution profile
  • Networking Intro
  • Find, install and upgrade Linux software
  • Add SSH Key to MacOS Keychain permanently
  • Run JNLP Files on Ubuntu
  • Setting up shared network between Ubuntu and Mac using Samba
  • Getting WiFi details in Linux
  • Image Optimization on a Linux server
  • How do you disable certain package updates using APT?
  • [modprobe, lsmod, insmod, rmmod] List, Add, Remove Kernel Modules
  • Linux Disk File Systems (ext2, ext3, Reiser, ext4)
  • User IDs
  • [Bash] Customizing the Bash Prompt
  • [Bash] Bash PATH Environment Variable
  • [Bash] Reload Bash Shell without quitting
  • SSH Keys
  • SSH Tunneling / Port Forwarding
  • FHS, File System Architecture and Directory Structure
  • Configuring WIFI via Command Line
  • Finding Files in Linux
  • Vi and Vim
  • How to install Node.js on CentOS/cPanel
  • Yum Transaction Check Errors & Dependencies/Package Conflicts
  • How to Install Git on CentOS
  • Setup SSH Keys for Bitbucket on Mac/Linux
  • Linux - Basic User Management
  • Coloring the Mac Terminal
  • Command line color settings (GNU)
  • Generating an SSH Key and Copying it to Remote Server
  • Install Ruby on Ubuntu
  • Linux Directory Structure
  • Redirection in Linux
  • Stopping, Quitting, Suspending and Killing Processes in Linux
  • Basic Unix/Linux System Monitoring Commands
  • How to change the default editor in Terminal
  • Crontab Basics
  • Nagios
  • Restart services in Linux
  • Unix: Using pushd and popd for faster navigation
  • Unix: Pranks that sysadmins play
  • Editing Apache Configuration on a cPanel/CentOS Server
  • Misc

  • Creating a WordPress Shortcode
  • OBS Studio
  • Get current URL in C# MVC (.cshtml) files
  • Decisions on libraries and framework
  • Upgrade nano to v4.3 on macOS
  • Status: DRAFT -- Setting and Using application variables in .NET MVC
  • Showing C# variables in JavaScript
  • Download audio from YouTube with youtube-dl
  • Named destination in PDF on Linux
  • Orange Pi+ 2 - Getting started and headaches
  • Things that i love about my Mac
  • آؤ اردو میں تحریر کریں
  • Steganogrophy
  • fileconveyer
  • Node-api

  • Middleware
  • Expressjs
  • Node Refresher
  • Restful APIs
  • Node.js

  • Get details about an npm package
  • Status: DRAFT -- Creating and writing to files in Node.js
  • Installing Node with nvm
  • Intro to Templating with Pug (previously known as Jade)
  • Routing
  • Status: DRAFT -- Node.js and it's C++ core
  • NPM intro
  • Core Modules
  • Creating our own Modules
  • NPM, Modules and Dependencies
  • OpenCart

  • Lessons in transferring from OpenCart to Shopify
  • How to create a very basic OpenCart Module in less than 5 minutes
  • Getting started with OpenCart API
  • How to get and show Information pages in OpenCart
  • How to get and show Manufacturers in OpenCart
  • Dynamically adding Scripts, Stylesheets, and Links to a Template
  • Getting started with Controllers
  • Misc. OpenCart Snippets
  • The Ultimate Guide to Creating OpenCart Modules
  • Upgrade from OpenCart 2.1.0.2 to 2.3.0.2
  • Hide Menu Item/Link If User does not have Permission - OpenCart 2.1.0.2
  • Enable SSL in OpenCart
  • Upgrade OpenCart Extensions from 2.1x to 2.3x/3x
  • Fixing OpenCart Internal Server Error
  • Upgrading OpenCart Extensions
  • Opencart Architecture
  • PHP

  • Adding a stylesheet to a WordPress plugin
  • Customizing WordPress API data
  • Pretty var_dump()
  • Handling data from HTML forms
  • Error Reporting and Troubleshooting
  • increasing file size for PHPMyAdmin uploads
  • Composer
  • Object Oriented PHP
  • Status: DRAFT -- Using a third-party library with PHP
  • Programming

  • Arrays in C++
  • Getting started with Flutter
  • Running and Compiling C/C++ code on Linux
  • Install .NET Core on Debian Ubuntu (19.04)
  • Migrating Facebook plugin comments to WordPress
  • Getting started with C#
  • Writing Code for Humans to Read
  • Scope
  • Recursion
  • Higher Order Functions
  • Packages and Dependencies
  • basics-c-programming-language.md
  • Python

  • Python Syntax Overview
  • Opening and Writing to Files in Python
  • How to parse JSON data in Python
  • Python Basics
  • Python Modules
  • Regex in Python
  • Intro to Python for newbie programmers
  • Asset management in Flask
  • Flask
  • How to convert yaml data to python data
  • virtualenv
  • virtualenvwrapper
  • Creating and Viewing HTML Files with Python
  • Running system commands from within Python scripts
  • Using urllib2 in Python to get content from web pages
  • Web scraping in Python to look up stock prices
  • web scraping
  • The Zen of Python
  • Quotes

  • Linux is 20 years old. The web is less than 7000 days old. Together they have changed human civilization more rapidly than any pair of invention in the history of the world.
  • We can not solve our problems at the same level of thinking that created them.
  • You wasted $150,000 on an education you coulda got for a buck fifty in late charges at the public library.
  • I think everybody in this country should learn how to program a computer because it teaches you how to think.
  • If you're gonna learn three languages, learn English, learn Spanish and learn some coding framework. And I think you'll have a job for life if you do that.
  • Reboot does not fix anything, it just hides things.
  • Anything you are going to do more than three times. Script it.
  • Raspberry Pi

  • Installing Raspbian on SD Card (macOS)
  • Troubleshooting Audio
  • Install/Upgrade Node.js on Raspberry Pi (Raspbian Jessie)
  • Raspberry Pi on a battery
  • Setting up cam on Raspberry Pi
  • Change Raspberry Pi's system startup message (MOTD)
  • System Monitor for Raspberry Pi
  • Custom Raspberry Pi MOTD (Message Of The Day)
  • React Native & Expo

  • Install Watchman for React Native
  • Status: DRAFT -- Shadows and Elevation in React Native
  • Environment Variables in React Native
  • Animating SVG in React Native
  • React Native tips
  • Creating a placeholder loading Component in React Native using Animated
  • React Navigation in Functional Components
  • Debugging Redux State in React Native
  • Time it taskes to setup a Recat Native project
  • Status: DRAFT -- Integrate with SignalR for live updates
  • Reactjs

  • React Context and useContext in Functional Components
  • Axios with async await in React
  • Notes on React Hooks
  • Notes of React Hooks
  • Actions and Action creators in Redux
  • Theming styled-components in React
  • Integrating Sentry with a React Native app built using Expo
  • .NET Core SignalR with React Native
  • React Native with Prettier, Typescript, ESLint and Expo
  • Status: DRAFT -- Building an app with React Native and Expo
  • Getting started with styled-components
  • Responsive SVGs in React
  • WordPress API - send post details with comments data
  • Adding a Custom Endpoint to WordPress
  • React State with Hooks
  • Implementing SVG icons in React
  • SVG Icon System in React
  • React Styled Components
  • React Router push link
  • Input Fields
  • React-Router
  • Component Styles
  • JSX file extension
  • React Router Basics
  • ReactRouter
  • Data States
  • Data and Props
  • Getting data IN
  • this & bind
  • Webpack
  • JS for React
  • Intro to React Ecosystem
  • Redux

  • Creating a ToDo app using Redux Toolkit and React Redux Hooks
  • Redux Actions in Depth
  • Redux Reducers in Depth
  • Modern React Redux in 2020 with Hooks and Toolkit
  • Getting started with Redux Saga
  • The case for Redux
  • Using Redux with React
  • General React-Redux Flow
  • Object.assign() vs Object spread operator
  • Middleware
  • Redux Intro
  • Troubleshooting Redux
  • Resources

  • Tool - SVG Cleaner
  • React, React Router and Redux Courses
  • DRY - Don't Repeat Yourself
  • Tool - Linux Dash
  • Markdown Tables Generator
  • Tool - Explain Shell
  • Tool - Display live Linux system stats (memory, CPU, IO)
  • Tool - Bash Prompt ($PS1) Generator
  • Book - Beyond Linux From Scratch (BLFS)
  • Book - Linux From Scratch (LFS)
  • Course - Practical Unix - Stanford
  • Book - Start Programming Now - No CS degree required
  • Book - Conquering the Command Line - Unix and Linux Commands for Developers
  • Book - Hardened Linux From Scratch (HLFS)
  • Book - Python for You and Me
  • Book - The Linux Command Line
  • System Administration

  • Setting up a WordPress Multisite Network in Subfolders
  • Add CORS Header to an ASP.NET MVC project
  • Enable CORS for WordPress API on Apache
  • Redirections with .htaccess file
  • Find out Linux boot time
  • Troubleshooting slow boot time on Ubuntu on an NVMe SSD
  • Dual booting Windows and Linux
  • Upgrade Gigabyte BIOS [H370M HD3 (rev. 1.0)]
  • Configure WiFi from command line (Ubuntu 18.04)
  • Install Firefox Nightly on Ubuntu Linux 18.04
  • Install GoDaddy SSL Certificate on Apache
  • Package management in Ubuntu with snap
  • Fix slow boot after deleting Swap partition
  • Status: DRAFT -- Enabling Virtualization on Ubuntu
  • Troubleshooing a Mac
  • getting Hard Drive information in Linux Ubuntu
  • Check Network Up/Down Link speed
  • Getting started with SSH on Windows Subsystem for Linux (WSL)
  • Getting started with Windows Subsystem for Linux (WSL)
  • Enabling pretty permalinks in Bitnami WordPress with SSL
  • Add a sudo user to an Ubuntu system
  • Update hostname on an Ubuntu machine
  • Status: DRAFT -- Mount an ext4 Linux drive on macOS Mojave
  • Install Custom fonts in Ubuntu 18.04
  • Making sense of Bitnami Apache confs
  • Add Host configurations to ssh config
  • Create a 'New Document' shortcut in Nautlius File Manager
  • Enable / Disable root user in Ubuntu
  • Mount NTFS drives in Linux
  • Setting up a frontend dev environment (Debian/Ubuntu)
  • Increasing performance on low-RAM
  • NTFS read/write on macOS
  • Tranfer between Debian Apache based setups
  • Install sedutil on Ubuntu
  • Configuring networking interfaces
  • Show/Hide hidden files in Finder
  • Get all kinds of information about your Mac machine using the Terminal
  • Resetting an 'Unavailable' Serial Number on a Mac
  • Dive into Linux (workshop notes)
  • Use rsync to mirror websites
  • Backups with tar
  • Checking log files
  • Intro to debconf
  • Taking care of prompt imputs from a script with Debconf
  • Image Optimization on Linux Servers using jpegoptim and optipng
  • Intro to Rootkit Hunter
  • Status: DRAFT -- Secure a Linux Ubuntu Server
  • Intro to Homebrew
  • SFTP Users for Website directory
  • Install a LAMP stack
  • Install PHP5 on Ubuntu 17.04 Zesty Zapus
  • Status: DRAFT -- Finding a system breach
  • Securing Wordpress
  • cPanel Web Templates and Skeleton Directory
  • Migrating server data and databases
  • Configure SFTP
  • Install ionCube Loader on Ubuntu 16.04
  • Get Linux System Information
  • Web Development

  • Setting up a contact form on Gatsby using Netlify Forms
  • Creating WordPress shortcodes
  • Show a country selection popup and save choice in Cookie
  • Adding CSS using jQuery
  • Drawing SVGs
  • Drawing with SVG paths and demystifying the code
  • Status: DRAFT -- Using Font Face Observer
  • Creating and using webp images
  • Notes on SVG Sprites
  • Gatsby in a day
  • Parcel
  • Browsersync
  • React Notes
  • Surge deployments in 2 minutes
  • Getting started with Gatsby
  • Hugo Templates in 15 Minutes
  • Hugo Snippets
  • SVG Sprites
  • Cracking responsive web typography
  • Developing a CSS style
  • Designing and Coding Web Forms
  • Moving from Jekyll to Hugo
  • Status: DRAFT -- Attributes in DOM
  • (JavaScript) Web APIs and their Interfaces
  • Adding and Removing Nodes (HTML Elements)
  • Status: DRAFT -- Feature Detection in Browsers, Shims and Polyfills
  • Querying the DOM
  • Status: DRAFT -- Window object
  • Define a clickable interactive map over an image with <map>
  • Redirect a site with .htaccess
  • How to include files in HTML
  • Page Speed Optimizations
  • Regex
  • An exhibit of Markdown
  • How to make websites in Urdu and use custom fonts
  • Workflow

  • Productivity Notes
  • Using workspaces like a pro in Ubuntu
  • Status: DRAFT -- DFrontend Development setup on Windows 10
  • Customizing Vim
  • Vim in Production
  • Screenshot shortcuts on macOS, Linux and Windows
  • Case-insesnitive tab auto-complete in the Terminal
  • Customizing tmux
  • Customizing Geany colorschemes and syntax highlighting
  • Text/Code Editor Showdown
  • Troubleshooting MAMP
  • Set up a new macOS machine with Homebrew-Cask
  • Status: DRAFT -- Set up Apache, PHP, MySQL, PHPMyAdmin on macOS Sierra
  • Getting started with Tmux
  • Create Grunt Snippets in Sublime Text
  • Working with Grunt
  • Setting up a dev environment on macOS
  • Open Files in New Tab by Default in Sublime Text 3
  • Vim Basics
  • How to create a Snippet in Sublime Text
  • My Gruntfile.js
  • Writing a Grunt Task for Website Speed Optimization
  • iOS & Swift

  • CocoaPods
  • iOS, Bluetooth Low Energy (BLE), CoreBluetooth and Swift - for noobs