<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:dc="http://purl.org/dc/elements/1.1/">
  <channel>
    <title>DEV Community: Anne Ndungu</title>
    <description>The latest articles on DEV Community by Anne Ndungu (@andungu).</description>
    <link>https://dev.to/andungu</link>
    <image>
      <url>https://media2.dev.to/dynamic/image/width=90,height=90,fit=cover,gravity=auto,format=auto/https:%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Fuser%2Fprofile_image%2F3841888%2F5d797fe8-9186-474e-8f91-060c9f4e1fe6.PNG</url>
      <title>DEV Community: Anne Ndungu</title>
      <link>https://dev.to/andungu</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://dev.to/feed/andungu"/>
    <language>en</language>
    <item>
      <title>How Ramalama makes AI boring</title>
      <dc:creator>Anne Ndungu</dc:creator>
      <pubDate>Tue, 31 Mar 2026 12:32:51 +0000</pubDate>
      <link>https://dev.to/andungu/how-ramalama-makes-ai-boring-4mhc</link>
      <guid>https://dev.to/andungu/how-ramalama-makes-ai-boring-4mhc</guid>
      <description>&lt;p&gt;&lt;strong&gt;Ramalama&lt;/strong&gt;&lt;br&gt;
RamaLama is a command-line interface (CLI) for running AI models in containers on your personal machine.&lt;/p&gt;

&lt;p&gt;Building a local Retrieval-Augmented Generation (RAG) system using RamaLama transforms a complex AI architecture into a manageable, boring workflow by treating models as standard system assets. &lt;/p&gt;

&lt;p&gt;This approach moves AI away from specialized cloud environments and into the hands of researchers and developers as a local utility.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;The Architecture of Local RAG&lt;/strong&gt;&lt;br&gt;
The process of building this system involves three core stages &lt;/p&gt;

&lt;p&gt;&lt;strong&gt;1. Model Acquisition &amp;amp; Standardization&lt;/strong&gt;&lt;br&gt;
Instead of managing proprietary APIs, RamaLama pulls models from open registries like Hugging Face and Ollama. It does this by using OCI-compliant transports e.g. hf:// or ollama://, the models are stored as standard containers.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;2. Local Infrastructure Validation&lt;/strong&gt;&lt;br&gt;
Running models like TinyLlama or IBM Granite within a virtualized Fedora environment proves that high-performance AI can run on modest hardware e.g. 8GB RAM without cloud dependency.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;3. Operational Reliability&lt;/strong&gt;&lt;br&gt;
Off-line reliability of the models is a major advantage. Once the data and models are cached, the RAG system remains functional without constant internet access, protecting data privacy.&lt;/p&gt;

&lt;p&gt;Version Control also Resolves mismatches between model iterations such as Granite 3.0 and 3.1 ensures the retrieval engine always points to the correct local cache.&lt;/p&gt;

&lt;p&gt;Of course its not without its challenges. Size of models can be a big hurdle especially when using a local machine with limited space. Continuous auditing of the local OCI prevents redundant downloads and metadata timeout errors, which are critical for maintaining a stable production environment.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Final Outcome&lt;/strong&gt;&lt;br&gt;
Local RAG is no longer a high-barrier experimental project. It is a reproducible, audited, and stable workflow where AI models are treated as just another part of the Linux technical stack.&lt;/p&gt;

</description>
      <category>ai</category>
      <category>ramalama</category>
      <category>fedora</category>
      <category>rag</category>
    </item>
    <item>
      <title>DOCLING: A how to guide to parsing multilingual documents.</title>
      <dc:creator>Anne Ndungu</dc:creator>
      <pubDate>Tue, 31 Mar 2026 10:20:14 +0000</pubDate>
      <link>https://dev.to/andungu/docling-a-how-to-guide-to-parsing-multilingual-documents-4lkf</link>
      <guid>https://dev.to/andungu/docling-a-how-to-guide-to-parsing-multilingual-documents-4lkf</guid>
      <description>&lt;p&gt;&lt;strong&gt;Docling&lt;/strong&gt; simplifies document processing, parsing diverse formats and providing seamless integrations with the gen AI.&lt;/p&gt;

&lt;p&gt;This guide summarizes the workflow for extracting high-fidelity text from documents containing intertwined languages (Dutch, French, English) while bypassing hardware restrictions and linguistic bias.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;1. Environment Setup &amp;amp; Hardware Constraints&lt;/strong&gt;&lt;br&gt;
When working in restricted Linux environments (like Fedora with user quotas), avoid full VLM downloads (e.g., IBM Granite) if you have less than 5GB of free home directory space.&lt;br&gt;
For a more stable experience with diverse OCR engines, Windows 10/11 provides easier management of system-level language packs.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;2. Solving the Python 3.13 Compatibility Gap&lt;/strong&gt;&lt;br&gt;
If you are using the latest Python 3.13, legacy Tesseract wrappers may hang or crash due to outdated C-extensions.&lt;br&gt;
To resolve this Use RapidOCR ONNX engine under tesseract hardware.&lt;/p&gt;

