Skip to content

Instantly share code, notes, and snippets.

@designeng
designeng / add-new-user.sh
Last active January 30, 2024 00:52 — forked from teocci/add-new-user.sh
A simple bash shell script to create a linux user and optionally make them a sudoer
#!/bin/bash
ROOT_UID=0 # Only users with $UID 0 have root privileges.
E_NOTROOT=87 # Non-root exit error.
# Run as root only (sudo counts)
if [ "$UID" -ne "$ROOT_UID" ]
then
echo "You need root priveledges to run this script"
exit $E_NOTROOT
@designeng
designeng / ffmpeg-to-480p.sh
Created February 24, 2023 16:42 — forked from blacklee/ffmpeg-to-480p.sh
ffmpeg convert video to 480p
ffmpeg -i input.mp4 -s hd480 -c:v libx264 -crf 23 -c:a aac -strict -2 output.mp4
@designeng
designeng / free-database-hosting.md
Created September 26, 2022 18:51 — forked from bmaupin/free-database-hosting.md
Free database hosting
@designeng
designeng / index.js
Created July 17, 2022 11:19 — forked from jbesw/index.js
Language translation with S3 and AWS Translate
/*
MIT No Attribution
Permission is hereby granted, free of charge, to any person obtaining a copy of this
software and associated documentation files (the "Software"), to deal in the Software
without restriction, including without limitation the rights to use, copy, modify,
merge, publish, distribute, sublicense, and/or sell copies of the Software, and to
permit persons to whom the Software is furnished to do so.
@designeng
designeng / git-cheat-sheet.md
Created December 22, 2021 16:38 — forked from loonies/git-cheat-sheet.md
Git Cheat Sheet

Git Cheat Sheet

Although there are enough resources on the web about Git, I will keep this one for my own reference. Minimal Git version required 1.7.2.

TOC

@designeng
designeng / parse_gist.js
Created September 20, 2021 21:33 — forked from tchittick/parse_gist.js
Recursion through a Cheerio.js object and writing to .CSV
/*An object created to parse through a large number of HTML
blocks quickly. Used with cheerio.js. Begin via:
parse.run($('some-div')[0])
*/
var fs = require('fs'),
cheerio = require('cheerio');
var Parse = function(block) {
@designeng
designeng / MANUAL.md
Created January 28, 2021 12:27 — forked from kimyvgy/MANUAL.md
Deploy nodejs app with gitlab.com and pm2

Deploy nodejs app with gitlab.com and pm2

This manual is about setting up an automatic deploy workflow using nodejs, PM2, nginx and GitLab CI. It is tested on:

  • Target server: Ubuntu 16.04 x64. This is suitable for Ubuntu 14.x.
  • Windows 10 on my PC to work.
@designeng
designeng / blueGreenDeployment.js
Created September 22, 2020 18:08 — forked from brandonros/blueGreenDeployment.js
node.js + nginx + PM2 rolling release/blue green deployments (zero downtime)
const Promise = require('bluebird');
const fs = require('fs');
const execa = require('execa');
class BlueGreenDeployment {
constructor({appName, blueProxyPassPattern, greenProxyPassPattern, nginxConfigFile}) {
this.appName = appName;
this.blueProxyPassPattern = blueProxyPassPattern;
this.greenProxyPassPattern = greenProxyPassPattern;
this.nginxConfigFile = nginxConfigFile;
@designeng
designeng / hidden-classes-in-js-and-inline-caching.md
Created February 22, 2020 19:52 — forked from twokul/hidden-classes-in-js-and-inline-caching.md
Hidden classes in JavaScript and Inline Caching

Hidden classes in JavaScript and Inline Caching

Knowing how internals work is always a good. Pretty much for everything. Cars, trains, computers, you name it. It gives you an insight on what happens under the hood. You also act/react differently based on this knowledge.

As you might have guessed, it’s also true for web development. Knowledge of CSS transitions allows you to achieve better performance and not to use JavaScript in most cases. Knowledge of V8 internals allows you to write more performant JavaScript code. So let’s talk about V8 a little.

A little about V8

V8 is a JavaScript engine built by Google. Firefox built SpiderMonkey, Opera built Carakan and Microsoft built Chakra. One very important difference between V8 and other JavaScript engines is that V8 doesn’t generate any intermediate code. It compiles JavaScr

@designeng
designeng / Gulpfile.js
Created July 23, 2019 13:22 — forked from webdesserts/Gulpfile.js
Automatically reload your node.js app on file change with Gulp (https://github.com/wearefractal/gulp).
// NOTE: I previously suggested doing this through Grunt, but had plenty of problems with
// my set up. Grunt did some weird things with scope, and I ended up using nodemon. This
// setup is now using Gulp. It works exactly how I expect it to and is WAY more concise.
var gulp = require('gulp'),
spawn = require('child_process').spawn,
node;
/**
* $ gulp server
* description: launch the server. If there's a server already running, kill it.