Skip to content

Instantly share code, notes, and snippets.

View mahmoud-eskandari's full-sized avatar
🪲
What the bug? WTB?

Mahmoud Eskandari mahmoud-eskandari

🪲
What the bug? WTB?
View GitHub Profile

Keybase proof

I hereby claim:

  • I am mahmoud-eskandari on github.
  • I am mahmoud_etc (https://keybase.io/mahmoud_etc) on keybase.
  • I have a public key whose fingerprint is E564 7797 34FB 957A E0DE D9B0 C63E FFE4 4AA0 7B64

To claim this, I am signing this object:

@mahmoud-eskandari
mahmoud-eskandari / main.go
Last active June 13, 2019 19:42
Recursive factorial calculator without if
package main
import "fmt"
func main() {
fmt.Println(Factorial(65))
}
func Factorial(n uint64) uint64 {
factorialOp(&n, 1, n)
@mahmoud-eskandari
mahmoud-eskandari / Numberformat.go
Last active August 11, 2021 12:34
Number format without array reverse in golang
func NumberFormat(s string) (out string) {
ln := len(s)
mod := ln % 3
m := strings.Split(s, "")
for k, v := range m {
if (mod == 0 && k > 0 && k%3 == 0 && k < ln) ||
(mod > 0 && k >= (mod) && (k+(3-mod))%3 == 0 && k < ln) {
out += ","
}
out += v
@mahmoud-eskandari
mahmoud-eskandari / docker-docker-compose-install.sh
Last active December 19, 2022 11:14
Docker and Docker Compose installation on Linux
curl -fsSL https://get.docker.com | sh
curl -L "https://github.com/docker/compose/releases/download/$(curl --silent "https://api.github.com/repos/docker/compose/releases/latest" | grep -Po '"tag_name": "\K.*?(?=")')/docker-compose-$(uname -s)-$(uname -m)" -o /usr/local/bin/docker-compose
chmod +x /usr/local/bin/docker-compose
ln -s /usr/local/bin/docker-compose /usr/bin/docker-compose
@mahmoud-eskandari
mahmoud-eskandari / validateCard.js
Last active June 22, 2024 19:05
گولنگ و پی اچ پی اعتبار سنجی کارت عابر بانک ایران در جاوا اسکریپت , Iranian bank cards validator function, Javascript Golang php ,تابع تشخیص صحت کارت عابربانک
"use strict";
// By Mahmoud Eskandari @ MIT license
function validateCard(card) {
if (typeof card === 'undefined'
|| card === null
|| card.length !== 16) {
return false;
}
let cardTotal = 0;
for (let i = 0; i < 16; i += 1) {
@mahmoud-eskandari
mahmoud-eskandari / _flattenNestedMap.js
Created April 16, 2020 17:11
flatten nested array of objects by a key
function flattenMap(itemList, key) {
return itemList.flatMap(item => {
if (typeof item[key] === 'undefined' || item[key].length === 0) {
return item;
}
let childs = item[key];
delete item[key];
return [item, ...flattenMap(childs, key)];
});
}
@mahmoud-eskandari
mahmoud-eskandari / GolangSimpleEval.go
Last active May 19, 2020 10:45
Golang Simple Eval string
func EvalStr(str string, input map[string]string) string {
for key := range input {
re := regexp.MustCompile(`(?mU)\[` + key + `\](.*)\[/` + key + `\]`)
for _, match := range re.FindAllString(str, -1) {
if len(input[key]) > 0 {
inner := strings.Replace(match, `[`+key+`]`, "", -1)
inner = strings.Replace(inner, `[/`+key+`]`, "", -1)
str = strings.Replace(str, match, inner, -1)
} else {
str = strings.Replace(str, match, "", 1)
@mahmoud-eskandari
mahmoud-eskandari / README.md
Last active March 11, 2025 16:59
SSH Tunnel as systemd service

${LOCAL_ADDR IP:PORT}

یعنی سرور ایرانتون و پورت داخلی که میخواهید روش ساکس داشته باشید و باید با این جایگزین بشود.

مثال:

10.10.10.10:9090

و قسمت پایین هم یوزر سرور خارجتون و آدرس IP سرور خارجیتونه که باید جایگزین کنید تو خط 7 فایل ssh-tunnel-as-systemd.sh

@mahmoud-eskandari
mahmoud-eskandari / Mount-ext4-disk.text
Last active July 1, 2020 14:04
Mount a new disk to linux
sudo -i
# example sda
lsblk >> get list of partitions
fdisk /dev/sda
>> New Partition
n
@mahmoud-eskandari
mahmoud-eskandari / CompleteListOfMimeTypes_mime_to_suffix.json
Last active May 2, 2021 02:05
Complete list of mime types to file extensions/suffixes and vice versa
{
"application/andrew-inset": [
"ez"
],
"application/applixware": [
"aw"
],
"application/atom+xml": [
"atom"
],