ic

MJS 073: Tara Z. Manicsic

Panel: Charles Max Wood

Guest: Tara Z. Manicsic

This week on My JavaScript Story, Charles speaks with Tara Z. Manicsic. Tara is a developer advocate for Progress, is on their Kendo UI team, and is also a Google developer expert on the Web Technologies team. She first got into programming in the second grade when she learned Logo and came back to development when she was asked to do Crystal Reports at Harvard Law School. They talk about how she found Women Who Code, the importance of understanding open source software, having a support system, what is was about Node that got her excited, and more!

In particular, we dive pretty deep on:

  • Tara intro
  • Very excited and fascinated with the web
  • Helped to start up React Round Up as a panelist
  • Her experience as a developer
  • Started out as a business school dropout
  • How did you first get into programming?
  • Learned Logo in the second grade
  • Loved the ability to help people and create change
  • Crystal Reports at Harvard Law
  • CS courses with tuition assistance
  • Getting back into CS
  • Being a non-traditional student
  • Finding Women Who Code
  • First job as a Node software engineer
  • How did Women Who Code help you?
  • OpenHatch
  • Being familiar with open source software
  • The importance of having support
  • How did you first get into JavaScript?
  • Seeing jobs for Ruby on Rails
  • Matt Hernandez on JavaScript Jabber
  • NG conf
  • Her intro to the Angular community in person
  • And much, much more!

Links:

Sponsors:

Picks

Charles

Tara




ic

MJS 079: Michael Garrigan

Panel: Charles Max Wood

Guest: Michael Garrigan

This week on My JavaScript Story, Charles speaks with http://michaelgarrigan.com who is one of the podcast’s listeners. He is changing careers midway and has had many exciting careers in the past, such as being a professional chef, carpenter, repairman, and so on. Listen to today’s episode to hear Michael’s unique experience with programming and JavaScript.

In particular, we dive pretty deep on:

1:18 – Chuck: I started this show but interviewing guests and then opened up to listeners. Michael scheduled an interview and here we go! I find that his experience will be different than mine than others. We will be getting guests on here, but wanted this to be a well-rounded view within the community.

2:25 – Michael’s background! His experience is a mid-career change. To see the things that are intimidating and exciting.

3:16 – How did you get into programming?

3:23 – Michael: How do people talk to machines? What are the different computer languages out there? What do people prefer to use? The C programming language, I saw as the “grandfather” program. That’s the first thing I looked at. Then I was like, “what is going on?” I got a copy of the original K&R book and worked through that.

4:58 – Chuck: I did the C language in college. The Java that I was learning then was less complicated. How did you end up with JavaScript then?

5:26 – Guest: It was easy and you can just open up a console and it works. You want to see things happen visually when you program is great. It’s a great entry point. We started building things in React and how fun that is. I enjoy JavaScript in general.

6:11 – Chuck: What is your career transition?

6:18 – Guest: I have always been a craftsman and building things. I had a portion time I was a professional chef, which is the cold side like sausages and meats and cheeses, etc. I used to do a lot of ice carvings, too. Stopped that and opened a small business and repaired antique furniture for people. Wicker restoration. It was super cool because it was 100+ years old. To see what people did very well was enjoyable. Every few years I wanted to see how something worked, and that’s how I got into it. That was the gateway to something that was scary to something that made programs.

8:24 – Chuck: I was working in IT and wrote a system that managed updates across multiple servers. There is some automation I can do here, and it grew to something else. What made you switch? Were you were looking for something more lucrative?

9:01 – Michael: Main motivation I appreciate the logic behind it. I always build physical items. To build items that are non-physical is kind of different. Using logic to essentially put out a giant instruction sheet is fun.

9:52 – Chuck: At what point do you say I want to do a boot camp?

10:04 – Michael: I might to this as a career. Hobby level and going to work is definitely different. I could see myself getting up every day and going to meetings and talking about these topics and different issues. Coding day to day.

10:51 – Chuck: Who did you talk to who got you started?

10:57 – Guest: Things I read online and friends. They said get the basics behind programming. Languages come and go. Be able to learn quickly and learn the basics.

12:13 – Chuck: In NY city? It’s pricy to live there.

12:33 – Guest: Cost of living is much greater.

12:42 – Chuck: What was it like to go to a boot camp?

12:50 – Guest answers question.

14:30 – Advertisement – Get a Coder Job

15:11 – Chuck: What different projects have you worked on?

15:19 – Guest talks about his many different projects. Like senses.gov.

18:11 – Michael: Working on getting a job. I put together a portfolio and just graduated this past week.

19:38 – Charles: Anything that has been a huge challenge for you?

19:47 – Not really just one. I’ve done big projects in the past. Seeing that I can do them and sheer amount of work that I have put in. Not really too concerned. Only concern is that mid-30s any bias that is out there. I don’t think that will really affect me.

20:25 – Chuck: Yeah, it’s rally not age-bias.

20:55 – Michael: “Making your bones” is an expression in culinary school. That means that you put in the hours in the beginning to become a professional at it. So I have had transitioned several times and each time I had to make my bones and put in the time, so I am not looking forward to that for me right now, but...

21:43 – Chuck: Anything else?

21:51 – Guest: Meetups.

22:40 – Chuck: I have been putting time into making this book.

22:53 – Guest puts in his last comments.

24:00 – Chuck: Thinking about what I want DevChat TV to be. I have been thinking and writing the mission statement for DevChat TV.

25:14 – Chuck: It’s a big deal to get out of debt. My wife and I will be at the end of the year.

25:37 – Guest: Discipline not to spend money, and peer pressure.

25:48 – Picks!

25:57 – Advertisement for Digital Ocean!

Links:

Sponsors:

Picks:

Charles

Michael Garrigan




ic

JSJ 336: “The Origin of ESLint” with Nicholas Zakas

Panel:

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 features better.

For myself, and the future, I haven’t been involved with ESLint because I am focusing on my health. I was diagnosed with Lyme Disease and it meant that I needed to focus on my health. That’s why, too, I wasn’t able to join a few years ago. I am doing better but I am a few years away for working fulltime and writing books and blogging, again. The trajectory is upward. I want to stress that you need to take care of yourself.

There is interesting stuff that we are doing and I love it, but make sure you take care of yourself! If you don’t have your health then nothing will really matter. I want to encourage you all to take care of yourselves better. This industry can take a toll on your body b/c it is high-stressed. If you are stressed your immune system will shut down. For a lot of us we are working too much and there isn’t an off-switch. I would like to encourage people to examine their life and their time.

When you take time to turn off your analytic brain, and work on your creative brain then the pathways will connect better.

Please save your money!

Lyme disease is spread through tick bites.

44:30 – Aimee: Thank you for sharing that!

44:38 – Chuck: It’s encouraging to me that you are still trying to come back even after this disease. I think we take things for granted sometimes. You can’t always count on things going the way you want it to go.

45:19 – Guest: What happened to me was I left work and one Friday afternoon I had a normal weekend. My health was on the decline, and I rested all weekend. And Monday I couldn’t get out of bed. That started this whole period where I stopped leaving the house completely. That’s how quickly things can change for you. I harp on people a lot to save their money. If I didn’t have savings there would be a very different end to my story. I want to encourage people to save.

46:33 – Chuck: I think on that note let’s go to picks. Where can people find you?

46:45 – Guest: My blog is Human Who Codes.

