
JSJ 337: Microstates.js – Composable State Primitives for JavaScript with Charles Lowell & Taras Mankovski
Panel: Aimee KnightCharles Max WoodJoe EamesAJ O’NeilChris Ferdinandi Special Guests: Charles Lowell (New Mexico) & Taras Mankovski (Toronto)In this episode, the panel talks with two special guests Charles and Taras. Charles Lowell is a principle engineer at Frontside, and he loves to code. Taras works with Charles and joined Frontside, because of Charles’ love for coding. There are great personalities at Frontside, which are quite diverse. Check out this episode to hear about microstates, microstates with react, Redux, and much more!Show Topics:1:20 – Chuck: Let’s talk about microstates – what is that?1:32 – Guest: My mind is focused on the how and not the what. I will zoom my mind out and let’s talk about the purposes of microstates. It means a few things. 1.) It’s going to work no matter what framework you are using. 2.) You shouldn’t have to be constantly reinventing the wheel. React Roundup – I talked about it there at this conference. Finally, it really needs to feel JavaScript. We didn’t want you to feel like you weren’t using JavaScript. It uses computer properties off of those models. It doesn’t feel like there is anything special that you are doing. There are just a few simple rules. You can’t mutate the state in place. If you work with JavaScript you can use it very easily. Is that a high-level view?7:13 – Panel: There are a lot of pieces. If I spoke on a few specific things I would say that it enables programming with state machines.7:42 – Panel: We wanted it to fell like JavaScript – that’s what I heard.7:49 – Aimee: I heard that, too.7:59 – Guest.8:15 – Aimee: Redux feels like JavaScript to me.8:25 – Guest: It’s actually – a tool – that it feels natural so it’s not contrived. It’s all JavaScript.8:49 – Panel.9:28 – Guest: Idiomatic Ember for example. Idiomatic in the sense that it gives you object for you to work with, which are simple objects.10:12 – Guest: You have your reducers and your...we could do those things but ultimately it’s powerful – and not action names – we use method names; the name of the method.11:20 – Panel: I was digging through docs, and it feels like NORMAL JavaScript. It doesn’t seem like it’s tied to a certain framework or library platform?11:45 – Guest: Yes, we felt a lot of time designing the interfaces the API and the implementation. We wanted it to feel natural but a tool that people reach for.(Guest continues to talk about WHY they created microstates.)Guest: We wanted to scale very well what you need when your needs to change.13:39 – Chuck: I have a lot of friends who get into React and then they put in Redux then they realize they have to do a lot of work – and that makes sense to do less is more.14:17 – Guest: To define these microstates and build them up incrementally...building smaller microstates out of larger ones.Guest continued: Will we be able to people can distribute React components a sweet array of components ready for me to use – would I be able to do the same for a small piece of state? We call them state machines, but ultimately we have some state that is driving it. Would we be able to distribute and share?16:15 – Panel: I understand that this is tiny – but why wouldn’t I just use the native features in specific the immutability component to it?16:42 – Guest: I’m glad you asked that question. We wanted to answer the question...Guest: With microstates you can have strict control and it gives you the benefit of doing sophisticated things very easily.18:33 – Guest: You mentioned immutability that’s good that you did. It’s important to capture – and capturing the naturalness of JavaScript. It’s easy to build complex structures – and there is an appeal to that. We are building these graphs and these building up these trees. You brought up immutability – why through it away b/c it’s the essence of being a developer. If you have 3-4-5 levels of nesting you have to de-structure – get to the piece of data – change it – and in your state transition 80% of your code is navigating to the change and only 20% to actually make the change. You don’t have to make that tradeoff.21:25 – Aimee: The one thing I like about the immutability b/c of the way you test it.21:45 – Guest: There a few things you can test. 23:01 – Aimee: You did a good job of explaining it.23:15 – Guest: It makes the things usually hard easy! With immutability you can loose control, and if that happens you can get so confused. You don’t have a way to have a way to navigate to clarity. That’s what this does is make it less confusing. It gives you order and structure. It gives you a very clear path to do things you need to do. If there is a property on your object, and if there is a way to change it...25:29 – Guest: The only constant is change no matter what framework you are working on.24:46 – Chuck: We are talking about the benefits and philosophy. What if I have an app – and I realize I need state management – how do I put microstates into my app? It’s using Angular or React – how do I get my data into microstates?26:35 – Guest: I can tell you what the integration looks like for any framework. You take a type and you passed that type and some value to the create function so what you get is a microstate.(The Guest continues diving into his answer.)28:18 – Guest: That story is very similar to Redux, basically an event emitter. The state changes on the store.Maybe this is a good time to talk about the stability benefits and the lazy benefits because microstates is both of those things.Stability – if I invoke a transition and the result is unchanged – same microstate – it doesn’t emit an event. It recognizes it internally. It will recognize that it’s the same item. Using that in Ember or Redux you’d have to be doing thousands of actions and doing all that computation, but stability at that level.Also, stability in the sense of a tree. If I change one object then that changes it won’t change an element that it doesn’t need to change.31:33 – Advertisement: Sentry.io32:29 – Guest: I want to go back to your question, Chuck. Did we answer it?32:40 – Chuck: Kind of.32:50 – Guest.32:59 – Guest: In Angular for example you can essentially turn a microstate...33:51 – Guest: You could implement a connect, too. Because the primitive is small – there is no limit.34:18 – Chuck summarizes their answers into his own words.34:42 – Guest: If you were using a vanilla React component – this dot – I will bind this. You bind all of these features and then you pass them into your template. You can take it as a property...those are those handlers. They will perform the transition, update and what needs to be updated will happen.35:55 – Chuck: Data and transitions are 2 separate things but you melded them together to feel like 1 thing. This way it keeps clean and fast.36:16 – Guest: Every framework helps you in each way.Microstates let’s you do a few things: the quality of your data all in one place and you can share.38:12 – Guest: He made and integrated Microstates with Redux tools.38:28 – Guest talks about paths, microstates to trees.39:22 – Chuck.39:25 – Panel: When I think about state machines I have been half listening / half going through the docs. When I think of state machines I think about discreet operations like a literal machine. Like a robot of many steps it can step through. We have been talking about frontend frameworks like React - is this applicable to the more traditional systems like mechanical control or is it geared towards Vue layered applications?40:23 – Guest: Absolutely. We have BIG TEST and it has a Vue component.41:15 – Guest: when you create a microstate from a type you are creating an object that you can work with.42:11 – Guest: Joe, I know you have experience with Angular I would love to get your insight.42:33 – Joe: I feel like I have less experience with RX.js. A lot of what we are talking about and I am a traditionalist, and I would like you to introduce you guys to this topic. From my perspective, where would someone start if they haven’t been doing Flux pattern and I hear this podcast. I think this is a great solution – where do I get started? The official documents? Or is it the right solution to that person?43:50 – Guest: Draw out the state machine that you want to represent in your Vue. These are the states that this can be in and this is the data that is required to get from one thing to the other. It’s a rope process. The arrow corresponds to the method, and...44:49 – Panel: It reminds me back in the day of rational rows.44:56 – Guest: My first job we were using rational rows.45:22 – Panelist: Think through the state transitions – interesting that you are saying that. What about that I am in the middle – do you stop and think through it or no?46:06 – Guest: I think it’s a Trojan horse in some ways. I think wBecome a supporter of this podcast: https://www.spreaker.com/podcast/javascript-jabber--6102064/support.
30 Okt 20181h 18min

