News Aggregator


Exploring Machine Learning Frameworks for Software Developers

Aggregated on: 2023-08-14 19:16:27

In the world of software development, machine learning frameworks play a pivotal role, providing developers with powerful AI tools, libraries, and algorithms to harness the potential of machine learning efficiently. At its core, machine learning enables computers to learn from data and make predictions or decisions without being explicitly programmed. Importance of Machine Learning Frameworks for Software Developers Machine learning frameworks are pivotal in integrating machine learning capabilities into software applications. These frameworks provide tools, libraries, and pre-built modules that simplify the implementation of machine learning algorithms and models.

View more...

Do Not Stop Threads!

Aggregated on: 2023-08-14 19:01:27

I dedicate this article to László Fekete, my former boss and director at T-Mobile Hungary. He plays a significant role in this story as he was the one who made the decision to cancel our contract. I must acknowledge that he made the right call, and it was the correct course of action. However, I also remember some instances where he seemed less concerned about his health, disregarding his blood pressure and cholesterol levels, despite my concerns, which we discussed a few times. Sadly, László passed away in 2017 at the young age of 57 due to a heart attack. It’s a stark reminder of the importance of taking care of our well-being and not neglecting warning signs.

View more...

How to Automatically Detect Multiple Cybersecurity Threats from an Input Text String in Java

Aggregated on: 2023-08-14 18:46:27

If there’s one thing nearly all contemporary, interactive client-side web applications have in common, it’s a reliance on dynamic user-facing text input fields. These fields play the all-important role of capturing plain text data from client-side browsers and sharing that information with a server-side application, allowing that application to perform specific actions with that data based on stringent request parameters. We encounter these fields when we log into or register a new account within an application, query content from a web application’s database, fill out a contact form, write comments on an article post, and more. When we interact with these fields as client-side users, we might notice that some fields only accept data in a certain format. For example, if we enter integers into a “First Name” or “Last Name” field, we’ll likely receive an error response from the application quickly notifying us that integers aren’t valid in that field. Similarly, if we enter our name into a field that asks for our date of birth, we’ll likely receive an error response that asks for valid integers instead.

View more...

Stable Diffusion: The Community’s AI

Aggregated on: 2023-08-14 17:46:27

Creativity and art have always been exclusive domains of the human imagination. Still, in recent years, artificial intelligence (AI) has burst into the art world, challenging our perceptions and expanding the boundaries of artistic creation. In this context, Stable Diffusion emerges as a powerful art-generating AI that is revolutionizing the way we conceive and experience artistic expression. Stable Diffusion stands out for being an open-source solution with the possibility of being completely free. With its transformative potential, this AI opens new doors to creativity and provides artists with a powerful tool to explore and realize their artistic visions.

View more...

A Comprehensive Guide to Securing ESXi Hosts: Safeguarding Virtual Infrastructure

Aggregated on: 2023-08-14 16:16:27

ESXi hosts are the backbone of virtualization, serving as the foundation for running virtual machines and managing critical workloads and as such, ensuring the security of ESXi hosts is paramount to protect the entire virtual infrastructure. As virtualization technology continues to evolve, securing the underlying hypervisor becomes crucial for ensuring the safety and integrity of virtualized environments. VMware ESXi, a widely adopted hypervisor, requires comprehensive security measures to protect against potential vulnerabilities and unauthorized access. This article will delve into the various techniques and best practices for securing ESXi hosts, mitigating potential vulnerabilities, and fortifying your virtual environment against threats.

View more...

RSA Conference 2023: DevSecOps and the Future of Security

Aggregated on: 2023-08-14 15:01:27

To say that the RSA Conference is one of the largest cybersecurity conventions in the world would be an understatement. This year the event attracted 40,000 participants. Tens of thousands of individuals showed up to learn about the latest updates in cybersecurity, and hundreds of presenters came to impart their knowledge. The expo floor alone held over 600 vendors, from giants like Cisco and VMWare, long-established platform companies like Google Cloud and Trellix, to growing players like GitGuardian and Wiz. The security community spirit really shone through as we navigated the more than 350 possible sessions, summits, and villages that make up the event. We also had a lot of fun, getting to attend more after-parties than we can remember and seeing celebrity guest appearances from folks like Eric Idle of Monty Python, Superman Dean Cain, and Doc Brown himself, Christopher Lloyd.

View more...

8 Must-Know Tips to Achieve Successful Project Management

Aggregated on: 2023-08-14 14:01:27