47:10 – Chuck: Anything people can do to help you? Check out his books you won’t regret it!

47:33 – Guest: Buying books is always helpful. I would say that if you can spend some time contributing to ESLint that is always a great help. Anything you can do to help them will help me. I want to make sure that those folks are happy, healthy and productive. For me, personally, I love when people Tweet at me and say HI! I love hearing other people’s stories of how they have overcome past diseases or illnesses. If you want to send monetary gifts – donate to a wonderful organization that helps children with Lyme disease. I would encourage you to support if you feel inclined.

50:49 – Chuck: We appreciate it, and I appreciate you being so open about your personal story.

51:11 – Advertisement – eBook: Get a coder job!

Links:

Sponsors:

Picks:

Aimee

Chris

Cory

Charles

  • My JavaScript Story

Joe

Nicholas




ic

JSJ 337: Microstates.js – Composable State Primitives for JavaScript with Charles Lowell & Taras Mankovski

Panel:

  • Aimee Knight
  • Charles Max Wood
  • Joe Eames
  • AJ O’Neil
  • Chris 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.io

32: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 what’s interesting you start to realize how you implement your state transitions.

48:00 – (Guest continues.)

48:45 – Panel: That’s interesting. Do you have that in the docs to that process of stopping and thinking through your state transitions and putting into the microstate?

49:05 – Guest: I talked about this back in 2016. I outlined that process. When this project was in the Ember community.

49:16 – Guest: The next step for us is to make this information accessible. We’ve been shedding a few topics and saying this is how to use microstates in your project. We need to write up those guides to help them benefit in their applications.

50:00 – Chuck: What’s the future look like?

50:03 – Guest: We are working on performance profiling.

Essentially you can hook up microstates to a fire hose.

The next thing is settling on a pattern for modeling side effects inside microstates. Microstates are STATE and it’s immutable.

52:12 – Guest: Getting documentation. We have good README but we need traditional docs, too.

52:20 – Chuck: Anything else?

52:28 – Guest: If you need help email us and gives us a shot-out.

53:03 – Chuck: Let’s do some picks!

53:05 – Advertisement for Charles Max Wood’s course!

Links:

Sponsors:

Picks:

Aimee

Taras

Charles Lowell

Chris

Joe

AJ

Charles

  • Podwrench.com -  beta
  • getacoderjob.com




ic

MJS 088: Nicholas Zakas

Panel: Charles Max Wood

Guest: Nicholas Zakas

This week on My JavaScript Story, Charles talks with Nicholas Zakas who is a blogger, author, and software engineer. Nicholas’ website is titled, Human Who Codes – check it out! You can find him on Twitter, GitHub, and LinkedIn among other social media platforms. Today, Nicholas and Chuck talk about Nicholas’ background, JavaScript, and current projects.

In particular, we dive pretty deep on:

0:00 – Advertisement: Get A Coder Job!

1:00 – Chuck: Welcome! Give us a background, please, Nicholas!

1:14 – Guest: I am probably best known for making ESLint and I have written a bunch of books, too! (See links below.)

1:36 – Chuck: JSJ 336 and JSJ 075 episodes are the two past episodes we’ve had you on! (See links below.) Let’s go back and how did you get into programming?

1:58 – Guest: I think the first was written in BASIC, which was on a Laser computer. It was a cheaper knockoff version. I think I was into middle school when I got into BASIC. Then when I got into high school I did this computer project, which was the first time someone else used one of my programs.

4:02 – Chuck: Was it all in BASIC or something else?

4:13 – Guest: Just BASIC, but then transferred to something else when we got our first PC.

5:13 – Chuck: How did you get to use JavaScript?

5:18 – Guest: 1996 was my freshman year in college. Netscape 3 got into popularity around this time. I had decided that I wanted to setup a webpage to stay in-touch with high school friends who were going into different directions.

I got annoyed with how static the [web] pages were. At the time, there was no CSS and the only thing you could change was the source of an image (on webpages).

On the <a tag> you could do...

8:35 – Chuck: You get into JavaScript and at what point did you become a prolific operator and author?

8:52 – Guest: It was not an overnight thing. It definitely was fueled by my own curiosity. The web was so new (when I was in college) that I had to explore on my own. I probably killed a few trees when I was in college. Printing off anything and everything I could to learn about this stuff!

10:03 – Guest (continues): Professors would ask ME how to do this or that on the departmental website. When I was graduating from college I knew that I was excited about the WEB. I got a first job w/o having to interview.

12:32 – Guest (continues): I got so deep into JavaScript!

13:30 – Guest (continued): They couldn’t figure out what I had done. That’s when I got more into designing JavaScript APIs. About 8 months after graduating from college I was unemployed. I had extra time on my hands. I was worried that I was going to forget the cool stuff that I just developed there. I went over the code and writing for myself how I had constructed it. My goal was to have an expandable tree. This is the design process that I went through. This is the API that I came up with so you can insert and how I went about implementing it. At some point, I was on a discussion with my former colleagues: remember that JavaScript tree thing I wrote – I wrote a description of how I did it. Someone said: Hey this is really good and you should get this published somewhere. Huh! I guess I could do that. I went to websites who were publishing articles on JavaScript. I went to submit the article to one of them. I think it was DevX or WebReference.

18:03 – Guest: A book is a compilation of different articles?! I can do that. I wanted to write a book that would fill in that next step that was missing. I didn’t know what the book was going to be, and I decided to start writing. Once I’ve had enough content I would take a step back and see what it was about. (Check out Nicholas’ books here!)

19:01 – Chuck: Oh you can turn this into a book!

19:10 – Guest: There was very little that I had planned out ahead of time. Anything that happened to me that was exciting had stumbled into my lap!

19:37 – Chuck: That’s how I felt about podcasting – it fell into my lap/life!

19:50 – Chuck: Listeners – check out the past episodes with Nicholas, please. Nicholas, what are you proud of?

20:10 – Guest: In 2006, I was at Yahoo and started off with My Yahoo Team. This was the first time that I was exposed to a massive amount of JavaScript in a single web application.

26:21 – Chuck: Can you talk about your health issues? People would definitely benefit from your example and your story.

26:44 – Guest: I think it is something important for people to understand.

The guest talks about Lyme Disease.

35:49 – Chuck: Yep taking care of yourself is important!

36:00 – Guest: Yes to enjoy time with friends and explore other hobbies. Help yourself to de-stress is important. Cognitive work is very draining. When you aren’t getting the right amount of sleep your body is going to get stressed out. Take the time to do nonsense things. You need to let your brain unwind! I love these adult coloring books that they have!

38:07 – Chuck: I love to take a drive up the canyon.

38:12 – Guest.

38:24 – Chuck: Yeah to focus on ourselves is important.

38:36 – Guest: Your body will make it a point to say: pay attention to me! Your body goes into flight or fight mode and your systems shut-off, which of course is not good. You don’t want your body to stay in that state.

New parents get sick frequently with newborns, because they aren’t getting enough sleep.

41:08 – Guest: Get some R&R!

41:20 – Chuck: This is great, but I have another call! Let’s do some Picks!

41:35 – Advertisement – Fresh Books! 30-Day Trial!

END – Cache Fly

Links:

Sponsors:

Picks:

Charles Max Wood

  • Wall Calendars – 6 ft. x3 ft.

Nicholas Zakas




ic

JSJ 344: Inclusive Components with Heydon Pickering

