Explore the differences between qualitative and quantitative research.
Also find me here:
Baeldung Editor
Milos Simic
I'm a Ph.D. student in AI at the University of Belgrade. My fields of interest are machine learning, search, statistics, and data analysis. I have a strong background in programming and algorithms in general, always looking for new challenges.
Here's what I've reviewed (so far):
Baeldung on Computer Science
- All
- Programming (43)
- Machine Learning (28)
- Networking (27)
- Security (23)
- Latex (17)
- OS (16)
- Math and Logic (12)
- Software Architecture (11)
- Algorithms (10)
- Deep Learning (9)
- Computer Vision (9)
- Graphs (5)
- Data Structures (4)
- Data Science (4)
- Artificial Intelligence (4)
- Web (3)
- Sorting (3)
- Core Concepts (3)
- Concurrency (3)
- Trees (1)
- Searching (1)
- Research (1)
- Methodology (1)
What Is Identity and Access Management?
Filed under Networking, Security
Learn about identity and access management (IAM) and why it’s implementation is important for online security.
Octet String: What Is it?
Filed under Networking
Learn when to use the term octet string.
What Is Industry 4.0?
Filed under Artificial Intelligence
Learn about the fourth industrial revolution and advanced technologies it introduces in production and manufacturing.
GELU Explained
Filed under Deep Learning, Machine Learning
Learn what distinguishies GELU from other activation functions we use in neural networks.
How to Cause a Connection Timeout Error
Filed under Networking
Learn a few ways of causing a connection timeout error.
What Is the Difference Between .cer and .pfx File
Filed under Security
Learn about the differences between .cer and .pfx files.
Are Parallel Calls to Send/Recv on the Same Socket Valid?
Filed under Networking
Find out when parallel calls to send/receive on the same socket are valid and when you can use them.
Disk Scheduling: The SCAN Algorithm
Filed under OS
Learn about the SCAN scheduling algorithm.
What Is Endpoint Detection and Response?
Filed under Networking, Security
Learn about Endpoing Detection and Response, how it works, and how it can enhance security.
What Are i.i.d. Random Variables?
Filed under Math and Logic
Learn what it means when we say that random variables are independent and identically distributed and why this isn’t always easy to check.
Do 32-bit Apps Run Faster or Slower on 64-bit Operating Systems?
Filed under Software Architecture
Find out if your 32-bit app can run faster on a 64-bit system.
Shell vs. Kernel vs. API
Filed under OS, Programming
Learn the differences between kernels, shells, and APIs.
Test Scenario vs. Test Case
Filed under Programming
Learn the difference between test scenarios and cases and why it’s important to know it.
Overleaf Tutorial
Filed under Latex
Explore Overleaf, a popular online LaTeX editor.
Networking: DHCP vs. NAT
Filed under Networking
Explore the differences between DHCP and NAT.
How to Handle Unbalanced Data With SMOTE?
Filed under Machine Learning
Learn how to use SMOTE to balance an ubalanced dataset.
SSL Overhead: What It Is and How to Reduce It?
Filed under Networking
Learn what causes the SSL overhead and how to reduce it.
What’s the Difference Between Cross-Entropy and KL Divergence?
Filed under Machine Learning, Math and Logic
Explore the differences between the cross entropy and KL divergence.
Differences Between Verification and Validation in Software Testing
Filed under Programming
Are verification and validation the same thing in software testing?
How Do Multi-Level Page Tables Save Memory Space?
Filed under OS
Learn how multi-level page tables save RAM space.
Differences Between Repository and Service?
Filed under Software Architecture
Learn the differences between repositories and services.
How Do AI Image Generators Work?
Filed under Deep Learning, Machine Learning
Learn how AI models, such as DALL·E, generate images.
What Is Usability Testing?
Filed under Programming
Learn about usability testing.
What Is TinyML?
Filed under Machine Learning
Learn about TinyML.
Vertex Coloring in Graphs
Filed under Graphs
Explore a quadratic algorithm for approximating the chromatic number of a graph.
How to Make a School Timetable?
Filed under Algorithms
Make a school timetable by solving a constraint satisfaction problem.
Infrastracture as a Code
Filed under Software Architecture
Learn what Infrastructure-as-a-code means.
How to Convert Radians to Degrees and Vice Versa?
Filed under Math and Logic
Learn how to convert from radians to degrees and vice versa.
Open Source Explained
Filed under Programming
Learn about the open-source movement.
Context Switches in Operating Systems
Filed under Concurrency, OS
Learn what happens when a process or a thread is about to release the CPU.
What Is Bundle Adjustment?
Filed under Computer Vision
Bundle adjustment enhances the accuracy and reliability of 3D scene reconstructions from multiple images and camera views. Learn how to use it in computer vision and photogrammetry.
Part-of-Speech Tagging With Hidden Markov Model
Filed under Artificial Intelligence
Learn how to use hidden Markov models to assign part-of-speech categories to words in a sentence.
Microservices vs. Service-Oriented Architecture
Filed under Software Architecture
Compare microservices to service-oriented architecture (SOA).
Differences Between Hackers and Crackers
Filed under Security
Learn about hacker types and the difference between hackers and crackers.
Software Testing: State Transition
Filed under Programming
Learn about state transition in software testing.
Outbox Pattern in Microservices
Filed under Software Architecture
Learn how to implement the Outbox Pattern for microservices.
How Do ID Tokens Work?
Filed under Networking, Security
Learn about the advantages and shortcomings of ID tokens and how to implement them.
How Does Chosen Ciphertext Attack Work?
Filed under Security
Learn how the chosen ciphertext attack works.
Interpolation Search
Filed under Searching
Learn how Interpolation Search works.
How Does MPEG-4 Compression Work?
Filed under Algorithms
Learn about MPEG-4 compression methods.
What Are Access and Refresh Tokens?
Filed under Networking
Explore access and refresh tokens and learn how to implement them.
Introduction to LyX
Filed under Latex
LyX is a easy-to-use “What You See Is What You Mean” text editor with LaTeX as its backend engine. This tutorial covers the basics of LyX.
Machine Learning vs. Deep Learning
Filed under Deep Learning
Learn the difference between standard machine learning and deep learning.
Methods to Protect Software From Piracy
Filed under Security
Learn how to protect your software from piracy.
Event-Driven Architecture
Filed under Software Architecture
Learn about the software design approach called event-driven architecture (EDA).
Software Testing: Decision Table
Filed under Programming
Learn how to use decision tables in software testing.
Software Testing: Equivalence Partitioning
Filed under Programming
Learn about equivalence partitioning in software testing.
Step-By-Step Installation of Lyx on Linux, macOS, and Windows
Filed under Latex
LyX is a document processor that uses LaTeX internally. In this tutorial, we cover how to install it on Windows, macOS, and Linux systems.
Python for Machine Learning
Filed under Machine Learning, Programming
Why is Python so popular in machine learning? Read the article to find out.
Can a Virus Be Inserted in an Image?
Filed under Security
Find out how a virus can be hidden in an image file and get executed when you view the infected image.
Software Testing: Defect, Bug, Error, and Failure
Filed under Programming
This article explains the differences between the key terms of software testing.
Deauthentication Attacks
Filed under Security
Explore deauthentication attacks.
Entry and Exit Criteria in Software Testing
Filed under Programming
Find out about entry and exit criteria in the phases of software testing.
An Introduction to Deepfakes
Filed under Deep Learning
Explore the deepfake technology and its benefits and dangers.
Software Test Life Cycle
Filed under Programming
Explore STLC (Software Test Life Cycle), its phases, and best practices.
What Is a Direct Mapped Cache?
Filed under OS
Learn about direct mapping, a technique for storing and finding a main memory address in a cache.
Bagging, Boosting, and Stacking in Machine Learning
Filed under Machine Learning
Learn about three techniques for improving the performance of ML models: boosting, bagging, and stacking, and explore their Python implementations.
The Drawbacks of K-Means Algorithm
Filed under Machine Learning
Learn about the drawbacks of K-means and its alternatives and improvements.
Difference Between Lock and Latch in Database
Filed under Security
Find about the differences between locks and latches, two synchronization mechanisms in databases.
Data Classification
Filed under Security
Learn about the best practices when it comes to data security.
The Difference Between Type and Class
Filed under Programming
Explore the differences between types and classes in programming.
Security: a Brief Review of Claims-Based Authentication
Filed under Networking, Security
Explore the concept of claims-based authentication.
Playfair Cipher
Filed under Security
Learn about Playfair Cipher, one of the earliest cryptographic algorithms.
How to Prevent Session Hijacking?
Filed under Networking
Learn about the security attack called session hijacking and measures you can take to prevent it.
What Is Zero Trust Security?
Filed under Security
Zero trust security (or zero trust architecture, ZTA) is a security strategy based on the “never trust, always verify” and “grant minimal privileges” principles. Learn how to structure your software system to implement ZTA successfully.
What Are Key Derivation Functions?
Filed under Security
What do we use a KDF for in cryptography?
What Is Exploratory Testing?
Filed under Programming
Learn about exploratory testing.
How Does the Amazon Recommendation System Work?
Filed under Algorithms
Explore Amazon’s recommendation system.
How to Draw Work Breakdown Structures with LaTeX/TikZ
Filed under Latex
Learn how to draw and customize a WBS with tikz.
Machine Learning: Analytical Learning
Filed under Machine Learning
Learn how analytical machine learning combines prior knowledge and domain theories with traditional inductive learning methods.
Statistics: Correlation vs. Regression
Filed under Data Science
Learn the difference between correlation and regression, two statistical techniques we use to analyze the relationship between variables.
Positive and Negative Testing
Filed under Programming
What do we use positive testing for, and how is it different from negative testing?
Software Development and Testing Life Cycles
Filed under Methodology
Learn about the software development life cycle and how the testing life cycle fits into it.
Pre-master Secret vs. Master Secret vs. Private Key vs. Shared Secret
Filed under Security
Learn how secrets and keys work in an SSL/TLS handshake.
Multiple Figures With the Same Caption in LaTeX
Filed under Latex
Explore several ways of defining and subfigures in LaTeX.
Menger’s Theorem
Filed under Graphs
Learn about Menger’s Theorem, which tells us how many nodes to remove from a graph to disconnect any two vertices in it.
Clipping in Computer Graphics
Filed under Core Concepts
Learn about types of clipping in computer graphics.
Software Engineering vs. Data Science
Filed under Data Science, Programming
Explore the differences between software engineering and data science to make an informed career choice.
Binomial Heaps
Filed under Data Structures
Learn about binomial heaps.
Hungarian Notation
Filed under Programming
Learn about the Hungarian notation and its advantages and shortcomings.
What Does TCP DUP ACK Mean?
Filed under Networking
Learn how duplicate acknowledgment packets are used in the transmission control protocol (TCP).
How Do Self-Organizing Maps Work?
Filed under Machine Learning
Learn how self-organizing maps (SOMs) work.
What Are Impersonation Attacks?
Filed under Networking, Security
Learn what impersonation attacks are.
Best Open-Source Mixed Integer Optimization Solver
Filed under Programming
Compare three open-source mixed-integer optimizers.
Cross-Site Scripting (XSS) Explained
Learn about cross-site scripting (XSS) attacks and how to prevent them.
Regular Expression for Checking if a String Is a Valid URL
Filed under Web
Learn how to check if a string is a valid URL.
URL Matrix Parameters vs Query Parameters
Filed under Networking, Security
Learn the difference between query and matrix parameters of an URL.
OS-Specific Software
Filed under OS
Find out why os-specific software is sometimes made.
Controlled Access Protocols: Token Passing
Filed under Networking
Explore token access control protocols in ring networks.
Security: Interruption vs. Interception vs. Modification vs. Fabrication
Filed under Networking, Security
Learn about four types of cybersecurity attacks: interruption, interception, modification, and fabrication.
What Are Contours in Computer Vision?
Filed under Computer Vision
Learn how to find the contour of an object in an image.
What Is Mob Programming?
Filed under Programming
Learn about mob programming.
Software Metrics: Lines of Code
Filed under Programming
Explore LOC, a software size metric that counts physical and logical lines of code.
Real-Time Systems
Filed under Core Concepts
Explore the concept of real-time systems.
The Basics of Internet Control Message Protocol
Filed under Networking
Learn about ICMP.
2D Convolution as a Matrix-Matrix Multiplication
Filed under Computer Vision, Machine Learning
Learn how to do convolution with matrices.
Lazy vs. Eager Learning
Filed under Machine Learning
Learn the difference between lazy and eager machine learning.
Wi-Fi 6 Explained
Filed under Networking
Explore the new features of Wi-Fi 6.
Bitwise Shift Operators
Filed under Math and Logic, Programming
Explore left and right bit shift operators.
What Are Downstream Tasks?
Filed under Machine Learning
Learn about downstream tasks in machine learning.
Image Recognition: One-Shot Learning
Filed under Computer Vision
Explore one-shot learning in image-recognition problems.
How to Scale Equations in LaTeX Using \resizebox?
Filed under Latex
Learn how scale LaTeX equations with \resizebox.
LaTeX: \include vs. \input
Filed under Latex
Learn the difference between LaTeX commands \input and \include.
What’s the Difference Between an Ethernet Cable and a UTP Cable?
Filed under Networking
Explore differences between UTP and Ethernet cables.
Binary Synchronous Communications Protocol
Filed under Networking
An introduction to BISYNC, Binary Synchronous Communications Protocol.
CORS, CSP, and Their Differences
Filed under Networking, Security
Explore CORS and CSP.
Address Binding in Operating Systems
Filed under OS
Learn about address binding in operating systems.
What Is Blob Storage?
Filed under Software Architecture, Web
Explore blobs and Blob Storage.
Differences Between Abstraction and Encapsulation
Filed under Programming
Learn the differences between abstraction and encapsulation in object-oriented programming.
Recognizable vs. Co-recognizable vs. Decidable Languages
Filed under Math and Logic
Learn the differences between recognizable, co-recognizable, and decidable languages.
What Is Software Prototyping?
Filed under Programming
Learn what software prototyping is.
Natural Language Processing: Bleu Score
Filed under Artificial Intelligence
Learn about the BLEU score in NLP.
The Havel-Hakimi Algorithm
Filed under Algorithms, Graphs
Explore the Havel-Hakimi algorithm.
Software Quality
Filed under Programming
Learn how to define and measure software quality.
User Thread vs Kernel Threads
Filed under OS, Programming
Explore differences between user and kernel threads.
Cuckoo Hashing
Filed under Algorithms, Data Structures
Learn how cuckoo hashing works.
What Are Multi-way Search Trees?
Filed under Data Structures, Trees
Explore multi-way search trees.
Capability Maturity Model
Filed under Programming
Explore the capability maturity model and its levels.
What Does PAC Learning Theory Really Mean?
Filed under Machine Learning
Learn what PAC (probably approximately correct) means.
The Stable Marriage Problem
Filed under Algorithms, Math and Logic
An intro to the stable marriage problem and an algorithm for solving it.
What Are Planar Graphs?
Filed under Graphs
Explore plane and planar graphs.
Black Widow Optimization Algorithm (BWO)
Filed under Algorithms
Learn about Black Widow Optimization, a metaheuristic algorithm inspired by black widow spiders.
How to Define Variables in LaTeX?
Filed under Latex
Learn how to define and use variables in LaTeX.
Finding Strongly Connected Components: Kosaraju’s Algorithm
Filed under Graphs
Explore the Kosaraju’s algorithm for finding strongly connected components in a graph.
XOR Swap
Filed under Math and Logic, Programming
Learn how to swap two variables with exclusive or.
Modulus Division
Filed under Math and Logic
Learn how modulus division works.
How to Convert Finite Automata to Regular Expressions?
Filed under Algorithms
Learn how to convert a finite state machine into a regular expression.
Graph Attention Networks
Filed under Machine Learning
Explore graph neural networks that use attention.
Enumerators vs. Constants
Filed under Programming
Compare enums to constants.
What Is Quality of Service in Networking ?
Filed under Networking
Learn about the ways to define and measure the quality of service in networking.
What’s the P99 Latency?
Filed under Networking
Learn about the P99 latency.
Circuit Switching vs. Packet Switching
Filed under Networking
Explore the differences between circuit and packet switching techniques.
Private vs. Protected Access Modifiers
Filed under Programming
Learn the differences between the private and protected access modifiers in object-oriented programming.
Off-by-One Error
Filed under Programming
Learn what the off-by-one error is and how to avoid it.
Differences Between Hinge Loss and Logistic Loss
Filed under Machine Learning
Explore the hinge and logistic loss functions.
Machine Learning: How to Format Images for Training
Filed under Machine Learning
Learn some popular techniques for preprocessing image data before training.
Class vs. Object in OOP
Filed under Programming
Find out more about the differences between classes and objects in object-oriented programming.
What Are Handlers in Programming?
Filed under Programming
Explore the types of handlers in the world of computer programming.
What Are Coroutines?
Filed under Programming
Explore coroutines and how to use them for cooperative programming.
Compiler, Linker, Assembler, and Loader
Filed under OS
Explore the differences between compilers, linkers, assemblers, and loaders.
Information Theory
Filed under Math and Logic
A quick introduction to information theory.
Error Handling
Filed under Programming
Explore exceptions and how to handle them.
Preemptive and Non-Preemptive Scheduling
Filed under OS
Learn the differences between preemptive and non-preemptive scheduling techniques.
What Is Adware?
Filed under Security
Learn about adware.
How Do Threads Share Resources?
Filed under Concurrency, OS
Learn what resources threads share.
Tabu Search
Filed under Algorithms
Learn more about Tabu Search.
One-Hot Encoding Explained
Filed under Machine Learning
Introduction to one-hot encoding.
Feature Selection in Machine Learning
Filed under Machine Learning
Introduction to feature selection methods in machine learning.
Headless Software
Filed under Programming, Software Architecture
Learn what headless means in the software world.
Lookup Table in Databases
Filed under Core Concepts, Software Architecture
Learn about lookup tables.
Zombie Processes in Operating Systems
Filed under OS
Introduction to zombie processes in operating systems.
DLL Hell Problem
Filed under OS
Learn about DLL Hell and how to solve it.
Static vs. Dynamic Linking
Filed under OS
Explore differences between static and dynamic linking.
Dividing Table Cells in LaTeX
Filed under Latex
Learn how to split table cells horizontally, vertically, and diagonally in LaTeX.
Vanilla Software and Programming
Filed under Programming
Find out what vanilla means in software engineering.
Ad-hoc Programming
Filed under Programming
Learn what ad hoc means in programming.
Single-Threaded vs Multiple-Threaded Apartments in COM
Filed under Concurrency
Explore the differences between STA and MTA threading models.
How to Include PDF Files in LaTeX Documents
Filed under Latex
Learn how to insert pages from an existing PDF file into your LaTeX document.
Wrapping Text in LaTeX Tables
Filed under Latex
Learn how to wrap text in a LaTeX table.
What’s a Buffer?
Filed under OS, Programming
Learn about buffers.
Word-Count in LaTeX Documents
Filed under Latex
Learn how to count words in a LaTeX document.
How to Write URLs in LaTeX
Filed under Latex
Learn how to show URLs in LaTeX.
Cache-Friendly Code
Filed under OS, Programming
Learn how to write cache-friendly code.
What Is Content-Based Image Retrieval?
Filed under Machine Learning
Learn about Content-Based Image Retrieval and its differences from Text-Based Image Retrieval.
The XOR Operation
Filed under Math and Logic
Learn about the exclusive or (XOR).
Differences Between Computer Vision and Image Processing
Filed under Computer Vision
Explore the differences between computer vision and image processing.
Bitonic Sort
Filed under Sorting
Learn how Bitonic Sort works.
What Is Constrained Optimization?
Filed under Math and Logic
Learn about constrained optimization and how to solve such problems.
Best Data Structure for Dictionaries
Filed under Data Structures
Learn how to implement a dictionary of a natural language.
Orthogonality in Computer Programming
Filed under Programming
Learn what orthogonality means in computer science.
Defining Loops in a LaTeX Document
Filed under Latex
Learn how to define loops in LaTeX.
How to Use SVG Images in LaTeX
Filed under Latex
Learn how to insert SVG images into LaTeX documents.
Computer Vision: Stereo 3D Vision
Filed under Computer Vision
Explore stereo 3D vision.
What Are Image Histograms?
Filed under Computer Vision
Learn what image histograms are and when to use them.
Introduction to GUID
Filed under Software Architecture
Learn what GUID is.
How to Include Images in LaTeX Documents
Filed under Latex
Learn how to insert images into LaTeX documents.
Instance Segmentation vs. Semantic Segmentation
Filed under Computer Vision, Deep Learning
Explore semantic and instance segmentation.
Adding Hyperlinks in LaTeX
Filed under Latex
Learn how to add hyperlinks to LaTeX documents.
If-Else and Switch
Filed under Programming
Explore differences between if-else and switch statements.
Data Augmentation
Filed under Deep Learning, Machine Learning
Explore data augmentation techniques.
How to Calculate the Star Rating
Filed under Algorithms
Explore the Star Rating System.
What Is Fine-Tuning in Neural Networks?
Filed under Machine Learning
Learn about fine-tuning neural networks.
Odd-Even Transposition Sort
Filed under Sorting
Explore the Odd-Even Transposition Sort algorithm.
Message Brokers vs. Enterprise Service Buses
Filed under Software Architecture
Explore the differences between a message broker and an enterprise service bus.
Understanding Heapsort
Filed under Sorting
Explore the Heapsort algorithm.
Why Is Using Global Variables Considered a Bad Practice?
Filed under Programming
Learn about global variables.
Hidden Markov Models vs. Conditional Random Fields
Filed under Artificial Intelligence
Explore the differences between Hidden Markov Models and Conditional Random Fields.
Silhouette Plots
Filed under Data Science, Machine Learning
Explore the silhouette values for clustering.
Node Impurity in Decision Trees
Filed under Machine Learning
Explore node impurity in Decision Trees.
Differences Between Missing Data and Sparse Data
Filed under Data Science, Machine Learning
Learn the differences between sparse and missing data.
Differences Between Backpropagation and Feedforward Networks
Filed under Deep Learning, Machine Learning
Learn the differences between backpropagation and feedforward neural networks.
How to Find the Authoritative Name Server for a Domain?
Filed under Networking
Learn how to find the authoritative name server of a domain.
Cross-Validation: K-Fold vs. Leave-One-Out
Filed under Deep Learning, Machine Learning
Explore the differences between k-fold leave-one-out cross-validation techniques.
What Are Callback Functions?
Filed under Programming
Explore the callback functions.
Recurrent vs. Recursive Neural Networks in Natural Language Processing
Filed under Deep Learning, Machine Learning
Explore the difference between the recurrent and recursive neural networks in natural language processing.
Intersection Over Union for Object Detection
Filed under Computer Vision, Math and Logic
Learn about Intersection over Union.
What Is a URI?
Filed under Networking
Learn about Unified Resource Identifiers.
What Sets the RST Flag?
Filed under Networking, Security
Learn what sets the Reset flag in the TCP/IP protocol.