Blog
Posts on software development, careers, and craft.
Reusable Web Application Strategies: three patterns for running the same app in multiple spots
Imagine your team just deployed an amazing todo list app. A month later, another team in your company wants to run your todo app within their invoice app. So no…
"Never Write another Higher Order Component" Excellent talk by @mjackson on...
"Never Write another Higher Order Component" Excellent talk by @mjackson on an alternative pattern: Render props https://www.youtube.com/watch?time...
To convey the big picture, I'm compiling a list of reasons *not* to use...
To convey the big picture, I'm compiling a list of reasons *not* to use React for my new course. Other downsides/concerns I'm overlooking?
Deployment & release aren't the same thing
Deployment & release aren't the same thing. Deployment: Put code in prod env. Release: Make the feature available. So deploy continously.
After watching my "Building JS Dev Environment" course, someone emailed me:...
After watching my "Building JS Dev Environment" course, someone emailed me: "How do you keep up with JavaScript churn?" Here's my answer.
Public Speaking Transformed My Life…and Can Change Yours Too
A Call For Speakers…From 40,000 Feet I’m writing this from a bar…that’s floating somewhere over Greenland. I just enjoyed a complimentary 3 course meal with win…
Remote work is much more productive for me
Remote work is much more productive for me. I just accomplished more in half a day than I could in a couple interruption filled office days.
Developer
Developer? Go deep. Architect? Go wide. A thoughtful short read on breadth vs depth: https://buff.ly/2hxHiSp
After attending many conferences, I've realized: I don't attend to learn
After attending many conferences, I've realized: I don't attend to learn. I attend to learn what I need to learn.
"JavaScript fatigue is what happens when people use tools they don't need to...
"JavaScript fatigue is what happens when people use tools they don't need to solve problems they don't have." - Lucas F Costa #nejsconf
Was about to create this, but great to find it exists
Was about to create this, but great to find it exists! 😀 Avoid bloating your bundle by linting named imports! https://github.com/eslint-plugins/es...
Great idea
Great idea. Keep your cables organized and avoid them falling behind your desk with simple binder clips. http://buff.ly/2t4NIc6
I've never written a conf talk, blog, or course without learning a ton in...
I've never written a conf talk, blog, or course without learning a ton in the process. Even topics I thought I had nailed. To learn, teach.
Tip: You can automatically add a code review checklist to GitHub pull...
Tip: You can automatically add a code review checklist to GitHub pull requests by creating PULL_REQUEST_TEMPLATE.md. Here's ours:
Event organizers: If you give us a quality shirt with: 1
Event organizers: If you give us a quality shirt with: 1. A small logo 2. No year on it We'll wear it to promote your event for *years*.
Most bugs come from side effects, so write "pure" functions: 1
Most bugs come from side effects, so write "pure" functions: 1. Accept *all* inputs as params. 2. Don't mutate inputs. 3. Return new value.
Why write pure functions
Why write pure functions? 1. Easy to test. 2. Easy to understand. 3. Composable. 4. Deterministic. (consistent output for a given input)
"70% of a developer's day is spent reading code." - @getify Optimize for reading
"70% of a developer's day is spent reading code." - @getify Optimize for reading. #FluentConf #cleancode
Tried Vue
Tried Vue. Fundamentally, it's the same as Angular, Ember, & Knockout: It's HTML-centric. React is JS-centric. https://medium.com/@CalinLeafsha...
Wow
Wow. If fear holds you back, this 13 min talk by @ tferriss is a must watch. Define your fears. http://buff.ly/2rmoZ7c
It's live
It's live! "Creating Reusable React Components" just published on @pluralsight! 🎉 Share your React components! http://buff.ly/2sNpbsA
Tip: You don't need to declare a constructor in your React component to...
Tip: You don't need to declare a constructor in your React component to initialize state. Can use a public class field instead! #reactjs
Create React App has been upgraded: Webpack 2, PWA by default, and really...
Create React App has been upgraded: Webpack 2, PWA by default, and really slick error overlay. Great stuff! https://facebook.github.io/react/blog/2...
Sure, destructuring props makes code concise
Sure, destructuring props makes code concise. But another benefit just occurred to me: Autocompletion support. #reactjs
Here’s Why Client-Side Rendering Won
A decade ago, nearly everyone was rendering their web applications on the server using technologies like ASP.NET, Ruby on Rails, Java, and PHP. Then handy libra…
So here's my favorite new way to rapidly prototype React components
So here's my favorite new way to rapidly prototype React components. Can easily share too! 👍 http://buff.ly/2qJwVM3
Q: "How about we just ignore tests for now
Q: "How about we just ignore tests for now? We're moving too fast." A: "Tests are like brakes. Going fast without them is dangerous."
Love this
Love this. This is why I don't hesitate to spend money on computer equipment. "Spend your money where you spend your time." - Noah Kagan
A function name should describe what it does, not when it's run
A function name should describe what it does, not when it's run. Why? Good function names summarize what happens inside. #cleancode
Software maintenance is not "keep it working like before." It is "keep being...
Software maintenance is not "keep it working like before." It is "keep being useful in a changing world". @jessitron