The best USB sound cards

Whatever kind of computer you use for work, whether it's a Mac or PC, a desktop or laptop or even something like an iPad Pro, it's likely that you've never even thought about adding a USB sound card to your setup. It's virtually impossible today to buy a computer that doesn't have a socket for you to plug speakers or headphones into, so why complicate the situation with extra hardware?

The simple answer is that the default onboard audio you get from your computer isn't the best quality. It's generated by a low-cost chipset on the motherboard, and while that's fine for everyday use such as listening to podcasts or supplying background music for your studio, if you're editing video or working on projects that feature an audio element then you might need something more. For high-quality audio or surround sound that doesn’t pick up microphone interference or stutter when your machine's running at full capacity, a USB sound card will do the trick, and the added bonus is that all your music will sound much better if you're listening while you work.

While the cheapest USB sound card will give you a much-needed volume and quality boost, for multi-channel surround sound and higher resolution audio, you'll have to pay more; your ears will love you for it, though. There are plenty of USB sound cards out there to choose from; here's our pick of the best.

The best USB sound cards: Creative Sound BlasterX G6

The Creative Sound BlasterX G6 has a name that'll be familiar to anyone who owned a PC in the 1990s; Sound Blaster was the de facto standard for gamers who wanted decent audio rather than the terrible noise that came out of most PCs internal beepers. And while this latest piece of Sound Blaster kit is clearly aimed at gamers with its 7.1 surround virtualisation, bass boost and Scout Mode for enhancing in-game audio cues, it's also a great way for anyone to enjoy improved audio as long as you don't mind its gamer-focused looks.

It features …

Use negative space to draw better hands

Even a seemingly complex process like drawing a hand can be simplified, with the right drawing techniques and tricks. Using shapes and working with negative space will create a foundation for your drawing, to help you to draw better hands. 

The exercise outlined in the following steps is one that you can try at home, drawing your own hand (using a mirror) or a friend's. It could just as easily be applied to a chair, a plant or anything that presents trapped shapes and negative spaces. It will help you to exercise one of the most helpful skills you can develop when making observational drawings – objectivity.

Your preconceptions of what you think a hand, chair or plant look like can stop you looking clearly at the subject in front of you. By simplifying what you see into abstract shapes, you can start to make clearer, more objective observations and learn how to draw more realistic subjects.

For the pencil drawing techniques displayed in this tutorial, I used Derwent Graphic HB pencils for the pale underdrawing, overlaid with a sharp 3B pencil. You'll also need a pencil sharpener and an eraser.

Click on the icon at the top right of the image to enlarge it.

01. Sketch negative spaces

When you are simplifying a three-dimensional subject into a two-dimensional drawing, you are essentially mapping its shape on the surface of the page. 

Sometimes you might find it helpful to stop focusing on the ‘positive’ shape of your subject and instead look at the shapes surrounding it – the negative spaces. Sometimes these shapes will have boundaries on all sides – this is what I mean by trapped shapes – and sometimes you’ll need to create boundaries for them.

02. Create an underdrawing

Pose your hand, or ask your model to hold a position, and start your drawing off with a loose, light, intuitive sketch in HB pencil. 

Simply look and draw what you see in less than a minute, keeping your marks energetic and allowing you time to look over …

How Into the Spider-Verse got its mind-blowing look

With bright, punchy colours, sharp animation and snappy editing, Spider-Man: Into the Spider-Verse sucks viewers into Miles Morales’ wild ride from the get-go. It’s no surprise that this Marvel-lous feat of animated glory has racked up more than $350 million worldwide and scored several industry awards, making it Sony’s leading animated title. It has changed the landscape for future animated films.

CG Spectrum caught up with Sony Pictures Imageworks’ supervising animator Jeff Panko and lead lighting and compositing artist Geeta Basantani to discover just how this bold look was developed, and the challenges that came with breaking new animation ground.

Creating a new aesthetic

Spider-Man: Into the Spider-Verse is made up of more than 2,600 shots; bigger than a regular animated movie, and unimaginably more complex. “No one has ever done anything like this before,” says Basantani, who worked on the first shot of the movie through to the very last. 

Basantani played a major role in developing the stylistic choices used throughout the Spider-Verse. “The art directors were very bold. We were just going for it," she adds.

Miles Morales looking worried