The management of a project might be difficult and complicated. Regardless of your level of expertise, there are techniques to boost your project management performance. It may be useful to view some advice if you're new to project management. You can frequently find yourself contacting seniors as a project manager to get wise project management advice so that you can manage projects more effectively. We do, in fact, comprehend the challenge. 

View more...

IIoT Explained: Examples, Technologies, Benefits, and Challenges

Aggregated on: 2023-08-12 18:16:27

What Is the Industrial Internet of Things (IIoT)? The industrial internet of things, or IIoT, is a term used to describe the application of internet of things (IoT) technology in industrial settings. It encompasses the integration of advanced sensors, software, and machinery with internet connectivity to collect, analyze, and act upon vast amounts of data. This data-driven approach enables real-time decision-making and predictive analytics, leading to improved operational efficiency, reduced costs, and improved product quality. IIoT is a key component of Industry 4.0, the fourth industrial revolution, characterized by the fusion of digital, physical, and biological technologies. It's revolutionizing traditional industries, facilitating the transformation from manual and labor-intensive processes to automated, data-driven operations.

View more...

Decoupling Storage and Compute: Have We Gone Too Far?

Aggregated on: 2023-08-12 18:01:27

Data engineers discovered the benefits of conscious uncoupling around the same time as Gwyneth Paltrow and Chris Martin in 2014.  Of course, instead of life partners, engineers were starting to gleefully decouple storage and compute with emerging technologies like Snowflake (2012), Databricks (2013), and BigQuery (2010).

View more...

How to Implement Deception Technology

Aggregated on: 2023-08-12 18:01:27

Deception technology is a cybersecurity tactic that involves setting traps for potential intruders with fabricated versions of valuable assets. An organization’s security teams are alerted when cybercriminals are lured by this method.  This approach shortens the time required to detect and mitigate intrusions because security professionals know which network assets have attracted the hackers. Here are some best practices to follow if you’re considering using deception technology in your organization.

View more...

AI Tooling for Your Dev Team: To Adopt or Not to Adopt?

Aggregated on: 2023-08-12 17:46:27

Amid the escalating buzz surrounding AI tools, many development teams grapple with deciding which ones suit their needs best, when to adopt them, and the potential risks of not doing so. As AI continues to pose more questions than answers, the fear of falling behind the competition lurks for many. This week's episode of Dev Interrupted aims to dispel these uncertainties by welcoming CodiumAI’s founder and CEO, Itamar Friedman. In one of our most illuminating discussions this year, Itamar pierces through the AI hype, explaining what AI tools bring to the table, how to discern the ones that would truly augment your dev teams, and the strategies to efficiently identify and experiment with new tools.

View more...

10 Benefits of Cloud Computing for SMBs

Aggregated on: 2023-08-12 17:16:27

The rapid adoption of cloud computing is no coincidence. Small and medium-sized businesses (SMBs) businesses are now presented with the opportunity to break free from the constraints of traditional IT infrastructure and enjoy the numerous benefits the cloud has to offer. It has evolved to empower companies to work smarter, faster, and more securely. So, if you find yourself questioning the need to make this transition, fear not! Let's explore the benefits that make cloud computing a must-have for your SMB.

View more...

Building Cyber Resilience in an Age of Growing Threats

Aggregated on: 2023-08-12 17:16:27

In an increasingly interconnected world, the need for robust cybersecurity infrastructure resilience is now more critical than ever. Cyberattacks pose significant threats to nations, businesses, and individuals alike, with potentially devastating consequences. It is in this context that we can learn valuable lessons from Ukraine's cyber defenders, who have faced and overcome significant challenges during the Ukraine War. By examining their experiences and strategies, we can gain insights into building a more resilient future. This was the second keynote at Black Hat 2023 titled Phoenix Soaring: What we can learn from Ukraine's cyber defenders about building a more resilient future.

View more...

How To Use Docker Volume To Build Angular Application With Jenkins Pipeline

Aggregated on: 2023-08-11 23:31:26

In the realm of Docker, a volume refers to a durable storage destination that exists independently of the container. Volumes prove invaluable for preserving data that should endure beyond the container's lifecycle, even if the container is halted or deleted. The volume will be created when the container is built, and it can be accessed and modified by processes running inside the container.   Utilizing Volumes in a Docker Container Offers Several Compelling Advantages: Data Persistence: When you have critical data that must endure beyond a container's lifecycle, volumes provide the ideal solution. Storing items like database files or application logs in a volume ensures their preservation even if the container is halted or deleted. Sharing Data Among Containers: Volumes facilitate seamless data sharing among multiple containers. By leveraging a volume, you allow different containers to access the same data, making it convenient for storing shared configuration files or data utilized by multiple containers. Streamlining Data Management: Volumes contribute to efficient data management by decoupling data from the container itself. For instance, you can employ a volume to store data generated by the container and then easily access that data by mounting the volume on a host system, simplifying data handling and manipulation. In Jenkins pipelines, Docker volumes offer a convenient solution for building Angular projects without requiring the installation of the Angular library on the Jenkins node machine.

