News Aggregator


Perl List Processing Is for Hashes, Too

Aggregated on: Thu Feb 10 2022 22:49:56 GMT+0000 (Coordinated Universal Time)

This month I started a new job at Alert Logic, a cybersecurity provider with Perl (among many other things) at its beating heart. I’ve been learning a lot, and part of the process has been understanding the APIs in the codebase. To that end, I’ve been writing small test scripts to tease apart data structures, using Perl array-processing, list-processing, and hash — i.e. associative array — processing functions. I’ve covered map, grep, and friends a couple of times before. Most recently, I described using List::Util’s any function to check if a condition is true for any item in a list. In the simplest case, you can use it to check to see if a given value is in the list at all:

View more...

How to Build a Video Streaming App With Screen Sharing Using Flutter

Aggregated on: Thu Feb 10 2022 21:49:56 GMT+0000 (Coordinated Universal Time)

Screen sharing is a powerful way to foster immediate collaboration in a real-time meeting. It can speed things up while making sure that everyone is on the same page.  This post explains how to build a video streaming app with a screen sharing feature in the Flutter iOS and Android application using the EnableX Flutter development toolkit.

View more...

Docker Security

Aggregated on: Thu Feb 10 2022 21:19:56 GMT+0000 (Coordinated Universal Time)

This Refcard will lay out the basics of container security, provide core practices for successful implementation, and also spell out some more advanced workflows. We split container security into three sections, covering what to do at each stage in your container security lifecycle.

View more...

Low-Code: Aging Like Wine

Aggregated on: Thu Feb 10 2022 19:49:56 GMT+0000 (Coordinated Universal Time)

A couple of weeks ago someone roughly commented on my YouTube channel, writing: "No-Code is a hoax and Low-Code a lie." I deleted the comment, not as much because I wanted to censor him, but more so because I was, quite frankly, a bit embarrassed for the commenter. I didn't want to put him into a position where he'd be forced to defend his incorrect assessment of something of such importance to the future. Five years ago, the commenter might have been correct. However, today almost 50% of all companies developing software have already delivered projects using low-code and no-code frameworks and platforms, and roughly half of them have good experiences with such platforms. So either 50% of the world is wrong, or the commenter was wrong.

View more...

Full Stream Ahead: Astra Streaming, Powered by Apache Pulsar, is Here!

Aggregated on: Thu Feb 10 2022 19:04:55 GMT+0000 (Coordinated Universal Time)

With a serverless architecture, multi-region geo replication, and Apache Cassandra’s legendary performance, DataStax Astra DB makes it easy for developers and enterprises to start small with their applications and grow them to infinite scale without constant performance tuning and optimization exercises. However, cloud app developers also face significant challenges beyond data at rest. Modern data apps require high-scale streaming technologies that can deliver the reactive engagement at the point of interaction that end users have come to expect. That’s why today, we’re excited to announce that these capabilities have been added to DataStax Astra.

View more...

What Is IoT Security?

Aggregated on: Thu Feb 10 2022 18:34:55 GMT+0000 (Coordinated Universal Time)

Cellular wireless technologies advancements (like 5G), powerful IoT application platforms (like Microsoft IoT Central), secured IoT connectivity platforms, and all-in-one IoT infrastructure solutions are making it easier than ever for companies to deploy transformative new IoT applications. Yet as the use of new industrial asset monitoring, predictive maintenance, smart energy, Internet of Medical Things (IoMT), and other IoT applications expands, so does the threat landscape for these applications.  Given this expanding threat landscape, and the growing number and sophistication of cyberattacks, how can organizations deploy IoT applications in a secure manner that protects them end-to-end — from edge-device to network to cloud?

View more...

Adding Two Hours in DataWeave: Mule 4

Aggregated on: Thu Feb 10 2022 16:04:55 GMT+0000 (Coordinated Universal Time)

Case:  You are given a JSON array that will have all the employee's work details as an element.  Example input in JSON : 

View more...

Exploring the Salesforce Mobile SDK Using React Native

Aggregated on: Thu Feb 10 2022 12:04:55 GMT+0000 (Coordinated Universal Time)

Last July, I started writing a series focused on how the Salesforce platform can be utilized in a manner without a traditional Salesforce client. Here are links to the other articles in the series: Leveraging Salesforce Using Spring Boot