Panel:

  • Charles Max Wood
  • Aimee Knight
  • Chris Ferdinandi
  • Joe Eames

Special Guest: Heydon Pickering

In this episode, the panel talks with Heydon Pickering who is a designer and writer. The panel and the guest talk about his new book, which is centered on the topic of today’s show: inclusive components. Check out Heydon’s Twitter, Website, GitHub, and Mastodon social accounts to learn more about him. To purchase the book – go here!

Show Topics:

0:00 – Advertisement: KENDO UI

0:38 – Chuck: Aimee, Chris, Joe, and myself – we are today’s panel. My show the DevRev is available online to check it out.

1:30 – Guest: Plain ice cream would be frozen milk and that would be terrible. So I am lemon and candy JavaScript!

2:13 – Chuck: We are talking today about...?

2:22 – Chris: He’s talking about “inclusive components” today!

2:41 – Guest: Traveling is very stressful and I wanted something to do on the plane. I’ve done this book, “Inclusive Design Patterns.”

If you don’t want to buy the book you can go to the blog. I have been talking with Smashing Magazine.

5:40 – Panel.

5:47 – Guest: I approached Smashing Magazine initially. They didn’t think there was a market for this content at the time. They were very supportive but we will do it as an eBook so our costs our down. At the time, the editor came back and said that: “it was quite good!” We skimmed it but came back to it now and now the content was more relevant in their eyes. I didn’t want to do the same book but I wanted to do it around “patterns.” Rewriting components is what I do all the time. I use Vanilla JavaScript. Backbone.js is the trendy one.

9:52 – Panel: The hard book did it get published?

10:02 – Guest: We are in the works and it’s all in the final stages right now. It has to go through a different process for the print version.

11:54 – Panel.

11:58 – (Guest continues about the editorial process.)

12:09 – Panel: They probably switched to TFS – it’s Microsoft’s.

12:23 – Guest: There was this argument on Twitter about the different processors.

13:35 – Chris: What are the ways that people are breaking accessibility with their code through JavaScript? 

13:59 – Guest: The whole premise is that there aren’t a ton of different components that we use. Generally, speaking. Most things we do through JavaScript – it’s just different ways of doing this/that, and hiding things. I am discounting things with Node or other stuff. Most of what we are doing, with interactive design, is showing and hiding.

18:37 – Chris: I have some specialty friends where they tell me where I’ve screwed up my code. For example Eric Bailey and Scott O’Hara but, of course, in very kind ways. What are some things that I can make sure that my code is going to work for many different people.

19:18 – Guest: You have accessibility and inclusive design. People think of accessibility as a check-list and that’s okay but there could be problems with this.

26:00 – Panel: That’s a great guideline.

26:05 – Chris: You talked about ARIA roles and it can be confusing. One side is: I don’t know when to use these and the other side is: I don’t know when NOT to use these so I’m going to use them for EVERYTHING! I guess both can be detrimental. What’s your advice on this topic?

27:00 – Guest: Scott is great and I would trust him to the end of the Earth about what he says.

Guest mentions Léonie Watson and her talks about this topic.

29:26 – (Guest continues.)

29:36 – Advertisement – Sentry.io

30:31 – Chris.

30:40 – Guest: There is a lot of pressure, though, right? People wouldn’t blog about this if it wasn’t worthwhile. It doesn’t matter what the style is or what the syntax is.

The guest talks about not throwing ARIA onto everything.

36:34 – Aimee: Is this something that was mentioned in the book: people with disabilities and accessibility.

37:28 – Guest: Yes, of course. I think it’s important to make your interfaces flexible and robust to think and include people with disabilities.

39:00 – Guest mentions larger buttons.

40:52 – Panelists and Guest talk back-and-forth.

42:22 – Chris: It’s an accessibility and inclusivity element. I saw a dropdown menu and worked great on certain devices but not others. I could beat this horse all day long but the whole: what happens of the JavaScript file doesn’t load or just accordion options?

43:50 – Guest: It’s the progressive enhancement element.

44:05 – Guest: I think it’s worth noting. I think these things dovetail really nicely.

46:29 – Chris: Did you do a video interview, Aimee, talking about CSS? Is CSS better than JavaScript in some ways I don’t know if this is related or not?

47:03 – Aimee: When I talk about JavaScript vs. CSS...the browser optimizes those.

47:27 – Aimee: But as someone who loves JavaScript...and then some very talented people taught me that you have to find the right tool for the job.

47:29 – Guest: I am the other way around – interesting.

52:50 – Chuck: Picks!

52:55 – Advertisement – Get A Coder Job!

END – Advertisement: CacheFly!

Links:

Sponsors:

Picks:

Joe

Aimee

Chris

Charles

Heydon




ic

JSJ 345: Azure Devops with Donovan Brown LIVE at Microsoft Ignite

Panel:

Charles Max Woods

Special Guests: Donovan Brown

In this episode, the Charles speaks with Donovan Brown. He is a principal DevOps Manager with Microsoft with a background in application development. He also runs one of the nation’s fastest growing online registration sites for motorsports events DLBRACING.com. When he is not writing software, he races cars for fun. Listen to today’s episode where Chuck and Donovan talk about DevOps, Azure, Python, Angular, React, Vue, and much, much more!

Show Topics:

1:41 – Chuck: The philosophies around DevOps. Just to give you an idea, I have been thinking about what I want to do with the podcasts. Freedom to work on what we want or freedom to work where we want, etc. Then that goes into things we don’t want to do, like fix bugs, etc. How does Microsoft DevOps to choose what they want to do?

2:37 – Guest: We want to automate as much as we can so the developer has less work. As a developer I want to commit code, do another task, rinse and repeating.

Minutes and not even hours later then people are tweeting about the next best thing. Do what you want, where you want. Code any language you want.

4:15 – Chuck: What has changed?

4:19 – Guest: The branding changed. The name wasn’t the most favorite among the people. The word “visual” was a concerned. What we have noticed that Azure will let me run my code no matter where I am. If you want to run Python or others it can run in Azure.

People didn’t need all of it. It comes with depositories, project management, and so much more! People could feel clumsy because there is so much stuff. We can streamline that now, and you can turn off that feature so you don’t have a heart attack. Maybe you are using us for some features not all of them – cool.

7:40 – Chuck: With deployments and other things – we don’t talk about the process for development a lot.

8:00 – Guest talks about the things that can help out with that.

Guest: Our process is going to help guide you. We have that all built into the Azure tab feature. They feel and act differently. I tell all the people all the time that it’s brilliant stuff. There are 3 different templates. The templates actually change over the language. You don’t have to do mental math.

9:57 – Chuck: Just talking about the process. Which of these things we work on next when I’ve got a bug, or a ...

10:20 – Guest: The board system works like for example you have a bug. The steps to reproduce that bug, so that there is no question what go into this specific field. Let the anatomy of the feature do it itself!

11:54 – Chuck comments.

12:26 – Chuck: Back to the feature. Creating the user stories is a different process than X.

12:44 – Guest – You have a hierarchy then, right? Also what is really cool is we have case state management. I can click on this and I expect this to happen...

These are actual tasks that I can run.

13:52 – Chuck: Once you have those tests written can you pull those into your CI?

14:00 – Guest: “Manual tests x0.”

Guest dives into the question.

14:47 – I expect my team to write those test cases. The answer to your question is yes and no.