Into the Spider-Verse is much more complex than your average animated movie

With around 800 people working on the film, there was a delicate balance to be found between individual creativity and overarching consistency. In order for the movie to work, everyone had to be on board with the fundamental style.

“Sony had teams for each sequence, so I went on every team to help them understand the language of the movie,” explains Basantani. “There’s this balance of needing to keep things consistent, but we didn’t want to shackle creative people.”

“What [the film’s directors] wanted was the individual hand of the animator to be visible in every shot,” explains Panko, who entered the Spider-Verse in August 2017. “So there wasn’t a hard rule for anything. You could do your own artistic pass."

Light and reflections were defined by dots, and all of the shadows were lines… If you zoom in, there are dots everywhere

Geeta Basantani

While artists were encouraged …

Behind the Scenes of ClassicPress – the WordPress Alternative

WordPress 5.0 brought with it a lot of change and controversy. Most of the buzz surrounded the switch to a new block-based editor named Gutenberg. It seemed to have left a lot of people both frustrated and uncertain about the direction of their websites and even their careers. And for some, it prompted action.

Among those who opted to act was developer Scott Bowler. In August 2018, he took it upon himself to create a fork of WordPress – one with the “classic” editor left in place and with a more community driven process for adding core features. Its name: ClassicPress.

The WordPress Toolbox
Unlimited Downloads: 500,000+ WordPress Themes, Plugins, Templates & Design Assets

A Fork in the CMS Superhighway

It’s a big step, for sure. So, what drove such a large undertaking? The reason, according to the project’s marketing co-lead Michelle Coe, “We believe that WordPress wasn’t broken and didn’t need to be fixed by mandating a block editor. We also believe the pre-5.0 WordPress publishing experience was (and still is) a tried and tested solution complimented by a wide array of plugins that extend its functionality.”

Coe says that “By creating the ClassicPress fork, we provided an option for people to continue using the CMS they trust, while also creating an opportunity to create a more robust, business-focused CMS.”

Indeed, the focus of ClassicPress seems to be the business community, where stability and predictability are often preferred. Rather than pushing out large changes (such as Gutenberg) that could hamper users with a steep learning curve and/or potential incompatibilities, Coe says the fork will take what WordPress does well and make it “…leaner, more secure, and more useful.”

ClassicPress Home Page

Democratic Decision-making

One of the undercurrents of the WordPress 5.0 development process was a perceived lack of communication between project insiders and the community at large. To some, it seemed like user concerns were being pushed aside in favor of directives from the top. Fair or not, it was a common lament.

Beyond the fork’s new name, …

Choosing a Resume + Cover Letter Font? 10 Tips & Examples

What is the best font for your resume? It’s not a loaded question. Too often people over think typography choices for resumes or cover letters because they think the type has to look “designed.” The reality is that it just needs to be highly readable.

So where do you start? Today, we’ve got ten great options to help you choose a readable, well-designed typeface to help your resume or cover letter stand out.

All these fonts stand out from the crowd, while also keeping your resume clear, classy, and readable!

1. Bolt Sans

best font for resume

The number one thing to think about when choosing a cover letter or resume font is how will it look in print? There are so many great typefaces available for download, but they aren’t all designed to be printed.

You need a high-quality typeface with an extensive character set so that you won’t be struggling to find certain characters or print elements later.

Bolt Sans is a simple sans serif with a modern feel. It has normal spacing (so it won’t be tough to use with larger text blocks) and has a light minimal feel. The characters are exceptionally easy to read while maintaining some personality.

Pro tip: Use the same typeface for your resume, cover letter and portfolio website. By selecting a font that includes web font options, you don’t have to worry about matching typefaces from print to web. (Bolt includes OTF, TTF and web fonts.)

2. Addington CF

best font for resume

A strong serif typeface can communicate reliability and professionalism. This might communicate just what you want to a potential employer.

Addington CF is a strong sans serif in a modern style. The trusty typeface looks lovely at almost any size and is highly readable.

Pro tip: When using a serif typeface consider using it as the body text element while pairing it with a sans serif for headers or other display elements within the resume.

3. RNS Sanz

best font for resume

What is the best font for your cover letter? Start with a typeface that’s strong and looks great …

Popular Design News of the Week: February 25, 2019 – March 3, 2019

