<?xml version="1.0" encoding="UTF-8"?><rss xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:atom="http://www.w3.org/2005/Atom" version="2.0"><channel><title><![CDATA[Ronnie Atuhaire's Blog 🤓]]></title><description><![CDATA[I blog, tweet, write, code, vlog, discuss and eat anything about tech. 

Well am a Pythonista and a Tech-Virtuoso. Much welcome to my blog✌.]]></description><link>https://blog.atuhaire.com</link><generator>RSS for Node</generator><lastBuildDate>Thu, 09 Apr 2026 03:48:40 GMT</lastBuildDate><atom:link href="https://blog.atuhaire.com/rss.xml" rel="self" type="application/rss+xml"/><language><![CDATA[en]]></language><ttl>60</ttl><item><title><![CDATA[How I Vibecoded My Entire Portfolio in 24 Hours 🤖]]></title><description><![CDATA[The Era of Prompt-Driven Development
Let me start with a bold statement: I no longer need to code if I'm good at prompting & problem solving...
This isn't hyperbole, it's the reality of 2026. Over the past 6 days, I completely rebuilt my portfolio we...]]></description><link>https://blog.atuhaire.com/how-i-vibecoded-my-entire-portfolio-in-24-hours</link><guid isPermaLink="true">https://blog.atuhaire.com/how-i-vibecoded-my-entire-portfolio-in-24-hours</guid><category><![CDATA[vibe coding]]></category><category><![CDATA[AI]]></category><category><![CDATA[#ai-tools]]></category><category><![CDATA[Kiro]]></category><category><![CDATA[gpt]]></category><category><![CDATA[#PromptEngineering]]></category><dc:creator><![CDATA[Ronnie Atuhaire]]></dc:creator><pubDate>Tue, 27 Jan 2026 22:07:07 GMT</pubDate><enclosure url="https://cdn.hashnode.com/res/hashnode/image/upload/v1769549803365/30d6c9bb-036e-441e-8de8-50362a184e56.png" length="0" type="image/jpeg"/><content:encoded><![CDATA[<h2 id="heading-the-era-of-prompt-driven-development">The Era of Prompt-Driven Development</h2>
<p>Let me start with a bold statement: <strong>I no longer need to code if I'm good at prompting &amp; problem solving...</strong></p>
<p>This isn't hyperbole, it's the reality of 2026. Over the past 6 days, I completely rebuilt my portfolio website using nothing but strategic prompting, AI assistance, and what I call <strong>"vibecoding"</strong>, the art of translating your vision into reality through conversational programming.</p>
<p>Gone are the days of wrestling with syntax errors, debugging for hours, or memorizing framework documentation. Today, I'm going to walk you through exactly how I built a production-ready, feature-rich portfolio that would have taken weeks of traditional coding in just 6 days (24 Hrs Total) of intelligent prompting.</p>
<p>One thing you should take away from vibe coding, a real practical solution, is that it can be cumbersome and requires you to persist, and you may need multiple tools, a few days (I did about 3-4 hrs on a daily hence the 6 days)</p>
<p>TLDR; Here is my portfolio → atuhaire.com</p>
<h2 id="heading-what-is-vibecoding">What is Vibecoding? 🤖</h2>
<p><strong>Vibecoding</strong> is my term for the new paradigm of software development, where you focus on:</p>
<ul>
<li><p><strong>Vision articulation</strong> instead of syntax memorization</p>
</li>
<li><p><strong>Problem decomposition</strong> instead of implementation details</p>
</li>
<li><p><strong>Strategic prompting</strong> instead of manual coding</p>
</li>
<li><p><strong>AI collaboration</strong> instead of solo debugging</p>
</li>
</ul>
<p>It's about riding the vibe of what you want to build and letting AI handle the technical heavy lifting while you focus on the creative and strategic aspects.</p>
<p><img src="https://cdn.hashnode.com/res/hashnode/image/upload/v1769547504111/b0dd38e8-83d2-425d-9b93-38f6e8586329.png" alt="Awards Section on my blog" class="image--center mx-auto" /></p>
<h2 id="heading-the-6-day-4hrs-daily-journey-from-concept-to-production">The 6-Day (4hrs Daily) Journey: From Concept to Production</h2>
<h3 id="heading-day-1-2-foundation-with-manus">Day 1-2: Foundation with Manus</h3>
<p>I started my journey with <a target="_blank" href="https://manus.im/"><strong>Manus</strong></a>, an AI-powered development platform that gave me the initial skeleton and approximately 70% of my codebase. This wasn't just boilerplate, it was a fully functional foundation with:</p>
<ul>
<li><p>Complete React + TypeScript setup</p>
</li>
<li><p>Express.js backend with tRPC integration</p>
</li>
<li><p>Authentication system (which I later simplified)</p>
</li>
<li><p>Database schema with Drizzle ORM</p>
</li>
<li><p>Modern UI components with Radix UI</p>
</li>
</ul>
<p><strong>Key Learning</strong>: Don't start from scratch when AI can give you a production-ready foundation. Manus saved me 2-3 days of initial setup.</p>
<h3 id="heading-day-3-4-enhancement-with-kiro">Day 3-4: Enhancement with Kiro</h3>
<p>I then moved the project to <a target="_blank" href="https://kiro.dev/"><strong>Kiro</strong></a>, where the real magic happened. Kiro became my coding partner, helping me:</p>
<ul>
<li><p>Refactor the authentication system for simplicity</p>
</li>
<li><p>Build a comprehensive admin panel with analytics</p>
</li>
<li><p>Create dynamic gallery management</p>
</li>
<li><p>Implement RSS blog integration</p>
</li>
<li><p>Add advanced animations and interactions</p>
</li>
</ul>
<p><strong>The Prompting Strategy</strong>: Instead of asking "how do I build X?", I learned to ask "I want to achieve Y user experience, what's the best approach?" This shift in questioning led to better architectural decisions.</p>
<h3 id="heading-day-5-visual-assets-and-design">Day 5: Visual Assets and Design</h3>
<p>This day was dedicated to creating and optimizing visual content:</p>
<p><strong>Canva</strong>: Used for resizing and optimizing images across different sections <strong>Nano Banana</strong>: Upscaled my hero image for the About page to ensure crisp quality <strong>GPT 5.2</strong>: Created custom background designs and helped with the cyberpunk logo concept</p>
<p><strong>Pro Tip</strong>: AI tools for visual content are game-changers. What used to require Photoshop skills now takes simple prompts.</p>
<h3 id="heading-day-6-deployment-and-domain-setup">Day 6: Deployment and Domain Setup</h3>
<p>The final day focused on going live:</p>
<ul>
<li><p>Deployed to <a target="_blank" href="http://railway.com/"><strong>Railway</strong></a> for cloud hosting</p>
</li>
<li><p>Configured custom domain through <a target="_blank" href="https://ap.www.namecheap.com/"><strong>Namecheap</strong></a></p>
</li>
<li><p>Set up environment variables and SSL</p>
</li>
<li><p>Final testing and optimization</p>
</li>
</ul>
<h2 id="heading-the-technical-stack-modern-web-development-in-2026">The Technical Stack: Modern Web Development in 2026</h2>
<h3 id="heading-frontend-technologies">Frontend Technologies</h3>
<pre><code class="lang-json">{
  <span class="hljs-attr">"framework"</span>: <span class="hljs-string">"React 19.2.1"</span>,
  <span class="hljs-attr">"language"</span>: <span class="hljs-string">"TypeScript 5.9.3"</span>,
  <span class="hljs-attr">"styling"</span>: <span class="hljs-string">"Tailwind CSS 4.1.14"</span>,
  <span class="hljs-attr">"animations"</span>: <span class="hljs-string">"Framer Motion 12.23.22"</span>,
  <span class="hljs-attr">"ui_components"</span>: <span class="hljs-string">"Radix UI"</span>,
  <span class="hljs-attr">"routing"</span>: <span class="hljs-string">"Wouter 3.3.5"</span>,
  <span class="hljs-attr">"state_management"</span>: <span class="hljs-string">"React Query + tRPC"</span>,
  <span class="hljs-attr">"build_tool"</span>: <span class="hljs-string">"Vite 7.1.7"</span>
}
</code></pre>
<h3 id="heading-backend-technologies">Backend Technologies</h3>
<pre><code class="lang-json">{
  <span class="hljs-attr">"runtime"</span>: <span class="hljs-string">"Node.js 18+"</span>,
  <span class="hljs-attr">"framework"</span>: <span class="hljs-string">"Express.js 4.21.2"</span>,
  <span class="hljs-attr">"api_layer"</span>: <span class="hljs-string">"tRPC 11.6.0"</span>,
  <span class="hljs-attr">"database_orm"</span>: <span class="hljs-string">"Drizzle ORM 0.44.5"</span>,
  <span class="hljs-attr">"file_handling"</span>: <span class="hljs-string">"Multer + AWS S3"</span>,
  <span class="hljs-attr">"rss_parsing"</span>: <span class="hljs-string">"xml2js 0.6.2"</span>,
  <span class="hljs-attr">"authentication"</span>: <span class="hljs-string">"Custom JWT with Jose 6.1.0"</span>
}
</code></pre>
<h3 id="heading-development-amp-deployment">Development &amp; Deployment</h3>
<pre><code class="lang-json">{
  <span class="hljs-attr">"bundler"</span>: <span class="hljs-string">"ESBuild 0.25.0"</span>,
  <span class="hljs-attr">"package_manager"</span>: <span class="hljs-string">"npm"</span>,
  <span class="hljs-attr">"hosting"</span>: <span class="hljs-string">"Railway"</span>,
  <span class="hljs-attr">"domain"</span>: <span class="hljs-string">"Namecheap"</span>,
  <span class="hljs-attr">"storage"</span>: <span class="hljs-string">"File-based (JSON)"</span>,
  <span class="hljs-attr">"ssl"</span>: <span class="hljs-string">"Automatic via Railway"</span>
}
</code></pre>
<h2 id="heading-key-features-built-through-vibecoding">Key Features Built Through Vibecoding</h2>
<h3 id="heading-1-dynamic-admin-dashboard">1. Dynamic Admin Dashboard</h3>
<ul>
<li><p><strong>Real-time analytics</strong> with animated counters</p>
</li>
<li><p><strong>Gallery management</strong> with drag-and-drop reordering</p>
</li>
<li><p><strong>Contact form submissions</strong> tracking</p>
</li>
<li><p><strong>System metrics</strong> monitoring</p>
</li>
<li><p><strong>Passphrase authentication</strong> (<code>#######</code>)</p>
</li>
</ul>
<h3 id="heading-2-interactive-gallery-system">2. Interactive Gallery System</h3>
<ul>
<li><p><strong>Category-based filtering</strong> (Tech, Travel, Events)</p>
</li>
<li><p><strong>Lightbox modal</strong> with keyboard navigation</p>
</li>
<li><p><strong>Upload system</strong> with drag-and-drop</p>
</li>
<li><p><strong>Image optimization</strong> and validation</p>
</li>
<li><p><strong>Staggered animations</strong> for visual appeal</p>
</li>
</ul>
<h3 id="heading-3-blog-integration">3. Blog Integration</h3>
<ul>
<li><p><strong>RSS feed parsing</strong> from Hashnode</p>
</li>
<li><p><strong>Automatic content updates</strong></p>
</li>
<li><p><strong>Error handling</strong> with fallbacks</p>
</li>
<li><p><strong>Responsive card layouts</strong></p>
</li>
</ul>
<h3 id="heading-4-modern-uiux">4. Modern UI/UX</h3>
<ul>
<li><p><strong>Dark/Light theme</strong> toggle</p>
</li>
<li><p><strong>Responsive design</strong> across all devices</p>
</li>
<li><p><strong>Smooth animations</strong> and transitions</p>
</li>
<li><p><strong>Cyberpunk-inspired</strong> branding</p>
</li>
<li><p><strong>Accessibility compliance</strong></p>
</li>
</ul>
<p>For the blog section: You might hit this depending on the time you read this article or visit my website 👇🏾👇🏾</p>
<p><img src="https://cdn.hashnode.com/res/hashnode/image/upload/v1769549955998/094914d3-d70c-4750-8789-63c1afb43853.png" alt class="image--center mx-auto" /></p>
<h2 id="heading-the-architecture-file-based-simplicity">The Architecture: File-Based Simplicity</h2>
<p>One key decision was to avoid databases initially. Instead, I implemented a file-based system:</p>
<pre><code class="lang-plaintext">📁 Data Storage
├── contacts.json          # Contact form submissions
├── data/gallery.json      # Gallery metadata
├── client/public/gallery/ # Image files
└── client/public/images/  # Page-specific images
</code></pre>
<p><strong>Why File-Based?</strong></p>
<ul>
<li><p><strong>Simplicity</strong>: No database setup or maintenance</p>
</li>
<li><p><strong>Portability</strong>: Easy to backup and migrate</p>
</li>
<li><p><strong>Cost-effective</strong>: No database hosting costs</p>
</li>
<li><p><strong>Fast development</strong>: Immediate read/write operations</p>
</li>
</ul>
<h2 id="heading-deployment-strategy-railway-custom-domain">Deployment Strategy: Railway + Custom Domain</h2>
<h3 id="heading-railway-configuration">Railway Configuration</h3>
<pre><code class="lang-bash"><span class="hljs-comment"># Environment Variables</span>
NODE_ENV=development
PORT=8080
VITE_APP_TITLE=AfroBoy - Ronnie Atuhaire Portfolio
VITE_APP_LOGO=/logo.svg
OWNER_NAME=Ronnie Atuhaire
JWT_SECRET=&lt;generated-secret&gt;
</code></pre>
<h3 id="heading-build-commands">Build Commands</h3>
<pre><code class="lang-json">{
  <span class="hljs-attr">"dev"</span>: <span class="hljs-string">"tsx watch server/_core/index.ts"</span>,
  <span class="hljs-attr">"dev:cloud"</span>: <span class="hljs-string">"tsx server/_core/index.ts"</span>,
  <span class="hljs-attr">"build"</span>: <span class="hljs-string">"vite build &amp;&amp; esbuild server/_core/index.ts --bundle --outdir=dist"</span>
}
</code></pre>
<p><strong>Railway Benefits</strong>:</p>
<ul>
<li><p><strong>$5/month free tier</strong> covers small portfolios</p>
</li>
<li><p><strong>Automatic deployments</strong> on git push</p>
</li>
<li><p><strong>Custom domain support</strong> with SSL</p>
</li>
<li><p><strong>Environment variable management</strong></p>
</li>
<li><p><strong>Real-time logs</strong> and monitoring</p>
</li>
</ul>
<h2 id="heading-current-limitations-amp-future-improvements">Current Limitations &amp; Future Improvements</h2>
<h3 id="heading-current-limitations">Current Limitations</h3>
<ol>
<li><p><strong>File-based storage</strong> limits scalability</p>
</li>
<li><p><strong>No user authentication</strong> beyond admin</p>
</li>
<li><p><strong>Limited analytics</strong> (mock data currently)</p>
</li>
<li><p><strong>No content management</strong> for non-technical users</p>
</li>
<li><p><strong>Single server deployment</strong> (no redundancy)</p>
</li>
</ol>
<h3 id="heading-planned-improvements-2026-roadmap">Planned Improvements (2026 Roadmap)</h3>
<ol>
<li><p><strong>Database Migration</strong>: Move to PostgreSQL for better data management</p>
</li>
<li><p><strong>Advanced Analytics</strong>: Integrate with Umami or Google Analytics</p>
</li>
<li><p><strong>CMS Integration</strong>: Add Strapi or similar for content management</p>
</li>
<li><p><strong>Performance Optimization</strong>: Implement caching and CDN</p>
</li>
<li><p><strong>Mobile App</strong>: React Native version for mobile presence</p>
</li>
<li><p><strong>AI Chatbot</strong>: Integrate conversational AI for visitor interaction</p>
</li>
<li><p><strong>Multi-language Support</strong>: i18n implementation</p>
</li>
<li><p><strong>Advanced SEO</strong>: Meta tags, sitemap, structured data</p>
</li>
</ol>
<h2 id="heading-the-prompting-techniques-that-made-it-possible">The Prompting Techniques That Made It Possible</h2>
<h3 id="heading-1-context-rich-prompting">1. Context-Rich Prompting</h3>
<p>Instead of: "Create a gallery component" I used: "I need a gallery that showcases my tech projects and travel photos, with smooth animations, category filtering, and an admin panel for easy management. The design should feel modern and professional."</p>
<h3 id="heading-2-iterative-refinement">2. Iterative Refinement</h3>
<ul>
<li><p>Start with basic functionality</p>
</li>
<li><p>Add one feature at a time</p>
</li>
<li><p>Test and refine each addition</p>
</li>
<li><p>Build complexity gradually</p>
</li>
</ul>
<h3 id="heading-3-problem-solution-framing">3. Problem-Solution Framing</h3>
<p>Instead of asking for code, I described problems:</p>
<ul>
<li><p>"Users need to easily browse my work"</p>
</li>
<li><p>"I want to manage content without touching code"</p>
</li>
<li><p>"The site should feel fast and responsive"</p>
</li>
</ul>
<h3 id="heading-4-technical-constraint-communication">4. Technical Constraint Communication</h3>
<p>I learned to clearly communicate:</p>
<ul>
<li><p>Performance requirements</p>
</li>
<li><p>Browser compatibility needs</p>
</li>
<li><p>Mobile responsiveness expectations</p>
</li>
<li><p>Accessibility standards</p>
</li>
</ul>
<h2 id="heading-lessons-learned-the-new-rules-of-development">Lessons Learned: The New Rules of Development</h2>
<h3 id="heading-1-prompt-engineering-is-the-new-programming">1. Prompt Engineering is the New Programming</h3>
<p>The quality of your output directly correlates with the quality of your prompts. Invest time in learning how to communicate effectively with AI.</p>
<h3 id="heading-2-architecture-thinking-becomes-more-important">2. Architecture Thinking Becomes More Important</h3>
<p>When AI handles implementation, your role shifts to:</p>
<ul>
<li><p>System design decisions</p>
</li>
<li><p>User experience planning</p>
</li>
<li><p>Performance optimization</p>
</li>
<li><p>Security considerations</p>
</li>
</ul>
<h3 id="heading-3-rapid-prototyping-is-the-norm">3. Rapid Prototyping is the Norm</h3>
<p>With AI assistance, you can test ideas in hours rather than days. This enables:</p>
<ul>
<li><p>More experimentation</p>
</li>
<li><p>Better user feedback loops</p>
</li>
<li><p>Faster iteration cycles</p>
</li>
</ul>
<h3 id="heading-4-focus-on-value-not-code">4. Focus on Value, Not Code</h3>
<p>Instead of optimizing code, optimize for:</p>
<ul>
<li><p>User experience</p>
</li>
<li><p>Business value</p>
</li>
<li><p>Maintainability</p>
</li>
<li><p>Scalability</p>
</li>
</ul>
<h2 id="heading-the-economics-of-vibecoding">The Economics of Vibecoding</h2>
<h3 id="heading-traditional-development-cost">Traditional Development Cost</h3>
<ul>
<li><p><strong>Developer time</strong>: 2-3 weeks @ $50/hour = $4,000-6,000</p>
</li>
<li><p><strong>Design work</strong>: 1 week @ $40/hour = $1,600</p>
</li>
<li><p><strong>Testing &amp; debugging</strong>: 1 week @ $50/hour = $2,000</p>
</li>
<li><p><strong>Total</strong>: $7,600-9,600</p>
</li>
</ul>
<h3 id="heading-vibecoding-cost-my-approach">Vibecoding Cost (My Approach)</h3>
<ul>
<li><p><strong>AI tools</strong>: $20 (Manus Credits + Free AWS Builder Kiro)</p>
</li>
<li><p><strong>Domain</strong>: $12/year from Namecheap</p>
</li>
<li><p><strong>Hosting</strong>: Free Tier on Railway</p>
</li>
<li><p><strong>My time</strong>: 6 days @ $0 (learning investment)</p>
</li>
<li><p><strong>Total</strong>: $32</p>
</li>
</ul>
<p>I am also using the free versions of Nano Banana, GPT, and Canva!</p>
<p><strong>ROI</strong>: 99.99% cost reduction with comparable quality.</p>
<h2 id="heading-why-you-can-do-this-too">Why You Can Do This Too</h2>
<h3 id="heading-prerequisites-not-what-you-think">Prerequisites (Not What You Think)</h3>
<p>You don't need:</p>
<ul>
<li><p>❌ Years of coding experience</p>
</li>
<li><p>❌ Computer Science degree</p>
</li>
<li><p>❌ Deep framework knowledge</p>
</li>
<li><p>❌ Design skills</p>
</li>
</ul>
<p>You DO need:</p>
<ul>
<li><p>✅ Clear vision of what you want</p>
</li>
<li><p>✅ Basic understanding of web concepts</p>
</li>
<li><p>✅ Patience for iterative improvement</p>
</li>
<li><p>✅ Willingness to learn prompting techniques</p>
</li>
</ul>
<h3 id="heading-getting-started-checklist">Getting Started Checklist</h3>
<ol>
<li><p><strong>Define your goals</strong>: What do you want your portfolio to achieve?</p>
</li>
<li><p><strong>Choose your AI tools</strong>: Start with Manus for foundation, Kiro for enhancement</p>
</li>
<li><p><strong>Plan your content</strong>: Gather images, text, and project information</p>
</li>
<li><p><strong>Start simple</strong>: Begin with basic pages, add complexity gradually</p>
</li>
<li><p><strong>Deploy early</strong>: Get online quickly, iterate in production</p>
</li>
<li><p><strong>Gather feedback</strong>: Share with friends, iterate based on responses</p>
</li>
</ol>
<h2 id="heading-the-future-of-web-development">The Future of Web Development</h2>
<p>We're witnessing a fundamental shift in how software is built. The developers who thrive in 2026 and beyond will be those who:</p>
<ol>
<li><p><strong>Master AI collaboration</strong> rather than fighting it</p>
</li>
<li><p><strong>Focus on problem-solving</strong> rather than syntax memorization</p>
</li>
<li><p><strong>Understand user needs</strong> deeply</p>
</li>
<li><p><strong>Embrace rapid iteration</strong> cycles</p>
</li>
<li><p><strong>Think in systems</strong> rather than individual components</p>
</li>
</ol>
<h2 id="heading-technical-deep-dive-key-implementation-details">Technical Deep Dive: Key Implementation Details</h2>
<h3 id="heading-authentication-system">Authentication System</h3>
<pre><code class="lang-typescript"><span class="hljs-comment">// Simple passphrase-based admin auth</span>
<span class="hljs-keyword">const</span> ADMIN_PASSPHRASE = <span class="hljs-string">'#####'</span>;
<span class="hljs-keyword">const</span> AUTH_KEY = <span class="hljs-string">'admin_authenticated'</span>;

<span class="hljs-comment">// No complex OAuth, just localStorage-based sessions</span>
<span class="hljs-keyword">const</span> isAuthenticated = <span class="hljs-built_in">localStorage</span>.getItem(AUTH_KEY) === <span class="hljs-string">'true'</span>;
</code></pre>
<h3 id="heading-gallery-management">Gallery Management</h3>
<pre><code class="lang-typescript"><span class="hljs-comment">// File-based gallery with JSON metadata</span>
<span class="hljs-keyword">interface</span> GalleryImage {
  id: <span class="hljs-built_in">string</span>;
  title: <span class="hljs-built_in">string</span>;
  category: <span class="hljs-string">'tech'</span> | <span class="hljs-string">'travel'</span> | <span class="hljs-string">'events'</span>;
  imageUrl: <span class="hljs-built_in">string</span>;
  createdAt: <span class="hljs-built_in">string</span>;
  order?: <span class="hljs-built_in">number</span>;
}

<span class="hljs-comment">// Drag-and-drop reordering with visual feedback</span>
<span class="hljs-keyword">const</span> handleReorder = <span class="hljs-keyword">async</span> (dragIndex: <span class="hljs-built_in">number</span>, hoverIndex: <span class="hljs-built_in">number</span>) =&gt; {
  <span class="hljs-keyword">const</span> newImages = [...images];
  <span class="hljs-keyword">const</span> draggedImage = newImages[dragIndex];
  newImages.splice(dragIndex, <span class="hljs-number">1</span>);
  newImages.splice(hoverIndex, <span class="hljs-number">0</span>, draggedImage);
  <span class="hljs-keyword">await</span> saveImageOrder(newImages);
};
</code></pre>
<h3 id="heading-rss-blog-integration">RSS Blog Integration</h3>
<pre><code class="lang-typescript"><span class="hljs-comment">// Automatic blog post fetching from Hashnode</span>
<span class="hljs-keyword">const</span> fetchBlogPosts = <span class="hljs-keyword">async</span> () =&gt; {
  <span class="hljs-keyword">try</span> {
    <span class="hljs-keyword">const</span> response = <span class="hljs-keyword">await</span> fetch(<span class="hljs-string">'/api/blog'</span>);
    <span class="hljs-keyword">const</span> posts = <span class="hljs-keyword">await</span> response.json();
    <span class="hljs-keyword">return</span> posts.filter(<span class="hljs-function"><span class="hljs-params">post</span> =&gt;</span> post.title &amp;&amp; post.url);
  } <span class="hljs-keyword">catch</span> (error) {
    <span class="hljs-built_in">console</span>.error(<span class="hljs-string">'Blog fetch failed:'</span>, error);
    <span class="hljs-keyword">return</span> []; <span class="hljs-comment">// Graceful degradation</span>
  }
};
</code></pre>
<h2 id="heading-performance-optimizations">Performance Optimizations</h2>
<h3 id="heading-bundle-splitting">Bundle Splitting</h3>
<pre><code class="lang-typescript"><span class="hljs-comment">// Vite configuration for optimal loading</span>
<span class="hljs-keyword">export</span> <span class="hljs-keyword">default</span> defineConfig({
  build: {
    rollupOptions: {
      output: {
        manualChunks: {
          vendor: [<span class="hljs-string">'react'</span>, <span class="hljs-string">'react-dom'</span>],
          ui: [<span class="hljs-string">'@radix-ui/react-dialog'</span>, <span class="hljs-string">'@radix-ui/react-dropdown-menu'</span>],
          animations: [<span class="hljs-string">'framer-motion'</span>]
        }
      }
    }
  }
});
</code></pre>
<h3 id="heading-image-optimization">Image Optimization</h3>
<pre><code class="lang-typescript"><span class="hljs-comment">// Automatic image compression and format conversion</span>
<span class="hljs-keyword">const</span> optimizeImage = (file: File): <span class="hljs-built_in">Promise</span>&lt;<span class="hljs-built_in">string</span>&gt; =&gt; {
  <span class="hljs-keyword">return</span> <span class="hljs-keyword">new</span> <span class="hljs-built_in">Promise</span>(<span class="hljs-function">(<span class="hljs-params">resolve</span>) =&gt;</span> {
    <span class="hljs-keyword">const</span> canvas = <span class="hljs-built_in">document</span>.createElement(<span class="hljs-string">'canvas'</span>);
    <span class="hljs-keyword">const</span> ctx = canvas.getContext(<span class="hljs-string">'2d'</span>);
    <span class="hljs-keyword">const</span> img = <span class="hljs-keyword">new</span> Image();

    img.onload = <span class="hljs-function">() =&gt;</span> {
      <span class="hljs-comment">// Resize and compress logic</span>
      canvas.width = <span class="hljs-built_in">Math</span>.min(img.width, <span class="hljs-number">1200</span>);
      canvas.height = (canvas.width / img.width) * img.height;
      ctx.drawImage(img, <span class="hljs-number">0</span>, <span class="hljs-number">0</span>, canvas.width, canvas.height);
      resolve(canvas.toDataURL(<span class="hljs-string">'image/jpeg'</span>, <span class="hljs-number">0.8</span>));
    };

    img.src = URL.createObjectURL(file);
  });
};
</code></pre>
<h2 id="heading-security-considerations">Security Considerations</h2>
<h3 id="heading-input-validation">Input Validation</h3>
<pre><code class="lang-typescript"><span class="hljs-comment">// Zod schemas for type-safe API validation</span>
<span class="hljs-keyword">const</span> contactSchema = z.object({
  name: z.string().min(<span class="hljs-number">1</span>).max(<span class="hljs-number">100</span>),
  email: z.string().email(),
  message: z.string().min(<span class="hljs-number">10</span>).max(<span class="hljs-number">1000</span>)
});

<span class="hljs-comment">// File upload validation</span>
<span class="hljs-keyword">const</span> validateImageUpload = (file: File): <span class="hljs-function"><span class="hljs-params">boolean</span> =&gt;</span> {
  <span class="hljs-keyword">const</span> allowedTypes = [<span class="hljs-string">'image/jpeg'</span>, <span class="hljs-string">'image/png'</span>, <span class="hljs-string">'image/webp'</span>];
  <span class="hljs-keyword">const</span> maxSize = <span class="hljs-number">10</span> * <span class="hljs-number">1024</span> * <span class="hljs-number">1024</span>; <span class="hljs-comment">// 10MB</span>

  <span class="hljs-keyword">return</span> allowedTypes.includes(file.type) &amp;&amp; file.size &lt;= maxSize;
};
</code></pre>
<h3 id="heading-environment-security">Environment Security</h3>
<pre><code class="lang-bash"><span class="hljs-comment"># Secure environment variable management</span>
JWT_SECRET=&lt;cryptographically-secure-random-string&gt;
NODE_ENV=production
ALLOWED_ORIGINS=https://atuhaire.com,https://www.atuhaire.com
</code></pre>
<h2 id="heading-monitoring-and-analytics">Monitoring and Analytics</h2>
<h3 id="heading-custom-analytics-implementation">Custom Analytics Implementation</h3>
<pre><code class="lang-typescript"><span class="hljs-comment">// Simple page view tracking</span>
<span class="hljs-keyword">const</span> trackPageView = <span class="hljs-function">(<span class="hljs-params">page: <span class="hljs-built_in">string</span></span>) =&gt;</span> {
  <span class="hljs-keyword">if</span> (<span class="hljs-keyword">typeof</span> <span class="hljs-built_in">window</span> !== <span class="hljs-string">'undefined'</span>) {
    <span class="hljs-comment">// Send to analytics endpoint</span>
    fetch(<span class="hljs-string">'/api/analytics/pageview'</span>, {
      method: <span class="hljs-string">'POST'</span>,
      headers: { <span class="hljs-string">'Content-Type'</span>: <span class="hljs-string">'application/json'</span> },
      body: <span class="hljs-built_in">JSON</span>.stringify({
        page,
        timestamp: <span class="hljs-keyword">new</span> <span class="hljs-built_in">Date</span>().toISOString(),
        userAgent: navigator.userAgent,
        referrer: <span class="hljs-built_in">document</span>.referrer
      })
    }).catch(<span class="hljs-built_in">console</span>.error);
  }
};
</code></pre>
<h2 id="heading-conclusion-the-dawn-of-conversational-programming">Conclusion: The Dawn of Conversational Programming</h2>
<p>Building this portfolio taught me that we're at an inflection point in software development. The traditional barriers, syntax complexity, framework learning curves, deployment intricacies, are dissolving rapidly.</p>
<p><strong>The new competitive advantage isn't coding speed; it's vision clarity and prompt engineering mastery.</strong></p>
<p>In 6 days, I went from concept to production-ready portfolio. Not because I'm a coding wizard, but because I learned to collaborate effectively with AI. I focused on what I wanted to achieve rather than how to implement it.</p>
<p>This is vibecoding: riding the wave of AI assistance while maintaining creative control and strategic thinking.</p>
<h2 id="heading-your-turn-start-vibecoding-today">Your Turn: Start Vibecoding Today</h2>
<p>Don't wait for the "perfect" moment or until you've learned more traditional coding. The tools are here, they're accessible, and they're incredibly powerful.</p>
<p>Start with a simple project. Define what you want clearly. Prompt iteratively. Deploy early. Gather feedback. Improve continuously.</p>
<p>The future of development is conversational, and it's available to everyone willing to learn this new language of human-AI collaboration.</p>
<p><strong>Ready to start your vibecoding journey?</strong></p>
<p>Visit <a target="_blank" href="https://atuhaire.com">atuhaire.com</a> to see the final result, and remember: if I can build this in 6 days through prompting, so can you.</p>
<hr />
<p><em>Follow my journey on</em> <a target="_blank" href="https://www.linkedin.com/in/ronnie-linslay-atuhaire-116108bb/"><em>LinkedIn</em></a> <em>and</em> <a target="_blank" href="https://twitter.com/afroboyug"><em>Twitter</em></a> <em>for more insights on AI-driven development and the future of programming.</em></p>
<p><strong>Tags</strong>: #Vibecoding #AI #React #TypeScript #Railway</p>
<hr />
<p><em>This post was written in 2026, documenting the real experience of building a production portfolio using AI-first development methodologies. All code examples and techniques are from the actual implementation.</em></p>
]]></content:encoded></item><item><title><![CDATA[From Language Models to World Models: Why the Future of AI Is About Understanding Reality]]></title><description><![CDATA[Imagine This…
Imagine an AI system that doesn’t just answer questions, but understands the world well enough to predict what will happen next.
Not just what words come after another word,but what happens after it rains,what happens when traffic build...]]></description><link>https://blog.atuhaire.com/from-language-models-to-world-models-why-the-future-of-ai-is-about-understanding-reality</link><guid isPermaLink="true">https://blog.atuhaire.com/from-language-models-to-world-models-why-the-future-of-ai-is-about-understanding-reality</guid><category><![CDATA[llm]]></category><category><![CDATA[LLM's ]]></category><category><![CDATA[Meta]]></category><category><![CDATA[AI]]></category><category><![CDATA[Artificial Intelligence]]></category><dc:creator><![CDATA[Ronnie Atuhaire]]></dc:creator><pubDate>Tue, 20 Jan 2026 00:00:16 GMT</pubDate><enclosure url="https://cdn.hashnode.com/res/hashnode/image/upload/v1768867063642/33415ba5-6fa6-47fb-907c-057298ab9dc6.png" length="0" type="image/jpeg"/><content:encoded><![CDATA[<h2 id="heading-imagine-this">Imagine This…</h2>
<p>Imagine an AI system that doesn’t just answer questions, but <strong>understands the world</strong> well enough to predict what will happen next.</p>
<p>Not just <em>what words come after another word</em>,<br />but <em>what happens after it rains</em>,<br /><em>what happens when traffic builds up</em>,<br /><em>what happens when resources are scarce</em>,<br />or <em>what happens when a decision is made</em>.</p>
<p>This is the idea behind <strong>World Models</strong>: a concept gaining serious attention as researchers begin to acknowledge a hard truth:</p>
<blockquote>
<p><strong>Predicting language alone is not enough to build truly intelligent systems.</strong></p>
</blockquote>
<hr />
<h2 id="heading-the-limits-of-large-language-models-llms">The Limits of Large Language Models (LLMs)</h2>
<p>Large Language Models (LLMs) like GPT, Claude, or Gemini have transformed how we interact with computers. They are excellent at:</p>
<ul>
<li><p>Generating text</p>
</li>
<li><p>Summarizing information</p>
</li>
<li><p>Writing code</p>
</li>
<li><p>Conversational reasoning</p>
</li>
</ul>
<p>However, at their core, LLMs are trained to <strong>predict the next token</strong> in a sequence.<br />They learn patterns in text, not necessarily <strong>cause and effect in the real world</strong>.</p>
<p>This leads to clear limitations:</p>
<ul>
<li><p>They can sound confident while being wrong</p>
</li>
<li><p>They struggle with long-term planning</p>
</li>
<li><p>They lack grounded understanding of physics, space, time, and consequences</p>
</li>
</ul>
<p>In short, LLMs <strong>talk well</strong>, but they don’t truly <em>understand</em> the world they describe.</p>
<hr />
<h2 id="heading-yann-lecuns-vision-world-models">Yann LeCun’s Vision: World Models</h2>
<p>Yann LeCun, Meta’s Chief AI Scientist and a pioneer of modern deep learning, has been vocal about this gap.</p>
<p>He defines <strong>World Models</strong> as:</p>
<blockquote>
<p><em>“AI systems designed to learn internal representations of how the world works.”</em></p>
</blockquote>
<p>Just like humans do.</p>
<p>Humans don’t learn primarily by reading text.<br />We learn by <strong>observing</strong>, <strong>acting</strong>, <strong>predicting outcomes</strong>, and <strong>updating our understanding</strong> when we’re wrong.</p>
<p>LeCun summarizes the problem clearly:</p>
<blockquote>
<p><em>“Predicting tokens is not enough. We need models that build internal simulations of the world, just like humans do.”</em></p>
</blockquote>
<hr />
<p><img src="https://cdn.hashnode.com/res/hashnode/image/upload/v1768866194664/ba3e610d-0a5c-4ca2-8286-cd0f2199a7d2.png" alt class="image--center mx-auto" /></p>
<h2 id="heading-observation-simulation-and-planning">Observation, Simulation, and Planning</h2>
<p>World Models aim to give AI three core abilities:</p>
<h3 id="heading-1-observation">1. Observation</h3>
<p>The ability to perceive the environment, through vision, sensors, data streams, or interactions.</p>
<p>For example:</p>
<ul>
<li><p>Watching traffic patterns</p>
</li>
<li><p>Observing weather changes</p>
</li>
<li><p>Monitoring human behavior or system states</p>
</li>
</ul>
<h3 id="heading-2-simulation">2. Simulation</h3>
<p>The ability to internally simulate <strong>what might happen next</strong>.</p>
<p>This is critical. Instead of reacting, the system can ask:</p>
<ul>
<li><p><em>If I do X, what is the likely outcome?</em></p>
</li>
<li><p><em>What are the second- and third-order effects?</em></p>
</li>
</ul>
<p>Humans do this constantly, often subconsciously.</p>
<h3 id="heading-3-planning">3. Planning</h3>
<p>Based on simulations, the system can <strong>choose actions</strong> that lead to better outcomes.</p>
<p>This is the foundation of:</p>
<ul>
<li><p>Robotics</p>
</li>
<li><p>Autonomous systems</p>
</li>
<li><p>Decision-making AI</p>
</li>
<li><p>True AI agents</p>
</li>
</ul>
<hr />
<h2 id="heading-self-supervised-learning-and-jepa-models">Self-Supervised Learning and JEPA Models</h2>
<p>A key technical idea behind World Models is <strong>self-supervised learning</strong>.</p>
<p>Instead of relying on massive labeled datasets, the system learns by:</p>
<ul>
<li><p>Predicting missing parts of observations</p>
</li>
<li><p>Comparing expected outcomes to actual outcomes</p>
</li>
<li><p>Learning representations without explicit human instructions</p>
</li>
</ul>
<p>This philosophy underpins <strong>JEPA (Joint Embedding Predictive Architecture)</strong>: a framework proposed by LeCun.</p>
<p>JEPA models:</p>
<ul>
<li><p>Learn abstract representations of the world</p>
</li>
<li><p>Avoid predicting raw pixels or tokens directly</p>
</li>
<li><p>Focus on learning <em>meaningful latent structure</em></p>
</li>
</ul>
<p>This approach is far closer to how humans and animals learn, through interaction and prediction, not supervision.</p>
<hr />
<h2 id="heading-why-world-models-matter-especially-beyond-silicon-valley">Why World Models Matter (Especially Beyond Silicon Valley)</h2>
<p>World Models unlock capabilities that matter deeply in real-world contexts:</p>
<ul>
<li><p><strong>Robotics:</strong> Machines that understand space, balance, and cause-effect</p>
</li>
<li><p><strong>Autonomous systems:</strong> Vehicles and drones that plan safely</p>
</li>
<li><p><strong>Climate &amp; agriculture:</strong> Predicting outcomes before acting</p>
</li>
<li><p><strong>Infrastructure &amp; cities:</strong> Anticipating failures instead of reacting</p>
</li>
<li><p><strong>Healthcare:</strong> Modeling patient trajectories over time</p>
</li>
</ul>
<p>For regions like <strong>Africa</strong>, this shift is especially important.</p>
<p>World Models can help AI:</p>
<ul>
<li><p>Understand local environments</p>
</li>
<li><p>Handle uncertainty and scarce data</p>
</li>
<li><p>Adapt to complex, real-world conditions</p>
</li>
<li><p>Move beyond “text-only” intelligence</p>
</li>
</ul>
<p>Read More about the Paper here → https://arxiv.org/abs/2301.08243</p>
<p>Subscribe if you have enjoyed this article! See You on the next one!</p>
]]></content:encoded></item><item><title><![CDATA[How to Stay Connected During Internet Shutdowns: A Practical Survival Guide]]></title><description><![CDATA[Internet shutdowns are no longer rare events. From election periods and protests to infrastructure failures and policy decisions, millions of people, especially in Africa, experience a sudden loss of internet access every year. For students, entrepre...]]></description><link>https://blog.atuhaire.com/how-to-stay-connected-during-internet-shutdowns-a-practical-survival-guide</link><guid isPermaLink="true">https://blog.atuhaire.com/how-to-stay-connected-during-internet-shutdowns-a-practical-survival-guide</guid><category><![CDATA[internet]]></category><category><![CDATA[#Uganda]]></category><category><![CDATA[technology]]></category><category><![CDATA[vpn]]></category><dc:creator><![CDATA[Ronnie Atuhaire]]></dc:creator><pubDate>Sat, 10 Jan 2026 09:20:46 GMT</pubDate><enclosure url="https://cdn.hashnode.com/res/hashnode/image/upload/v1767973417852/46215584-4ff9-4733-9d0f-24da59b03207.png" length="0" type="image/jpeg"/><content:encoded><![CDATA[<p>Internet shutdowns are no longer rare events. From election periods and protests to infrastructure failures and policy decisions, millions of people, especially in Africa, experience a sudden loss of internet access every year. For students, entrepreneurs, journalists, developers, activists, and everyday citizens, this can mean lost income, missed deadlines, disrupted education, and broken communication.</p>
<p>Internet shutdowns come with a massive and measurable economic cost. In 2024 alone, global internet disruptions cost the world economy an estimated $7.69 billion, with Africa accounting for about $1.56 billion of that loss in a single year. These losses are not abstract; they translate into stalled mobile money transactions, halted e-commerce, disrupted logistics, unpaid freelancers, and paralyzed small businesses. </p>
<p>For example, a five-day nationwide shutdown in Tanzania was estimated to have cost the economy over $72 million, with continued restrictions on major platforms pushing total losses beyond $200 million. In countries where millions rely on mobile internet for daily income, even a single day offline can erase weeks of progress. </p>
<p>Shutdowns also damage investor confidence, reduce tax revenues, and slow digital transformation, making them economically self-defeating policies. In short, when the internet goes dark, productivity collapses, hurting ordinary citizens far more than the problems shutdowns claim to solve.</p>
<p>This guide will keep you informed, productive, and connected during internet shutdowns. It focuses on realistic solutions that work in low‑resource environments, with special relevance to countries like Uganda and across Africa.</p>
<p>Ohh.. this is gonna be a long read.. So buckle up....</p>
<hr />
<h2 id="heading-what-is-an-internet-shutdown">What Is an Internet Shutdown?</h2>
<p>An internet shutdown occurs when governments or service providers intentionally disrupt access to the internet or specific online services (such as social media, messaging apps, or mobile data). Shutdowns may be:</p>
<ul>
<li><strong>Total</strong> (no internet access at all)</li>
<li><strong>Partial</strong> (social media or specific platforms blocked)</li>
<li><strong>Bandwidth throttling</strong> (Internet is extremely slow)</li>
</ul>
<p><img src="https://cdn.prod.website-files.com/6720777741d8474775b24692/676bc02919e51f0965824981_5.png" alt="VPN" /></p>
<p>According to global digital rights organizations, Africa consistently ranks among the regions most affected by repeated shutdowns, often during elections or periods of civil unrest.</p>
<hr />
<h2 id="heading-why-internet-shutdown-preparedness-matters">Why Internet Shutdown Preparedness Matters</h2>
<p>Preparing for internet shutdowns is not about paranoia, it’s about <strong>digital resilience</strong>.</p>
<p>Internet disruptions can affect:</p>
<ul>
<li>📚 Students (online learning, research, submissions)</li>
<li>💼 Businesses &amp; freelancers (clients, payments, deliveries)</li>
<li>📰 Journalists &amp; civil society (information flow, safety)</li>
<li>🏥 Healthcare &amp; emergency response</li>
<li>👨🏽‍💻 Developers &amp; tech teams (deployments, collaboration)</li>
</ul>
<p>Being prepared helps you <strong>stay productive, safe, and connected</strong>, even under restrictions.</p>
<h2 id="heading-how-a-total-internet-shutdown-is-enforced">How a Total Internet Shutdown Is Enforced</h2>
<p>A total internet shutdown is a deliberate and coordinated action carried out through a country’s telecommunications infrastructure. It is not caused by device settings or user behavior, but by centralized controls at the network level.</p>
<p>First, governments issue directives to internet service providers and mobile network operators, often through telecom regulators or security agencies. These orders require operators to suspend data services, sometimes under confidentiality rules that prevent public explanation.</p>
<p>Next, operators disable internet access at the core network level. Mobile data services (2G, 3G, 4G, and 5G) are centrally managed, so shutting down gateways and packet-routing systems instantly cuts off internet access nationwide, while voice calls and SMS may continue to function.</p>
<p>In many cases, authorities also shut down or restrict international internet gateways, the points where a country connects to the global internet via submarine cables, cross-border fiber, or satellite links. By withdrawing or blocking routing announcements, the country becomes digitally isolated from the rest of the world.</p>
<p>Some shutdowns rely on DNS and IP-level blocking, where internet providers block access to major cloud services or blackhole large ranges of IP addresses. This can effectively break most online services even if limited connectivity remains.</p>
<p><img src="https://techcentral.co.za/wp-content/uploads/2025/12/no-internet-1500-800.jpg" alt="No Internet" /></p>
<p>More advanced shutdowns use Deep Packet Inspection (DPI) technology to identify and block specific types of traffic, such as VPNs, encrypted messaging, or social media platforms. DPI allows selective filtering while maintaining limited access for government or critical services.</p>
<p>In extreme situations, shutdowns are reinforced through physical infrastructure control, including power cuts to telecom towers, disabling base stations in targeted regions, or restricting fuel supplies for backup generators.</p>
<p>Because total shutdowns occur at centralized control points in the network, they are extremely difficult for individual users to bypass. This is why common tools like VPNs often fail, and why alternatives such as satellite internet, mesh networks, and offline-first communication tools become essential during prolonged blackouts.</p>
<hr />
<h2 id="heading-1-prepare-before-the-shutdown-happens">1. Prepare Before the Shutdown Happens</h2>
<h3 id="heading-a-download-critical-information-for-offline-use">A. Download Critical Information for Offline Use</h3>
<p>Before a shutdown occurs, make it a habit to:</p>
<ul>
<li>Download important documents (PDFs, notes, contracts)</li>
<li>Save webpages for offline reading</li>
<li>Sync emails and calendars</li>
</ul>
<p><strong>Recommended Tools:</strong></p>
<ul>
<li><strong>Pocket</strong> – Save articles offline</li>
<li><strong>Google Drive Offline</strong> – Access docs without internet</li>
<li><strong>Notion Offline Mode</strong> – For notes and task management</li>
<li><strong>Wikipedia Offline (Kiwix)</strong> – Access massive knowledge bases</li>
</ul>
<hr />
<h3 id="heading-b-enable-offline-maps-and-navigation">B. Enable Offline Maps and Navigation</h3>
<p>During shutdowns, even basic navigation can be affected.</p>
<ul>
<li>Download city and country maps in advance</li>
<li>Save key locations (home, hospital, police, offices)</li>
</ul>
<p><strong>Apps:</strong></p>
<ul>
<li>Google Maps (Offline Maps)</li>
<li>Maps.me</li>
<li>Organic Maps</li>
</ul>
<hr />
<h2 id="heading-2-use-alternative-communication-channels">2. Use Alternative Communication Channels</h2>
<h3 id="heading-a-sms-and-ussd-are-still-powerful">A. SMS and USSD Are Still Powerful</h3>
<p>Even during internet shutdowns, <strong>SMS and USSD often remain active</strong>.</p>
<p>Use them for:</p>
<ul>
<li>Banking (Mobile Money USSD codes)</li>
<li>Emergency communication</li>
<li>Community alerts</li>
</ul>
<p>Tip: Maintain a <strong>contact list with key phone numbers saved offline</strong>.</p>
<hr />
<h3 id="heading-b-offline-messaging-via-bluetooth-amp-wifi-direct">B. Offline Messaging via Bluetooth &amp; Wi‑Fi Direct</h3>
<p>When the internet is unavailable, <strong>device‑to‑device communication</strong> still works.</p>
<p><strong>Offline Messaging Apps:</strong></p>
<ul>
<li><strong>Bridgefy</strong> – Bluetooth mesh messaging</li>
<li><strong>Briar</strong> – Secure peer‑to‑peer messaging (activists, journalists)</li>
<li><strong>FireChat</strong> – Local Wi‑Fi and Bluetooth chat</li>
</ul>
<p>These apps are useful in <strong>crowded areas, campuses, or communities</strong>. I will explore more on these down... (Just continue reading)</p>
<hr />
<h2 id="heading-3-use-vpns-and-circumvention-tools-when-legal">3. Use VPNs and Circumvention Tools (When Legal)</h2>
<p>In some cases, shutdowns are partial, blocking social media or specific websites.</p>
<p>A <strong>Virtual Private Network (VPN)</strong> can sometimes help bypass restrictions by routing traffic through another country.</p>
<p><strong>Popular VPNs:</strong></p>
<ul>
<li>ProtonVPN</li>
<li>Psiphon</li>
<li>Windscribe</li>
<li>TunnelBear</li>
</ul>
<p>⚠️ <strong>Important Note:</strong> Always understand the <strong>local laws and risks</strong> associated with VPN usage in your country.</p>
<h2 id="heading-vpnhttpsinformationsecuritywustledufiles202403no-vpn-1-1-31a4207c7317647fpng"><img src="https://informationsecurity.wustl.edu/files/2024/03/NO-VPN-1-1-31a4207c7317647f.png" alt="VPN" /></h2>
<h2 id="heading-4-build-a-local-information-network">4. Build a Local Information Network</h2>
<h3 id="heading-a-community-whatsapp-sms-bridges">A. Community WhatsApp → SMS Bridges</h3>
<p>Before shutdowns, communities can:</p>
<ul>
<li>Assign coordinators</li>
<li>Share updates via SMS trees</li>
<li>Use radio + SMS for information verification</li>
</ul>
<hr />
<h3 id="heading-b-use-radio-and-community-media">B. Use Radio and Community Media</h3>
<p>Radio remains one of the <strong>most resilient communication tools</strong>.</p>
<p>Tips:</p>
<ul>
<li>Own a small battery‑powered or solar radio</li>
<li>Know trusted local stations</li>
<li>Cross‑check information to avoid misinformation</li>
</ul>
<hr />
<h2 id="heading-5-stay-productive-offline">5. Stay Productive Offline</h2>
<h3 id="heading-a-offlinefirst-productivity-tools">A. Offline‑First Productivity Tools</h3>
<p>You can still work without the internet.</p>
<p><strong>Tools:</strong></p>
<ul>
<li>LibreOffice / Microsoft Office (Offline)</li>
<li>VS Code (Local development)</li>
<li>Obsidian (Markdown notes)</li>
<li>Jupyter Notebooks (Offline data science)</li>
</ul>
<hr />
<h3 id="heading-b-queue-work-for-later-syncing">B. Queue Work for Later Syncing</h3>
<p>Prepare tasks that can be synced once the internet returns:</p>
<ul>
<li>Write drafts</li>
<li>Code features</li>
<li>Prepare designs</li>
<li>Record videos</li>
</ul>
<p>This ensures <strong>zero downtime</strong>.</p>
<hr />
<h2 id="heading-6-alternative-internet-access-options-during-shutdowns">6. Alternative Internet Access Options During Shutdowns</h2>
<p>When traditional mobile data and ISPs are shut down, <strong>alternative connectivity methods</strong> can sometimes keep you online, especially for critical work.</p>
<h3 id="heading-a-satellite-internet-including-starlink">A. Satellite Internet (Including Starlink)</h3>
<p>Satellite internet bypasses local terrestrial networks entirely, making it one of the <strong>most resilient options during national shutdowns</strong>.</p>
<p><strong>Options:</strong></p>
<ul>
<li><strong>Starlink</strong> – Low‑Earth‑Orbit satellite internet with relatively high speeds and low latency</li>
<li><strong>Viasat / HughesNet</strong> – Traditional satellite providers (availability varies by region)</li>
</ul>
<p><strong>Pros:</strong></p>
<ul>
<li>Independent of local ISPs</li>
<li>Works during nationwide shutdowns</li>
<li>Suitable for businesses, newsrooms, NGOs, and remote teams</li>
</ul>
<p><strong>Cons:</strong></p>
<ul>
<li>Expensive equipment and subscriptions</li>
<li>Requires clear sky view and power supply</li>
<li>Regulatory restrictions may apply in some countries</li>
</ul>
<p><em>Tip: For organizations, shared Starlink hubs can serve entire offices or community spaces.</em></p>
<hr />
<h3 id="heading-b-international-sim-cards-amp-esims">B. International SIM Cards &amp; eSIMs</h3>
<p>International SIMs route traffic through foreign networks, which may remain accessible during partial shutdowns.</p>
<p><strong>Examples:</strong></p>
<ul>
<li>Airalo (eSIM)</li>
<li>GigSky</li>
<li>KnowRoaming</li>
<li>MTN/Airtel International Roaming SIMs</li>
</ul>
<p><strong>Pros:</strong></p>
<ul>
<li>Easy to activate</li>
<li>No physical infrastructure needed</li>
<li>Useful for short‑term connectivity</li>
</ul>
<p><strong>Cons:</strong></p>
<ul>
<li>Often expensive per GB</li>
<li>May still be blocked during full shutdowns</li>
</ul>
<hr />
<h3 id="heading-c-international-roaming">C. International Roaming</h3>
<p>In some shutdowns, <strong>international roaming</strong> continues to work even when local data is blocked.</p>
<p>Best practices:</p>
<ul>
<li>Enable roaming in advance</li>
<li>Keep roaming credit topped up</li>
<li>Test functionality early</li>
</ul>
<h2 id="heading-roaminghttpsesimsmblogwp-contentuploads202505roaming-internazionale-1png"><img src="https://esim.sm/blog/wp-content/uploads/2025/05/roaming-internazionale-1.png" alt="Roaming" /></h2>
<h2 id="heading-7-mesh-networks-amp-decentralized-communication">7. Mesh Networks &amp; Decentralized Communication</h2>
<p>When the internet disappears, <strong>local networks can still thrive</strong>.</p>
<h3 id="heading-a-mesh-networking-explained">A. Mesh Networking Explained</h3>
<p>A mesh network allows devices to connect <strong>directly to each other</strong>, forming a decentralized network without a central ISP.</p>
<p>Use cases:</p>
<ul>
<li>Community communication</li>
<li>Emergency coordination</li>
<li>Campus or neighborhood networks</li>
</ul>
<hr />
<h3 id="heading-b-mesh-amp-decentralized-apps">B. Mesh &amp; Decentralized Apps</h3>
<p><strong>BitChat</strong></p>
<ul>
<li>Peer‑to‑peer encrypted messaging</li>
<li>Works over local networks</li>
<li>Resistant to censorship</li>
</ul>
<p><strong>Briar</strong></p>
<ul>
<li>Bluetooth, Wi‑Fi, Tor‑based messaging</li>
<li>Ideal for journalists and activists</li>
</ul>
<p><strong>Bridgefy</strong></p>
<ul>
<li>Bluetooth‑based mesh messaging</li>
<li>Effective in crowds and urban settings</li>
</ul>
<p><strong>Manyverse / Secure Scuttlebutt</strong></p>
<ul>
<li>Decentralized social networking</li>
<li>Offline‑first design</li>
</ul>
<hr />
<h3 id="heading-c-community-mesh-infrastructure">C. Community Mesh Infrastructure</h3>
<p>More advanced setups include:</p>
<ul>
<li>Open‑source routers (OpenWRT)</li>
<li>Community Wi‑Fi nodes</li>
<li>Local content servers (intranets)</li>
</ul>
<p>Examples include community networks in rural Africa and disaster‑response mesh systems.</p>
<hr />
<h2 id="heading-8-financial-survival-during-shutdowns">8. Financial Survival During Shutdowns</h2>
<h3 id="heading-a-keep-ussd-codes-handy">A. Keep USSD Codes Handy</h3>
<p>In Uganda and many African countries, <strong>mobile money via USSD</strong> often still works.</p>
<p>Examples:</p>
<ul>
<li>MTN MoMo: *165#</li>
<li>Airtel Money: *185#</li>
</ul>
<p>Always memorize or save these codes offline.</p>
<hr />
<h3 id="heading-b-cash-is-still-king">B. Cash Is Still King</h3>
<p>During extended shutdowns:</p>
<ul>
<li>Keep some emergency cash</li>
<li>Plan expenses early</li>
<li>Avoid last‑minute digital‑only payments</li>
</ul>
<hr />
<h2 id="heading-7-security-safety-and-misinformation">7. Security, Safety, and Misinformation</h2>
<p>Shutdowns often increase:</p>
<ul>
<li>Rumors</li>
<li>Panic</li>
<li>Fake news</li>
</ul>
<p><strong>Best Practices:</strong></p>
<ul>
<li>Verify information through multiple sources</li>
<li>Avoid sharing unconfirmed news</li>
<li>Protect sensitive data on your devices</li>
</ul>
<hr />
<h2 id="heading-8-longterm-digital-resilience-strategies">8. Long‑Term Digital Resilience Strategies</h2>
<p>To truly stay online‑ready:</p>
<ul>
<li>Advocate for digital rights and the open internet</li>
<li>Support community networks and mesh Wi‑Fi initiatives</li>
<li>Learn basic networking and offline tech skills</li>
<li>Build platforms that work in <strong>low‑connectivity environments</strong></li>
</ul>
<hr />
<h2 id="heading-final-thoughts-staying-connected-is-a-skill">Final Thoughts: Staying Connected Is a Skill</h2>
<p>Internet shutdowns are disruptive, but they don’t have to make you powerless.</p>
<p>With the right <strong>tools, habits, and community networks</strong>, you can:</p>
<ul>
<li>Stay informed</li>
<li>Stay productive</li>
<li>Stay safe</li>
</ul>
<p>Digital resilience is no longer optional; it’s a <strong>21st‑century survival skill</strong>, especially in emerging economies.</p>
<p><em>If you found this guide useful, share it offline, print it, or save it, because the internet isn’t always guaranteed.</em></p>
]]></content:encoded></item><item><title><![CDATA[A Freshman’s Guide to Makerere University]]></title><description><![CDATA[Starting university is exciting, nerve-wracking, and a little chaotic, especially if you’re stepping into the gates of Uganda’s oldest and most prestigious institution — Makerere University. You’ve probably heard stories about the Ivory Tower, the fr...]]></description><link>https://blog.atuhaire.com/a-freshmans-guide-to-makerere-university</link><guid isPermaLink="true">https://blog.atuhaire.com/a-freshmans-guide-to-makerere-university</guid><category><![CDATA[campus]]></category><category><![CDATA[student]]></category><category><![CDATA[#student life]]></category><category><![CDATA[hackathon]]></category><dc:creator><![CDATA[Ronnie Atuhaire]]></dc:creator><pubDate>Tue, 29 Jul 2025 19:51:40 GMT</pubDate><enclosure url="https://cdn.hashnode.com/res/hashnode/image/upload/v1753817627236/2569fbb8-2eab-4800-8498-6d07bb0444d1.png" length="0" type="image/jpeg"/><content:encoded><![CDATA[<hr />
<p>Starting university is exciting, nerve-wracking, and a little chaotic, especially if you’re stepping into the gates of Uganda’s oldest and most prestigious institution — Makerere University. You’ve probably heard stories about the Ivory Tower, the freedom, the “group work,” and yes, that one dreaded system called ACMIS. But what does it really mean to thrive as a fresher at MUK?</p>
<p>As someone who’s walked the campus paths, stayed up submitting coursework at 11:59 PM, missed club deadlines, and had some "I should’ve known better" moments, here’s a brutally honest, slightly funny, and very real guide to making the most of your university life.</p>
<h2 id="heading-1-no-one-cares-so-mind-your-business">1. No One Cares, So Mind Your Business</h2>
<p>This might be the most liberating fact you’ll hear: No one cares about your age, your height, your tribe, your O-Level grades, or how many aggregates you got in PCM. Makerere is a melting pot. Focus on your growth, invest in meaningful relationships, and stay away from unnecessary drama.</p>
<h2 id="heading-2-max-out-your-coursework">2. Max Out Your Coursework</h2>
<p>Don’t ignore coursework, even if it feels like a side quest. Most lecturers use coursework to determine who’s serious and sometimes even offer mercy marks. Submit on time, collaborate smartly, and keep a copy of everything. Trust me, coursework is gold.</p>
<h2 id="heading-3-ai-tools-wont-save-you-basics-will">3. AI Tools Won’t Save You, Basics Will</h2>
<p>Yes, GenAI tools are great, and Makerere is slowly catching up with them. But if you don’t understand the basics and concepts behind what you're doing, no tool will truly help you. Learn your logic, data types, problem-solving techniques, and frameworks. They build up over time, and they stay with you long after GPT-4 forgets your last prompt. I usually say that AI is as good as you are! In otherwords, you must be a good prompt engineer or knowing what you need from it….not simply Ctrl-C &amp; Ctrl-V.</p>
<h2 id="heading-4-ditch-cramwork-and-embrace-real-learning">4. Ditch Cramwork and Embrace Real Learning</h2>
<p>Cramming might have helped you ace UNEB, but it won’t help you here. Makerere wants thinkers, not parrots. Understand, explore, apply. And yeah, PSDT from high school? Time to move on and upgrade your study habits.</p>
<h2 id="heading-5-mind-your-circle">5. Mind Your Circle</h2>
<p>The people you meet in your first semester — especially your first project group — often stick around for the rest of your course. Surround yourself with supportive, curious, and growth-minded individuals. University friendships last a lifetime, choose wisely.</p>
<h2 id="heading-6-clubs-and-associations-join-early">6. Clubs and Associations? Join Early</h2>
<p>One of my biggest regrets was joining IEEE late in Year Two. The earlier you get into student clubs and associations, the more value you gain. They offer soft skills, connections, leadership opportunities, and some really cool trips (plus T-shirts, Swag, and food, of course😂). <em>Join in Semester One.</em> Reach out if incase you need to join some cool tech groups like GDG On Campus</p>
<h2 id="heading-7-lead-yourself-no-one-will-chase-you">7. Lead Yourself, No One Will Chase You</h2>
<p>Your parents aren’t here to push you anymore. This is your time to grow up, take charge, and become your own manager. Your time, your goals, your deadlines. Discipline is now your best friend.</p>
<h2 id="heading-8-enjoy-both-class-and-campus-life">8. Enjoy Both Class and Campus Life</h2>
<p>Don’t be so caught up in GPA that you forget to live. Attend events, talk to people, join hackathons, dance at guild campaigns, and cheer at sports matches. It’s part of the full Makerere experience.</p>
<h2 id="heading-9-seek-out-opportunities-early">9. Seek Out Opportunities — Early</h2>
<p>University is a treasure chest of fellowships, scholarships, ambassador roles, tech competitions, and more. You don’t have to be in final year to start applying. I started applying in Year One and it changed everything. Don’t wait.</p>
<h2 id="heading-10-internship-start-looking-before-the-period">10. Internship? Start Looking Before the Period</h2>
<p>Internships aren’t just meant to fill in your logbook. They’re doorways to the real world. Don’t wait until May to start looking. Ask around, apply widely, and don’t be afraid to reach out to professionals on LinkedIn.</p>
<p><img src="https://cdn.hashnode.com/res/hashnode/image/upload/v1753817838953/24e1fe97-3f3e-4bfe-b8cb-29472ec8aeba.png" alt class="image--center mx-auto" /></p>
<h2 id="heading-11-balance-is-key">11. Balance is Key</h2>
<p>Learn when to focus and when to rest. Study when it's time to study, rest when it’s time to rest, and socialize without guilt. Structure your time so you don’t feel guilty doing either. Atleast this helped me alot especially in my final year when I was so busy……</p>
<h2 id="heading-12-dont-fear-lecturers-or-admins">12. Don’t Fear Lecturers or Admins</h2>
<p>Seriously. If you need help, speak up. Visit offices, ask questions, and clarify your issues early. You’re not bothering anyone, you’re just being responsible. This will come in handy, and trust me, you won’t struggle trying to look for recommendations for Fellowships, Scholarships, or other opportunities that you might come across.</p>
<h2 id="heading-13-yes-you-can-change-your-course">13. Yes, You Can Change Your Course</h2>
<p>Makerere allows for a change of program within some time constraints and restrictions, depending on the college. If you feel stuck, don’t suffer in silence — explore your options but reach out early since every college might be different.</p>
<h2 id="heading-14-your-laptop-doesnt-need-to-be-a-beast-yet">14. Your Laptop Doesn’t Need to Be a Beast Yet</h2>
<p>Unless you're doing CAD or rendering Pixar-level animation, you don’t need a high-end laptop in Year One. A simple, reliable machine will do. You’ll only meet Machine Learning in Year Two anyway.</p>
<h2 id="heading-15-about-the-portal-just-brace-yourself">15. About the Portal… Just Brace Yourself 😂</h2>
<p>It’s called ACMIS. It has moods. It will stress you, especially during registration. Keep calm, find a third-year friend to guide you, and yes, you’ll survive it. Here is a <a target="_blank" href="https://new.mak.ac.ug/web/students/grading">grading guide</a> to help you set the pace.</p>
<p>If you ever get a retake..It is not the end of life, just start all over the course unit. My friend Yasin designed a tool that can also assist you in calculating GPA, called <a target="_blank" href="https://mycgpa.com/">MyCGPA</a>.</p>
<h2 id="heading-16-finally-start-building-your-brand">16. Finally… Start Building Your Brand</h2>
<p>Open up a LinkedIn account. Share your campus journey. Post about your projects, achievements, clubs, and thoughts. Build your digital presence. Future recruiters are already watching. <a target="_blank" href="https://www.linkedin.com/in/ronnie-linslay-atuhaire-116108bb/">Follow me here.</a></p>
<hr />
<h2 id="heading-wrap-up-youve-got-this">Wrap-Up: You've Got This!</h2>
<p>University is more than academics. It’s about self-discovery, building lifelong connections, and exploring your potential. Whether you’re in CEES, COCIS, CEDAT, CHUSS, CAES, COBAMS or COVAB — the truth remains the same: You shape your own Makerere story.</p>
<p>As you walk by the Ivory Tower, remember this — you're walking into a place of legacy, resilience, and possibility. Don’t take it lightly.</p>
<p><strong>Welcome to The Hill. Make it count.</strong></p>
]]></content:encoded></item><item><title><![CDATA[15+ Hackathon Platforms to Level Up Your Tech Skills]]></title><description><![CDATA[As someone who has participated in over 45 hackathons since 2021, I’ve come to appreciate how impactful these experiences can be, not just for winning prizes, but for building real-world skills, expanding your network, and launching your tech career....]]></description><link>https://blog.atuhaire.com/15-hackathon-platforms-to-level-up-your-tech-skills</link><guid isPermaLink="true">https://blog.atuhaire.com/15-hackathon-platforms-to-level-up-your-tech-skills</guid><category><![CDATA[AI]]></category><category><![CDATA[ML]]></category><category><![CDATA[hackathon]]></category><category><![CDATA[challenge]]></category><category><![CDATA[Programming Blogs]]></category><category><![CDATA[technology]]></category><dc:creator><![CDATA[Ronnie Atuhaire]]></dc:creator><pubDate>Fri, 25 Jul 2025 20:22:58 GMT</pubDate><enclosure url="https://cdn.hashnode.com/res/hashnode/image/upload/v1753471128296/3b3190d8-daca-49c2-abf5-c3bec0f3880b.png" length="0" type="image/jpeg"/><content:encoded><![CDATA[<p>As someone who has participated in over <strong>45 hackathons</strong> since 2021, I’ve come to appreciate how impactful these experiences can be, not just for winning prizes, but for building real-world skills, expanding your network, and launching your tech career. Whether you're into AI, cybersecurity, blockchain, or social impact, there’s a platform for you.</p>
<p>Here’s a curated list of <strong>top hackathon platforms, coding challenge sites, and innovation competitions</strong> that can help you unlock your potential in 2025 and beyond: This list is in no particular order, but I am more active on DevPost than any other platform. Kindly read the eligibility for each hackathon to see if you actually qualify before you proceed.</p>
<hr />
<h3 id="heading-1-devpost">🚀 1. <strong>Devpost</strong></h3>
<p><img src="https://cdn.hashnode.com/res/hashnode/image/upload/v1753472784817/cd5b7155-bfab-41ab-819f-4e574e2f879a.png" alt class="image--center mx-auto" /></p>
<p><strong>The home of global hackathons.</strong> It hosts challenges from big names like Meta, Microsoft, and NASA. Whether you're building an app, startup, or AI model, this is where many great devs begin.</p>
<p>I have won some Hackathons on this platform the latest one being the Canva AI Hackathon as the Best Use of APIs with <a target="_blank" href="https://devpost.com/software/instacanva">instaCanva</a> .Feel free to <a target="_blank" href="https://devpost.com/Ronlin1">follow me on DevPost.</a></p>
<blockquote>
<p><a target="_blank" href="https://devpost.com/">https://devpost.com</a></p>
</blockquote>
<h3 id="heading-2-hackerearth">💪 2. <strong>Hackerearth</strong></h3>
<p><img src="https://cdn.hashnode.com/res/hashnode/image/upload/v1753472811514/f072e536-b3a2-45e0-b081-c551e4edfce9.png" alt class="image--center mx-auto" /></p>
<p>Ideal for developers, data scientists, and job seekers. It features coding challenges, hiring events, and AI competitions.</p>
<blockquote>
<p><a target="_blank" href="https://www.hackerearth.com/">https://www.hackerearth.com</a></p>
</blockquote>
<h3 id="heading-3-mlh-major-league-hacking">🎓 3. <strong>MLH (Major League Hacking)</strong></h3>
<p><img src="https://cdn.hashnode.com/res/hashnode/image/upload/v1753472827001/85717fe8-0e20-4610-9ffd-69d4d5bcf799.png" alt class="image--center mx-auto" /></p>
<p>A favorite among university students. Expect high-energy weekend hackathons, live workshops, and a huge global community.</p>
<blockquote>
<p><a target="_blank" href="https://mlh.io/">https://mlh.io</a></p>
</blockquote>
<h3 id="heading-4-lablabai">👩🏿‍💻4. <strong>Lablab.ai</strong></h3>
<p><img src="https://cdn.hashnode.com/res/hashnode/image/upload/v1753472838947/19ee0a81-cde5-473c-8432-0d79bf857623.png" alt class="image--center mx-auto" /></p>
<p>Focuses on cutting-edge AI technologies. A great place to prototype using LangChain, GPT, Stable Diffusion, and more. I have recently fallen in love with this site as an AI enthusiast and yet to win some hackathons on it too!</p>
<blockquote>
<p><a target="_blank" href="https://lablab.ai/">https://lablab.ai</a></p>
</blockquote>
<h3 id="heading-5-tryhackme">🪨 5. <strong>TryHackMe</strong></h3>
<p><img src="https://cdn.hashnode.com/res/hashnode/image/upload/v1753473007971/cd3d46c9-f9f4-4851-8d78-6cdfdf99e622.png" alt class="image--center mx-auto" /></p>
<p>A fun, gamified platform for cybersecurity training and competitions. Great for beginners and advanced learners alike.</p>
<blockquote>
<p><a target="_blank" href="https://tryhackme.com/">https://tryhackme.com</a></p>
</blockquote>
<h3 id="heading-6-kaggle">📊 6. <strong>Kaggle</strong></h3>
<p><img src="https://cdn.hashnode.com/res/hashnode/image/upload/v1753473037406/70c01a83-7543-4ed7-b41c-df20ff40e587.png" alt class="image--center mx-auto" /></p>
<p>The go-to platform for machine learning and data science competitions. Boost your modeling skills with real-world datasets. I have participate in some Machine learning challenges here…Feel free to try it out if you are into Data Science, AI &amp; Machine Learning.</p>
<blockquote>
<p><a target="_blank" href="https://www.kaggle.com/">https://www.kaggle.com</a></p>
</blockquote>
<h3 id="heading-7-zindi">🛍️ 7. <strong>Zindi</strong></h3>
<p><img src="https://cdn.hashnode.com/res/hashnode/image/upload/v1753473102868/3ed15d55-4d3f-4208-baeb-6913a839c594.png" alt class="image--center mx-auto" /></p>
<p>Zindi is Africa’s leading data science platform hosting real-world AI competitions with social impact. If you're into machine learning and want to solve actual local/global challenges, Zindi is the spot.</p>
<blockquote>
<p><a target="_blank" href="https://zindi.africa">https://zindi.africa</a></p>
</blockquote>
<h3 id="heading-8-github-global-campus">💼 8. <strong>GitHub Global Campus</strong></h3>
<p><img src="https://cdn.hashnode.com/res/hashnode/image/upload/v1753473113811/d99f8b9d-27d0-4df0-96a5-14a7c81085d2.png" alt class="image--center mx-auto" /></p>
<p>Ideal for student developers. Access exclusive hackathons, mentorship, and free tools from GitHub.</p>
<blockquote>
<p><a target="_blank" href="https://education.github.com/">https://education.github.com</a></p>
</blockquote>
<h3 id="heading-9-hackclub">🎓 9. <strong>HackClub</strong></h3>
<p><img src="https://cdn.hashnode.com/res/hashnode/image/upload/v1753473126658/b9d7987a-4532-4b53-8aff-3797df492608.png" alt class="image--center mx-auto" /></p>
<p>A vibrant high school hacker community running local and online hackathons for young builders. Check eligibility here!</p>
<blockquote>
<p><a target="_blank" href="https://hackclub.com/">https://hackclub.com</a></p>
</blockquote>
<h3 id="heading-10-gitcoin">🌟 10. <strong>GitCoin</strong></h3>
<p><img src="https://cdn.hashnode.com/res/hashnode/image/upload/v1753473156880/b41e3852-f032-41ac-b9b2-f2b170166bdc.png" alt class="image--center mx-auto" /></p>
<p>For Web3 and blockchain enthusiasts. Participate in bounties and open-source challenges, get paid in crypto. This reminds me of ETHGlobal in different cities that you could also try out if you are a Web 3 bro 🔥</p>
<blockquote>
<p><a target="_blank" href="https://gitcoin.co/">https://gitcoin.co</a></p>
</blockquote>
<h3 id="heading-11-imagine-cup-by-microsoft">🏆 11. <strong>Imagine Cup by Microsoft</strong></h3>
<p><img src="https://cdn.hashnode.com/res/hashnode/image/upload/v1753473177963/fcab25fa-7d88-4e36-a7e7-30ae0d078beb.png" alt class="image--center mx-auto" /></p>
<p>Microsoft’s prestigious global competition for students to build tech that solves real problems. A great launchpad for social entrepreneurs. As a Microsoft Ambassador, I have participated in this for 2 years without getting even to regional winners…But try it out incase you want to learn more about Microsoft related technologies.</p>
<blockquote>
<p><a target="_blank" href="https://imaginecup.microsoft.com/">https://imaginecup.microsoft.com</a></p>
</blockquote>
<h3 id="heading-12-call-for-code-by-ibm">🌚 12. <strong>Call for Code by IBM</strong></h3>
<p><img src="https://cdn.hashnode.com/res/hashnode/image/upload/v1753473189276/f974a57b-491f-40bf-802c-9c70148a3605.png" alt class="image--center mx-auto" /></p>
<p>A challenge that invites developers to build solutions for climate change, humanitarian crises, and more. I participated in this last year and built some cool app using IBM Foundation models including Granite etc…</p>
<blockquote>
<p><a target="_blank" href="https://developer.ibm.com/callforcode">https://developer.ibm.com/callforcode</a></p>
</blockquote>
<h3 id="heading-13-angelhack">✨ 13. <strong>AngelHack</strong></h3>
<p><img src="https://cdn.hashnode.com/res/hashnode/image/upload/v1753473202343/39f33d8a-05aa-4f63-baec-ad0d7fd05f89.png" alt class="image--center mx-auto" /></p>
<p>Runs global hackathons with a strong startup focus. Great if you're looking to scale your idea into a venture. Never tried this but will see what the future holds…</p>
<blockquote>
<p><a target="_blank" href="https://angelhack.com/">https://angelhack.com</a></p>
</blockquote>
<h3 id="heading-14-devfolio">🌟 14. <strong>Devfolio</strong></h3>
<p><img src="https://cdn.hashnode.com/res/hashnode/image/upload/v1753473243237/6a13ffbe-a3bd-4cff-89e1-d7b703b57782.png" alt class="image--center mx-auto" /></p>
<p>India's largest community-driven hackathon platform. Also known for ETHIndia and other Web3/DeFi challenges. However much it is mainly for India, most web 3 enthusiasts have found it a go to alternative to host hackathons globally. Recently participated in Base Batches that was hosted here…</p>
<blockquote>
<p><a target="_blank" href="https://devfolio.co/">https://devfolio.co</a></p>
</blockquote>
<h3 id="heading-15-hashnode">🔗 15. <strong>Hashnode</strong></h3>
<p><img src="https://cdn.hashnode.com/res/hashnode/image/upload/v1753473321746/39db867c-4c93-4404-9621-1173b87f620a.png" alt class="image--center mx-auto" /></p>
<p>While these aren’t traditional hackathon sites, they’re amazing for technical blogging, developer storytelling, and sharing your hackathon journey with a larger community. I have actually won two Hashnode hackathons, one was more of a writeathon… Just no longer active that much</p>
<blockquote>
<p><a target="_blank" href="https://hashnode.com/">https://hashnode.com</a></p>
</blockquote>
<h3 id="heading-other-mentions">Other Mentions</h3>
<p>Of course, beyond hackathons, the tech ecosystem also offers a wide variety of other exciting challenges, including Datathons, Writeathons, and Ideathons, each designed to foster creativity and real-world problem-solving. These events are often organized by global and local tech companies, universities, and communities. I’ve previously had the privilege of serving as a Judge for Technovation, a global initiative empowering girls to code and lead through innovation.</p>
<p><img src="https://cdn.hashnode.com/res/hashnode/image/upload/v1753474863076/08db61f8-3334-4378-8fa7-ec78705daa9d.png" alt class="image--center mx-auto" /></p>
<p>Here in Uganda, we also see growing momentum with initiatives like the WordPress Project Competitions, HackerNoon writing challenges, and several contests embedded within major tech events. This year alone, I’m gearing up to host another hackathon under <a target="_blank" href="https://gdg.community.dev/gdg-on-campus-makerere-university-kampala-uganda/">GDG On Campus – Makerere University</a>, following the success of the first <a target="_blank" href="https://drive.google.com/drive/folders/11AvB2LEFWTfO-RmJbOaApymJhZGBDZHn?usp=sharing">Inter-University Hackathon</a> (AI Fest) held in April. But we’re not stopping there.</p>
<p><strong>Watch AIFest Recap 🔥</strong></p>
<div class="embed-wrapper"><div class="embed-loading"><div class="loadingRow"></div><div class="loadingRow"></div></div><a class="embed-card" href="https://www.youtube.com/watch?v=YkgtPl0FVF0">https://www.youtube.com/watch?v=YkgtPl0FVF0</a></div>
<p> </p>
<p>Keep an eye out for the upcoming <a target="_blank" href="https://gdg.community.dev/events/details/google-gdg-on-campus-makerere-university-kampala-uganda-presents-techx-uganda/">TechX</a>: Bits &amp; Bots Hackathon, an Aviathon set for October, and possibly a High School Coding Competition in December.</p>
<h3 id="heading-bonus-mention-dev-community">Bonus Mention: Dev Community</h3>
<p><img src="https://cdn.hashnode.com/res/hashnode/image/upload/v1753474533920/eefca5a1-8954-4b2b-9e50-55451b7f9c57.png" alt class="image--center mx-auto" /></p>
<p>I have so far participated in one challenge on this platform, and I believe it is worth mentioning too.</p>
<p><a target="_blank" href="https://dev.to/">Try it here.</a></p>
<hr />
<h3 id="heading-conclusion"><strong>Conclusion:</strong></h3>
<p>Hackathons are more than just a weekend sprint; they’re about building confidence, sharpening skills, finding teammates, and sometimes, launching careers. If you're looking to grow in tech, consider exploring at least 3-5 of these platforms this year.</p>
<p>And if you’re already active in the hackathon space: What’s your favorite platform? What was your most memorable build?</p>
<p>Let’s share and grow together 🔥😍</p>
]]></content:encoded></item><item><title><![CDATA[There’s an App for This... That… But What About Us?]]></title><description><![CDATA[As I passed by a coffee shop this morning, a catchy tune played over the speakers. The melody was familiar, but I couldn’t place it. My first instinct was to enter & ask the barista what song was playing, but then I paused. Instead of engaging in tha...]]></description><link>https://blog.atuhaire.com/theres-an-app-for-this-that-but-what-about-us</link><guid isPermaLink="true">https://blog.atuhaire.com/theres-an-app-for-this-that-but-what-about-us</guid><category><![CDATA[AI]]></category><category><![CDATA[technology]]></category><category><![CDATA[human]]></category><dc:creator><![CDATA[Ronnie Atuhaire]]></dc:creator><pubDate>Thu, 22 Aug 2024 21:00:00 GMT</pubDate><enclosure url="https://cdn.hashnode.com/res/hashnode/image/upload/v1723977197258/6b05c17e-72bd-4ab1-9c1b-6ace8c2edb05.png" length="0" type="image/jpeg"/><content:encoded><![CDATA[<p>As I passed by a coffee shop this morning, a catchy tune played over the speakers. The melody was familiar, but I couldn’t place it. My first instinct was to enter &amp; ask the barista what song was playing, but then I paused. Instead of engaging in that small, human interaction, I pulled out my phone and opened Shazam. And booooom, within seconds, I had my answer.</p>
<p>Mission accomplished, right? But as I put my phone back in my pocket, I couldn’t help but wonder: What did I miss out on by not asking the barista?... And this is the same thing that has been happening when on public taxi/bus... Perhaps a friendly chat about music, a smile, or even a chance to connect on a deeper level.</p>
<p>This got me thinking about how technology, for all its convenience, might be changing the way we interact with each other. We live in a world where there’s an app for everything. Need a ride? There’s an app for that—Uber or Lyft. Need to know what’s playing on the radio? There’s an app for that—Shazam. Need to send a quick message? There’s an app for that—WhatsApp or iMessage. Need to avoid the awkwardness of meeting someone new? There’s an app for that—Tinder or Bumble.</p>
<p><img src="https://media.licdn.com/dms/image/C5122AQFrzysUKlcJGw/feedshare-shrink_1280/0/1557796587968?e=2147483647&amp;v=beta&amp;t=1M77r982tl5I04TBKIiSnEcPH3HVhVZVTNLvlCalo2I" alt="Parthiban Srinivasan on LinkedIn: Machines are Learning, Humans are busy  with Facebook, Twitter in their…" class="image--center mx-auto" /></p>
<p>These apps have become so integrated into our daily lives that we barely notice how they’ve replaced small, meaningful interactions. Want to avoid asking for directions? There’s an app for that—Google Maps. Need food delivered straight to your door without speaking to anyone? There’s an app for that—Uber Eats, Grubhub, or DoorDash. Need groceries but don’t feel like going out? There’s an app for that—Instacart.</p>
<p>As someone who prefers SMS to actual calls, I can’t deny the ease that these digital tools bring to our lives. But with every convenience, there’s a trade-off. The rise of AI, large language models (LLMs), and autonomous bots means that we’re increasingly interacting with machines instead of people. What does this mean for our future?</p>
<p>Imagine 100 years from now. What will human relationships look like in a world dominated by AI and automation? Will we still value face-to-face conversations, or will they become a rarity, a relic of a bygone era? Will we miss the warmth of a voice on the other end of the line, replaced instead by a perfectly crafted, AI-generated text?</p>
<p>We’re already seeing the effects of this shift.</p>
<ul>
<li><p>Need to book a hotel? There’s an app for that—Booking or Airbnb.</p>
</li>
<li><p>Need to manage your finances without visiting a bank? There’s an app for that—PayPal, Venmo, or your bank’s mobile app.</p>
</li>
<li><p>Need to stay fit without hitting the gym? There’s an app for that—Peloton or Fitbit.</p>
</li>
<li><p>Need to learn a new language without a tutor? There’s an app for that—Duolingo.</p>
</li>
<li><p>Need to write something .........</p>
</li>
<li><p>Need to gift someone............</p>
</li>
<li><p>Need a wife......</p>
</li>
<li><p>Need to ......STOP THERE, THE APP EXISTS!</p>
</li>
</ul>
<p>We are all surrounded by apps or related technology...</p>
<p><img src="https://ichef.bbci.co.uk/news/976/cpsprodpb/FEAF/production/_91499156_thinkstockphotos-600408356.jpg" alt="Are killer bots about to do away with smartphone apps? - BBC News" /></p>
<p>But what happens when we no longer need to rely on each other for anything? When every question can be answered by an AI, and every task can be completed by a bot? Will we become more isolated, each of us living in our own personalized, digital bubbles? Or will we find new ways to connect, new forms of community that bridge the gap between the digital and the physical?</p>
<p>There’s no denying that technology has made life easier in countless ways. But as we continue to embrace these tools, it’s worth pausing to consider what we might be giving up. Convenience is valuable, but so is connection. The small, seemingly insignificant moments of interaction—like asking about a song—are often what make us feel human.</p>
<p><img src="https://encrypted-tbn0.gstatic.com/images?q=tbn:ANd9GcQWrhUa6WV3Z-P-eNw7l3ugGabs5Bfgns2IGAd3aZ6acNc_p1LJBzNL3pLxyXp01vle1zg&amp;usqp=CAU" alt="Technology: Is it Ruining Our Relationships? — Steemit" class="image--center mx-auto" /></p>
<p>So the next time you’re tempted to use an app to solve a problem or answer a question, consider taking a different approach. Ask someone instead. Make that phone call. Engage in a conversation. Because while there might be an app for everything, there’s no app that can truly replace the warmth, spontaneity, and depth of human connection.</p>
<p>As we move forward into this increasingly digital age, let’s not forget the importance of these connections. After all, in 100 years, when the world is filled with AI, LLMs, agents, and Autobots, it might just be those very connections that keep us grounded in what it means to be human.</p>
<p>Suppose you have enjoyed this read! Consider subscribing for the same otherwise, let's <a target="_blank" href="https://www.linkedin.com/in/ronnie-linslay-atuhaire-116108bb/">connect here</a> 🤗</p>
]]></content:encoded></item><item><title><![CDATA[Tech Talent in Uganda: The Impact of Student Competitions]]></title><description><![CDATA[As a tech enthusiast and social entrepreneur from Uganda, I have had the privilege of participating in numerous hackathons and student competitions since my high school days. Serving as the Computer Club President, I found my passion for technology a...]]></description><link>https://blog.atuhaire.com/tech-talent-in-uganda-the-impact-of-student-competitions</link><guid isPermaLink="true">https://blog.atuhaire.com/tech-talent-in-uganda-the-impact-of-student-competitions</guid><category><![CDATA[WordPress]]></category><category><![CDATA[#Uganda]]></category><category><![CDATA[hackathon]]></category><category><![CDATA[student]]></category><category><![CDATA[website]]></category><dc:creator><![CDATA[Ronnie Atuhaire]]></dc:creator><pubDate>Wed, 12 Jun 2024 11:31:58 GMT</pubDate><enclosure url="https://cdn.hashnode.com/res/hashnode/image/upload/v1718193491244/2af1d43b-9e2d-4f7d-97c1-3577c6ce1fb1.png" length="0" type="image/jpeg"/><content:encoded><![CDATA[<p>As a tech enthusiast and social entrepreneur from Uganda, I have had the privilege of participating in numerous hackathons and student competitions since my high school days. Serving as the Computer Club President, I found my passion for technology and innovation early on. This passion has only grown during my time at Makerere University, where I am currently a sophomore and an active Microsoft Learn Student Ambassador (MLSA), Twilio Champion, and judge for various competitions, including the upcoming Uganda Website Projects Competition 2024.</p>
<p>I have an upcoming blog where I get to share all insights, tech events and hackathons I have participated in over time. I hope you get to subscribe and follow me here for such important updates and notifications.</p>
<h2 id="heading-my-journey-in-tech-competitions">My Journey in Tech Competitions</h2>
<p>My journey in the tech world has been filled with remarkable experiences and achievements. Here are some of my highlights:</p>
<ul>
<li><p><strong>MTN MoMo Hackathon 2022 Winner:</strong> Our team developed a revolutionary solution that addressed financial inclusion.</p>
</li>
<li><p><strong>GDSC Top 50 Finalist in 2022:</strong> Our project, MpaMpe, aimed at breaking down financial barriers in education, was recognized globally.</p>
</li>
<li><p><strong>CEDAT Student Innovation Challenge Winner:</strong> We showcased innovative solutions that bridged the gap between technology and real-world problems.</p>
</li>
<li><p><strong>Various Pitching Competitions:</strong> Our team consistently impressed judges with our clear vision and practical solutions.</p>
</li>
</ul>
<p>These experiences have not only honed my technical skills but also broadened my understanding of how technology can drive social change. Currently, I co-founded MpaMpe, a crowdfunding startup aimed at addressing financial barriers in education, and serve as the lead researcher at Farm Zenith, where we leverage technology to revolutionize agricultural practices in Uganda.</p>
<h2 id="heading-the-role-of-competitions-in-growth-and-mentorship">The Role of Competitions in Growth and Mentorship</h2>
<p>Competitions like the Uganda Website Projects Competition 2024 play a pivotal role in the growth and development of young tech enthusiasts. Here’s why they are so important:</p>
<h3 id="heading-1-fostering-innovation-and-creativity">1. <strong>Fostering Innovation and Creativity</strong></h3>
<p>By challenging students to solve real-world problems using platforms like WordPress, these competitions ignite innovative thinking and creativity. Participants learn to think outside the box and develop unique solutions that can have a significant impact on their communities.</p>
<h3 id="heading-2-building-technical-skills">2. <strong>Building Technical Skills</strong></h3>
<p>Competitions provide a hands-on learning experience that is invaluable. Students get to work with the latest technologies, gaining practical skills that are essential in today’s tech-driven world. This real-world experience is something that traditional classroom settings often cannot offer.</p>
<h3 id="heading-3-encouraging-practical-application-of-knowledge">3. <strong>Encouraging Practical Application of Knowledge</strong></h3>
<p>Participants apply their theoretical knowledge to practical scenarios, bridging the gap between classroom learning and real-world application. This enhances their understanding and retention of technical concepts.</p>
<p><img src="https://e-tuitions.com/images/1624873936613-blog%209.jpg" alt="Blog | e-Tuitions | 5 Reasons Why Students Should Learn To Code" /></p>
<h3 id="heading-4-enhancing-communication-and-presentation-skills">4. <strong>Enhancing Communication and Presentation Skills</strong></h3>
<p>Presenting their projects to a panel of judges helps participants develop essential communication and presentation skills. These skills are crucial not just in competitions but in their future careers as well.</p>
<h3 id="heading-5-networking-opportunities">5. <strong>Networking Opportunities</strong></h3>
<p>Competitions provide a platform to connect with like-minded peers, industry professionals, and potential mentors. These connections can lead to future collaborations, internships, and job opportunities, creating a supportive community for young innovators.</p>
<h3 id="heading-6-recognizing-and-rewarding-talent">6. <strong>Recognizing and Rewarding Talent</strong></h3>
<p>Winning competitions brings recognition and boosts confidence, encouraging participants to pursue their passions further. It also opens doors to new opportunities and resources that can help them advance their projects and careers.</p>
<h2 id="heading-my-role-as-a-judge-and-technovation-judge">My Role as a Judge and Technovation Judge</h2>
<p>As a judge for the Uganda Website Projects Competition 2024 and a Technovation Judge, I am excited to be part of the process that nurtures and recognizes young talent.</p>
<p>These roles allow me to give back to the community by mentoring and guiding the next generation of innovators. I am eager to see the brilliant ideas that participants will bring to the table and help them refine their projects to make a real-world impact.</p>
<p><img src="https://cdn.hashnode.com/res/hashnode/image/upload/v1718193645900/8d93e8ed-14b4-45fe-9052-d369358a0cf1.png" alt class="image--center mx-auto" /></p>
<h2 id="heading-a-call-to-action">A Call to Action</h2>
<p>I encourage all students and young tech enthusiasts to register for the Uganda Website Projects Competition 2024. This is an incredible opportunity to showcase your skills, learn from others, and make valuable connections.</p>
<p>Whether you are in primary school, secondary school, or post-secondary education, there is a place for you in this competition.Participants have up to 20th June to submit their interesting ideas and projects.</p>
<p><strong>Join us in Nakawa, Kampala on July 5th, 2024, at the National ICT Innovation Hub. Let's come together to innovate, collaborate, and create solutions that can transform our communities.</strong></p>
<p>For more details and to register, visit the <a target="_blank" href="https://events.wordpress.org/uganda/2024/competition/">official event page</a>.</p>
<hr />
<p><strong>Participate, innovate, and let your WordPress projects shine at the Uganda Website Projects Competition 2024!</strong></p>
<p>Let's build a brighter future together, one innovative project at a time.</p>
]]></content:encoded></item><item><title><![CDATA[Will AI Replace Programmers: Should You Panic?]]></title><description><![CDATA[The rise of artificial intelligence (AI) has sparked a wave of fascination and concern. From headlines proclaiming AI as the "future of coding" to anxieties about intelligent machines replacing programmers altogether, the narrative can be quite unset...]]></description><link>https://blog.atuhaire.com/will-ai-replace-programmers-should-you-panic</link><guid isPermaLink="true">https://blog.atuhaire.com/will-ai-replace-programmers-should-you-panic</guid><category><![CDATA[AI]]></category><category><![CDATA[Programming Blogs]]></category><category><![CDATA[coding]]></category><category><![CDATA[chatgpt]]></category><category><![CDATA[ML]]></category><dc:creator><![CDATA[Ronnie Atuhaire]]></dc:creator><pubDate>Sat, 23 Mar 2024 11:40:26 GMT</pubDate><enclosure url="https://cdn.hashnode.com/res/hashnode/image/upload/v1711193897732/fd05e6cb-44e2-4f8d-98b1-de3dad43aced.jpeg" length="0" type="image/jpeg"/><content:encoded><![CDATA[<p>The rise of artificial intelligence (AI) has sparked a wave of fascination and concern. From headlines proclaiming <em>AI as the "future of coding"</em> to anxieties about <em>intelligent machines replacing programmers</em> altogether, the narrative can be quite unsettling. But for those of us with years of experience in the trenches of programming (like myself, with over 4 years under my belt 🙂), a calmer perspective emerges. AI isn't here to steal our jobs; it's here to supercharge them.</p>
<p>Let's address the elephant in the room: the new generation of AI tools like Sora, ChatGPT, PopAI, AutoGPT, and Agents, alongside advancements in large language models (LLMs) and Nvidia's new groundbreaking AI chips alongside Cognition with Devin (An AI Engineer), are impressive. These tools can automate repetitive tasks, generate code snippets, and even translate languages in code. But here's the key takeaway: <strong><em>they all still rely heavily on human input</em></strong>.</p>
<p><img src="https://cdn.analyticsvidhya.com/wp-content/uploads/2024/03/Could-AI-Replace-Software-Engineers-Meet-Devin-the-First-AI-Driven-Engineer-80.jpg" alt="Meet Devin AI: The First AI Software Engineer - Analytics Vidhya" /></p>
<p><strong>Think of it this way:</strong> <em>AI tools are like powerful assistants.</em> They can fetch information, perform calculations, and even suggest solutions. However, the human programmer remains the strategist, the one who defines the problem, sets the parameters, and ultimately decides how to leverage the AI's capabilities to achieve the desired outcome.</p>
<h2 id="heading-my-opinion">My Opinion</h2>
<p>My experience tells me that AI won't replace programmers; it will simply boost our productivity. Sure, the number of programmers needed in a company might shrink as AI handles the mundane. But that just frees us up to focus on the real magic: <strong>ingenuity and creativity</strong>.</p>
<p>Here's where the true power of human programmers lies. We excel at solving entirely new problems, domains that AI may have never encountered before. We can think outside the box, devise innovative solutions, and adapt to constantly evolving challenges. AI, on the other hand, thrives on established patterns and datasets. It can take a while for AI to learn entirely new problem domains if it can at all.</p>
<p><img src="https://arnav.au/wp-content/uploads/2023/11/DALL%C2%B7E-2023-11-25-12.11.31-A-futuristic-scene-depicting-the-concept-of-AI-and-human-collaboration-in-programming.-On-the-left-a-realistic-humanoid-robot-with-visible-circuits-.png" alt="Will AI Replace Programmers?" /></p>
<p><strong>Let's look at an example.</strong> Imagine you're tasked with creating an application to analyze social media sentiment in real time. You can leverage AI tools to gather data, identify patterns, and even generate basic visualizations. But it's the human programmer who understands the nuances of language, the potential biases in social media data, and the specific needs of the user. We can design the application's architecture, tailor the analysis to specific demographics, and ensure the results are actionable.</p>
<p>AI is a revolutionary force, but it's not a sentient being ready to take the coding world by storm. It's a powerful tool that, when wielded by skilled programmers, can create wonders. The future of programming isn't about AI replacing programmers; it's about humans and AI working in tandem to create a new era of software development, one that's faster, more efficient, and far more innovative than ever before.</p>
<p>So, if you're passionate about programming, don't be discouraged by the rise of AI. Embrace it as a powerful ally and let your creativity soar. After all, the future belongs to those who can combine the best of human ingenuity with the ever-evolving power of artificial intelligence.</p>
]]></content:encoded></item><item><title><![CDATA[Crafting pBot as a Pinnacle AI Assistant  for the Pangea Community]]></title><description><![CDATA[Hey reader, and welcome to this introductory blog post where I share the fascinating journey of developing pBot, also known as Pangea Bot. This venture was inspired by my quest for comprehensive information about Pangea, a relatively new player in th...]]></description><link>https://blog.atuhaire.com/crafting-pbot-as-a-pinnacle-ai-assitant-for-the-pangea-community</link><guid isPermaLink="true">https://blog.atuhaire.com/crafting-pbot-as-a-pinnacle-ai-assitant-for-the-pangea-community</guid><category><![CDATA[PangeaSecurathon]]></category><category><![CDATA[pangea]]></category><category><![CDATA[Hashnode]]></category><category><![CDATA[chatbot]]></category><category><![CDATA[#cybersecurity]]></category><dc:creator><![CDATA[Ronnie Atuhaire]]></dc:creator><pubDate>Wed, 15 Nov 2023 20:12:55 GMT</pubDate><enclosure url="https://cdn.hashnode.com/res/hashnode/image/upload/v1700078144312/9fbe9dec-1f8a-44ac-a5b0-e18f305bc576.png" length="0" type="image/jpeg"/><content:encoded><![CDATA[<p>Hey reader, and welcome to this introductory blog post where I share the fascinating journey of developing pBot, also known as Pangea Bot. This venture was inspired by my quest for comprehensive information about Pangea, a relatively new player in the market.</p>
<p>Disappointed with the search results, I embarked on creating a solution that would not only provide the information I sought but also serve as a coding bot for the Pangea Community and its array of products.</p>
<h3 id="heading-motivation-and-research">Motivation and Research</h3>
<p>My other initial motivation stemmed from the challenges I faced while trying to integrate APIs and SDKs into my <a target="_blank" href="https://www.youtube.com/watch?v=tgPWMNuScys">mPoint Hub</a>, a cybersecurity hub based in Uganda. Despite exploring bots like ChatGPT, Bard, and Bing, only Bard yielded information, albeit after tweaking the prompts.</p>
<p>The idea of developing a chatbot utilizing Google Bard Palm API to establish a Pangea context and subsequently training it with substantial Pangea-related data took shape.</p>
<p><strong><em>Here is ChatGPT's output</em></strong></p>
<p><img src="https://cdn.hashnode.com/res/hashnode/image/upload/v1700047196170/9cd022a4-d0cd-435f-972f-922322661968.png" alt class="image--center mx-auto" /></p>
<p><strong><em>Here is Rix's output after context giving</em></strong></p>
<p><img src="https://cdn.hashnode.com/res/hashnode/image/upload/v1700046976689/61d195d9-6abe-4abd-9bf6-379c5e34a1ca.png" alt class="image--center mx-auto" /></p>
<h3 id="heading-what-is-pbot">What is pBot?</h3>
<p><a target="_blank" href="https://pangeabot.surge.sh/">pBot</a> is a chatbot developed with the primary goal of serving the Pangea community and its ecosystem of products. It also offers extra intel on Domain, IP and user data breach information and awareness alongside providing a secure cyber chatbot system.</p>
<p><img src="https://cdn.hashnode.com/res/hashnode/image/upload/v1700077072736/cec0358f-453a-45d6-98eb-6e510a36131b.png" alt class="image--center mx-auto" /></p>
<h3 id="heading-about-pangea-cloud">About Pangea Cloud</h3>
<p>Pangea is a cloud-based security platform that provides a comprehensive suite of security services to help organizations protect their data and systems. <a target="_blank" href="https://pangea.cloud/">Get started here</a>. This project is an inspiration from the hackathon hosted on <a target="_blank" href="https://hashnode.com/">Hashnode</a>, a free developer blogging platform I have personally used for some good time now.</p>
<h3 id="heading-pbot-components">pBot Components</h3>
<p>The development of pBot involved structuring it into three distinct components.</p>
<ul>
<li><p>The first, named "Base," is a React app managing authentication and UI based on repository examples.</p>
</li>
<li><p>The second, "Intel," comprises three APIs—User Intel, Domain Intel, and IP Intel—built using Python Flask.</p>
</li>
<li><p>The third component is the actual bot, pBot, constructed on top of Google Palm AI API 2 (Generative Text) using Python Flask. I endowed it with Pangea context for personalized outputs.</p>
</li>
</ul>
<h3 id="heading-pbot-architecture-and-workflow">pBot Architecture and <strong>Workflow</strong></h3>
<p>pBot is a sophisticated chatbot designed to serve the Pangea community and its ecosystem. Here's a brief overview of its architecture from ideation to actual implementation:</p>
<p><img src="https://cdn.hashnode.com/res/hashnode/image/upload/v1700046774738/f7e6f3b4-8fc6-47e6-8d8e-73aa7ee0baa0.png" alt class="image--center mx-auto" /></p>
<ol>
<li><p><strong>Authentication:</strong></p>
<ul>
<li><p>Handled by the "Base" component using Pangea AuthN.</p>
</li>
<li><p>Manages user authentication and UI presentation.</p>
</li>
</ul>
</li>
<li><p><strong>Intel Component:</strong></p>
<ul>
<li><p>Consists of APIs providing intelligence on users, domains, and IPs.</p>
</li>
<li><p>Enhances the chatbot's knowledge base.</p>
</li>
</ul>
</li>
<li><p><strong>pBot Core:</strong></p>
<ul>
<li><p>Developed on top of Google Palm API 2.</p>
</li>
<li><p>Learns and customizes responses based on the Pangea context.</p>
</li>
</ul>
</li>
</ol>
<h3 id="heading-challenges">Challenges</h3>
<p>The integration of the three modules to ensure a seamless user experience across platforms has posed ongoing challenges. Presently, responsiveness on mobile devices remains unavailable.</p>
<p>Additionally, I encountered SDK integration issues with the Python client, leading me to utilize hosted pages. Despite these hurdles, I am optimistic that pBot will be instrumental in overcoming these challenges, given my commitment to being part of the Pangea community.</p>
<p><strong><em>Here is pBot before Pangea contextualisation</em></strong></p>
<p><img src="https://cdn.hashnode.com/res/hashnode/image/upload/v1700047275499/259a9956-98ee-4fb6-a7bd-e5ff517c20d7.png" alt class="image--center mx-auto" /></p>
<p><strong><em>And Here is pBot after Pangea Contextualisation</em></strong></p>
<p><img src="https://cdn.hashnode.com/res/hashnode/image/upload/v1700047334275/31798b90-e42b-4dd5-9575-a04b68553de1.png" alt class="image--center mx-auto" /></p>
<p>TRY 🚀</p>
<ul>
<li><p><a target="_blank" href="https://pangeabot.surge.sh/">pBot Demo</a></p>
</li>
<li><p><a target="_blank" href="https://github.com/Ronlin1/pBot">GitHub repo</a></p>
</li>
</ul>
<h3 id="heading-video-showcase-tldr">Video Showcase: TLDR</h3>
<p>For a visual walkthrough of how pBot operates, I have prepared a comprehensive video demonstration, accessible <a target="_blank" href="https://youtu.be/mGrxvCZlnBg">here</a>.</p>
<hr />
<div class="embed-wrapper"><div class="embed-loading"><div class="loadingRow"></div><div class="loadingRow"></div></div><a class="embed-card" href="https://youtu.be/mGrxvCZlnBg">https://youtu.be/mGrxvCZlnBg</a></div>
<p> </p>
<hr />
<h3 id="heading-next-steps">Next Steps</h3>
<p>Continual improvement is the driving force behind pBot's evolution. The goal is to maximize its capabilities and train it with custom Pangea data. This project is open for contributions, available freely, and licensed under MIT.</p>
]]></content:encoded></item><item><title><![CDATA[Embarking on a Journey: My Airbyte Hackathon and Hacktoberfest Odyssey]]></title><description><![CDATA[In this blog, I'm thrilled to take you on a journey through my recent adventures - a two-fold experience: the Airbyte Hackathon on Hasnode and my maiden voyage into the realm of Hacktoberfest contributions.
It's an adventure I nearly let pass me by, ...]]></description><link>https://blog.atuhaire.com/embarking-on-a-journey-my-airbyte-hackathon-and-hacktoberfest-odyssey</link><guid isPermaLink="true">https://blog.atuhaire.com/embarking-on-a-journey-my-airbyte-hackathon-and-hacktoberfest-odyssey</guid><category><![CDATA[airbyte ]]></category><category><![CDATA[#AirbyteHackathon ]]></category><category><![CDATA[Data Science]]></category><category><![CDATA[Hashnode]]></category><dc:creator><![CDATA[Ronnie Atuhaire]]></dc:creator><pubDate>Thu, 02 Nov 2023 20:30:40 GMT</pubDate><enclosure url="https://cdn.hashnode.com/res/hashnode/image/upload/v1698956707697/8c67cd55-ec25-4ad6-a07f-8913e9dfa035.png" length="0" type="image/jpeg"/><content:encoded><![CDATA[<p>In this blog, I'm thrilled to take you on a journey through my recent adventures - a two-fold experience: the Airbyte Hackathon on Hasnode and my maiden voyage into the realm of Hacktoberfest contributions.</p>
<p>It's an adventure I nearly let pass me by, but the decision to dive headfirst into these exciting opportunities turned out to be an immensely rewarding experience.</p>
<h3 id="heading-getting-started-the-initial-hurdles"><strong>Getting Started: The Initial Hurdles</strong></h3>
<p>The beginning of this journey was nothing short of a challenge. As a newcomer, I encountered hurdles that were both expected and surprising. However, it was during this initial phase that I had the privilege of connecting with fellow developers and open-source enthusiasts who selflessly guided me through the intricacies of Quickstarts.</p>
<h3 id="heading-quickstart-1-weather-data-stack-issue-46"><strong>Quickstart 1: Weather Data Stack (Issue #46)</strong></h3>
<p>Quickstart number one was the "Weather Data Stack," an intriguing endeavor. It involved extracting real-time or historical stock data, news, or financial information from the Polygon Stock API using Airbyte. The real magic happened when this data was loaded into a data warehouse, setting the stage for in-depth trend analysis, predictive modeling, or portfolio evaluations.</p>
<p><img src="https://cdn.hashnode.com/res/hashnode/image/upload/v1698953812200/f625d741-009f-4014-b8e2-7f8c884feb31.png" alt class="image--center mx-auto" /></p>
<p>The Quickstart even offered recommendations for data transformation, suggesting tools like dbt, and considerations like orchestrators, including Airflow and Dagster. Visit the repo <a target="_blank" href="https://github.com/airbytehq/quickstarts/tree/main/weather_data_stack"><mark>here</mark></a>.</p>
<h3 id="heading-quickstart-2-stock-data-analytics-stack-issue-63"><strong>Quickstart 2: Stock Data Analytics Stack (Issue #63)</strong></h3>
<p>Quickstart number two was the "Stock Data Analytics Stack," a project that, just like the first, revolved around extracting stock data from the Polygon Stock API using Airbyte. This data was then funneled into a data warehouse, offering a ripe opportunity for profound trend analysis, predictive insights, and comprehensive portfolio evaluations.</p>
<p><img src="https://cdn.hashnode.com/res/hashnode/image/upload/v1698954050897/361521f2-c858-49b1-9e53-91a7e3236a66.png" alt class="image--center mx-auto" /></p>
<p>Once again, this Quickstart provided a blueprint for data transformation, emphasizing tools like dbt, and orchestrators like Airflow or Dagster. Visit the issue <a target="_blank" href="https://github.com/airbytehq/quickstarts/issues/63"><mark>here</mark></a>.</p>
<h3 id="heading-navigating-challenges-my-learning-curves"><strong>Navigating Challenges: My Learning Curves</strong></h3>
<p>My journey was not devoid of obstacles. Learning to collaborate effectively with fellow developers was a valuable lesson. Additionally, the installation of Docker on my Windows 10 machine posed unforeseen complexities. To say that this challenge was a steep learning curve would be an understatement. It involved enabling HyperV and WSL and encountering numerous quirks along the way.</p>
<h3 id="heading-forging-connections-the-power-of-mentorship"><strong>Forging Connections: The Power of Mentorship</strong></h3>
<p>Through this transformative journey, I had the opportunity to form meaningful connections, particularly with <a class="user-mention" href="https://hashnode.com/@Biplab24">Biplab Bera</a>, an individual I now consider a friend.</p>
<p>Mentorship and active response to queries played a crucial role in my progress, and I am profoundly grateful to Thalia Barrera, the repository maintainer. She's been nothing short of a gem, responding to my queries, and offering assistance whenever I found myself facing an insurmountable obstacle.</p>
<h3 id="heading-remembering-the-pivotal-moments"><strong>Remembering the Pivotal Moments</strong></h3>
<p>Some moments from this journey will be etched in my memory forever. I vividly recall the initial confusion that led me to create a unique solution.</p>
<p><img src="https://cdn.hashnode.com/res/hashnode/image/upload/v1698953191875/e1f2c923-68bc-4ccc-a3e9-7a600429a863.gif" alt class="image--center mx-auto" /></p>
<p>A strong affinity for Python prompted me to craft custom code, enabling me to pull data into a public JSON URL, which I ingeniously utilized as a data source. In retrospect, it was a humorous yet memorable phase, primarily because my understanding of Airbyte was still in its nascent stages.</p>
<h3 id="heading-what-lies-ahead-the-unfinished-business"><strong>What Lies Ahead: The Unfinished Business</strong></h3>
<p>What's next on the horizon? My commitment to the project remains unwavering. I am determined to see the second Quickstart through to completion, even though I've exceeded the submission deadline. The sheer dedication to the project and the knowledge it has offered me is more than worth the extra effort.</p>
<h3 id="heading-an-extra-delight-a-mongodb-video-tutorial"><strong>An Extra Delight: A MongoDB Video Tutorial</strong></h3>
<p><img src="https://cdn.hashnode.com/res/hashnode/image/upload/v1698954226133/75b2a2b2-a803-49e9-8e10-fddd54be6384.png" alt class="image--center mx-auto" /></p>
<p>As an added treat, I crafted a video tutorial tailor-made for MongoDB enthusiasts who are delving into the Stock Data Analytics Stack. This video tutorial can be viewed <a target="_blank" href="https://youtu.be/nHvai6ZNnJI">here</a>, and I hope it proves to be an invaluable resource for those navigating the project.</p>
<div class="embed-wrapper"><div class="embed-loading"><div class="loadingRow"></div><div class="loadingRow"></div></div><a class="embed-card" href="https://youtu.be/nHvai6ZNnJI">https://youtu.be/nHvai6ZNnJI</a></div>
<p> </p>
<h3 id="heading-conclusion-an-exciting-path-forward"><strong>Conclusion: An Exciting Path Forward</strong></h3>
<p>Thank you for accompanying me on this journey through my first Airbyte Hackathon and my initiation into the world of Hacktoberfest. The path I've tread has been inspiring, and I look forward to what the future holds.</p>
<p>Stay tuned for more adventures on the horizon. Follow me here and <a target="_blank" href="https://linktr.ee/Atuhaire">let's get connected</a>.</p>
<hr />
]]></content:encoded></item><item><title><![CDATA[Nimble API: Generate Credentials and Start Web and Data Scraping]]></title><description><![CDATA[Are you ready to unlock the power of web data collection and automation? Nimble API is your all-in-one platform that simplifies the process of accessing, collecting, and delivering web data. Whether you're an SEO specialist, data analyst, AI develope...]]></description><link>https://blog.atuhaire.com/nimble-api-generate-credentials-and-start-web-and-data-scraping</link><guid isPermaLink="true">https://blog.atuhaire.com/nimble-api-generate-credentials-and-start-web-and-data-scraping</guid><category><![CDATA[nimble]]></category><category><![CDATA[nimbleway]]></category><category><![CDATA[APIs]]></category><category><![CDATA[web scraping]]></category><category><![CDATA[data]]></category><dc:creator><![CDATA[Ronnie Atuhaire]]></dc:creator><pubDate>Tue, 10 Oct 2023 14:28:35 GMT</pubDate><enclosure url="https://cdn.hashnode.com/res/hashnode/image/upload/v1696948023792/cd06d8d6-bf55-410b-9bf5-9962375c38c0.png" length="0" type="image/jpeg"/><content:encoded><![CDATA[<p>Are you ready to unlock the power of web data collection and automation? Nimble API is your all-in-one platform that simplifies the process of accessing, collecting, and delivering web data. Whether you're an SEO specialist, data analyst, AI developer, or sales professional, Nimble API empowers you to harness the vast ocean of web information. In this introductory guide, we'll explore what Nimble API has to offer and how to begin your journey into the world of web data.</p>
<h2 id="heading-what-can-nimble-api-do-for-you">What Can Nimble API Do for You?</h2>
<p>Nimble API is your versatile companion for a range of web data collection needs. With just a URL and some basic parameters, Nimble API can create powerful web data pipelines for:</p>
<ul>
<li><p><strong>SERP Collection</strong>: Dive deep into search engine results pages (SERPs) for comprehensive SEO/SEM analysis.</p>
</li>
<li><p><strong>E-Commerce Data</strong>: Access product data from the largest online marketplaces with ease, making price monitoring and product comparison a breeze.</p>
</li>
<li><p><strong>AI Model Training</strong>: Gather training and parameter data to fuel your AI models and machine learning algorithms.</p>
</li>
<li><p><strong>Sales Boost</strong>: Enrich your leads with valuable data, making your sales efforts more efficient and effective.</p>
</li>
</ul>
<p>And this is just the beginning. Nimble API is designed to be flexible and adaptable to various use cases, making it a valuable tool for businesses and individuals alike.</p>
<h2 id="heading-how-nimble-api-works">How Nimble API Works</h2>
<p>Nimble API encapsulates the entire data collection process into a unified package, simplifying the journey from URL to actionable data. Here's how it works:</p>
<ul>
<li><p><strong>Accessing Any URL</strong>: Nimble API can access any public URL on the web, giving you the freedom to explore the vast web landscape.</p>
</li>
<li><p><strong>Collecting Web Data</strong>: It collects a wide range of web data, including text, images, and more, transforming the web into a valuable data source.</p>
</li>
<li><p><strong>Parsing Data</strong>: Nimble API parses the collected data into usable JSON structures, making it easy to integrate into your workflows.</p>
</li>
<li><p><strong>Multiple Storage Options</strong>: Choose from multiple storage options to store and manage your valuable data.</p>
</li>
</ul>
<h2 id="heading-available-apis">Available APIs</h2>
<p>Nimble API offers a suite of powerful APIs to cater to your specific data collection needs. These include:</p>
<ul>
<li><p><strong>Web API</strong>: Your gateway to accessing web data from any public URL.</p>
</li>
<li><p><strong>SERP API</strong>: Dive into search engine results for SEO/SEM analysis.</p>
</li>
<li><p><strong>Places API</strong>: Access location-based data for geospatial analysis.</p>
</li>
<li><p><strong>E-Commerce API</strong>: Gather product data from online marketplaces for competitive insights.</p>
</li>
</ul>
<h2 id="heading-getting-started">Getting Started</h2>
<p>Getting started with Nimble API is a breeze, thanks to its user-friendly interface and detailed documentation.</p>
<p>Before you begin, ensure to have Python Installed on your machine. Have an account created on the Nimble platform and you can access <a target="_blank" href="https://app.nimbleway.com/">this dashboard</a>.</p>
<p><img src="https://cdn.hashnode.com/res/hashnode/image/upload/v1696854074480/edd65447-5f9a-4875-8da8-aff5d8a61425.png" alt class="image--center mx-auto" /></p>
<p>Here's a quick overview of the steps to begin your web data journey:</p>
<h3 id="heading-authentication">Authentication</h3>
<p>Nimble API uses Basic access authentication for every request. To authenticate, generate a base64 encoded credential string using your Nimble credentials. For example:</p>
<pre><code class="lang-python"><span class="hljs-keyword">import</span> base64
auth = <span class="hljs-string">'username@example.com:yourpassword'</span>
encoded_bytes = base64.b64encode(auth.encode(<span class="hljs-string">'utf-8'</span>))
<span class="hljs-comment"># Convert the bytes to a string</span>
nimble_auth = encoded_bytes.decode(<span class="hljs-string">'utf-8'</span>)

<span class="hljs-comment">#Incase you want to see it!</span>
print(nimble_auth)
</code></pre>
<p>Once you have your credential string, apply it to the header of every request.</p>
<h3 id="heading-making-real-time-requests">Making Real-Time Requests</h3>
<p>Real-time requests to the Web API are made using the <a target="_blank" href="https://api.webit.live/api/v1/realtime/web"><code>https://api.webit.live/api/v1/realtime/web</code></a> endpoint. You'll need to send the credential string with every request to authenticate your account.</p>
<pre><code class="lang-python"><span class="hljs-keyword">import</span> requests

url = <span class="hljs-string">'https://api.webit.live/api/v1/realtime/web'</span>
headers = {
    <span class="hljs-string">'Authorization'</span>: <span class="hljs-string">f'Basic <span class="hljs-subst">{nimble_auth}</span>'</span>,
    <span class="hljs-string">'Content-Type'</span>: <span class="hljs-string">'application/json'</span>
}
data = {
    <span class="hljs-comment"># Add your parameters here</span>
    <span class="hljs-string">"url"</span>: <span class="hljs-string">"https://www.octachart.com"</span>,
    <span class="hljs-string">"method"</span>: <span class="hljs-string">"GET"</span>,
    <span class="hljs-string">"parse"</span>: <span class="hljs-literal">False</span>,
    <span class="hljs-string">"render"</span>: <span class="hljs-literal">True</span>,
    <span class="hljs-string">"country"</span>: <span class="hljs-string">"CA"</span>,
    <span class="hljs-string">"locale"</span>: <span class="hljs-string">"en-GB"</span>,
    <span class="hljs-string">"headers"</span>: {
        <span class="hljs-string">"Some-Extra-Header"</span>: <span class="hljs-string">"Some-Extra-Header"</span>
    }
}

response = requests.post(url, headers=headers, json=data)

print(<span class="hljs-string">"NIMBLE STATUS "</span>, response.status_code)
</code></pre>
<p>The only required parameter is the "URL," defining the address from which to collect data. Additional parameters, such as geolocation targeting and custom headers, can be added for more specific data collection needs.</p>
<h3 id="heading-understanding-the-response">Understanding the Response</h3>
<p>If successful, the Web API will return <code>200 OK</code> status with structured data, including the HTML content of the requested page. If parsing is enabled, you'll also receive a structured JSON object of the data.</p>
<p><img src="https://cdn.hashnode.com/res/hashnode/image/upload/v1696856493576/1d347fcf-4ca5-4328-80de-d45099ff43b3.png" alt class="image--center mx-auto" /></p>
<p>The entire code can be found <a target="_blank" href="https://github.com/Ronlin1/nimble_tutorials/blob/main/0_nimble_api.py">here</a>: Please star and follow me on GitHub.</p>
<h2 id="heading-whats-next">What's Next?</h2>
<p>This article is just the beginning of your journey with Nimble API. In our upcoming video and blog series, we'll dive deeper into how to leverage the different APIs for specific use cases. Stay tuned for more insights, tips, and tutorials on unlocking the full potential of Nimble API.</p>
<p>Ready to embark on your web data adventure? Subscribe to stay updated and get ready to harness the power of Nimble API. Your web data journey starts here!</p>
]]></content:encoded></item><item><title><![CDATA[Excel Revolutionized: Python Integration Unveiled for Data Analysts]]></title><description><![CDATA[Microsoft has just unveiled a groundbreaking development for Excel users – the integration of Python directly into Excel. This fusion of two powerful tools promises to reshape the landscape of data analysis and visualization. Let's dive into the deta...]]></description><link>https://blog.atuhaire.com/excel-revolutionized-python-integration-unveiled-for-data-analysts</link><guid isPermaLink="true">https://blog.atuhaire.com/excel-revolutionized-python-integration-unveiled-for-data-analysts</guid><category><![CDATA[Python]]></category><category><![CDATA[Programming Blogs]]></category><category><![CDATA[Data Science]]></category><category><![CDATA[AI]]></category><dc:creator><![CDATA[Ronnie Atuhaire]]></dc:creator><pubDate>Wed, 27 Sep 2023 07:54:18 GMT</pubDate><enclosure url="https://cdn.hashnode.com/res/hashnode/image/upload/v1695801055563/3766434a-b1db-4709-afce-0177b982ea6b.png" length="0" type="image/jpeg"/><content:encoded><![CDATA[<p>Microsoft has just unveiled a groundbreaking development for Excel users – the integration of Python directly into Excel. This fusion of two powerful tools promises to reshape the landscape of data analysis and visualization. Let's dive into the details of this exciting announcement.</p>
<h3 id="heading-the-power-of-python-in-excel"><strong>The Power of Python in Excel</strong></h3>
<p>Excel has long been a go-to tool for millions of users worldwide for data organization, analysis, and visualization. With this new integration, Python, a versatile and widely used programming language, takes center stage within Excel. Here's what sets Python in Excel apart:</p>
<ol>
<li><p><strong>Built for Analysts</strong>: Excel users can now seamlessly integrate Python into their workflows. The new PY function allows users to input Python code directly into Excel cells, alongside familiar tools like formulas, charts, and PivotTables.</p>
</li>
<li><p><strong>Advanced Analytics</strong>: Python in Excel opens the door to powerful analytics, including data cleaning, machine learning, predictive analytics, and more. Users can create end-to-end solutions that combine the strengths of Excel and Python.</p>
</li>
<li><p><strong>Visualizations</strong>: Python's charting libraries, such as Matplotlib and seaborn, enable users to create an array of visualizations, from conventional graphs to specialized plots like heatmaps and violin plots.</p>
</li>
<li><p><strong>Machine Learning and Forecasting</strong>: Leveraging Python libraries like scikit-learn and statsmodels, users can apply machine learning and forecasting techniques directly within Excel.</p>
</li>
<li><p><strong>Data Cleaning</strong>: Python in Excel makes it easy to perform advanced data cleaning tasks, such as handling missing values, standardizing formats, and employing regular expressions for transformations.</p>
</li>
</ol>
<h3 id="heading-the-role-of-anaconda"><strong>The Role of Anaconda</strong></h3>
<p>Python in Excel harnesses the capabilities of Anaconda Distribution for Python, a widely adopted repository for Python libraries. This ensures access to popular Python libraries like pandas, Matplotlib, and scikit-learn, securely built, tested, and supported by Anaconda.</p>
<p><img src="https://www.ikkaro.com/wp-content/uploads/2019/02/distribuci%C3%B3n-anaconda-data-science.png" alt="Mafunzo ya Anaconda: Chatu kwa Kujifunza Mashine na Sayansi ya Takwimu -  Ikkaro" /></p>
<h3 id="heading-security-and-collaboration"><strong>Security and Collaboration</strong></h3>
<p>Microsoft has prioritized security and collaboration in Python in Excel:</p>
<ul>
<li><p><strong>Cloud Security</strong>: Python code used by Excel runs securely on the Microsoft Cloud, isolated within its container using Azure Container Instances. This ensures data privacy.</p>
</li>
<li><p><strong>Team Collaboration</strong>: Users can share Python in Excel workbooks with colleagues seamlessly. Collaboration tools like Microsoft Teams and Outlook work smoothly with these workbooks, maintaining compliance with organization policies.</p>
</li>
</ul>
<h3 id="heading-microsofts-commitment-to-python"><strong>Microsoft's Commitment to Python</strong></h3>
<p>This collaboration reflects Microsoft's deep commitment to Python and its community. Guido van Rossum, Python's creator and a Microsoft Distinguished Engineer, has played a pivotal role in defining the architecture for Python in Excel.</p>
<p><strong>Early Reactions</strong></p>
<p>Early adopters and partners have shared their excitement about Python in Excel:</p>
<ul>
<li><p><strong>McGraw Hill</strong>: Python in Excel is expected to benefit education, making it easier for students to access analytics tools and bridge the gap to brighter futures.</p>
</li>
<li><p><strong>McKinney</strong>: McKinney's reporting workflows have been simplified, making Python more accessible across the organization.</p>
</li>
<li><p><strong>KPMG</strong>: Python in Excel has the potential to enhance advanced analytics for companies while providing transparency and deeper insights into financials.</p>
</li>
</ul>
<h3 id="heading-getting-started"><strong>Getting Started</strong></h3>
<p>To use Python in Excel, users can join the <a target="_blank" href="https://insider.microsoft365.com/join/windows">Microsoft 365 Insider Program</a>, by selecting the Beta Channel. This feature will gradually roll out, starting with Excel for Windows, and will be included in Microsoft 365 subscriptions during the Preview phase.</p>
<h3 id="heading-whats-next"><strong>What's Next</strong></h3>
<p>Microsoft has promised further improvements, including enhanced editing experiences, error handling, help, and documentation. The system's data size and compute limitations will also be monitored and adjusted.</p>
<p>In conclusion, Python integration in Excel is a significant leap forward, offering Excel users an unprecedented range of analytics and data processing capabilities. This exciting development is set to revolutionize the way data analysts work, combining the familiarity of Excel with the power of Python. Stay tuned for more updates as this integration continues to evolve.</p>
]]></content:encoded></item><item><title><![CDATA[Introduction to Nimble: Your Ultimate AI Solution to Web Scraping]]></title><description><![CDATA[In today's data-driven world, information is power and access to accurate and timely data can make all the difference. Whether you're a business striving to gain a competitive edge, a researcher in pursuit of valuable insights, or a developer looking...]]></description><link>https://blog.atuhaire.com/introduction-to-nimble-your-ultimate-ai-solution-to-web-scraping</link><guid isPermaLink="true">https://blog.atuhaire.com/introduction-to-nimble-your-ultimate-ai-solution-to-web-scraping</guid><category><![CDATA[nimble]]></category><category><![CDATA[web scraping]]></category><category><![CDATA[Data Science]]></category><category><![CDATA[nimbleway]]></category><dc:creator><![CDATA[Ronnie Atuhaire]]></dc:creator><pubDate>Sun, 10 Sep 2023 21:51:05 GMT</pubDate><enclosure url="https://cdn.hashnode.com/res/hashnode/image/upload/v1694382465867/9b785e9e-b1c8-4419-b2ca-66e0650669e8.png" length="0" type="image/jpeg"/><content:encoded><![CDATA[<p>In today's data-driven world, information is power and access to accurate and timely data can make all the difference. Whether you're a business striving to gain a competitive edge, a researcher in pursuit of valuable insights, or a developer looking to build data-driven applications, one name stands out as your ultimate partner in web data collection: Nimble.</p>
<p>In this article, I will introduce you to Nimble and its main product offerings. We shall later have more in-depth technical articles on how you can get started with the different products in subsequent articles.</p>
<h3 id="heading-what-is-nimble"><strong>What is Nimble?</strong></h3>
<p>Nimble is a new AI cutting-edge platform that specializes in web data collection, offering a range of innovative solutions to meet various data-gathering needs. It's a versatile and efficient tool that caters to businesses, researchers, developers, and individuals seeking to collect, manage, and leverage web data for their specific purposes.</p>
<p><a target="_blank" href="https://www.nimbleway.com/">Get Started Here</a>.</p>
<h3 id="heading-why-nimble"><strong>Why Nimble?</strong></h3>
<p>At Nimble, they understand the pivotal role that data plays in decision-making and innovation. They recognize the challenges and complexities associated with web data collection and have set out to redefine the game. Nimble is not just a solution; it's a revolution in how you gather, manage, and leverage web data.</p>
<h3 id="heading-the-nimble-difference-and-product-offerings"><strong>The Nimble Difference and Product Offerings</strong></h3>
<p>What sets Nimble apart from the rest? Let's delve into the core aspects that make Nimble your go-to choice for web data collection:</p>
<p><img src="https://lh6.googleusercontent.com/5dGeP4QCeArgRAP8qcExS-BqF-TsWi-AZIwVQt5fAM6GpEiboqp--2_pW9mYYU4AJeC7veHUtjuuc6cNJxO8uCm3JwAXzOcnpH8NlSb67s4DN7J6pbvssAdx4O6ohwk6k1cZEjY-UK9k26Z_1PRp3kE" alt /></p>
<h4 id="heading-1-nimble-ip-elevating-proxy-management-with-ai-power"><strong>1. Nimble IP: Elevating Proxy Management with AI Power</strong></h4>
<p>In a world where data is invaluable, Nimble IP has reimagined proxy management. Their AI-powered proxy network is designed to provide unparalleled reliability and efficiency. Say goodbye to the complexities and inconsistencies that often plague traditional proxy services.</p>
<p>Nimble IP integrates cutting-edge AI technology, ensuring superior performance tailored to diverse needs. From dynamic pricing strategies to brand monitoring, Nimble IP delivers premium results for every use case. Plus, their user-friendly interface and robust account management put you in control.</p>
<p>Get Started <a target="_blank" href="https://tracking.nimbleway.com/SH3U">here.</a></p>
<h4 id="heading-2-nimble-api-your-all-in-one-data-collection-platform"><strong>2. Nimble API: Your All-In-One Data Collection Platform</strong></h4>
<p>Nimble API is a comprehensive solution encapsulating the entire data collection process. With just a URL and fundamental parameters, you can automate a wide range of tasks, from SERP collection for SEO analysis to lead enrichment for sales. Nimble API's ease of use, including REST APIs and Template APIs, makes it accessible to all.</p>
<p>It supports multiple storage options and data parsing for seamless integration into your data analysis workflows. Rest assured, Nimble API fully complies with data protection regulations, ensuring your data collection activities are always within legal bounds.</p>
<p>Get Started <a target="_blank" href="https://tracking.nimbleway.com/SH3V">here.</a></p>
<h4 id="heading-3-nimble-browser-revolutionizing-web-data-collection"><strong>3. Nimble Browser: Revolutionizing Web Data Collection</strong></h4>
<p>The Nimble Browser is set to change the game in web data collection. Built from the ground up, it offers unparalleled speed, scalability, and ease of use. With AI-powered parsing and webpage rendering capabilities, it outshines traditional automated browsers. The Nimble Browser also boasts built-in proxies and seamless integration with existing automation frameworks, making it a cost-effective and efficient choice.</p>
<p>Get started <a target="_blank" href="https://tracking.nimbleway.com/SH3W">here.</a></p>
<p><strong>Detailed Video Introduction</strong></p>
<p>Here is a more detailed video with an introduction and a walk through the platform, pricing and availability;</p>
<hr />
<div class="embed-wrapper"><div class="embed-loading"><div class="loadingRow"></div><div class="loadingRow"></div></div><a class="embed-card" href="https://www.youtube.com/watch?v=BRcx9kyE1vM">https://www.youtube.com/watch?v=BRcx9kyE1vM</a></div>
<p> </p>
<hr />
<p><strong>Wrapping Up!</strong></p>
<p>In essence, Nimble is not just a set of tools; it's a mindset that seeks to empower individuals, businesses, and researchers in their data endeavours. With Nimble IP, Nimble API, and the Nimble Browser, they offer you a complete ecosystem for web data collection. Whether you're a beginner exploring the world of data or a seasoned professional seeking top-tier solutions, Nimble promises and delivers an unparalleled experience.</p>
<p>Stay tuned as  I continue to dive deeper into the individual facets of Nimble, exploring the remarkable features and benefits of each product. Get ready to discover a new era of web data collection with Nimble as your guide.</p>
]]></content:encoded></item><item><title><![CDATA[CodeLobster IDE: A Free Editor for PHP, HTML, CSS, JavaScript, and TypeScript]]></title><description><![CDATA[In this article, we suggest you get acquainted with the free editor of web languages - CodeLobster IDE. It has been presented on the software market for a long time already, and it has won a lot of fans.
Introduction
CodeLobster IDE allows you to edi...]]></description><link>https://blog.atuhaire.com/codelobster-ide-a-free-editor-for-php-html-css-javascript-and-typescript</link><guid isPermaLink="true">https://blog.atuhaire.com/codelobster-ide-a-free-editor-for-php-html-css-javascript-and-typescript</guid><category><![CDATA[coding]]></category><category><![CDATA[Programming Tips]]></category><category><![CDATA[Programming Blogs]]></category><category><![CDATA[codelobster]]></category><dc:creator><![CDATA[Ronnie Atuhaire]]></dc:creator><pubDate>Sat, 09 Sep 2023 19:24:34 GMT</pubDate><enclosure url="https://cdn.hashnode.com/res/hashnode/image/upload/v1694287298291/b2649fca-72bc-4583-8261-08c46507e77e.jpeg" length="0" type="image/jpeg"/><content:encoded><![CDATA[<p>In this article, we suggest you get acquainted with the free editor of web languages - <strong>CodeLobster IDE</strong>. It has been presented on the software market for a long time already, and it has won a lot of fans.</p>
<h3 id="heading-introduction">Introduction</h3>
<p><a target="_blank" href="http://www.codelobster.com/">CodeLobster IDE</a> allows you to edit PHP, HTML, CSS, JavaScript, and TypeScript files, it highlights the syntax and gives hints for tags, functions, and their parameters. This editor easily deals with those files that contain mixed content.</p>
<p>If you insert PHP code in your HTML template, then the editor correctly highlights both HTML tags and PHP functions. The same applies to CSS and JavaScript/TypeScript code, which is contained in HTML files.</p>
<p>The program includes an auto-completion function, which greatly speeds up the programmer's work and eliminates the possibility of errors.</p>
<p><img src="https://cdn.hashnode.com/res/hashnode/image/upload/v1694287007280/6c1a8909-11dd-4d83-ad18-5b6c1eadfc7e.png" alt class="image--center mx-auto" /></p>
<p>CodeLobster IDE provides contextual help on all supported programming languages, It uses the most up-to-date documentation at this moment, downloading it from official sites. So we can quickly get a description of any HTML tag, CSS attribute, PHP, or JavaScript/TypeScript function by pressing the F1 key.</p>
<p>The built-in PHP debugger allows you to execute PHP scripts step by step, sequentially moving through the lines of code. You can assign checkpoints, view the process of the work of loops, and monitor the values of all variables during the execution of the script.</p>
<h3 id="heading-useful-functions-and-features-of-the-ide"><strong>Useful Functions and Features of the IDE:</strong></h3>
<ul>
<li><p>A pair highlighting of parentheses and tags - you will never have to count parentheses or quotation marks, the editor will take care of it.</p>
</li>
<li><p>Highlighting of blocks, selection and collapsing of code snippets, bookmarks to facilitate navigation on the edited file, recognition and building of the complete structure of PHP projects - these functions ensure easy work with projects of any scale.</p>
</li>
<li><p>Support for 17 user interface languages, among them English, German, Russian, Spanish, French, and others.</p>
</li>
<li><p>The program works on the following operation systems: Windows 7, Windows 8, Windows 10, Mac OS, Linux, Ubuntu, Fedora, and Debian.</p>
</li>
</ul>
<p>The professional version of CodeLobster IDE provides the programmer with even more features.</p>
<p>For example, you have an opportunity to work with projects on a remote server with use of the built-in FTP client. You can edit the selected files, preview the results and then synchronize the changes with the files on the hosting.</p>
<h3 id="heading-pro-version-includes-an-extensive-set-of-plug-ins"><strong>Pro Version includes an extensive set of plug-ins:</strong></h3>
<ul>
<li><p>Fully implemented support for JavaScript (and TypeScript) libraries, such as jQuery, Node.js, AngularJS, AngularTS, BackboneJS, EmberJS, VueJS, and MeteorJS.</p>
</li>
<li><p>A large set of extensions that help to work with PHP frameworks - CakePHP, CodeIgniter, Laravel, Phalcon, Smarty, Symfony, Twig, and Yii plug-ins.</p>
</li>
<li><p>Plugins for working with the most popular CMS - Drupal, Joomla, Magento, and WordPress.</p>
</li>
<li><p>Also, CodeLobster IDE has a special plug-in for <strong>Bootstrap</strong>.</p>
</li>
</ul>
<h3 id="heading-wrapping-up">Wrapping Up!</h3>
<p>We can download and install any framework directly from the program without being distracted from the main tasks.</p>
<p>In general, for a year of work, our team had no complaints against the editor. <strong>CodeLobster IDE</strong> works fast, does not hang, and allows us to work even with large PHP projects.</p>
<p>You can download CodeLobster IDE from the original website <a target="_blank" href="http://www.codelobster.com/">http://www.codelobster.com/</a>.</p>
]]></content:encoded></item><item><title><![CDATA[What is Android Rooting? Pros and Cons Elaborated]]></title><description><![CDATA[Have you ever desired full control over your Android device, allowing you to customize it extensively and unleash its full potential according to your preferences? Well, that is precisely the exact thing Android Rooting can accomplish for you.
Rootin...]]></description><link>https://blog.atuhaire.com/what-is-android-rooting-pros-and-cons-elaborated</link><guid isPermaLink="true">https://blog.atuhaire.com/what-is-android-rooting-pros-and-cons-elaborated</guid><category><![CDATA[Android]]></category><category><![CDATA[bloatware]]></category><category><![CDATA[rooting]]></category><dc:creator><![CDATA[Ronnie Atuhaire]]></dc:creator><pubDate>Wed, 23 Aug 2023 05:59:41 GMT</pubDate><enclosure url="https://cdn.hashnode.com/res/hashnode/image/upload/v1692770193259/0cc4dd98-b939-4122-9bd7-0126e1db817f.jpeg" length="0" type="image/jpeg"/><content:encoded><![CDATA[<p>Have you ever desired full control over your Android device, allowing you to customize it extensively and unleash its full potential according to your preferences? Well, that is precisely the exact thing Android Rooting can accomplish for you.</p>
<p>Rooting an Android gadget or device automatically grants you <strong><em>"root access"</em></strong> to the Android operating System. This allows you to get to system files and settings that are usually limited to end users.</p>
<p>While rooting has numerous advantages, it is essential to be aware of its disadvantages as well. To give you a balanced view of what to anticipate, we will examine the advantages and disadvantages of Android rooting in this article.</p>
<h2 id="heading-what-is-android-rooting">What is Android Rooting?</h2>
<p>Be that as it may, before we jump into the benefits and disservices, we should initially get a handle on the technical aspects of Android rooting. <strong><em>By rooting your Android gadget, you basically break free from the limits imposed by the manufacturer and the mobile network operator.</em></strong></p>
<p>This enables you to introduce custom ROMs, remove pre-introduced bloatware, and even push your gadget's processor as far as possible through overclocking. In any case, rooting your device voids the warranty, and any accidents during the cycle might possibly present security dangers and system instability.</p>
<p>Since we have an essential comprehension of Android rooting, we should investigate the advantages and disadvantages, equipping you with the information you really want to settle on an educated choice.</p>
<p><img src="https://images.wondershare.com/drfone/article/android-root-main.jpg" alt="7 Things You Must Do before Rooting Android Devices- Dr.Fone" /></p>
<h2 id="heading-benefits-of-android-rooting">Benefits of Android Rooting</h2>
<p><strong>1. Improved Customization:</strong></p>
<p>Rooting your Android device opens a universe of customization choices. You can introduce custom ROMs that offer extraordinary elements, themes, and performance improvements. This lets you customize the look of your device, making it truly reflect your style. Moreover, root-just applications become accessible, offering progressed usefulness and customization choices that are generally difficult to reach on non-rooted devices.</p>
<p><strong>2. Enhanced Performance and Battery Life:</strong></p>
<p>Rooting empowers you to improve your gadget's presentation and expand battery duration. With root access, you can eliminate pointless or useless system applications and administrations, opening up significant system assets. You can also modify the processor of your device to achieve the ideal balance between performance and battery life.</p>
<p><strong>3. Gain Access to Exclusive Features and Apps:</strong></p>
<p>To fully utilize certain features and apps, root access is required. By rooting your Android gadget, you get an entirely different universe of uses and capacities. This incorporates promotion or ad-blockers, backup and restore tools, advanced file managers, and even the ability to tether your device without any restrictions.</p>
<h2 id="heading-drawbacks-of-android-rooting">Drawbacks of Android Rooting</h2>
<p><strong>1. System Insecurity:</strong></p>
<p>Rooting your Android gadget opens it to potential security weaknesses. By granting root access, you basically disable the system's security features. This can make your gadget more vulnerable to malware, infections, and unapproved access. It's critical to practice alertness and just download applications and documents from trusted sources to limit these dangers. These trusted sources include the official app stores and websites of the application makers.</p>
<p><strong>2. System Instability:</strong></p>
<p>Rooting can at times prompt system flimsiness, particularly in the event that it wasn't performed accurately or on the other hand assuming contradictory system changes are made. There may be a lot of crashes, freezes, or even boot loops on your device. It's vital to completely explore and follow legitimate rooting methodologies to limit the possibility of experiencing such issues.</p>
<p><strong>3. Voiding Warranty:</strong></p>
<p>Rooting your Android gadget ordinarily voids the maker's warranty. This means that you won't be able to get repairs or replacements from the manufacturer if something goes wrong with your device. Gauging the advantages against the expected loss of warranty inclusion prior to choosing to root your device is fundamental.</p>
<h2 id="heading-is-android-rooting-worth-the-effort">Is Android rooting Worth The effort?</h2>
<p>Choosing whether to root your Android entirely depends on you and your specific needs or requirements. If you prefer customization, improved performance, and access to exclusive features, rooting can be a distinct advantage.</p>
<p>In any case, it's vital to consider the advantages and the potential disadvantages cautiously. Rooting might not be the best option for you if you place a high value on the security and stability provided by the manufacturer and would rather stick to the official Android ecosystem.</p>
<p>Prior to continuing with rooting, it's important to completely investigate the particular rooting strategy for your device and follow trustworthy advisers or technical people. Remember to back up your information beforehand and tread carefully. Rooting your device can unlock a realm of possibilities, but it is important to acknowledge the benefits and risks that come with it.</p>
<h2 id="heading-wrapping-up">Wrapping Up!</h2>
<p>All in all, Android rooting offers a scope of benefits and weaknesses, and it ultimately depends on you to decide if the advantages offset the dangers. By grasping the ramifications and taking into account your own requirements, you can settle on an informed choice that lines up with your longing for customization and control over your Android device.</p>
<hr />
<p>You can express additional appreciation by purchasing me a coffee as a gesture of support for this complimentary content. Moreover, I am receptive to opportunities for partnerships, roles involving technical writing, collaborative projects, as well as engagements related to Python training or positions.</p>
<p><a target="_blank" href="https://www.buymeacoffee.com/RonnieAtuhaire"><img src="https://cdn.buymeacoffee.com/buttons/default-orange.png" alt="Buy Ronnie A Coffee" class="image--center mx-auto" /></a></p>
<p>📢 You can also follow me on <a target="_blank" href="https://twitter.com/intent/follow?screen_name=AfroBoyUg"><strong>Twitter</strong></a>: ♥ ♥ Waiting for you! 🙂</p>
]]></content:encoded></item><item><title><![CDATA[UEFI Vs BIOS Firmware: How to Tell What Powers Your Computer]]></title><description><![CDATA[In the realm of modern computing, the fundamental processes of initializing hardware components and launching the operating system are entrusted to firmware interfaces. Among these, UEFI (Unified Extensible Firmware Interface) and BIOS (Basic Input/O...]]></description><link>https://blog.atuhaire.com/uefi-vs-bios-firmware-how-to-tell-what-powers-your-computer</link><guid isPermaLink="true">https://blog.atuhaire.com/uefi-vs-bios-firmware-how-to-tell-what-powers-your-computer</guid><category><![CDATA[bios]]></category><category><![CDATA[uefi]]></category><category><![CDATA[PCS]]></category><category><![CDATA[computing]]></category><dc:creator><![CDATA[Ronnie Atuhaire]]></dc:creator><pubDate>Wed, 09 Aug 2023 04:52:34 GMT</pubDate><enclosure url="https://cdn.hashnode.com/res/hashnode/image/upload/v1691556658016/032e18e1-16bc-4480-9337-8b1d74656a80.jpeg" length="0" type="image/jpeg"/><content:encoded><![CDATA[<p>In the realm of modern computing, the fundamental processes of initializing hardware components and launching the operating system are entrusted to firmware interfaces. Among these, <strong><em>UEFI (Unified Extensible Firmware Interface)</em></strong> and <strong><em>BIOS (Basic Input/Output System)</em></strong> hold prominence.</p>
<p>While both facilitate the same purpose, their underlying mechanisms and capabilities exhibit significant disparities. In this comprehensive exploration, we will delve into the intricacies of <strong>UEFI</strong> and <strong>BIOS,</strong> highlighting their differences and shedding light on their unique attributes.</p>
<hr />
<h2 id="heading-uefi-and-bios-an-overview">UEFI and BIOS: An Overview</h2>
<p>The role of UEFI and BIOS is pivotal in the startup sequence of a computer. They serve as bridges between the hardware components and the operating system, ensuring a seamless transition from hardware initialization to OS loading.</p>
<p>BIOS, the time-honored interface, has been a staple in computers since the 1970s. It functions with a text-based interface and possesses limitations, particularly in terms of boot time and partitioning support.</p>
<p>In contrast, UEFI is the contemporary successor, introduced in 2005. It boasts a graphical user interface, offering icons and clickable buttons for a more user-friendly experience. UEFI's modular design and pre-boot environment contribute to swifter boot times and enhanced partitioning capabilities, notably supporting the GPT partitioning scheme for larger disk sizes and more partitions.</p>
<h2 id="heading-how-to-check-if-your-computer-is-bios-or-uefi-powered">How to check if your computer is BIOS or UEFI powered</h2>
<p>To determine whether your computer is powered by BIOS or UEFI, you can follow these steps:</p>
<h3 id="heading-method-1-check-system-information-in-windows">Method 1: Check System Information in Windows</h3>
<ul>
<li><p>Press the <strong>Windows key</strong> on your keyboard or click on the <strong>Start</strong> button.</p>
</li>
<li><p>Type "<strong>System Information</strong>" and press <strong>Enter</strong>.</p>
</li>
<li><p>In the System Information window, look for the <strong>BIOS Mode</strong> field. It will indicate whether your system is using <strong>Legacy</strong> (BIOS) or <strong>UEFI</strong>.</p>
</li>
</ul>
<p><img src="https://cdn.hashnode.com/res/hashnode/image/upload/v1691556129386/3a0a9afc-5112-4468-bb0a-fe3f1e557bf0.png" alt class="image--center mx-auto" /></p>
<h3 id="heading-method-2-check-biosuefi-settings-during-boot">Method 2: Check BIOS/UEFI Settings During Boot</h3>
<ul>
<li><p><strong>Restart</strong> your computer.</p>
</li>
<li><p>During the boot process, watch for an on-screen prompt that tells you to press a certain key (often <strong>Del</strong>, <strong>F2</strong>, <strong>F10</strong>, or <strong>Esc</strong>) to enter the BIOS or UEFI settings.</p>
</li>
<li><p>Once in the settings, navigate to the information section. Depending on your system, you might find a field indicating the <strong>BIOS Mode</strong> or <strong>Boot Mode</strong>.</p>
</li>
</ul>
<p><img src="https://cdn.mos.cms.futurecdn.net/eaa071703aa051877b7cf93922519845.png" alt="How To: A Guide to BIOS Settings | PC Gamer" class="image--center mx-auto" /></p>
<h2 id="heading-differentiating-factors">Differentiating Factors</h2>
<ol>
<li><p><strong>User Interface:</strong><br /> UEFI's graphical interface provides an intuitive user experience, allowing users to navigate settings with ease. Conversely, BIOS employs a text-based interface, resembling a command line interaction.</p>
</li>
<li><p><strong>Bootloader:</strong><br /> UEFI supports a bootloader, enabling efficient and secure booting processes. BIOS, on the other hand, lacks native support for bootloaders.</p>
</li>
<li><p><strong>Boot Speed:</strong><br /> UEFI exhibits faster boot times due to its modular design and optimized pre-boot environment. BIOS, while reliable, tends to be comparatively slower during boot-up.</p>
</li>
<li><p><strong>Partitioning and Capacity:</strong><br /> UEFI champions the GPT partitioning scheme, accommodating larger disk sizes and a greater number of partitions. BIOS relies on the MBR partitioning scheme, presenting limitations in this regard.</p>
</li>
<li><p><strong>Security:</strong><br /> UEFI offers advanced security features like Secure Boot, enhancing protection against unauthorized software. BIOS lacks these modern security mechanisms.</p>
</li>
</ol>
<h2 id="heading-choosing-between-uefi-and-bios">Choosing Between UEFI and BIOS</h2>
<p>The decision between UEFI and BIOS largely hinges on the system's compatibility, user familiarity, and specific requirements. While UEFI boasts undeniable advantages such as faster boot times, advanced security, and improved partitioning support, BIOS remains relevant in instances where compatibility with older hardware or legacy systems is crucial.</p>
<p>In essence, UEFI and BIOS embody the evolution of firmware interfaces, each with its distinct attributes. While BIOS remains steadfast in its legacy, UEFI has ushered in a new era of booting processes marked by enhanced speed, security, and user-friendliness.</p>
<h2 id="heading-wrapping-up">Wrapping Up!</h2>
<p>Whether to embrace the traditional BIOS or transition to the modern UEFI largely depends on the user's needs and the system's capabilities. As computing continues to evolve, understanding these foundational elements empowers users to make informed decisions about their hardware and firmware preferences.</p>
<hr />
<p>You can express additional appreciation by purchasing me a coffee as a gesture of support for this complimentary content. Moreover, I am receptive to opportunities for partnerships, roles involving technical writing, collaborative projects, as well as engagements related to Python training or positions.</p>
<p><a target="_blank" href="https://www.buymeacoffee.com/RonnieAtuhaire"><img src="https://cdn.buymeacoffee.com/buttons/default-orange.png" alt="Buy Ronnie A Coffee" class="image--center mx-auto" /></a></p>
<p>📢 You can also follow me on <a target="_blank" href="https://twitter.com/intent/follow?screen_name=AfroBoyUg"><strong>Twitter</strong></a>: ♥ ♥ Waiting for you! 🙂</p>
]]></content:encoded></item><item><title><![CDATA[Postmortem: Web Stack Outage [EXAMPLE]]]></title><description><![CDATA[Issue Summary:
Duration: 4 hours (May 15, 2023, 10:00 AM - 2:00 PM GMT)
Impact: Slow response times and intermittent service disruptions experienced by users. Approximately 30% of users were affected during the outage.
Timeline:

10:00 AM: The issue ...]]></description><link>https://blog.atuhaire.com/postmortem-web-stack-outage-example</link><guid isPermaLink="true">https://blog.atuhaire.com/postmortem-web-stack-outage-example</guid><category><![CDATA[server]]></category><category><![CDATA[failure]]></category><category><![CDATA[Programming Blogs]]></category><dc:creator><![CDATA[Ronnie Atuhaire]]></dc:creator><pubDate>Sun, 14 May 2023 22:26:48 GMT</pubDate><enclosure url="https://cdn.hashnode.com/res/hashnode/image/upload/v1684102926444/4ac674db-7737-498e-81cb-dde2fa557584.jpeg" length="0" type="image/jpeg"/><content:encoded><![CDATA[<p><strong>Issue Summary:</strong></p>
<p>Duration: 4 hours (May 15, 2023, 10:00 AM - 2:00 PM GMT)</p>
<p><strong>Impact:</strong> Slow response times and intermittent service disruptions experienced by users. Approximately <strong>30%</strong> of users were affected during the outage.</p>
<p><strong>Timeline:</strong></p>
<ul>
<li><p>10:00 AM: The issue was detected when the monitoring system generated multiple alerts for high latency and increased error rates.</p>
</li>
<li><p>Actions Taken:</p>
<ul>
<li><p>The operations team initiated an investigation into the web stack components, including web servers, load balancers, and databases.</p>
</li>
<li><p>The initial assumption was that the database servers might be overloaded or experiencing performance issues.</p>
</li>
</ul>
</li>
<li><p>Misleading Investigation/Debugging Paths:</p>
<ul>
<li><p>Extensive database performance analysis was conducted, including index optimizations and query tuning, but no significant issues were found.</p>
</li>
<li><p>Load balancers were also thoroughly examined for misconfigurations or network bottlenecks, but no abnormalities were detected.</p>
</li>
</ul>
</li>
<li><p>Escalation:</p>
<ul>
<li>As the issue persisted, the incident was escalated to the development team and system administrators for further analysis and resolution.</li>
</ul>
</li>
<li><p>Incident Resolution:</p>
<ul>
<li><p>After reviewing system logs and analyzing network traffic, it was discovered that a recent deployment had introduced a misconfiguration in the web server's caching layer.</p>
</li>
<li><p>The misconfiguration caused excessive caching, resulting in stale content being served to users and increased load on the servers.</p>
</li>
<li><p>The misconfiguration was corrected, and the web servers were restarted to apply the changes.</p>
</li>
</ul>
</li>
</ul>
<p><strong>Root Cause and Resolution:</strong></p>
<ul>
<li><p>Root Cause:</p>
<ul>
<li><p>The root cause of the issue was identified as a misconfiguration in the web server's caching layer.</p>
</li>
<li><p>Specifically, the cache expiration settings were set too high, leading to stale content being served to users.</p>
</li>
</ul>
</li>
<li><p>Resolution:</p>
<ul>
<li><p>The misconfiguration was fixed by adjusting the cache expiration settings to appropriate values.</p>
</li>
<li><p>The web servers were restarted to apply the changes and ensure the correct caching behavior.</p>
</li>
</ul>
</li>
</ul>
<p><strong>Corrective and Preventative Measures:</strong></p>
<ul>
<li><p>Improvements/Fixes:</p>
<ul>
<li><p>Implement automated configuration validation checks for the web server's caching layer during the deployment process to prevent misconfigurations.</p>
</li>
<li><p>Enhance monitoring and alerting capabilities to promptly detect and notify about abnormal caching behavior or high latency.</p>
</li>
</ul>
</li>
<li><p>Tasks:</p>
<ul>
<li><p>Conduct a thorough review of the deployment process to ensure proper configuration management and validation.</p>
</li>
<li><p>Develop and implement a comprehensive caching strategy, including proper cache invalidation mechanisms and appropriate cache expiration settings.</p>
</li>
<li><p>Enhance system monitoring by adding specific metrics for cache hit rates, cache expiration, and latency.</p>
</li>
<li><p>Conduct regular performance testing and load testing to identify potential bottlenecks or misconfigurations before they impact users.</p>
</li>
</ul>
</li>
</ul>
<p>This postmortem provides an overview of a web stack outage that occurred due to a misconfiguration in the caching layer. It highlights the timeline, actions are taken, misleading investigation paths, root cause, resolution, and the corrective/preventative measures to be implemented. By addressing these issues and implementing the suggested tasks, the aim is to improve system stability, enhance performance, and minimize the chances of similar outages in the future.</p>
]]></content:encoded></item><item><title><![CDATA[What Happens When You Type https://www.google.com in Your Browser and Press Enter]]></title><description><![CDATA[If you are like most people, you probably use Google every day to search for information, find directions, or read the news. But have you ever stopped to wonder what happens behind the scenes when you type https://www.google.com in your browser and p...]]></description><link>https://blog.atuhaire.com/what-happens-when-you-type-httpswwwgooglecom-in-your-browser-and-press-enter</link><guid isPermaLink="true">https://blog.atuhaire.com/what-happens-when-you-type-httpswwwgooglecom-in-your-browser-and-press-enter</guid><category><![CDATA[Google]]></category><category><![CDATA[Browsers]]></category><category><![CDATA[internet]]></category><category><![CDATA[web servers]]></category><dc:creator><![CDATA[Ronnie Atuhaire]]></dc:creator><pubDate>Fri, 21 Apr 2023 14:12:14 GMT</pubDate><enclosure url="https://cdn.hashnode.com/res/hashnode/image/upload/v1682086258284/8390fed1-116e-40d1-a1eb-eb6e754cc246.png" length="0" type="image/jpeg"/><content:encoded><![CDATA[<p>If you are like most people, you probably use Google every day to search for information, find directions, or read the news. But have you ever stopped to wonder what happens behind the scenes when you type <a target="_blank" href="https://www.google.com">https://www.google.com</a> in your browser and press Enter?</p>
<p>In this blog post, we will explore the various stages of this process and explain the role of each component involved. From DNS requests to load balancers, web servers, and databases, we will cover everything you need to know about how Google serves your search queries.</p>
<h3 id="heading-dns-request">DNS Request</h3>
<p>Before your browser can connect to Google's servers, it needs to know its IP address. This is where the Domain Name System (DNS) comes into play. When you type <a target="_blank" href="https://www.google.com">https://www.google.com</a> in your browser and hit Enter, your computer sends a DNS request to a DNS server. This request contains the URL you entered, and the DNS server responds with the IP address of the server that hosts Google's website. This IP address is a unique identifier that allows your computer to establish a connection with Google's servers and retrieve the content you requested.</p>
<p><img src="https://totaluptime.com/wp-content/uploads/2014/05/how-does-a-dns-query-work.png" alt="How does a DNS query work? | Total Uptime®" /></p>
<p>The DNS request process involves several steps, including resolving the top-level domain (.com), querying the authoritative DNS server for Google's domain, and caching the response for future use. While this process may seem complicated, it usually takes only a few milliseconds, thanks to the efficiency of DNS servers and the use of content delivery networks (CDNs) that distribute requests across multiple servers.</p>
<p>Once your browser receives the IP address of Google's server, it can proceed to the next stage of the connection process: establishing a TCP/IP connection.</p>
<h3 id="heading-tcpip">TCP/IP</h3>
<p>Transmission Control Protocol/Internet Protocol (TCP/IP) is a set of rules that governs how data is transmitted between computers over the Internet. When your browser connects to Google's server, it uses TCP/IP to establish a reliable connection that ensures the data is transmitted correctly and in the right order.</p>
<p>The TCP/IP connection process involves a series of steps, including a three-way handshake, data transmission, and connection termination. During the handshake, your computer sends an SYN packet to the server, which responds with an SYN-ACK packet, and your computer sends an ACK packet to confirm the connection. Once the connection is established, your browser can send HTTP requests to the server and receive HTTP responses containing the content you requested.</p>
<p><img src="https://signal.avg.com/hs-fs/hubfs/Blog_Content/Avg/Signal/AVG%20Signal%20Images/What%20is%20TCPIP%20(Signal)/TCP-IP.png?width=1320&amp;name=TCP-IP.png" alt="TCP/IP: What Is the TCP/IP Model &amp; How Does It Work? | AVG" /></p>
<p>While TCP/IP is a reliable and widely used protocol, it can be vulnerable to attacks and exploits, which is why most websites use encryption to protect the data transmitted between the client and the server. This brings us to the next stage of the connection process: HTTPS/SSL.</p>
<h3 id="heading-httpsssl">HTTPS/SSL</h3>
<p>Hypertext Transfer Protocol Secure (HTTPS) is an extension of HTTP that adds encryption and authentication to the data transmitted between the client and the server. This ensures that the data is protected from eavesdropping, tampering, and other forms of malicious attacks.</p>
<p><img src="https://www.x-cart.com/wp-content/uploads/2017/02/http_to_https-1.jpg" alt="How to Switch to HTTPS To Secure Your eCommerce Site | X-Cart" /></p>
<p>When you connect to Google using HTTPS, your browser first verifies the server's identity using a digital certificate. This certificate contains a public key that is used to encrypt the data transmitted between the client and the server. The browser also generates a session key that is used to encrypt the data and ensures that the connection is secure throughout the session.</p>
<p>While HTTPS is a powerful tool for securing web communications, it can also affect the performance of the website, especially for high-traffic sites like Google. This is where load-balancers come in.</p>
<h3 id="heading-load-balancer">Load-balancer</h3>
<p>A load balancer is a device or software that distributes incoming traffic across multiple servers to ensure optimal performance and availability. When you connect to Google, your HTTP request is first sent to a load-balancer, which decides which server to route the request to based on various factors, such as server load, proximity, and availability.</p>
<p><img src="https://editor.analyticsvidhya.com/uploads/77772load%20balancer.png" alt="Use a Load Balancer on Google Cloud to Host Web Applications" /></p>
<p>Load-balancers can also perform other tasks, such as caching frequently accessed content, compressing data, and filtering out malicious traffic. By distributing the traffic across multiple servers, load balancers help prevent server overload and ensure that the website is always available to users.</p>
<p>Once the load-balancer has routed your request to a server, the server can start processing your request by retrieving the content from the database, application server, or any other backend components required.</p>
<h3 id="heading-web-server">Web server</h3>
<p>A web server is software that runs on a server and processes HTTP requests from clients, such as web browsers. When you connect to Google, your HTTP request is first received by a web server, which retrieves the content you requested and sends it back to your browser as an HTTP response.</p>
<p><img src="https://geekflare.com/wp-content/uploads/2022/09/python-web-server-1500x844.png" alt="9 Python Web Servers to Try for Your Next Project - Geekflare" /></p>
<p>Web servers can also perform other tasks, such as caching frequently accessed content, handling authentication and authorization, and serving static files. While web servers are the primary entry point for HTTP requests, they often work in tandem with other backend components, such as application servers and databases.</p>
<h3 id="heading-application-server">Application server</h3>
<p>An application server is software that runs on a server and provides dynamic content to clients. When you search for something on Google, your HTTP request is first processed by an application server, which retrieves the relevant data from the database and generates an HTML page that is sent back to your browser as an HTTP response.</p>
<p><img src="https://media.fs.com/images/community/erp/myXXJ_1EPfRE.jpg" alt="The Complete Guide to Application Servers You Must Know | FS Community" /></p>
<p>Application servers can also perform other tasks, such as session management, load balancing, and data processing. While web servers handle static content, application servers are responsible for dynamic content, such as search results, user profiles, and personalized recommendations.</p>
<h3 id="heading-database">Database</h3>
<p>A database is software that stores and retrieves structured data. When you search for something on Google, your request is first processed by an application server, which queries the database for relevant data and returns it to the server for further processing.</p>
<p><img src="https://images.prismic.io/nightborn/7e215705-8aa6-4ff4-94bf-5a6a801b92a4_thumbnail_website2.jpg?auto=compress,format" alt="Did you ever wonder how a Database really works ? | Nightborn - Digital  Application Agency - Brussels" /></p>
<p>Databases can also perform other tasks, such as indexing and searching data, optimizing queries, and ensuring data consistency and integrity. While databases are not directly accessible by clients, they are critical components of most web applications, including Google.</p>
<h3 id="heading-summary">Summary</h3>
<p>Now that you know what happens when you type <a target="_blank" href="https://www.google.com">https://www.google.com</a> in your browser and press Enter, you can appreciate the complex and interconnected nature of web applications.</p>
<p>From DNS requests to load-balancers, web servers, application servers, and databases, each component plays a vital role in serving your search queries and delivering the content you need. By understanding how these components work together, you can better appreciate the value and complexity of modern web applications.</p>
<h3 id="heading-conclusion">Conclusion</h3>
<p>Did you count to see if I had made it to six? Well, we believe the above questions are some of the most asked and I was unable to exhaust all including the most sophisticated and technical knowledge.</p>
<p>Do let me know what you think of this nascent technology in the comment section. Please consider subscribing or following me for related content, especially about Tech, Python &amp; General Programming.</p>
<p><img src="https://cdn.hashnode.com/res/hashnode/image/upload/v1657097866062/lOsaHYsYe.png" alt="image.png" /></p>
<p>You can show extra love by buying me a coffee to support this free content and I am also open to partnerships, technical writing roles, collaborations, and Python-related training or roles.</p>
<center>
<p><a href="https://www.buymeacoffee.com/RonnieAtuhaire" target="_blank"><img src="https://cdn.buymeacoffee.com/buttons/default-orange.png" alt="Buy Ronnie A Coffee" /></a></p>
<p>📢 You can also follow me on <a href="https://twitter.com/intent/follow?screen_name=AfroBoyUg">Twitter</a>: ♥ ♥  Waiting for you! 🙂</p>
</center>]]></content:encoded></item><item><title><![CDATA[A Comprehensive Guide to Understanding Programming Case Types]]></title><description><![CDATA[Naming conventions play a crucial role in software development as they provide structure and consistency to code. This makes it easier to read, maintain, and debug. Four of the most commonly used naming conventions are Snake, Camel, Pascal, Kebab, an...]]></description><link>https://blog.atuhaire.com/a-comprehensive-guide-to-understanding-programming-case-types</link><guid isPermaLink="true">https://blog.atuhaire.com/a-comprehensive-guide-to-understanding-programming-case-types</guid><category><![CDATA[Programming Blogs]]></category><category><![CDATA[#codenewbies]]></category><category><![CDATA[coding]]></category><category><![CDATA[Beginner Developers]]></category><dc:creator><![CDATA[Ronnie Atuhaire]]></dc:creator><pubDate>Mon, 13 Feb 2023 15:10:23 GMT</pubDate><enclosure url="https://cdn.hashnode.com/res/hashnode/image/upload/v1676300737202/61ae156b-5d6a-4f1a-a1a3-1bc365029d0c.png" length="0" type="image/jpeg"/><content:encoded><![CDATA[<p>Naming conventions play a crucial role in software development as they provide structure and consistency to code. This makes it easier to read, maintain, and debug. Four of the most commonly used naming conventions are Snake, Camel, Pascal, Kebab, and Upper case.</p>
<p>Each of these cases has its own set of advantages and disadvantages, and it's essential to understand the differences between them to choose the right one for your project. In this article, we will go over the characteristics of each case type and provide examples of when to use them.</p>
<h3 id="heading-snake-case">Snake Case</h3>
<p>Snake case uses an underscore to separate each word in a name. This naming convention is easy to read and is commonly used in programming languages such as Python, Perl, and Ruby. Snake case makes the names of variables and functions self-explanatory, making it easier to understand the purpose of the code.</p>
<p><strong>Example: first_name, last_name, date_of_birth</strong></p>
<h3 id="heading-camel-case">Camel Case</h3>
<p>Camel case combines each word in a name without any separators and capitalizes the first letter of subsequent words. This case type is often used in programming languages such as Java, C#, and JavaScript. Camel case is more concise and easier to type, saving space in the code.</p>
<p><strong>Example: firstName, lastName, dateOfBirth</strong></p>
<h3 id="heading-pascal-case">Pascal Case</h3>
<p>Pascal case is similar to Camel case, but it capitalizes the first letter of each word in a name. This naming convention is commonly used in programming languages such as Delphi, Object Pascal, and Ada. Pascal case makes the names of variables and functions easy to recognize and enhances the readability of the code.</p>
<p><strong>Example: FirstName, LastName, DateOfBirth</strong></p>
<h3 id="heading-kebab-case">Kebab Case</h3>
<p>Kebab case uses a hyphen to separate each word in a name. This naming convention is used in programming languages such as CSS and HTML. Kebab case makes the names of variables and functions easy to identify, particularly in the context of web development.</p>
<p><strong>Example: first-name, last-name, date-of-birth</strong></p>
<h3 id="heading-upper-case">Upper Case</h3>
<p>Upper case, also known as ALL CAPS, capitalizes every letter in a name. This naming convention is commonly used in programming languages such as SQL and Assembly. Upper case makes names of variables and functions easily distinguishable, especially when dealing with constants.</p>
<p>Example: FIRST_NAME, LAST_NAME, DATE_OF_BIRTH</p>
<h3 id="heading-summary">Summary</h3>
<p>In summary, each programming case type has its unique benefits and drawbacks, and the choice of which one to use depends on the specific needs of your project. Snake case is known for its readability and self-documenting code, while camel case is concise and easier to type.</p>
<p>Pascal case is preferred for its readability and recognition, and the kebab case is ideal for web development. It is crucial to choose a consistent naming convention and stick to it throughout the development process.</p>
<p>This list does not exhaust all programming cases but at least it tackles the most used cases because there is a flat case for instance, mixed case, etc.</p>
<h3 id="heading-conclusion">Conclusion</h3>
<p>Did you count to see if I had made it to six? Well, we believe the above questions are some of the most asked and I was unable to exhaust all including the most sophisticated and technical knowledge.</p>
<p>Do let me know what you think of this nascent technology in the comment section. Please consider subscribing or following me for related content, especially about Tech, Python &amp; General Programming.</p>
<p><img src="https://cdn.hashnode.com/res/hashnode/image/upload/v1657097866062/lOsaHYsYe.png" alt="image.png" /></p>
<p>You can show extra love by buying me a coffee to support this free content and I am also open to partnerships, technical writing roles, collaborations, and Python-related training or roles.</p>
<center>
<p><a href="https://www.buymeacoffee.com/RonnieAtuhaire" target="_blank"><img src="https://cdn.buymeacoffee.com/buttons/default-orange.png" alt="Buy Ronnie A Coffee" /></a></p>
<p>📢 You can also follow me on <a href="https://twitter.com/intent/follow?screen_name=AfroBoyUg">Twitter</a>: ♥ ♥  Waiting for you! 🙂</p>
</center>]]></content:encoded></item><item><title><![CDATA[Domain Names, Types, and Extensions Explained]]></title><description><![CDATA[A domain name is a unique identifier for a website on the internet. It acts as an address for people to access the website and is usually a combination of letters and numbers. Domain names are an essential component of the internet as they make it ea...]]></description><link>https://blog.atuhaire.com/domain-names-types-and-extensions-explained</link><guid isPermaLink="true">https://blog.atuhaire.com/domain-names-types-and-extensions-explained</guid><category><![CDATA[domain]]></category><category><![CDATA[technology]]></category><category><![CDATA[Browsers]]></category><category><![CDATA[url]]></category><dc:creator><![CDATA[Ronnie Atuhaire]]></dc:creator><pubDate>Sat, 11 Feb 2023 16:38:56 GMT</pubDate><enclosure url="https://cdn.hashnode.com/res/hashnode/image/upload/v1676133110971/25da0ce5-6158-4a2a-8645-e7682c8f2bcb.jpeg" length="0" type="image/jpeg"/><content:encoded><![CDATA[<p>A domain name is a unique identifier for a website on the internet. It acts as an address for people to access the website and is usually a combination of letters and numbers. Domain names are an essential component of the internet as they make it easier for people to find and access websites.</p>
<p>With the increasing number of websites on the internet, it is essential to have a domain name that is easy to remember and catchy. A domain name also helps to establish credibility and professionalism for a website.</p>
<h3 id="heading-url-vs-domain-name-clearing-up-the-confusion">URL vs. Domain Name: Clearing Up the Confusion</h3>
<p>There is often confusion between the terms URL (Uniform Resource Locator) and domain name. A URL is the full address of a website that includes both the domain name and the specific page being accessed. For example, "<a target="_blank" href="http://www.example.com/about"><strong>www.atuhaire.com/about</strong></a>" is a URL, and "<a target="_blank" href="http://example.com">atuhaire.com</a>" is the domain name.</p>
<h3 id="heading-types-of-domain-names">Types of Domain Names</h3>
<p>There are several types of domain names, including generic top-level domains (gTLDs), country code top-level domains (ccTLDs), and new top-level domains (nTLDs).</p>
<p>Generic top-level domains (gTLDs) are the most common type of domain and include extensions such as .com, .org, and .net.</p>
<p>Country code top-level domains (ccTLDs) are two-letter extensions that correspond to specific countries, such as .uk for the United Kingdom and .ca for Canada.</p>
<p>New top-level domains (nTLDs) are a recent addition and include extensions such as <strong>.photography, .guru, and .tech</strong>.</p>
<p><img src="https://domain.me/wp-content/uploads/2018/08/domain-featured-image.jpg" alt="19 FAQ About Domain Names Answered • Domain .ME blog" /></p>
<h3 id="heading-decoding-domain-extensions">Decoding Domain Extensions</h3>
<p>The choice of a domain extension can greatly impact the success of a website. For example, <strong>a .com</strong> extension is usually the most recognizable and trusted, while <strong>a .guru</strong> extension may not be as well known.</p>
<p>It is essential to choose a domain extension that fits the niche and goals of a website. For example, a .photography extension is well-suited for a photography website, while a .tech extension is well-suited for a technology website.</p>
<h3 id="heading-steps-to-buying-a-domain-name">Steps to Buying a Domain Name</h3>
<p>To buy a domain name, follow these steps:</p>
<ol>
<li><p>Choose a domain registrar. Some popular options include GoDaddy, Namecheap, and Google Domains.</p>
</li>
<li><p>Search for available domain names. Most domain registrars have a search function that allows you to see if the domain name you want is available.</p>
</li>
<li><p>Register the domain name. Once you have found an available domain name, you can register it with your chosen domain registrar.</p>
</li>
<li><p>Configure your domain name. This may include setting up DNS (Domain Name System) records, email forwarding, or website hosting.</p>
</li>
<li><p>Start using your domain name. Your domain name is now ready to be used for your website or email address.</p>
</li>
</ol>
<h3 id="heading-summary">Summary</h3>
<p>In summary, a domain name is an essential component of the internet and helps to establish credibility and professionalism for a website. The choice of domain name and extension can greatly impact the success of a website, and it is important to choose carefully. The process of buying a domain name is straightforward, and with the help of a domain registrar, anyone can have a domain name for their website in no time.</p>
<h3 id="heading-conclusion">Conclusion</h3>
<p>Did you count to see if I had made it to six? Well, we believe the above questions are some of the most asked and I was unable to exhaust all including the most sophisticated and technical knowledge.</p>
<p>Do let me know what you think of this nascent technology in the comment section. Please consider subscribing or following me for related content, especially about Tech, Python &amp; General Programming.</p>
<p><img src="https://cdn.hashnode.com/res/hashnode/image/upload/v1657097866062/lOsaHYsYe.png" alt="image.png" /></p>
<p>You can show extra love by buying me a coffee to support this free content and I am also open to partnerships, technical writing roles, collaborations, and Python-related training or roles.</p>
<center>
<p><a href="https://www.buymeacoffee.com/RonnieAtuhaire" target="_blank"><img src="https://cdn.buymeacoffee.com/buttons/default-orange.png" alt="Buy Ronnie A Coffee" /></a></p>
<p>📢 You can also follow me on <a href="https://twitter.com/intent/follow?screen_name=AfroBoyUg">Twitter</a>: ♥ ♥  Waiting for you! 🙂</p>
</center>]]></content:encoded></item></channel></rss>