Learn more about JavaScript
If you want to learn JavaScript and you’re about ready to dive into Head First JavaScript Programming, you can get a quick head start with this collection of videos we put together as we were writing the book. You’ll get a quick taste of JavaScript with ten topics covering everything from what JavaScript is, to the basics of variables and types, and even best practices to keep in mind as you learn how to program in JavaScript. Each video is just a few minutes long, but you’ll be surprised at how much you learn.
test
Using lambda expressions with the Strategy Pattern
A common question we get from readers and from students in our Design Patterns Bootcamp course is about using Java lambda expressions with the Strategy Pattern. Our book, Head First Design Patterns, and our course both use Java to demonstrate how to implement a design...
Use Map to organize data with JavaScript
We’ve got a new video, about the Map data structure in JavaScript. We’ll take you through the basics of how to create and use Map, and then dive right into a fun example. Follow along as we read temperature data from a CSV file into an array using D3.js’s csv() method, and then use a Map to group the temperatures by year. Then we can use that Map to compute the average yearly high and low temperatures, and convert the data back into an array, ready for making a visualization. This is great practice for using Map in JavaScript, so join us and learn how to use Map.
What I learned writing Head First books
Eric recently pointed me to this article about Steven Pinker's 2015 book on writing, A Sense of Style: The Thinking Person's Guide to Writing in the 21st Century and one reason why some writing is so hard to understand: The Curse of Knowledge. I haven't yet read this...
Episode 2: A conversation on SEO with Nick Choat
We recently sat down with Nick Choat, author of Online or Flatline. In episode 2 of WickedlySmart Conversations, Nick describes his journey navigating the digital marketing waters around making a brick & mortar franchise successful. With Nick we dig into the...
Episode 1: A Conversation with Jose Aguinaga
This month we are pleased to offer you a podcast interview with José Jesus Perez Aguinaga, who is a JavaScript developer. Back in October 2016, José wrote a funny and clever sketch of a conversation with a friend about how it feels to learn JavaScript today. The...
5 reasons to finally learn design patterns
Crafted by experienced object-oriented practitioners, design patterns can make your designs more flexible, more resilient to change, and easier to maintain.
Build a Generative Music Box
We've completed beta testing our second project and are now preparing to launch! Just like Project 1, A Generative Music Box will help you practice your JavaScript programming skills. What is it? If you've ever played with the Bloom app on your iOS device, then you'll...
Using the Firefox Console
In a previous post I showed the features of the Safari and Chrome consoles. Here, I do the same for the Firefox console, which has many similar features, as well as a couple of features unique to Firefox. This is a great way to get comfortable in all the major browser...
Editing your HTML and CSS in the browser
Chrome and Safari both allow you to edit and experiment with your HTML and CSS right in the browser. The tools and features available in both these browsers have expanded considerably in the past couple of years, giving developers many more options for experimenting...
Using the Console
In a previous video about using the browser developer tools, I focus on how to use the JavaScript console to experiment with and test your JavaScript code. In the following videos, I provide a quick overview of the main features in the Safari and Chrome developer...
Where is the Web Headed?
Interested in the future of the Internet? WickedlySmart colleague Eric Freeman co-wrote a piece with technology guru David Gelernter for the Wall Street Journal on where the web is going.
We’ve teamed up with O’Reilly to develop a Manager’s Guide to Design Patterns
We’ve just finished a cool project with O’Reilly: a short manager’s guide to design patterns. Here’s the idea: create a guide that gives you the gist of design patterns, enough to remind you of what they are all about, or enough to get you motivated and on your way to...
Experimenting with CSS
Over the years CSS has grown... a lot. Just like with HTML and JavaScript APIs (like geolocation and web storage), the specification for CSS---that is, what constitutes correct CSS rules and properties---is managed by the W3C, the World Wide Web Consortium. Until...
JavaScript’s new way to make objects
In JavaScript, we use functions in three different ways: as methods of objects; as constructors of objects; and, as "regular" functions (that is, functions we typically write either as top-level functions, or functions we pass as anonymous functions to other...
A Manager’s Guide to Design Patterns
We’ve just finished a cool project with O’Reilly: a short manager’s guide to design patterns. Here’s the idea: create a guide that gives you the gist of design patterns, enough to remind you of what they are all…
What makes JavaScript different?
JavaScript is a bit different from other programming languages. How? In part three of Head First JavaScript Programming Teasers, Elisabeth steps you through what makes JavaScript unique, and why it’s a great first programming language.
The Art of Design Patterns
Anyone who has ever been late on a software development project (who hasn’t?) can relate to this. Software development starts to feel more like an art or craft when the best you can do is roughly estimate the size and scope of a job and then cross your fingers and hope for the best — certainly, it is at times like these when our field doesn’t feel like much of a science.
JavaScript arrow functions
JavaScript isn’t the first language to use first class functions, but it’s likely the language that made them popular. Java, Objective C, C#, C++, Python… these are all languages that did not have first class functions until recently.
Coming soon to JavaScript: block scope with let
Like var, you’ll use let to create variables (not constants). You might be wondering why we need two ways to create variables. Well, let differs from var in one very important way: let is scoped differently from var. Let’s take a closer look at what that means.