View more...

How DNS Checking Helps Developers

Aggregated on: 2023-08-11 23:31:26

As the digital landscape continues to evolve, the role of developers has become even more crucial. They are responsible for building and maintaining websites and applications that are not only functional but also reliable and secure. One crucial aspect of website and application performance is the Domain Name System (DNS). In this article, we will explore how DNS checking can greatly benefit developers in ensuring smooth and efficient operations. What Is DNS Checking? DNS checking, also known as DNS validation, refers to the process of verifying and analyzing the Domain Name System to ensure that it is functioning correctly. The DNS is essentially a decentralized system that translates domain names (e.g., www.example.com) into IP addresses (e.g., 192.0.2.1) to locate web servers and other resources on the internet.

View more...

Deploying Python and Java Applications to Kubernetes With Korifi

Aggregated on: 2023-08-11 23:16:26

Open-source Cloud Foundry Korifi is designed to provide developers with an efficient approach to delivering and managing cloud-native applications on Kubernetes with automated networking, security, availability, and more. With Korifi, the simplicity of the cf push command is now available on Kubernetes. In this tutorial, I will walk you through the installation of Korifi on kind using a locally deployed container registry. The installation process happens in two steps:

View more...

Smart vs. Cucumber BDD Using Java and JUnit5

Aggregated on: 2023-08-11 22:46:26

Cucumber is the leading Behavior-driven development (BDD) framework. It is language-agnostic and integrates with other frameworks. You write the specification/feature, then write the glue code, then write the test code.With Smart BDD, you write the code first using best practices, and this generates the following: Interactive feature files that serve as documentation Diagrams to better document the product The barrier to entry is super low. You start with one annotation or add a file to resources/META-INF!

View more...

Five Ways to Attain Maximum Productivity Through Agile/Scrum

Aggregated on: 2023-08-11 22:46:26

In the fast-moving business world, Agile and Scrum have become revolutionary methodologies that have reshaped project management. Maximum productivity ensures growth, boosts profitability and drives organizations toward achieving set goals: Agile and Scrum implementation have been seen to foster such results when applied correctly. Agile is a mindset that embodies different methodologies such as Scrum, Kanban, extreme programming (XP), lean development, and crystals.

View more...

How Qwik Works

Aggregated on: 2023-08-11 22:31:26

There are several so-called front-end frameworks in the web development context, and each has its own unique approach to handling speed and performance. Qwik is a front-end framework that adopted the 0 hydration or dehydration approach at an early stage, which could be popular for web application context in the future.This article describes the key concepts of Qwik and how to get started. Key Concepts Resumable and hydration Prefetching Optimizer   Qwikloader  Qwikcity Hydration and Resumablity Resumable can be linked to hydration, which means loading HTML first without JavaScript, then "hydrate" interactivity wherever needed.

View more...

Best Python Libraries for Web Scraping

Aggregated on: 2023-08-11 21:46:26

Web scraping has become an indispensable tool in today's data-driven world. Python, one of the most popular languages for scraping, has a vast ecosystem of powerful libraries and frameworks. In this article, we will explore the best Python libraries for web scraping, each offering unique features and functionalities to simplify the process of extracting data from websites. This article will also cover the best libraries and best practices to ensure efficient and responsible web scraping. From respecting website policies and handling rate limits to addressing common challenges, we will provide valuable insights to help you navigate the world of web scraping effectively.

View more...

How To Add a Chatbot to Your Drupal Website

Aggregated on: 2023-08-11 21:31:26

In this post, we are going to see how you can add a chatbot plugin to your Drupal websites. Drupal is a free and open-source web content management framework. Drupal is released under the GNU Public license. Some of the most popular websites, such as Harvard, BBC News, Red Cross, and Twitter, are built on Drupal. Let us now take a look at how to add a chatbot to your Drupal website.

View more...

Six Considerations When Building High-Performance Java Microservices With EDA

Aggregated on: 2023-08-11 20:46:26

