Luis David Licea Torres

About me

I am a computer science graduate, and I am interested in software development.

I have worked as a research assistant by doing data processing and data analysis. I heavily used the numpy and pandas Python modules while doing this research. That being said, I also have former experience with Java, C#, and Swift, and all of my knowledge of C++ and Rust has been self-taught.

Although I am not a web developer, the cross-platform nature of web-technologies makes web-based applications too convenient to be overlooked. Therefore, I took the initiative to design a lean website so that people could reach me more easily, and so I could learn about web development.

  • Benchmarking recursion in different languages

    I used the Fibonacci sequence to test the speed of recursive calls in different languages. Take the results with a grain of salt because my computer is not a controlled environment. I found that Python was slower than I expected, while JavaScript was faster than I expected. As for Bash, I found it pointless to continue measuring after the 5-hour mark.

  • Benchmarking Python multiprocessing and multithreading

    I benchmarked the Fibonacci sequence using multiprocessing and multithreading. I found that multiprocessing was faster than multithreading by approximately a factor of p, where p is the number of processes or threads. In other words, five processes working on one task each will finish approximately five times faster than five threads working on one task each, where the given tasks require the same number of calculations to complete. Creating processes was relatively slow compared to creating threads, but the time it took to create the processes was negligible when executing long-running programs.

  • Shortest C program with a segmentation fault

    What is the shortest C program with a segmentation fault that you can write?

  • Logic circuit for a two-floor elevator

    What is the minimum number of ways to test a two-floor elevator with two buttons? One button is for floor 1 and the other button is for floor 2. We can assume that if both buttons are pressed simultaneously, the elevator will ignore the current floor button and go to the other floor. If we create a truth table we will see that there are 8 possible outcomes.

  • How to block YouTube on your phone and computer

    Watching YouTube, becoming unaware of time, and missing the entire day is common. Will power is not enough to moderate your internet habits because it requires perpetual, active conscientiousness and abstinence, so relying on device customization is better in the long run because it does not require effort on your part past the initial setup.

  • How to export and import GPG key pairs

    For context, GPG key pairs are necessary for password managers such as pass. Migrating computers requires migrating the GPG key pairs or else pass will be unable to load or create passwords. Migrating GPG pairs requires exporting them in the original computer and exporting them in the target computer. That is what this tutorial shows.

  • How to sharpen blurry asteroid images

  • La diferencia entre teoría e hipótesis

    Una teoría es increíblemente detallada, es lo más cercano que existe a la verdad. Una teoría tiene un peso similar a una ley, así como la ley de la gravedad. Una hipótesis, por el otro lado, es una conjetura, un tanteo. Solo cuando la comunidad científica (es decir, varias organizaciones y universidades al rededor del mundo) ponen a prueba una hipótesis, es que la hipótesis se convierte en una teoría.