Pages

Sunday, April 30, 2017

Day 104

In case you are wondering why no update has been published for quite a while now, I've created a blog with the static site builder Jekyll and forgot to tell you about it. ;-) It's hosted on GitHub Pages.

I mainly did so to have more control over my blog, since as I'm digging deeper and deeper into CSS I wanted to be able to customize it which is a rather difficult thing to do here on Blogger. I also didn't want to have all the jazz that would have come along with a CMS like Wordpress. Thus, Jekyll is the perfect tool to create a clean, plain blog like mine. Besides, the blog is served a lot faster and hosting websites on GitHub is for free.

Check it out! :)

Wednesday, March 15, 2017

Day 60

Current Challenge: Show the Local Weather

Progress: I've finally managed to overcome all Advanced Algorithm obstacles! HELL YEAH!



At last, I was also able to crack the "No repeats please challenge" implementing the Heap Algorithm in a recursive manner. However, I did not make use of the pseudocode on Wikipedia but instead found a useful video on youtube laying out the code both in a visual fashion and using Python. The key task here was to transfer the idea into a working Javascript program and to actually understand what's going on. Another resource which I think might be useful to some folks is a post on the FCC forums since it provides some more general suggestions on how to approach the problem. Additionally, you might want to check out the FCC Algorithm challenge guide. There you can find more tips and tricks as well as the solutions, in case you are on the verge of going bananas. ;-) Last but not least you can find my code on GitHub (which may not be perfect yet).


Thoughts: I'm relieved that I can eventually leave the Algorithm section behind me. It was pretty frustrating at times and almost made me throw my laptop against the wall several times. But it was worth not giving up, because I feel much more comfortable with Javascript now, though I'm quite aware that despite all the progress there is still much, much more to absorb.

I guess I'm well equipped now to tackle the last part of the FCC Front End route before finally obtaining the Certificate: completing the remaining projects. I figured that due to my detour to the algorithm section I probably have to get reacquainted with some Bootstrap / Flexbox stuff as well as jQuery, which I still am not that much used to, partly due to the poor documentation and my reluctance to buckle down, since I'd like to focus more on vanilla JS for now (in the end, jQuery is just a JS library using a somewhat different syntax, which takes some time to get to know).

I'd also like to mention that I got accepted to join one one the CHINGU cohorts, called Iguana, starting off on Monday, March 20th. I'm pretty excited and looking forward to boosting my skills even further, build stuff and make some connections with other like-minded people around the world.


For those who are wondering what I'm actually talking about, check out the CHINGU page.


My plans for the next days:
  • Complete all Intermediate Front End Development projects
  • Start reading the YDKJS book series

Follow me on GitHub

Follow me on FreeCodeCamp

Monday, March 6, 2017

Day 52

Current Challenge: No repeats please
Progress: I've been pretty busy the last couple of days and hence hadn't much time to make real progress. However, I figured how to pass the "No repeats please" challenge by just using some combinatorics but could not manage to generalize the idea, which really caused some frustration. Unfortunately, I found this article on StackOverflow only after I already figured it out myself, which could have saved me quite some time spent on thinking. Still, one major issue remains: finding a generalizable formula that handles both an arbitrary set of repeating and non-repeating characters, like "aaabbbbcccccdeffg" for instance. The solution to the problem can be abstractly described as "TOTAL - INVALID + OVERLAPS".

As long as we only have one character set with just one repeat, we are done after subtracting the INVALIDs from the TOTALs.

"aab": 3! - (2! * 3!) = 2

"abcdefa": 7! - (2! * 6!)  = 3600

If more than one character set with repeating letters is occurring we have to take care of the OVERLAPS as well since we deduct some permutations twice (or more) when subtracting the INVALID ones:

"aabb": 4! - (2! * 3!) - (2! * 3!) + (2! * 2! * 2!) = 8

"abfdefa": 7! - (2! * 6!) - (2! * 6!) + (2! * 2! * 5!) = 2640

Things start to get hairy if you have something like "aabbccd", i.e. more than two character sets with repeating letters since you have to add back all the overlaps, which are not as easy computable as above.

The same goes for character sets with more than 2 repeats like "aaab". Those two issues combined, say we have something like "aaaabbbccd", is way too complicated to grasp at the moment due to the different grouping possibilities you have to account for. If I'm trying to compute it manually I'm sometimes right but more often than not wrong. The thing I can't get my head around is recognizing a pattern.