We got so good at it that we found something that didn’t even exist, yet.

16:19 – Guest: As a developer it might be mind

16:29 – Chuck: I fixed this bug 4x, I wished I had CI to help me.

16:46 – Guest: You get a bug, then you fix a code, etc., etc. You don’t know that this original bug just came back. Fix it again. Am I in Groundhog Day?

They are related to each other. You don’t have a unit test to tell you. When you get that very first bug – write a unit test. It will make you quicker at fixing it. A unit test you can write really fast over, and over, again. The test is passing. What do you do? Test it. Write the code to fix that unit test. You can see that how these relate to each other. That’s the beauty in it.

18:33 – Chuck: 90% of the unit tests I write – even 95% of the time they pass. It’s the 5% you would have no idea that it’s related. I can remember broad strokes of the code that I wrote, but 3 months down the road I can’t remember.

19:14 – Guest: If you are in a time crunch – I don’t have time for this unit test.

Guest gives us a hypothetical situation to show how unit tests really can help.

20:25 – Make it muscle memory to unit test. I am a faster developer with the unit tests.

20:45 – Chuck: In the beginning it took forever. Now it’s just how I write software now.

It guides my thought process.

21:06 – Guest: Yes! I agree.

22:00 – Guest: Don’t do the unit tests

22:10 – Chuck: Other place is when you write a new feature,...go through the process. Write unit tests for the things that you’ve touched. Expand your level of comfort.

DevOps – we are talking about processes. Sounds like your DevOps is a flexible tool. Some people are looking for A METHOD. Like a business coach. Does Azure DevOps do that?

23:13 – Guest: Azure DevOps Projects. YoTeam.

Note.js, Java and others are mentioned by the Guest.

25:00 – Code Badges’ Advertisement

25:48 – Chuck: I am curious – 2 test sweets for Angular or React or Vue. How does that work?

26:05 – Guest: So that is Jasmine or Mocha? So it really doesn’t matter. I’m a big fan of Mocha. It tests itself. I install local to my project alone – I can do it on any CI system in the world. YoTeam is not used in your pipeline. Install 2 parts – Yo and Generator – Team. Answer the questions and it’s awesome. I’ve done conferences in New Zealand.

28:37 – Chuck: Why would I go anywhere else?

28:44 – Guest: YoTeam  was the idea of...

28:57 – Check out Guest

29:02 – Guest: I want Donovan in a box. If I weren’t there then the show wouldn’t exist today.

29:40 – Chuck: Asks a question.

29:46 – Guest: 5 different verticals.

Check out this timestamp to see what Donovan says the 5 different verticals are. Pipelines is 1 of the 5.

30:55 – Chuck: Yep – it works on my Mac.

31:04 – Guest: We also have Test Plant and Artifacts.

31:42 – Chuck: Can you resolve that on your developer machine?

31:46 – Guest: Yes, absolutely! There is my private repository and...

33:14 – Guest: *People not included in box.*

33:33 – Guest: It’s people driven. We guide you through the process. The value is the most important part and people is the hardest part, but once on

33:59 – Chuck: I am listening to this show and I want to try this out. I want a demo setup so I can show my boss. How do I show him that it works?

34:27 – Azure.com/devops – that is a great landing page.

How can I get a demo going? You can say here is my account – and they can put a demo into your account. I would not do a demo that this is cool. We start you for free. Create an account. Let the CI be the proof. It’s your job to do this, because it will make you more efficient. You need me to be using these tools.

36:11 – Chuck comments.

36:17 – Guest: Say you are on a team of developers and love GitHub and things that integration is stupid, but how many people would disagree about...

38:02 – The reports prove it for themselves.

38:20 – Chuck: You can get started for free – so when do you have to start paying for it?

38:31 – Guest: Get 4 of your buddies and then need more people it’s $6 a month.

39:33 – Chuck adds in comments. If this is free?

39:43 – Guest goes into the details about plans and such for this tool. 

40:17 – Chuck: How easy it is to migrate away from it?

40:22 – Guest: It’s GITHub.

40:30 – Chuck: People are looing data on their CI.

40:40 – Guest: You can comb that information there over the past 4 years but I don’t know if any system would let you export that history.

41:08 – Chuck: Yeah, you are right.

41:16 – Guest adds more into this topic.

41:25 – Chuck: Yeah it’s all into the machine.

41:38 – Chuck: Good deal.

41:43 – Guest: It’s like a drug. I would never leave it. I was using TFS before Microsoft.

42:08 – Chuck: Other question: continuous deployment.

42:56 – When I say every platform, I mean every platform: mobile devices, AWS, Azure, etc.

Anything you can do from a command line you can do from our build and release system.

PowerShell you don’t have to abandon it.

45:20 – Guest: I can’t remember what that tool is called!

45:33 – Guest: Anything you can do from a command line. Before firewall. Anything you want.

45:52 – Guest: I love my job because I get to help developers.

46:03 – Chuck: What do you think the biggest mistake people are doing?

46:12 – Guest: They are trying to do it all at once. Fix that one little thing.

It’s instant value with no risks whatsoever. Go setup and it takes 15 minutes total. Now that we have this continuous build, now let’s go and deploy it. Don’t dream up what you think your pipeline should look like. Do one thing at a time. What hurts the most that it’s “buggy.” Let’s add that to the pipeline.

It’s in your pipeline today, what hurts the most, and don’t do it all at once.

49:14 – Chuck: I thought you’d say: I don’t have the time.

49:25 – Guest: Say you work on it 15 minutes a day. 3 days in – 45 minutes in you have a CSI system that works forever. Yes I agree because people think they don’t “have the time.”

50:18 – Guest continues this conversation.

How do you not have CI? Just install it – don’t ask. Just do the right thing.

50:40 – Chuck: I free-lanced and setup CI for my team. After a month, getting warned, we had a monitor up on the screen and it was either RED or GREEN. It was basically – hey this hurts and now we know. Either we are going to have pain or not have pain.

51:41 – Guest continues this conversation.

Have pain – we should only have pain once or twice a year.

Rollback.

If you only have it every 6 months, that’s not too bad.

The pain will motivate you.

52:40 – Azure.com/devops.

Azure DevOps’ Twitter

53:22 – Picks!

53:30 – Advertisement – Get a Coder Job

Links:

Sponsors:

Picks:

Charles

Donovan




ic

JSJ 346: Azure Pipelines with Ed Thomson LIVE at Microsoft Ignite

Sponsors:

Panel:

Charles Max Wood

Special Guests: Ed Thomson

In this episode, the Charles speaks with Ed Thomson who is a Program Manager at Azure through Microsoft, Developer, and Open Source Maintainer. Ed and Chuck discuss in full detail about Azure DevOps! Check out today’s episode to hear its new features and other exciting news!

Show Topics:

0:59 – Live at Microsoft Ignite

1:03 – Ed: Hi! I am a Program Manager at Azure.

1:28 – Rewind 2 episodes to hear more about Azure DevOps!

1:51 – Ed: One of the moves from Pipelines to DevOps – they could still adopt Pipelines. Now that they are separate services – it’s great.

2:38 – Chuck talks about features he does and doesn’t use.

2:54 – Ed.

3:00 – Chuck: Repos and Pipelines. I am going to dive right in. Let’s talk about Repos. Microsoft just acquired GitHub.

3:18 – Ed: Technically we have not officially acquired GitHub.