JSJ 336: “The Origin of ESLint” with Nicholas Zakas
Panel: Aimee KnightCharles Max Wood (DevChat TV)Christopher Ferdinandi (Boston)Cory House (Kansas City)Joe Eames Special Guests: Nicholas Zakas In this episode, the panel talks with Nicholas Zakas who writes on his site, Human Who Codes. He is the creator of ESLint, also the author of several books, and he blogs, too. He was employed through Box and today he talks about ESLint in full detail! Check it out! Show Topics:0:05 – Advertisement: KENDO UI 0:37 – Hello! The panel is...(Chuck introduces everyone).1:04 – Nicholas who are you?1:17 – Nicholas: Yeah it’s been about 5 years and then you invited me again, but I couldn’t come on to talk about ESLint back then. That’s probably what people know me most for at this point. I created ESLint and I kicked that off and now a great team of people is maintaining it.1:58 – Chuck: What is it?2:04 – It’s a Linter for JavaScript. It falls into the same category as JSLint. The purpose of ESLint is to help you find problems with your code. It has grown quite a bit since I’ve created it. It can help with bugs and enforcing style guides and other things.2:53 – Where did it come from?2:57 – Guest: The idea popped into my head when I worked at Pop. One of my teammates was working on a bug and at that time we were using...Nothing was working and after investigating someone had written a JavaScript code that was using a native code to make an Ajax request. It wasn’t the best practice for the company at the time. For whatever reason the person was unaware of that. When using that native XML...there was a little bit of trickiness to it because it was a wrapper around the...We used a library to work around those situations and add a line (a Linter) for all JavaScript files. It was a text file and when you tried to render code through the process it would run and run the normal expression and it would fail if any of the...matched.I am not comfortable using normal expressions to write code for this. You could be matching in side of a string and it’s not a good way to be checking code for problems. I wanted to find a better way.6:04 – Why did you choose to create a product vs. using other options out there?6:15 – Guest: Both of those weren’t around. JSHint was pretty much the defector tool that everyone was using. My first thought was if JSHint could help with this problem?I went back to look at JSHint and I saw that on their roadmap you could create your own rules, and I thought that’s what we need. Why would I build something new? I didn’t see anything on GitHub and didn’t see the status of that. I wanted to see what the plan was, and they weren’t going to get to it. I said that I really needed this tool and I thought it would be helpful to others, too.8:04 – My history was only back when it was customizable.8:13 – Aimee: It’s interesting to see that they are basing it on regular expressions.8:32 – Guest: Interesting thing at Box was that there was...I am not sure but one of the engineers at Box wrote...9:03 – Aimee: I was going to ask in your opinion what do you think ES Lint is the standard now?9:16 – Guest: How easy it is to plug things in. That was always my goal because I wanted the tool not to be boxed in – in anyway.The guest continues to talk about how pluggable ESLint is and the other features of this tool.13:41 – One thing I like about ESLint is that it can be an educational tool for a team. Did you see that being an educational tool?14:24 – Guest: How do you start introducing new things to a team that is running at full capacity? That is something that I’ve wondered throughout my career. As a result of that, I found that a new team there were some problems I the code base that were really hard to get resolved, because when one person recognizes it there isn’t a god way to share that information within a team in a non-confrontational way. It’s better to get angry at a tool rather than a person.Guest goes into what this can teach people.18:07 – Panelist: I am not surprised. Is there a best practice to get a team to start with ESLint?Do you get the whole team in a room and show them the options or take the best guess and turn it on?18:34 – Guest: The thing I recommend is that first and foremost get ESLint in your system with zero rules on. It starts that mindset into your development process. We can do something to automatically check...Get Syntax checking and you will se improvements on the number of bugs that are getting out of production. I recommend using the default the ESLint configuration. This has all of the things that we have found that are most likely errors and runtime errors vs. syntax errors. You can go through with those and sometimes it is easier to run that check with...Using those ESLint rules will clean up a lot of problems that you didn’t know you had with your code. There are too many problems with those rules. I recommend instead of turning them off then put the severity to warning and not error. That is something we started with in the beginning. We turned on as many rules as we could and it drove people crazy. They didn’t feel like when they were committing to a file why should I be...The idea with the different scenario levels you don’t’ want to turn off rules so people don’t know there is a problem. There can be a rule on so people will know that there is a problem, but...Doing that alone will give you a lot of benefit in using ESLint. How do you decide as a team on the rules that are maybe not for finding errors but for stylistic in error? Do we use four spaces, semi-colons, etc. To figure that out I am a big component on finding a pre-existing style guide and adapting it. Get everyone to agree.There is no right or wrong when it comes to stylistic preferences. It really is just getting everyone to do the same thing. I think it was Crawford that said: Whether you drive on the right side of the left side of the road – it doesn’t matter as long as everyone is dong the same thing. I agree with that and it applies to style guides. It can get heated but for the best thing for the team is stick with a guide and work together.24:36 – Aimee: I can go through the options to pick one of the style guides out there and then it will automatically create my configuration for me is helpful. Question: If you had to pick 2 or 3 rules that you are super helpful what would they be?25:30 – Guest: To touch briefly on indentation. Whether you like four spaces or whether you are wild and like tabs, I think the indent rule is very helpful. Just for wiping out and eliminating that discussion through your team. Have your editor setup however they want but on the pre-hook...But my favorite rules I tend to lean towards the ones that saved me.The Guest goes through his favorite rules with ESLint. Check it out!26:51 – Guest mentions his second favorite rule, here!28:24 – Guest mentions his third favorite rule, here!29:03 – Guest mentions the rule that makes him giggle a lot, here!30:07 – Advertisement – Sentry! 31:22 – What is your take on running Fix? Does it make sense to run Fix?32:00 – Guest: It depends and the idea behind Fix is the idea of doing a one time (at the start) fix everything that it can find wrong b/c I don’t want to do it by hand. It morphed into a more of a tool that people are using all the time. I too have mixed feelings about it. I think the greatest value you get out of Fix is that when you first install it or when you enable a new rule. I think in those situations you get a lot of value out of Fix. I think that when people were getting aggressive with their code styles it took us down a path where we...As a pre-commit hook it could be to fix things and part of the built system you wouldn’t want...People are probably wondering: Why doesn’t ESLint doesn’t fix all the time?It can be a team decision: do you want to run Fix at the point that the developer is writing the code, do you want to use Fix as running it as a build when you are bundling? It really seems more of a personal preference. I am on the fence about it. Even though I am leaning more towards...35:16 – Do you run Premier?35:20 – Guest: No I don’t. I don’t have anything against Premier but I think Prettier uses a very interesting space.37:50 – Chuck: What is next for ESLint and what is next for you?37:55 – Guest: Well, to be honest I am not sure what is next for ESLint. I haven’t been involved with keeping it maintained for the last few years. I do help out with feedback with decisions. But in general the ESLint the direction is that let’s add tings that help people avoid language hazards and make sure that ESLint is still pluggable. Lastly, that we will be there to help people and the community. There is this virtuosic cycle and tools like Babble and then tools like ESLint introducing rules adapting new rules and featurBecome a supporter of this podcast: https://www.spreaker.com/podcast/javascript-jabber--6102064/support.
23 Okt 20181h 8min

