![James Hibbard](jpg/1550836753jim1-150x150.jpg)
Network admin, freelance web developer and editor at SitePoint.
James's articles
![React Router v6: A Beginner’s Guide](jpg/1699399770react-router-v6-300x180.jpg)
Learn how to navigate through a React application with multiple views with React Router, the de facto standard routing library for React.
![Delay, Sleep, Pause & Wait in JavaScript](jpg/1651456891js-delay-sleep-pause-300x158.jpg)
Learn how to create a sleep function in JavaScript for pausing code execution, given no built-in sleep() function for delaying program flow.
![How to Create a Chrome Extension in 10 Minutes Flat](jpg/1693184348build-chrome-extension-300x170.jpg)
Learn how easy it is to build your own Chrome extension in five straightforward steps as we walk through a practical extension for ChatGPT.
![An Introduction to htmx, the HTML-focused Dynamic UI Library](jpg/1691144504htmx-introduction-300x170.jpg)
Learn what htmx is, how it simplifies dynamic web development, and how you can harness its potential to enhance your web development process.
![10 Zsh Tips & Tricks: Configuration, Customization & Usage](jpg/1693200427zsh-command-line-300x170.jpg)
Learn how to install zsh, get the most out of the Oh My Zsh framework, configure plugins, and learn a variety of productivity-enhancing zsh techniques.
![Build a Simple Beginner App with Node, Bootstrap and MongoDB](jpg/1688434345node-beginner-app-300x170.jpg)
Learn how to build a no-frills web app using Node.js, focusing on issues you’re likely to encounter when building a real-world app.
![Demystifying JavaScript Operators: What Does That Symbol Mean?](jpg/1687756486javascript-operators-300x170.jpg)
Learn how JavaScript operators work, understanding what they're for, how to use them, and how they help in building complex expressions.
![Understanding module.exports and exports in Node.js](png/1574730742exports-300x157.png)
How to work with modules in Node.js how to export and consume them, and explaining the difference between module.exports and exports.
![A Beginner’s Guide to JavaScript async/await, with Examples](jpg/1673493260javascript-async-await-300x170.jpg)
Learn all the tricks and techniques for using the JavaScript async and await keywords to master flow control in your programs.
![What are Callbacks in JavaScript?](jpg/1668566696javascript-callbacks-300x170.jpg)
Learn what JavaScript callbacks are, how they work, their different types, how to create them, and how to employ them in your own code.
![The 5 Most Popular Front-end Frameworks Compared](jpg/1618034470popular-js-front-end-frameworks-300x158.jpg)
Learn about the features, the pros and the cons of the five most popular JavaScript front-end frameworks, and how to choose the one that's right for you.
![How to Loop Through a JSON Response in JavaScript](jpg/1616287933loop-300x158.jpg)
Data fetched from remote servers is often in JSON format. Learn how to use JavaScript to parse the server's JSON response to access the data you require.
![How to Bundle a Simple Static Site Using Webpack](jpg/1603371426webpack-static-site-1200-300x158.jpg)
You don't need to be working on a fancy, large-scale project to use Webpack. James Hibbard demonstrates how you can use it to bundle a simple static site.
![Managing Dates and Times in JavaScript Using date-fns](png/14991591242017.06.28-date-fns-300x167.png)
Learn date-fns, a functional date library, and a lightweight alternative to Moment.js. With 130+ functions for all occasions, it's like Lodash for dates.
![setTimeout JavaScript Function: Guide with Examples](png/1476830355set_timeout_2-01-300x167.png)
Learn how the JavaScript function setTimeout() works, how it can be used with other libraries like jQuery, and see examples and links to further reading.
![Build a Chrome Extension to Streamline Your Workflow](png/1585789357chrome-extension-300x170.png)
James Hibbard demonstrates how to build a Chrome extension to add additional functionality to WordPress, and introduces SitePoint's SP-Tools editor extension.
![10 Projects to Get You to Your First Dev Job in 2020](png/1583794075dev-job-300x170.png)
James outlines the skills that will help you land your first dev job, suggesting 10 projects you can build to get started.
![75 Zsh Commands, Plugins, Aliases and Tools](jpg/1583201866zsh-commands-300x170.jpg)
We share 75 Zsh commands, plugins, aliases and tools that will save you keystrokes and make you more productive in your day-to-day work.
![What Is Node and When Should I Use It?](png/1581568431node-300x170.png)
James Hibbard offers a beginner-friendly, high-level introduction to Node.js, explaining its purpose and when you should consider using it in your projects.
![Using MySQL with Node.js and the mysql JavaScript Client](png/1579220934node-mysql-300x157.png)
This guide shows how to use the mysql module to connect to your database and perform basic CRUD operations.
![How to Set Up a Vue Development Environment](jpg/1560393349dev-environment-300x169.jpg)
Learn how to configure VS Code to work with Vue, lint and format your code, and use Vue’s browser tools to see at what’s going on under a Vue app's hood.
![Master Modern JavaScript with This Curated Reading List](jpg/1564553401artem-sapegin-zmraooybtlq-unsplash-300x200.jpg)
Here are my handpicked selection of books from SitePoint Premium, intended to help you well on your way to mastering modern JavaScript.
![10 Top Chrome Extensions for Your Web Development Workflow](jpg/1560320305carlos-muza-84523-unsplash-300x214.jpg)
Today I'm going to present ten Chrome extensions that are geared to optimizing your web development workflow and making you that little bit more productive.
![How to Build a Chrome Extension with Vue](jpg/1559166277bjorn-simon-418-unsplash-300x220.jpg)
James Hibbard shows how to build a simple Chrome extension, which alters the behavior of the new tab page, using the Vue.js framework.
![A Guide to the Pug HTML Template Preprocessor](jpg/1556504110pug-300x197.jpg)
Pug is a preprocessor that speeds up writing HTML. Learn the syntax and features by building a simple Node project with Pug.
![6 jQuery Form Wizard Plugins](jpg/1481198609dropwizard-crud-300x196.jpg)
jQuery Form Wizard is a jQuery plugin for creating form wizard or form flow without refreshing your page or webpage. We have listed 6 of them in this post.
![How to Write Shell Scripts with JavaScript](jpg/1493630836nautilus-shell-300x200.jpg)
JavaScript is well suited to desktop scripting tasks. James Hibbard looks at how you can leverage JavaScript's power to write your own shell scripts.
![How Do You Keep Your JavaScript Dependencies Up-to-date?](jpg/1491201235digital-skull-and-crossbones-300x193.jpg)
A recent report indicated that outdated JavaScript dependencies on the web could pose a bigger problem than previously thought. James Hibbard takes a look.
![What Is the Best Book for Learning JavaScript?](jpg/1488480131books-300x200.jpg)
What is the best book for learning JavaScript? Check out some favorites, outlining their target audiences & their strengths and weaknesses.
![SitePoint 2017 JavaScript Survey — the Results Are In](jpg/1485892982thumbs-up-300x197.jpg)
The results of our 2017 JavaScript survey are in! James Hibbard takes a look at how you answered and addresses some of the comments raised.