3:34 – Chuck: It’s not done. It’s the end of September now.

3:55 – Ed: They will remain the same thing for a while. GitHub is the home for open source. Repos – we use it in Microsoft. Repositories are huge. There are 4,000 engineers working in these repositories. Everyone works in his or her own little area, and you have to work together. You have to do all this engineering to get there. We bit a tool and it basically if you run clone...

Ed continues to talk about this topic. He is talking about One Drive and these repositories.

6:28 – Ed: We aren’t going to be mixing and matching. I used to work through GitHub. It’s exciting to see those people work close to me.

6:54 – Chuck.

6:59 – Ed: It has come a long way.

7:07 – Chuck: Beyond the FSF are we talking about other features or?

7:21 – Ed: We have unique features. We have branch policies. You can require that people do pole request. You have to use pole request and your CI has to pass and things like that. I think there is a lot of richness in our auditing. We have enterprise focus. At its core it still is Git. We can all interoperate.

8:17 – Chuck.

8:37 – Ed: You just can’t set it up with Apache. You have to figure it out.

8:51 – Chuck: The method of pushing and pulling.

9:06 – Chuck: You can try DevOps for free up to 5 users and unlimited private repos. People are interested in this because GitHub makes you pay for that.

9:38 – Ed and Chuck continue to talk.

9:50 – Ed: Pipelines is the most interesting thing we are working on. We have revamped the entire experience. Build and release. It’s easy to get started. We have a visual designer. Super helpful – super straightforward. Releases once your code is built – get it out to production say for example Azure. It’s the important thing to get your code out there.

10:55 – Chuck: How can someone start with this?

11:00 – Ed: Depends on where your repository is. It will look at your code. “Oh, I know what that is, I know how to build that!” Maybe everyone isn’t doing everything with JavaScript. If you are using DotNet then it will know.

12:05 – Chuck: What if I am using both a backend and a frontend?

12:11 – Ed: One repository? That’s when you will have to do a little hand packing on the...

There are different opportunities there. If you have a bash script that does it for you. If not, then you can orchestrate it. Reduce the time it takes. If it’s an open source project; there’s 2 – what are you going to do with the other 8? You’d be surprised – people try to sneak that in there.

13:30 – Chuck: It seems like continuous integration isn’t a whole lot complicated.

13:39 – Ed: I am a simple guy that’s how I do it. You can do advanced stuff, though. The Cake Build system – they are doing some crazy things. We have got Windows, Lennox, and others. Are you building for Raspberries Pies, then okay, do this...

It’s not just running a script.

15:00 – Chuck: People do get pretty complicated if they want. It can get complicated. Who knows?

15:26 – Chuck:  How much work do you have to do to set-up a Pipeline like that?

15:37 – Ed answers the question in detail.

16:03 – Chuck asks a question.

16:12 – Ed: Now this is where it gets contentious. If one fails...

Our default task out of the box...

16:56 – Chuck: If you want 2 steps you can (like me who is crazy).

17:05 – Ed: Yes, I want to see if it failed.

17:17 – Chuck: Dude, writing code is hard. Once you have it built and tested – continuous deployment.

17:33 – Ed: It’s very easy. It’s super straightforward, it doesn’t have to be Azure (although I hope it is!).

Ed continues this conversation.

18:43 – Chuck: And it just pulls it?

18:49 – Ed: Don’t poke holes into your firewall. We do give you a lot of flexibility

19:04 – Chuck: VPN credentials?

19:10 – Ed: Just run the...

19:25 – Chuck comments.

19:36 – Ed: ...Take that Zip...

20:02 – Ed: Once the planets are finely aligned then...it will just pull from it.

20:25 – Chuck: I host my stuff on Digital Ocean.

20:46 – Ed: It’s been awhile since I played with...

20:55 – Chuck.

20:59 – Ed and Chuck go back and forth with different situations and hypothetical situations.

21:10 – Ed: What is Phoenix?

21:20 – Chuck explains it.

21:25 – Ed: Here is what we probably don’t have is a lot of ERLANG support.

22:41 – Advertisement.

23:31 – Chuck: Let’s just say it’s a possibility. We took the strip down node and...

23:49 – Ed: I think it’s going to happen.

23:55 – Ed: Exactly.

24:02 – Chuck: Testing against Azure services. So, it’s one thing to run on my machine but it’s another thing when other things connect nicely with an Azure set-up. Does it connect natively once it’s in the Azure cloud?

24:35 – Ed: It should, but there are so many services, so I don’t want to say that everything is identical. We will say yes with an asterisk.

25:07 – Chuck: With continuous deployment...

25:41 – Ed: As an example: I have a CD Pipeline for my website. Every time I merge into master...

Ed continues this hypothetical situation with full details. Check it out!

27:03 – Chuck: You probably can do just about anything – deploy by Tweet!

27:15 – Ed: You can stop the deployment if people on Twitter start complaining.

27:40 – Chuck: That is awesome! IF it is something you care about – and if it’s worth the time – then why not? If you don’t have to think about it then great. I have mentioned this before: Am I solving interesting problems? What projects do I want to work on? What kinds of contributions do I really want to contribute to open source?

That’s the thing – if you have all these tools that are set-up then your process, how do you work on what, and remove the pain points then you can just write code so people can use! That’s the power of this – because it catches the bug before I have to catch it – then that saves me time.

30:08 – Ed: That’s the dream of computers is that the computers are supposed to make OUR lives easier. IF we can do that and catch those bugs before you catch it then you are saving time. Finding bugs as quickly as possible it avoids downtime and messy deployments.

31:03 – Chuck: Then you can use time for coding style and other things.

I can take mental shortcuts.

31:37 – Ed: The other thing you can do is avoiding security problems. If a static code analysis tool catches an integer overflow then...

32:30 – Chuck adds his comments.

Chuck: You can set your policy to block it or ignore it. Then you are running these tools to run security. There are third-party tools that do security analysis on your code. Do you integrate with those?

33:00 – Ed: Yep. My favorite is WhiteSource. It knows all of the open source and third-party tools. It can scan your code and...

34:05 – Chuck: It works with a lot of languages.

34:14 – Ed.

34:25 – Chuck: A lot of JavaScript developers are getting into mobile development, like Ionic, and others. You have all these systems out there for different stages for writing for mobile. Android, windows Phone, Blackberry...

35:04 – Ed: Let’s throw out Blackberry builds. We will ignore it.

Mac OS dies a fine job. That’s why we have all of those.

35:29 – Chuck: But I want to run my tests, too!

35:36 – Ed: I really like to use App Center. It is ultimately incredible to see all the tests you can run.

36:29 – Chuck: The deployment is different, though, right?

36:40 – Ed: I have a friend who clicks a button in...

Azure DevOps.

37:00 – Chuck: I like to remind people that this isn’t a new product.

37:15 – Ed: Yes, Azure DevOps.

37:24 – Chuck: Any new features that are coming out?

37:27 – Ed: We took a little break, but...

37:47 – Ed: We will pick back up once Ignite is over. We have a timeline on our website when we expect to launch some new features, and some are secret, so keep checking out the website.

39:07 – Chuck: What is the interplay between Azure DevOps and Visual Studio Code? Because they have plugins for freaking everything. I am sure there is something there that...

39:30 – Ed: I am a VI guy and I’m like 90% sure there is something there.

You are an eMac’s guy?

The way I think about it is through Git right out of the box.

