Day 23 of 100DaysOfCode
Tags: 100daysofcode, sonicpi, codenewbie, javascript
Published: 2020-09-15 20:21:31

Hi!

Today was a fun day full of learning and trying new things. 

Inspired by the great YouTube video that I shared yesterday, I decided to try Sonic Pi! I only just started with the tutorial integrated into the application, but it was super fun trying to make the computer play the sounds I wanted. 

Also did some challenges at FreeCodeCamp and the exercises of CH7 of Eloquent JavaScript. Had to also do some bug fixing with the Twitter bot. 

**Study plan**
I decided to make a more robust schedule for coding. My base plan right now is:
1. Read a chapter of EJS in two days. Then do the exercises on the third day. 
2. Do at least ten challenges at FCC every day.
3. Watch a programming related YouTube video or listen to a podcast

This is just the base plan and I'm adding some "spice" to the mix. The spice can be anything that I want to do on that particular day. 

I'll keep this at the beginning of my writings and change it as I see fit. 

###What I did today:

####1. Continued Basic Data Structures at FCC
https://www.freecodecamp.org/learn/javascript-algorithms-and-data-structures/basic-data-structures/

####What I learned from it:
* Nesting arrays and objects
* Accessing nested objects and arrays

####2. Did the first exercise of EJS CH7
https://eloquentjavascript.net/07_robot.html#h_TcUD2vzyMe

####What I learned from it:
* Problem-solving
* Designing functions
* Using and modifying code from the given problem

####3. Played some tunes with Sonic Pi
https://sonic-pi.net/

####What I learned from it:
* How to make sounds with code
* What is live coding
* Learning the syntax of Sonic Pi

####4. Fixed some bugs on the Twitter bot
https://twitter.com/HappyTweetBot1

####What I learned from it:
* Bug fixing and the importance of monitoring my scripts every once in a while

####Time spent learning:
Task 'FCC'. Elapsed time: 0 h 37 min 27 s
Task 'EJS_exercises'. Elapsed time: 1 h 9 min 37 s
Task 'Sonic_Pi'. Elapsed time: 1 h 8 min 0 s
Task 'Twitter_bot'. Elapsed time: 0 h 15 min 1 s

####Time actually coding: 2 h 22 min

#### Total time: 3 h 10 min 5 s
Time spent is tracked by my [TaskTimer](https://www.arttupyykonen.com/tasktimer/) script and the [WakaTime app](https://wakatime.com/about).


### Links and videos
As I said in the study plan, from now on I'm going to watch a programming related video every day. I'll share them here so that others can watch them also.

Interested by the sorting Olympics video I shared a couple of days ago, I decided to look more into sorting algorithms. 

This great little miniseries explains why different sorts are faster than others and how radix sort works. 

{% youtube _KhZ7F-jOlI %}

Also found this really funny video and thought you people at dev would like it.

{% youtube ePhAj8ktiEA %}

### Further reading

#### [Eloquent JavaScript](https://eloquentjavascript.net/) - My favorite programming book
The book that really teaches you JavaScript. This has been a great read so far! The way the author explains things is both easy to understand and compelling. 

The learning environment which comes with the book makes the experience ten times better. Using the word "book" is a bit misleading. There are lots of code examples that the reader can run in the browser and there are plenty of exercises at the end of chapters. 

And the best part? The book is totally free!

####[Exercism](https://exercism.io/)
A platform for coding challenges. I enjoyed trying it and have read some positive things about Exercism. I liked the way the problems are solved. It requires using your own IDE and the terminal which felt like I was programming like the big boys. 

#### [The Odin Project](https://www.theodinproject.com/)
A great open-source resource for becoming a full-stack developer. It starts with the very basics and gets going after that. Really enjoyed it and look forward to doing more of the lessons. 

#### [FreeCodeCamp](https://www.freecodecamp.org/learn)
Check out FCC for the best interactive exercises! I have finished the Basic JavaScript, ES6, Regex, and Debugging lessons and can recommend them for a beginner

####Psst
You can check my answers to the exercises of Eloquent JavaScript. You'll find them [here](https://www.arttupyykonen.com/ejs-solutions/).

Have a great day and see you all tomorrow!