Debugging Cross-Border Agile Teams and Processes

Making Agile teams work effectively has never been easy. To get the most out of Agile, teams must get used to being honest with themselves about the work they do, and come to terms with the limits and obstacles they face. Once a team has become comfortable with being uncomfortable, the real productivity promised by Agile can emerge. 

This is especially true for cross-border teams that have members from different international cultures. As the world has become more distributed and virtual, the barriers to making Agile work have become more numerous and difficult to overcome. We may all be able to work remotely now, but that doesn’t mean that all cultural differences have vanished. 

Health Apps and Data Privacy: Best Practices for Developers

The use of health apps has increased significantly in recent years as people look to take a more active role in their own health and wellness. However, while these apps can be useful tools, they also raise important privacy issues. Patients trusting developers with their health data is a major concern and one that developers must take seriously, as otherwise, it can lead to costly fines and reputational loss.

Imagine this scenario: you’ve built a health app that helps users determine potential diagnoses. One of your users, worried that her partner is struggling with depression, searches for symptoms. She browses around possible diagnoses and looks at treatments. She decides it’s a possibility, but doesn't move forward with anything right now.

How to Secure Source Code and Protect It from Theft

Source code is one of the most valuable assets for any company. So if it gets stolen or leaked, this can result in colossal damages to your business. Source code theft can cause financial and reputational losses in the long term perspective. Even the giants in the industry are at risk, as the source code of Windows 2000 was stolen from Microsoft in 2004, and a recent data breach cost Capital One around $300 million. That's why securing your source code and protecting it from theft should be one of your top priorities. 

Why Is Securing Source Code Important?

Recently, attempts to compromise services, software, apps, and devices have risen as the rewards for hackers can be quite profitable. Source code includes a lot of valuable information since it plays a crucial role in creating and building software, application, extensions, web services, and so much more. Unfortunately, source code security doesn't get enough attention in many cases. 

Flutter AI Integration: Is It the Best Choice?

If you are reading this article, you are probably one of the many developers who want to dive into the world of artificial intelligence and machine learning. You might have heard about Flutter and its awesome integration with AI. If you’re curious about which framework is best for your app and what AI integration is, read on! In this article, we will get you up to speed quickly by explaining everything there is to know about integrating Flutter with AI.

Artificial Intelligence is modern magic. The AI app developers are more like magicians. I couldn't stop bragging about that because the use of artificial intelligence is widespread today, from entertainment and advertising to business decision-making, driving self-driving cars, and modelling complex physical processes. 

What‘s New in .Net 7?

.NET 7 is now available, which means that we can enjoy all sorts of new features and enhancements. Let's talk about the most interesting improvements: C# 11, containers, performance, GC, and so on.

C# 11

We have already posted an article and described the novelties in C# 11. In that article, we covered new features: generic math support, raw string literals, the required modifier, the type parameters in attributes, and so on.

How To Manage K8s Operator Lifecycle

In this Talk, Anynines CEO Julian Fisher shares about the challenges of managing a Kubernetes operator's lifecycle. Julian and his team benchmarked multiple tools that could help with that. The talk covers Carvel, Helm, OLM, and Operator SDK, where the pros and cons are shared for each tool.

Julian Fischer  00:00

Geospatial Queries With Oracle JSON Database

In this article, I want to document how to write geospatial queries against the Oracle Autonomous Database. This example will use the node-oracledb add-on for Node.js and run against an Oracle JSON database. I will not talk about provisioning a JSON database on Oracle Cloud - that will be left as an exercise to the user, if so inclined. This first bit is about setting up the development environment, creating the Node.JS project, and installing the supporting configuration and software required to connect to the remote database.

I was investigating this functionality when building a simple phone application that would show places of interest based on the user's current coordinates. I created a small server-side Node.js application that ran in a Kubernetes cluster hitting an Oracle JSON database. The code presented here is a simplification that just demonstrates API usage. In the application, the user would select the distance from their current position to see all places of interest nearby. What is nice about this example is the code is all on the developer's side (Visual Studio on a Mac) accessing the remote database. This makes it easy to debug and iterate.

High-Performance Go HTTP Framework Tasting