View more...

8 Penetration Testing Trends You Should Know in 2022

Aggregated on: Thu Feb 10 2022 06:49:55 GMT+0000 (Coordinated Universal Time)

As a result of the pandemic’s transition to remote work, the year 2022 is also considered a year of fresh challenges and transformation. The rising demand for the safety of software-based properties like web and mobile applications is projected to enhance the growth of the global pen tests market. Moreover, the growing usage of cloud-based security services is anticipated to fuel the demand for penetration testing. Additionally, the ever-increasing digitization in developing countries is projected to boost the trend of the Internet of Things-based connected devices. This, in turn, boosts the need for pen-testing. Companies have become more prone to malicious assaults and attacks. The rising number of cyber-attacks, coupled with the increasing necessity to meet the compliance measures, is estimated to be a driver for the global pen-testing market during the estimated period. To combat such malicious attacks, penetration testing company must have to keep a close eye on growing cybersecurity trends. In the year 2022, we will undeniably continue to see attacks on the Internet of Things devices. Edge computing gadgets – where data and information are operated on as close as possible to the point it is gathered – besides centralized cloud infrastructure is all vulnerable. Once again, awareness and instruction are two of the most valuable tools when it comes to protecting against these vulnerabilities. Any cybersecurity approach should always take account of a thorough audit of each and every device that is given access to a network or is connected and a full understanding of any vulnerability it may create. As 2022 gets underway, it is the perfect time to evaluate the tech trends presently shaping the future of pen-testing, and how it will persistently go forward.

View more...

All You Need to Know About User Session Security

Aggregated on: Thu Feb 10 2022 01:34:55 GMT+0000 (Coordinated Universal Time)

What follows is a two-part series on session management  —  inspired by extensive conversations with over 70 developers and our own intensive research. We will explore different session management practices, identify issues, and converge on a solution to these issues. Through it all, I hope to leave you with clarity on deciding how to manage user sessions (and auth tokens) for your application. In 20 minutes, we summarize all the important information it took us hundreds of hours to obtain and document. This article will introduce session management, analyze commonly use session flaws, and demonstrate best practices. Part two will take a look at a new open source flow that is secure and easy to integrate into existing systems.  Specifically, in part one, we cover

View more...

How to Remove Empty and Non-Empty Directories in Linux [Snippets]

Aggregated on: Thu Feb 10 2022 00:49:55 GMT+0000 (Coordinated Universal Time)

Removing a directory in Linux is harder than you think, and it's not uncommon to get errors that look like this: folder: Directory not empty folder: is a directory The confusion comes because rmdir cannot be used to delete a directory with files or folders inside of it.

View more...

Getting Started With Pandas: Lesson 4

Aggregated on: Thu Feb 10 2022 00:19:55 GMT+0000 (Coordinated Universal Time)

Introduction We begin with the fourth and final article of our saga of training with Pandas. In this article, we are going to make a summary of the different functions that are used in Pandas to perform missing data treatment. Dealing with missing data is key and a standard challenge of day-by-day data science work, and it has a direct impact on algorithmic performance. Missing Data Before we start, we are going to visualize the example dataset that we are going to follow to explain the functions. It is a dataset created by us that includes several cases of use to be able to clearly deal with all the examples that we will call `uncompleted_data`.

View more...

Cloud Systems (Part 2): Containerizing a Website

Aggregated on: Thu Feb 10 2022 00:19:55 GMT+0000 (Coordinated Universal Time)

Cloud engineering is taking over software development. In a lot of ways, this is great; it allows us to build and deploy more complicated applications with less difficulty, and maintaining those applications becomes less troublesome too. We can release smaller updates more quickly than ever, ensuring that we can stay on top of feature requests and security issues. That said, the rise of cloud engineering has also introduced a lot of complexity in the form of dozens of services even within just one cloud provider. Figuring out where to start can be tough, so let’s take a practical tour! In this series, I’ll walk you through building a personal website and deploying it using modern cloud engineering practices. In part one of this series, we built a personal website and deployed it to AWS S3. That works perfectly well for a static, single-page application with minimal interactivity, but if you want server-side routing or database interactivity, things have to get a little bit more complicated. In part two of this series, we’ll be adding a couple more pages to our personal website, adding server-side routing, and containerizing it with Docker.

