Wednesday, February 11, 2026

Gimp Horizontal Flip

 Automate  Horizontal flip by command line single and secure

First:

#!/bin/bash

for f in "$@"; do
    # Extract path, filename, and extension
    DIR="$(dirname "$f")"
    FILE="$(basename "$f")"
    NAME="${FILE%.*}"
    EXT="${FILE##*.}"

    OUTPUT="$DIR/${NAME}_flipped.$EXT"

    gimp -i -b "(let* (
      (image (car (gimp-file-load RUN-NONINTERACTIVE \"$f\" \"$f\")))
      (drawable (car (gimp-image-get-active-layer image)))
    )
    (gimp-item-transform-flip-simple drawable ORIENTATION-HORIZONTAL TRUE 0)
    (gimp-file-save RUN-NONINTERACTIVE image drawable \"$OUTPUT\" \"$OUTPUT\")
    (gimp-quit 0)
    )"
done

Second:

#!/bin/bash

for f in "$@"; do
    DIR="$(dirname "$f")"
    FILE="$(basename "$f")"
    NAME="${FILE%.*}"
    EXT="${FILE##*.}"

    OUTPUT="$DIR/${NAME}_flipped.$EXT"
    TMP="$(mktemp --suffix=".$EXT")"

    # Run GIMP flip
    gimp -i -b "(let* (
      (image (car (gimp-file-load RUN-NONINTERACTIVE \"$f\" \"$f\")))
      (drawable (car (gimp-image-get-active-layer image)))
    )
    (gimp-item-transform-flip-simple drawable ORIENTATION-HORIZONTAL TRUE 0)
    (gimp-file-save RUN-NONINTERACTIVE image drawable \"$TMP\" \"$TMP\")
    (gimp-quit 0)
    )" >/dev/null 2>&1

    # Check result
    if [ $? -eq 0 ] && [ -s "$TMP" ]; then
        mv "$TMP" "$OUTPUT"
        echo "✔ Flipped: $OUTPUT"
    else
        echo "✖ ERROR flipping $f"
        rm -f "$TMP"
    fi
done
 

 

Monday, February 09, 2026

Alternatives to overleaf

 

[1] https://typst.app/pricing/ 

[2] https://app.inscrive.io

[3] Using LLM https://prism.openai.com



References:

[1] https://inscrive.io/articles/overleaf-alternatives

 

 

Alternatives to coding using LLMs


[1] GLM-4.7 https://chat.z.ai/   (too much time/wrong answers)

 

Sunday, February 01, 2026

OSE SUNAT

Nubefact

[1] https://www.operador.pe/registro 

[2] https://probar-xml.nubefact.com/

[3] xml examples https://drive.google.com/uc?id=1F5Tk3Wo23bNHcskf7PuPEjyZeU8q3Kwk&export=download&authuser=0

Android on docker

 

A minimal and customizable Docker image running the Android emulator as a service.

https://github.com/HQarroum/docker-android

Friday, January 30, 2026

Chrome disable keyring prompt

 Add --password-store=basic to the end of the command line. 

google-chrome-stable --password-store=basic.

Thursday, January 29, 2026

Debug on Firefox

 Disable timers on current web page

in console write the following command

let id = setTimeout(() => {}, 0); while (id--) { clearTimeout(id); clearInterval(id); } 

 

Unminify JavaScript code

https://unminify.com/

Wednesday, January 28, 2026

Script service on Ubuntu

Install odoo as service  


Step 1: Create a script

 user  vi /usr/local/bin/odoo-start.sh  
#!/bin/bash
# Optional: Port forward example with socat (install via apt install socat)
#socat TCP-LISTEN:8080,fork TCP:localhost:8069 &
# Your Odoo command (example for Odoo 17)

#exec /path/to/odoo-bin -c /path/to/odoo.conf --addons-path=/path/to/addons -d your_db --workers=2

export PYTHONHOME=/usr/local  # Or remove if not required
exec /home/user/Software/odoo-17.0/venv/bin/python3 /home/user/Software/odoo-17.0/odoo-bin  --http-port=8070 -d casa17g4

Step 2: Create service

 user  vi /etc/systemd/system/odoo17.service  
[Unit]
Description=Odoo 17 Service
After=network.target postgresql.service

[Service]
Type=simple
User=user
Group=user
WorkingDirectory=/home/user/Software/odoo-17.0
ExecStart=/usr/local/bin/odoo-start.sh
Restart=always
RestartSec=10

[Install]
WantedBy=multi-user.target

 

Step 3: Run and Debug

sudo systemctl daemon-reload 

sudo systemctl reset-failed odoo17 

sudo systemctl start odoo17


sudo journalctl -u odoo17 -e #  See error

sudo journalctl -u odoo17 -f #  See live 

 

Step 4: Set it for boot

systemctl list-unit-files --type=service --state=enabled | grep odoo

sudo systemctl enable odoo17

systemctl list-unit-files --type=service --state=enabled | grep odoo

 

sudo systemctl disable odoo17  # disable from boot list
 

 


Debug tools

 

Translate tokens (decode)

[1] https://www.jwt.io/

Monday, January 26, 2026

Javascript DEBUG functions

 

 

Object.entries(obj)
const obj = { foo: "bar", baz: 42 };
console.log(Object.entries(obj)); // [ ['foo', 'bar'], ['baz', 42] ]
 
const obj = { foo: "bar", baz: 42 };
const map = new Map(Object.entries(obj));
console.log(map); // Map(2) {"foo" => "bar", "baz" => 42}
// Using for...of loop
const obj = { a: 5, b: 7, c: 9 };
for (const [key, value] of Object.entries(obj)) {
  console.log(`${key} ${value}`); // "a 5", "b 7", "c 9"
}

// Using array methods
Object.entries(obj).forEach(([key, value]) => {
  console.log(`${key} ${value}`); // "a 5", "b 7", "c 9"
});
  
const object = {
a: 1,
b: 2,
c: 3,
};

console.log(Object.getOwnPropertyNames(object));
// Expected output: Array ["a", "b", "c"]
 
  
const object1 = {
  a: 'somestring',
  b: 42,
  c: false
};

console.log(Object.values(object1));
// Expected output: ["somestring", 42, false]

 

 

 

References:

[1] https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Object/entries

[2] https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Object/getOwnPropertyNames

 

Sunday, January 25, 2026

Find free cameras

 

 

https://github.com/2l7b/public-camera-indexing-insights

Interactive Learning

Interactive learn for example docker, kubernetes, linux, python and more

Resources:

[1] https://kodekloud.com/studio/labs

Friday, January 23, 2026

Math equations edition tools

Solve equation/equations from image

[1] Image to Latex code (txt) https://notegpt.io/photo-math 

 

Wednesday, January 21, 2026

Tools

[1] extract endpoints/URLs https://github.com/s0md3v/Diggy/tree/master

[2] alternative to nmap https://github.com/s0md3v/Smap

 

Friday, January 02, 2026

Juicio Fujimori

Testimonios:

[1]  Sesion 29 / Santiago Martin Rivas https://www.youtube.com/watch?v=yKYVZirFdhs

[2]  Sesion 30 / Santiago Martin Rivas https://www.youtube.com/watch?v=rXx4uFF8yaM

[3] Sesion 28 / Carlos Pichilingue

[4] Sesion 57/  Gral Rodolfo Robles Espinoza https://www.youtube.com/watch?v=uq6hwVLTLsw (Mafia Montesinos/Generales/Ejercito alternativo)

Caso Barrios Altos

[4] Sesion 17 / Pedro Suppo SƔnchez https://www.youtube.com/watch?v=nVy6ysUzIWE

[5] Sesion 24 / HĆ©ctor Gamarra Mamani https://www.youtube.com/watch?v=IyNIHDJD9QE 

Caso Cantuta

[6] Sesion 19/ Ɓngel Felipe SauƱi Pomaya https://www.youtube.com/watch?v=A2lsUQ7VKTw

[7] Sesion 23/ Pablo AtĆŗncar Cama https://www.youtube.com/watch?v=BBq6IqQrOAY

Hoy en dia

[1]  Hercules Gomez Casanova sale libre https://www.youtube.com/watch?v=w2rhaj_GiBI

Sentencia Final

Sesion 161 https://www.youtube.com/watch?v=zLl9A69dTuU

Referencias:

[1]  Escuela de las Americas, egresados https://derechos.org/soa/pe-mq.html

 

Terminal code assistant

  [1] Opencode https://opencode.ai/download