JSJ 335: “CanJS 4.0” with Justin Meyer
Panel: - http://www.aimeemarieknight.com- https://twitter.com/cmaxw?lang=en (DevChat TV)- https://2013.boston.wordcamp.org/speakers/- https://twitter.com/josepheames Special Guests: https://twitter.com/justinbmeyer?ref_src=twsrc%255Egoogle%257Ctwcamp%255Eserp%257Ctwgr%255Eauthor In this episode, the panel talks with https://twitter.com/justinbmeyer?ref_src=twsrc%255Egoogle%257Ctwcamp%255Eserp%257Ctwgr%255Eauthor who is a co-author of DoneJS, CanJS, jQueryPP, StealJS, and DocumentJS. Justin currently works for https://www.bitovi.com/about and is their Director of R&D. He is also a fan of basketball and Michael Jackson. The panel and Justin talk about CanJS in-detail – check it out!Show Topics:0:58 – https://radiopublic.com/all-javascript-podcasts-by-devcha-WwEoX8/ep/s1!3b9d2 1:14 – Chuck: Can you tell everyone who you are?1:20 – Justin tells us his background.1:50 – Chuck.1:58 – Justin.2:06 – Chuck: Can you give us an introduction to what CanJS 4.0?2:11 – Justin: It is a JavaScript framework and is similar to Vue. It adds a very model layer, and uses Real Time very well.2:44 – Panelist.2:49 – Justin.2:55 – Panelist: What is the current...3:09 – Justin: Compatibility is very important to us. A lot of the same tools are still available. It has over 80 different repositories.Justin continues to talk about the differences/similarities between the different versions.4:55 – Panelist: Angular, React, and Vue are dominating, so I have 2 questions.1.) Where is the core strength of JS and its user base?2.) What is like to be the CanJS when everyone is talking about the other programs?5:31 – Justin: We have dealt with this for the past 10 years. Emotionally it’s not great, I wished it was more popular, but our priority is keeping our user-based happy. We’ve had big companies use it.Justin answers the second question.8:44 – Panelist: You mentioned two things.9:22 – Aimee: I think everything has trade-offs. I would use something because it was the right tool for the job. I wouldn’t want to make something that was “cool.” I would want to make it super accessible in a network.10:10 – Justin: That is a great marketing angle. We are trying to remove the worst parts of the program.10:26 – Now I am intrigued.10:32 – Justin: You have this mutable state and you aren’t sure. At least for https://twitter.com/canjs?lang=en I don’t see that occurring too often.10:54 – Aimee.10:58 – Justin: Deep inheritance is definitely a problem and it can create...11:13 – Aimee.11:19 – Justin: We have changed strategies a lot, and I think it’s helped https://twitter.com/canjs?lang=en grow; like 60% since January. We are doing a lot of user studies now. I run Meetups, etc. That being said inheritance schemes aren’t something that people will encounter. This is something that they won’t encounter months down the road.13:00 – Aimee.13:05 – Panelist: I would like to dig deeper into state-management. Everyone is doing Flux, talk about that with CanJS.13:20 – Justin: Yeah. It depends on what kind of user you are talking to. When I talk to new users off the street (people who just graduated, etc.)...If you look at React’s statistics – more than 50% doesn’t use any state management.16:15 – Panelist: I think it’s interesting that there are people that aren’t “oh my gosh...”16:43 – Justin: The last coolest thing I’ve done is...18:02 – Justin continues.18:16 – Panelist: I kind of have this belief that we as a community turn to frameworks and tools too much. From your perspective when does it make sense to turn to a tool like this or better off working with native...18:56 – It depends on how complex your app is and our ability to work through those problems. I think that’s a generic answer, but hopefully that helps. I don’t think you really can’t live without.19:49 – Panelist: I think that’s fair. One thing that I found is that there are many things layered into state-management. Because you mentioned performance, which is something I care about, too. At what point does the extra tooling become too heavy for the user’s experience? Where do you draw the line?21:11 – Justin: It depends. I don’t know what the parallel is – it’s like a richer developer problem. You have too many users where you can make those fine tuned adjustments. Do whatever is going to deliver the product first and then worry about performance later? I think our things are geared towards performance by default.22:41 – Panelist: Playing devil’s advocate, though. But isn’t there some danger in kind of suggesting that you focus on performance WHEN it’s a business issue? Maybe there is there a lack of empathy among developers. I worry that advice is hurting us.23:53 – Justin: No matter what you can build your homepage with Angular weird monstrosity, but then when you get to the point when people are using your product – you can just use native HTML, and native methods and build that one widget and as easy and fast as possible.24:50 – Panelist: Dealing with complexity. Now we need to do things like bundlers, and such to deal with this issue. I feel like a crotchety old man yelling because it takes forever.25:38 – Justin: I think it depends on where you are sitting. I think that comes down to the design. If your design has a lot of complex states, then...26:37 – Panelist: Because you care about performance...26:54 – https://sentry.io/welcome/ 27:53 – Justin: I don’t think that the run time of https://twitter.com/canjs?lang=en is going to be a critical performance path for anybody. Is there a responsibility? This is the oldest question. It’s like saying: where do you draw the line that you need to choose success/be elected to fight the battles if you really want to win.You need someone using your product or it doesn’t really matter. Start-ups use our product because they need to get something up and in. I am going to flip this back onto you guys.30:48 – Panelist: I think that’s fair.31:00 – Aimee: I have a question. You got into consultancy when do you recommend using CanJS or something else?31:15 – Justin: I always suggest people using CanJS.31:53 – Aimee: What do these people do when their contract is over? I have used an older version of Can, and...32:20 – Justin: Are you on https://github.com/gitterHQ?Aimee: No, I am not.32:25 – Justin: We do offer promote job posting to help them find somebody. We try our best to help people in any way we can.33:05 – Aimee: That’s helpful. Another question.33:28 – Justin: DoneJS is that. It uses the full kitchen sink. That’s what DoneJS is.33:50 – Panelist: Let’s talk about CanJS in the mark-up. Do you think it’s better now or worse than 2012? Less space or more space?34:13 – Justin: It’s probably worse. I think the methodology that we are using: focusing on our users. We get their feedback frequently. We are listening to our users, and I think we are being smarter.35:16 – Panelist: Is the space getting more welcoming or less?35:31 – It depends on what framework you are. It’s very hard to compete if you are the exact same thing as...The market is so dense and there are so many ideas, so it’s getting harder and harder. What helps people break-through? Is it the technology or the framework?36:36 – Panelist: I appreciate the richness of the field, as it exists right now. There aren’t a few things SMELT and ELM37:10 – Justin: Elm for sure. I don’t have a lot of experience with SMELT.37:23 – Panelist continues the talk.37:54 – Chuck.38:00 – Justin: I think it spreads by word-of-mouth. I used to think it was “technology” or... all that really matters is “can you deliver” and the person have a good experience.Usability is the most important to me. We will see how this turns out. I will be either right or wrong.39:18 – Panelist: Can we talk about the long-term future of Can JS?39:28 – Justin: We are connecting to our user-base and making them happy. If I had it my way (which I don’t anymore) I think https://reactjs.org/docs/jsx-in-depth.html is the best template language. We have been building integrations between JSX and...I am putting out proposals where most people don’t like them.Justin continues this conversation.44:24 – Picks!44:28 -https://devchat.tv/get-a-coder-job/ Links:- https://www.javascript.com- https://jquery.com- https://reactjs.org- https://elixir-lang.org- http://elm-lang.org- https://vuejs.org- https://polyfill.io/v2/docs/-Become a supporter of this podcast: https://www.spreaker.com/podcast/javascript-jabber--6102064/support.
16 Okt 201854min

