Charlene Delfin's Blog

July 18, 2023

Week 11 Recap: #100DaysOfCode

Image by Marco from Pixabay Day 71: July 10, 2023


Today's Progress: I decided to pause cleaning my code and check if it was working on freeCodeCamp. I discovered that it actually had two bugs I didn't see. I fixed my map method to remove the first bug, but I still cannot find what is causing the second bug (the change should have only one one-dollar bill).

Thoughts: I find it really mysterious how there are so many one-dollar bills in the change.


Day 72: July 11, 2023


Today's Progress: I noticed that I had been reading my code from top to bottom too many times without finding the bug, so I decided to read it from the opposite direction. I thought I found it, but it turned out to be not the bug. So I started using duck debugger to visualize what was happening. I left a note on top of the file to mark my progress for when I get back.

Thoughts: Wherever that bug is, it's most possibly associated with the sum variable. 🤔


Day 73: July 12, 2023


Today's Progress: I finally found the bug from yesterday and fixed it. I proceeded to looking for and fixing another bug. This second bug is hard to fix because I had previously created it to fix another bug (the repeating TEN).

Thoughts: I would not want to apply for a job one day and have someone from the company look at my freeCodeCamp solutions and see how messy my code was, but sometimes, I am tempted to submit this program as is.


Day 74: July 13, 2023


Today's Progress: I fixed the new bug, but now my program looks terrible. There is only one bug left to fix, but I'm intentionally keeping it there so that freeCodeCamp wouldn't mark my course as finished yet. So that I can still clean my code.

Thoughts: I don't know why I'm suddenly so tired right now.


Day 75: July 14, 2023


Today's Progress: I fixed the last bug anyway, but I won't submit this program to freeCodeCamp yet. I will remove the garbage code first and implement as many of the things taught in the course as I can.

Thoughts: This program is unnecessarily long and complicated. I can't wait to simplify it. Because simple is clean and clean is efficient.


Day 76: July 15, 2023


Today's Progress: I tested my program with the other problems and discovered that my last bug fix actually destroyed my solutions for all of the previous bugs! I am looking for a better bug fix.

Thoughts: Doing this program and reviewing college math for MSIT of UoPeople is causing my brain to be constantly swimming in a myriad of different numbers. 😵‍💫 Headaches are daily now. Don't get me wrong, I am not complaining. I just need to take more breaks.


Day 77: July 16, 2023


Today's Progress: I fixed the other bugs all over again and returned to having only one bug. I decided to just proceed to cleaning my code, because it's so hard to find my way around now. I managed to remove a few lines of garbage code. Now I am trying to figure out how to not look for bills and coins in cid twice. Code shouldn't repeat.

Thoughts: It feels reliiieving to clean my code. Very therapeutic. 😊


Links to work
1. My second sandbox

2. My third sandbox

3. My sandbox for garbage collection, sort of

 •  0 comments  •  flag
Share on Twitter
Published on July 18, 2023 06:16

July 11, 2023

Week 10 Recap: #100DaysOfCode

Image by Quang Nguyen vinh from Pixabay
Day 64: July 3, 2023


Today's Progress: I accidentally created an infinite loop twice, causing my browser tab to freeze twice. I stopped the loop, and also fixed the bug from yesterday. Now I just need to come up with a computation that makes the program reset this particular loop to the correct number.

Thoughts: Accidentally creating an infinite loop in a code playground that autoruns feels a little amusing. It was like I got taken away by a real, giant whirlpool in the middle of the sea. 😂😅🤭


Day 65: July 4, 2023


Today's Progress: I came up with the computation for the loop using duck debugging, updated my pseudocode to match the turnout of my program, and left another note for when I return.

Thoughts: The code version of my computation for the loop isn't exactly like how I planned it in duck debugging, I shortened it once in code form because it was faster and simpler.


Day 66: July 5, 2023


Today's Progress: I decided to wrap almost the whole chunk of code within this condition with a loop without adding any modulo operator. It works, but I'm still checking if it's working in the correct way.

Thoughts: Skipping the modulo operator led me too early to some of my fears, which are floating-points. *blood-curdling scream* FLOATING-POINTS!!! The modulo operator saved my life in CS50x, but this might be different.


Day 67: July 6, 2023


Today's Progress: I figured out the next part of the program by trying to see how I would solve the problem if I were a computer. I wrote down how I did it and turned it into code. Now I'm trying to figure out why two TEN are in one array.

