Write Better JavaScript with Promises

You’ve probably heard the talk around the water cooler about how promises are the future. All of the cool kids are using them, but you don’t see what makes them so special. Can’t you just use a callback? What’s the big deal? In this article, we’ll look at what promises are and how you can use them to write better JavaScript.

Read more on The David Walsh Blog

The Most Important Things I Learned About Freelancing in 2013

Last June, I left my job in Corporate America to start freelancing full‑time. While it was a difficult to give up a steady paycheck and job security, it was a decision that’s made me a lot happier. With 2013 finished, I wanted to take the opportunity to reflect on what I’ve learned and where I want to take my business this year.

Read more

8 HTML Elements You're Not Using (and Should Be)

In today’s web, the word semantic gets thrown around a lot. But what does semantic mean? Why is it important? Semantic HTML expresses the meaning of the document. It’s less about how the text looks and more about what it is. Good semantic markup helps both people and machines understand the content and its context.

Read more on The David Walsh Blog

Writing Better Media Queries with Sass

Let’s face facts: media queries can be a pain. They’re long, difficult to write and they get duplicated a lot in code. Sass includes a few helpful features that make media queries easier to work with. This article will show you these tricks and how you can use them to simplify your stylesheets.

Read more

Partial Borders in CSS

Have you ever wanted to create a border in CSS that only extends across part of an element? It’s possible by applying margins, but that can get messy when you want your content to extend beyond its border. Here’s a handy technique that uses box shadows to achieve the same result.

Read more

Styling Autocompleted Inputs in Webkit

You know you hate it: that ugly yellow background color in Webkit’s autocompleted fields. The background color for -webkit-autofill is set in the user agent stylesheet, preventing you from overriding it.

Read more