12 Books Every JavaScript Developer Should Read

Only read 1 out of 12 books here. 11 more to go!

  1. “JavaScript for Kids: A Playful Introduction to Programming” by Nick Morgan
  2. “Eloquent JavaScript: A Modern Introduction to Programming” by Marijn Haverbeke
  3. “JavaScript: The Good Parts” by Douglas Crockford
  4. “Programming JavaScript Applications: Robust Web Architecture with Node, HTML5, and Moderns JS Libraries” by
    Eric Elliott
  5. “Effective JavaScript: 68 Specific Ways to Harness the Power of JavaScript” by David Herman
  6. “JavaScript: The Definitive Guide” by David Flanagan
  7. “You Don’t Know JS” by Kyle Simpson
  8. “JavaScript Allongé: The Six Edition” by Reginald Braithwaite
  9. “Professor Frisby’s Mostly Adequate Guide to Functional Programming” by Brian Lonsdorf
  10. “Node.js in Action” by by Mike Cantelon, Marc Harter, TJ Holowaychuk, and Nathan Rajlich
  11. “High Performance Browser Networking” by Ilya Grigorik
  12. “Web Audio API” by Boris Smus


Via https://medium.com/javascript-scene/12-books-every-javascript-developer-should-read-9da76157fb3

Progress #5

Doing project #15 – LocalStorage and Event Delegation.

The instructor seems to like to use lots of emoji’s and I think he has a mac. I am on normal windows and I always seem to not able to read the emoji’s on my PC. The last project, it also had encoding emoji problem, had to find unicode/html code for it. Probably have to display it as [ ], [X] or an image.

Left: My PC, Right: Instructor PC

At the moment, implementing new features clear all, check/uncheck all.

Update: Managed to code a clear all function

Update #2: Created the check/uncheck all function but doesn’t seem to be saved into LocalStorage

Update #3: Code works but give’s a console error

Uncaught TypeError: Cannot read property 'done' of undefined

Update #4: Posted Question on SO and error gone but code got buggy. When clicking check all and refreshed page, couple more items has been added and listed as undefined. Oh man! Couple minutes into debugging, managed to fix it all up.

Time spent almost 3 days! Troubleshooting, debugging and problem solving! Woooooooooot! 🙂

Via JavaScript30


Progress #4

Currently doing JavaScript30. It’s a free course. 1 JavaScript project per day for 30 days.

Doing project number 11 – Custom HTML5 Video Player
In Chrome (ver 58), it doesn’t display the play, pause and etc buttons. It show’s weird characters instead of a play button.

Tried to getElementById but got really messy.

document.getElementById('A1').value = '►';
document.getElementById('A1').value = '❚❚';

JS30 Tutorial:
In the scripts.js file. Under the function..

function updateButton() {

const icon = this.paused ? '►' : '❚❚';


const icon = this.paused ? '\u25ba' : '\u275A\u275A';

But then again, I changed it back to ascii form ► and now I can see it. Very odd bug!!
Maybe, it’s Chrome first time not seeing it. Changed the symbol with a different source code and changed it back again now works.

Rookie Mistake:
Syntax error. Missed the word “All”. Haha!!

meant to be:


Via http://stackoverflow.com/questions/16930905/why-does-the-html-symbol-for-%E2%96%B6-not-work-in-document-title

What is the difference between web design and web development?

Some people get confused between web designer and web developer. Here’s are the main difference below.

Web Designer:

  • Using software tools such as Adobe Photoshop, Illustrator, or Sketch to build the final layout design of the website
  • Have good skills in graphic design and logo design
  • Have a good feel for user experience, to identify the simplest approach possible to attain the desired function. This includes the layout, buttons, images and the general format of the website.
  • Web designers need to keep themselves up to date with the latest design trends. It’s also important to keep design consistency that is made popular from other web giant companies, such as Google, and Facebook. This makes the website environment and interface easier to navigate and use, as it is already familiar to the users eyes.
  • Web designers have to also keep in mind the branding of the website, colour palettes to be used, and the typography and readability of the website.

Web Developer:

  • Building the actual interface through which a user interacts with the website. This interface is built by front-end developers using HTML, CSS, and JS languages.
  • Front-end developers can use styling preprocessors, javascript libraries, and frameworks to fasten the process of development.
  • Front-end developers provide the markup design to back-end developers, so they can implement a dynamic website, and submit all the required data on the server and databases.
  • Back-end developers create the backbone of the website using languages such as PHP and MySQL.
  • Both front-end and back-end developers can use the same development environments or IDEs (Integrated Development Environment). These are software application tools where you code and build the structure of the website.
  • Web developers may also use versioning tools to keep a history of the previous builds. This will help them to quickly and effortlessly move back to a previous “unbroken” version if required to do so.


via https://hackernoon.com/what-is-the-difference-between-web-design-and-web-development-cc23171de85c

Progress #3

Was doing some studying with JavaScript via http://www.learn-js.org/en/Loops.

I was testing this code:

var i = 99;
while (i > 0)
    console.log(i + " bottles of beer on the wall");
    i -= 1;

It worked fine in Chrome Developer tools, Console menu.
It displays from 1 to 99 bottles of beer on the wall in a loop.

Crazy me, I switched – sign to a + sign without thinking. DO NOT ATTEMPT THIS!!

var i = 99;
while (i > 0)
    console.log(i + " bottles of beer on the wall");
    i += 1;

Guess what happened? My Chrome crashed, It will go from 99 and beyond space. In an infinite loop…I couldn’t close the tab. Silly me, should read the code carefully before executing it.


In Chrome: Either Shift+ESC or Menu → More Tools → Task Manager.
Find the tab and click End process. It will stop the tab from running.

10 Best Programming Languages That You Need To Learn In 2017

I guess I am on the right track! Studying JS still quite good in 2017. Swift on the other hand..what the…2625?!?! I dont even..Don’t be alarm when you are first starting out. It’s just good to know. Don’t jump on the bandwagon. Focus on the basic firsts, HTML, CSS and JavaScript. By having a good foundation rules than over knowing 10+ programming languages. Once you master a programming language, you can easily pick up other languages. Gotta keep an eye on the market as well.

Just doing some job trend comparison from March 2016 and March 2017. Slight % differences.
Looks like Go is getting quite popular. Pretty much rest of them drop some %.



1. JavaScript:
— Growth of JS in 2016: 97%
2. Java:
— Growth of Java in 2016: 63%
3. Python:
— Growth of Python in 2016: 54%
4. Ruby:
— Growth of Ruby in 2016: 66%
5. PHP:
— Growth of PHP in 2016: 43%
6. C++:
–Growth of C++ in 2016: 43%
7. C#:
–Growth of C# in 2016: 88%
8. Go:
–Growth of Go in 2016: 93%
9. Scala:
–Growth of Scala in 2016: 54%
10. Swift:
–Growth of Swift in 2016: 262%

Via https://fossbytes.com/best-popular-programming-languages-2017/