View more...

Mediator Design Pattern in Java [Video]

Aggregated on: Wed Feb 09 2022 22:49:55 GMT+0000 (Coordinated Universal Time)

In the video below, we take a closer look at the mediator design pattern in Java. Including an introduction, real-time examples, class diagram, and implementation, this tutorial will help you dive into the topic. Let's get started!

View more...

Low-Code, ageing like wine

Aggregated on: Wed Feb 09 2022 22:19:55 GMT+0000 (Coordinated Universal Time)

A couple of weeks ago some guy commented on my YouTube channel and wrote roughly; "No-Code is a hoax and Low-Code a lie". I deleted the comment, not as much because I wanted to censor him, but more because I was quite frankly a bit embarrassed for the commenter, and I didn't put him into a position where he'd be forced to defend his obviously flawed and incorrect assessment of something of such importance to the future. 5 years ago the commenter might have been correct, today almost 50% of all companies developing software have already delivered projects using Low-Code and No-Code frameworks and platforms, and roughly half of them have good experiences with such platforms. So either 50% of the world is wrong and delusional, or the commenter was wrong, and I assume most of us can easily determine who were wrong in this particular situation ...

View more...

Component Tests for Spring Cloud Microservices

Aggregated on: Wed Feb 09 2022 22:04:55 GMT+0000 (Coordinated Universal Time)

Introduction The shift towards microservices has a direct impact on the testing strategies applied and has introduced a number of complexities that need to be addressed. In fact, microservices require additional levels of testing since we have to deal with multiple independently deployable components. An excellent explanation of these concepts and the various levels of microservices testing is given by Martin Fowler in his Testing Strategies in a Microservice Architecture presentation. Let's have a look at the revised "test pyramid" from this presentation:

View more...

How to Develop Event-Driven Architectures

Aggregated on: Wed Feb 09 2022 22:04:55 GMT+0000 (Coordinated Universal Time)

Last month, I wrote an article on open-source Chronicle Wire that discusses how we could serialize an application’s state into different message formats. Now in this article, I'm going to look at how we can use open-source Chronicle Queue and Chronicle Wire to structure applications to use event-driven architecture (EDA). EDA is a design pattern in which decoupled components (often microservices) can asynchronously publish and subscribe to events. 

View more...

API Reviews: Scaling Up API Governance

Aggregated on: Wed Feb 09 2022 21:34:55 GMT+0000 (Coordinated Universal Time)

API reviews are part of the overall API lifecycle. They are used to check that an API’s design matches the API design guidelines. API reviews are also an important step in making sure that the API landscape evolves and grows in a coherent way. Designing Useful and Usable APIs API reviews are only one step in the overall lifecycle. Before they happen, and overall design process has to ensure that a useful API is being designed. This typically happens by aligning the API with a business capability map, which allows to clearly identification the business purpose and value of the API. Once that value-oriented alignment exists, the next goal is to now create a usable API for this value proposition.

View more...

Circuit Breaker Pattern With Netflix-Hystrix: Java

Aggregated on: Wed Feb 09 2022 21:34:55 GMT+0000 (Coordinated Universal Time)

If you are familiar with the circuit breaker pattern then you may have heard about Netflix-hystrix. But, before diving into our topic, let's make sure we have an understanding of what circuit breaker is and how Netflix-hystrix is implementing this pattern. What Problem Are We Trying to Solve? When in a distributed environment, our service may interact with other services or applications via remote call and these external services may be unavailable anytime for several reasons such as downtime, unavailable resources, etc. This unavailability due to the fault in an external application will also affect our perfectly working application. 

View more...

Everything You Need to Know About Time Series Analysis

Aggregated on: Wed Feb 09 2022 21:04:55 GMT+0000 (Coordinated Universal Time)

In business, you need to know how your business is doing day-to-day. In order to understand the health of your company, many turns to data analytics. Time series analysis can give valuable insight into what has happened over the course of days, weeks, months, or even years. With this form of analytics, you can learn if your company is making more money during the summer months or at the beginning of the fiscal year. You can also analyze weather data to see if winter storms caused any loss in revenue.  Some questions that time series analysis can answer are: How many customers come into the store every day? How much revenue has the business generated over the last few weeks? What is the probability of rain tomorrow? It could be helpful in planning future actions, saving money, and ensuring quality.