What Is Hertz?

Hertz [həːts] is a high-performance, high-usability, extensible HTTP framework for Go. It’s designed to simplify building microservices for developers.

Why Hertz?

One of the highlights of Hertz is its extremely high performance. You can get an intuition for this by looking at the following statistics on echo requests.

How to Better Manage Automatic WordPress Updates

Are you looking for a way to automatically manage WordPress updates?

Updates are important for the security and stability of your WordPress site.

In this article, we will show you how to better manage automatic WordPress updates.

How to Better Manage Automatic WordPress Updates

Why Do You Need Better Automatic Updates in WordPress?

Keeping your WordPress website updated is extremely important. The same goes for all plugins and themes installed on your website. You need to install updates for WordPress core, themes, and plugins to get new features and fixes.

Learn more in our guide on why you should always use the latest version of WordPress.

WordPress will automatically update itself when a security or minor release is available. You can also enable automatic updates for major releases, as well as plugins and themes.

WordPress updates

However, you may have noticed that some of them are updated more frequently than others. A lot of popular plugins are updated almost weekly.

Some users find it a bit annoying that whenever they log in there are new updates available for WordPress core, one or more plugins, or their theme. It becomes even more time-consuming when you manage multiple WordPress sites.

That’s why many users want to have WordPress automatically install updates for WordPress core, trusted plugins, and themes. But while WordPress now lets you do this without a plugin, you still don’t have full control over your auto-updates.

Let’s take a look at how you can take total control of WordPress and minimize the time spent on installing updates.

Setting Up Easy Updates Manager

The first thing you need to do is install and activate the Easy Updates Manager plugin. This plugin gives you complete control over customizing your updates and also keeps logs of what is updated and when.

For more details, see our step-by-step guide on how to install a WordPress plugin.

Upon activation, you need to visit Dashboard » Updates Options page to set up the plugin.

Enabling Automatic Updates With a Plugin

This page provides you quick access to turn on or off updates for WordPress core, plugins, themes, and translations. The default settings here will work well for most websites.

We strongly recommend that you never turn off updates for WordPress core, plugins, or themes. It will seriously compromise your site’s security and health.

Setting Up Automatic Updates for WordPress, Plugins, and Themes

Easy Updates Manager allows you to quickly enable automatic updates for WordPress core, plugins, and themes from the Dashboard » Updates options page. Simply click on the blue ‘Auto update everything’ button in the ‘Quick configuration actions’ section.

Auto Update Everything

This plugin also allows you to selectively turn on automatic updates for certain plugins or themes. If you would like to selectively turn on automatic updates, then click the ‘Choose per plugin’ and ‘Choose per theme’ buttons.

Next, we’ll show you how to select which plugins and themes are updated automatically.

Setting Up Automatic Updates for Select Plugins and Themes

If you selected to individually enable automatic updates for a few plugins, then you need to switch to the ‘Plugins’ tab on the Dashboard » Updates options page.

Enable automatic updates for individual plugins

Here you will see a list of all plugins installed on your WordPress site. To automatically update a certain plugin, simply click the ‘On’ button under ‘Automatic updates’.

When you switch to the ‘Themes’ tab, you will see a list of themes installed on your site.

Select which themes to automatically update

You need to click the ‘On’ button under ‘Automatic updates’ for those themes that you want to be updated automatically.

Rolling Back to a Previous Version of a Plugin or Theme

Plugin and theme incompatibilities are the major reason why some users are hesitant when it comes to updating. Even though most good developers thoroughly test their plugins, there can still be bugs that can cause your site to break.

The first step you should take to protect your website is to install a WordPress backup solution. This will let you restore your entire website if something goes wrong.

However, restoring your WordPress site from a backup can be a lot of work. If you know which plugin or theme update caused the problem, then it’s easier just to roll back that one update.

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

Upon activation, go back to the plugins page on your WordPress site. You will notice a new Rollback option below each plugin installed on your site.

The Plugins Page Now Has a New Rollback Link

Clicking on the ‘Rollback’ link will allow you to roll back your plugin to any previous version you want. It can also roll back theme updates.

