Category: code
44 links
Things I Don’t Like about Vue.js (as a React engineer)
This blog post is a follow up from my last article What Vue.js Does Better Than React. This article, instead of focusing on what Vue.js does better than React, will take the opposing perspective. Let's take a dive into all the things that I think React does better than Vue.js…
What Vue.js Does Better Than React
I've been a React engineer for the past 5 years. I love React. I love making React applications. I think it's one of the best UI frameworks available right now. However, there are a few competitors in this space. One of the biggest is Vue.js. I've played around with Vue.js a…
My Tech Stack (2020 Edition)
In my spare time I enjoy working on side projects. Little websites and projects that I can play around with to either learn new things or to create something for fun. In the past I've always been stymied in my attempts to create something for fun because some part of the process…
Pro VSCode Tricks
One of the most important things you can do to become a highly efficient programmer is to learn how to use your code editor. Most text editors, or IDEs, host a huge amount of functionality that help you code fast and efficiently. The only thing that sucks is that it can be very…
Why Is React Concurrent Mode Exciting?
A guide for non-React engineers. Last week the React team released an experimental version of Concurrent Mode to the public. It's been in development for over a year and the React community has been very excited about its release. What is Concurrent Mode? The documentation pages…
React Alicante 2019
On September 27th, 2019 I gave a conference talk in Alicante, Spain at React Alicante 2019. Believe it or not this was my first true conference talk of 2019! What fun! Had a great crowd show up for my talk. It was in the middle of the morning on the first day which turned out to…
How To useContext With useReducer
Welcome back to the last installment of our mini-course on ! If this is your first time here I recommend you check out the first two posts in this series: Why I Love useReducer Level Up useReducer with Immer Today's post rounds out this trilogy. Today we learn about , and how it…
Level Up useReducer with Immer
If you're just joining us, this post is an add-on to my Why I Love useReducer post. If you haven't read that already, I recommend you take a second and have a peek before you continue reading this post! And if you want to skip to the third installment of this trilogy then go…
Why I Love useReducer
This post is the first of a trilogy. Check out the other two posts as well: Level Up useReducer with Immer How To useContext With useReducer I didn't realize until recently how much I loved the React Hook useReducer. It's one of those advanced hooks, and while I read the…
What is React Ink?
The first time I learned about React Ink I was immediately intrigued. A project that lets me take all my React knowledge and use it to make a CLI program? Sounds great to me! In this video we'll explore what React Ink is and what you can do with it. We'll get up and running from…
Setting Up TypeScript
Now that we've gotten a nice and easy introduction to what TypeScript is we can start talking about how to code with TypeScript. Specifically how to get our local dev environment set up so that we can actually write TypeScript code. That means getting TypeScript to compile and…
What is TypeScript?
TypeScript is probably the best way to add static typing to JavaScript. That's probably all that people really know about TypeScript though - that it adds static types. I like to delve a little deeper into a topic before I start to learn it, so I figured I'd take you along for…
Preview of the JavaScript Ecosystem in 2019
I’m not really in the business of telling the future however I do think it would be fun to mirror all of my year in review posts with one that looks forward to the year to come. There’s a lot of new things I’m very excited about this coming year. I don’t know when I’ll be able to…
React Year in Review 2018
Hello everyone! Welcome to my React Year in Review 2018! React's 2018 was one of steady growth and doubling down on foundational concepts and principles. It was a year filled with a lot of thought and not as much action - a combination that I think will pay great dividends in the…
JavaScript Year in Review 2018
Well that's it! 2018 is coming to a close! What a year it's been, eh? A lot of highs...maybe a few more lows than I wanted. However your year turned out I know we can all agree that it was another great year for JavaScript. There's a lot of 2018 recap posts and I would be remiss…
Make Your Code Beautiful With Prettier
I'm a fan of cleanliness. I like a clean desk and a clean room. My desk at work is pretty sparse and minimal. I try and avoid clutter as it helps me find whatever it is I need at the moment I need it. One of my most disliked tasks is having to clean up my apartment. Inevitably my…
Use React.lazy and Suspense to Code-Split Your App
The marquee feature of React 16.6.0 was the introduction of , a built in way to do code-splitting with React. In all honesty I was hoping to have had this article written about two weeks ago, but in an entirely ironic and unintentional sequence of events that didn't happen…
React Hooks
React Hooks! Hooks! Hooks! Hooks! Sorry, had to yell that a few times to get it out of my system. I definitely find React Hooks to be one of the most exciting new features that has hit React in a long time. I don't think I've been this excited about a new feature since React…
Experiences With GraphQL
A couple of months ago I started working on a side project called TV Chat. My goal with this project was to create a website where people online could come together to chat about tv shows as they were airing live on TV. I'm a big tv watcher, and I like watching TV shows with…
Creating My First Atom Package: tree-view-extended
A little while ago I decided to play with Facebook's Nuclide project. I was curious what enhancements it added to Atom and if any of them would increase my workflow. I found the project altogether nice, bringing in some nice additions to Atom. However it also adds a lot of other…
The Bridge to Teaching Redux
I've long struggled with teaching Redux. It's such a fundamental different way of thinking. When I search for comparisons to ease the concepts I always find myself sputtering words that never quite bridge that gap. I've realized the reason I struggle with teaching Redux is…
React Native NYC Meetup
I gave my presentation on React Native ART and D3 at the React Native NYC Meetup.
ForwardJS Course
I gave a workshop for ForwardJS 2017.
React Native ART Presentation
Earlier this year I had the great opportunity to be a speaker at the Crater Remote Conference. I presented about my experiences with using React Native ART and D3, giving a complete walkthrough and explanation of my example application BetterWeather. The recording of this talk…
Introducing Reptar 2.0.0
Introducing Reptar 2.0.0! It is with great pride that I announce the release Reptar 2.0.0, a static site generator that roars. Install it now! Yarn Now hold on a second, you might be asking yourself, What happened to Reptar 1.0.0? Well Reptar is actually the static site…
React Native ART and D3
This is a follow up to my previous article about my experiences using React Native I gave a talk on this topic which you can watch The most powerful feature of React Native is that it lets you write your native application using React and JavaScript. React is certainly powerful…
React Native
A couple of months ago I wrote a React Native application, the new Chartbeat iOS App. It was a great experience. I got to learn a lot about React Native and was able to create and launch an app. If there's anything I like more than writing software, it's releasing it. I was able…
Introducing Yarn
Note! Yarn has been renamed to Reptar Hello everyone! I want to introduce you to my newest creation, Yarn! Yarn is a static site generator that I wrote. It was built due to my frustrations with the current static site generators available. I figured, "Hey, it can't be that hard…
First Impressions of AngularJS 2.0
Over the weekend I created a clone of Hacker News with Angular2. I've read a lot about the changes Angular 2 will have and I wanted to see for myself what it would be like to create an app. What would it be like? How will it be better than Angular 1? Will I enjoy writing an…
Essential Atom Packages
Atom is a hackable code editor from the fine folks at GitHub. It's written entirely in JavaScript (specifically CoffeeScript) and runs in a self contained Chromium environment. It's new and young, yet slowly growing in popularity and features. After using Sublime Text for the…
Building Hacker News With Angularjs
This week Hacker News announced its official API. This is really great news. Prior to this official API all 3rd-party apps resorted to scraping the website to as their data source, a brittle and unscalable practice. This new API provides a standard and efficient way to create 3rd…
Chartbeat Presents at Front-end Meetup
Last Thursday Chartbeat hosted the Frontend Innovators Meetup group at our office. The focus was Angular.js, and my co-workers and I had the good fortune of being presenters. Our goal was to share some of the experiences and insights we’ve gained over the past year working with…
The Modern Front-end Workflow - From Start to Finish
Front-end engineers have gone through a bit of a renaissance in recent years. There's been a wild and wonderful spurt in innovation that has completely changed what it means to be a front-end developer. We now have a vast and wide array of tools available to us, allowing us to…
Smarter Express Routing
In a large ExpressJS application it is not optimal to define all your routes and handlers in the same file. For the sake of code clarity and cleanliness Express route handlers are often placed in their own file. Those files are then included in the file that is bootstraps your…
Upgrading to Sublime Text 3
When Sublime Text 3 was released I groaned along with many others. Why a new version? What are the incompatibilities? But most importantly: Will all my old packages that I know and love still work?? After attempting (and succeeding) in upgrading to ST3 and trying to install all…
My Favorite Sublime Text 2 Plugins aka Packages
Quick Demo of Awesomeness Quick Demo of Awesomeness Quick Demo of Awesomeness Quick Demo of Awesomeness Quick Demo of Awesomeness Quick Demo of Awesomeness Quick Demo of Awesomeness Quick Demo of Awesomeness
The Best Mac Git Gui
Git is one of the most powerful and effective revision control systems available. It's lightweight and highly configurable, complimenting almost anyone's programming workflow. Predominately you interact with git from the command line, inputting commands such as or to manipulate…
Prune Remote Git Branches
Git is a wonderful version control system. It’s light, nimble, and fast. It makes managing code amongst many developers a dream. Unfortunately it has a fair share of quirks. One of the quirkiest quirks that I’ve run into a couple times now is an issue with remote git branches…
My Experience with PHP Frameworks - Yii, CodeIgniter, and Symfony
A week ago I started work on a personal web project using PHP as my programming language of choice. This wasn’t a hard decision as I use PHP daily for work and have a great deal of strength in the language. As I set forward to create my web app I knew I wanted to use a prebuilt…
CSS3 Rounded Corners On IE
One of the coolest new additions to the CSS3 specification is its built-in ability to render rounded corners. Before CSS3 the only semi-humane way to create rounded corners on an element was to create four rounded corner images and use some unwieldy albeit effective display…