View more...

AlmaLinux Container Images With Full RHEL UBI Compatibility

Aggregated on: Wed Feb 09 2022 21:04:55 GMT+0000 (Coordinated Universal Time)

Cloud and Containers SIG have been hard at work lately on a project surrounding container updates, new images, new registries, and distribution. FYI: All container images are available for both the x86_64 and arm64/v8 architectures.

View more...

3 Predictions for Software Product Development in 2022

Aggregated on: Wed Feb 09 2022 21:04:55 GMT+0000 (Coordinated Universal Time)

Over the past few weeks, I’ve found myself reading various “2022 Predictions” lists covering everything from the healthcare market getting simplified for patients, all the way to how Crypto will take over the world. I’ve seen predictions on personal identity, and solutions-based articles on how we solve the unprecedented global demand for software engineers. As leaders in software product development and key players in the world of Open Source, we decided to do the same and have a look at our top three 2022 predictions for the world of software product engineering, DevOps, and Open Source technologies.

View more...

Identifying, Exploiting, and Preventing Host Header Attacks on Web Servers

Aggregated on: Wed Feb 09 2022 20:49:55 GMT+0000 (Coordinated Universal Time)

Summary A typical web application uses HyperText Transfer Protocol (HTTP) for communication purposes. There are various attributes in HTTP, termed as Headers (for both Request and Response), that have their significance, and all the attributes in HTTP Headers should be configured securely for communication purposes. Often most of the attributes in HTTP Headers are misconfigured in web servers which makes the entire HTTP communication vulnerable to various cyber-attacks.  HTTP Host headers are among one of the HTTP Header attributes that are misconfigured often and it can cause potential threat which is termed as Host Header Injection. In this literature, the author has shown how to exploit HTTP Host Header, where web servers are misconfigured in such a way that web servers respond to malicious HTTP requests without identifying the origin from which HTTP(S) Request(s) (Host Header) is made. In this literature, the author has also shown how to check incoming traffic on web servers w.r.t the origin or HTTP Host Headers and rejecting the same in case request is not coming from whitelisted origin.

View more...

Alternatives to Docker Desktop

Aggregated on: Wed Feb 09 2022 20:04:55 GMT+0000 (Coordinated Universal Time)

Last year Docker announced a change in their subscription service agreement that limited the free usage of Docker Desktop effective August 31, 2021, with a grace period until January 31, 2022. The grace period is over, so what are your options if you don't fall in any of the allowed categories to keep it running for free or if you just want to look for alternatives? In this post, we will go over podman and rancher desktop to check if they can replace Docker Desktop usage. A lot of ink has run regarding the goals behind the change in the product subscription, and I won't be able to cover them in this article, so I will just summarize the actual changes. First, Docker Desktop is still free for personal use, open source projects, and small businesses. The real difference comes for subscribers that use it for professional work. Docker sets the barrier at 250 employees and $10 million in annual revenue. If your employer is above those limits, you will need a professional plan starting at $5 per user per month to comply.

View more...

Creating Your First Vue App

Aggregated on: Wed Feb 09 2022 20:04:55 GMT+0000 (Coordinated Universal Time)

In this tutorial, we'll be looking at everything you need to build your first app in Vue. We'll be covering what you need to get started in making your first Vue application. Creating Your First Vue App To get started with Vue, you're first going to need to install the Vue CLI tools. Make sure you have npm installed on your computer (or you can do this in yarn if you prefer), and run the following command: 

View more...

SQL Server Fast Recovery: What Is It and When Is It Needed?

Aggregated on: Wed Feb 09 2022 20:04:55 GMT+0000 (Coordinated Universal Time)

Fast recovery is a feature in SQL Server Enterprise edition that allows accessing a database once the REDO (i.e., committed transactions are rolled forward) phase completes before the UNDO (i.e., uncommitted transactions are rolled back) phase gets complete. This article will talk in detail about the SQL Server Fast Recovery feature, when it is used, and when it can't be used. Also, the article discusses an alternative to performing a database restoration when Fast Recovery fails. Before We Proceed Let’s have a quick overview of the SQL Server recovery process that comprises of the following three phases:

View more...

Internet of Things or Machine-To-Machine Connectivity?

Aggregated on: Wed Feb 09 2022 20:04:55 GMT+0000 (Coordinated Universal Time)

