Skip to content

Instantly share code, notes, and snippets.

View realyukii's full-sized avatar
👀
Observing the pattern

ReYuki realyukii

👀
Observing the pattern
View GitHub Profile
@realyukii
realyukii / time.sh
Last active April 10, 2024 02:21
Useful command to remind you about time
#!/usr/bin/sh
watch -n 0.1 "date +\"%d-%m-%Y %H:%M:%S.%9N\""
@realyukii
realyukii / alert-lowbat.sh
Last active April 17, 2024 02:40
auto shutdown on low battery
#!/bin/sh
threshold=10 # threshold percentage to trigger alert
while :; do
capacity=$(cat /sys/class/power_supply/BAT1/capacity)
# If battery is discharging with capacity below threshold
if [ "${capacity}" -lt ${threshold} ];then
# Send a notification that appears for 300000 ms (5 min)
@realyukii
realyukii / client.js
Created March 29, 2024 15:19
Tried simple websocket communication
const socket = new WebSocket("ws://localhost:8080")
socket.onopen = function (e) {
alert('[open] connection established')
alert('sending data to server')
socket.send('My name is who am i?');
}
socket.onmessage = function (ev) {
alert(`[message] data received from srv: ${ev.data}`);
@realyukii
realyukii / redsocks.rules
Created March 23, 2024 13:04
iptables rules for redsocks
# Transparent SOCKS proxy
# See: http://darkk.net.ru/redsocks/
*nat
:PREROUTING ACCEPT [0:0]
:INPUT ACCEPT [0:0]
:OUTPUT ACCEPT [0:0]
:POSTROUTING ACCEPT [0:0]
:REDSOCKS - [0:0]
@realyukii
realyukii / ascii-sort.c
Last active May 6, 2024 11:47
Sorting in C
// sorting alphabet
// reference: https://stackoverflow.com/a/64693036/22382954
#include <stdio.h>
#include <stdlib.h>
#include <time.h>
int main(void)
{
srand(time(NULL));
@realyukii
realyukii / keep-alive.js
Last active April 11, 2024 09:57
gwrok keep-alive
const net = require('node:net');
function keepAlive(ephPort, intervalId) {
const socket = new net.Socket();
socket.setTimeout(1000);
socket.connect(port, process.env.GWROK_IP, () => socket.destroy());
// stop the interval, indicate either the gwrok server no longer accept request
// or just bad internet connection and should retry if this is the case.
// for now we not perform retry, just stop the interval.
socket.on('timeout', () => {
@realyukii
realyukii / diff.sh
Created March 22, 2024 02:58
Script for diff the paragraph
#!/bin/bash
# used for checking grammar, it uses Internal Field Separator
# related link: https://stackoverflow.com/questions/454427/string-difference-in-bash
# todo: figuring out a better algorithm than checking word by word in a linear fashion
# Function to compare two words
compare_words() {
local word1="$1"
local word2="$2"
if [[ "$word1" != "$word2" ]]; then
@realyukii
realyukii / revision.md
Last active July 13, 2024 18:59
Git and SSH

Better format

Authenticate #git through #ssh

Generate asymmetric key using the command below:

cd ~/.ssh
ssh-keygen -t rsa
@realyukii
realyukii / print_piped.c
Last active November 29, 2023 03:04
Iseng on t.me/c/1987506309/609/1516
#include <stdio.h>
int main(void) {
char buf[10];
fread(buf, 1, 10, stdin);
fwrite(buf, 1, 10, stdout);
return 0;
}
@realyukii
realyukii / processor_arch.md
Last active November 3, 2023 14:16
A brief summary of processor architecture and operating system design

List of processor architecture

Here's the list of processor architecture, Classified by ISA and architectural complexity

  • CISC
    • x86 and x86-64 or AMD64 are the same instruction sets, the only difference is "64-bit extension"
  • RISC
    • ARM
    • RISC-V
  • MIPS