Posts

Showing posts from March, 2023

An Ambitious Abandoned Project

Back in September, 2022, I was constantly downloading videos from Twitter using some random website. I noticed that it would be much better if only there was a "Download" button directly in each tweet, so I didn't have through the whole process of copying, pasting, and downloading the Tweet links in a third party website. I looked if there was any extensions that did what I was looking for, and I kind of found a couple, but they looked shady, and they haven't been updated in a long time. And so my journey began I learned to create a chrome extension in which I could execute some code. That step was not really hard, in fact, it reminded me of when I first created Cereza (my first Discord bot), and how I had to take the time to read documentation and follow tutorials. Overall, it was a great learning experience. After creating the extension, I started investigating about the Twitter API. The Twitter API has a variety of versions, but you can divide them in V1.1, and V2 ...

The Light Theme Dilemma

Image
Throwback  A year ago (around March or April 2022) I was working on the hardest function of the WhatsApp Chatlog Interpreter yet, the Light Theme option. This was especially hard because the biggest projects that I have ever worked on, are not particularly oriented to design or frontend in general. Cereza, and some other secret projects of mine that never saw light, were discord bots with more than 1000 lines of code in total. Now, I know that 1000 lines is not really that much, but keep in mind that those projects are the result of months of work and optimization, so they are some pretty valuable 1000 lines to me. What I'm really trying to say, is that the vast majority of my coding experience is in the backend side of things, Cereza and the other bots that I'm talking about worked entirely in NodeJS, with no real design to be made. That's why frontend and CSS in general represent a challenge to me, so I got to catch up and develop some skills there. Desperation I admit it...

Small Reflections About My Hobby

I like programming, I like coding, I like learning about Computer Science, but it's just not your average hobby that you can talk to your grandma about. I'm on spring break right now (well, not really spring break since Ecuador does not have the spring season, but whatever), and I've been using my time to work on old and new programming projects, I am making good use of my time, and I'm happy about it. But, when I go visit some family, or when someone tries to make small talk with me, they usually ask me "So what have you been up to?", and that's a perfectly valid question, but for some reason I just can't answer it. I can't just casually say "programming", because here, it is not a normal hobby, and I can't pretend that it is. It'd be like saying "I talk with sheep". I would gladly talk about my projects and the stuff I'm currently learning to someone interested in the topic, but when a family member asks me what I...

Another one to the book baby

Midnight greetings, my dear world; I'm in my room, the night is silent, and I'm listening to some music. Such a perfect situation to start working on something! I don't even know what I'll work on yet; actually, I don't even know what I'm going to name this post! Ok, so I was taking a look at the JavaScript code of the WCI, and found this inside a function: 1 2 3 4 5 6 7 8 9 10 if (usuario == true ) { estructura_mensaje.classList.add( "originalmente2" ) estructura_mensaje.classList.add( "friend_msg" ); } else if (usuario == false ) { estructura_mensaje.classList.add( "originalmente1" ); estructura_mensaje.classList.add( "my_msg" ); } If you recall from the Quick Lessons in Optimization  post, repetitive code is malpractice, so I'll try to optimize it a little bit. So, after a little tweaking, the code now looks like this: 1 2 estructura_mensaje.classList.add(usuariooriginal); e...

Quick Lessons in Optimization

After finally getting the first regex version of the WhatsApp Chatlog Interpreter (WCI) to work, I can now finally start working on the perfectionism stage. Optimizing Code Optimizing code is always important not only because it makes the program itself better, but it also makes you used to good coding habits. I was revising the WCI's code, and stumbled upon these lines: 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 function botonejecutar1() { //CSS COLORES botonusuario1.style.backgroundColor = "#005c4b" ; botonusuario1.style.color = "white" ; botonusuario2.style.backgroundColor = "#202c33" ; botonusuario2.style.color = "white" ; //CAMBIANDO DE LUGARES LOS MENSAJES for ( var i = 0 ; i<=mensajes_usuario1.length- 1 ; i++) { mensajes_usuario1[i].classList.add( "my_msg" ); mensa...