Thoughts: For now, since I haven't made any real progress and it continues to discomfort me, I'll focus on just passing the tests with the next best algorithm I come up with.

My takeaway from this challenge is that I spent way too much time on figuring something out I'm not supposed to. But it has been nagging me ever since I had the idea of a somewhat "universal" formula, where you can just toss in the letters and it outputs the correct number, especially because seemingly no one on FreeCodeCamp has managed to solve it in this manner yet. I'm still convinced that there is a way but I've to put it back for the sake of my actual goal, learning to code.

My plans for the next days:
  • Work through the remaining "Advanced Algorithm Scripting" challenges
  • Finish chapter 9 on Regular Expression (including exercises; 'Eloquent JavaScript')
  • Gradually upload my work on GitHub

Follow me on GitHub

Follow me on FreeCodeCamp

Follow my Pens on Codepen

Wednesday, February 22, 2017

Day 48

Current Challenge: No repeats please
Progress: This is just a short update on how things are going at the moment, to keep you in the loop. Well, frankly speaking, I'm deeply stuck on the "No Repeats Please" challenge.

The thing is, though I know that most folks use the "Heap algorithm", I think this may not be a very efficient way to solve the task, since you create an enormous amount of permutations, thereby using up a lot of memory space. However, the only thing actually required as output is a mere number.Thus, I assume it might be better to approach this problem by just thinking in terms of possible combinations. I don't know how to better explain it yet, but if I'll manage to solve it that way, it not only will be much more efficient but also less complicated to read (at least that's what I aim for). I'll definitively explain it in more detail once I cracked it either the one or the other way.

Thoughts: Unfortunately, I have to take a short break until Sunday, because I've to take care of a few things of personal interest, but I'll be back before you know it. See you around! :)

My plans for the next days:
  • Work through the remaining "Advanced Algorithm Scripting" challenges
  • Finish chapter 9 on Regular Expression (including exercises; 'Eloquent JavaScript')
  • Gradually upload my work on GitHub

Follow me on GitHub

Follow me on FreeCodeCamp

Follow my Pens on Codepen

Friday, February 17, 2017

Day 43

Current Challenge: No repeats please
Progress: Since my last update I was able to finish a few more "Advanced Algorithm Scripting" challenges. "Record Collection" was actually not that hard to crack. All it basically needed was proper 'if/else' structure. You can find my code on GitHub.

On the contrary, the  "Symmetric Difference" challenge was a bit tougher to get along. It took me some time to translate the logic into code but I eventually came up with a pretty neat and precise solution.

However, "Exact Change" was really challenging to get by. There were several problems literally popping out of nowhere and my browser hung up every now and then since I accidentally created an infinite loop somewhere in my code. That was really driving me mad!

System freezes
Codepen freezes

The trickiest part, tough, was to find a way to handle floating point numbers. I don't want to elaborate too much on it, but it can be frustrating at times. You just don't expect, say, 0.1 * 0.2 to be something like 0.020000000000000004 instead of just 0.02, but it has something to do with how a computer in general (not just JavaScript) processes numbers internally (binary instead of decimal representation). For a short introduction, I recommend you to watch the following video on YouTube. If you want to immerse yourself even more into the topic try Google. It's a well-known issue with lots of more or less detailed explanations.


Once you understand what's going on behind the curtain, there are several approaches you might want to use to circumvent the issue. Instead of floats, I decided to use integers for the internal computation of the function by simply multiplying all values with 100. To display a proper money format as output, you just have to divide each value by 100 again. It took me quite a while, but after some refactoring rounds, I managed to find a very clean approach to passing the provided tests. Check it out!

In turn, the "Inventory Update" was less troublesome again. You just have to stay focused because of the sometimes slightly confusing way of accessing multi-dimensional arrays.

To recap, the advanced algorithm challenges are definitively more difficult to get your head around so far but also more rewarding and satisfying once you found a viable solution at last.

If you have any questions or something in particular that troubles you, feel free to ask at any time by sending me a message or just leaving a comment below. :)

Thoughts: If I can maintain the current pace I might be able to obtain the Front End Certificate by the end of next month at the latest. That would be a first great milestone in my development. Wish me the best of luck!