The terms IoT and M2M are often talked about synonymously, however, they are far from identical, and when you’re looking to implement a solution, it’s important to know the differences between the two -- or rather, when you should use one over the other.  M2M stands for "machine to machine," a technology that is similar to IoT, or the "Internet of Things," but which also has some key differences. It’s these differences that make it important to know whether your project is better suited to an M2M or an IoT solution – and, ideally, this is something you’ll define in the early stages. 

View more...

7 Alternatives to Using Segment

Aggregated on: Wed Feb 09 2022 20:04:55 GMT+0000 (Coordinated Universal Time)

What Is a CDP (Customer Data Platform)? CDPs have risen up as one of the best solutions to tackle the challenge of data accessibility. Strictly speaking, CDPs collect and consolidate data from various sources and send that information to different target destinations (i.e. marketing tools and sales tools). The purpose of a CDP is to aggregate the information from various data sources and combine it together to create a single 360-degree view of the customer.  In addition to this, they also provide an additional activation layer to enable marketing automation. This is because CDPs were created to analyze user behavior and personalize their experiences. Every company has data, so CDPs are useful for both B2C companies and B2B companies.

View more...

AI Biometric Authentication for Enterprise Security

Aggregated on: Wed Feb 09 2022 19:34:55 GMT+0000 (Coordinated Universal Time)

Introduction Biometric authentication technology has been an important industry trend for years, especially in 2021 due to the latest AI innovations available on the market. According to IBM, 20% of breaches are caused by compromised credentials. Worse, it can take an average of 287 days to identify and respond to a data breach. AI-based security is increasing in usage and will be necessary to remain competitive in any industry. IBM reports that as of 2021, 25% of businesses have completed deployment of AI-based security, while 40% are partially deployed. The remaining 35% have not begun this process, and if your business falls into this category you may be placing your clients at great risk for dangerous data breaches. Investing in AI-based security can save a business up to $3.81 million in 2021.

View more...

Harness the Power of Digital Transformation With the Help of Citizen Development

Aggregated on: Wed Feb 09 2022 18:34:55 GMT+0000 (Coordinated Universal Time)

The demand for software has skyrocketed across industries and global markets in the past few years, and along with it, the need for apps. Why? Because business software applications make communication easier, reduce time and effort, enhance functionality, and improve control, leading to increased organizational efficiency. They allow businesses to identify and respond to new opportunities. More and more organizations are embracing digital transformation and changing the way they operate. But for digital technology to be integrated into all areas of a business, solutions must be built. Systems, processes, and workflows must change. This transformation puts a lot of pressure on IT, a department that’s already overwhelmed. Digital transformation can no longer be solely driven by IT, and that’s where citizen development comes in. With citizen development, companies can pursue their digital transformation initiatives without worrying about IT's backlog.

View more...

Java Concurrency and Multi-Threading

Aggregated on: Wed Feb 09 2022 17:34:55 GMT+0000 (Coordinated Universal Time)

The Java platform was designed to support concurrent programming, with basic concurrency support in the Java programming language and the Java class libraries. How often do we think about concurrency while writing new code or while doing a code review with the team? A small bug could lead to endless hours of debugging applications for a production issue that is not easy to reproduce locally.  Why do we need concurrent programming? We are in the age where we work with machines that are equipped with multi-core CPUs. The code you deliver should be optimized to run on such machines, utilizing the hardware to its fullest.  While designing a concurrent system, we should not interfere with other processes running on the CPU.  We want our application to run in its own black box without impacting other processes. These days we have multicore CPUs that can easily handle this but how was this done back in the days when the single-core was used?

View more...

Making an IoT Developer’s Life Easier With Eclipse IoT Packages

Aggregated on: Wed Feb 09 2022 17:34:55 GMT+0000 (Coordinated Universal Time)

As an IoT developer, one is often tasked with putting together a solution that includes one or more open source components. I remember, even as far back as 2014, using components like Eclipse Mosquitto MQTT broker and Eclipse Paho MQTT client for a pilot project with IoT Gateway at Intel. Fast forward a few years at Red Hat, where I used components like Eclipse Kura and Eclipse Kapua for a European industrial automation project. Without realizing it then, I was using these components from Eclipse IoT open source projects. Image courtesy of Eclipse Foundation