&lt;p&gt;RapidOCR utilizes the ONNX Runtime, which is platform-independent and meshes perfectly with Python 3.13. It provides the speed of modern AI with the stability required for new environments.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;3. Step-by-Step Implementation Workflow&lt;/strong&gt;&lt;br&gt;
Install Tesseract with Multi-Lang Support.&lt;br&gt;
During the Windows installation, manually check the boxes for Dutch, French, and English in the Additional Language Script components. &lt;br&gt;
Use Docling as your primary framework but configure it to use the RapidOCR ONNX engine to ensure it doesn't crash on Python 3.13.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fy5qw7u0n7kgbn7067zl1.JPG" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fy5qw7u0n7kgbn7067zl1.JPG" alt=" " width="800" height="605"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Bypass Language Tagging&lt;/strong&gt;&lt;br&gt;
Instead of injecting a single priority code in your script (which causes bias), rely on the system-level backend of tesseract to recognize the languages natively.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;4. Export to Markdown&lt;/strong&gt;&lt;br&gt;
Direct your output to .md files. This preserves the structural layout tables and headers better than plain .txt.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Key Findings&lt;/strong&gt;&lt;br&gt;
Identify Tagging Differences&lt;br&gt;
Different engines use different codes for the same language (e.g., "nld" for RapidOCR and &lt;em&gt;nl&lt;/em&gt; for EasyOCR). If you use the code method ensure the language code is correct to avoid errors.&lt;/p&gt;

&lt;p&gt;Injecting too many language codes into a small model often leads to guessing. System-level integration is the only way to maintain true linguistic integrity when working with one document that has multiple languages.&lt;/p&gt;

</description>
      <category>docling</category>
      <category>parcing</category>
      <category>ramalama</category>
      <category>fedora</category>
    </item>
    <item>
      <title>Outreachy: A beginners guide on how to get started</title>
      <dc:creator>Anne Ndungu</dc:creator>
      <pubDate>Wed, 25 Mar 2026 09:45:18 +0000</pubDate>
      <link>https://dev.to/andungu/outreachy-a-beginners-guide-on-how-to-get-started-2anf</link>
      <guid>https://dev.to/andungu/outreachy-a-beginners-guide-on-how-to-get-started-2anf</guid>
      <description>&lt;p&gt;As most of you I was looking for a way to break into open source and didn't know where to begin. Then one day I came by a post on social media talking about Outreachy.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;What is Outreachy&lt;/strong&gt;&lt;br&gt;
Outreachy is an organization that provides paid internships to people who are underrepresented in the tech industry of their country. &lt;br&gt;
Outreachy's goal is to diversify open source by supporting those who face systemic bias. &lt;/p&gt;

&lt;p&gt;&lt;strong&gt;What does Outreachy offer?&lt;/strong&gt;&lt;br&gt;
The organization offers projects from different companies that sum up to a 3 month paid internship. The reward is a 7000$USD stipend for selected applicants. &lt;/p&gt;

&lt;p&gt;&lt;strong&gt;How to apply&lt;/strong&gt;&lt;br&gt;
Outreachy runs two cohorts a year, if you miss the application window you will have to wait up to 6 months to apply again. To get started you will need to sign up for their mailing list on the Outreachy website to get notified when the application dates are open. &lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Initial application&lt;/strong&gt;&lt;br&gt;
The initial phase begins with a series of essays each applicant has to answer to check your eligibility. Reading the website instructions will show exactly what the mentors are looking for. They insist on not using AI as they want to know your real lived experiences dealing with biases and underrepresentation you have faced in tech. Try to be early in your application and dont wait till the last day as there are thousands of applicants who apply each year and only so many can be chosen to move on to the next phase. &lt;/p&gt;

&lt;p&gt;&lt;strong&gt;The waiting phase&lt;/strong&gt;&lt;br&gt;
Once you hit submit there is a waiting period of a few weeks where the organizers will review the essays and make their selections. Do not be scared, just be patient! In the meantime, you can check the Outreachy website for dates on when the initial applicant list will be released. &lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Choosing the right project&lt;/strong&gt;&lt;br&gt;
Once you are approved you have now moved into the contribution phase. You need to choose 1 or 2 projects that you think suit your skills. There are a variety and you will find the right fit for you. My advice would be to choose something you are really passionate about. &lt;br&gt;
Once you have picked a project, join the chat rooms and discussion boards to start getting involved. Reach out to your project mentors and ask questions that will help you figure out your first tasks. &lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Onboarding&lt;/strong&gt;&lt;br&gt;
You've chosen your project and you are now ready to get started. More than likely the project you selected will have provided their preferred communication channels. Join them! &lt;/p&gt;