My plans for the next days:
  • Work through the remaining "Advanced Algorithm Scripting" challenges
  • Finish chapter 9 on Regular Expression (including exercises; 'Eloquent JavaScript')
  • Gradually upload my work on GitHub

Follow me on GitHub

Follow me on FreeCodeCamp

Follow my Pens on Codepen

Monday, February 13, 2017

Day 39

Current Challenge: Record Collection
Confused Jackie ChanProgress: Short update on the algorithm front. I spent the whole morning trying to figure out the proper regular expression to match and validate those telephone numbers.

That admittedly was pretty confusing but I eventually nailed it! Overall, I thought it might be a good occasion this time to learn about RegExp more thoroughly (made it halfway through chapter 9 in 'Eloquent JavaScript'). I also almost always use MDN as a supplement (mainly via DevDocs, which is a really convenient tool for quickly looking up things).

The last couple of times I worked on algorithms using RegExp I just hacked it together somehow and was lucky that it worked, but this time you really have to understand what's going on since the final expression is rather elaborate compared to what I've done so far.
Thoughts: Also helped some campers on Gitter today, which does feel pretty good indeed! On the one hand you can give back to the community and on the other hand, you are able to repeat some challenges and see loads of different approaches. Therefore you not only support others but also tremendously benefit yourself.

Note: I'm probably going to transition my blog to its own server using Wordpress as a CMS, which I think is better suited to meet my needs. I really want this to become a great platform!

You will be the first to know when it's finished! ;)

My plans for the next days:
  • Finish chapter 9 on Regular Expression (including exercises; 'Eloquent JavaScript')
  • Work through the remaining "Advanced Algorithm Scripting" challenges
  • Gradually upload my work on GitHub

Follow me on GitHub

Follow me on FreeCodeCamp

Follow my Pens on Codepen

Saturday, February 11, 2017

Day 37

Current Challenge: Validate US Telephone Numbers
Progress: As of this morning, I've successfully finished the "Intermediate Algorithm Scripting" section on FreeCodeCamp, Yay! ;)


Minions celebrating

Looking forward to solving the "Advanced" ones. Pretty excited how the difficulty level will rise.
Thoughts: Though I almost solved everything on my own so far, I'm trying to dedicate an hour each day to help others (mainly on Gitter). I mean it's not like I would decline help in general, but I mostly found everything I needed after a quick search on Google, Gitter or in particular the FCC forums. More often than not I didn't even need to search since I was able to figure it out myself (although it probably took me way longer than on average). I also tried to refactor a lot and find alternate approaches, whereby the Wiki section on the FCC forums turned out to be a great source of inspiration. As a result, I noticed how my way of coding actually got a lot cleaner and more readable from challenge to challenge. Additionally, I had the opportunity to implement some more advanced programming concepts like "closures" or "recursion", which until now I only read about (e.g. Eloquent JavaScript*).

*Note: I stopped reading after chapter 6 for now because I felt like I needed more practice, which I eventually got thanks to FCC. The book is well-written and very concise but I wouldn' recommend it to a total newbie since it can be a bit overwhelming at times (e.g. "Polymorphism" in chapter 6 was difficult to grasp and some exercises may be very challenging). A far better book for someone completely new to programming or JavaScript is Head First JavaScript Programming.
Anyway, once you've picked up the basics Eloquent JavaScript is absolutely worth reading. I heard YDKJS is supposed to be pretty awesome as well, but unfortunately, I haven't had the occasion yet to read it. But I'll put it on my bucket list for sure! Maybe I'm gonna write some reviews later once I finished those books.

My plans for the next days:
  • Work through all "Advanced Algorithm Scripting" challenges on FreeCodeCamp

Follow me on GitHub

Follow me on FreeCodeCamp

Follow my Pens on Codepen

Thursday, February 9, 2017

Day 35

Current Challenge: Finders Keepers
Progress: I put the "Weather App" on hold for the moment to not lose traction solving algorithms. It worked pretty well until I ran into the "Smallest Common Multiple" challenge. Boy, this was a bummer! 


Confused baby

I haven't been stuck like that ever before. Took me 2 days* to figure it out. I was confused by the sheer amount of different algorithms and techniques you can apply ...