Thoughts: I had difficulty focusing today, I can't even think of how to describe it. A hit-and-run had taken place across the street from my house last night. I didn't see it happen, I just saw the victims. It was so bad, I started sleep talking again. I had a sleep talking problem in 2020 when my neighbor got killed, but I fixed the sleep talking. I've seen worse things in the past. You continue with your life, you pretend everything's fine, but when you see horrible things too often for more than 30 years, it feels kinda too much. Maybe many, many years from now, I would just start shouting random profanities when I see horrible things. I knew a military neighbor once who was like that. They said he had PTSD.


Day 68: July 7, 2023


Today's Progress: I was looking for the bug that was causing "TEN" and its total (and more) to appear more than once. I moved chunks of code around, but it was still there. In this image, I marked what might be causing it. I will look deeper into this when I get back.

Thoughts: The real mystery is the number 1. I wonder where it's coming from. 🤔


Day 69: July 8, 2023


Today's Progress: I fixed the repeating TEN and fixed lots of other bugs. Now I just need to fix the computation of TEN. I found what's causing it, it's because I assign the same number of bills to a variable with every loop.

Thoughts: By the way, I got a scholarship grant to attend the master's degree program of the University of the People in Information Technology last June. It's the reason why I slowed down in freeCodeCamp, I need the time to prepare. I'm also still figuring out how it would go since I am new to UoP. I've been reading their catalog and reviewing my math. 🙂


Day 70: July 9, 2023


Today's Progress: I fixed the bug from yesterday. I could go back to freeCodeCamp and test this, but if it turns out to be already complete, I might not get the chance to clean it anymore. So I decided to create a separate sandbox to experiment on the best ways to clean the code. I managed to remove nine lines of code by defining multiple variables in one line and replacing a for loop with the map method.

Thoughts: We could define variables in one line in C, so I tried it on my JS program.


Links to work:

1. My second sandbox

2. My third sandbox

 •  0 comments  •  flag
Share on Twitter
Published on July 11, 2023 03:40

July 3, 2023

Week 9 Recap: #100DaysOfCode

 
Day 57: June 26, 2023


Today's Progress: I included the pseudocode from yesterday into my code. It produced several errors, but I fixed all of them and it worked. Now I wrote new pseudocode. This time, it's complete pseudocode.


I still haven't thought how to turn this pseudocode into code. Anyway, one bug down, two to go.

Thoughts: This project is turning out to be the most complicated of them all. It really needs pseudocode, and maybe it also needs commenting. The good part is that my head is buried too deep in the math to get an OCD attack.


Day 58: June 27, 2023


Today's Progress: As I began to implement my pseudocode from yesterday, I suddenly decided to experiment instead. After searching again and again for the JavaScript playground that would fit my needs, I settled for CodeSandbox. Then I began experimenting whether or not my for loops could be turned into functions. The screenshot above still captured my first function. Code playgrounds I've used in the past saved my code after I signed up for the website. But when I signed up for this one, Ta-dah! All of my code was gone. I had to manually create a new sandbox. In the process, I learned about document.write() and console.clear().

Thoughts: I just want to at least get to know the alternatives to for loops some more before I finish this course.


Day 59: June 28, 2023


Today's Progress: I finally learned how to use the Array.map() method, but I deleted it because I also learned that it wasn't needed in my program. Then I succeeded at turning my for loops into functions. In the image, I was trying to create a connection between the functions because I was planning to turn them into nested functions.

Thoughts: This log is beginning to get laggy when I'm editing it. Maybe I should remove some parts. Also, I just learned that all repos come with a "top" button that scrolls to the top of the page. I might not need my "Back to top" links after all.


Day 60: June 29, 2023


Today's Progress: I continued adjusting different parts of my functions to make them do what my pseudocode said they should do. I also added new ideas to my pseudocode based on the results of my current program.

Thoughts: I wonder if I really should remove the "Back to top" links of my #100DaysOfCode log. Because the "Top" button of GitHub brings you to the top of the screen, and you still have to scroll down to get to my navigation, but my "Back to top" links lead directly to my navigation. I have to choose between user-friendliness for viewers of the log and usability on my side.


Day 61: June 30, 2023


Today's Progress: I studied my code and predicted that if I went on with my functions, it wouldn't work. So I created another sandbox where I returned to for loops. I also fixed little errors I hadn't seen before.