View more...

Unified Observability: Metrics, Logs, and Tracing of App and Database Tiers in a Single Grafana Console

Aggregated on: Wed Feb 09 2022 17:04:55 GMT+0000 (Coordinated Universal Time)

This is the first in a series of blogs discussing unified observability with microservices and the Oracle database. Future pieces in this series will go into more depth on details of specific use case scenarios and ways to optimally observe and troubleshoot them. I will go into the fundamentals and basic use cases in this first piece, and also refer the reader to a new Unified Observability in Grafana Workshop that demonstrates the principles, provides code and configuration examples, etc. that I will also be building upon over time.

View more...

Row vs. Columnar Storage for Cloud-Based Data

Aggregated on: Wed Feb 09 2022 17:04:55 GMT+0000 (Coordinated Universal Time)

Data warehouses or enterprise data warehouses are databases optimized for OLAP or online analytical processing, offline transaction processing, and business intelligence. Most data warehouses have a common database, mainly for analytical uses.  One of the most common types of data warehouses is the cloud data warehouse. All data warehouses-as-a-service are referred to as cloud data warehouses. The purpose of data warehouses is to assist traditional relational databases offload analytics as they are already overburdened. 

View more...

How to Manage Database Availability Groups(DAG) In Exchange Server

Aggregated on: Wed Feb 09 2022 17:04:55 GMT+0000 (Coordinated Universal Time)

Before DAG, Exchange Server 2007 was using multiple services for high availability, such as Local Continuous Replication (LCR), Single Copy Clustering (SCC), Standby Continuous Replication (SCR), and Cluster Continuous Replication (CCR). However, it lacked automatic failover protection, and there was no graphical user interface to manage or control the operations.  Database Availability Groups or DAG is a unified high availability feature that was introduced with the release of Microsoft Exchange Server 2010 to automate the database-level recovery and prevent data loss in the event of a database, server, or network failure. And to manage the DAG, you can use GUI-based Exchange Management Console in Exchange 2010 or the Exchange Admin Center in Exchange 2013 and later. You may also use Exchange management Shell, a command-line-based Exchange Server tool, to manage DAG.

View more...

Python SDKs Package Management in GCP Artifact Registry

Aggregated on: Wed Feb 09 2022 17:04:55 GMT+0000 (Coordinated Universal Time)

Introduction Using a centralized, private repository to host SDK as a package not only enables code reuse but also simplifies and secures the existing software delivery pipeline. By using the same formats and tools as you would in the open-source ecosystem, you can leverage the same advantages, simplify building, and keep business logic and applications secure. Storing SDK packages in Google Cloud Artifact Registry not only enables SDK code reuse but also simplifies and secures your existing build pipeline. In addition to bringing your internal packages to a managed repository, using Artifact Registry also allows you to take additional steps to improve the security of your software delivery pipeline. 

View more...

Querying GitHub Data With SQL: Insights for Developers and Engineering Leaders

Aggregated on: Wed Feb 09 2022 16:34:55 GMT+0000 (Coordinated Universal Time)

Most people think of GitHub as a code hosting and collaboration platform, but it can also be used as a data source for insights about software development. In this article, we will show you how to use MergeStat and MySQL to query GitHub data and extract valuable insights for developers and engineering leaders. We will start by getting data from a GitHub repo using MergeStat. Then, we will connect to a MySQL server with the MergeStat data using Arctype. Finally, we will explore the data and visualize it using some nifty graphs! What Can We Learn by Querying GitHub Data? Querying GitHub data with SQL can help us extract useful insights about our project and our team. Some use cases of visualized GitHub data include: Engineering metrics Code quality and pattern monitoring Software supply chain analytics Configuration and "infra-as-code" insights Audit and compliance Developer onboarding Vulnerability monitoring In this article, I will show you how to get data from a GitHub repository using a tool called MergeStat and an experimental MySQL compatibility layer. MergeStat enables you to perform SQL queries on data in git repositories. Once we have MergeStat set up, we will connect to a MySQL server with a MergeStat backend using Arctype, which will allow us to visualize and explore data. Arctype is a database management and visualization tool that allows easy and effective management of data in your database.

View more...

Using SingleStore as a Time Series Database

Aggregated on: Wed Feb 09 2022 14:49:55 GMT+0000 (Coordinated Universal Time)