My first approach was so inefficient, that the largest range my machine was able to compute was from 1-8 (i.e. 'smallestCommons([1, 8]')). That actually doesn't come as a surprise, if you go through the code to get a sense of what it does. It basically creates an array for each number in the range with all the multiples up to the greatest common multiple in it, to be able to compare all the multiples of each number and search for the least common multiple. As a result, the arrays got way too bloated for larger numbers (e.g. if you have a range of 1-13 that's actually (13! / 2) indices only for the array of multiples of two's). Well, guess I took the provided "helpful link" in the task's description too literal. ;) Fell free to have a look at it. I commented it out but it's still below my current solution on FCC.

Anyway, after quite some time and with the help of various sources I managed to solve the task. Admittedly, it's not entirely my own code. But since it became more and more frustrating, I decided to work with some snippets I found on StackOverflow and adapted them to fit my needs. The thing I grappled most with, was to get my head around recursive programming style. I read about it a while ago but didn't use it much so far, since there was no real need for it. I think it's important to get acquainted with recursion early on (well, not too early obviously), but one thing is really crucial: don't get obsessed with building an algorithm entirely from scratch. This can't be stressed enough, especially if you, like me, belong to the species who's deeply dissatisfied by not fully knowing. That's probably the flipside of curiosity. But as an aspiring web developer, I personally think our focus should be on implementation and not reinventing the wheel (I mean it's definitely fun to stretch your mind but it might distract you from actual coding because a lot of more or less complex math might be involved). If you have a different opinion on that, I'd love to hear it. Please leave a comment below!

My focus for the next days is to get through the rest of the intermediate algorithm challenges, as smoothly as possible. Depending on the difficulty level of the next few exercises I might take (or more precisely "have to take") a quick detour, though.

*Note: 1 day of programming actually means from around 8 am until noon (my daily programming routine).
Thoughts: I noticed that solving algorithms is quite a lot about math. With that said, I decided to also devote some time to brush up my somewhat rusty math skills on Khan Academy (at least half an hour a day). I'm impressed how sophisticated their platform has become.

Whew, that was quite an update but I had a lot on my mind I wanted to share. If you have any questions or suggestions, don't hesitate to leave a comment or to get in touch with me.


Simpsons comic guy in front of a computer

As I already mentioned before, you can expect an update coming at least once a week. So stay tuned! :)

Update: Unfortunately I haven't received a word from the learning community I told you about last time yet. Still hoping to get in on one of the upcoming cohorts.

Check it out, maybe it's something for you as well:

https://tropicalchancer.github.io/projectus/

My plans for the next days:
  • Work through the remaining "Intermediate Algorithm Scripting" challenges

Follow my Pens on Codepen
Follow me on FreeCodeCamp

Thursday, February 2, 2017

Day 28

Current Project: Local Weather App
Today's Progress: Continued with "Intermediate Algorithm Scripting" challenges on FCC and learned a bit about RegExp. If only I had known about it earlier, my life would have been easier!
Thoughts: Yes, I know I should have worked on my Weather App, but solving Algorithms is just more fun at the moment. Can't help it. I mean, eventually, I have to get it done anyway if I want to receive my Frontend Certificate. So, no worries! ;-)

Boy, almost forget to tell that I applied myself to a learning community today, of which every member probably has the same goal as me. Accelerate the learning experience through helping each other out. Looking forward to telling you more about it if I will be accepted!

Check it out, maybe it's something for you as well:

https://tropicalchancer.github.io/projectus/
My plans for the next days:
  • Work through all "Intermediate Algorithm Scripting" challenges
  • Fulfill the whole user story of the Weather App (2 points left)
  • Head First JavaScript Programming" - Continue with Chapter  9

Follow my Pens on Codepen
Follow me on FreeCodeCamp

Sunday, January 29, 2017

Day 24

Current Project: Local Weather App
Today's Progress: Did some "Intermediate Algorithm Scripting" challenges on FCC and some 'Kata's' on Codewars the last couple of days. Getting better at writing functions.
Thoughts: Yes, you noticed correctly, it's already day 24! I actually didn't stop coding but haven't written a post since Wednesday (day 20). I somewhat forgot about it and haven't felt the need to write something, since there wasn't much going on. I was a bit bored of the weather app so I temporarily switched to the scripting part (on FCC as well as on Codewars). Before moving any further on scripting now I'll first finish the Weather App, to get it off my mind asap.

I think I'll continue to only post an update if I really learned something worth mentioning or finished a project or the like. It'll be more interesting for you and less work for me. ;-)
My plans for the next days:
  • Fulfill the whole user story of the Weather App (2 points left)
  • Work through all "Intermediate Algorithm Scripting" challenges
  • Head First JavaScript Programming" - Continue with Chapter  9