Thoughts: Maybe I'm wrong, but I think my functions can't be nested. They need to be used with for loops and variables for them to work correctly, but why make functions in the first place if there would still be for loops? It would just add unnecessary lines of code. They might work with recursion, but I can't predict right now which arguments should change.


Day 62: July 1, 2023


Today's Progress: I realized that I spend too much time each day reading my code upon returning, so I decided to comment my code so that it would be easier to read next time. Doing so made me realize that the sequencing of my lines of code was disorganized. So I also organized my lines of code. Now I'm trying to figure out what's still missing. This is almost the complete pseudocode, but the answers are still totally not in the right order.

Thoughts: I was super tired today, the kind of exhaustion when you get an uncontrollable tendency to stare into space and almost black out. Good thing, programming keeps me awake.


Day 63: July 2, 2023


Today's Progress: I finally put the answer in the right order, but the sum of the second set of bills is still incorrect. I located the bug and left a note on it so that I'll work on it when I get back.

Thoughts: I am as exhausted as yesterday. 😫


Links to work:

1. My freeCodeCamp progress

2. My first sandbox

3. My second sandbox

4. My #100DaysOfCode log

 •  0 comments  •  flag
Share on Twitter
Published on July 03, 2023 06:16

June 27, 2023

Week 8 Recap: #100DaysOfCode

 
Day 50: June 19, 2023


Today's Progress: I added more code to my solution for the problem from yesterday, getting further and further into the logic of the initial solution that I planned on implementing and checking if each part was doing what I wanted it to do.

Thoughts: This program uses repetitive syntax and for loops. I'll clean it up once I figure out the solution.


Day 51: June 20, 2023


Today's Progress: My OCD kicked in and I ended up cleaning my code ahead of time. While I was in the cleaning process, the screen flashed that I passed this certification project. I wasn't even finished cleaning. So now I am on Caesars Cipher.

Thoughts: I wonder if the last project will be extremely difficult.


Day 52: June 21, 2023


Today's Progress: I returned to freeCodeCamp last night and finished Caesars Cipher. Now I am on Telephone Number Validator. I have five bugs left to fix. The regex is the bug lord, I might have to cut it up into each of its parts.

Thoughts: I think my code needs cleaning up, but I still get confused with the reduce method and its variations. And switch statements will add more lines of code.


Day 53: June 22, 2023


Today's Progress: I didn't cut up the regex, I just turned it into an array. Still, I don't delete the regex just in case it would still be useful (because the array caused an additional bug). I'll delete it once I'm sure that it's no longer needed. By the way, I'm getting used to the .every() method.

Thoughts: This is becoming like my website, when fixing one side of the problem creates errors at the other side. The difference is that it doesn't bother me anymore. I'm wondering if I'm developing a kind of numbness to the pain of programming.


Day 54: June 23, 2023


Today's Progress: I finally finished Telephone Number Validator. I remembered that if-else statements stopped running as soon as a condition was met. Some of the bugs were caused by me putting conditions within many identical conditions, the program wasn't reaching the lower conditions because it already stopped in a higher condition. Now I have only one project left to finish before I finish the whole course.

Thoughts: I feel ashamed of my code for Telephone Number Validator, it looks so messy. 🙈 At least, my .every() method actually works. I felt embarrassed at first when it wasn't working, but I learned later on that it was the fault of the identical conditions.


Day 55: June 24, 2023


Today's Progress: I started working on Cash Register. I created my first object. Meaning, I created it as my own idea and without guidance from freeCodeCamp. I have three bugs left to fix.

Thoughts: I was scared when I thought that this project might involve objects. Object are some of those things that I always fear, but once I start working with them, I find them easy to work with. I wonder why. 🤔


Day 56: June 25, 2023


Today's Progress: I started working on one of the three bugs. I ended up creating three arrays, adding around five loops, and then deleting most of the loops. In the image above, I was writing a sort of pseudocode within the program. I will include it into the program when I get back.

Thoughts: I hope the complete-code version of my semi-pseudocode will work. Anyway, I got lost in my own program earlier because I had given my variables silly names. So I changed "pieces" to "billsAndCoins" and "piece" to "namesOfCurrency". Programming books always advised to make obvious variable names, but I liked to be original. I will obey the programming books from now on.


Link to work: My freeCodeCamp progress

 •  0 comments  •  flag
Share on Twitter
Published on June 27, 2023 04:37

June 18, 2023

