Avant-Garde Is an Experimental Block Theme With Well-Designed Patterns

Block themes continue to trickle into the WordPress theme directory. Classic design submissions still outpace them by margins that make it look like blocks are not even in the race yet. However, some designers seek to pioneer this still-foreign space.

Brian Gardner is not new to this. His latest theme, Avant-Garde, plays on the block system’s strengths without forcing it into something it is not capable of yet. It also does not hurt that Gardner leans into minimalism with his designs. The simplicity of the block system plays back into his strengths, too.

Homepage screenshot of WordPress theme with a logo, title, and menu in the header.  It has a large intro section with the words "Chicago, Innovative WordPress Design."

Reading through the code and browsing Avant-Garde’s design elements almost feels like taking a master-class in block theme development. Other than a typo where “Primary” is misspelled in the color palette (fixed in version 1.0.2), it seems to be doing everything right. It is vying for my coveted favorite theme of 2022 award, but we still have nearly a full 10 months left before the year is out. A lot can happen in that time. However, Avant-Garde raises the bar for those that follow.

There is one thing I am not fond of, so let us get this out of the way. The content area of single posts and pages is split into two columns. The title and meta are aligned left with the content to the right.

Single blog post.  The title, author, and date are on the left.  An image and text content on the right.
Single post view.

I like the willingness to break from the mold — it is titled Avant-Garde, after all. However, I never felt comfortable with the right-aligned content, even after tinkering with the theme for a week. Center or left-aligned is more natural.

I know I will sound like a broken record, but this is why I enjoy using the site editor. If I find a theme that covers 80% of what I want, I can customize it. Even as a designer and developer, this was often more trouble than it was worth with classic themes. Every theme developer had their in-house design system to figure out. Blocks always follow the same standard. Moving a column here or putting the post title over there simply induces fewer headaches.

So, I made a couple of minor changes to single posts. No big deal. I erased my single dislike about the theme in mere moments via the site editor, and all was right with the world.

WordPress site editor opened to a two-column single post template.
Customizing the layout of the single post template.

Where Avant-Garde gets things right is its patterns. It bundles 14 in total, and one is of the homepage design from the demo. Users do not have to piece it together; just insert and customize. This is the primary reason I have called for a separate full-page pattern feature in the past.

My favorite block pattern in the theme is for creating a portfolio:

Three-by-three grid of square images in a portfolio-style layout.
Portfolio pattern.

It is merely a Heading, Paragraph, and a three-by-three grid of Image blocks. It feels like something anyone should be capable of building, but the simple elegance combined with on-point spacing is sometimes more complex than it looks.

I am also warming up to the list-style Query pattern as someone who enjoys writing from time to time and does not want to worry about finding the perfect featured image:

List of blog posts.  Each post is broken into three columns with the date on the left, the title and excerpt in the center, and tags on the right.
List-style Query pattern.

Avant-Garde includes a couple of alternative Query patterns for a grid and a one-column post list for those who prefer something different.

I rarely get to point to footer design as a positive attribute of themes. Far too often, this section is tacked on as if it had no right being there in the first place. However, Avant-Garde has not one but two footers that say, “Hey, do I have your attention?”

The first is the default, which includes the text “Design with courage.” in large lettering:

Black footer with white text.  Large spacing at the top.  On the left, text reads "Design with courage."  On the right, there are links.
Default footer design.

The alternative is a business-friendly, full-width lead-in for visitors to contact the site owner:

Hero-style, full-width black footer with white text.  It has a button to contact the site owner.
Contact-style footer.

Avant-Garde has a short pattern for displaying copyright text and links for those who prefer a footer that seeks less attention.

The theme does not include many custom block styles. A few fill-type and outline Button options can be replaced when core supports borders on the block. A “no margin” style for Paragraphs handles a missing WordPress feature.

Its more unique options include shadow and full-height styles for the Group block. It also offers framed images, which are showcased in the portfolio pattern.

