Python: how to load all pages of the pdf file

I'm working with the code to summarize the text using BERT. I am stopped at the step "loading all pages of the pdf file to the program". My code below just loads only one page. Please help for the instruction. I am a new coder.

f= open('/content/Example.pdf', 'rb')
pdf = PdfFileReader(f)
page = pdf.getPage(6)
text = page.extractText()

Binance Announces Launch of Fast API

Binance, a cryptocurrency marketplace, has announced the release of the Fast API function, which is intended to help simplify common cryptocurrency integration tasks. This new API is generally available immediately, and users will need to reach out to the company for access. 

The company outlined the value of this new API in stating that it will allow users to:

Environmental variables different output depending on where you run it

Running some v basic scripts with environment variables so I dont have to hard code things like my api key or id. My code wouldn't run and was failing on authorising so either my id and/or key didn't work. So I just printed out the variables to see where it died.

import os
user = os.getenv('USER') 
tempLocation = os.getenv('TEMP') 
Id = os.getenv('MY_ID') 
Key = os.getenv('MY_KEY')

print(user) 
print(tempLocation) 
print(Id) 
print(Key)

But Im getting different responses depending on where the code is run. My output is below, the id and key have been altered for here but they are returning info. From WSL terminal Im only retuning my user name:

me 
None 
None 
None

But if I use the Jupyter interactive terminal in VS Code I get:

None 
C:\Users\me\AppData\Local\Temp 
xxxxxx 
1234567890abcdefg

I'd prefer to be able to just run the script from my WSL terminal cos that's quicker for things to run in the future, but without the env getting keys/site ID it's a bit of a pain.

ClassicPress On the Rocks: Directors Resign, New Leadership Installed

Recent turbulence in the ClassicPress community has resulted in the directors resigning and new leadership installed. The WordPress fork is run under a non-profit organization called the ClassicPress Initiative. It supports work on a pared back version of WordPress, based on version 4.9, that uses the TinyMCE classic editor as the default option with no block editor.

The project appeared to be on the rocks a week ago when its directors published their resignation with a call for replacements.

“Over the last few days it has become crystal clear that the community feels that the Directors of the ClassicPress Initiative are now hindering the progress of the ClassicPress Project,” former director Wade Striebel said.

“As such, Michelle and I have decided to resign our positions as part of the non-profit organization that oversees the ClassicPress community, the ClassicPress Initiative. This will allow others to step in and move the ClassicPress Project forward.

“Both Michelle and I have been here since the beginning of ClassicPress, back almost four years ago. While it is sad to be leaving the community we saw grow and evolve over time to be the most successful fork of WordPress in years, it is time for a new direction under new governance.”

ClassicPress’ monthly costs in 2021 averaged $99.74 USD with donations averaging $10.34 per month. When the directors announced their intention to resign, there was $352 in the bank account. The project published its 2021 profit/loss statement from its 2021 taxes.

Over the weekend Striebel identified Viktor Nagornyy, William Patton, and Tim Kaye as the initiative’s new directors.

Community financial support for the project does not seem strong, but the prospect of getting people to do the work of maintaining the fork in addition to managing its administrative overhead has been a greater challenge.

“We’ve had committees with elected members, we had team leads, and we ended up here because they failed to work, people failed to do the work they said they would, and disappeared,” new diretor Nagornyy said. “We reached this point after grueling four years, including pandemic.

“If we do the same thing again, we will end up with the same results. Nobody wants that. We want CP to succeed, so we need to make changes with community’s support and input. We don’t want to do it alone, we need community’s support. It’s a community project.”

Nagornyy published a new project plan today, confirming that the Classic Press Initiative will continue to be the owner of the project infrastructure.

“This ownership model eliminates any one individual from being in charge and prevents egos from getting in the way,” he said. “This model also provides limited liability to everyone involved.”

As the project is barely scraping by financially, Nagornyy identified fundraising as its top priority, along with cutting expenses, and simplifying server infrastructure. He was also adamant about not having the full responsibility of running the project fall on the directors again.

“We are not in favor of having a rigid committee (or ‘council) structure,” Nagornyy said. “ClassicPress did try the ‘committee’ approach between 2018-2020. Unfortunately, it did not work out as expected and caused frequent disagreements between the members. Voting on issues became divisive and was one of the primary reasons for project stalling.

“As members left or became less active with the pandemic in full swing, the committees were dissolved, and directors took on the responsibilities no one wanted to keep the project alive.”

ClassicPress appears to be in a tenuous position as its new directors assume responsibility for the organization. The project is struggling to get people to contribute and will need to hit its fundraising goals fairly aggressively to ensure individual members do not become financially responsible for its support.

“History should not repeat itself, and we must learn from it,” Nagornyy said. “Making decisions is worthless if those decisions cannot or are not acted upon. It is instead much more important that we focus on encouraging and facilitating people to actually contribute.”

Is DataOps the Future of the Modern Data Stack?

Before DevOps took the software engineering world by storm, developers were left in the dark once their applications were up and running. 

Instead of being the first to know when outages occurred, engineers would only find out when customers or stakeholders complained of “laggy websites” or one too many 503 pages. 

Help Test the Rollback Update Failure Feature Plugin Ahead of WordPress 6.1

Life-buoy in harbour” by Ashley Coates is licensed under CC BY-NC-SA 2.0.

The developers of the Rollback Update Failure feature plugin put out a call for testing over the weekend, with the aim of getting it included in WordPress 6.1. The goal of the plugin is to offer a safety mechanism in core for when updates or auto-updates fail. Instead of leaving the user’s site in a broken state, the rollback update failure feature will restore the site to a usable state.

Successful updates are the default experience for most WordPress users. The auto-updates team embraced the challenge of creating a fallback for users who experience the most common issues with updates, which include having a plugin folder’s content be get deleted and the plugin being no longer active, along with the scenario where a plugin cannot completely update, resulting in a PHP fatal message or “white screen of death.”

For the past 19 months, Andy Fragen, Colin Stewart, and Paul Biron have been leading development and testing. They settled on a solution that is awaiting feedback from core committers.

“It was determined that copying the current plugin to an alternate location and in the event of an update failure, copying it back into wp-content/plugins, would be the least resource intensive method,” Fragen said. “This does require one additional plugin copying operation and two if there is a update failure.”