&lt;p&gt;Once you are in the channels and chat rooms Introduce yourself! Share your background, why you’re interested in this specific project, and what you hope to learn. Dont just jump into solving issues and fixing bugs. Instead look for pages and write ups that guide you. At fedora where i'm currently onboarding these pages include a "good first issues" page that will lay out what kind of tasks you will need to show interest in and get selected for before you can start contributing. &lt;/p&gt;

&lt;p&gt;Remember that the mentors will always be there to show you the way when you are stating your journey. &lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Good Luck&lt;/strong&gt;&lt;br&gt;
Outreachy is competitive and you will need to be proactive in your chosen projects to stand out, You dont need to be an expert but you do need to show you are available and excited to get involved for the various tasks given to you. The rest is up to your own hard work and dedication!&lt;/p&gt;

&lt;p&gt;Leave a comment below with any questions or experiences with the Outreachy application phase! &lt;/p&gt;

</description>
      <category>beginners</category>
      <category>tutorial</category>
      <category>outreachy</category>
      <category>fedora</category>
    </item>
    <item>
      <title>Fedora: My journey into open source OS</title>
      <dc:creator>Anne Ndungu</dc:creator>
      <pubDate>Tue, 24 Mar 2026 20:36:19 +0000</pubDate>
      <link>https://dev.to/andungu/fedora-my-journey-into-open-source-os-40fl</link>
      <guid>https://dev.to/andungu/fedora-my-journey-into-open-source-os-40fl</guid>
      <description>&lt;p&gt;&lt;strong&gt;What is Fedora?&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;Fedora is a free and open source operating system based on the Linux kernel. But its more than just a software it's developed by a global collaboration of contributors. The fedora project is the community behind the code. A global group of collaborators all working together towards this common goal.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;My journey into Fedora&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;My journey started through an Outreachy application that was accepted on the 20th of March 2026. Outreachy rolled out it's initial applicants list and we each had to pick a project that best matched our strengths. With my background in data science Fedora project stood out to me immediately. In particular it was the project asking us to develop a Large language model(LLMs). I love data and building models and I'm always looking to collaborate on impactful research. &lt;/p&gt;

&lt;p&gt;So I picked Fedora and the journey began.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;The First Days&lt;/strong&gt;&lt;br&gt;
So far I’ve spent time navigating the mailing lists, joining the mentoring rooms, diving into AI/ML SIG (special interest groups) chats, and interacting with fellow new comers. What I’ve realized is Fedora is something much bigger, it’s a global community built on a very specific set of values. &lt;br&gt;
The biggest of those is &lt;strong&gt;communication&lt;/strong&gt;. Fedora relies on its community to constantly ask questions, speak up and share. Although the platforms infrastructure can seem quite vast and confusing at first with many rooms, platforms and sites to keep track of. Every time I felt lost there was always someone on the other side of a message ready to guide me. &lt;/p&gt;

&lt;p&gt;&lt;strong&gt;The four Fs of Fedora&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;The first things we had to learn about Fedora was their culture and in particular the four Fs that guide the project:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Freedom: The commitment to free software and content.&lt;/li&gt;
&lt;li&gt;Friends: A welcoming, global community of people.&lt;/li&gt;
&lt;li&gt;Features: A focus on creating excellence through technical innovation.&lt;/li&gt;
&lt;li&gt;First: A drive to be at the cutting edge of the open-source world.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;strong&gt;New on the platform?&lt;/strong&gt;&lt;br&gt;
I'm still new here and im learning the ropes so I know how it feels to be confused. If you are a new collaborator or an Outreachy applicant like me, that feeling of being intimidated at first is overwhelming but normal. Imposter syndrome can lead to questions like "&lt;em&gt;do I need to be a Linux expert to start?&lt;/em&gt;" &lt;strong&gt;The answer is no&lt;/strong&gt;. The first step of joining the platform and introducing yourself is all you need. Someone will be there to help you figure out the right place to go and the right task to start with.&lt;/p&gt;

&lt;p&gt;A fedora journey of a thousand miles begins with this single step.   &lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Are you also starting your open source journey? Leave a comment below and let me know your experience with Fedora!&lt;/strong&gt;&lt;/p&gt;

</description>
      <category>fedora</category>
      <category>opensource</category>
      <category>outreachy</category>
      <category>datascience</category>
    </item>
  </channel>
</rss>
