<?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: Valentine</title>
    <description>The latest articles on DEV Community by Valentine (@valentine-it).</description>
    <link>https://dev.to/valentine-it</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.us-east-2.amazonaws.com%2Fuploads%2Fuser%2Fprofile_image%2F3964922%2F601e5dd6-816d-40f2-8915-4df7eedbcbaf.jpeg</url>
      <title>DEV Community: Valentine</title>
      <link>https://dev.to/valentine-it</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://dev.to/feed/valentine-it"/>
    <language>en</language>
    <item>
      <title>From Learning the Basics to Finally Writing Ruby Code</title>
      <dc:creator>Valentine</dc:creator>
      <pubDate>Wed, 07 Oct 2026 04:49:17 +0000</pubDate>
      <link>https://dev.to/valentine-it/from-learning-the-basics-to-finally-writing-ruby-code-1i31</link>
      <guid>https://dev.to/valentine-it/from-learning-the-basics-to-finally-writing-ruby-code-1i31</guid>
      <description>&lt;p&gt;My journey with Ruby has been an interesting transition from simply learning programming concepts to finally sitting down and writing Ruby code myself.&lt;br&gt;
When I first started learning Ruby, I spent most of my time trying to understand the fundamentals: variables, methods, parameters, arguments, scope, classes, modules, and method chaining. At first, some of these concepts seemed simple when explained, but writing them myself made me realize that understanding code and actually producing working code are two different things.&lt;br&gt;
Today felt like an important step forward.&lt;br&gt;
I finally spent time experimenting with Ruby directly inside IRB (Interactive Ruby). Instead of only reading examples, I started defining my own methods, calling them, making mistakes, changing the code, and observing how Ruby behaved.&lt;br&gt;
One of the methods I experimented with was a simple cube function:&lt;br&gt;
def cube(num)&lt;br&gt;
  num * num * num&lt;br&gt;
end&lt;/p&gt;

&lt;p&gt;puts cube(3)&lt;/p&gt;

&lt;p&gt;Output:&lt;br&gt;
27&lt;/p&gt;

&lt;p&gt;It is a small piece of code, but there is a lot happening here. num is the parameter, 3 is the argument, and Ruby evaluates the expression and returns 27.&lt;br&gt;
I also experimented with Ruby's return behavior:&lt;br&gt;
def cube(num)&lt;br&gt;
  num * num * num&lt;br&gt;
  2&lt;br&gt;
end&lt;/p&gt;

&lt;p&gt;This returns 2, not 27, because Ruby automatically returns the last evaluated expression in a method unless we explicitly use return.&lt;br&gt;
Then I tried:&lt;br&gt;
def cube(num)&lt;br&gt;
  return num * num * num&lt;br&gt;
  2&lt;br&gt;
end&lt;/p&gt;

&lt;p&gt;This returns 27 because once Ruby reaches return, the method stops executing.&lt;br&gt;
These experiments are helping me understand something important about learning programming: mistakes are part of the process. Sometimes changing one line and seeing an unexpected result teaches me more than simply reading the correct solution.&lt;br&gt;
I'm still learning Ruby, and there is a lot more ahead, especially as I move deeper into object-oriented programming and Ruby on Rails. But I'm happy with the progress so far.&lt;br&gt;
From asking "What exactly is a parameter?" and "What's the difference between a parameter and an argument?" to actually writing and testing methods in IRB — that's progress.&lt;br&gt;
The journey continues. One method, one error, and one lesson at a time.&lt;/p&gt;

</description>
      <category>beginners</category>
      <category>coding</category>
      <category>learning</category>
      <category>ruby</category>
    </item>
    <item>
      <title>WordPress: Where “Just a Simple Website” Begins</title>
      <dc:creator>Valentine</dc:creator>
      <pubDate>Thu, 10 Sep 2026 20:31:08 +0000</pubDate>
      <link>https://dev.to/valentine-it/wordpress-where-just-a-simple-website-begins-4cgc</link>
      <guid>https://dev.to/valentine-it/wordpress-where-just-a-simple-website-begins-4cgc</guid>
      <description>&lt;p&gt;When I first started working with WordPress, I thought it would be straightforward.&lt;/p&gt;

&lt;p&gt;Create a page. Add some HTML and CSS. Customize it. Done.&lt;/p&gt;

&lt;p&gt;Then came the plugins.&lt;/p&gt;

&lt;p&gt;Then the themes.&lt;/p&gt;