The auto-updates team needs broad testing and feedback from people using different hosting companies at all price ranges. The process involves setting up a test environment with the WordPress Beta Tester plugin set to Bleeding edge and Nightlies, and the Rollback Update Failure plugin installed. Testers will then download old versions of a bunch of plugins and test single and bulk updates. A filter is available for forcing an update failure. Testers will be asked to record the time required to perform plugin updates.

More testing details and instructions are available in the call for testing post, with a few example results in the comments for reference. If the feature plugin gets enough broad testing, it may finally have the right timing and momentum to be committed for WordPress 6.1.

Great (and Free!) Web Development Books You Can Get Online

Right after “Where is the best place to learn?” perhaps the most commonly asked question I hear from folks getting into code is “What web development books should I get to learn?” Well, consider this an answer to that question as I’ve curated a list of books that are not only great for getting into front-end development but also freely available.

Books on CSS

This is the bulk of where we’re going to hang out because, well, this is a site mostly about CSS!

The Magic of CSS by Adam Schwartz

  • Perfect for: Next steps in your CSS journey
  • Learning level: Intermediate
  • Requires: Some basic understanding of CSS

Adam Schwartz covers six CSS concepts in this book, including the box model, layout, tables, color, typography, and transitions. These are things even stump some seasoned CSSers, some of these concepts might be confusing. Adam has gone to a great length to demystify each.

In addition to the book being a great primer on complex CSS concepts, I love how each of the CSS properties mentioned throughout the book is clickable so you can always click on them to see how each is applied. There are many illustrative examples and recommendations for further reading, should you desire to learn more about each chapter.

I found the chapter on colors very interesting not only because it gets into the best practices for using color accessibly, but also because there’s super practical applications, like when Adam gets into using CSS to support an organization’s branding.

Resilient Web Design by Jeremy Keith

  • Perfect for: Developing strategies for writing code
  • Learning level: Intermediate
  • Requires: Some basic understanding of CSS

Straight from the introduction:

You won’t find any code in here to help you build better websites. But you will find ideas and approaches. Ideas are more resilient than code. I’ve tried to combine the most resilient ideas from the history of web design into an approach for building the websites of the future.

What Jeremy does so well is describing soft skills, like planning, outlining, and approaches for writing code. So, rather than dropping in code snippets throughout the book, what you’ll find are details about code strategies, such as progressive enhancement, deciding on what tooling to use, and the challenges of writing future-friendly code.

And for those of you who have not had the pleasure of listening to Jeremy narrate content (like he does in the Web History series), there’s an audio file available to download.

Beginning CSS Web Development: From Novice to Professional by Simon Collison

  • Perfect for: The fundamentals of CSS
  • Learning level: Absolute beginners
  • Requires: Nothing but time and motivation

It may be written in 2006, but Simon’s coverage of web standards and accessibility is timeless and relevant today. He provides an understanding of interoperability as well as approaches for building web applications, including the early planning phases that often go overlooked.

The book has two broad parts which are further divided into 16 chapters. Part 1 covers CSS topics, like working with text, links, lists, backgrounds, images, tables, and forms. It really doesn’t skimp on the details either.

Part 2 is all about layout, shedding light on usability and layout manipulation, plus a handy case study. The chapters are arranged in such a way that one chapter naturally flows into the next. Each chapter also contains a concluding section that highlights all the important concepts covered in the chapter.

Indeed, the book provides novice developers a solid background in CSS and helps them gradually with more advanced concepts. It will make your CSS journey easier.

Books on HTML & CSS

CSS and HTML are often taught together, which can be especially helpful when you’re writing your first lines of code and want to know how the two languages interact with one another.

Learn to Code HTML & CSS by Shay Howe

  • Perfect for: Starting your front-end journey
  • Learning level: Beginners
  • Requires: No prior experience at all

Shay refers to this book as a simple and comprehensive guide dedicated to helping beginners learn HTML and CSS. He does this by focusing on common elements of front-end design and development. Some of the lessons covered are Box Model, Positioning, Typography, Background and Gradients, Lists, Media, Forms, and Tables. In the first chapter *Building Your First Web Page, Shay analyzed the contents of a typical website including elements, attributes and setting up the HTML document structure, code validation, selectors and CSS resets. I find the book very instructive especially as it went beyond the surface to address many key concepts with code samples, which you can follow along.

One profound thing about this great book is that, Shay built a complete project from scratch throughout the 12 lessons and at the end of each lesson, he provided a summary and links to the current state of that website (so you can compare with yours if you follow along) and the source code at every stage of the lessons.

If you’re a learner who learns by doing, you will find this material very useful and by the time you’re done, you will have developed a multi page functional website.

An advanced sequel of the course is also available free via the same link.

HTML & CSS: Learn the Fundamentals in 7 Days by Michael Knapp

  • Perfect for: Starting your front-end journey
  • Learning level: Beginners
  • Requires: No prior experience at all

Can you possibly learn everything there is to know about the HTML and CSS in seven days? Probably not, but that’s why this 2017 book by Michael Knapp is focused straight on the fundamentals. Michael delves into a brief history lesson before launching into HTML and CSS structure, logic, and presentation. You’re going to get all up to speed to the point where you should feel pretty confident about putting a basic webpage together, plus a few extras along the way as the book touches on SEO and analytics.

The book is comprised of simple programs that you can run on your computer if you wish to follow along.

The ebook version is available for free on Apple Books, but there is a Kindle version as well if you already have a subscription there.

The Greatest CSS Tricks Vol. 1 by Chris Coyier

  • Perfect for: Marveling at what CSS can do
  • Learning level: Intermediate
  • Requires: Some CSS experience

Did you know that CSS-Tricks has a book on CSS too? It would be silly to leave that off this list because what you get is a collection of classic CSS trickery that’s explained by none other than Chris Coyier. In fact, Chris handpicked all of the examples covered in the book from his many, many (many!) years running this here site from the plentitude of tricks that have crossed his desk.

Each trick solves a particular pain point. For instance, the first “Pin Scrolling to Bottom” trickdemonstrates how the overflow-anchor CSS property can be used to create the same chat-like interface of a tool like Slack, where the screen is anchored at the bottom in a way that feels as though the page is scrolling for you as new items are added.

Books on process

Code is just as much about how we write code and collaborate on projects with others as it is about the actual code we write. The following books are great starting points for everything from planning and project management to communicating and collaborating with others.

Collaborate: Bring People Together Around Digital Projects by Ellen De Vries

  • Perfect for: Being a better collaborator
  • Learning level: N/A
  • Requires: An open mind to working well with others!