JSJ 334: “Web Performance API” with Dan Shappir
Panel: Aimee KnightCharles Max WoodChristopher Ferdinandi (Boston) Special Guests: Dan Shappir (Tel Aviv)In this episode, the panel talks with Dan Shappir who is a computer software developer and performance specialist at Wix.com. As Dan states, his job is to make 100 million websites (hosted on the Wix platform) load and execute faster! Past employment includes working for companies, such as: Ericom, Ericom Software, and BackWeb. He studied at Technion Institute of Management and currently lives in Tel Aviv, Israel. The panel talks about web performance API among other things. Check it out!Show Topics:1:29 – Charles: Let us know who you are and why you’re famous!1:39 – “Hello!” from Dan Shappir.2:25 – Charles: You should say that you go to EACH site EVERY day out of the millions of sites out there.2:53 – Charles: My mom mentioned Wix to me at first. My mom teaches High School Math.3:16 – Dan: Yes that is our mission statement. That everyone can get a website without the knowledge of how to build a website.3:52 – Aimee makes her comments.3:59 – Dan: On our platform we try to offer people flexibility. There are bounds and limits, but people can do their very own thing, though. To make Wix faster because as we add more features and functionality that is our goal.4:40 – Chuck: Okay, I know how to make X perform a little bit better. You are looking at a platform that controls TONS of sites, how do you even go about that?4:58 – Dan: It is more difficult then that. We have millions of users leveraging the platform but there are a lot of developers in Wix who are developing the platform. I don’t think anyone at Wix has a total grasp of the complexity of the platform that we built. We have hundreds of frontend people working on our platform. All of them have pieces to the kingdom. We have processes in place with code reviews and whatnot, but there is so much going on. There is a change every 2 minutes, 24/7. We need to make sure progressing instead of regressing. 6:54 – Aimee: I think it was interesting in one of the links you sent over. Because you know when something is getting worse you consider that a bug.7:15 – Dan: It is more than a bug because if we see regression in performance then that is a problem. I can literally see any part of the organization and say, “stop” if it will7:57 – Chuck: We are talking about performance, but what does that mean? What measures are there?8:15: Dan: We are looking at performance can mean different things in different contents. User sites, for example, most important aspect is load time. How quickly the page loads and gets open to the viewer to that specific site. When they click something they want it instantly and no drag time. It does change in different contexts.9:58 – Chuck: People do talk about load time. People have different definitions of it.10:12: Dan: Excellent question. When you look at the different sites through Wix. Different people who build sites – load time can mean something else to everybody. It can mean when you see the MAIN text or the MAIN image. If it’s on an ECON site then how soon can they purchase or on a booking site, how long can the person book X product.I heard someone at a conference say that load time is when: HERO TEXT And HERO IMAGE are displayed.12:14 – Chuck: What is faster React or Vue?12:21 – NEW HOST: Not sure. It all depends.12:34 – Dan: We are big into React. We are one of the big React users outside of Facebook. I joined Wix four years ago, and even back then we were rebuilding our framework using React. One of our main modifications is because we wanted to do server-side rendered.13:27 – Christopher asks Dan a question.14:16 – Dan: We are in transition in this regard. Before we were totally client-site rendered, and that was the case until middle of last year. Then we deployed...Dan: We are 100% server-side rendered now. Some things we are still using JavaScript. We have another project going on now and it’s fully CSS, and little JavaScript as possible. What you might want to do with that site is...You might get in a few months every Wix site will be visible even if JavaScript is disabled.16:26 – Aimee adds in her comments and observations to this topic.16:55 – Dan: We don’t want things displayed incorrectly before it lays out. We hide the content while it’s downloading then make it visible. They lay-outing are done faster, because...17:44 – Christopher asks Dan a question.18:04 – Dan: I got into API...Either you are moving forward or are you moving back. AKA – You are either progressing or regressing.Different stages:1.) Development stage2.) Pre-Production (automated tools that check the performance with specific use cases)3.) Check it out!It’s beneficial to use these APIs.21:11 – Christopher: What is performance APIs?21:38 – Dan: There is a working group – Todd from Microsoft and others who are exposing the information (that is available in the browser) out into the browser. When the browser downloads a certain source (image, font, etc.) it can measure the various stages of downloading that feature. You have these different sages of downloading this resource. The browser can measure each of these stages and then expose them to you. Basically it’s for the browser to expose this information to you and in a way that is coherent and uniform. It essentially maintains this buffer that puts performance entries sequentially.Dan continues explaining this topic in detail.25:55 – Dan: You have this internal buffer...28:45 – Advertisement – Sentry – They support opensource.29:39 – Christopher: everything you are saying seems that I can use this or that tab right now...Why would I prefer the API to something visual, hypothetically?30:03 – Dan: Three Different Stages. (See above.)This information is very, very helpful during the developmental stage. Say you got a link from someone...Dan mentions: Performance.mark 34:04 – Aimee: When you were talking about resource-ends. Many people don’t know what this is. Can you spend 2-3 minutes about how you guys are using these? Are there people can add for big bang for their buck?34:41 – Dan: This might want to be a topic for its own podcast show.Dan gives a definition of what a resource-end means.Go back to fonts as an example.Pre-connect for example, too.39:03 – Dan: Like I said, it’s a huge topic.You have to exercise some care. Bandwidth is limited. Make sure you aren’t blocking other resources that you do need right now.40:02 – Aimee: Sounds like a lot of great things to tap into. Another question I have is about bundling.40:27 – Dan: One of the things that we try to do (given that we are depending on the JavaScript we are downloading) we need to download JavaScript content to the client side. It has been shown often that JS is the most impactful resources that you need to download. You really want to be as smart as possible with that. What is even more challenging is the network protocols are changing.Dan continues to go in-depth about this topic. Dan: What we have found is that you want to strive to bundle resources together.44:10 – Aimee: Makes sense.44:15 – Dan continues talking about this topic.45:23 – Chuck asks two questions. (First question is now and second question is at 51:32.)2 Questions:1. You gather information from web performance AI - What system is that?45:42 – Dan: I am not the expert in that. I will try not to give misleading information. Actually let me phrase it different. There are 3rd party tools that you can use leverage in your website. IF you are building for commercial reasons I highly recommend that you use performance-monitoring solution. I am not going to advertise one because there are tons out there. We ended up rolling out our own infrastructure because our use case is different than most.At a conference I talked with a vendor and we talked about...51:32 – 2nd Question from Charles to Dan: Now you’ve gathered this information now what to you do? What patterns? What do you look for? And how do you decide to optimize things?54:23 – Chuck: Back to that question, Dan. How should they react to it and what are they looking for54:41 – Dan: Three main ways: 1.) Generate alerts 2.) See trends over long period of time 3.) Looking at real-time graphs.Frontend developer pro is that likely being woken up in the middle of the night is lower. We might be looking at the real time graph after we deployed...57:31 – Advertisement – Get a Coder Job!58:10 – Picks!Links:JavaScriptjQueryReactElixirElmVueWixBecome a supporter of this podcast: https://www.spreaker.com/podcast/javascript-jabber--6102064/support.
9 Okt 20181h 8min