&lt;p&gt;Then the widgets.&lt;/p&gt;

&lt;p&gt;Then the mysterious moment when you change one setting and suddenly ask yourself:&lt;/p&gt;

&lt;p&gt;“What did I just break?”&lt;/p&gt;

&lt;p&gt;That’s one thing I’ve come to enjoy about WordPress. It makes you curious.&lt;/p&gt;

&lt;p&gt;You start exploring how themes work, how plugins extend functionality, how the frontend connects with the backend, and how small changes can affect an entire website.&lt;/p&gt;

&lt;p&gt;It has also reminded me that being a developer isn't only about writing code. It's about understanding systems, troubleshooting problems, experimenting, and learning from what breaks.&lt;/p&gt;

&lt;p&gt;Sometimes you build something that works perfectly.&lt;/p&gt;

&lt;p&gt;Sometimes you break it.&lt;/p&gt;

&lt;p&gt;Then you fix it.&lt;/p&gt;

&lt;p&gt;And somehow, you learn more from the second experience.&lt;/p&gt;

&lt;p&gt;Still learning WordPress, still experimenting, and definitely still breaking things occasionally.&lt;/p&gt;

&lt;p&gt;That's part of the journey.&lt;/p&gt;

&lt;p&gt;What was the first thing you broke while learning web development?&lt;/p&gt;

&lt;h1&gt;
  
  
  WordPress #WebDevelopment #WebDev #Programming #LearningToCode #DevJourney #DEVCommunity
&lt;/h1&gt;

</description>
      <category>learning</category>
      <category>webdev</category>
      <category>wordpress</category>
    </item>
    <item>
      <title>Exploring AI for Humanitarian Impact at the Ubuntu Voice Hackathon</title>
      <dc:creator>Valentine</dc:creator>
      <pubDate>Mon, 31 Aug 2026 04:39:59 +0000</pubDate>
      <link>https://dev.to/valentine-it/exploring-ai-for-humanitarian-impact-at-the-ubuntu-voice-hackathon-15i4</link>
      <guid>https://dev.to/valentine-it/exploring-ai-for-humanitarian-impact-at-the-ubuntu-voice-hackathon-15i4</guid>
      <description>&lt;p&gt;I’m excited to be participating in the Ubuntu Voice Hackathon, where we are exploring how technology and Artificial Intelligence can support communities facing humanitarian emergencies.&lt;br&gt;
Ubuntu Voice is designed as a low-bandwidth emergency-information and peace-support platform that connects users to community-specific AI agents. These agents use trusted documents to provide grounded information and support through both web chat and WhatsApp.&lt;br&gt;
One of the most interesting parts of the project is how it combines several technologies and concepts:&lt;br&gt;
 AI and RAG — using trusted documents to provide relevant, grounded responses.&lt;br&gt;
 Community-specific AI agents — where each agent can focus on a specific country, region, organization, or humanitarian issue.&lt;br&gt;
 Emergency classification — identifying reports related to:&lt;br&gt;
Rights Violations&lt;br&gt;
Casualties&lt;br&gt;
Displacements&lt;br&gt;
Severe Hunger&lt;br&gt;
 Data monitoring and visualization — using statistics and maps to monitor reported incidents by category and location.&lt;br&gt;
 AI evaluation — testing whether responses are correct, relevant, grounded in the available knowledge base, and based on relevant retrieved information.&lt;br&gt;
As part of the hackathon, I’m also exploring humanitarian crisis contexts such as Sudan, Somalia, the Democratic Republic of Congo, South Sudan, and Yemen, and thinking about how AI systems can responsibly support access to trusted information in challenging environments.&lt;br&gt;
What I find most interesting is that this is not only about making an AI chatbot that can answer questions. It is also about asking important questions:&lt;br&gt;
Can the AI be trusted?&lt;br&gt;
Does it answer from the correct knowledge base?&lt;br&gt;
Can it avoid hallucinating information?&lt;br&gt;
Can emergency reports be classified correctly?&lt;br&gt;
What happens when the system receives incorrect, incomplete, or ambiguous information?&lt;br&gt;
For me, this hackathon is an opportunity to learn more about AI systems, RAG, embeddings, AI evaluation, security testing, emergency data, and building technology that can potentially create meaningful social impact.&lt;br&gt;
Looking forward to learning, experimenting, finding bugs, and collaborating with other innovators throughout the hackathon. &lt;/p&gt;

