Another relatively “meh” week.
Remember how I said I was gonna wrap up Javascript 30 this past week?
Well, bollocks!
Let’s see how I actually fared:
Last 7 Days
Homestudy Curriculum
I “finished up” the home-study curriculum.
This took waaaaay longer than I initially proposed as I discovered the curriculum contained waaay more content than meets the eye.
For example, I had myself writing over 8 pages of notes on just Data Structures and Algorithms alone.
Home Study Assessment
I took the home study assessment and had mad fun doing it.
I was particularly fond of the coding sections as I had myself coming up with 2 or more correct implementations for the challenges provided, and submitting oneliners.
CS50
I failed to make it to the week 5 goal I set last week for CS50.
I’m currently taking the shorts for week 3.
Being introduced to pointers, heaps, stacks, and exactly how recursion works under the hood by pushing each recursive function call to the call stack and building the final solution by popping each resolved call off the stack, while a lot to take in, is deeply satisfying.
YDKJS Scopes & Closures
I also, still haven’t finished YDKJS Scopes and Closures.
I’m currently on the final chapter (Scope Closure) trying to wrap my head around why, and how, a function call would still have access to variables which “ordinarily” would result in a “segmentation fault” in a language like C.
I’m gonna ‘get it’ eventually, I’m sure.
Javascript 30
I failed to finish JS30.
This one was sheer indiscipline. I think the fact that I’m trying to just “get it over with” is interfering with my just doing it - I don’t know if this makes any sense.
For example, today is the 12th day of August, and I’ve only done 5 days for the month of August:
I’m no longer going to rush it. One per day till it’s done from here on out.
Random Quotes
I, true to my word, improved upon the Random Quotes Generator project I built the upper week.
Apart from the page now just showing random quotes when you hit the Enter Key, you can now tweet the quote currently in view by pressing the “T” key on your keyboard.
That, and making sure users on touch devices can tweet the current quote by touching outside the quote box.
This small challenge had me listening not just for click events outside the quote box, but for touch events as well.
Also, another interesting challenge I encountered was making sure that when the user touches or clicks outside the box, the quote would be tweeted, but when the user touches the box the quote changes:
function getTweet(e) {
if (!e.target.matches('body')) return;
const tweet = quoteBox.innerText;
window.open(
`https://twitter.com/intent/tweet?text=${
tweet.length > 275 ? tweet.slice(0, 275) + ' [...]' : tweet
}`
);
}
// Listeners for populating page with quotes
window.addEventListener('keyup', function(e) {
if (e.key === 'Enter') getQuote();
});
quoteBox.onclick = getQuote;
// Listeners for Tweeting
window.addEventListener('keyup', function(e) {
if (e.key === 't' || e.key === 'T') getTweet(e);
});
document.querySelector('body').onclick = getTweet;
document.querySelector('body').addEventListener('touchend', getTweet);
This had me understanding event bubbling and delegation since I was listening on body
for the tweeting functionality.
I’m rambling now, just check the project out.
Learn SQL
I finished the Codecademy Learn SQL course, Yay!
Eloquent Javascript
Finally, I still haven’t started Eloquent JS.
I’m only starting after I finish YDKJS, Scopes & Closures. I don’t want to be reading two books currently, it’s going to be a recipe for procrastination – at least for me.
And oh, I almost forgot to add. I concatenated last week, too!!!
The conference was awesome, and I sincerely can’t wait for next year’s.
Reflections
This week was sincerely fun!
I don’t know if I’m saying this because I’m still high off #concatenateconf, but fuck it, I totally enjoyed this week.
From the slight aha moments of understanding, to an extent, exactly why O(logn) algorithms resolve faster than O(n), O(n²), and their slower counterparts, to finally “getting” (I think) Data structures and their importance (organize data in such a way that when trying to retrieve it, resources would not be wasted).
This week was fun.
There were still days were my “productivity” were lackluster, though, and I’m aware I could have done better.
Guess what?
I plan to keep doing just that – getting better.
Also, I tackled one of the blockers from last week - bad internet - by installing EdX and Coursera apps on my smartphone and saving all lectures for offline viewing in one night.
That way, no more buffering.
Next 7 Days
-
Finish YDKJS Scopes and Closures
-
Javascript 30, Day 25
-
CS50, Week 6
-
Start Eloquent Javascript
-
Start Learn Node
Blockers
None. 🤗
Till next week!