Event-Driven Architecture (EDA) is a design principle focused on the creation, detection, and reaction to events. Renowned for its resilience and low latency, EDA is a reliable choice for developing robust, high-performing microservices. Moreover, this method can be helpful in improving productivity and making the process of cloud migration smoother. In this article, we will outline six key considerations and tactics for developing such services.

View more...

Exploring Path-Finding Algorithms for Wall-E

Aggregated on: 2023-08-11 20:31:26

The Story Behind A few years ago, Yandex organized a contest called Robots Couriers with an enticing prize: a ticket to a closed self-driving conference for professionals. The contest resembled a game, with participants tasked with finding optimal routes on a map and optimizing delivery using robotic couriers. As I delved into the topic, I discovered that despite route finding being a solved problem, it continued to be of interest to the professional game development community. Between 2010 and 2020, engineers made significant optimizations to the A* algorithm, particularly beneficial for AAA games with massive maps. Reading articles and research papers on these optimizations was an exciting experience.

View more...

Can Redis Be Used as a Relational Database?

Aggregated on: 2023-08-11 20:16:26

Let's start with the question, "How do you use Redis?" I'm sure most use it as a cache for the service. I hope you know that it can do more than just that. Recently, I spoke at a conference with a report on how we moved part of the data to Redis and requests fly to it in the first place. Now I want to tell you not about how we applied it, but about the fact that when working with Spring and its abstractions, you may not immediately notice the substitution. Let's try to write a small Spring app that will use two PostgreSQL and Redis databases. I want to note that we will store in the databases not some kind of flat object, but a full-fledged object from a relational database with nested fields (inner join). To do this, we need plugins that need to be installed in Redis such as RedisJSON and RediSearch. The first allows us to store our object in JSON format, and the second allows us to search by any field of our object, even nested fields.

View more...

Book Review: "OpenJDK Migration for Dummies"

Aggregated on: 2023-08-11 19:31:26

The subject of Java licensing and OpenJDK migration is complex and vital to many software engineers. I am no different. It's a topic often shrouded in legal jargon and technicalities, making it difficult to approach. "OpenJDK Migration for Dummies" by Simon Ritter offers a fresh perspective, breaking down these challenges into digestible segments (get it for free here). The book directly speaks to my core expertise in Java, providing clarity and guidance.

View more...

An In-Depth Look at Oracle MySQL HeatWave

Aggregated on: 2023-08-11 19:16:26

In the ever-evolving world of business, efficiency is key. The ability to optimize processes, improve performance, and drive growth is essential for staying ahead of the competition. One area where efficiency plays a crucial role is database management. As organizations deal with an ever-increasing volume of data, they need powerful and reliable database solutions to handle their workload effectively. This is where Oracle MySQL HeatWave comes into play. Oracle MySQL HeatWave is a game-changing technology that combines the power of online transaction processing (OLTP) and online analytical processing (OLAP) in a single, high-performance database. With its revolutionary architecture and advanced capabilities, HeatWave enables businesses to run complex analytics on their transactional data in real-time without the need for costly and time-consuming data extraction, transformation, and loading (ETL) processes.

View more...

Getting Started With Postgres: Three Free and Easy Ways

Aggregated on: 2023-08-11 18:46:26

Hello, fellow developers! This year, approximately 90,000 of us participated in the Stack Overflow survey. Impressively, we crowned Postgres as the #1 database. Moreover, DB Engines also spotlights PostgreSQL as one of the fastest-growing databases worldwide. What does this mean for us? It's clear that we should strive to become PostgreSQL experts. An essential step in this direction is setting up our own database for hands-on experiments. 

View more...

CI/CD Tools and Technologies: Unlock the Power of DevOps

Aggregated on: 2023-08-11 13:31:26

In the fast-paced world of software development, Continuous Integration and Continuous Deployment (CI/CD) have become indispensable practices in DevOps services. CI/CD enables teams to deliver software updates more frequently, efficiently, and with higher quality. To achieve these goals, developers rely on a range of cutting-edge tools and technologies that streamline their workflows and automate various stages of the development process. In this blog post, we will explore the key tools and technologies that contribute to an effective CI/CD pipeline in DevOps services, ensuring smooth and reliable software delivery. Version Control System (VCS) A solid foundation for any CI/CD process in DevOps services is a robust version control system. Git is the most widely used VCS, offering powerful branching and merging capabilities. Developers can collaborate seamlessly, track changes, and resolve conflicts efficiently, ensuring that code remains stable and secure. GitHub, GitLab, and Bitbucket are popular platforms that integrate Git and provide additional features like issue tracking, code reviews, and project management.