Ellen addresses something in this book that we all have to deal with: collaborating with others. And it’s no small deal — the book is divided into four parts that go super deep into things we can go to work well with others:

  • Know how to prepare the ground and create the right conditions for collaboration.
  • Nurture the group culture in the early stages of collaboration.
  • Maintain a healthy collaborative process.
  • Reap the rewards of a collaboration.

As a content strategist, Ellen has the right kind of experience to help anyone be part of a collaborative project, or get the most from a collaboration.

The Modern Web Design Process by webflow

  • Perfect for: Senior designers, project managers
  • Learning level: N/A
  • Requires: Some basic understanding of CSS

This free ebook features a seven-step design process that’s meant to help define the workflow for today’s brand of web design.

That includes:

  • Setting goals
  • Defining scope
  • Sitemaps and wireframes
  • Working with content
  • Handling visual elements
  • Testing
  • Shipping

Anyone starting a new design project or in the middle of a design project will find the invaluable insights throughout the book. And what’s most remarkable is how this is written in a way that almost feels as though you are being hand-held through an entire project from concept to completion.

Designing for the Web by Mark Boulton

  • Perfect for: Learning to work with clients
  • Learning level: Beginners
  • Requires: A genuine interest in design

It seems many organizations tackle design differently. But author Mark Boulton documents a thorough design workflow in Designing for the Web that de-mystifies many challenges and covers everything you need to know.

What’s unique about this book is that it’s really about work. Sure, there’s a bunch of hugely valuable information on design best practices for things like typography, color, and layout, but what you’re really going to take away from this book is how these fit into a design workflow. It teaches you how to research, the technologies we have to implement ideas, and ultimately, how to work with others as well as clients — perfect fodder for folks including design leads, project managers, freelancers, or anyone who’s involved in the project delivery process.

Learn Version Control with Git by Tower

  • Perfect for: Mastering Git
  • Learning level: All levels welcome
  • Requires: No prior knowledge at all

In this book, the team behind the popular Tower client for Git introduce learners to the crux of version control system using Git. Developers who work in teams will particularly find this very useful, as it helps in effectively collaborating with team members building different features of a project even when you’re thousands of miles apart. That said, it’s still really great for anyone who might be shy of the command line and wants to build confidence there.

And since the book is by the maker of an application that interacts with Git, you’re going to get a nice dose of using Tower as a GUI in addition to working directly on the command line.

So, whether it’s committing, branching, merging, pull requests, forking work, or handling merge conflicts, you’re going to get a whole lot from this book.

Books on JavaScript

Learning JavaScript always seems to be en vogue. In fact, Jason Rodriguez wrote about the JavaScript learning landscape in 2018 and provided a nice list of free books. Not too much has cropped up since then, but here are my thoughts on the following books.

Eloquent JavaScript by Marijn Haverbeke

  • Perfect for: Getting better at writing JavaScript
  • Learning level: Intermediate to seasoned developers
  • Requires: Prior JavaScript experience

Eloquent JavaScript really lives up to its name. Personally, I consider this one of the best-written JavaScript books I have ever come across. Marjin’s writing style is engaging, especially with how he introduces programming concepts and carries the reader along. In his words, the book is simply about instructing computers and making them do what you want them to do.

The book is a deep dive into JavaScript spread across three parts and 21 chapters. You’re going to read a bunch about basic programming concepts, such as values, types, operators and functions, to advanced concepts like regular expressions, modules, the DOM, and asynchronous programming. He starts every chapter with a somewhat philosophical quote to prepare the reader for what lies ahead and then dives straight into the topic.

Plus, there’s three projects to help you practice your newfound skills.

Understanding JavaScript Promises by Nicholas C. Zakas

  • Perfect for: Those who want to learn all about asynchronous programming with promises in JavaScript.
  • Learning level: Intermediate
  • Requires: Basic JavaScript chops

JavaScript promises were introduced in 2015 as part of the ES6 specification to handle asynchronous functions in JavaScript. According to MDN:

A promise is an object representing the eventual completion or failure of an asynchronous operation

In this 51-page book, Nicholas explains the concept of Promises over three chapters: Basics, Chaining Promises, and Working with Multiple Promises. Although the link to the book we’re providing is the free community version, the full version (available on Amazon) has two more chapters on Async Functions and Unhandled Rejection Tracking. Nicholas simplified the concept of Promises with several illustrations and examples. You will learn how to use then(), catch(), and finally() and understand how to chain multiple promises together. Nicholas also covers the assignment of rejection and settlement handlers. You may want to give the book a read to solidify your understanding of the topic.

Nicholas is a veteran JavaScript book author who has been writing about JavaScript for over 15 years. He brings his wealth of experience to bear in this book (just as he has in his work here at CSS-Tricks).

Speaking JavaScript by Alex Rauschmayer

  • Perfect for: Leveling up from beginning JavaScript
  • Learning level: Intermediate
  • Requires: Knowledge of object oriented programming

This book is presented in four chapters covering more than 30 topics. Here’s how it breaks down:

  1. The first chapter is a nice refresher on syntax, variable types, functions and exception handling.
  2. The second chapter offers historical perspective into JavaScript as a prelude for the types of features covered throughout the rest of the book.
  3. Chapter 3 is presented as more or less a reference book with short, clean examples.
  4. The final chapter outlines tips, tools and libraries to help write better JavaScript and follow best practices.

Secrets of the JavaScript Ninja by John Resig and Bear Bibeault

  • Perfect for: Creating a cross-browser JavaScript library from the ground up
  • Learning level: Intermediate
  • Requires: Some prior programming experience

There’s actually a newer edition of this book, but the 2012 edition is the one that’s free. Either way, it’s a good opportunity to learn from John Resig; you know, the guy who created jQuery.

The techniques covered here include closures, functions, the DOM, object orientation with prototypes, and cross-browser strategies. One nice perk is that each chapter is followed by a brief recap that’s perfect for a reference once you’ve finished the book.

Learning JavaScript Design Patterns by Addy Osmani

  • Perfect for: Learning to write more efficient JavaScript
  • Learning level: Intermediate
  • Requires: A decent level of JavaScript experience

The concept of design pattern refers to a reusable solution to a commonly recurring problem in application development. In this book, Addy Osmani covers the implementation of common design patterns using ES6 and beyond, as well as React-specific design patterns, which can be super handy when working on complex React apps where maintainability is a primary goal.