Week 7 Recap: #100DaysOfCode


 Day 43: June 12, 2023


Today's Progress: I finished one more lesson today. I can now work with many arrays in multiple loops. I said yesterday I no longer always needed console.log(), but now I decided to make it a habit to use it. Always using console.log() helps me spot bugs before they mess up the whole program.

Thoughts: I also attended the first lecture of the Cybersecurity course of CS50x live on Zoom while programming.


The plan was to listen to it while programming, but I kept hearing lots of awesome things so I kept switching to the Zoom tab to check them out and leaving the freeCodeCamp tab. I ended up watching the whole lecture, and the Q&A also. 😊


Day 44: June 13, 2023


Today's progress: I finished three more lessons. I finally got to work with the Fibonacci sequence. I also learned to look for prime numbers with JavaScript.

Thoughts: Looking for prime numbers seemed impossible at first, but with the help of console.log() and online resources, I was able to find my way around the bugs. I'm starting to consider console.log as like that flashlight you use in difficult hidden-object games.


Day 45: June 14, 2023


Today's Progress: I finished three more lessons. I learned about isArray() while working with nested arrays and fromCharCode() while working with binary code. I also learned that fromCharCode() returns Chinese characters when you don't use parseInt().

Thoughts: I like forCharCode(). I have always thought it'd be wonderful if there was something that could quickly decode binary code. 🙂


Day 46: June 15, 2023


Today's Progress: I learned about .isInteger(), and I finally did my own currying. In the first image above, I was working on my first object constructor. In the second image, I was reviewing the lessons that taught about constructors to remember how they were done. In the third image, I created my own constructor to see if I understood constructors correctly.

Thoughts: Seeing that I am near the end of this section gets me excited! 😄


Day 47: June 16, 2023


Today's Progress: After almost going around the internet to learn about how to add methods to object constructors, I finally added the first methods that were required in the problem from yesterday. I learned that setters are just a variation of a method, you just have to make sure its logic adds up with the logic of the rest of the constructor.

Thoughts: Even though it really made life easier, I was never confident about being given complete functions in programming. I tended to be curious about what made them work. The problem from yesterday - which also became the problem for today - gave me a glimpse of how getters and setters work.


Day 48: June 17, 2023


Today's Progress: I finally figured out the problem from yesterday. I am now in the last lesson of the whole course.

Thoughts: Despite enjoying the difficult parts of this course, I recently developed this tendency to suddenly get dizzy. I hope this doesn't sound like an excuse. I'd just be doing normal stuff, and then I'd suddenly feel nauseaous and sick. It happened once yesterday at 6 p.m. and twice today at 3 p.m. and 7 p.m. Probably caused by scrolling screens too fast. I read very quickly and have the habit of skimming through articles, which result in fast scrolling. The side-effect is that I get dizzy.


Day 49: June 18, 2023


Today's Progress: I finally finished the last lesson of the course and also finished the first certification project. So far, I've developed a certain habit in programming where I start writing code to implement the simplest possible solution. Then I build the rest of the program based on the errors that my initial implementation received. I'm not really sure if I'm on the right track with my code above, but it's the simplest one I can think of and I'll build on the errors it will produce. I'm not sure if this is the right approach, but it helps me save time and space and it keeps me from wasting time on far out logic and long code that turn out to be useless.

Thoughts: I can't believe I'm on the certification projects. I can't believe I already finished one of them. I have been glancing at them these past month, thinking I'd never get to them. Or that if I got to them, I wouldn't understand a thing because they would be too complicated.

 •  0 comments  •  flag
Share on Twitter
Published on June 18, 2023 07:14

June 15, 2023

Week 6 Recap: #100DaysOfCode


Day 36: June 5, 2023


Today's Progress: I learned about parseFloat() in my struggle to solve the problem from yesterday. I also met my old friends, the conditional (ternary) operators and regex. In the image above, I was trying to figure out the join method.

Thoughts: In the image above, I wonder why they say to not use the replace method. Reading it, my brain was like, "What is the replace method?"


Day 37: June 6, 2023


Today's Progress: I finished Functional Programming and proceeded to Intermediate Algorithm Scripting. In the process, I learned about currying and the arity of functions. Currying is cool because it allows additional customization in programming.

Thoughts: Currying makes me think of chicken curry.


Day 38: June 7, 2023