View more...

SQL Query Performance Tuning in MySQL

Aggregated on: 2023-08-11 12:46:26

In this article, we are going to learn how indexing table columns can help in the quick response time of SQL queries. We'll cover the steps for installing MySQL, creating stored procedures, analyzing queries, and understanding the impact of indexing. I have used MySQL version 8 on Ubuntu. Also, I used the Dbeavor tool as a MySQL client for connecting to the MySQL server. So let's learn together.

View more...

The EVM Compatibility Chronicles Part II

Aggregated on: 2023-08-11 01:46:26

We discussed the fundamentals of EVM, the need for EVM compatibility, and the general benefits in part I of the EVM compatibility chronicles. Now, let's delve into and explore the significance of EVM compatibility for Humanode, and gain insights directly from MOZGIII, Humanode's Tech Lead.

View more...

Part 1: Integrating Debezium Server and Memphis.dev for Streaming Change Data Capture (CDC) Events

Aggregated on: 2023-08-11 01:31:26

This is part one of a series of blog posts on building a modern event-driven system using Memphis.dev. Change data capture (CDC) is an architectural pattern that turns databases into sources for event-driven architectures. Frequently, CDC is implemented on top of built-in replication support. Changes to data (e.g., caused by INSERT, UPDATE, and DELETE statements) are recorded as atomic units and appended to a replication log for transmission to replicas. CDC software copies the events from the replica logs to streaming infrastructure for processing by downstream components.

View more...

A Guide to Boost Your Virtual Machine Gaming Performance

Aggregated on: 2023-08-11 01:31:26

In this article, we’ll explain what virtual machine gaming is all about and in what cases you can use it. You’ll also find out how to maximize performance and make gaming on a virtual machine smooth and pleasant. Virtual Machine Gaming: Setup and Performance Boost Virtualization creates many opportunities to optimize the use of hardware resources. That works not just for organizations that build high-performance servers to run complex environments but for regular people too.

View more...

Evolving Software Like an Orchardist

Aggregated on: 2023-08-11 01:31:26

Software systems are usually larger, overgrown structures that developers need to bring back into shape after some time. However, creating an overview of the sprawling conglomerate of software components is challenging, let alone developing a clear plan for moving on. This blog post uses analogies from pruning apple trees to show developers how to evolve their software systems using a value-based approach.Everyone is happy if one has a fruitful apple tree in the garden. The blossoms in spring are a feast for the eyes, and the apples you’ve harvested yourself in late summer taste the best! But after some years, when the apple tree gets older, it also gets weaker. The apples don’t shine in red anymore. Some of them are still green or already moldy. It seems that the apple tree is ill somehow. The reason is usually that the tree is simply too overgrown. Many water shoots weaken the vitality of the tree, the strength goes into the leaves, and there is nothing left anymore for the apples. But the solution is clear: the apple tree must become more vital again! There are many ways you can do this, from removing the water shoots to cutting off entire branches or replanting the whole apple tree. You can also do crazy things, like leaving some bigger branches to attach a swing to it. It all depends on the individual needs one has! Sure, a pruned apple tree looks a bit horrible at first when you see it after the pruning. But it positively affects it, allowing it to recover and build strength for the spring. You will be rewarded with a rich harvest in the summer and again enjoy a vital apple tree with delicious apples! Now at the very latest, you’re asking yourself: What the fiddlestick does this have to do with software systems? We can compare a software system with an apple tree (yes, it was predictable that this blog post would take this direction, but bear with me, it’s about to get more interesting!) A software system consists of many components, often tens or even hundreds of tiny little parts at specific places within a system (or a system of systems). Those components are, of course, somehow interconnected and form a tree-like structure if you look at a system from a certain point of view. (OK, I know, I know. In reality, this tree looks a little bit more complex, so let’s say there are many more connections between those components. Are you happy now? Yes? OK, then we can move on.) To make it even better, we, as software developers, like to have a different/special/nerdy view on trees. We like our trees upside down (for whatever reason). So let’s rotate that tree (for god’s sake. But it’s also better for me to get my points across later.) Of course, the elephant in the room is: What are the connections between the components? It could be anything like data flow, protocols, team dependencies and many more! But let’s keep it simple. Imagine you have a user of your system at the top. She needs something to be accomplished. The components below fulfill those needs but also have needs. The components below fulfill those needs but also have needs. The components … I think it’s clear what I want to say: We build a chain of needs from top to bottom. This view on our software system also gives us an additional hint regarding a component’s perceived value. Because the user at the top sees (more or less) the components at the top (e.g., by interacting with them directly like an app), she understands that those components deliver the things she wants to accomplish. Thus those components are especially valuable to her. With this approach, we get our tree of components similar to an apple tree! Similarly, we can discuss possible actions about how we want to evolve our software system. There are plenty of those actions we can think about (look at the end of this blog post for more information). But there is more: we can also see where it is easy to get our software system back in shape. Especially the components that a user can directly recognize are the ones that you can easily get started with. If there are problems in or with those components, business people will give us a lot of money to fix them. But it’s unfortunate when a component far from the user’s perception is problematic. A user (or product manager) cannot see this component directly. Therefore, it is unclear why to invest money here. But with our tree, we have a good chance of convincing the business even for those components. We connect the lower components with more visible components of the top by showing the advantageous features of the lower components and how they relate to the upper. By jumping over unnecessary components, we get those lower components in the “awareness zone” of users and product managers because those changes suddenly add value for them too! If we have found an interesting part of our software system (aka path(s) with components) to evolve, we can think about possible next steps and create and discuss that on a separate plan. This dedicated branch focuses on a specific situation with relevant users, their individual needs, and components that fulfill those needs. Subsequently, we add the next steps that show which components we want to evolve to the plan. This gives us a roadmap-like picture that we can use to communicate our small plan for the value-based evolution of our software system to business people. After we’ve finished several modernization plans like this, we get a nicely reshaped software system that can thrive, grow, … … and provide many new fruits because of our work! More Information Twitter thread “17 actions you can take to move your software system forward” A book about “strategic moves,” where you can find many things you can do with your software system with plenty of options that don’t even touch your codebase (German version in the making, English version planned for the end of 2023) List of awesome resources about modernizing legacy systems The Architecture Improvement Method aim42, a free and open-source collection of practices for modernizing software architectures BTW, actually, I’ve just introduced you to the essence of Wardley Mapping. Here you can find my TOP 5 recommendations that show how to start with this fascinating technique.