Overall, I want to see more themes like Avant-Garde land in the directory. The design does not push against every boundary — though it does experiment plenty. What makes it a solid choice is the attention to detail. The little things matter, such as selecting the right photos for the demo and not leaving the footer design as an afterthought.

How to Run Parallel Tests With CircleCI

More often than not, testers have to deal with a large codebase comprising hundreds or even thousands of tests. Most tests validating website or app functionality must be rerun on different platforms (devices, browsers, operating systems). 

However, running so many tests on different platforms can be immensely difficult, not to mention tedious and error-prone, without the right strategy and tech. The best and easiest way to test under such conditions is to use parallel testing. 

Binary Search in Python

Binary search is the search technique that helps to make the searching faster. So for understanding the binary search method implementation in Python, let’s first understand linear search? 

In this article, we will answer the following questions: What the binary search is? How is it derived? How does it search faster?

How to Use Templates in Vue

In Vue, templating is the main way we create reusable components. We can use templates to take data and turn it into real elements on a screen that users can see. In this article, we'll be covering how templates work in Vue, and some things about them that you may not have known.

Creating a Template in Vue

Every Vue .vue file has to have a <template> tag. The <template> tag itself is simply a container for all the HTML that is going to go into building our component. When a .vue file is rendered, all <template> tags are removed. A very basic template in Vue looks something like this:

Adyen Adds New Management APIs to its Financial Technology Platform

Adyen, a financial technology platform, has announced a new suite of Management APIs that help businesses automate many common administrative tasks. These new APIs can be used for setting up and managing user accounts and permissions, ordering new payment terminals, and more.

The blog post announcing these new APIs had this to say about the importance of these sorts of APIs to the company’s business:

How to Build a NestJS MVC App With YugabyteDB

The article is the second in a series of posts investigating ways to build applications with NestJS. In Part 1, linked here, we built a two-factor authentication app with NestJS.

In this article, we'll learn more about the model view controller (MVC) architecture by building a NestJS MVC application with YugabyteDB. We will code an eBook store demo project. The code for this tutorial is available on my GitHub repository. Feel free to clone it as you follow the steps. Let's begin!

Querying Pull Request Data from GitHub

To make sure that bugs do not reach the end-user of your product, you need to do code reviews. In code review, metrics of pull requests matter a lot because they provide data on how well you are shipping. Software developers can use pull requests metrics to understand the team dynamics and act appropriately to correct behaviors before things get out of hand.

What Is Code Review?

Code review is when a peer or a senior developer examines a developer's code or a pull request. Code reviews help developers discover common bugs faster and reduce the work required to optimize code later.

Partitioning a Billion-Row Table of Soccer Data Using Data Context

In this article, you will learn how to use the semantics behind your data when you partition your database. This can drastically improve your application's performance. And, most importantly, you will discover that you should tailor your partitioning criteria to your unique application domain.

I have collaborated with a startup to develop a web app for sports experts to make decisions and explore data. The application supports any sport, but we are based in Europe - and Europeans love soccer. Each of the hundreds of games played every day worldwide comes with thousands of rows. In just a few months, the Events table in our app reached half a billion rows!

Creating Custom Types in TypeScript

JavaScript is a weakly typed language, which means we don't usually think about types. Typescript is strongly typed, which means everything has a type.

Occasionally we want to make an object or the return of a function conform to a certain format. This is where we use custom types. Typescript allows us to define our own custom types, which we can then use in our code.

Coordinating Threads Using CountDownLatch

Since Java 5, the core Java APIs have been enhanced with more features for handling coordination between threads in concurrent programming. In this post, we discuss a class in the java.util.concurrent package that aids in this purpose: the CountDownLatch.

Introduction

The CountDownLatch class enables us to coordinate threads by introducing awareness of the number of threads that are carrying out related tasks and keeping track of the number of threads that have completed their task. 

WPExperts Acquires Password Protected Plugin

WPExperts has acquired the Password Protected plugin from WordPress developer Ben Huson, author of nearly 20 plugins on WordPress.org. Password Protected was by far his most popular one with more than 300,000 active installs. The acquisition is hot on the heels of the company’s purchase of the Post SMTP plugin two weeks ago, another product with more than 300k active installs.