Today's Progress: I am learning more and more about .filter(). I also went deeper into the usage of .indexOf(), and learned about a new thing called "arguments object". I am starting to really use JavaScript, and not some hybrid of C and JavaScript.

Thoughts: My OCD still finds the ways of JavaScript icky, JavaScript mixes everything. Still, there is no choice but to use them with the problems in Intermediate Algorithm Scripting. This section is helping me start to build a kind of tolerance for JavaScript.


Day 39: June 8, 2023


Today's Progress: I solved the problem from yesterday with nested for loops. I just figured that regular expressions and .filter() wouldn't work for that particular problem. Now I am trying to figure out this array of objects and the second argument.

Thoughts: I have started to open the rest of the course in another tab and look through the previous lessons for ideas on how to go through my current lessons, like using a manual. I often feel totally clueless now, or that I reached the end of all of my ideas.


Day 40: June 9, 2023


Today's Progress: I resorted to using the stare-down method. It's exactly how it sounds. You give your code a good stare-down until the bugs reveal themselves. In the progress, I learned about getOwnPropertyNames, new combinations of regular expressions, and how to find consonants in a string with JavaScript.

Thoughts: The Intermediate Algorithm Scripting is terribly mind-bending. It's merciless. 😓 But my hardships here are helping me remember JavaScript functions and their uses better. For example, I just discovered the helpfulness of .every(). It simplifies a loop when it can be simplified.


Day 41: June 10, 2023


Today's Progress: I finished two lessons, and I'm starting to become comfortable with JavaScript. I figure out problems and come up with solutions faster. I also know JavaScript methods better, when I used to remember their names but not their behavior.

Thoughts: I also just found out that the JavaScript Algorithms and Data Structures course might not be enough for me to figure out how to add the JavaScript features that I want to add to my website (I want to add a collapsible menu and a loader). I might have to take Front End Development Certification, too. Fortunately, this course is enough for me to get an idea for solutions for Speller of CS50x. 😀


Day 42: June 11, 2023


Today's Progress: I finished two more lessons today. The image above was when I was looking at a bug in the latest lesson. I no longer always need console.log() and can mentally visualize loops better than before.

Thoughts: I can't believe how it's all starting to seem simple. When I focus on the task that has to be done, it becomes easier. It's hard only when I focus on the names of the parts of the code and the names of its logic.


Link to work: My freeCodeCamp progress

 •  0 comments  •  flag
Share on Twitter
Published on June 15, 2023 04:00

June 6, 2023

Week 5 Recap: #100DaysOfCode

 Day 29: May 29, 2023


Today's Progress: I solved the problem from yesterday - which seemed to suggest that I should solve it using slice() and splice() - by not using slice() or splice(). I proceeded to the next problem, where I am not using anything new again and instead resorting to my C ways.

Thoughts: Ever since I started programming, I have been in only two very difficult situations: 1) Finding no existing solution to my problem, not even in Stack Overflow. And 2) Producing the correct code that returns the correct data, but still having tests keep insisting that it's wrong. My code above really returns 3, and the test says it should return 3, but the test won't accept my code as correct. Maybe I should delete the whole thing and rewrite the same thing, that is sometimes the solution because the screen seems to sort of freeze. If that's not the problem, maybe I should make it return an array. If not that either, I'll come up with something. *grim facial expression*


Day 30: May 30, 2023


Today's Progress: I figured out what was wrong with my code from yesterday, and finished the Basic Algorithm Scripting section. I proceeded to the Object Oriented Programming section, where I finally learned what constructors are all about. Constructors were suddenly introduced in the ES6 section, but I had no idea what they were and I had to guess my way around the problems that involved them.

Thoughts: There's this common meme about programming.


I was in this situation at the end of Basic Algorithm Scripting. I was still trying to figure out which loop was which loop when my code passed.


Day 31: May 31, 2023


Today's Progress: I learned more about objects, constructors, and methods, which are never seen bearing the name, "method", so it can get confusing. I also learned about prototypes, inheritance, instances, and the constructor property, which seems invisible in a constructor.

Thoughts: I kept falling asleep in front of the computer while programming today because my kitten slept on my legs. I investigated further into the mystery and found this thread on Quora. It's strange there's no scientific research on it yet. I sometimes wonder if sleeping kittens release a sort of sedative on human skin that goes into the bloodstream and makes us zzzzz. 😀


Day 32: June 1, 2023