Some of the patterns covered include Singleton, Proxy, Provider, Prototype and Observer patterns. In some cases, Addy includes pros and cons of using some of these patterns and how they may affect the performance of your application.

You Don’t Know JS by Kyle Simpson

  • Perfect for: Mastering JavaScript
  • Learning level: Beginner
  • Requires: Little or no prior programming experience

While the title might be a bit provocative, what Kyle is implying here is that he writes this book assuming you have no prior JavaScript experience whatsoever.

Kyle begins starts by going through the rudiments of programming as seen through the lens of JavaScript. He then proceeds, in subsequent chapters, to introduce more advanced concepts like scope and closure, the this keyword, object prototypes, async, and performance.

There’s a lot of excellent details and explanations in here, and Kyle makes it super easy to understand by avoiding super technical jargon. There is also many exercises designed to reinforce your learning. This book will definitely get you up to speed with JavaScript. There’s second edition of the book in the works that you can track in GitHub.

The JavaScript Beginner’s Handbook by Flavio Copes

  • Perfect for: A beginner’s reference
  • Learning level: Just getting started
  • Requires: Email sign-up, maybe some prior experience

Flavio has put together a very useful JavaScript reference for those just starting out. It’s more like a quick reference guide than a textbook, so those of you just starting out might want to consider this as something you keep on your desk rather than something you sit with for long periods of time.

JavaScript for Data Science by Gans, Hodges & Wilson

  • Perfect for: Getting into data visualizations
  • Learning level: Intermediate to advanced
  • Requires: A decent handle on JavaScript

The authors cover core features of modern JavScript, including callbacks, promises, inheritance, objects and classes. They also get into testing using Mocha, React, and data vizualization, all of which are great for anyone looking to level up their code and how its written. The book doesn’t get as deep into many the concepts as some of the other books, but it really shines when it gets into data science.

The book uses Data-Forge; a JavaScript library designed for working with tabular data. There are numerous exercises to help readers keep up to speed with the subject of discussion. The last chapter also includes a capstone project that pulls everything together.

Wrapping up

I sure hope this collection of books help you, whether you’re taking your first steps in front-end web development, have a dozen years under or belt, or you fall somewhere in between. I know how hard it is to get into something new for the first time and the feeling of not knowing where to look. I also know how it feels to hit a plateau and need something to level me up. There should be something for everyone here, regardless of where you are in your learning journey.

And, hey, if you have any other books that are available to snag for free online, please share them in the comments! I bet we can get an even bigger list going.


Great (and Free!) Web Development Books You Can Get Online originally published on CSS-Tricks. You should get the newsletter.

Demystifying The New Gatsby Framework

After the release of Gatsby 4, the Gatsby team saw the biggest rise in signups on Gatsby Cloud. According to Gatsby co-founder Kyle Mathews:

“Gatsby 4 is the most powerful version of Gatsby yet. We’ve made Gatsby 10x faster to build and deploy by opening up two new rendering modes, adding support for Parallel Query Processing, and making a host of other optimizations and improvements.”

— Kyle Mathews

Until a few months ago, Gatsby.js was best suited to make not-so-big Jamstack websites, but with the release of Gatsby 4, how well does Gatsby work with big and rapidly-changing pages? And how will it compare to other frameworks like Next.js? We will hopefully answer these questions in the next article!

New Gatsby 4 Features

Gatsby 3 had a lot of useful features, and it stood out among other pre-rendering frameworks due to being extremely fast when using Static Site Generation. However, it lacked the tools of other frameworks — mainly Next.js — to render pages on request using Server-Side Rendering. Gatsby heard its community, and besides a lot of optimization features, Gatsby 4 brought two more rendering options: Deferred Static Generation (DSG) and the good old Server-Side Rendering (SSR).

Deferred Static Generation (DSG)

One of the problems that a lot of people had with Gatsby was its very long build times. When using SSG, building the pages and all the heavy lifting had to be done on the server, which led to longer build times as pages in your site grew. To solve this, Gatsby started to use incremental building only to build new or changed pages and keep the other ones in the cache. However, the first build without cache always took a long time to finish. The incremental building is very helpful, but it didn’t tackle the roots of the problem, and that’s where Deferred Static Generation comes in.

Deferred Static Generations is very similar to what SSG achieves, but it is more efficient and has a different method of delivering pages. In DSG, you can choose pages to “delay,” which means not to build with the rest of the pages but once a user requests them. After the first request, the page will be available in the CDN and will be the same as any other page generated with SSG. This is very useful when a site has old and unvisited pages that aren’t worth building on each production build.

If you are worried that DSG can tank your page’s SEO, remember that pages built using DSG only behave as a Server-Side Rendered the first time they are requested, and then they act just like any other SSG page. So, according to Gatsby, your page will act as an SSG 99.9% of the time, and Google will analyze its SEO that way.

As you may notice, DSG requires a running server to listen for user requests and build the requested page for every other user onwards. It is a game-changing feature in Gatsby since Gatsby was known for being a server-less SSG framework, but now you can combine SSG with other rendering options involving a server. Even though it changes the backend structure — only if you use DSG or SSR — it gives developers more flexibility to work with Gatsby.

Server-Side Rendering (SSR)

If DSG uses a server to work, does that mean that Gatsby can use a server to render all pages on request time? Absolutely yes. This was the most long-awaited feature in Gatsby and the only one that made a lot of developers choose other pre-rendering frameworks over Gatsby. In case you don’t know, Server-Side Rendering consists in building a page each time a user requests it. And it’s very useful when the page content depends on the user that requested it, so we can deliver a static and customized page to each user.

SSR is a well-known feature used daily in frameworks like Next.js, which Gatsby finally implemented. Now developers using Gatsby have an enormous range of options to deliver pages to users, either with Static Site Generation, Deferred Site Generation, Server-Side Rendering, or even — if you are brave enough — with Client-Side Rendering.

Parallel Query Running

Besides the new rendering options, Gatsby still brings a lot of other features to improve performance and developer experience. As previously mentioned, one of the major drawbacks JAMstack and static sites had was their long building times. In addition to incremental building and DSG, Gatsby 4 introduces Parallel Query Running to diminish build time even more.

As you may know, Gatsby uses a data layer to group external data and then query it onto your site. Sourcing the data from your content sources into the data layer is relatively easy and fast. However, the process of querying the data from the data layer and querying it into the pages is pretty time-consuming. This step is called query running, which happens in the middle of the build and is the longest by far, taking around 40% of the build time.