View more...

One-Click Deploying EMQX MQTT Broker on GCP Using Terraform

Aggregated on: 2023-08-10 22:46:26

MQTT is a lightweight messaging protocol commonly used in IoT (Internet of Things) applications to enable communication between devices. As a popular open-source MQTT broker, EMQX provides high scalability, reliability, and security for MQTT messaging. By using Terraform, a widespread Infrastructure as Code (IaC) tool, you can automate the deployment of EMQX MQTT Broker on GCP, making it easy to set up and manage your MQTT infrastructure.

View more...

How To Send Discord Embeds Without Bots and Rules Template

Aggregated on: 2023-08-10 21:46:26

Wouldn't you like your Discord server to stand out from the crowd? Read the tutorial all the way through to learn how to create the most beautiful Discord server. Discord Embeds are customized messages that contain information and/or media added by the user. They can include text, images, videos, and more. Embeds are a great way to enhance the user experience on Discord and make messages stand out.

View more...

Growth and Demand for Low Code Development

Aggregated on: 2023-08-10 21:31:26

In this article, we will delve into the key advantages and considerations when utilizing low-code platforms and discover how they are reshaping the landscape of software development. So, let's jump right in and uncover the next chapter of this exciting technological revolution! Definition and Brief Explanation of Low Code Development Low Code Development refers to a software development approach that aims to simplify and accelerate the process of building applications by reducing the amount of traditional hand-coding required. It involves using visual interfaces, drag-and-drop components, and pre-built functionalities to create software applications rather than relying heavily on manual coding.

View more...

JMS and Kafka Compared

Aggregated on: 2023-08-10 21:31:26

In this article, we explore the comparison between JMS (Java Message Service) and Kafka, two widely used messaging systems in modern applications. While both serve the purpose of enabling efficient communication between applications, they differ significantly in their design, features, and use cases.  In today's distributed architectures, where applications and services are spread across multiple nodes, messaging systems serve as the backbone for inter-application communication. They enable asynchronous and decoupled communication, allowing different components to exchange data reliably without being tightly coupled. By utilizing messaging systems, developers can build scalable, fault-tolerant, and loosely-coupled architectures that are flexible and resilient to failures.

View more...

Delving Into the Performance Features of Logical Replication in PostgreSQL 16

Aggregated on: 2023-08-10 20:31:26

