Skip to content

Instantly share code, notes, and snippets.

Keybase proof

I hereby claim:

  • I am MicroDroid on github.
  • I am overcoder (https://keybase.io/overcoder) on keybase.
  • I have a public key whose fingerprint is 83D1 AA11 4438 817C 5C67 A709 2247 D3D5 EEF9 E310

To claim this, I am signing this object:

@MicroDroid
MicroDroid / mkwg.sh
Created February 6, 2020 22:36
Generate WireGuard peer config
#!/bin/bash
umask 077
# version of https://stackoverflow.com/a/43196141/2164304
generate_ip() {
LAST_IP=`grep -F "AllowedIPs" $LOCAL_PEER_CONFIG | cut -d '=' '-f2-' | cut -d '/' -f1 | xargs -n1 | sort -nrt . -k 3,3 -k 4,4 | head -n1`
IP_HEX=$(printf '%.2X%.2X%.2X%.2X\n' `echo $LAST_IP | sed -e 's/\./ /g'`)
NEXT_IP_HEX=$(printf %.8X `echo $(( 0x$IP_HEX + 1 ))`)
NEXT_IP=$(printf '%d.%d.%d.%d\n' `echo $NEXT_IP_HEX | sed -r 's/(..)/0x\1 /g'`)

مرجع مبسط للغة C++

نظرة عامة

بدلاً من استخدام الأرقام مثل 10110000 01100001 (Binary) للقيام بعملية معينة على الكمبيوتر, يمكن استخدام لغات برمجة مثل C++ والتي تسمح ب:

  • برمجة برامج معقدة بشكل اسهل (بكثير)

لكن لغات البرمجة لا يستطيع المعالج أن يتعامل معها بشكل مباشر وبذلك:

بعد كتابة الكود, نحتاج الى "تجميعه" (compile) وتحويله الى Binary ليصبح برنامج قابل للتشغيل.

  • تكامل غير محدد
    • تكاملات شهيرة
    • طرق حساب التكامل
      • الطريقة المباشرة
      • طريقة تغيير متحول
      • التكامل بالتجزئة
    • تكاملات التوابع الكسرية
    • تفريق كسر ناطق الى كسور بسيطة
    • تفريق كسر نظامي الى كسور بسيطة
    • تكامل التوابع المثلثية
@MicroDroid
MicroDroid / shorten-clipboard.sh
Last active October 18, 2021 06:37
Script to replace URL in clipboard with a shorter one using zws.im, probably assign a keyboard shortcut to run this script.
original=`xclip -o -sel clipboard`
if [[ $original == https://zws.im* ]]; then
notify-send "Already shortened" --icon=gtk-edit
exit 1;
fi
json=$(curl -s "https://us-central1-zero-width-shortener.cloudfunctions.net/shortenURL?url=$original")
if [ $? -eq 0 ]; then