Every week users submit a lot of interesting stuff on our sister site Webdesigner News, highlighting great content from around the web that can be of interest to web designers. 

The best way to keep track of all the great stories and news being posted is simply to check out the Webdesigner News site, however, in case you missed some here’s a quick and useful compilation of the most popular designer news that we curated from the past week.

Note that this is only a very small selection of the links that were posted, so don’t miss out and subscribe to our newsletter and follow the site daily for all the news.

28 Epic Memes for Graphic Designers


Zest Icons


When is a Button not a Button?


A Comprehensive (and Honest) List of UX Clichés


5 “hacks” to Drastically Improve your Designs


Forghetti™ — Forget your Passwords. Forever.


The Underlying Principles of Branding and Design in Email


How to Create a SaaS Landing Page that Converts


Site Design: Adtrak Agency


An Interview with Stanley Wood, Head of UX at Volvo


Logo Psychology: How to Design Logos that Inspire Trust


Why Designers Should Understand Code


UI Design: How Golden Ratio Works in User Interfaces


The Dribbble Experiment


Color Spaces


Absurd Design – Free Surrealist Illustrations for Landing Pages


Mint, a New HTTP Library for Elixir


How a Good UX Designer Can Save a Startup


Here are the Winners of Apple’s ‘Shot on iPhone’ Photo Contest


20+ Best Free Photoshop Actions 2019


Six Tips for Better Web Typography


5 Essential Design Tools for 2019


Amino: Live CSS Editor for Chrome


Site Design: Nicky Tesla


11 Must-Watch Conference Talks that will Inspire You for 2019


Want more? No problem! Keep track of top design news from around the web with Webdesigner News.

Add Realistic Chalk and Sketch Lettering Effects with Sketch’it – only $5!


Mask Compositing: The Crash Course

At the start of 2018, as I was starting to go a bit deeper into CSS gradient masking in order to create interesting visuals one would think are impossible otherwise with just a single element and a tiny bit of CSS, I learned about a property that had previously been completely unknown to me: mask-composite.

As this is not a widely used property, I couldn’t find any comprehensive resources on this topic. So, as I began to use it more and learn more about it (some may remember I’ve mentioned it before in a couple of other articles), I decided to create such a resource myself and thus this article was born! Here, I’m covering how mask-composite works, why it’s useful, what values it can take, what each of them does, where we are in terms of support and what alternatives we have in non-supporting browsers.

What mask compositing does

Compositing allows us to combine different mask layers into a single one using various compositing operations. Combine them how? Well, pixel by pixel! Let’s consider two mask layers. We take each pair of corresponding pixels, apply a certain compositing operation (we’ll discuss each possible operation in detail a bit later) on their channels and get a third pixel for the resulting layer.

Illustration showing two corresponding pixels of the two layers being composited, which results in the corresponding pixel of the resulting layer.
How compositing two layers works at a pixel level.

When compositing two layers, the layer on top is called the source, while the layer underneath is called the destination, which doesn’t really make much sense to me because source sounds like an input and destination sounds like an output, but, in this case, they’re both inputs and the output is the layer we get as a result of the compositing operation.

Illustration showing two layers. The top layer is the source, while the bottom one is the destination.
Compositing terminology.

When we have more than two layers, compositing is done in stages, starting from the bottom.

In a first stage, the second layer from the bottom is our source and the first layer from the bottom is our destination. These two layers get composited and the result becomes the destination …

Do CSS Custom Properties Beat Sass Loops?

I reckon that a lot of our uses of Sass maps can be replaced with CSS Custom properties – but hear me out for a sec.

When designing components we often need to use the same structure of a component but change its background or text color based on a theme. For example, in an alert, we might need a warning style, an error style, and a success style – each of which might be slightly different, like this:

There’s a few ways we could tackle building this with CSS, and if you were asking me a couple of years ago, I would’ve tried to solve this problem with Sass maps. First, I would have started with the base alert styles but then I’d make a map that would hold all the data:

$alertStyles: (
  error: (
    theme: #fff5f5,
    icon: 'error.svg',
    darkTheme: #f78b8b
  success: (
    theme: #f0f9ef,
    icon: 'success.svg',
    darkTheme: #7ebb7a
  warning: (
    theme: #fff9f0,
    icon: 'warning.svg',
    darkTheme: #ffc848

Then we can loop through that data to change our core alert styles, like this:

@each $state, $property in $alertStyles {
  $theme: map-get($property, theme);
  $darkTheme: map-get($property, darkTheme);
  $icon: map-get($property, icon);
  .alert-#{$state} {
    background-color: $theme;
    border-color: $darkTheme;  
    &:before {
      background-color: $darkTheme;
      background-image: url($icon);
    .alert-title {
      color: $darkTheme;

Pretty complicated, huh? This would output classes such as .alert-error, .alert-success and .alert-warning, each of which would have a bunch of CSS within them that overrides the default alert styles.

This would leave us with something that looks like this demo:

See the Pen
Alerts – Sass Loops
by Robin Rendle (@robinrendle)
on CodePen.

However! I’ve always found that using Sass maps and looping over all this data can become unwieldy and extraordinarily difficult to read. In recent projects, I’ve stumbled into fantastically complicated uses of maps and slowly closed the file as if I’d stumbled into a crime scene.

How do we keep the code easy and legible? Well, I think that CSS Custom Properties makes these kinds of loops …

Should I Use Source Maps in Production?

It’s a valid question. A “source map” is a special file that connects a minified/uglified version of an asset (CSS or JavaScript) to the original authored version. Say you’ve got a filed called _header.scss that gets imported into global.scss which is compiled to global.css. That final CSS file is what gets loaded in the browser, so for example, when you inspect an element in DevTools, it might tell you that the <nav> is display: flex; because it says so on line 387 in global.css.

On line 528 of page.css</, we can find out that <code>.meta has position: relative;

But because that final CSS file is probably minified (all whitespace removed), DevTools is likely to tell us that we’ll find the declaration we’re looking for on line 1! Unfortunate, and not helpful for development.

That’s where source maps come in. Like I said up top, source maps are special files that connect that final output file the browser is actually using with the authored files that you actually work with and write code in on your file system.

Typically, source maps are a configuration option from the preprocessor. Here’s Babel’s options. I believe that with Sass, you don’t even have to pass a flag for it in the command or anything because it produces source maps by default.

So, these source maps are for developers. They are particularly useful for you and your team because they help tremendously for debugging issues as well as day-to-day work. I’m sure I make use of them just about every day. I’d say in general, they are used for local development. You might even .gitignore them or skip them in a deployment process in order to serve and store fewer assets to production. But there’s been some recent chatter about making sure they go to production as well.

David Heinemeier Hansson:

But source maps have long been seen merely as a local development tool. Not something you ship to production, although people have also been doing that, such that

Writing Tests for React Applications Using Jest and Enzyme

While it is important to have a well-tested API, solid test coverage is a must for any React application. Tests increase confidence in the code and helps prevent shipping bugs to users.

That’s why we’re going to focus on testing in this post, specifically for React applications. By the end, you’ll be up and running with tests using Jest and Enzyme.

No worries if those names mean nothing to you because that’s where we’re headed right now!

Installing the test dependencies

Jest is a unit testing framework that makes testing React applications pretty darn easy because it works seamlessly with React (because, well, the Facebook team made it, though it is compatible with other JavaScript frameworks). It serves as a test runner that includes an entire library of predefined tests with the ability to mock functions as well.

Enzyme is designed to test components and it’s a great way to write assertions (or scenarios) that simulate actions that confirm the front-end UI is working correctly. In other words, it seeks out components on the front end, interacts with them, and raises a flag if any of the components aren’t working the way it’s told they should.

So, Jest and Enzyme are distinct tools, but they complement each other well.

For our purposes, we will spin up a new React project using create-react-app because it comes with Jest configured right out of the box.

yarn create react-app my-app

We still need to install enzyme and enzyme-adapter-react-16 (that number should be based on whichever version of React version you’re using).

yarn add enzyme enzyme-adapter-react-16 --dev

OK, that creates our project and gets us both Jest and Enzyme in our project in two commands. Next, we need to create a setup file for our tests. We’ll call this file setupTests.js and place it in the src folder of the project.

Here’s what should be in that file:

import { configure } from 'enzyme';
import Adapter from 'enzyme-adapter-react-16';
configure({ adapter: new Adapter() });

This brings in Enzyme and sets up the adapter for running …