2023-11-30

I Think I Know Who Satoshi Is

Happy hacking!!!

2023-11-20

What’s a Linked List, Anyway?

2023-11-03

Resolver el Cubo de Rubik

Este vídeo explica como funciona y como resolver el Cubo de Rubik.

Happy hacking!!!

2023-08-05

Digital Signatures - ECDSA, EdDSA and Schnorr

Happy hacking!!!

2023-07-30

Pan de lembas o pan élfico (Lord Of The Rings) | Superpilopi

Happy hacking!!!

2023-07-16

Bushidō. El código Samurái.

Happy hacking!!!

2023-07-08

Ars Mensoria. Demostración práctica de topografía romana

Happy hacking!!!

2023-06-06

Bitcoin Multisig Wallet 3/5 The Best Way to Store Your Bitcoin

Happy hacking!!!

2023-06-04

Defineme cypherpunk [chatgpt]

Cypherpunk refers to a movement that emerged in the late 1980s and early 1990s, characterized by its focus on privacy, cryptography, and individual freedom in the digital realm. The term is a combination of "cypher," referring to cryptographic code, and "punk," which symbolizes the rebellious and anti-establishment nature of the movement.

Cypherpunks advocate for the widespread use of strong encryption and cryptographic tools to protect privacy and secure communication. They believe that individuals should have control over their personal data and be able to engage in private, anonymous transactions without interference from governments, corporations, or other centralized authorities.

The movement gained prominence during the early days of the internet when concerns about surveillance, censorship, and government control over digital communication were growing. Cypherpunks actively developed and promoted technologies such as public-key cryptography, anonymous remailers, and digital currencies like Bitcoin, aiming to empower individuals and protect their privacy in the digital age.

Cypherpunk ideals are rooted in the belief that privacy is a fundamental human right and that technology can be a powerful tool for protecting individual freedoms. They envision a future where individuals have the ability to communicate, transact, and interact online with privacy, autonomy, and security. The cypherpunk movement has influenced various areas, including cryptography, cybersecurity, online privacy advocacy, and the development of decentralized technologies.

Happy hacking!!!

2023-05-27

Split text file into smaller multiple text file using command line

You can use:

split -l 5000 filename.txt

That creates files:

xaa
xab
aac
xad
xbe
aaf

Or you can use:

split -l 5000 -d --additional-suffix=.txt $FileName file

Where:

  • -l 5000: split file into files of 5,000 lines each.
  • -d: numerical suffix. This will make the suffix go from 00 to 99 by default instead of aa to zz.
  • --additional-suffix: lets you specify the suffix, here the extension
  • $FileName: name of the file to be split.
  • file: prefix to add to the resulting files.
Use man split for more info

P.S: Borrowed from here

Happy hacking!!!

2023-05-15

NO FUNCIONAN LOS ACCESOS DIRECTOS MODO AVION Y BLOQUEO DE TOUCHPAD (VANT)

Las teclas de función F1 (inhabilitar el touchpad) y F11 (activar/desactivar el modo avión) no funcionan por defecto en Linux con cualquier hardware. Los portátiles MOOVE14, MOOVE15 y ultraMOOVE se entregan con dichas funciones activas,pero si reinstalas la distribución Linux encontrarás que no puedes activar el modo avión (pulsando +) o activar/desactivar el touchpad (pulsando +).

Para habilitar ambas funciones hay que seguir los siguientes pasos:

  • Abrir terminal y ejecutar:
    sudo nano /etc/default/grub
  • cambiar la linea
    GRUB_CMDLINE_LINUX_DEFAULT="quiet splash"

    por la siguiente:

    GRUB_CMDLINE_LINUX_DEFAULT="quiet splash acpi_os_name=Linux acpi_osi="

    Grabamos los cambios (+), salimos (+) y ejecutamos en la terminal:

    sudo update-grub
    reboot
    
Y ¡listo!. Ya funciona. NOTA: Si has instalado un sistema operativo Windows en tu ordenador VANT y has instalado todos los controladores suministrados con él, dichas funciones deben funcionar correctamente desde dicho sistema operativo, ya que uno de los drivers se encarga de habilitar las funciones especiales del teclado .

Happy hacking!!!

2023-04-08

dame contexto para la frase "Temo a los griegos incluso cuando traen regalos" [ChatGPT]

Esta es una frase famosa del poema "Laocoonte" de Virgilio, que es un poeta romano del siglo I a.C. En el poema, Laocoonte, un sacerdote troyano, está advirtiendo a su pueblo sobre el caballo de madera gigante que los griegos han dejado fuera de las puertas de la ciudad de Troya como un supuesto regalo de paz. Laocoonte tiene sospechas y no confía en los griegos, y esta frase es su advertencia de que incluso cuando los griegos ofrecen algo aparentemente amistoso, deberían ser tratados con precaución y desconfianza. En la historia de la Guerra de Troya, los troyanos ignoran la advertencia de Laocoonte y aceptan el caballo de madera, lo que finalmente conduce a la caída de Troya.