Yes, I think there are better things out there for integration. I know we have a lot of great things in Visual Code, because I worked with it.

40:45 – Chuck: Yes, people can look for extensions and see what the capabilities are.

Chuck talks about code editor and tools. 

41:28 – Ed: ... we have been pulling that out as quickly as possible.

We do have IE extensions, I am sure there is something for VS Code – but it’s not where I want to spend my time.

42:02 – Chuck: Yes, sure.

42:07 – Ed: But everyone is different – they won’t work the way that I work. So there’s that.

42:30 – Ed: That Chuck.

42:36 – Chuck: Where do people get news?

42:42 – Ed: Go to here!

42:54 – Chuck: Where do people find you?

43:00 – Ed: Twitter!

43:07 – Chuck: Let’s do Picks!

43:20 – Advertisement – Fresh Books!

Links:

Picks:

Ed




ic

JSJ 349: Agile Development - The Technical Side with James Shore

Sponsors

Panel

  • AJ O’Neal

  • Aimee Knight

  • Joe Eames

  • Charles Max Wood

Special Guest: James Shore

Episode Summary

James Shore is a developer who specializing in extreme programming, an Agile method. He also used to host a screencast called Let’s Code Test-Driven JavaScript. They begin by discussing the core of Agile development, which James believes is being responsive to customers and business partners in a way that’s sustainable and humane for the programmers involved. It prioritizes individuals and interactions over processes and tools. More can be found in The Agile Manifesto.

James delves into the historical context of the immersion of Agile and how things have changed from the 90’s. Now, the name Agile is everywhere, but the ideals of agile are not as common. There is a tendency to either take Agile buzzwords and apply them to the way it was done long ago, or it’s absolute chaos. James talks about ways to implement Agile in the workplace. He believes that the best way to learn Agile is work with someone who knows Agile, or read a book on it and then apply it. James recommends his book The Art of Agile Development: Pragmatic Guide to Agile Software Development for people who want to started with Agile development. The panelists talk about where people often get stuck with implementing Agile. The hosts talk about their own processes in their company.

They discuss how people involved in the early days of Agile are disappointed in how commercial it has become.They agree that what’s really the most important is the results. If you can respond to a request to change direction in less than two weeks and you don’t have to spend months and months preparing something, and you do that in a way where the people on the team feel like their contributing, then you’re doing Agile. James thinks that the true genius of Agile is in the way the actual work is done rather than in the way your organize the work.

Links

Picks

AJ O’Neal:

Aimee Knight:

Joe Eames:

  • The Ballad of Buster Scruggs on Netflix

Charles Max Wood:

  • Getting up early

  • John Sonmez Kanbanflow video

  • Drip

James Shore:




ic

JSJ 353: Signal R with Brady Gaster LIVE at Microsoft Ignite

Sponsors:

Panel:

Charles Max Wood

Special Guest: Brady Gaster

In this episode, Chuck talks with Brady Gaster about SignalR that is offered through Microsoft. Brady Gaster is a computer software engineer at Microsoft and past employers include Logical Advantage, and Market America, Inc. Check out today’s episode where the two dive deep into SignalR topics.

Links:

Picks:

Brady

Charles




ic

JSJ 354: Elm with Richard Feldman

Sponsors

Panel

  • Joe Eames
  • Aimee Knight

Joined by special guest: Richard Feldman

Episode Summary

In this episode of JavaScript Jabber, Richard Feldman, primarily known for his work in Elm, the author of “Elm in Action” and Head of Technology at NoRedInk, talks about Elm 0.19 and the new features introduced in it. He explains how the development work is distributed between the Elm creator – Evan Czaplicki and the other members of the community and discusses the challenges on the way to Elm 1.0.

Richard also shares some educational materials for listeners interested in learning Elm and gives details on Elm conferences around the world touching on the topic of having diversity among the speakers. He finally discusses some exciting things about Elm which would encourage developers to work with it.

Links

Picks

Aimee Knight:

Joe Eames:

Richard Feldman:




ic

JSJ 355: Progressive Web Apps with Aaron Gustafson LIVE at Microsoft Ignite

Sponsors

Panel

  • Charles Max Wood

Joined by special guest: Aaron Gustafson

Episode Summary 

This episode of JavaScript Jabber comes to you live from Microsoft Ignite. Charles Max Wood talks to Aaron Gustafson who has been a Web Developer for more than 20 years and is also the Editor in Chief at “A List Apart”. Aaron gives a brief background on his work in the web community, explains to listeners how web standardization has evolved over time, where Progressive Web Apps (PWAs) come from, where and how can they be installed, differences between them and regular websites and their advantages. They then delve into more technical details about service workers, factors affecting the boot up time of JavaScript apps, best practices and features that are available with PWAs. 

Aaron mentions some resources people can use to learn about PWAs, talks about how every website can benefit from being a PWA, new features being introduced and the PWA vs Electron comparison. In the end, they also talk about life in general, that understanding what people have gone through and empathizing with them is important, as well as not making judgements based on people’s background, gender, race, health issues and so on.

Links

Picks

Aaron Gustafson:

Charles Max Wood:




ic

JSJ 357: Event-Stream & Package Vulnerabilities with Richard Feldman and Hillel Wayne

Sponsors

Panel

  • Aaron Frost
  • AJ O’Neal
  • Chris Ferdinandi
  • Joe Eames
  • Aimee Knight
  • Charles Max Wood

Joined by special guests: Hillel Wayne and Richard Feldman

Episode Summary

In this episode of JavaScript Jabber, Hillel Wayne kicks off the podcast by giving a short background about his work, explains the concepts of formal methods and the popular npm package - event-stream, in brief. The panelists then dive into the recent event-stream attack and discuss it at length, focusing on different package managers and their vulnerabilities, as well as the security issues associated with them. They debate on whether paying open source developers for their work, thereby leading to an increase in contribution, would eventually help in improving security or not. They finally talk about what can be done to fix certain dependencies and susceptibilities to prevent further attacks and if there are any solutions that can make things both convenient and secure for users.

Links

Picks

Joe Eames:

Aimee Knight:

Aaron Frost:

Chris Ferdinandi:

Charles Max Wood:

Richard Feldman:

Hillel Wayne:




ic

JSJ 358: Pickle.js, Tooling, and Developer Happiness with Anatoliy Zaslavskiy

Sponsors

Panel

  • AJ O’Neal

  • Charles Max Wood

Joined by Special Guest: Anatoliy Zaslavskiy

Summary

Anatoliy Zaslavskiy introduces pickle.js and answers the panels questions about using it. The panel discusses the automated testing culture and employee retention. The panel discusses job satisfaction and why there is so much turn over in development jobs. Charles Max Wood reveals some of the reasons that he left past development jobs and the panel considers how the impact of work environments and projects effect developers. Ways to choose the right job for you and how to better a work situation is discussed. Anatoliy finishes by advocating for junior developers and explaining the value they bring to a company.

Links

Picks

AJ O’Neal

Charles Max Wood

Anatoliy Zaslavskiy

  •  




ic

JSJ 361: Enough with the JS Already with Nicholas Zakas

Sponsors

Panel

  • AJ O’Neal
  • Joe Eames
  • Aimee Knight
  • Charles Max Wood
  • Chris Ferdinandi

Joined by Special guest: Nicholas Zakas

Summary