&lt;h1&gt;
  
  
  UbuntuVoice #Hackathon #ArtificialIntelligence #AI #RAG #HumanitarianTech #TechForGood #MachineLearning #SoftwareDevelopment #Innovation #KenyaTech
&lt;/h1&gt;

</description>
      <category>agents</category>
      <category>ai</category>
      <category>llm</category>
      <category>rag</category>
    </item>
    <item>
      <title>Building a Full-Stack Project with Blockchain Security: My 3-Week Journey</title>
      <dc:creator>Valentine</dc:creator>
      <pubDate>Fri, 31 Jul 2026 04:37:26 +0000</pubDate>
      <link>https://dev.to/valentine-it/building-a-full-stack-project-with-blockchain-security-my-3-week-journey-2h50</link>
      <guid>https://dev.to/valentine-it/building-a-full-stack-project-with-blockchain-security-my-3-week-journey-2h50</guid>
      <description>&lt;p&gt;Over the past three weeks, I’ve been fully immersed in building a complete full-stack application—and I can confidently say it has been one of the most exciting and rewarding experiences in my development journey so far.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;The Goal&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;The objective was simple but ambitious:&lt;br&gt;
Build a fully functional application with both frontend and backend, while exploring new technologies and pushing beyond my comfort zone.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;What I Built&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;By the end of the project, I successfully developed:&lt;/p&gt;

&lt;p&gt;A fully working frontend interface&lt;br&gt;
A robust backend system&lt;br&gt;
Secure data handling and communication between both layers&lt;/p&gt;

&lt;p&gt;This project wasn’t just about making things work—it was about building something efficient, secure, and scalable.&lt;/p&gt;

&lt;p&gt;Exploring Blockchain for Security&lt;/p&gt;

&lt;p&gt;One of the most exciting parts of this project was integrating blockchain technology to enhance security.&lt;/p&gt;

&lt;p&gt;This was my first time working with blockchain in a practical project, and it gave me a new perspective on:&lt;/p&gt;

&lt;p&gt;Data integrity&lt;br&gt;
Secure transactions&lt;br&gt;
Trustless systems&lt;/p&gt;

&lt;p&gt;Implementing this feature pushed me to learn quickly and think differently about application security.&lt;/p&gt;

&lt;p&gt;Database Choice: MongoDB&lt;/p&gt;

&lt;p&gt;For the database, I used MongoDB during testing—and it performed exceptionally well.&lt;/p&gt;

&lt;p&gt;It handled key functionalities such as:&lt;/p&gt;

&lt;p&gt;Admin authentication&lt;br&gt;
Staff data management&lt;br&gt;
Message storage and retrieval&lt;/p&gt;

&lt;p&gt;MongoDB’s flexibility and performance made it a great fit for the project, especially when dealing with dynamic data structures.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Challenges &amp;amp; Lessons Learned&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;Like any real project, this journey came with its fair share of challenges:&lt;/p&gt;

&lt;p&gt;Debugging backend errors&lt;br&gt;
Managing data flow between frontend and backend&lt;br&gt;
Learning and implementing new technologies (especially blockchain)&lt;/p&gt;

&lt;p&gt;But each challenge became a learning opportunity. I gained hands-on experience in:&lt;/p&gt;

&lt;p&gt;Problem-solving under pressure&lt;br&gt;
Structuring a scalable backend&lt;br&gt;
Writing cleaner, more maintainable code&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Final Thoughts&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;Completing this project feels like a major milestone for me.&lt;/p&gt;

&lt;p&gt;It wasn’t just about finishing—it was about growth. I explored new tools, improved my skills, and built something I’m genuinely proud of.&lt;/p&gt;

&lt;p&gt;This experience has motivated me to keep building, keep learning, and keep pushing my limits as a developer.&lt;/p&gt;

</description>
      <category>blockchain</category>
      <category>fullstack</category>
      <category>security</category>
      <category>webdev</category>
    </item>
    <item>
      <title>Building a Bitcoin Project: Challenges and Simple Solutions</title>
      <dc:creator>Valentine</dc:creator>
      <pubDate>Sun, 21 Jun 2026 17:31:54 +0000</pubDate>
      <link>https://dev.to/valentine-it/building-a-bitcoin-project-challenges-and-simple-solutions-5ej5</link>
      <guid>https://dev.to/valentine-it/building-a-bitcoin-project-challenges-and-simple-solutions-5ej5</guid>
      <description>&lt;p&gt;My journey building a Bitcoin project and what I learned along the way.&lt;/p&gt;

&lt;h2&gt;
  
  
  Introduction