2023-04-03

I want to usa a socks5 proxy, I want to install the simplest one that runs in linux. [ChatGPT]

One simple option for setting up a SOCKS5 proxy on Linux is to use the "dante" package, which provides a lightweight and easy-to-configure SOCKS server.

Here are the basic steps to install and configure dante as a SOCKS5 proxy on a Linux server:

  1. Install the dante-server package using your distribution's package manager. For example, on Ubuntu, you can run:

    sql
    sudo apt-get update sudo apt-get install dante-server
  2. Edit the /etc/socks.conf file to configure the proxy settings. Here's an example configuration file that allows connections from any IP address and requires authentication with a username and password:

    yaml
    logoutput: /var/log/socks.log internal: eth0 port = 1080 external: eth0 method: username # Require username/password authentication user.privileged: root user.notprivileged: nobody user.libwrap: nobody client pass { from: 0.0.0.0/0 to: 0.0.0.0/0 log: connect disconnect error method: username # Require username/password authentication } socksmethod: username # Require username/password authentication

    Note: You should replace eth0 with the name of the network interface that you want to use for the proxy server.

  3. Start the dante server using the command:

    sql
    sudo systemctl start danted.service

    You can also enable the service to start automatically at boot time using the command:

    bash
    sudo systemctl enable danted.service

That's it! Your SOCKS5 proxy should now be up and running on port 1080, and you can configure your applications to use it by specifying the IP address and port of the Linux server as the SOCKS proxy. For example, in a web browser, you can set the SOCKS proxy in the network settings to "127.0.0.1:1080" (assuming you're running the browser on the same machine as the proxy).

Happy hacking!!!

2023-03-23

¿Cómo calcular el número de calorías que debe comer una persona ? [ChatGPT]

como calcular el número de calorías que debe comer una persona ?

El número de calorías que una persona debe consumir depende de varios factores, incluyendo su edad, género, peso, altura, nivel de actividad física y objetivos de salud.

Para calcular el número de calorías que debe consumir una persona, se puede seguir los siguientes pasos:

  1. Calcular el metabolismo basal: El metabolismo basal es la cantidad de calorías que el cuerpo necesita para mantener las funciones básicas del organismo en reposo, como respirar y mantener la temperatura corporal. Se puede calcular utilizando fórmulas como la ecuación de Harris-Benedict o la ecuación de Mifflin-St. Jeor, que tienen en cuenta la edad, el género, el peso y la altura de la persona.

  2. Añadir el factor de actividad física: El siguiente paso es multiplicar el metabolismo basal por un factor que tenga en cuenta el nivel de actividad física de la persona. Por ejemplo, si una persona es sedentaria o tiene un trabajo de oficina, se debe multiplicar el metabolismo basal por un factor de 1.2 a 1.4. Si una persona es moderadamente activa, se debe multiplicar por un factor de 1.5 a 1.7. Si una persona es muy activa o tiene un trabajo físicamente exigente, se debe multiplicar por un factor de 1.8 a 2.0.

  3. Ajustar la ingesta de calorías en función de los objetivos de salud: Si la persona quiere perder peso, debe consumir menos calorías de las que quema. Si quiere mantener su peso actual, debe consumir la misma cantidad de calorías que quema. Si quiere ganar peso, debe consumir más calorías de las que quema.

Es importante recordar que estos cálculos son solo una guía y que cada persona es única. Siempre es recomendable consultar a un profesional de la salud o un nutricionista para obtener una evaluación individualizada y precisa de sus necesidades de calorías.

dame el algoritmo en java para calcularlas según esas fórmulas

Aquí te proporciono un ejemplo de código en Java que utiliza la ecuación de Mifflin-St. Jeor para calcular las necesidades calóricas de una persona:

java
import java.util.Scanner; public class CalculadoraCalorias { public static void main(String[] args) { Scanner scanner = new Scanner(System.in); // Pedir información del usuario System.out.print("Ingrese su edad: "); int edad = scanner.nextInt(); System.out.print("Ingrese su peso en kilogramos: "); double peso = scanner.nextDouble(); System.out.print("Ingrese su altura en centímetros: "); double altura = scanner.nextDouble(); System.out.print("Ingrese su género (1 = masculino, 2 = femenino): "); int genero = scanner.nextInt(); System.out.print("Ingrese su nivel de actividad física (1 = sedentario, 2 = moderadamente activo, 3 = muy activo): "); int actividad = scanner.nextInt(); // Calcular metabolismo basal según la ecuación de Mifflin-St. Jeor double metabolismoBasal = 0; if (genero == 1) { // Hombre metabolismoBasal = (10 * peso) + (6.25 * altura) - (5 * edad) + 5; } else if (genero == 2) { // Mujer metabolismoBasal = (10 * peso) + (6.25 * altura) - (5 * edad) - 161; } // Ajustar la ingesta de calorías en función del nivel de actividad física double factorActividad = 0; if (actividad == 1) { // Sedentario factorActividad = 1.2; } else if (actividad == 2) { // Moderadamente activo factorActividad = 1.5; } else if (actividad == 3) { // Muy activo factorActividad = 1.8; } double necesidadesCaloricas = metabolismoBasal * factorActividad; System.out.println("Su metabolismo basal es de " + metabolismoBasal + " calorías."); System.out.println("Sus necesidades calóricas diarias son de " + necesidadesCaloricas + " calorías."); } }

Este código utiliza la clase Scanner para obtener información del usuario (edad, peso, altura, género y nivel de actividad física), y luego aplica la ecuación de Mifflin-St. Jeor para calcular el metabolismo basal y ajusta la ingesta de calorías en función del nivel de actividad física para obtener las necesidades calóricas diarias. El resultado se muestra por pantalla mediante el método System.out.println().

dame la fórmula matemática sin nada adicional

La fórmula matemática para calcular el metabolismo basal (MB) utilizando la ecuación de Mifflin-St. Jeor es:

Para hombres: MB = (10 x peso en kg) + (6.25 x altura en cm) - (5 x edad en años) + 5

Para mujeres: MB = (10 x peso en kg) + (6.25 x altura en cm) - (5 x edad en años) - 161

Esta fórmula calcula la cantidad de calorías que el cuerpo necesita para realizar funciones básicas en reposo, sin tener en cuenta la actividad física ni otros factores. La ingesta calórica diaria total necesaria dependerá de factores adicionales, como la actividad física y los objetivos de salud.

Calculadora de calorías








Happy hacking!!!

2023-03-19

Lista de las versiones de Android y la versión máxima de Java compatible [ChatGPT]

Aquí hay una lista de las versiones de Android y la versión máxima de Java compatible:

  1. Android 1.0 - Java 5
  2. Android 1.1 - Java 5
  3. Android 1.5 Cupcake - Java 5
  4. Android 1.6 Donut - Java 5
  5. Android 2.0 Eclair - Java 6
  6. Android 2.2 Froyo - Java 6
  7. Android 2.3 Gingerbread - Java 6
  8. Android 3.0 Honeycomb - Java 6
  9. Android 4.0 Ice Cream Sandwich - Java 6
  10. Android 4.1 Jelly Bean - Java 7
  11. Android 4.4 KitKat - Java 7
  12. Android 5.0 Lollipop - Java 8
  13. Android 6.0 Marshmallow - Java 8
  14. Android 7.0 Nougat - Java 8
  15. Android 8.0 Oreo - Java 8
  16. Android 9 Pie - Java 8
  17. Android 10 - Java 8
  18. Android 11 - Java 8
  19. Android 12 - Java 8

Happy hacking!!!

2023-03-09

give me an example of a comunication between two nodes, as human readable as posible [ChatGPT]

Sure, here is an example of a communication between two nodes using the Bitcoin P2P network protocol, in a human-readable format:

Node A: Hi, I'd like to establish a connection with you. Here's some information about my software version and network address.

Node B: Thanks for the information. Here's my own software version and network address.

Node A: Great, it looks like we're both using the same protocol version. I'm ready to proceed with the connection.

Node B: I'm ready too. Let's send Verack Messages to confirm the connection.

Node A: Verack sent.

Node B: Verack received.

Node A: Now that we're connected, I'd like to share some information about other nodes in the network. Here's a list of IP addresses and network ports.

Node B: Thanks, I'll add those nodes to my list of peers.

Node A: I've discovered some new transactions that I'd like to share with you. Here's an Inv Message containing the transaction hashes.

Node B: Thanks, I'd like to know more about those transactions. I'm sending a Getdata Message to request the details.

Node A: Here's the Tx Message containing the transaction details.

Node B: Thanks for the information. I'd like to share a new block that I just discovered. Here's an Inv Message containing the block hash.

Node A: Thanks, I'd like to know more about that block. I'm sending a Getdata Message to request the details.

Node B: Here's the Block Message containing the block details.

Node A: Thanks for the block. It looks valid, so I'm adding it to my copy of the blockchain.

Node B: You're welcome. Thanks for verifying the block.

This is just one example of how two nodes might communicate using the Bitcoin P2P network protocol. In practice, there may be many more messages exchanged between nodes, depending on their specific roles and the information they need to share.

Happy hacking!!!

2023-03-06

List of all Classes loaded in the JVM

java -Xlog:class+load=info:classloaded.txt

Happy hacking!!!

2023-02-24

Merge two pdfs in the same page in GNU/Linux (Debian/Ubuntu)

If you have two pdfs and you want to print them in a single page, you can start by merging both in a single page in a 3rd pdf.

Maybe you need to install using the following:

sudo apt install texlive-extra-utils

Then you can merge using one of the following commands:

  • Vertical
    pdfjam *.pdf --nup 1x2 --outfile merged.pdf
  • Horizontal
    pdfjam *.pdf --nup 2x1 --outfile merged.pdf
  • Landscape
    pdfjam *.pdf --nup 2x1 --landscape --outfile merged.pdf

Happy hacking!!!