Nicholas Zakas discusses the overuse of JavaScript and the underuse of HTML and CSS. The panel contemplates the talk Nicholas Zakas gave 6 years ago about this very same topic and how this is still a problem in the development community. Nicholas expounds on the negative effects overusing Javascript has on web applications and the things that using HTML and CSS do really well. The panel talks about the need for simplicity and using the right tool to build applications. Nicholas recommends the methods he uses to build greenfield applications and to improve existing applications.

Links

Picks

Chris Ferdinandi:

AJ O’Neal:

Aimee Knight:

Charles Max Wood:

Joe Eames:

Nicholas Zakas:




ic

JSJ 363: Practical JAMstack and Serverless with Gareth McCumskey

Sponsors

Panel

  • Charles Max Wood
  • Aimee Knight
  • AJ O’Neal
  • Aaron Frost
  • Joe Eames

Joined by Special Guest: Gareth McCumskey

Summary

Gareth McCumskey introduces JAMstack and serverless. He goes into great detail on how it works. Aimee Knight and Aaron Frost voice their concerns about going serverless. Aimee thinks it feels dirty. Aaron has concerns about the code, is it actually easier, what use cases would he use it for, and does it actually save money. Gareth addresses these concerns and the rest of the panel considers the positive and negatives of using JAMstack and serverless. Charles Max Wood asks for specific use cases; Gareth supplies many uses cases and the benefits that each of these cases.

Links

Picks

Charles Max Wood:

  • Join the mailing list
  • Watch out for new podcasts
  • Send me defunct podcasts you love chuck@devchat.tv

Aimee Knight:

AJ O’Neal:

Aaron Frost:

Gareth McCumskey:

Joe Eames:




ic

JSJ 369: Azure Functions with Colby Tresness LIVE at MIcrosoft BUILD

Sponsors

Panel

  • Charles Max Wood

Joined by Special Guest: Colby Tresness

Episode Summary

Coming to you live from the podcast booth at Microsoft BUILD is Charles Max Wood with Colby Tresness. Colby is a Program Manager on Azure Functions at Microsoft. Azure functions are the serverless functions on Azure. Colby explains what the Azure functions premium plan entails, then talks about KEDA – Kubernetes-based event-driven autoscaling, a Microsoft and Red Hat partnered open source component to provide event-driven capabilities for any Kubernetes workload. One of the other cool features of serverless functions they talk about is the Azure serverless community library.

Colby and Charles discuss the best way to get started with Azure functions, as well as the non-JavaScript languages it supports.

Links

Picks

Colby Tresness:

Charles Max Wood:




ic

JSJ 370: Azure Functions Part II with Jeff Hollan LIVE at Microsoft BUILD

Sponsors

  • Triplebyte offers a $1000 signing bonus

  • Sentry use the code “devchat” for 2 months free on Sentry small plan

  • CacheFly

Panel

Charles Max Wood

Joined by Special Guest: Jeff Hollan

 

Episode Summary

Coming to you live from the podcast booth at Microsoft BUILD is Charles Max Wood with Jeff Hollan. Jeff is a Sr. Program Manager for the Azure Functions cloud service. Continuing from where Colby Tresness left off in Adventures in Angular 241: Azure Functions with Colby Tresness LIVE at Microsoft BUILD, Jeff defines what “serverless” really means in developer world. Jeff also talks about various scenarios where Azure functions are extremely useful and explains what Durable Functions are.

Jeff and Charles discuss creating and running an Azure function inside a container and the upcoming capabilities of Azure functions they are currently working on.

Links

Picks

Jeff Hollan:

Charles Max Wood:




ic

JSJ 372: Kubernetes Docker and Devops with Jessica Deen LIVE from Microsoft BUILD

Sponsors

Panel

  • Charles Max Wood

Joined by Special Guest: Jessica Deen

Episode Summary

Coming to you live from the podcast booth at Microsoft BUILD is Charles Max Wood with The Deen of DevOps aka Jessica Deen. Jessica is a Senior Cloud Advocate at Microsoft. As an advocate she acts a liaison between developer communities and Microsoft to help understand developer pain points and road blocks especially in areas such as Linux, open-source technologies, infrastructure, Kubernetes, containers and DevOps. Jessica explains how to go about setting up a containerized application, Kubernetes and how to use Dockerfiles. Charles and Jessica then talk about how to get started with a Kubernetes cluster and the resources available for developers that don't have any infrastructure. Jessica advises that developers start with Azure DevOps Services and then go to Microsoft Learn Resource.

Charles also encourages listeners to also check out the Views on Vue podcast Azure DevOps with Donovan Brown for further references. Jessica also recommends following people on Twitter and GitHub to find out about solutions and resources.

Links

Follow Adventures in Angular on tv, Facebook and Twitter.

Picks

Jessica Deen:

Charles Max Wood:




ic

JSJ 374: CosmosDB with Steve Faulkner LIVE at Microsoft BUILD

Sponsors

Panel

Charles Max Wood

Joined by Special Guest: Steve Faulkner

Episode Summary

Coming to you live from the podcast booth at Microsoft BUILD is Charles Max Wood with Steve Faulkner. Steve is a Senior Software Developer for Azure Cosmos DB at Microsoft. Cosmos DB is a global distributed, multi-model noSQL database. Steve explains the Cosmos DB service and scenarios it can be used in. They discuss how Cosmos DB interacts with Azure functions and how partition keys work in Cosmos DB.

Listen to the show for more Cosmos DB updates and to find out how Steve he got his twitter handle @southpolesteve.

Links

Picks

Steve Faulkner:




ic

JSJ 376: Trix: A Rich Text Editor for Everyday Writing with Javan Makhmali

Sponsors

Panel

  • Aimee Knight

  • Chris Ferdinandi

  • Christopher Beucheler

  • AJ O’Neal

With Special Guest: Javan Makhmali

Episode Summary

Today’s guest is Javan Makhmali, who works for Basecamp and helped develop Trix. Trix is a rich text editor for the web, made purposefully simple for everyday use instead of a full layout tool. Trix is not the same as Tiny MCE, and Javan discusses some of the differences. He talks about the benefits of using Trix over other native browser features for text editing. He talks about how Trix has simplified the work at Basecamp, especially when it came to crossing platforms. Javan talks more about how Trix differs from other text editors like Google Docs and contenteditable, how to tell if Trix is functioning correctly, and how it works with Markdown.

The panel discusses more specific aspects of Trix, such as Exec command. One of the features of Trix is it is able to output consistently in all browsers and uses semantic, clean HTML instead of classnames. Javan talks about how Trix handles getting rid of the extraneous cruft of formatting when things are copy and pasted, the different layers of code, and the undo feature. He talks about whether or not there will be more features added to Trix. The panel discusses who could benefit from using Trix. The show finishes with Javan talking about Basecamp’s decision to make Trix open source and why they code in CoffeeScript. 

Links

Follow DevChat on Facebook and Twitter

Picks

Javan Makhmali:

Chris Ferdinandi:

AJ O’Neal:

Christopher Beucheler: 

Aimee Knight:




ic

MJS 123: Nick Basile

Episode Summary

My JavaScript Story this week meets with Nick Basile, UX instructor at Lambda School from Austin, TX. Nick talks about how much he enjoys working with Laravel and Vue as well as his journey as a developer.