Today's Progress: I finished the Object Oriented Programming section and continued to the Functional Programming section. I learned about mixins, modules, closure, and overriding inherited methods. I am now trying to figure out functional programming.

Thoughts: I found the Object Oriented Programming section fun and unusually easy, but now I find the next section hard.


Day 33: June 2, 2023


Today's Progress: This is the first time in my freeCodeCamp life that I got stuck in one lesson for a day. Well, one hour, actually. I have only one hour for programming today, it's a busy day. Thankfully, I have figured out so far that this problem is asking me to remove the tabs that are supposed to stay.

Thoughts: I feel like I am "on the scent" of a solution for this problem. I can almost reach it with my mind, it is near ... unless it's another dead-end. If only I had more time today. But it's a few minutes to midnight now and I should still do the laundry, feed the cats, etc. Then early again tomorrow.


Day 34: June 3, 2023


Today's Progress: I solved the problem from last night using Playcode


and duck debugging.


Then I proceeded further into the Functional Programming section to finally learn about .map() and .filter().

Thoughts: I feel relieved about solving the problem from last night. The problem haunted me all night. By sunrise, I conditioned my mind to be calm and clear enough to tackle it. I was so focused on solving code, there was a bit of collateral damage.

The first "victim" was my old table. I opened it while waiting for my rice to get cooked. Look at it, it's pretty:


I think the CPU is the small rectangle, the medium rectangle is the RAM, and the big rectangle is for permanent storage. Unless I'm wrong ... 🤔

The second was Meta. When I still had few Facebook friends, I always replied to each of their posts before making my own post. Now that it could take my whole lifetime to reply to each of their posts, I just make sure I don't miss their birthdays. I was sending birthday greetings to my Facebook friends when Facebook sent this error message:


Is this a variable, or a function that mutates an array? Bit it could really be just an error message.


Day 35: June 4, 2023


Today's Progress: I learned more about slice() and concat(). I learned that concat() actually doesn't mutate an array, just like slice(). Then I started studying reduce(). In the above image, I was testing if there was something wrong with my usage of parseInt().

Thoughts: I can't believe I am using all these new methods and I actually get some of them to work. I feel like I'm just blindly making my way through this course and just getting lucky. I feel like Peter Parker in this scene. It was his first web-swing and he still didn't have much of a clue about what was happening.


Link to work: My freeCodeCamp progress

 •  0 comments  •  flag
Share on Twitter
Published on June 06, 2023 06:51

May 31, 2023

Week 4 Recap: #100DaysOfCode

[image error]
 Day 22: May 22, 2023


Today's Progress: I learned about all forms of matching in JavaScript, each of which are achieved only through a single character. I also learned about extracting matches, selecting characters that aren't matches, and the global flag.

Thoughts: I use WordPad as a duck debugger. Its purpose is to help me figure out the logic of programs, but I often end up typing random things that have no connection with anything. Sometimes, I type out my frustrations. Today, I typed, "WHY IS MATCHING STRINGS WITH JAVASCRIPT SO EASY?!!!"


It was super hard with C. In fact, student sentiments about transitioning from C in CS50x is pretty common. This is one of them. I'm still stuck in Speller. Whatta predicament ... 😶


Day 23: May 23, 2023


Today's Progress: I learned to not underestimate regex just because they are small, alone, and are mostly neither letters nor numbers. The characters are actually meant to be grouped together in particular paterns depending on what needs to be done with the program.

Thoughts: I didn't expect the characters were supposed to be used in groups. It's like hieroglyphics. My eyeballs could almost spin around and around staring at each character and trying to remember what it means and how it relates to the other characters.


Day 24: May 24, 2023


Today's Progress: I was finally starting to figure out regex when that section ended. I continued to Debugging, where I learned one of the uses of the console in Chrome and accidentally crashed my browser after creating an infinite loop. I finished Debugging and now I'm in Basic Data Structures.

Thoughts: I'm thrilled that I'm finally in data structures. I went to freeCodeCamp in the hope that it would help me come up with an idea on how to solve the data structures part of CS50x.


Not hoping for a complete idea. Just hoping for at least a glimpse of an idea. Just gonna look into what JavaScript data structures are like, maybe I'll "sense" something for figuring out the ones in C.


Day 25: May 25, 2023


Today's Progress: I learned about the cool splice() and slice(). I also learned about indexOf(). The Basic Data Structures section of the JavaScript Algorithms and Data Structures course of freeCodeCamp also let me review the types of data structures I already learned earlier in the course.