&lt;/h2&gt;

&lt;p&gt;I recently worked on a Bitcoin project to solve a simple problem:&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;How can people easily use Bitcoin and convert it into cash?&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;In places like Kenya, people use mobile money every day. But Bitcoin is still hard to use.&lt;/p&gt;

&lt;p&gt;So I decided to build a simple system where users can:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Send and receive Bitcoin
&lt;/li&gt;
&lt;li&gt;Convert Bitcoin to cash
&lt;/li&gt;
&lt;li&gt;Withdraw through agents
&lt;/li&gt;
&lt;/ul&gt;




&lt;h2&gt;
  
  
  💡 The Idea
&lt;/h2&gt;

&lt;p&gt;The project is a &lt;strong&gt;Bitcoin-to-cash system&lt;/strong&gt;.&lt;/p&gt;

&lt;h3&gt;
  
  
  What it does:
&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;Send and receive Bitcoin
&lt;/li&gt;
&lt;li&gt;Convert Bitcoin to local money (KES)
&lt;/li&gt;
&lt;li&gt;Allow withdrawals through agents
&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;The goal is to make Bitcoin easy for normal people.&lt;/p&gt;




&lt;h2&gt;
  
  
  ⚠️ Challenges I'M
&lt;/h2&gt;

&lt;h3&gt;
  
  
  1. Lightning Network is Hard
&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;Hard to set up
&lt;/li&gt;
&lt;li&gt;Payments sometimes fail
&lt;/li&gt;
&lt;li&gt;Not beginner-friendly
&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;strong&gt;Solution:&lt;/strong&gt;&lt;br&gt;&lt;br&gt;
I started with simple wallet APIs and focused on user experience first.&lt;/p&gt;




&lt;h3&gt;
  
  
  2. Internet Problems
&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;Slow or unstable internet
&lt;/li&gt;
&lt;li&gt;Transactions can fail
&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;strong&gt;Solution:&lt;/strong&gt;&lt;br&gt;&lt;br&gt;
Used lightweight systems and added retry handling.&lt;/p&gt;




&lt;h3&gt;
  
  
  3. Converting Bitcoin to Cash
&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;No direct way to mobile money
&lt;/li&gt;
&lt;li&gt;Bitcoin price changes a lot
&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;strong&gt;Solution:&lt;/strong&gt;&lt;br&gt;&lt;br&gt;
Used exchange rate APIs and created an agent system.&lt;/p&gt;




&lt;h3&gt;
  
  
  4. Security Issues
&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;Risk of losing funds
&lt;/li&gt;
&lt;li&gt;Trust issues
&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;strong&gt;Solution:&lt;/strong&gt;&lt;br&gt;&lt;br&gt;
Did not store private keys and added transaction confirmation.&lt;/p&gt;




&lt;h3&gt;
  
  
  5. User Understanding
&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;Bitcoin is hard for beginners
&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;strong&gt;Solution:&lt;/strong&gt;&lt;br&gt;&lt;br&gt;
Kept everything simple and easy to understand.&lt;/p&gt;




&lt;h2&gt;
  
  
  🧠 What I Learned
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;Solve real problems
&lt;/li&gt;
&lt;li&gt;Keep things simple
&lt;/li&gt;
&lt;li&gt;Focus on users
&lt;/li&gt;
&lt;li&gt;Start small (MVP first)
&lt;/li&gt;
&lt;/ul&gt;




&lt;h2&gt;
  
  
  🔮 What’s Next?
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;Improve the system
&lt;/li&gt;
&lt;li&gt;Add more agents
&lt;/li&gt;
&lt;li&gt;Build a mobile app
&lt;/li&gt;
&lt;/ul&gt;




&lt;h2&gt;
  
  
  🙌 Final Thoughts
&lt;/h2&gt;

&lt;p&gt;Building a Bitcoin project is not just coding.&lt;/p&gt;

&lt;p&gt;It is about solving real problems.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Bitcoin is powerful—but only if it is simple and useful.&lt;/strong&gt;&lt;/p&gt;




&lt;h2&gt;
  
  
  💬 Let’s Connect
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;GitHub: VALENTINE-it
&lt;/li&gt;
&lt;li&gt;LinkedIn: Valentine Omondi
&lt;/li&gt;
&lt;/ul&gt;

</description>
      <category>bitcoin</category>
      <category>showdev</category>
      <category>sideprojects</category>
      <category>ux</category>
    </item>
  </channel>
</rss>