Upon graduating from university in Switzerland with a degree in Economics, he started working for two start-ups doing UX/UI design. He then wanted to be able to build UI as well so he taught himself JavaScript and HTML. He then got a job as a front-end developer to further develop his skills. Charles makes a comment about how many developers don't have a Computer Science Degrees.

Nick then talks about how he got into Laravel and Vue and also how he started working for Lambda. They briefly discuss Lambda's business model and Nick's approach to teaching.

Finally Nick talks about how he spends his life outside work in Austin, which nowadays involves looking after his 4-month old daughter.

Host: Charles Max Wood

Joined by Special Guest: Nick Basile

Sponsors

Links

Picks

Charles Max Wood:

Nick Basile:




ic

JSJ 417: Serverless with Microsoft Azure with Burke Holland

Burke Holland works for Microsoft on the Azure team in developer relations. He starts the show talking about how he got started in serverless. He’s careful to note that just because things are marketed as serverless doesn’t always make them so. In order for something to be serverless, it must be sufficiently abstracted in terms of technology, only require payment for what is used, and infinitely scalable. He talks about the statelessness of serverless, and the panel discusses what it means to be stateless. Burke reminds listeners that serverless is not for long-lived operations, but there are features in serverless providers that can help you get around this. Burke talks about how writing serverless code differs from standard or previous coding approaches and practices. He advises that serverless functions are best kept small, and talks about how to fit them in with other kinds of APIs. 

The panelists talk about the multi-cloud and why people would want to be on multiple cloud servers. Burke talks about what Microsoft has done with Serverless Frameworks to accomplish multi-cloud compatibility. The JavaScript experts discuss the advantages and disadvantages of picking JavaScript over other languages, and Burke talks about why he prefers TypeScript and the Easy-Off feature. They talk about speed on a serverless platform, especially concerning the cold start time, which Azure is relentlessly trying to lower. He does talk about some things that can be done to decrease load time and about premium functions. The panel discusses how to debug serverless functions and tools that are available, such as the Azure Functions extension. 

They talk about ways to set up more secure functions to keep things from racking up charges. Burke talks about some things Microsoft does internally to control cloud costs, such as sending monthly reports with reminders to delete and using tools like Azure Reaper to delete short-lived projects. Azure can also put spending caps on subscriptions, but when you hit that cap you can’t serve any more requests. Burke concludes by saying that most of the time, going serverless is a lower-cost way to improve productivity, and because it’s event-driven, it allows you to tie into things that you’re already doing in the cloud. Serverless almost always justifies itself from an ease of use point of view and a cost point of view. 

Panelists

  • Aimee Knight

  • Steve Edwards

  • Dan Shapir

  • AJ O’Neal

  • Charles Max Wood

Guest

  • Burke Holland

Sponsors

____________________________

> "The MaxCoders Guide to Finding Your Dream Developer Job" by Charles Max Wood is now available on Amazon. Get Your Copy Today!

____________________________________________________________

Links

Picks

Steve Edwards:

Burke Holland:

Dan Shapir:

  • Taking a vacation

AJ O’Neal:

Charles Max Wood:




ic

JSJ 421: Semantic HTML with Bruce Lawson

Bruce Lawson is an expert in and proponent of semantic HTML. After receiving some good natured ribbing, Bruce walks the panel through the benefits of semantic HTML. He provides several examples on how it's used and in particular how it helps with other issues like accessibility and navigability on your websites.

Panel

  • AJ O’Neal
  • Aimee Knight
  • Charles Max Wood
  • Dan Shappir

Guest

  • Bruce Lawson

Sponsors

____________________________________________________________

"The MaxCoders Guide to Finding Your Dream Developer Job" by Charles Max Wood is now available on Amazon. Get Your Copy Today!

____________________________________________________________

Links

Picks

AJ O’Neal:

Aimee Knight:

Charles Max Wood:

Dan Shappir:

Bruce Lawson:




ic

Yearbook of China city competitiveness 2012 [electronic resource] / Gui Qiangfang, principal editor and evaluator




ic

Yearbook of cultural property law. 2006 [electronic resource] / Sherry Hutt, editior, David Tarler, assistant editor




ic

Yearbook of cultural property law. 2007 [electronic resource] / Sherry Hutt, editior, David Tarler, assistant editor




ic

Yearbook of cultural property law. 2008 [electronic resource] / edited by Sherry Hutt, David Tarler




ic

Yearbook of cultural property law. 2009 [electronic resource] / Sherry Hutt, editor; David Tarler, assistant editor




ic

Yearbook of cultural property law. 2010 [electronic resource] / Sherry Hutt, editor; David Tarler, assistant editor




ic

Yearning for the new age [electronic resource] : Laura Holloway-Langford and late Victorian spirituality / Diane Sasson

Sasson, Diane, 1946-




ic

Years of plenty, years of want [electronic resource] : France and the legacy of the Great War / Benjamin Franklin Martin

Martin, Benjamin F., 1947-




ic

Yeast research [electronic resource] : a historical overview / James A. Barnett and Linda Barnett

Barnett, J. A. (James Arthur), 1923-




ic

Yeats and the logic of formalism [electronic resource] / Vereen M. Bell

Bell, Vereen M., 1934-




ic

Yeats's poetic codes [electronic resource] / Nicholas Grene

Grene, Nicholas




ic

The Yehud stamp impressions [electronic resource] : a corpus of inscribed impressions from the Persian and Hellenistic periods in Judah / Oded Lipschits and David S. Vanderhooft

Lipschitz, Oded




ic

Yellow crocodiles and blue oranges [electronic resource] : Russian animated film since World War Two / David MacFadyen

MacFadyen, David, 1964-




ic

Yellow dogs and Republicans [electronic resource] : Allan Shivers and Texas two-party politics / Ricky F. Dobbs

Dobbs, Ricky F




ic

Yellow future [electronic resource] : oriental style in Hollywood cinema / Jane Chi Hyun Park

Park, Jane Chi Hyun




ic

Yellow power, yellow soul [electronic resource] : the radical art of Fred Ho / edited by Roger N. Buckley and Tamara Roberts




ic

The Yellow River [electronic resource] : water and life / Tetsuya Kusuda, editor




ic

"The yellow wall-paper" by Charlotte Perkins Gilman [electronic resource] : a dual-text critical edition / edited by Shawn St. Jean

Gilman, Charlotte Perkins, 1860-1935




ic

Yellowface [electronic resource] : creating the Chinese in American popular music and performance, 1850s-1920s / Krystyn R. Moon

Moon, Krystyn R., 1974-




ic

The yellowhammer war [electronic resource] : the Civil War and Reconstruction in Alabama / edited by Kenneth W. Noe




ic

Yellowstone's wildlife in transition [electronic resource] / edited by P.J. White, Robert A. Garrott, Glenn E. Plumb




ic

Yeltsin's Russia and the West [electronic resource] / Andrew Felkay

Felkay, Andrew




ic

Yemen [electronic resource] : dancing on the heads of snakes / Victoria Clark

Clark, Victoria, 1961-




ic

Yerkes Observatory, 1892-1950 [electronic resource] : the birth, near death, and resurrection of a scientific research institution / Donald E. Osterbrock

Osterbrock, Donald E




ic

Yes Africa can [electronic resource] : success stories from a dynamic continent / editors, Punam Chuhan-Pole and Manka Angwafo




ic

Yeshiva fundamentalism [electronic resource] : piety, gender, and resistance in the ultra-Orthodox world / Nurit Stadler

Stadler, Nurit