Query running only was able to use one of the cores of the CPU, so all the queries had to be done one at a time. But in Gatsby 4, the entire way data was handled was changed since it migrated from Redux to its own in-memory data store and switched to lmdb-js.

“Lmdb-js is an ultra-fast NodeJS and Deno interface to LMDB; probably the fastest and most efficient key-value/database interface that exists for storage and retrieval of structured JS data.”

With this new architecture, all queries can be done across all available cores, which leads to immensely faster build times.

Build Time Optimization

Lastly, both a little and big change that may pass unnoticed between all the prior features is all the configurations and tweaks made to improve build times. One of the major reasons build times and even developer server starts were slow was due to an incorrect configuration of the local development environment or when Gatsby’s sites were deployed anywhere other than Gatsby Cloud.

The Gatsby team has changed several critical parts of Gatsby’s infrastructure across Gatsby 3 minor updates and is now in Gatsby 4 to reduce build and development times. I consider reducing development times a key change to enhance developer experience since it becomes tedious to restart and wait for the developer server each time you make a change that requires a restart to take effect.

Gatsby Cloud

What’s Gatsby Cloud

Even though Gatsby is known for being a framework, the Gatsby team offers other great products like Gatsby Cloud. Gatsby Cloud is a deployment service with an edge network dedicated uniquely to deploying Gatsby sites in a matter of minutes. It has been around for a long time and is very similar to Netlify. The service has been optimized only to build and host Gatsby sites, which means you can’t host Next.js, Vue, Angular, or Vanilla JS sites, but in exchange, Gatsby Cloud offers greatly faster build times for Gatsby sites.

Configuration

The main advantage of using Gatsby Cloud to host your Gatsby project is the little to no configuration you need to start hosting it. It can host and run a Gatsby Project without configuration and supports all Gatsby’s new rendering features and more out of the box. As long as they are declared in your code, the server won’t have problems understanding and hosting your project. So, if you want to migrate from Gatsby 3 to 4, you may consider switching to Gatsby Cloud for your migration.

Build And Deployment Time

As said before, a lot of people didn’t prefer Gatsby due to its long build times. But Gatsby Cloud brings even more features to make build times faster, and it has been configured to use all optimization features like incremental buildings, parallel querying, caching, and support pages using DSG to the point where a CMS update from Contentful on Gatsby’s 10,000-page site took around 10 seconds on average.

Besides build time, another aspect that has been drastically improved with Gatsby Cloud is deployment time. Deployment time is the time it takes to push your site onto the edge of the CDN, and it accounts for the final time between triggering a build and releasing your site to the world. It can take as much time as build time, to the point that deployment times for a medium-size static site of around 10,000 pages can take 2 to 10 minutes. But the same medium-size site takes, on average, a surprising 2-5 seconds in Gatsby Cloud.

Workflow

Similar to Netlify, Gatsby Cloud workflow is based on Github, Gitlab, or BitBucket repositories. Gatsby Cloud fetches a Gatsby project from a repository, builds the site, and/or runs the server. And like many other services, you can enable automatic deployment when a branch changes in your repository. In case external data from a source like a CMS changes, Gatsby Cloud offers a build webhook to trigger a production build.

Other small workflow features I really liked were:

  • Previewing
    It lets you create a preview site with all your changes and a shareable URL.
  • Lighthouse Support
    It gives you a Lighthouse report every time a build is finished.

Gatsby Functions

Lastly, we will see Gatsby’s serverless functions in action. They aren’t completely part of Gatsby Cloud since they can be deployed in Netlify too, but deploying Gatsby Functions is more straightforward in Gatsby Cloud. Now, what are Gatsby’s Functions? In simpler terms, they let you add an express-like backend to your Gatsby project to create an API, authenticate users, or submit forms.

Why would I want to create a backend in my Gatsby project? Most Gatsby use cases don’t require creating a backend or API. Still, in cases where there is more than one frontend application using the same data, it is a very good idea to decouple your data from your main frontend and make it accessible through an API, so it is accessed the same way with the same logic through all frontends. The power of Gatsby Functions is to have your backend hosted in the same place as your frontend, but they communicate headlessly through an API.

Gatsby Cloud vs. Netlify

After seeing all the features offered by Gatsby Cloud, there isn’t a decisive factor in choosing one over another. Both of them offer pretty similar services and functionalities, and they come in a free tier, too. The main difference is that you can only host a Gatsby project in Gatsby Cloud, but with Netlify, you can host projects using almost any library or framework you want, such as Next.js, create-react-app, Vue, Angular, etc. So, in case you want to host a Gatsby project, I would recommend Gatsby Cloud since it is amazingly optimized and guarantees good results.

Gatsby 4 vs. Next.js

In the SSR ecosystem, the clear dominant player has been Next.js, and many comparisons between Gatsby and Next.js ended by saying that Next.js offered SSR and Gatsby did not. And even though Gatsby was still extremely useful and effective, the fact that it didn’t support SSR was a decisive factor when choosing a framework to use. But the introduction of Gatsby 4 changed the game completely.

Since this article is dedicated to Gatsby’s new features, I will try not to focus too much on Next.js features. Still, I will say that Next.js and Gatsby currently offer similar functionality, and we can achieve almost the same results with both frameworks. However, there are still a lot of factors and features to consider when choosing one framework or the other. Gatsby offers features that Next.js doesn’t, like Deferred Static Generation, a data layer, and an enormous plugin library. On the same note, Next.js offers Incremental Static Regeneration and Server Components which is currently on alpha.

You can achieve the same user experience with both frameworks, and they will help you make beautiful websites. So, to choose a framework, I strongly believe the developer experience is the decisive factor. I feel Gatsby offers a better DX due to its awesome data layer that lets developers source their data and keeps it all in the same place, so it can be queried the same way. Another reason is its plugin library, which lets you add out-of-the-box support to CMS, internalization, e-commerce, analytics, offline support, et cetera. These are life-saving features that have helped me quickly start working on a new project.

Conclusion

After seeing all the new features of Gatsby 4, we can confidently say that the future of Gatsby is already looking great! It is clear that the Gatsby team has been pretty self-critical and has heard its community since all Gatsby 4 features were wanted by the community for a long time. Therefore, I am pretty confident that Gatsby will keep following this path, and we will have many other cool features in the future.