Follow my Pens on Codepen
Follow me on FreeCodeCamp

Wednesday, January 25, 2017

Day 20

Current Project: Local Weather App
Today's Progress: Worked on the "Real Battleship Game". It's almost finished!

Feel free to give it a try: https://codepen.io/pennyJack/full/WRjqyy/
Thoughts: Didn't make it through the chapter since I took my time trying to code everything myself first. It wasn't quite as eloquent as the solution but at least most of it worked!
My plans for the next days:

Follow my Pens on Codepen
Follow me on FreeCodeCamp

Tuesday, January 24, 2017

Day19

Current Project: Local Weather App
Today's Progress: Did mostly theory stuff today, but couldn't make it through chapter 8 entirely. Still trying to code the examples in the book upfront to better internalize the content.
Thoughts: I'm going to finish the current chapter tomorrow and then put the book aside for a moment to seriously continue practicing, primarily with FreeCodeCamp's curriculum. I think the following chapters (i.e. 9 to the end) aren't of much value yet, since I can't put them to use right now and when I'm going to need the knowledge someday, most of it will probably be gone by then (as it is almost always the case with stuff you learn in advance). So I'll continue reading when the time has come.
My plans for the next days:

Follow my Pens on Codepen
Follow me on FreeCodeCamp

Monday, January 23, 2017

Day 18

Current Project: Local Weather App
Today's Progress: Back to business after a weekend "away from keyboard". I was visiting an old friend so it would have been a bit rude if I would have coded at his place. ;) But still managed to read a bit about the "Document Object Model" and "type conversion" (chapter 6 and 7 of the Head First book below). Started with chapter 8 today: Building a Real Battleship game! Woohoo! Also made my Weather App work, that is successfully receiving JSON (which actually wasn't very hard, after all the experimenting with my Random Quote Machine). But it's still not complete yet.
Thoughts: Feels great to wrote some actual code again!
My plans for the next days:

Follow my Pens on Codepen
Follow me on FreeCodeCamp

Thursday, January 19, 2017

Day 17:

Current Project: Local Weather App
Today's Progress: Read a few pages of my book and tinkered with flexbox. That's basically it for today!
Thoughts: Progress is slow. I somehow lost my pace a bit. That sure bugs me ...
My plans for the next days:

Follow my Pens on Codepen
Follow me on FreeCodeCamp

Wednesday, January 18, 2017

Day 16

Current Project: Local Weather App
Today's Progress: Finally finished all the exercises in chapter 4 of the "Head First" book (see below) and tried to further abstract the code. I always try to come up with an answer myself before looking at any examples or solutions! If you did it yourself, on the one hand it actually feels better and on the other hand you probably remember a lot more. Also read about flexbox but I'm not finished yet.
Thoughts: Good night and see you tomorrow! :)
My plans for the next days:
  • Finish guide on flexbox (there are a bunch of spelling mistakes in it, but he's pretty good at getting to the point!)
  • Lay out the basic page design for the Local Weater App (using flexbox)
  • "Head First JavaScript Programming" - Chapter 5
  • Refactor code of RQM (optional)

Follow my Pens on Codepen
Follow me on FreeCodeCamp

Tuesday, January 17, 2017

Day 15

Current Project: Local Weather App
Today's Progress: Coded a bit on some old projects of mine, nothing special. Unfortunately I hadn't much time to really dive into the Weather App today, but guess coding at least something is better than not coding at all. ;)
Thoughts: Well, my plans basically haven't change much due to my lack of time today. Tomorrow is going to be a lot better and I can finally focus on my to-dos.
My plans for tomorrow:
  • Lay out the basic page design for the Local Weater App (either using Bootstrap or flexbox (if not too cumbersome to pick up) or even maybe both (if possible?))
  • Begin reading the guide about flexbox
  • Continue a bit on theory ("Head First JavaScript Programming")
  • Refactor code of RQM (optional)

Follow my Pens on Codepen
Follow me on FreeCodeCamp

Monday, January 16, 2017

Day 14