Abstract SingleStore is a very versatile database system. It is based upon Relational Technology and supports multi-model capabilities, such as Key-Value, JSON, Full-Text Search, Geospatial, and Time Series. This article will explore SingleStore's support for Time Series data by using historical S and P 500 stock data from Kaggle. We'll also build a quick dashboard to visualize candlestick charts using Streamlit.

View more...

Learn to Access Java Database With Jakarta Data

Aggregated on: Wed Feb 09 2022 14:49:55 GMT+0000 (Coordinated Universal Time)

Dealing with a database is one of the biggest challenges within a software architecture. In addition to choosing one of several options on the market, it is necessary to consider the persistence integrations. The purpose of this article is to show some of these patterns and learn about a new specification proposal, Jakarta Data, which aims to make life easier for developers with Java. Understanding the Layers That Can Make Up Software Whenever we talk about complexity in a corporate system, we focus on the ancient Roman military strategy: divide and conquer or divide et impera. To simplify the whole, we break it down into small units.

View more...

CockroachDB with MIT Kerberos using a native client

Aggregated on: Wed Feb 09 2022 13:49:55 GMT+0000 (Coordinated Universal Time)

Articles Covering CockroachDB and Kerberos I find the topic of Kerberos very interesting and my colleagues commonly refer to me for help with this complex topic. I am by no means an expert at Kerberos, I am however familiar enough with it to be dangerous. That said, I've written multiple articles on the topic which you may find below: CockroachDB With MIT Kerberos CockroachDB With Active Directory CockroachDB With MIT Kerberos and Docker Compose Executing CockroachDB table import via GSSAPI CockroachDB With SQLAlchemy and MIT Kerberos CockroachDB With MIT Kerberos Cert User Authentication CockroachDB with Django and MIT Kerberos CockroachDB With Kerberos and Custom Service Principal Name (SPN) Simplifying CockroachDB Kerberos Architecture With a Load Balancer Up to the 20.1 release, CockroachDB was missing a native GSSAPI client to interact with Kerberos-enabled clusters. Users were forced to use tools like psql to connect. As of the 20.2 release, our engineering had built GSSAPI support directly into the cockroach binary and this is what I'm going to demonstrate today. The immediate benefit here is that we can keep our surface area small and "in-house". Users no longer need to install any third-party client to leverage Kerberos with CockroachDB.

View more...

Setting Up Starlight For JMS to Send 1 Million Messages Per Second

Aggregated on: Tue Feb 08 2022 23:49:55 GMT+0000 (Coordinated Universal Time)

Apache Pulsar™ is one of the most popular cloud-native messaging and streaming platforms with phenomenal usage by enterprises like Tencent, Comcast, and Verizon Media. When we launched the Pulsar client Starlight for JMS (S4J), which allows enterprises to run existing JMS applications on Pulsar, we made a bold claim: S4J can send one million messages per second with low latency.In this post, we’ll show you exactly how we came up with that number and walk you through how to reproduce the results. Where to Find Our Testing Framework We used OpenMessaging Project, a Linux Foundation Collaborative Project, the same third-party benchmark framework we used for our Performance Comparison Between Apache Pulsar and Kafka: Latency. 

View more...

Secrets Detection: Optimizing Filter Processes

Aggregated on: Tue Feb 08 2022 23:49:55 GMT+0000 (Coordinated Universal Time)

While increasing both the precision and the recall of our secrets detection engine, we felt the need to keep a close eye on speed. In a gearbox, if you want to increase torque, you need to decrease speed. So it wasn’t a surprise to find that our engine had the same problem: more power, less speed. At roughly 10 thousand public documents scanned every minute, this eventually led to a bottleneck. In a previous article, we explained how we built benchmarks to keep track of those three metrics: precision, recall, and the most important here, speed. These benchmarks taught us a lot about the true internals of our engine at runtime and led to our first improvements.

View more...

Cloud Systems (Part 1): Static Sites and AWS S3

Aggregated on: Tue Feb 08 2022 23:19:55 GMT+0000 (Coordinated Universal Time)

