
  <rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom">
    <channel>
      <title>Ahmad Assaf's Personal Space</title>
      <link>https://assaf.website/blog</link>
      <description>undefined</description>
      <language>en-us</language>
      <managingEditor>me@assaf.website (undefined)</managingEditor>
      <webMaster>me@assaf.website (undefined)</webMaster>
      <lastBuildDate>Invalid Date</lastBuildDate>
      <atom:link href="https://assaf.website/feed.xml" rel="self" type="application/rss+xml"/>
      
  <item>
    <guid>https://assaf.website/blog/category/management/introduction-to-classical-agile</guid>
    <title>Introduction to Classical Agile: Scrum and Kanban</title>
    <link>https://assaf.website/blog/category/management/introduction-to-classical-agile</link>
    <description>A comprehensive introduction to classical Agile methodologies, exploring the fundamentals of Scrum and Kanban, their key concepts, and how they help teams deliver value faster.</description>
    <pubDate>Fri, 14 Nov 2025 00:00:00 GMT</pubDate>
    <author>me@assaf.website (undefined)</author>
    <category>management</category>
  </item>

  <item>
    <guid>https://assaf.website/blog/category/management/performance-management-evolution</guid>
    <title>Rethinking Performance Management: From Annual Reviews to Continuous Growth</title>
    <link>https://assaf.website/blog/category/management/performance-management-evolution</link>
    <description>The evolution of performance management from dreaded annual reviews to agile practices, and ultimately to a more human-centered approach focused on growth and development.</description>
    <pubDate>Sun, 02 Nov 2025 00:00:00 GMT</pubDate>
    <author>me@assaf.website (undefined)</author>
    <category>management</category>
  </item>

  <item>
    <guid>https://assaf.website/blog/category/management/agile-project-management-evolution</guid>
    <title>The Evolution of Agile Project Management: From Trend to Practice</title>
    <link>https://assaf.website/blog/category/management/agile-project-management-evolution</link>
    <description>A personal journey through the evolution of agile project management - from the early days of trendy frameworks to improvement kata and current practices that actually work.</description>
    <pubDate>Tue, 14 Oct 2025 00:00:00 GMT</pubDate>
    <author>me@assaf.website (undefined)</author>
    <category>management</category>
  </item>

  <item>
    <guid>https://assaf.website/blog/category/engineering/creating-rich-blog-posts</guid>
    <title>Creating Rich & Interactive Blog Posts</title>
    <link>https://assaf.website/blog/category/engineering/creating-rich-blog-posts</link>
    <description>We explore how to create engaging content with interactive elements using unifiedJS, mdast, rehype, remark, and MDX</description>
    <pubDate>Wed, 22 Jan 2025 00:00:00 GMT</pubDate>
    <author>me@assaf.website (undefined)</author>
    <category>engineering</category>
  </item>

  <item>
    <guid>https://assaf.website/blog/category/engineering/moving-blog-to-nextjs</guid>
    <title>Migrating My Blog from Jekyll to Next.js and Tailwind CSS</title>
    <link>https://assaf.website/blog/category/engineering/moving-blog-to-nextjs</link>
    <description>Migrating from Jekyll to Next.js and Tailwind CSS has been a game-changer for my blog. The modern development practices, improved performance, and flexibility have significantly enhanced my workflow and the overall user experience.</description>
    <pubDate>Sun, 12 Jan 2025 00:00:00 GMT</pubDate>
    <author>me@assaf.website (undefined)</author>
    <category>engineering</category>
  </item>

  <item>
    <guid>https://assaf.website/blog/category/data/sparql-a-comprehensive-guide</guid>
    <title>How to Query RDF: A Comprehensive Guide to SPARQL</title>
    <link>https://assaf.website/blog/category/data/sparql-a-comprehensive-guide</link>
    <description>Lets dive into how to query RDF data, enabling you to extract meaningful insights from RDF graphs efficiently. This guide will cover the basics, common querying tools, advanced querying techniques, and best practices, ensuring you’re well-equipped to handle RDF data</description>
    <pubDate>Thu, 21 Nov 2024 00:00:00 GMT</pubDate>
    <author>me@assaf.website (undefined)</author>
    <category>data</category>
  </item>

  <item>
    <guid>https://assaf.website/blog/category/engineering/nextjs-react-link-preview</guid>
    <title>Embed/Preview inline links with React/Next.js and Rehype/MDX</title>
    <link>https://assaf.website/blog/category/engineering/nextjs-react-link-preview</link>
    <description>Embedding links in your content can be a powerful way to provide additional context or information. In this post, we explore how to create a custom MDX component to embed/preview inline links in your React/Next.js application using Rehype and MDX.</description>
    <pubDate>Thu, 14 Nov 2024 00:00:00 GMT</pubDate>
    <author>me@assaf.website (undefined)</author>
    <category>engineering</category>
  </item>

  <item>
    <guid>https://assaf.website/blog/category/engineering/guadi-bar-widget</guid>
    <title>Developing gaudiBar</title>
    <link>https://assaf.website/blog/category/engineering/guadi-bar-widget</link>
    <description>gaudiBar is an extensible, adaptive, and responsive system information bar for Übersicht, designed to provide a customizable desktop experience. It features modular widgets, smart context adaptation, and a flexible layout system, allowing users to easily personalize their macOS desktop with real-time system information and external data feeds</description>
    <pubDate>Thu, 19 Sep 2024 00:00:00 GMT</pubDate>
    <author>me@assaf.website (undefined)</author>
    <category>engineering</category>
  </item>

  <item>
    <guid>https://assaf.website/blog/category/engineering/build-dynamic-og-images</guid>
    <title>Build Dynamic Open Graph (OG) Images</title>
    <link>https://assaf.website/blog/category/engineering/build-dynamic-og-images</link>
    <description>How to build dynamic Open Graph images for your blog posts using Next.js and Vercel. This will allow you to have a unique image for each blog post that you can share on social media.</description>
    <pubDate>Thu, 01 Aug 2024 00:00:00 GMT</pubDate>
    <author>me@assaf.website (undefined)</author>
    <category>engineering</category>
  </item>

  <item>
    <guid>https://assaf.website/blog/category/engineering/nextjs-theme-switcher</guid>
    <title>Theme Switcher in Next.js</title>
    <link>https://assaf.website/blog/category/engineering/nextjs-theme-switcher</link>
    <description>In web applications, theming enhances user experience by offering personalization and visual appeal. Typically, a ThemeProvider Context manages themes throughout the application. This works well for fully client-side apps. However, developers need a solution for apps that combine client and server components, where theming depends on color-schema or className. With Next.js 14+, wrapping children in a Context automatically makes them client components. This blog post explores how to implement a ThemeProvider that avoids the need to wrap the entire application in a Context provider, addressing the challenges of mixed client-server environments.</description>
    <pubDate>Tue, 11 Jun 2024 00:00:00 GMT</pubDate>
    <author>me@assaf.website (undefined)</author>
    <category>engineering</category>
  </item>

  <item>
    <guid>https://assaf.website/blog/category/engineering/transcribing-audio-with-openai</guid>
    <title>Transcribing Audio & Video Using OpenAI Whisper API</title>
    <link>https://assaf.website/blog/category/engineering/transcribing-audio-with-openai</link>
    <description>Audio transcription using OpenAI Generative AI model is not supported yet via the UI. To do this, you need to use the API and this comes with its own set of challenges. This post will show you how to do this task using OpenAI with a bit of Python</description>
    <pubDate>Thu, 23 May 2024 00:00:00 GMT</pubDate>
    <author>me@assaf.website (undefined)</author>
    <category>engineering</category>
  </item>

  <item>
    <guid>https://assaf.website/blog/category/engineering/gaudi-my-bash-framework</guid>
    <title>Gaudi-bash: My Bash Framework</title>
    <link>https://assaf.website/blog/category/engineering/gaudi-my-bash-framework</link>
    <description>Gaudi-bash is a collection of bash scripts that I use to power up my machine. It is a modular framework that allows you to add new scripts and features easily.</description>
    <pubDate>Wed, 21 Feb 2024 00:00:00 GMT</pubDate>
    <author>me@assaf.website (undefined)</author>
    <category>engineering</category>
  </item>

  <item>
    <guid>https://assaf.website/blog/category/engineering/using-contentLayer-with-nextjs</guid>
    <title>Using ContentLayer with Next.js</title>
    <link>https://assaf.website/blog/category/engineering/using-contentLayer-with-nextjs</link>
    <description>I have been using ContentLayer for a while now and I am loving it. It is a powerful tool that allows me to manage my blog content with ease. Here is how I am using it with Next.js</description>
    <pubDate>Wed, 15 Nov 2023 00:00:00 GMT</pubDate>
    <author>me@assaf.website (undefined)</author>
    <category>engineering</category>
  </item>

  <item>
    <guid>https://assaf.website/blog/category/engineering/enabling-structured-data-jsonld-nextjs</guid>
    <title>Enabling Semantic Linked Data in Your Next.js Blog</title>
    <link>https://assaf.website/blog/category/engineering/enabling-structured-data-jsonld-nextjs</link>
    <description>In this post, I will show you how to add structured JSON-LD metadata to your Next.js blog to make it more SEO-friendly and improve its visibility on search engines. It is a simple process that can have a significant impact on your blog performance.</description>
    <pubDate>Tue, 05 Sep 2023 00:00:00 GMT</pubDate>
    <author>me@assaf.website (undefined)</author>
    <category>engineering</category>
  </item>

  <item>
    <guid>https://assaf.website/blog/category/engineering/navigating-nextjs-dynamic-routing</guid>
    <title>Working with Next.js Dynamic Routing and Pagination</title>
    <link>https://assaf.website/blog/category/engineering/navigating-nextjs-dynamic-routing</link>
    <description>Next.js dynamic routing is extremely powerful! However, I ran into few issues trying to make that work with paginating dynamic category pages for my blog. I will share how I managed to work it out here</description>
    <pubDate>Sat, 15 Jul 2023 00:00:00 GMT</pubDate>
    <author>me@assaf.website (undefined)</author>
    <category>engineering</category>
  </item>

  <item>
    <guid>https://assaf.website/blog/category/data/introduction-to-semantic-web</guid>
    <title>Introduction to Semantic Web</title>
    <link>https://assaf.website/blog/category/data/introduction-to-semantic-web</link>
    <description>In the same way that Web 1.0 abstracted away the network and physical layers, the Semantic Web abstracts away the document and application layers involved in the exchange of information. The Semantic Web connects facts, so that rather than linking to a specific document or application</description>
    <pubDate>Fri, 21 Apr 2023 00:00:00 GMT</pubDate>
    <author>me@assaf.website (undefined)</author>
    <category>data</category>
  </item>

  <item>
    <guid>https://assaf.website/blog/category/data/intro-knowledge-graphs</guid>
    <title>An Introduction to Knowledge Graphs</title>
    <link>https://assaf.website/blog/category/data/intro-knowledge-graphs</link>
    <description>Knowledge Graphs are a powerful tool for organizing and representing information in a structured way. In this post, we explore the concept of Knowledge Graphs, their applications, and how they are transforming the way we interact with data.</description>
    <pubDate>Mon, 22 Feb 2021 00:00:00 GMT</pubDate>
    <author>me@assaf.website (undefined)</author>
    <category>data</category>
  </item>

  <item>
    <guid>https://assaf.website/blog/category/productivity/latex-best-practices</guid>
    <title>LaTeX Tips and Best Practices</title>
    <link>https://assaf.website/blog/category/productivity/latex-best-practices</link>
    <description>Completing a Ph.D. can be a hell of a task. It took me lots of time to come up with a framework to optimize how I do research and write and execute deliverables. This post can help you in completing yours.</description>
    <pubDate>Mon, 27 Mar 2017 00:00:00 GMT</pubDate>
    <author>me@assaf.website (undefined)</author>
    <category>productivity</category>
  </item>

  <item>
    <guid>https://assaf.website/blog/category/engineering/auditing-npm-modules-in-microservices</guid>
    <title>Auditing NPM Modules in Microservices</title>
    <link>https://assaf.website/blog/category/engineering/auditing-npm-modules-in-microservices</link>
    <description>Where I work at Beamery we follow Microservices Architecture and have a good 20+ git repositories. With time, these repos become bloated with old NPM modules that are either outdated or not used anymore at all. I wanted to find a way to easily audit and clean this mess.</description>
    <pubDate>Sat, 01 Oct 2016 00:00:00 GMT</pubDate>
    <author>me@assaf.website (undefined)</author>
    <category>engineering</category>
  </item>

  <item>
    <guid>https://assaf.website/blog/category/engineering/power-up-a-hero-blog-with-jekyll</guid>
    <title>Power-up a hero blog with Jekyll</title>
    <link>https://assaf.website/blog/category/engineering/power-up-a-hero-blog-with-jekyll</link>
    <description>Having had my blog on WordPress for a while now, I thought I need a lighter platform especially since my blog content is very lightweight and I don't need a fully-fledged CRM. Another reason to move away from WordPress was the need to have a collaborative effort and to write posts in Markdown. I have finally decided on Jekyll for its simplicity and extensibility</description>
    <pubDate>Wed, 21 Sep 2016 00:00:00 GMT</pubDate>
    <author>me@assaf.website (undefined)</author>
    <category>engineering</category>
  </item>

  <item>
    <guid>https://assaf.website/blog/category/data/an-objective-assessment-framework-tool-for-linked-data-quality</guid>
    <title>An Objective Assessment Framework and Tool for Linked Data Quality</title>
    <link>https://assaf.website/blog/category/data/an-objective-assessment-framework-tool-for-linked-data-quality</link>
    <description>The standardization of Semantic Web technologies and specifications has resulted in a staggering volume of data being published. In this post, I propose an objective assessment framework for Linked Data quality after having surveyed the landscape of Linked Data quality tools to discover that they only cover a subset of the proposed quality indicators</description>
    <pubDate>Mon, 22 Feb 2016 00:00:00 GMT</pubDate>
    <author>me@assaf.website (undefined)</author>
    <category>data</category>
  </item>

  <item>
    <guid>https://assaf.website/blog/category/engineering/enabling-continuous-deployment-for-jekyll</guid>
    <title>Enabling Continuous Deployment for Jekyll</title>
    <link>https://assaf.website/blog/category/engineering/enabling-continuous-deployment-for-jekyll</link>
    <description>Having open sourced my blog on Github, deploying a new version of it live happens very often, and to do that manually every time is a daunting task. This post talks about my experience enabling Continuous Deployment (CD) using Github, TravisCI and my server on DigitalOcean and discuss what I tried and how I failed trying other methods</description>
    <pubDate>Wed, 03 Feb 2016 00:00:00 GMT</pubDate>
    <author>me@assaf.website (undefined)</author>
    <category>engineering</category>
  </item>

  <item>
    <guid>https://assaf.website/blog/category/data/towards-a-harmonized-dataset-model</guid>
    <title>Towards a Harmonized Dataset Model for Open Data Portals</title>
    <link>https://assaf.website/blog/category/data/towards-a-harmonized-dataset-model</link>
    <description>We first conduct a unique and comprehensive survey of seven metadata models: CKAN, DKAN, Public Open Data, Socrata, VoID, DCAT and Schema.org. Next, we propose a Harmonized Dataset modeL (HDL) based on this survey</description>
    <pubDate>Wed, 22 Jul 2015 00:00:00 GMT</pubDate>
    <author>me@assaf.website (undefined)</author>
    <category>data</category>
  </item>

  <item>
    <guid>https://assaf.website/blog/category/engineering/stepping-up-your-dev-game</guid>
    <title>Stepping Up Your Development Environment Game!</title>
    <link>https://assaf.website/blog/category/engineering/stepping-up-your-dev-game</link>
    <description>Setting up a proper development environment can be a tedious task. This post walks you through various configuration and automatic bash scripts that I have created to help automate setting up your development environment</description>
    <pubDate>Sat, 23 May 2015 00:00:00 GMT</pubDate>
    <author>me@assaf.website (undefined)</author>
    <category>engineering</category>
  </item>

  <item>
    <guid>https://assaf.website/blog/category/engineering/dotfiles-for-the-public</guid>
    <title>Dotfiles For The Public</title>
    <link>https://assaf.website/blog/category/engineering/dotfiles-for-the-public</link>
    <description>Your dotfiles will help you create powerful and consistent shell shortcuts and functions, settings for your editors, color coding and layouts for your shell, preferences and authentication for ssh and mysql and other protocols, and more</description>
    <pubDate>Thu, 21 May 2015 00:00:00 GMT</pubDate>
    <author>me@assaf.website (undefined)</author>
    <category>engineering</category>
  </item>

  <item>
    <guid>https://assaf.website/blog/category/data/introduction-multi-dimenstional-dbs</guid>
    <title>Introduction to Multidimensional Databases</title>
    <link>https://assaf.website/blog/category/data/introduction-multi-dimenstional-dbs</link>
    <description>The multidimensional model presents data as facts with associated numerical values called measures or dimensions that characterize the facts and they are “mostly” textual. In this post, we talk about the databases that allow us to store and manipulate complex multidimensional data.</description>
    <pubDate>Wed, 22 Apr 2015 00:00:00 GMT</pubDate>
    <author>me@assaf.website (undefined)</author>
    <category>data</category>
  </item>

  <item>
    <guid>https://assaf.website/blog/category/data/everything-you-need-to-know-about-rdf</guid>
    <title>Everything You Need to Know About RDF</title>
    <link>https://assaf.website/blog/category/data/everything-you-need-to-know-about-rdf</link>
    <description>Humans share, consume and produce knowledge using natural language; however presenting this knowledge in a machine readable and understandable format can be difficult. This post discusses the Resource Description Framework (RDF) which is the main data modeling block of the Semantic Web</description>
    <pubDate>Sat, 22 Nov 2014 00:00:00 GMT</pubDate>
    <author>me@assaf.website (undefined)</author>
    <category>data</category>
  </item>

  <item>
    <guid>https://assaf.website/blog/category/data/whatsup-lod-cloud</guid>
    <title>Whats up LOD Cloud?</title>
    <link>https://assaf.website/blog/category/data/whatsup-lod-cloud</link>
    <description>We have created a tool that automatically validates, corrects and generates dataset metadata for CKAN based data portals. In this post, I present the results of running it on the LOD cloud hosted on the DataHub and comparing the results with those of Africas largest open data portal, openAfrica.</description>
    <pubDate>Thu, 21 Aug 2014 00:00:00 GMT</pubDate>
    <author>me@assaf.website (undefined)</author>
    <category>data</category>
  </item>

    </channel>
  </rss>