Even though I might sound like a Gatsby salesman, I don’t consider it the best framework, just one that is completely worth experimenting with. Next.js is vastly more used among the SSR ecosystem, and the community believes it gives a better developer experience than Gatsby, but with Gatsby 4 this trend may change a little. It isn’t putting Next.js out of business any time soon, but thanks to its new rendering options, Gatsby 4 will clearly be on your list of frameworks to try out on your next project.

Volumetric Light Rays with Three.js

In this new ALL YOUR HTML coding session we’ll be decompiling volumetric light rays and recreating them with fragment shaders and Three.js.

Original website: https://moonfall.oblio.io/desktop/

Agency: https://oblio.io/

This coding session was streamed live on June 19, 2022.

Check out the live demo.

Support: https://www.patreon.com/allyourhtml

Setup: https://gist.github.com/akella/a19954…

The post Volumetric Light Rays with Three.js appeared first on Codrops.

Invalid Sql query. Expected insert, delete…

My code is this.

Dim strSQL As String, strSQL2 As String
Dim db As Connection, rst As ADODB.Recordset
Set db = New Connection
db.CursorLocation = adUseClient
db.Open "PROVIDER=Microsoft.Jet.OLEDB.4.0;Data Source=C:\River Syde RMS\RiverSyde.mdb;"

strSQL = "SHAPE {SELECT * FROM Sales where Date1=#" & DTPicker3.Value & "#"
    Set rst = New ADODB.Recordset
If rst.State = adStateOpen Then
        rst.Close
    End If

    'db.Open
    rst.CursorLocation = adUseClient
    rst.LockType = adLockOptimistic
    rst.CursorLocation = adUseClient
    rst.CursorType = adOpenStatic

If rst.State = adStateOpen Then rst.Close

rst.Open strSQL, db, adOpenStatic, adLockOptimistic
Set DataReport1.DataSource = rst

With DataReport1.Sections("section1").Controls  ' Group header section
    .Item("Text1").DataField = "PayMode"
End With

With DataReport1.Sections("section1").Controls  ' Detail section
    .Item("text2").DataField = "Last Name"
End With

DataReport1.Show

How to Automatically Publish from WordPress to Instagram

Do you want to automatically publish from WordPress to Instagram?

Instagram is one of the largest social media sites in the world with about a billion active users. By sharing your blog posts to Instagram, you can reach more people and get them to visit your website.

In this article, we will show you how you can automatically post to Instagram whenever you publish a new WordPress post.

How to automatically publish from WordPress to Instagram

Why Automatically Publish From WordPress to Instagram?

As one of the largest social media websites in the world, many WordPress website owners use Instagram to connect with potential new readers, website visitors, and customers.

Once you have some followers on Instagram, you can use this social networking site to promote your WordPress blog. Every time you publish a blog post, it’s a good idea to let your Instagram followers know about your new content.

To make your blog post stand out on Instagram, you’ll need to add an eye-catching image and an interesting caption. While Instagram doesn’t allow clickable links in captions, you can link to your blog from your Instagram bio, so your followers can easily find your latest posts.

You can also add a link in bio page which lets you showcase more than link to your Instagram bio.

Since running an engaging Instagram account takes time and effort, you can save some of that time by automating the process of publishing to Instagram automatically.

That being said, let’s see how you can automatically post to Instagram whenever you publish a new WordPress blog post.

Automatically Publish from WordPress to Instagram

Uncanny Automator is the best WordPress automation plugin that helps you create automated workflows without having to write code.

It connects with more than 80 plugins and third-party apps, so you can build smart automation workflows that saves you time. For example, you can integrate Slack with WordPress, create a workflow that automatically posts to Facebook from WordPress, and much more.

The free version of Uncanny Automator comes with over 100 automation triggers and actions.

In this guide, we’ll be using the free version, so you can automatically publish from WordPress to Instagram even if you’re on a tight budget and just getting started. If you want to build more powerful and advanced workflows, then Uncanny Automator Pro includes over 400 triggers and actions.

The first thing you need to do is install and activate the Uncanny Automator plugin. For more details, see our step by step guide on how to install a WordPress plugin.

Upon activation, go to Automator » Settings. Then, simply click on ‘Connect your site.’

Adding a license to Uncanny Automator

Uncanny Automator will now ask whether you want to upgrade to get more credits, triggers, and actions. If you do want to upgrade, then click on the ‘Upgrade to Pro now…’ button and follow the instructions to buy Uncanny Automator Pro.

If you want to automatically publish from WordPress to Instagram using the free version of Uncanny Automator, then simply click on ‘Connect your free account.’ You can always upgrade to Uncanny Automator Pro at a later date.

The Uncanny Automator setup wizard

Uncanny Automator will now show a popup where you can create an account by typing in your name, email address, and the password that you want to use. After typing in this information, click on ‘Sign Up.’

After a few moments, Uncanny Automator will show a message confirming that you’ve set up the plugin.

Next, you need to click on ‘Return to dashboard.’

The Uncanny Automator setup wizard

Before you can start automatically publishing from WordPress to Instagram, you’ll need to connect your Instagram account to Uncanny Automator.

Note: To post automatically, you’ll need an Instagram Business account that’s connected to a Facebook page for your business. Don’t already have an Instagram Business account? The good news is that it’s free. Here’s Instagram’s guide on how to convert a standard account into an Instagram Business account.

To connect Uncanny Automator to your Instagram account, go to Automator » Settings. Then, click on the ‘Premium integrations’ tab.

Uncanny Automator's premium integration

In the left-hand menu, go ahead and click on ‘Instagram.’

Since Instagram is owned by Facebook’s parent company, you’ll need to connect to the Facebook page that’s linked to your Instagram Business account.

To get started, click on the ‘Connect Facebook Pages’ button.

Connecting Uncanny Automator and Facebook

Uncanny Automator will now guide you through the process of connecting to your Facebook page. Once you’ve done that, Uncanny Automator will ask you to select the Instagram account that you want to use.

After choosing an account, you’ll need to select the actions that Uncanny Automator can take, and the information it can access on Instagram. Since we want to automatically publish from WordPress to Instagram, you’ll need to enable the first two options:

  • Access profile and posts from the Instagram account connected to your Page.
  • Upload media and create posts for the Instagram account connected to your Page.

After that, go ahead and click on the ‘Done’ button.

Instagram's permission settings

Once you’ve done that, Uncanny Automator will take you back to the WordPress dashboard.

You should now see that Uncanny Automator is connected to your Instagram account.

Connecting Uncanny Automator and Instagram