In my last article, I examined the concept of replication methods in PostgreSQL and provided an overview of the main characteristics of logical replication incorporated into PostgreSQL 16. Now, I am going to explore the performance features associated with logical replication, showcase the steps for observing these features in real time, and share the outcomes of performance benchmarking. I want to spotlight two specific features of PostgreSQL 16 — parallel apply and binary copy. The parallel apply feature extends the capability to utilize parallel background workers at the subscriber node to facilitate the application of changes in large ongoing transactions. The specification of the number of parallel workers that should be engaged for assimilating changes from the publisher is determined by max_parallel_apply_workers_per_subscription. The binary copy, the second performance feature, permits logical replication to conduct the initial data copy in a binary format. This significantly enhances performance, particularly when copying tables containing binary columns.

View more...

Batch Processing: 4 Tactics to Make It Cost-Efficient and Reliable

Aggregated on: 2023-08-10 20:31:26

Many modern applications have a batch processing aspect to them and regularly run high-volume, repetitive data jobs. If you use the cloud and cloud-native technologies like Kubernetes, this area offers a great opportunity for cost optimization through approaches like event-driven autoscaling and spot instance automation. Here are the four tactics for cost-efficient and resilient batch processing:

View more...

Parsing Complex JSON in Kafka Source Using Apache SeaTunnel

Aggregated on: 2023-08-10 20:16:26

Version Information: SeaTunnel: apache-seatunnel-2.3.2-SNAPSHOT Engines: Flink 1.16.2 Zeta: Consistent with SeaTunnel Introduction Recently, we took over a data integration project where the upstream data was delivered to Kafka. Initially, we chose the SpringBoot+Flink approach to process the incoming data (referred to as Solution 1 below). However, after facing efficiency issues in the production environment, we turned our attention to the open-source project SeaTunnel. We discovered that SeaTunnel supports Kafka as a source and started exploring and testing it. In our development environment, we experimented with over 5 million records and achieved an efficiency of around 10,000 records per second. Consequently, we abandoned Solution 1 and adopted SeaTunnel for integrated data processing (Solution 2 below). During our exploration of SeaTunnel, we identified two methods. Method 2, compared to Method 1, offers a more comprehensive solution that handles various scenarios without concerns about data misalignment caused by unexpected characters within field values.

View more...

Custom Software vs. Readymade Software

Aggregated on: 2023-08-10 19:46:26

In the realm of software development, organizations often face the decision of whether to invest in custom software or opt for ready-made software solutions to address their specific needs. Both approaches have their advantages and disadvantages, and the choice depends on various factors such as budget, requirements, timeline, and long-term objectives.  What Is Software Development Lifecycle (SDLC)? SDLC, which stands for Software Development Life Cycle, is a structured and systematic approach used by software developers to design, develop, test, deploy, and maintain software applications or systems. It is a framework that guides the entire process from the initial idea and concept through to the final product's retirement. The primary goal of the SDLC is to ensure the creation of high-quality software that meets the user's requirements and is delivered on time and within budget.  

View more...

Request-Level Authentication and Authorization With Istio and Keycloak

Aggregated on: 2023-08-10 19:31:26

Kubernetes has made it easier to manage containerized microservices at scale. However, you get a limited set of security features with Kubernetes. A key component of application security is the prevention of unauthorized access. Standards-based identity and access management (IAM) for user authentication, such as SAML, WS-Fed, or the OpenID Connect/OAuth2 standards, have to be used to ensure secure access to the application. Multi-factor authentication (MFA) can also be implemented as an additional security measure. Yet there is no native way to implement these security features in Kubernetes. Even crucial security aspects like request-level authentication and authorization are not supported out of the box.

View more...

How To Build Cross-Platform Applications Using Rust, Tauri and Svelte

Aggregated on: 2023-08-10 18:46:26

Electron has revolutionized cross-platform desktop application development by allowing developers to leverage their web technologies at hand. This approach has power-driven popular applications like Atom, VSCode, and Postman. However, Electron apps encounter several comments for their higher memory usage compared to lower-level languages such as C, C++, Rust, or Go. In this article, we will introduce Tauri, an emerging framework that addresses some of the limitations of Electron. Tauri enables developers to build binaries for major desktop platforms while offering improved performance and reduced memory footprint. The tutorial section of the article will guide you through the process of creating basic commands, adding a window menu, and building an application using Tauri. Let's dive in and explore this exciting new framework!

View more...

Understanding Security Vulnerabilities: A First Step in Preventing Attacks

Aggregated on: 2023-08-10 18:46:26