Password Protected gained a large user base by providing a simple plugin that doesn’t try to do everything. It allows an administrator to set a password to protect their WordPress site. It includes just a handful of options, such as toggling access to feeds, allowing REST API access, and disabling password requirement for administrators.

The plugin’s users often request the ability to add a login logo, and the plugin keeps it simple by recommending compatible plugins like Login Logo or the Uber Login Logo plugin.

“I’ve not had much time to dedicate to the Password Protected plugin over the last couple of years,” Huson said regarding the sale. “I do use it myself and check for compatibility issues, but have not necessarily been pro-active in updating its compatibility flag in the WP repository.”

Huson said he has always tried to keep the plugin simple but with lots of hooks so that it would be extensible and ready for paid add-ons or a pro version in the future.

“I regularly got emails from people interested in acquiring the plugin as it has a good user base on the WP repository,” he said. “One of my main concerns in the past was that I wanted to have confidence in whoever takes it on.” Huson checked out WPExperts portfolio and said he had no worries the team would be able to take the plugin forward and develop it further.

Despite the success of Password Protected’s tightly controlled feature set, WPExperts founder Saad Iqbal said he plans to introduce some updates with an aim to produce a commercial version in a few months. He shared a few of the features they have in mind:

  1. Make this plugin more developer-friendly by adding more actions and filter hooks so the dev community can easily play around.
  2. Display option to redirect to the login window. If someone with an admin role visits the protected page, we can display something like: If you are an admin of this site, please click here to login, or if you are an existing user, click here to login.
  3. We can add support for more user roles apart from the Administrator, as it is currently, to make it more flexible.

Despite gaining a much larger team to support the plugin, users are not always happy when a tool they have embraced changes hands. A plugin that was once the pet project of one developer, has now joined a larger agency that will soon be looking to monetize the software. After WPExperts’ last acquisition, one reader commented that “takeover by an agency is usually the death knell for plugins,” as the new owners seek to add “unnecessary features” to a plugin that was previously focused in terms of development. Users do not relish the prospect of getting new banners and calls in the dashboard to pay for a Pro version.

In response to these concerns, Iqbal said WPExperts maintains a system for ensuring each plugin has adequate coverage.

“We have developed small team clusters for managing this kind of traffic,” Iqbal said. “So each team manages a couple of plugins, backed by strong support and business analyst teams, which keep track of all the issues and feature requests to be addressed. This makes sure nothing gets overlooked.”

358: CJ Gammon

I got to chat with CJ Gammon this week! CJ is a creative technologist, a term he’s tried to hang onto as he does more development work, so he can continue to communicate that he’s a designer as well. CJ has been at Adobe for nearly 10 years and has played with a huge variety of interesting creative technologies.

Time Jumps

The post 358: CJ Gammon appeared first on CodePen Blog.

A Simple Guide To Quickly Adding File Uploads To Your App With Filestack

Do you need to give your users the ability to upload files in your application? Are you looking for a simple and quick way to dramatically improve the user experience for file uploading, allowing users to not only upload directly from their hard drive but also integrated with the most popular social networks like Facebook or Instagram, commonly used storage solutions like Dropbox or Google Drive, and stock image providers like Unsplash? If so, Filestack is the ultimate solution for you!

In  this post, we will take a look at what Filestack can do to make file uploading work for your users in the best possible ways and how easy it is for you to set up in less than an hour.

Why is file upload important?

File uploads are essential for user productivity and many business services and applications, such as content management systems, healthcare portals, insurance websites, and messaging applications. Especially in this day and age of remote and distanced working, it is increasingly critical to ensure the security and ease of file uploads in order to provide the best user experience as well as protect against malicious actors.

For example, consider community-driven platforms such as social media websites and apps, where content is primarily user-generated. In these applications it is crucial to be able to manage the large numbers of uploads that users will be producing.