The next step is creating the workflow that will automatically publish from WordPress to Instagram. Uncanny Automator calls these workflows ‘recipes,’ and they’re made up of actions and triggers.

To build a recipe, go to Automator » Add New.

On this screen, you’ll be asked to select whether you want to create a ‘Logged-in’ recipe or an ‘Everyone’ recipe.

Blog posts can only be published by a user who has a WordPress account. With that in mind, click on ‘Logged-in users.’ Then, just click on the ‘Confirm’ button.

Creating a logged-in users recipe

You can now start to build your Uncanny Automator recipe.

First, you’ll need to add a title by typing into the field that shows ‘Add Title’ by default.

We’ll call the recipe ‘Automatically Publish from WordPress to Instagram’, but you can use anything you want.

Creating a recipe to automatically post to Instagram

Next, you need to define the condition that will trigger the action. For our recipe, the trigger is someone publishing a new blog post.

To add a trigger, simply click on the WordPress button in the Triggers section.

The WordPress automated workflow triggers

You’ll now see a list of all the Uncanny Automator triggers.

In the ‘Search for triggers’ field, start typing the following: ‘A user publishes a type of post with a taxonomy term in a taxonomy‘.

When the right trigger appears, click on it to add it to your Uncanny Automator recipe.

Automatically posting from WordPress to Instagram

Next, you’ll need to decide the type of content that will trigger the recipe. Simply click on the Post Type dropdown and then choose between post, page, media, or any post type.

Since we want to post to Instagram every time someone publishes a new blog, you’ll typically want to click on ‘Post.’

Creating an automated workflow for Instagram

At this point, you can tell Uncanny Automator to only run this recipe for posts that have a certain category or tag. For example, you may only want to automatically post when a blog has the ‘announcement’ tag.

This gives you more granular control over the content that gets published to your Instagram account, while still getting the time-saving benefits of an automated workflow.

To limit this recipe to a specific tag or category, open the ‘Taxonomy’ dropdown. Here, you can click on either ‘Category’ or ‘Tag’

Adding categories and tags to an automated workflow

Once you’ve done that, click on the ‘Taxonomy term’ dropdown.

You can now click on any of the categories and tags to add them to your recipe.

Choosing a tag in Uncanny Automator

When you’re happy with the information you’ve entered, click on ‘Save’ to save your changes. Uncanny Automator will now show a summary of the action that will trigger your recipe.

The next step is choosing the action that will happen every time you publish a new WordPress post. Start by clicking on the ‘Add action’ button.

Automatically publish from WordPress to Instagram with Uncanny Automator

Uncanny Automator will now show all the plugins and apps that you can use for the recipe.

You simply need to find ‘Instagram,’ and give it a click.

Connecting Instagram to WordPress

Once you’ve done that, click on the ‘Search for actions’ field. In this field, start typing in ‘Publish a photo to an Instagram Business account.’

When the right action appears, click to add it to your recipe.

Automatically publish a photo to Instagram

You’ll now see a new set of controls.

To start, we need to specify the image that Uncanny Automator will post to Instagram every time you publish a new WordPress post.

Sometimes you may want to use the same image for every post. For example, you might have used image editing software to create a special image advertising your website.

To use the same image every time, either type or copy/paste the image’s URL into the ‘Image URL or Media library ID’ field.

Adding an image URL to your automated workflow

To get an image’s URL, simply find the image in your WordPress media library.

You can then copy the value in the ‘File URL’ field, as you can see in the following image.

The WordPress media library

Another option is to use a different image for every WordPress post, so you’re not posting the same image to Instagram over and over again.

Every time you publish a blog, Uncanny Automator can post the blog’s featured image to Instagram. If you need help adding featured images to your posts, you can see our guide on how to add featured images or post thumbnails in WordPress.

To post the blog’s featured image to Instagram, click on the asterisk button next to the ‘Image URL or Media library ID’ field.

Post a featured image to Instagram from WordPress

Then, simply click on the ‘Search token’ field and start typing ‘post featured image URL.’

When the right token shows up, give it a click to add it to your recipe. Now, Uncanny Automator will get the post’s featured image and post it to Instagram automatically.

The next step is typing in the caption that Uncanny Automator will add to the Instagram post.

One method is to simply type text into the ‘Caption’ box, such as ‘We just published a new post. Read all about it on our blog!’ Uncanny Automator will then use this caption for every single Instagram post.

Posting a caption to Instagram automatically

Another option is to add tokens to the caption. Similar to dynamic text, Uncanny Automator will replace the token with a unique value that it gets from the blog post, such as the post’s title or URL.

This allows you to create more engaging and interesting captions, instead of posting the same caption over and over again.

To see all the different tokens that you can use, go ahead and click on the asterisk button.

In the dropdown menu, find ‘A user publishes…’ and then click on the arrow next to it.

Uncanny Automator's tokens

Now, find the token that you want to add to your caption, and click on it.

To create more interesting and helpful captions, you may want to use a mix of plain text and tokens, as you can see in the following image.

A mix of plain text and tokens

When you’re happy with your recipe, click on the ‘Save’ button.

The final step is activating the recipe so that it will start automatically publishing from WordPress to Instagram.

To publish your automated workflow, find the ‘Recipe’ section towards the right side of the screen. Then, simply click on the slider to turn it from ‘Draft’ to ‘Live.’

Publishing an automated workflow in WordPress

Now every time someone publishes a new blog on your WordPress website, Uncanny Automator will make a new Instagram post automatically.

How to Get More Out of Your Instagram Feed

Automatically publishing your blog posts to Instagram is a great way to keep your Instagram content fresh and updated.

To get more attention to their Instagram accounts, often professional bloggers and online store owners will embed their Instagram feed on their websites.

This helps you add social proof, keep visitors longer on your site, increase engagement, and even boost sales.

The easiest way to embed Instagram feeds on WordPress is by using Smash Balloon Instagram Feed. It is the best Instagram plugin for WordPress and allows you to add Instagram content to your website automatically.

There’s a free version of the Instagram plugin that’s used by over 1 million websites.

Embedding an Instagram feed in WordPress

You can use Smash Balloon to customize exactly how your Instagram feed will look on your website, and the content it shows.

You can even sort feeds based on Instagram hashtags, show likes and comments, create a custom Instagram photo feed in WordPress, and more using its simple editor.

The Smash Balloon social plugin

After creating your feed, you can add it to any page, post, or widget ready area simply by using the Instagram Feed block.

For more details, see our guide on how to easily embed Instagram in WordPress.