When I was a teenager, our local telephone company introduced a new service — the premium phone calls (AKA 1-900 numbers). The fun part was that we discovered a workaround to these charges by dialing the sequential local numbers, which these 1-900 numbers would redirect to. If the "support number" for the 1-900 was 555-555, we would dial every number between 555-455 and 555-655 until we hit the jackpot... Hours were spent dialing these numbers, leading us to make numerous calls for free. This attack is still prevalent today, and it's called Insecure Direct Object References (IDOR).

View more...

How To Organize End-To-End Quality Assurance and Testing for E-Commerce Apps

Aggregated on: 2023-08-10 18:31:26

Today, e-commerce applications need to be highly reliable and of good quality to succeed. End-to-end (E2E) testing plays a vital role in verifying the behavior of a software system in simulated real-world user scenarios. In this article, I will delve into the importance of E2E testing for e-commerce apps, explaining how it can help identify common issues such as payment system errors, login issues, product display errors, and slow-loading pages. I will also outline a step-by-step process to organize and conduct E2E testing for e-commerce applications. What Is End-To-End Testing? Thorough testing at every stage ensures that the software system operates flawlessly in real-world usage scenarios. Testing the application's architecture from a user's perspective guarantees seamless collaboration of all components, including third-party services, that directly impact financial transactions, loyalty programs, and more.

View more...

Five Reasons We Use Open Source FreeBSD as Our Enterprise OS

Aggregated on: 2023-08-10 18:16:26

I sometimes surprise fellow technologists when I tell them that a successful digital payments company we built runs on FreeBSD. It’s not that they haven’t heard of FreeBSD — the open-source operating system turns 30 this year, after all. Rather, it’s that they hadn’t previously thought of FreeBSD as an enterprise OS. But that’s exactly what it is and how we use it: FreeBSD is a critical enterprise-grade OS that is on par with —and in some ways surpasses — other operating systems when working in enterprise environments.

View more...

Ordering in Event-Sourced Systems

Aggregated on: 2023-08-10 18:16:26

In a utopian world, Event Store will write events to the disk in the same order they have happened in real life. However, computers are not so good at observing things by themselves (yet); we (still) must tell them what to do. Hence, we must provide a way to deterministically order events inside the Event Store. A naive approach would be to attach a timestamp to each and every event and use it for ordering. The reason for its naiveness lies in the difficulty of synchronizing clocks across different machines in a distributed system. As a consequence, we mustn't rely on timestamps for ordering.

View more...

Revolutionizing IT: Ultraviolet’s Innovative Approach to Developer Efficiency

Aggregated on: 2023-08-10 18:16:26

Modern software demands speed, security, and scale. Ultraviolet is meeting these needs through a developer-focused approach that multiplies productivity while reducing complexity. At BlackHat 2023, Ultraviolet CTO Jake Groth outlined how the company leverages microservices, “as code” methodologies, and developer-created content to propel developer velocity. Microservices — a modular architecture of discrete, independent components — is central to Ultraviolet’s strategy. This contrasts with monolithic apps where developers wrestled with massive, convoluted codebases jammed with interdependent functions. With microservices, developers can concentrate on particular capabilities and roles, playing to their specialized strengths.

View more...

Monitoring vs. Observability in 2023: An Honest Take

Aggregated on: 2023-08-10 17:16:26

If you're running a software system, you need to know what’s happening with it: how it’s performing, whether it’s running as expected, and whether any issues need your attention. And once you spot an issue, you need information so you can troubleshoot. A plethora of tools promises to help with this, from monitoring, APMs, Observability, and everything in between. This has resulted in something of a turf war in the area of observability, where monitoring vendors claims they also do observability, while “observability-first” players disagree and accuse them of observability-washing.

View more...

Centralized Resource Display for Multiple Kubernetes Clusters

Aggregated on: 2023-08-10 14:46:26

Nowadays, it is common to have multiple Kubernetes clusters. There are a number of reasons why organizations might choose to have multiple clusters, including: To isolate different environments: For example, you might have one cluster for development, one for staging, and one for production. This can help to prevent problems in one environment from affecting other environments. To meet compliance requirements: Some organizations may have compliance requirements that dictate that certain applications must be deployed to separate clusters. To support different regions: You can deploy applications to different clusters in different regions to improve performance and availability for users in those regions. Importance of Having a Centralized Location for Viewing Resource Summaries Managing multiple Kubernetes clusters effectively requires a centralized location for viewing a summary of resources. Here are some key reasons why this is important:

View more...