Adventures in Angular
AiA MAS 015 Danny Blue
My Angular Story 015 Danny Blue
On today’s episode we have a My Angular Story with Danny Blue. Danny is a Google Developer Expert for web technologies. In this episode we hear the story about how Danny first started coding, a method suggestion for picking a frameworks, and how vocabulary is vital for a new programmer to learn. It’s a good one, stay tuned.
How did you get into programming?
Didn’t get started until college. In school he was under the impression that you had to be a math genius to be a programmer. Didn’t even try until college. He wish he would have taken more in College. His first dive into code was ActionScript 2. He was offered a class that taught how to make Flash games and he took the class and made a few games, which he mentions were most likely awful. His game was an infinite runner with a robot. It taught him the basics like loops and storing variables.In his class he realized that as long as he understood some of the key concepts, he would be able to handle it.Soon he went out and just bought a book and after experiencing the code in action he got hooked.
Managing memory in C
Danny’s friend tried to teach him how to build a checkers game in C. He remembers the pains of manually managing memory. His feedback on malloc
is that it’s one of his favorite words because it rolls off the tongue. Charles talks about how in college he had to design systems in VSDL with transistors and silicon.
How do you get from that to JavaScript Development
First job was at a swimming pool manufacturing company’s marketing department in West Virginia. He worked a lot in Dreamweaver until a man that started after him decided they were going to write all the markup and CSS by hand. From that Danny learned how websites were put together. He talks about a contact form that they wanted to animate. He knew that he could figure it out. He would use code snippets to figure out and build the animation. He started to do more and more JavaScript and teaching himself as much as he could. He did the CodeSchool JavaScript Road Trip. The first few episodes ease you into JavaScript and helps you learn where things lives. From that point he became obsessed with building things with JavaScript. Charles talks about how CodeSchool wasn’t around when he started. Modern code seem to be more complicated but it can be learned best by breaking it down into smaller bites. CodeSchool is good for that. Getting your start or foothold is the hardest part.
It’s easy to skip over fundamentals.
Charles talks about how that things like CLI came second nature for him and sometimes instructors dismiss that new students may get hung up on those sort of fundamental concepts and tools. Danny adds that there had been times where he would read articles on sites like StackOverflow that would be explaining something but even the baseline instructions has information in it that can something someone has skipped. Little pieces of information can really help pull things together. He talks about the dissociation that can happen for someone who only learned JavaScript and doesn’t know what CLI is and how hard it would be to explain the difference between JavaScript running in the browser and Node, or explaining what a package manager is, then a package , etc. Many people come into it not understanding any of it. He can remember copying commands into a terminal but not understanding what was going on.
For learning JavaScript from a basic level, what do you suggest?
Finding the beginner tutorials for stuff. CodeSchool is good, Code Academy as well. Do those first. Don’t skip it assuming you know too much to do them. After that just make something. From there you will figure out stuff that works and stuff that doesn’t. Twitter is a great resource for finding helpful people. Being in the environment helps to get exposed to the information. Mainly just write code. Charles mentions that people have grown to understand the concepts and lingo of web development by just listening. Danny also advises that if you learn the vocabulary before learning the concepts, you’ll be able to do things like Google your issues affectively as well as reading articles or talking with others. Complicated concepts end up be boiled down to single words. Ultimately you will need to be able to communicate with everyone on projects anyway.
How did you get into Angular?
While working at DualLink Digital, they started looking at a few different things, he started looking at Ember and found that he really enjoyed the concepts. One of his friends started messing around with angular and they started workshopping with it to make it work. Afterwards he started to like it, really the plain JavaScript objects. The more he worked with he, the more he started enjoying it compared to Ember. It’s interesting to see how people have moved from Backbone or React or Ember to things like Angular. One of Embers pluses is how large their community is. Charles talks about how the history of Ember is great and the people behind Ember are great. Also, the JavaScript community used to seem to have animosity against the different communities but now it’s more collaborative.
Picking the right framework.
Danny suggests that when trying to figure out what framework to go with, be able to describe in your own words why the framework you’ve picked is better. Making sure that you do understand the decisions that you are making is important. He uses the example of within the React community and the use of virtual DOM. There was a common misconception that the virtual DOM was faster than the regular DOM, which is just not true. Later the details had to be expressed to clear the misunderstanding. If you don’t talk about the specifics, you may believe something without knowing the facts behind it. Charles adds that its sort of like politics in that way.
Tell us the work you’ve done with Web Standards.
Danny talks about getting interested in web components through his friend Eric and actually interviewed at the company Eric worked at. He didn’t get the job but they stayed in touch and Eric introduced him into Polymer. He started to learn about Polymer, specifically custom elements. He remembers very early on wanting to make a custom HTML tag. He suggests that being able to do things without the framework has been a piece that has been missing. Having lower level building blocks to build off of is really exciting to Danny. He talks about using custom elements to build a familiar API surface to interact with. He talks about an example where he wrapped a bunch of HTML APIs, like the notification API and the fullscreen API, wrapping another element within it. He was trying to build things that the younger version of himself could use. He things that could be something we are heading towards more often. Danny adds that Web Components come with 4 major parts: Custom elements, HTML Imports (kind of), ShadowDOM, and templates. Custom elements allow you to create a unique piece of HTML and is the most widely accepted and supported.
What are you working on now?
Danny talks about how the Angular’s component model is very similar to Custom Element component model. Where you pass information in through properties and you listen for changes through events. You can use Custom Elements with very little setup. There is a specific Custom Elements Scheme that will let you use custom elements without any properties being thrown. You use the custom event in the exact same way and syntax as for any other component. The one issue with the source code where it parses the metadata, losing the friendly compiler messages out of the box. He is playing around with trying to find a way to whitelist different element names and properties. He wants to learn how the Framework is parsing potential data and make it easy to whitelist a set of custom elements.
Picks
Dannys
Daemon by Daniel Suarez
Bob’s Burgers
CodeSchool
Charles
VR & Augmented Reality
IoT
Artificial Intelligence
Veritone.com
Coursera on Artificial Intelligence
Artificial Intelligence with Python
Machine Learning for Absolute Beginners