Current Project: Local Weather App
Today's Progress: Didn't do much refactoring and "pimping" like I planned. In fact, I spent more time digging for more ways to implement an API. But that is going to end as of now, because it doesn't add much value anymore. I also decided to skip the "pimping part" for the RQM for the moment and better start off with the Local Weather App to keep the current traction.
Thoughts: If it comes to laying out a page (like a simple one for the Local Weather App or the RQM) I would like to know more about "flexbox", as it seems to be one of the futures' mandatory css toolkits (probably in conjunction with "Grid"). Just a couple of days ago a camper actually released quite a comprehensive guide to flexbox. I'll probably check it out!
My plans for tomorrow:
  • Refactor code (RQM)
  • Lay out the basic page design for the Local Weater App (either using Bootstrap or flexbox (if not too cumbersome to pick up) or even maybe both (if possible?))
  • Begin reading the guide about flexbox
  • Continue a bit on theory ("Head First JavaScript Programming")

Follow my Pens on Codepen
Follow me on FreeCodeCamp

Sunday, January 15, 2017

Day 13

Current Project: Random Quote Machine
Today's Progress: I already made the RQM work, but a nagging question remained. What if CORS doesn't work, either because it isn't supported by an older browsers or the server simply doesn't allow a cross-origin request (i.e. the header 'Access-Control-Allow-Origin' isn't properly set server-side)? So I toyed around with different approaches to circumvent the same-origin policy (also played with jQuery methods and their parameters), like JSONP or a regular Pen as a rescource. Both worked pretty well, that is I got at least a successful respone from the server which I could console.log (didn't build the full app each time).

Important note: If you want to test my RQMs, make sure that your URL uses the proper protocol (http://codepen.io/pennyJack/...) Since the APIs I found both use 'http' but the application is run on codepen using 'https' by default, it will result in an error, like this:

"Mixed Content: The page at 'https://codepen.io/pennyJack/pen/GrqOdV' was loaded over HTTPS, but requested an insecure XMLHttpRequest endpoint 'http://quotesondesign.com/wp-json/posts?filter[orderby]=rand&filter[posts_per_page]=1&_=1484558978794'. This request has been blocked; the content must be served over HTTPS."

By the way, using the proxy 'https://crossorigin.me' as a workaround didn't work at all (see this article). Maybe you got an idea? Please share it in the comment section below (or any other thougths)!
Thoughts: That's it for now. I'll continue working on my layout, since it still looks pretty shitty and maybe trying to refactor some of my code by looking at some JS of other campers' RQM code.
My plans for tomorrow:

Follow my Pens on Codepen
Follow me on FreeCodeCamp

Saturday, January 14, 2017

Day 12

Current Project: Random Quote Machine
Today's Progress: Added the Twitter Button today and thus finally completed the project. It's not particularly pretty yet but it's fully fuctionally. Check it out on Codepen and leave a comment below what you think. Feedback on code is highly appreciatd!!!
Thoughts: Best feeling when you finally nailed it! ;)
My plans for tomorrow:

Follow my Pens on Codepen
Follow me on FreeCodeCamp

Friday, January 13, 2017

Day 11

Current Project: Random Quote Machine
Today's Progress: Worked on my layout and better functionality.
Thoughts: Progress is slow (at least it pretty much feels that way) but somewhat steady.
Would appreciate if you'd leave a comment below! :)
My plans for tomorrow:
  • Implement the Twitter Button
  • Pimp my layout
  • Further develop a better understanding
Follow my Pens on Codepen
Follow me on FreeCodeCamp
See my older posts on GitHub 

Thursday, January 12, 2017

Day 10

Current Project: Random Quote Machine
Today's Progress: Still confused, trying to figure out what's going on behind the curtain. Actually I made the Random Quote Machine work today, by finding a proper API on Quotes on design. I think I'll stick with it and continue coding on my project.
Thoughts: The main problem I have been grappling with has something to do with the so called Same-origin policy, which basically doesn't allow some script of one webpage to access data on another, unless is has the same "origin". Since my application is going to eventually run on Codepen (i.e. another page with a different origin than the API), I had to fix it. Apparently there are some ways to work around this issue, like using JSONP or having an API that supports CORS (at least that's my understanding). I don't fully comprehend why it's working now, but since it does I can finally proceed.
Would appreciate if you'd leave a comment below! :)
My plans for tomorrow:
  • Continue coding
  • Further develop a better understanding (found some good resources)
Follow my Pens on Codepen
Follow me on FreeCodeCamp
See my older posts on GitHub