JSJ 333: “JavaScript 2018: Things You Need to Know, and a Few You Can Skip” with Ethan Brown
Panel: Aimee KnightJoe EamesCharles Max Wood Special Guests: Ethan Brown In this episode, the panel talks with Ethan Brown who is a technological director at a small company. They write software to facilitate large public organizations and help make projects more effective, such as: rehabilitation of large construction projects, among others. There is a lot of government work through the endeavors they encounter. Today, the panel talks about his article he wrote, and other topics such as Flex, Redux, Ruby, Vue.js, Automerge, block chain, and Elm. Enjoy!Show Topics:2:38 – Chuck: We are here to talk about the software side of things.Let’s dive into what you are looking at mid-year what we need to know for 2018. You wrote this.3:25 – Ethan: I start off saying that doing this podcast now, how quickly things change. One thing I didn’t think people needed to know was symbols, and now that’s changed. I had a hard time with bundling and other things. I didn’t think the troubles were worth it. And now a couple of moths ago (an open source project) someone submitted a PR and said: maybe we should be using symbols? I told them I’ve had problems in the past. They said: are you crazy?!It’s funny to see how I things have changed.4:47 – Panel: Could you talk about symbols?4:58 – Aimee: Are they comparable to Ruby?5:05 – Ethan talks about what symbols are and what they do!5:52 – Chuck: That’s pretty close to how that’s used in Ruby, too.6:04 – Aimee: I haven’t used them in JavaScript, yet. When have you used them recently?6:15 – Ethan answers the question.7:17 – Panelist chimes in.7:27 – Ethan continues his answer. The topic of “symbols” continues. Ethan talks about Automerge. 11:18 – Chuck: I want to dive-into what you SHOULD know in 2018 – does this come from your experience? Or how did you drive this list?11:40 – Ethan: I realize that this is a local business, and I try to hear what people are and are not using. I read blogs. I think I am staying on top of these topics being discussed.12:25 – Chuck: Most of these things are what people are talking.12:47 – Aimee: Web Assembly. Why is this on the list?12:58 – Ethan: I put on the list, because I heard lots of people talk about this. What I was hearing the echoes of the JavaScript haters. They have gone through a renaissance. Along with Node, and React (among others) people did get on board. There are a lot of people that are poisoned by that. I think the excitement has died down. If I were to tell a story today – I would14:23 – Would you put block chain on there? And AI?14:34 – Panel: I think it’s something you should be aware of in regards to web assembly. I think it will be aware of. I don’t know if there is anything functional that I could use it with.15:18 – Chuck: I haven’t really played with it...15:27 – Panel: If you wrote this today would you put machine learning on there?15:37 – Ethan: Machine Learning...16:44 – Chuck: Back to Web Assembly. I don’t think you were wrong, I think you were early. Web Assembly isn’t design just to be a ... It’s designed to be highly optimized for...17:45 – Ethan: Well-said. Most of the work I do today we are hardly taxing the devices we are using on.18:18 – Chuck and panel chime in.18:39 – Chuck: I did think the next two you have on here makes sense.18:54 – Panel: Functional programming?19:02 – Ethan: I have a lot of thoughts on functional programming and they are mixed. I was exposed to this in the late 90’s. It was around by 20-30 years. These aren’t new. I do credit JavaScript to bring these to the masses. It’s the first language I see the masses clinging to. 10 years ago you didn’t see that. I think that’s great for the programming community in general. I would liken it to a way that Ruby on Rails really changed the way we do web developing with strong tooling. It was never really my favorite language but I can appreciate what it did for web programming. With that said...(Ethan continues the conversation.)Ethan: I love Elm. 21:49 – Panelists talks about Elm. *The topic diverts slightly.22:23 – Panel: Here’s a counter-argument. Want to stir the pot a little bit. I want to take the side of someone who does NOT like functional programming.24:08 – Ethan: I don’t disagree with you. There are some things I agree with and things I do disagree with. Let’s talk about Data Structures. I feel like I use this everyday. Maybe it’s the common ones. The computer science background definitely helps out.If there was one data structure, it would be TREES. I think STACKS and QUEUES are important, too. Don’t use 200-300 hours, but here are the most important ones. For algorithms that maybe you should know and bust out by heart.27:48 – Advertisement for Chuck’s E-book Course: Get A Coder Job28:30 – Chuck: Functional programming – people talk bout why they hate it, and people go all the way down and they say: You have to do it this way....What pay things will pay off for me, and which things won’t pay off for me? For a lot of the easy wins it has already been discussed. I can’t remember all the principles behind it. You are looking at real tradeoffs. You have to approach it in another way. I like the IDEA that you should know in 2018, get to know X, Y, or Z, this year. You are helping the person guide them through the process.30:18 – Ethan: Having the right tools in your toolbox.30:45 – Panel: I agree with everything you said, I was on board, until you said: Get Merge Conflicts.I think as developers we are being dragged in...33:55 – Panelist: Is this the RIGHT tool to use in this situation?34:06 – Aimee: If you are ever feeling super imposed about something then make sure you give it a fair shot, first.34:28 – That’s the only reason why I keep watching DC movies.34:41 – Chuck: Functional programming and...I see people react because of the hype cycle. It doesn’t fit into my current paradigm. Is it super popular for a few months or...?35:10 – Aimee: I would love for someone to point out a way those pure functions that wouldn’t make their code more testable.35:42 – Ethan: Give things a fair shake. This is going back a few years when React was starting to gain popularity. I had young programmers all about React. I tried it and mixing it with JavaScript and...I thought it was gross. Everyone went on board and I had to make technically decisions. A Friend told me that you have to try it 3 times and give up 3 times for you to get it. That was exactly it – don’t know if that was prophecy or something. This was one of my bigger professional mistakes because team wanted to use it and I didn’t at first. At the time we went with Vue (old dog like me). I cost us 80,000 lines of code and how many man hours because I wasn’t keeping an open-mind?37:54 – Chuck: We can all say that with someone we’ve done.38:04 – Panel shares a personal story.38:32 – Panel: I sympathize because I had the same feeling as automated testing. That first time, that automated test saved me 3 hours. Oh My Gosh! What have I been missing!39:12 – Ethan: Why should you do automated testing? Here is why...You have to not be afraid of testing. Not afraid of breaking things and getting messy.39:51 – Panel: Immutability?40:00 – Ethan talks about this topic.42:58 – Chuck: You have summed up my experience with it.43:10 – Panel: Yep. I agree. This is stupid why would I make a copy of a huge structure, when...44:03 – Chuck: To Joe’s point – but it wasn’t just “this was a dumb way” – it was also trivial, too. I am doing all of these operations and look my memory doesn’t go through the roof. They you see it pay off. If you don’t see how it’s saving you effort, at first, then you really understand later.44:58 – Aimee: Going back to it being a functional concept and making things more testable and let it being clearly separate things makes working in code a better experience.As I am working in a system that is NOT a pleasure.45:31 – Chuck: It’s called legacy code...45:38 – What is the code year? What constitutes a legacy application?45:55 – Panel: 7 times – good rule.46:10 – Aimee: I am not trolling. Serious conversation I was having with them this year.46:27 – Just like cars.46:34 – Chuck chimes in with his rule of thumb.46:244 – Panel and Chuck go back-and-forth with this topic.47:14 – Dilbert cartoons – check it out. 47:55 – GREAT QUOTE about life lessons.48:09 – Chuck: I wish I knew then what I know now.Data binding. Flux and Redux. Lots of this came out of stuff around both data stores and shadow domes. How do you tease this out with the stuff that came out aroBecome a supporter of this podcast: https://www.spreaker.com/podcast/javascript-jabber--6102064/support.
2 Okt 201823min