Thoughts: Whenever I lurk in programmers' chats to observe how real programmers talk, I always see some of them talking about splice(). I always thought splice() sounded cool, but now I know it really is cool. It's like cut-and-paste, but it's more like cut-and-paste-and-replace.


Day 26: May 26, 2023


Today's Progress: I finished the Basic Data Structures section and continued to the Basic Algorithm Scripting, where I get to solve problems using everything I learned so far. In the above image, I'm in the process of writing code for a program that finds the longest word in a sentence. I have learned to use console.log() to check if a part of my program is working, but I'm still working on my regex skills (that's why I have to use console.log() to check if my regex works).

Thoughts: I am worried why console.log() is printing "1". It's supposed to print "3". Also, I feel like I still think too much in C. I still turn strings into arrays and work with them per character. I should adjust to the differences between C and JavaScript. However, I prefer to use "werks" instead of "works". It's just more fun that way. Fun with intentional misspelling werks! 🙃


Day 27: May 27, 2023


Today's Progress: I did a lot of coding today, strengthening my patience for looping over the same strings repetitively and checking different things each time. I am slowing down in my progress through the course, but not because I'm left clueless as to what's going on, but because I write a lot of code in each lesson.

Thoughts: I wonder if I complicated the solutions for the lessons in Basic Algorithm Scripting, or if that's really how it's supposed to be. In another topic, I realized today how Elliot Alderson must be an extremley advanced genius. He can quickly figure out what his other personalities have been programming. It took me many painful hours today to figure out the code I wrote last night, and I don't even have split personality. This was my code from last night:


Day 28: May 28, 2023


Today's Progress: I learned how to change the case of letters in JavaScript, and then I started working on a problem that suggests I should use slice() and splice().

Thoughts: I'm starting to suffer from a great deal of boredom. There's nothing wrong with freeCodeCamp or anything or anyone, it's just my personality. I get bored quickly. I've been coping with this problem by coming up with ways to make things different each time, even when they're still really the same. Now maybe I should make my WordPad yellow so it looks different.


Link to work: My freeCodeCamp progress

 •  0 comments  •  flag
Share on Twitter
Published on May 31, 2023 05:10

May 21, 2023

Week 3 Recap: #100DaysOfCode

 Day 15: May 15, 2023



Today's Progress: I added a privacy policy to my website, updated the README file, and cited sources in my CSS file. I added my Camp NaNoWriMo 2023 Winnder badge to my blog, and added grayscale to all of the HTML widgets. I edited the HTML/CSS of my 7 Cups profile.

Thoughts: I feel so tired, but I feel happy about all the things I finished today. I do not know why my 7 Cups profile is not cooperating with most of my code, though. To lighten up the mood, here is a cute dog GIF I tried (and failed) to add to my 7 Cups profile.


Day 16: May 16, 2023


Today's Progress: I returned to GitHub at midnight of Day 15 (or morning of Day 16) to fix the CSS of the privacy policy link in my website and improve the README file of my Blogger widgets app. Today, I learned all about switch statements in JavaScript on freeCodeCamp.

Thoughts: I should be studying JavaScript continuously to properly cook my brain, but my OCD keeps reminding me that the README files of all of my repos need to be improved, I might not make it to the 7 Cups bio designers team because my profile doesn't look the part, my About page is still not done ...


Day 17: May 17, 2023


Today's Progress: I learned to use bracket notation as much as possible instead of just dot notation, learned how to build and work with JavaScript objects, and met the JavaScript cousins of the infamous C villains called "loops" and "recursion". Being JavaScript doesn't make them any friendlier.

Thoughts: I wonder why freeCodeCamp accepts my solution as correct when I use bracket notation, and rejects it as incorrect when I use dot notation. There must be something wrong with my understanding of dot notation.


Day 18: May 18, 2023


Today's Progress: I learned about the space-saving, time-saving conditional (ternary) operators. Then I tried to get used to recursion.

Thoughts: The photo above is me trying to work out the logic of freeCodeCamp's recursion --- and failing (I used .pop() instead of .unshift()). The photo below is me using Playcode to try a technique taught by Sara A. Metwalli.



By the way, I use Hacker Vision. That's why freeCodeCamp above is black. I've been using it since 2013, it helps me work on a computer for many hours.



Day 19: May 19, 2023


Today's Progress: I finished the Basic JavaScript of freeCodeCamp.