We hope this article helped you learn how to automatically publish from WordPress to Instagram. Next, you can see our guide on how to embed a Facebook video in WordPress, or see our expert pick of the best social media plugins for WordPress.

If you liked this article, then please subscribe to our YouTube Channel for WordPress video tutorials. You can also find us on Twitter and Facebook.

The post How to Automatically Publish from WordPress to Instagram first appeared on WPBeginner.

Ambee Announces API to Support Its Pollen Tracking Services

As per AAFA (Asthma and allergy foundation of America), more than 50 million people have various types of allergies each year and it is the sixth leading cause of chronic illness. Pollen affects human well-being with different seasonal allergies and respiratory ailments, making it extremely important to track, says Ambee's co-founder, Madhusudhan Anand. "The problem is, it requires a complex methodology to gather accurate results.

How to Disable Gravatars in WordPress

Do you want to disable Gravatars in WordPress?

WordPress uses Gravatars to display user profile photos or Avatars. It is a third-party service that allows users to have the same profile photo on different websites.

Gravatars are highly useful, particularly in WordPress comments. However, some users may not want to use Gravatars at all.

In this article, we’ll show you how to easily disable Gravatars in WordPress. We’ll also show you how to use local avatars instead.

Turn off Gravatars in WordPress

Why Disable Gravatars in WordPress

Gravatars are a third-party service that allows users to add a profile photo to their WordPress website and use it across the internet.

Basically, you create an account and then upload your profile photo.

Managing Gravatar profile

After that, whenever you use that particular email address on a website that supports Gravatar, it will automatically show your profile photo from the Gravatar website.

To learn more see our explainer, What is Gravatar and why you should use it.

However, some website owners may not want to use Gravatars for several reasons.

For instance, they may want to turn it off to improve website performance and speed.

Similarly, some site owners may not want to use Gravatar due to privacy concerns.

That being said, let’s take a look at how to easily disable Gravatars in WordPress.

Disabling Gravatars in WordPress

WordPress makes it super easy to customize or turn off Gravatars on your website.

First, you need to login to the admin area of your website and then go to the Settings » Discussion page.

From here, you need to scroll down to the Avatars section and uncheck the box next to ‘Show Avatars’ option.

Turn off Gravatars in WordPress

Don’t forget to click on the Save Changes button to store your settings.

WordPress will now disable Gravatars across your website. You’ll now see a generic user icon in the admin toolbar instead of your Gravatar image.

User profile photo disabled

Similarly, the comments page inside the admin area will also stop showing Gravatars.

Comments page without Gravatar images

WordPress will also stop showing Gravatar images in the comments area under your posts and pages.

Comments without Gravatars

How to Replace Gravatar with Local Avatars in WordPress?

Some users may want to disable Gravatar but still want to display profile photos under author bios and other places.

This allows you to keep the avatar functionality in WordPress and enable users to upload their own profile photos. At the same time, it disables Gravatars and prevents your website to make any requests to Gravatar website.

To do this, you’ll need to install and activate the WP User Avatars plugin. For more details, see our step by step guide on how to install a WordPress plugin.

Upon activation, you need to visit the Settings » Discussion page and check the box next to the ‘Block Gravatar’ option.

Block Gravatar

Don’t forget to click on the Save Changes button to store your settings.

The plugin will now block any requests to Gravatar.com while allowing you to keep avatar functionality.

To upload profile photos, users will need to upload their own images under their profiles.

Simply go to Users » Profile page. From here, you can upload an image from your computer or use one from the media library.

Local avatar

Don’t forget to click on the Update Profile button to save your changes.

WordPress will now use custom profile photos instead of Gravatars. For all unregistered users it will show the default avatar image you have set in the settings.

For all registered users, it will use the custom avatar image that they uploaded. If a user hasn’t uploaded their custom avatar image, then the plugin will use the default avatar image.

We hope this article helped you learn how to disable Gravatars in WordPress. You may also want to see our guide on how to make a membership website in WordPress, and our comparison of the best WordPress page builder plugins.

If you liked this article, then please subscribe to our YouTube Channel for WordPress video tutorials. You can also find us on Twitter and Facebook.

The post How to Disable Gravatars in WordPress first appeared on WPBeginner.

UI Interactions & Animations Roundup #25

University Website Faculty Page

by tubik UX

ui Animation Anzo Clothing – Landing Page

by ©mAnOff

Aesthetica Magazine

by Evgeny UPROCK

Quiosque Lisboa

by Ruslan Siiz

GUUULP! Landing Hero Animation

by Margaret Lunina

Plain – swapping interaction

by thrc.eth

Scroll video

by Slava Kornilov

Annalisa – Web Design

by QClay✌

skye // /

by Andrew Baygulov

XPeng Motors

by Evgeny UPROCK

Apartment Booking Website

by Dmitry Lauretsky

Anime // E-Commerce

by blacklead studio

Travel Istanbul city Icons

by Musemind Branding

Resonance exploration animation

by Resonance Studio

Le Labo Another 13/ Product landing page

by Tien Anh Dang

NFT Space // Website

by blacklead studio

Re←Born – website concept

by Vice Rukavina

Cuberto Development Dept

by Cuberto

Landing Skyrent

by Desire Creative Agency

Temple – The future of Web3 Creator Economy

by thrc.eth

Seagulls 22

by Elegant Seagulls

The post UI Interactions & Animations Roundup #25 appeared first on Codrops.

The Advanced Risk of Basic Roles In GCP IAM

Most GCP users know that granting basic roles is a really bad practice, but you may be surprised to learn that the risk is much more serious than it might seem because basic roles actually grant far more than what appears on the permissions list (which is already excessive, of course).

For the owner role, we can assume that most project administrators are aware it includes the resourcemanager.projects.setIamPolicy permission which allows for straightforward privilege escalation and managing the risk accordingly. However, for Viewer or Editor, you could make the very reasonable assumption that even though the roles provide a wide set of permissions - spanning every resource type in a GCP project - at least they won’t allow anything else.

Low Code and No Code: The Security Challenge

This is an article from DZone's 2022 Low Code and No Code Trend Report.

For more:


Read the Report

Many companies are looking to low-code and no-code platforms to build apps in the visual environment. They provide the opportunity for faster app development and reduce the dependence on highly skilled developers. Companies may hire less experienced or only minimally trained staff (I’ll call them citizen developers) to meet service gaps and to respond to skills shortages, ensuring their larger dev team can focus on more advanced projects.