JSJ 332: “You Learned JavaScript, Now What?” with Chris Heilmann
Panel: AJ O’NealAimee KnightJoe EamesCharles Max Wood Special Guests: Chris Heilmann In this episode, the panel talks with programmer, Chris Heilmann. He has written books about JavaScript, in addition to writing a blog about it and is an educator about this program. He currently resides in Berlin, Germany. Let’s welcome our special guest and listen to today’s episode!Show Topics:2:19 – Chuck talks.2:41 – Chris: He has talked about JavaScript in Berlin upon an invitation. You can get five different suggestions about how to use JavaScript. The best practices, I have found, are on the projects I am on now. JavaScript was built in ten days. My goal is to help people navigate through JavaScript and help them feel not disenfranchised. 5:47 – Aimee: The overall theme is...5:54 – Panelist: I really like what you said about helping people not feeling disenfranchised.6:47 – Chris: There is a lot of peer pressure at peer conferences7:30 – Aimee chimes in with some comments.7:50: Chris: I think we need to hunt the person down that put...8:03 – Panelist: A good point to that is, I try to avoid comments like, “Well, like we ALL know...”8:27 – Chris: There are things NOT to say on stage. It happens, but we don’t want to say certain things while we are teaching people. We are building products with different groups, so keep that in mind.9:40 – Aimee: My experience in doing this is that I have found it very rewarding to share embarrassing experiences that I’ve had. My advice would to tell people to let their guard down. It’s encouraging for me.10:26 – Chris: It helps to show that you are vulnerable and show that you are still learning, too. We are all learning together. 90% of our job is communicating with others.11:05 – Chuck: Now, I do want to ask this...11:35 – Chris answers.12:24 – What makes you say that? (Question to Chris)12:25 – Chris answers.13:55 – Chuck: The different systems out there are either widely distributed or...You will have to work with other people. There is no way that people can make that on their own. If you can’t work with other people, then you are a hindrance.14:31 – Aimee chimes in.14:53 – Chris: They have to be very self-assured. I want to do things that are at the next level. Each developer has his or her own story. I want to move up the chain, so I want to make sure these developers are self-assured.16:07 – Chris: Back to the article...18:26 – Chuck: Yes, I agree. Why go and fight creating a whole system when it exists.18:54 – Chris chimes in with some comments.19:38 – Panelist: I still use console logs.19:48 – Chris: We all do, but we have to...19:55 – Aimee: In the past year, I can’t tell you how much I rely on this. Do I use Angular? Do I learn Vue? All those things that you can focus on – tools.10:21 – Chris: We are talking about the ethics of interfaces. Good code is about accessibility, privacy and maintainability, among others. Everything else is sugar on top. We are building products for other people.22:10 – Chuck: That is the interesting message in your post, and that you are saying: having a deep, solid knowledge of React (that is sort of a status thing...). It is other things that really do matter. It’s the impact we are having. It’s those things that will make the difference. Those things people will want to work with and solves their problems.23:00 – Chris adds his comments. He talks about Flash.24:05 – Chris: The librarian motto: “I don’t know everything, but I can look “here” to find the answer.” We don’t know everything.24:31 – Aimee: Learn how to learn.24:50 – Chris: There is a big gap in the market. Scratch is a cool tool and it’s these puzzle pieces you put together. It was hard for me to use that system. No, I don’t want to do that. But if you teach the kids these tools then that’s good. 24:56 – Chuck: Here is the link, and all I had to do was write React components.26:12 – Chris: My first laptop was 5x more heavy then this one is. Having access to the Internet is a blessing.27:24 – Advertisement 28:21 – Chuck: Let’s bring this back around. If someone has gone through boot camp, you are recommending that they get use to know their editor, debugging, etc.Chris: 28:47 – Chris: Yes, get involved within your community. GitHub. This is a community effort. You can help. Writing code from scratch is not that necessary anymore. Why rebuild something if it works. Why fix it if it’s not broken?31:00 – Chuck talks about his experience.31:13 – Chris continues his thoughts.Chris: Start growing a community.32:01 – Chuck: What ways can people get involved within their community?32:13 – Chris: Meetup. There are a lot of opportunities out there. Just going online and seeing where the conferences34:08 – Chris: It’s interesting when I coach people on public speaking. Sharing your knowledge and learning experience is great!34:50 – Chuck: If they are learning how to code then...by interacting with people you can get closer to what you need/want.35:30 – Chris continues this conversation.35:49 – Chris: You can be the person that helps with x, y, z. Just by getting your name known then you can get a job offer.36:23 – Chuck: How do you find out what is really good content – what’s worth your time vs. what’s not worth your time?36:36 –Chris says, “That’s tricky!” Chris answers the question.37:19: Chris: The best things out there right now is...38:45 – Chuck: Anything else that people want to bring up?39:00 – Chris continues to talk.42:26 – Aimee adds in her thoughts.Aimee: I would encourage people to...43:00 – Chris continues the conversation.Chris: Each project is different, when I build a web app is different then when I build a...45:07 – Panelist: I agree. You talked about abstractions that don’t go away. You use abstractions in what you use. At some point, it’s safe to rly on this abstraction, but not this one. People may ask themselves: maybe CoffeeScript wasn’t the best thing for me.46:11 – Chris comments and refers to jQuery.48:58 – Chris continues the conversation.Chris: I used to work on eight different projects and they worked on different interfaces. I learned about these different environments. This is the project we are now using, and this will like it for the end of time. This is where abstractions are the weird thing. What was the use of the abstraction if it doesn’t have longevity? I think we are building things too soon and too fast.51:04 – Chris: When I work in browsers and come up with brand new stuff.52:21 – Panelist: Your points are great, but there are some additional things we need to talk about. Let’s take jQuery as an example. There is a strong argument that if you misuse the browser...53:45 – Chris: TheBecome a supporter of this podcast: https://www.spreaker.com/podcast/javascript-jabber--6102064/support.
25 Sep 20181h 14min