For detailed, step-by-step instructions, see our guide on how to rollback WordPress plugins.

We hope this article helped you find a better way to manage automatic WordPress updates on your site. You may also want to learn how to increase your blog traffic, or see our list of 40 useful tools to manage and grow your WordPress blog.

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 Better Manage Automatic WordPress Updates first appeared on WPBeginner.

Private Remote Maven Repository With Artipie

Artipie is an open-source binary artefact management tool under an MIT license. It supports the following types of repositories: Docker, Maven, NPM, PyPI, Anaconda, RPM, Gem, Go, and so on. If you are eager to learn about Artipie in detail, you can read the DZone article An Easy Way to Get Your Own Binary Repository.

Let’s focus on the Maven repository. Maven is a tool that can be used for building and managing any Java-based project. Maven has two types of repositories:

Testcontainers With Kotlin and Spring Data R2DBC

In this article, we will discuss testcontainers library and how to use it to simplify our life when it comes to integration testing our code.

For the purpose of this example, I am going to use a simple application with its business centered around reviews for some courses. Basically, the app is a service that exposes some GraphQL endpoints for review creation, querying, and deletion from a PostgreSQL database via Spring Data R2DBC. The app is written in Kotlin using Spring Boot 2.7.3. 

Kafka JDBC Source Connector for Large Data

Recently I had a task to migrate some data from an old monolith’s Oracle database to a microservice with a PostgreSQL database. The problem was that the data needed for migration had a parent table with around 2 million records with 150 columns and on top of that, everything was brought into view with a payload column aggregating data from various tables in XML. As you can imagine, the SELECT from that view was pretty slow, and by pretty, I mean insanely slow which was not going to work very well for the connector. So, in this article we’ll take a look at a similar simplified use case and how can we deal with it.

Use case

We have a course-catalogue application with a PostgreSQL database that deals with instructors and their courses. Now we need to migrate some legacy instructors from another PostgreSQL database that soon is going to be decommissioned. So we have instructors-legacy-db and the course-catalog-db. In our case, both databases won’t be that overwhelmed with records, with just about 200 records for the instructors-legacy-db, but for the sake of the example, just imagine that instructors-legacy-db is that table with 2 million cumbersome records. 

array declaration c++

Lexicographic algorithm
I'm trying to make this algorithm work, but it keeps telling me that my declaration array is not correct because it needs to have a constant value. Array declaration can be found in the main

#include<iostream>
#include<array>
using namespace std;