Cloud engineering is taking over software development. In a lot of ways, this is great; it allows us to build and deploy more complicated applications with less difficulty, and maintaining those applications becomes less troublesome too. We can release smaller updates more quickly than ever, ensuring that we can stay on top of feature requests and security issues. That said, the rise of cloud engineering has also introduced a lot of complexity in the form of dozens of services even within just one cloud provider. Figuring out where to start can be tough, so let’s take a practical tour! In this series, I’ll walk you through building a personal website and deploying it using modern cloud engineering practices. The simplest website you can build is a static site. That means no web server, just HTML, CSS, and maybe some front-end JavaScript. Static sites can still be beautiful and interactive though, and for many people, they’re more than enough.

View more...

A Non-Technical Guide To Adopting Agile Methodology for Your Non-Software Team

Aggregated on: Tue Feb 08 2022 20:04:55 GMT+0000 (Coordinated Universal Time)

It often surprises me that, sometimes, tweaking "how" certain things are done, can totally revolutionize "why" they're being done. Methodology, in itself, seeks to re-imagine the meaning. I have seen so many passion-driven people constantly hit dead ends, whereas, method-driven people kept on finding the way forward while trying to achieve similar objectives. I firmly believe that the Agile methodology (introduced in the early 2000s) is one such example that helps software teams stay highly productive. 

View more...

PERT Chart – A Comprehensive Guide to Online PERT Chart Tools For 2022

Aggregated on: Tue Feb 08 2022 18:04:54 GMT+0000 (Coordinated Universal Time)

Sometimes thrusting yourself headfirst into work is not the best of decisions. Proper planning and division of work can miraculously reduce the time and effort required on your part. Having a viewable chart makes the process even easier to follow. Enter PERT chart.

View more...

Java: Visitor Design Pattern

Aggregated on: Tue Feb 08 2022 17:34:55 GMT+0000 (Coordinated Universal Time)

In the video below, we take a closer look at the Visitor Design Pattern in Java.  This tutorial includes an introduction, real-time examples, a class diagram, and implementation. Let's get started!

View more...

A Robust Distributed Payment Network With Enchanted Audit Functionality - Part 2: Spring Boot, Axon, and Implementation

Aggregated on: Tue Feb 08 2022 17:34:55 GMT+0000 (Coordinated Universal Time)

This post continues the Part 1. We build a simplified but robust and scalable Qiwi-like payment network. The network allows its users to transfer money between the network accounts. To satisfy the functional requirements from Part 1, we use microservice architecture with 1 microservice for every domain object. Specifically, we use Spring Boot and Spring Cloud for the system to be scalable and robust. Also, we use the Axon framework to conveniently utilize the CQRS and Event Sourcing patterns. Finally, we use a Neo4j graph database, alongside a Postgres database, to efficiently audit suspicious money transfers between "related" accounts. This post is organized as follows. First, I describe the system and its parts. Second, I describe how to implement the account and transfer microservices. Finally, I describe e2e test scenarios to verify if the system works as intended.

View more...

Distributed Network Service for Users Activity Limiting (Part 1)

Aggregated on: Tue Feb 08 2022 16:49:54 GMT+0000 (Coordinated Universal Time)

Scenario Any service provider tries to reach several metrics in their activity. One group of these metrics is service quality. Quality metrics contain: The ratio of successfully processed requests Distribution of processing time between requests Number of requests dependent curves  But what is the metric that shows service hardware monopolization by a group of users? Without a fair statement of this problem and the right technical solution, this metric will not exist. This metric absence reduces the quality and user satisfaction of the service.

View more...

DevOps Metrics That Actually Matter

Aggregated on: Tue Feb 08 2022 16:49:54 GMT+0000 (Coordinated Universal Time)

DevOps is one of the greatest cultural shifts the IT industry has ever had. It's a set of practices that brings together the development and operations teams to deliver high-quality products and services in a more efficient, faster way.  A large number of organizations have shifted to the DevOps culture because they realize the benefits of DevOps. But getting the best out of DevOps isn't as easy as installing software and getting results. This is because DevOps is not just a tool but also a mindset. 

View more...

DevConf.CZ 2022 - Talking Architecture Shop with Anyone (slides)

Aggregated on: Tue Feb 08 2022 16:19:54 GMT+0000 (Coordinated Universal Time)

I mentioned previously that I had a talk accepted for DevConf.CZ 2022 with a focus on the architecture work I've been doing lately. What's DevConf.cz?

View more...