JSJ 331: “An Overview of JavaScript Testing in 2018” with Vitali Zaidman
Panel: - https://twitter.com/coolaj86?ref_src=twsrc%255Egoogle%257Ctwcamp%255Eserp%257Ctwgr%255Eauthor- http://www.aimeemarieknight.com- https://twitter.com/josepheames?ref_src=twsrc%255Egoogle%257Ctwcamp%255Eserp%257Ctwgr%255Eauthor- https://twitter.com/cmaxw?lang=en Special Guests: https://medium.com/@vzaidman In this episode, the panel talks with programmer, https://medium.com/@vzaidman, who is working with Software Solutions Company. He researches technologies and starts new projects all the time, and looks at these new technologies within the market. The panel talks about testing JavaScript in 2018 and https://jestjs.io.Show Topics:1:32 – Chuck: Let’s talk about testing JavaScript in 2018.1:53 – https://medium.com/@vzaidman talks about solving problems in JavaScript.2:46 – Chuck asks https://medium.com/@vzaidman a question.3:03 – Vitali’s answer.3:30 – Why https://jestjs.io? Why not Mocha or these other programs?3:49 – https://jestjs.io is the best interruption of what testing should look like and the best practice nowadays. There are different options, they can be better, but https://jestjs.io has this great support from their community. There are great new features.4:31 – Chuck to Joe: What are you using for testing nowadays?4:43 – Joe: I use Angular, primarily.6:01 – Like life, it’s sometimes easier to use things that make things very valuable.7:55 – Aimee: I have heard great things about http://www.cypress.com/documentation/software-and-drivers/free-and-open-source-software-download-page, but at work we are using another program.8:22 – Vitali: Check out my article.8:51 – Aimee: There are too many problems with the program that we use at work.9:39 – Panelist to Vitali: I read your article, and I am a fan. Why do you pick Test Café over Cypress, and how familiar are you with Cypress? What about Selenium and other programs?10:12 – Vitali: “Test Café and Cypress are competing head-to-head.”Listen to Vitali’s suggestions and comments per the panelists’ question at this timestamp.11:25 – Chuck: I see that you use sign-on...12:29 – Aimee: Can you talk abouthttps://github.com/GoogleChrome/puppeteer? It seems promising.12:45 – Vitali: Yes, Puppeteer is promising. It’s developed by Google and by Chrome. You don’t want to use all of your tests in Puppeteer, because it will be really hard to do in other browsers.13:26: Panelist: “...5, 6, 7, years ago it was important of any kind of https://www.javascript.com testing you had no idea if it worked in one browser and it not necessarily works in another browser. That was 10 years ago. Is multiple browsers testing as important then as it is now?14:51: Vitali answers the above question.15:30 – Aimee: If it is more https://www.javascript.com heavy then it could possibly cause more problems.15:56 – Panelist: I agree with this.16:02 – Vitali continues this conversation with additional comments.16:17 – Aimee: “I see that Safari is the new Internet Explorer.”16:23: Chuck: “Yes, you have to know your audience. Are they using older browsers? What is the compatibility?”17:01 – Vitali: There are issues with the security. Firefox has a feature of tracking protection; something like that.17:33 – Question to Vitali by Panelist.17:55 – Vitali answers the question.18:30 – Panelist makes additional comments.18:43 – If you use Safari, you reap what you sow.18:49 – Chuck: I use Chrome on my iPhone. (Aimee does, too.) Sometimes I wind up in Safari by accident.19:38 – Panelist makes comments.19:52 – Vitali tells a funny story that relates to this topic.20:45 – There are too many standards out there.21:05 – Aimee makes comments.21:08 – https://brutalist-web.design. Some guy has this site – https://brutalist-web.design – where he says use basic stuff and stop being so custom. Stop using the web as some crazy platform, and if your site is a website that can be scrolled through, that’s great. It needs to be just enough for people to see your content.22:16 – Aimee makes additional comments about this topic of https://brutalist-web.design.22:35 – Panelist: I like it when people go out and say things like that.22:45 – Here is the point, though. There is a difference between a website and a web application. Really the purpose is to read an article.23:37 – Vitali chimes in.24:01 – Back to the topic of content on websites.25:17 – Panelist: Medium is very minimal. Medium doesn’t feel like an application.26:10 – Is the website easy enough for the user to scroll through and get the content like they want to?26:19 – https://sentry.io/welcome/ 27:22 – See how far off the topic we got?27:31 – These are my favorite conversations to have.27:39 – Vitali: Let’s talk about how my article got so popular. It’s an interesting thing, I started researching “testing” for my company. We wanted to implement one of the testing tools. Instead of creating a presentation, I would write first about it in Medium to get feedback from the community as well. It was a great decision, because I got a lot of comments back. I enjoyed the experience, too. Just write about your problem in Medium to see what people say.28:48 – Panelist: You put a ton of time and energy in this article. There are tons of links. Did you really go through all of those articles?29:10 – Yes, what are the most permanent tools? I was just reading through a lot of comments and feedback from people. I tested the tools myself, too!29:37 – Panelist: You broke down the article, and it’s a 22-minute read.30:09 – Vitali: I wrote the article for my company, and they ad to read it.30:24 – Panelist: Spending so much time – you probably felt like it was apart of your job.30:39 – Vitali: I really like creating and writing. It was rally amazing for me and a great experience. I feel like I am talented in this area because I write well and fast. I wanted to express myself.31:17 – Did you edit and review?31:23 – Vitali: I wrote it by myself and some friends read it. There were serious mistakes, and that’s okay I am not afraid of mistakes. This way you get feedback.32:10 – Chuck: “Some people see testing in JavaScript, and people look at this and say there are so much here. Is there a place where people can start, so that way they don’t’ get too overwhelmed? Is there a way to ease into this and take a bite-size at a time?”32:52 – Vitali: “Find something that works for them. Read the article and start writing code.”He continues this conversation from here on out.34:03 – Chuck continues to ask questions and add other comments.34:16 – Vitali chimes-in. 34:38 – Chuck. 34:46 – Vitali piggybacks off of Chuck’s comments.36:14 – Panelist: Let’s go back to https://jestjs.io. There is a very common occurrence where we see lots of turn and we see ideas like this has become the dominant or the standard, a lot of people talk about stuff within this community. Then we get this idea that ‘this is the only thing that is happening.’ Transition to https://jquery.com to https://reactjs.org to... With that context do you feel like https://jestjs.io will be a dominant program? Are we going to see https://jestjs.io used just as common as Mocha and other popular programs?38:15 – Vitali comments on the panelist’s question.38:50 – Panelist: New features. Are the features in https://jestjs.io (over Jasmine, Mocha, etc.) so important that it will drive people to it by itself?40:30 – Vitali comments on this great question.40:58 – Panelist asks questions about features about https://jestjs.io.41:29 – Vitali talks about this topic.42:14 – Let’s go to picks!42:14 – https://www.digitalocean.com/ Links:- https://www.facebook.com/vzaidman- https://medium.com/@vzaidman- https://github.com/vzaidman- https://www.npmjs.com/~vzaidman-Become a supporter of this podcast: https://www.spreaker.com/podcast/javascript-jabber--6102064/support.
18 Sep 201855min