Another example would be for businesses that use internal collaboration systems for their employees. In this case, employees often need to support the uploading, sharing, and downloading of files. The easier the upload system is to use, the less training and help the employees will need to accomplish their work throughout the day, saving time and resources.

In all instances, files that are uploaded need to be analyzed for potential viruses or other malicious programs. So the method through which files are uploaded is extremely important!

What makes Filestack special?

Filestack provides users an “all-in-one” experience for uploading files anywhere and easily with a 99.99% success rate. Utilizing their powerful yet simple-to-use API, uploads, URL ingestion, and device integration are all made fast and easy. With as little as two lines of code, you can dramatically improve the look and performance of your file uploader, using the same upload technology that the internet giants use without the struggle of having to maintain it.

In a nutshell, here are some of the standout features of Filestack:

  • Filestack provides a beautiful and customizable file uploader UI that make a file upload from any source painless and intuitive.
  • The UI allows your users to upload files using drag and drop, copy and paste, or searching the computer’s hard drive.
  • Users can connect to a multitude of popular services such as Facebook, Instagram, Google Drive, Dropbox, and more, to upload files directly.
  • Users can also connect to their device cameras to instantly upload photos, videos, and audio files.
  • Custom connections and integrations can also be created to broaden your users’ options even more.
  • Once the file is selected, Filestack automatically generates a preview for the user to review.
  • Filestack’s advanced infrastructure uploads files as much as almost four times faster than standard interfaces.

How to add file uploads to your app!

Filestack’s documentation is extensive yet easy to navigate, understand, and implement. Here, we will give a brief rundown of how easy it is to get started.

Sign up for an account

You can start with a free plan to try it out, which allows 500 uploads, 1GB of storage, and 1GB of bandwidth per month. From there, pricing plans range from $59 to $359 per month.

Create an application and API keys

Once your account is created, access your Developer portal and create an application. Each application is given a public and a secret API key, each of which is used to authenticate and authorize operations on your resources. Each application has configuration settings that apply only to it, allowing you to assign specific settings for each of your use cases.

Set up the File Picker

Start by including the JavaScript SDK UMD module in your code:

<script src="//static.filestackapi.com/filestack-js/3.x.x/filestack.min.js"></script>

Configure the client with your API key:

const client = filestack.init(YOUR_API_KEY);
client.picker().open();

That’s it! It’s that simple! Of course, there are a variety of configurations you can add to your setup, but the default settings are quick and easy. For further information you can check out the documentation here.

Using the SDK with different languages

Filestack has client-side and server side SDKs, so you can use your language and application of choice. Choose from client-side apps such as JavaScript, React, Angular, Adaptive, and Swift, as well as server side languages such as Python, Ruby, Ruby on Rails, Go, PHP, and Java. More information can be found here.

Try Filestack in your next project

As you can see, it’s obvious why Filestack is the #1 developer service for file uploads. Not only is it the best service available, but Filestack will upgrade your user experience, security, and more, all in a quick, affordable, and easy to set up solution. While we can not recommend it enough, only you can decide what will work best for you and your projects, so be sure to check it out here next time you are working on a project that requires file uploads.

Detecting, Investigating, and Verifying Fixes for Security Incidents and Zero-Day Issues Using Lightrun

Important: You can use Lightrun for free on your servers.

I’m not a security expert. I’d like to think of myself as a security-conscious developer, but this is a vast subject with depth and breadth. What I understand are Lightrun and Debugging. In that capacity, I can show some creative ways you can use it as a security tool. A “proper” security expert could take this to the next level.

Split the Monolith: What, When, How

Overview

Monolith imageMonolith splitting has to chase some goals: not just splitting, but splitting to achieve some benefits. Some other ways, such as application scaling or database hardware update, may be preferable if considering the cost of splitting and possible benefits.

Another example of a benefit to achieve may simply be application modernization. Nevertheless, here is the more or less formal way to monolith splitting, which is trying to take into account the reason and goals of splitting.  Of course, this is not dogma, and you can find several approaches to splitting. This migration roadmap is designed to migrate monolith applications to microservices and get microservice benefits, without (or minimal) application unavailability.