Thoughts: Maybe I'm still confused, but recursion appears to not follow the usual order of execution of code. It doesn't even appear to follow the order of loops. It's like the lowest line of code gets executed before the higer lines of code. I might still be confused.


Day 20: May 20, 2023


Today's Progress: I learned how to create a function that returns the sum of each of its arguments added together with the rest parameter, copy an array to another array without using a loop, and use destructuring assignment for objects and arrays.

Thoughts: I should remember that the apostrophe is not the backtick. *saves to permanent memory*


Day 21: May 21, 2023


Today's Progress: I finished the ES6 part of the JavaScript Algorithms and Data Structures of freeCodeCamp and started the Regular Expressions part. I am finally getting to the part where the course teaches how to use JavaScript on a website.

Thoughts: I have been worried that this course would never mention how to apply what I'm studying in a way that would help me finish an actual, complete software and that it would all be just theory. I got excited today when I found out my worries aren't correct. :)


Links to work:

1. My website repo with the new and updated files

2. My Blogger widgets repo

3. My 7 Cups profile

4. My freeCodeCamp progress

 •  0 comments  •  flag
Share on Twitter
Published on May 21, 2023 06:40

May 14, 2023

Week 2 Recap: #100DaysOfCode

 

Day 8: May 8, 2023


Today's Progress: I began merging the CSS of my Books page into the CSS of my homepage.

Thoughts: I almost gave up and decided to just keep two CSS files, but not having only one CSS file just doesn't feel neat. So I pushed on and so far, the two are merging well. By the way, I just learned a better way to design this log from Joe Warren. I will try to edit this log and improve it in the following days. I am starting today and I am sharing the image below as a marker of how this log looks today, before I begin editing it.




Day 9: May 9, 2023

Today's Progress: I finally merged the CSS of my Books page and my homepage!

Thoughts: I am having a headache today and I am a bit sleepless. Still, when it is code, I'm just hooked. :) By the way, I'm also developing a table of contents for this log. You can find the TOC at the top of my log on GitHub. I do it outside of my 100DaysOfCode hours, though.




Day 10: May 10, 2023

Today's Progress: Having already set the measurements for the rest of the website, whatever followed next was fast. I added and finished a Poems page, and then I started working on my Programming page. I had to pause my 100DaysOfCode timer to create web content and gather images.

Thoughts: I can't believe how quickly the coding today went. It is even faster than drag-and-drop on Wix! All that I need to do now is to write the web content for my Programming page.




Day 11: May 11, 2023

Today's Progress: I finished the web content for my Programming page and started uploading the new files to my repo. The live version of my site is now 50% up-to-date. I started working on my Shop page, adding product images to my repo and unhiding products Zazzle had hidden.

Thoughts: Even though it has been the plan, I was scared to add the new files to my repo. Because I feared destroying my website forever. There are still errors I need to fix, but I'm relieved it worked!




Day 12: May 12, 2023

Today's Progress: I continued working on my Shop page, but the next step was to write web content for it and that wasn't coding. So I proceeded to fixing errors on my live site and editing files in my repo to get enough coding done today.

Thoughts: I do not know why Zazzle is taking too long to unhide my products. I also do not know why the lines of my code in my books.html file can't get aligned. I'm trying to have neat code. By the way, I changed my GitHub appearance to dark so that I wouldn't be squinting at my screen all the time.




Day 13: May 13, 2023


Today's Progress: I returned to Codepen on the night of Day 14 to finish my Shop page. Today, I finished my Contact page, edited my repo files, and fixed errors in the mobile view. I also resumed studying JavaScript. I also followed Adrian Wydmanski's advice.

Thoughts: I still don't know what to write in my About page. It's hard to write bios because whatever I write today could be irrelevant in a few years.




Day 14: May 14, 2023

Today's Progress: I learned how to concatenate variables to form strings, the different ways to manipulate different types of arrays, how to create functions in JavaScript, and how to create a function that outputs the sum of two number arguments.

Thoughts: I'm surprised JavaScript actually sees a difference between data types, because the C programmer in me was starting to get an OCD attack with the way JavaScript seemed to mix up the different data types. By the way, this is Day 2 of me not coming up with something to write on my About page.

Links to work:

1. Up-to-date version of my website

2. My repo

3. My freeCodeCamp progress

 •  0 comments  •  flag
Share on Twitter
Published on May 14, 2023 06:41