Posts

Latest Post

Visualizing your SBOMs via graph...

Introduction   pyspdxtools is a Python library and command-line tool that provides utilities for working with Software Bill of Materials (SBOM) files in the SPDX (Software Package Data Exchange) format. SPDX is a widely adopted standard for documenting the open-source software components used in a project, along with associated metadata such as licenses, copyrights, and relationships between components.  Why Generate a Graph from an SBOM?    Visualizing an SBOM as a graph helps you quickly understand the relationships between components, dependencies, and packages. By generating a graph, you can: -  Identify Key Dependencies : Easily spot core libraries or components that are crucial to the software.  Understand Relationships : Visualize how different packages are connected, including dependencies and sub-dependencies. With this tutorial, you’ll be able to generate such a graph from your SPDX SBOM using `pyspdxtools`, making it easier to analyze and present your software’s component r

Understanding NTIA's Minimum Elements for SBOMs: A Comprehensive Guide

Image
  𝐔𝐧𝐝𝐞𝐫𝐬𝐭𝐚𝐧𝐝𝐢𝐧𝐠 𝐒𝐁𝐎𝐌𝐬: 𝐀 𝐐𝐮𝐢𝐜𝐤 𝐆𝐮𝐢𝐝e 𝐏𝐮𝐫𝐩𝐨𝐬𝐞 𝘚𝘉𝘖𝘔𝘴 𝘧𝘰𝘳𝘮 𝘢 𝘧𝘰𝘶𝘯𝘥𝘢𝘵𝘪𝘰𝘯𝘢𝘭 𝘥𝘢𝘵𝘢 𝘭𝘢𝘺𝘦𝘳 𝘧𝘰𝘳 𝘧𝘶𝘳𝘵𝘩𝘦𝘳 𝘴𝘦𝘤𝘶𝘳𝘪𝘵𝘺 𝘵𝘰𝘰𝘭𝘴 𝘢𝘯𝘥 𝘱𝘳𝘢𝘤𝘵𝘪𝘤𝘦𝘴. 𝐄𝐱𝐚𝐦𝐩𝐥𝐞: 𝘐𝘮𝘢𝘨𝘪𝘯𝘦 𝘣𝘶𝘪𝘭𝘥𝘪𝘯𝘨 𝘢 𝘩𝘰𝘶𝘴𝘦 (𝘴𝘦𝘤𝘶𝘳𝘪𝘵𝘺 𝘵𝘰𝘰𝘭𝘴) 𝘰𝘯 𝘢 𝘴𝘰𝘭𝘪𝘥 𝘧𝘰𝘶𝘯𝘥𝘢𝘵𝘪𝘰𝘯 (𝘚𝘉𝘖𝘔). 𝘞𝘪𝘵𝘩𝘰𝘶𝘵 𝘢 𝘴𝘵𝘶𝘳𝘥𝘺 𝘧𝘰𝘶𝘯𝘥𝘢𝘵𝘪𝘰𝘯, 𝘵𝘩𝘦 𝘩𝘰𝘶𝘴𝘦 𝘤𝘰𝘶𝘭𝘥 𝘦𝘢𝘴𝘪𝘭𝘺 𝘤𝘰𝘭𝘭𝘢𝘱𝘴𝘦. 𝘚𝘪𝘮𝘪𝘭𝘢𝘳𝘭𝘺, 𝘚𝘉𝘖𝘔𝘴 𝘱𝘳𝘰𝘷𝘪𝘥𝘦 𝘵𝘩𝘦 𝘦𝘴𝘴𝘦𝘯𝘵𝘪𝘢𝘭 𝘥𝘢𝘵𝘢 𝘵𝘩𝘢𝘵 𝘴𝘦𝘤𝘶𝘳𝘪𝘵𝘺 𝘵𝘰𝘰𝘭𝘴 𝘳𝘦𝘭𝘺 𝘰𝘯 𝘵𝘰 𝘪𝘥𝘦𝘯𝘵𝘪𝘧𝘺 𝘢𝘯𝘥 𝘮𝘪𝘵𝘪𝘨𝘢𝘵𝘦 𝘳𝘪𝘴𝘬𝘴 𝘦𝘧𝘧𝘦𝘤𝘵𝘪𝘷𝘦𝘭𝘺. 𝐎𝐯𝐞𝐫𝐯𝐢𝐞𝐰 𝐨𝐟 𝐍𝐓𝐈𝐀 𝐚𝐧𝐝 𝐒𝐁𝐎𝐌 𝐈𝐧𝐢𝐭𝐢𝐚𝐭𝐢𝐯𝐞𝐬 𝘛𝘩𝘦 𝘕𝘢𝘵𝘪𝘰𝘯𝘢𝘭 𝘛𝘦𝘭𝘦𝘤𝘰𝘮𝘮𝘶𝘯𝘪𝘤𝘢𝘵𝘪𝘰𝘯𝘴 𝘢𝘯𝘥 𝘐𝘯𝘧𝘰𝘳𝘮𝘢𝘵𝘪𝘰𝘯 𝘈𝘥𝘮𝘪𝘯𝘪𝘴𝘵𝘳𝘢𝘵𝘪𝘰𝘯 (𝘕𝘛𝘐𝘈) 𝘪𝘴 𝘢 𝘜.𝘚. 𝘨𝘰𝘷𝘦𝘳𝘯𝘮𝘦𝘯𝘵 𝘢𝘨𝘦𝘯𝘤𝘺 𝘸𝘪𝘵𝘩𝘪𝘯 𝘵𝘩𝘦 𝘋𝘦𝘱𝘢𝘳𝘵𝘮𝘦𝘯𝘵 𝘰𝘧 𝘊𝘰𝘮𝘮

Why Virtual Memory is Crucial Despite Having Real Memory ??

 Why Virtual Memory is Crucial Despite Having Real Memory ??  In the early days of computing, programs directly used real memory, also known as RAM. This approach led to two major problems: external fragmentation and internal fragmentation. Understanding Fragmentation: Imagine memory as a large whiteboard where programs can write their instructions. Fragmentation occurs when this whiteboard gets divided into unusable chunks. External Fragmentation: This happens when free memory becomes scattered across the whiteboard in small pockets. Even though the total free space might be enough for a new program, its non-contiguous nature makes it unusable.  Internal Fragmentation: This occurs when memory is allocated in fixed-size blocks. Suppose a program needs 101 KB, but the smallest allocation size is 128 KB. The remaining 27 KB becomes unusable, creating internal fragmentation. Virtual Memory to the Rescue To overcome these limitations, virtual memory was introduced. It acts as an intermedia

Build a Slack activity dashboard with Metabase

Image
Introduction In this article, we will be leveraging Airbyte - an open-source data integration platform and Metabase - an open-source way for everyone in your company to ask questions and learn from data - to build the Slack activity dashboard above. Airbyte provides us with a rich set of source connectors, and one of those is the Slack connector which allows us to get data off a Slack. We are going to use this connector to get the data of the Slack Workspace and copy them into a Postgres database destination. And then will connect Postgres database with Metabase in order to create the activity dashboard. Pre-requisites: Git Docker Docker Compose Airbyte Postgres Database Metabase Slack Step 1: Replicating data from Slack to Postgres with Airbyte Deploying Airbyte There are several easy ways to deploy Airbyte, as listed here. For this tutorial, I will just use the Docker Compose method from my workstation:  ``` $ git clone https://github.com/airbytehq/airbyte.git $ cd airbyte $ docke