void nextPermutation(char* v, int n) { //function declaration for next permutation
    int i, j;                        //variable declaration
    for (i = n - 1; i > 0 && v[i - 1] >= v[i]; i--);   // we go to the index till v[i]>v[i-1]
    if (i > 0) {    //if i is greater than 0 than we have atleast one possible next permutation
        for (j = i; j <= n - 1 && v[j] > v[i - 1]; j++);   // we find the largest element after index i
        swap(v[i - 1], v[j - 1]);           // we swap it after we find it
    }
    j = n - 1;              //j is assigned the last element
    while (i < j) {         //we reverse the order from i to j element
        swap(v[i], v[j]);
        i++;
        j--;
    }
}
int main()
{

    int n;      //variable for the data lenght
    cout << "Enter the size of the array input numerical or string: ";
    cin >> n;
    char v[n];  //array declaration
    for (int i = 0; i < n; i++)cin >> v[i];  //input in the array
    nextPermutation(v, n);           //function called
    for (int i = 0; i < n; i++)cout << v[i] << " ";    //display the output
    return 0;
}`

How to Choose Mobile Devices for Testing in 2022

With the rapidly increasing popularity and complexity of mobile apps, you need to make sure your app works as intended across various device models, operating systems, and browsers. But with tens of thousands of mobile device models on the market and more being released every year, how do you choose which devices to test on, and how many do you actually need to test on for comprehensive testing coverage?

In this article, we’ll provide best practices for selecting mobile devices to test, as well as our recommended devices to test on by region and business size.

Deno vs. NodeJS: A Must-Have Comparison

JavaScript is not a new name. It is the most popular and frequently used data processing language that runs on every system. Many developers have been extensively skilled in the JavaScript language, and thus it has been continuously improving and evolving.

Node.js has been a widely used platform that successfully represents JavaScript everywhere. We have to admit that Node.js has transformed the screenplay of web development and allows developers to use JavaScript for backend development. Node.js has a large number of users with the largest developer community. 

How to Use MQTT in Flask

Flask is a lightweight Web application framework written with Python, which is called a "micro-framework" because it uses a simple core for extension of other features, such as ORM, form validation tools, file upload, various open authentication techniques, etc.

MQTT is a lightweight Internet of Things (IoT) message transmission protocol based on publish/subscribe mode. It can provide a real-time and reliable message service for networked devices with very less code and smaller bandwidth. It is widely used in IoT, mobile Internet, intelligent hardware, IoV, power and energy industries, etc.

Selenium With Python Tutorial: Adding Extensions in Firefox for Testing

Modern browsers are equipped with all sorts of functionalities, i.e., from bookmarks to GPS location tracking, developer tools, and more. Almost all modern web browsers have immense capabilities – Firefox has built-in screenshot capabilities, Opera has a free VPN, and Edge comes with built-in support for displaying ebooks with the EPUB extension. Though browsers like Firefox, Chrome, and others are majorly used for web browsing, the fact is that Add Ons (or extensions) in Firefox provide additional power to the web browser! The same rule of thumb applies to other browsers like Chrome, Edge, etc.

Additional add-ons, plugins, and extensions are required to extend or customize browser functionalities, boost productivity, and suit the specific requirements of users and developers. Test automation engineers that use test automation can also benefit from browser extensions like normal end-users. In fact, testers often need to automate the testing of these extensions itself :slightly_smiling_face:

More Than “Slapping Paint on a Website”

I’m a sucker for anything about front-end job titles.

Anselm Hannemann:

CSS evolved and we’re beyond the point where everyone can just do it as a side interest. We all can learn it and build amazing stuff with it, but using it wisely and correctly in a large-scale context isn’t an easy job anymore. It deserves people whose work is to focus on that part of the code.

Anselm is partly in responding to Sacha Greif’s “Is There Too Much CSS Now?” and the overall sentiment that CSS has a much higher barrier to entry for those learning it today than it did, say, in the CSS3 days. Back then, there was a super direct path to see the magic of CSS. Rachel Andrew perfectly captures that magic feeling in a prescient post from 2019:

There is something remarkable about the fact that, with everything we have created in the past 20 years or so, I can still take a complete beginner and teach them to build a simple webpage with HTML and CSS, in a day. […] We just need a text editor and a few hours. This is how we make things show up on a webpage.

That’s the real entry point here […]

“HTML, CSS and our vanishing industry entry points”

Rachel is speaking to the abstraction of frameworks on top of vanilla CSS (and HTML) but you might as well tack big, shiny, and fairly new features on there, like CSS grid, flexbox, container queries, cascade layers, custom properties, and relational pseudo-classes, to name a few. Not that those are abstractions, of course. There’s just a lot to learn right now, whether you’ve been writing CSS for 20 days or 20 years.

But back to Anselm’s post. Do we need to think about CSS as more than just, you know, styling things? I often joke that my job is slapping paint on websites to make them pretty. But, honestly, I know it’s a lot more than that. We all know it’s more than that.

Maybe CSS is an industry in itself. Think of all the possible considerations that have to pass through your brain when writing CSS rules. Heck, Ahmad Shadeed recently shared all the things his brain processes just to style a Hero component. CSS touches so much of the overall user experience — responsiveness, accessibility, performance, cross-browser, etc. — that it clearly goes well beyond “slapping paint on websites”. So far beyond that each of those things could be someone’s full-time gig, depending on the project.

So, yes, CSS has reached a point where I could imagine seeing “CSS Engineer” on some job board. As Anselm said, “[CSS] deserves people whose work is to focus on that part of the code.” Seen that way, it’s not so hard to imagine front-end development as a whole evolving into areas of specialization, just like many other industries.


More Than “Slapping Paint on a Website” originally published on CSS-Tricks, which is part of the DigitalOcean family. You should get the newsletter.