JSJ 330: “AWS: Amplify” with Nader Dabit
Panel: - AJ O’Neal- Aimee Knight- Joe Eames Special Guests: http://naderdabit.me/#/ In this episode, the panel talks with programmer, Nader Dabit, who has been with Amazon’s AWS for the past six months. They discuss the new innovations that Amazon is currently working on, and the exciting new projects that Nader gets to be involved with. Check out this episode to hear all the latest!Show Topics:1:45 – There are two main things that Nader works with. Check out this timestamp to see what they are.3:29 – AJ to Nader: Tell me more about manage cloud. I am not sure about https://aws.amazon.com/cognito/?ef_id=W5RTKgAAAUa7GPf1%3A20180908225434%3As&s_kwcid=AL%214422%213%21293649588890%21p%21%21g%21%21cognito&sc_campaign=acquisition_USsc_publisher%3Dgoogle&sc_category=Security&sc_channel=PS&sc_content=cognito_p&sc_country=US&sc_detail=cognito&sc_matchtype=p&sc_medium=ACQ-P%257CPS-GO%257CNon-Brand%257CDesktop%257CSU%257CSecurity%257CCognito%257CUS%257CEN%257CText&sc_segment=293649588890.3:56 – https://aws.amazon.com/cognito/?ef_id=W5RTKgAAAUa7GPf1%3A20180908225434%3As&s_kwcid=AL%214422%213%21293649588890%21p%21%21g%21%21cognito&sc_campaign=acquisition_USsc_publisher%3Dgoogle&sc_category=Security&sc_channel=PS&sc_content=cognito_p&sc_country=US&sc_detail=cognito&sc_matchtype=p&sc_medium=ACQ-P%257CPS-GO%257CNon-Brand%257CDesktop%257CSU%257CSecurity%257CCognito%257CUS%257CEN%257CText&sc_segment=293649588890 5:06 – What are the other manage cloud services that companies want to offer through the tools you have?5:12 – Nader answers AJ’s question.7:30 – Can you give me more specifics on the storage solutions you are offering?8:03 – Nader answers AJ’s question. People store websites there for example. Frontend developers are using S3 buckets, and they are using the library, which is a storage solution.9:10 – AJ and Nader are having a dialogue between different situations, and Nader is giving the solutions to those hypothetical situations.10:17 – AJ: “I am interested in what you are talking about https://aws.amazon.com/appsync/. Can you tell me how that works?” AJ is picking Nader’s brain about how https://aws.amazon.com/appsync/ works.11:05 – Nader: “It is a single API layer for a point of entry. You can have multi-data sources.” Nader continues, in detail, answering AJ’s question.12:36 – AJ: As a frontend developer, it sounds like I will have to become familiar with the backend, too. How is it providing the most value? What is it that I do not have to touch, because I am using this?15:37 – How would these relations work? As a frontend developer, and I do not want to learn sequel, how would that might look like; currently or in the future? How do you extract that knowledge?16:18 – Yes, it is not an easy solution to solve. Nader goes into detail about how he would approach this situation.18:26 – AJ: Are these resolvers written in https://www.javascript.com?22:04 – Acronym fun!22:45 – https://nodejs.org/en/ 23:51 – Summarizing these pasts 20-some-minutes: Off-Storage, https://aws.amazon.com/appsync/,https://sites.google.com/site/landismodel/developers, and others are what people are using Amplify for. New Question/New Topic: Simplify.25:45 – https://aws.amazon.com/mobile/ – is not mobile specific.26:44 – If you are using https://angular.io, we have a plugin in https://angular.io to help you. We also have that for React and https://vuejsdevelopers.com as well.27:52 – https://sentry.io/welcome/ 28:56 – What should we be talking about?29:04 – Let’s talk about Amazon’s Lex, https://aws.amazon.com/lex/?ef_id=W5RTKgAAAUa7GPf1%3A20180908230815%3As&s_kwcid=AL%214422%213%21209039218013%21p%21%21g%21%21amazon%2520chatbot&sc_campaign=lex_2017&sc_category=lex&sc_channel=PS&sc_content=chatbot_p&sc_country=US&sc_detail=amazon%2520chatbot&sc_matchtype=p&sc_medium=awns_lex_b&sc_publisher=google&sc_segment=209039218013. Nader goes into full detail of this service.33:52 – https://www.apple.com/tv/ 34:00 – AJ: Sounds like this is more platform/ more agnostic than getting different things to come together, and the Microsoft one is more hybrid and the Amazon one is more open?35:13 – Joe, let’s go back to what you had to ask.35:28 – Nader, you talked about https://www.biznessapps.com/blog/what-is-a-push-notification/ earlier. What is https://cloud.google.com/pubsub/docs/overview?36:30 – Is this like traditional hooks? Or custom?37:25 – What is the “stuff” that gets you up in the morning and gets you excited to go to work at AWS?38:40 – Nader: I really had no desire to change career paths, but it happened.41:30 – AJ: I totally agree with the idea in that finding the common patterns, so that way someone on the lower-level can participate. AJ wants a platform that is open or purchase that can offer some of these benefits. It could be open-source or you used to buy the different tools.43:27 AJ: What about for the hobbyist?43:40 – Nader: I agree, that would be really nice. I can’t think of any free services that would be nice.44:03 AJ – Not free in “free,” but “free” towards the idea of “free speech.” They would all be available and you get to choose what works well for you.45:00 – SHOUTOUT to LISTENERS: Have an idea about this? Shoot the panel an e-mail!45:33 – Hopefully this opens the listeners’ eyes to what’s out there.45:48 – Cloud services.46:55 – Innovation follows niche markets. When something gets big and established, innovation comes to a plateau. The innovation will develop in a new economic area like hydraulics. AJ thinks a niche will develop.49:03 – Is there anything, Dabit, which you would like to talk about?49:15 – Can we talk about https://docs.aws.amazon.com/aws-technical-content/latest/aws-overview/artificial-intelligence-services.html?51:10 – Nader saw a demonstration recently.52:26 – Hearing these implications is so cool, but when it comes to ML a panelist dabbled a little bit. He watched some videos, unless you want to devote a year or two to learning it then it’s too complex to put together. Do you have to be genius-level to get through?53:29 – ML you are passing data. Nader is not quite sure.56:00 Nader just did a blog post check-it-out!56:49 – Let’s do Picks!56:50 – https://www.digitalocean.com/ Links:- https://twitter.com/dabit3?ref_src=twsrc%255Egoogle%257Ctwcamp%255Eserp%257Ctwgr%255Eauthor- https://medium.com/@dabit3- https://www.linkedin.com/in/naderdabit/- https://github.com/dabit3- http://naderdabit.me/#/- https://www.youtube.com/channel/UC7mca3O0DmdSG2Cr80sOD7g- https://egghead.io/instructors/nader-dabit- https://www.javascript.com- https://aws.amazon.com/cognito/?ef_id=W5RTKgAAAUa7GPf1%3A20180908225434%3As&s_kwcid=AL%214422%213%21293649588890%21p%21%21g%21%21cognito&sc_campaign=acquisition_USsc_publisher%3Dgoogle&sc_category=Security&sc_channel=PS&sc_content=cognito_p&sc_country=US&sc_detail=cognito&sc_matchtype=p&sc_medium=ACQ-P%257CPS-GO%257CNon-Brand%257CDesktop%257CSU%257CSecurity%257CCognito%257CUS%257CEN%257CText&sc_segment=293649588890- https://aws.amazon.com/appsync/https://nodejs.org/en/- https://sites.google.com/site/landismodel/developers- https://aws.amazon.com/mobile/- https://vuejsdevelopers.com- https://angular.io-Become a supporter of this podcast: https://www.spreaker.com/podcast/javascript-jabber--6102064/support.
11 Sep 20181h 4min