Skip to content

Instantly share code, notes, and snippets.

View terremoth's full-sized avatar
🌄
Open to work. #HireMe #OpenToWork

Lucas M. Dutra terremoth

🌄
Open to work. #HireMe #OpenToWork
View GitHub Profile
@terremoth
terremoth / handle_keypress_linux.php
Last active November 14, 2024 03:57
How to handle keypress non blocking real time get pressed keys on PHP (Linux only)
<?php
$stdin = fopen('php://stdin', 'r');
system('stty cbreak -echo');
stream_set_blocking($stdin, false);
while (1) {
if ($keypress = fgets($stdin)) {
@terremoth
terremoth / load-image-from-file-input.js
Last active November 6, 2024 01:45
Load or render image to <img> after input file load
/*
MIT License
Copyright (c) 2024 Terremoth (github.com/terremoth)
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, subject to the following conditions:
The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
@terremoth
terremoth / db_connection_test_example.php
Last active October 3, 2024 21:41
Test connection to the database (mysql, pgsql etc) generalist script
<?php
// change credentials below and then run this php script from terminal
$driver = 'mysql';
$host = 'localhost';
$port = 3306;
$dbname = 'test';
$user = 'root';
$password = '';
@terremoth
terremoth / cf.php
Created June 18, 2024 22:41
Gets the input string from terminal stream and converts all the words to uppercase first chars
<?php
/**
* @author terremoth
* @license GNU General Public License, version 3
*/
$stream = file_get_contents("php://stdin");
$rows = explode("\n", $stream);
foreach ($rows as $row) {
@terremoth
terremoth / tricks.py
Created April 27, 2024 03:15
Python string formatting tricks
number: int = 1_000_000_000
print(number) # 1000000000
print(f'{number:_}') # 1_000_000_000
print(f'{number:,}') # 1,000,000,000
var: str = 'var'
print(f'{var:>20}')
@terremoth
terremoth / zeus.ps1
Last active March 14, 2024 02:36
Zeus Package Manager for Athena (PS2 - JS) first draft made in powershell
Write-Output "Zeus Package Manager for AthenaEnv PS2 libraries and Modules"
Write-Output "Made by github.com/terremoth"
$command = $args[0]
$library = $args[1]
$modulesDir = "athena_libs"
$libPath = "https://api.github.com/repos/terremoth/athenaenv-libs/contents/"+$library
$packageManagerFunction = "install", "update", "remove", "search"
$actualPath = $pwd
@terremoth
terremoth / bot_dfm.py
Last active April 6, 2024 03:25
Bot DFM
import pyautogui
import random
import time
import keyboard
screenWidth, screenHeight = pyautogui.size()
def random_sleep():
return random.uniform(0.625, 1.555)
@terremoth
terremoth / dd.php
Last active December 11, 2023 23:20
Simple DD like tool made in PHP, just change the disk you want to read and dump
<?php
echo "Disk size: ".disk_total_space("D:").PHP_EOL;
$disk = fopen('\\\\.\\D:', 'rb+'); //escaping the escape
$chunk_size = 4096;
while (!feof($disk)) {
$bin_data = fread($disk, 4096);
@terremoth
terremoth / mbr.php
Last active December 11, 2023 17:55
Check the MBR or GPT content from the Disk. Works for cli and web
<?php
$is_terminal = php_sapi_name() == "cli";
$td_tag_init = "\t".'<td>';
$td_tag_end = '</td>'.PHP_EOL;
$tr_tag_init = '<tr>'.PHP_EOL;
$tr_tag_end = '</tr>'.PHP_EOL;
$to_html_init = '&#';
$to_html_end = ';';
$new_line_code = '<br>'.PHP_EOL;
@terremoth
terremoth / quanto_cobrar.js
Last active December 10, 2023 12:58
Quando cobrar bruto por algo para saber quanto quer ganhar, sabendo que vai ter uma taxa de desconto em cima do preço
function quanto_cobrar(quanto_quero_ganhar, taxa_de_desconto) {
let i = 0;
function loop(valor) {
let resultado = parseFloat((valor - (valor * taxa_de_desconto)).toFixed(2));
let acrescentar = parseFloat((valor - resultado).toFixed(2));