<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:dc="http://purl.org/dc/elements/1.1/">
  <channel>
    <title>DEV Community: Michael Otieno Olang</title>
    <description>The latest articles on DEV Community by Michael Otieno Olang (@mikeyolang).</description>
    <link>https://dev.to/mikeyolang</link>
    <image>
      <url>https://media2.dev.to/dynamic/image/width=90,height=90,fit=cover,gravity=auto,format=auto/https:%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Fuser%2Fprofile_image%2F837727%2F29d59d4b-ae20-4bac-8d62-d62a478bf456.jpeg</url>
      <title>DEV Community: Michael Otieno Olang</title>
      <link>https://dev.to/mikeyolang</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://dev.to/feed/mikeyolang"/>
    <language>en</language>
    <item>
      <title>Flutter Apps and Android's 16KB Page Size Requirement: A Complete Developer Guide</title>
      <dc:creator>Michael Otieno Olang</dc:creator>
      <pubDate>Thu, 04 Sep 2025 06:44:24 +0000</pubDate>
      <link>https://dev.to/mikeyolang/flutter-apps-and-androids-16kb-page-size-requirement-a-complete-developer-guide-1p71</link>
      <guid>https://dev.to/mikeyolang/flutter-apps-and-androids-16kb-page-size-requirement-a-complete-developer-guide-1p71</guid>
      <description>&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Ftxwvmggb07w2t8wzrvwp.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Ftxwvmggb07w2t8wzrvwp.png" alt=" " width="800" height="436"&gt;&lt;/a&gt;&lt;br&gt;
Google Play Store is rolling out a significant change that every Android developer needs to know about. Starting November 1, 2025, all new apps and app updates targeting Android 15+ must be compatible with 16KB memory pages. This requirement has caught many developers off guard, especially those working with Flutter applications.&lt;br&gt;
In this comprehensive guide, we'll dive deep into what this means, why it's happening, and most importantly, how to ensure your Flutter apps are ready.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Understanding Memory Page Sizes&lt;/strong&gt;&lt;br&gt;
Memory pages are fixed-size blocks of virtual memory that the operating system uses to manage RAM efficiently. Think of them as standardized containers for data that help the OS organize and access memory. For years, Android devices have predominantly used 4KB page sizes. This worked well for devices with limited RAM, but as smartphones evolved with more memory and processing power, larger page sizes became beneficial.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Why 16KB Pages?&lt;/strong&gt;&lt;br&gt;
The shift to 16KB pages isn't arbitrary. &lt;br&gt;
Here's what the research shows:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Faster App Launches: Up to 30% improvement in cold start times&lt;/li&gt;
&lt;li&gt;Better Memory Efficiency: Reduced memory fragmentation&lt;/li&gt;
&lt;li&gt;Improved System Performance: Faster boot times and overall responsiveness&lt;/li&gt;
&lt;li&gt;Enhanced Battery Life: More efficient memory management reduces CPU overhead&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;strong&gt;Step-by-Step Implementation Guide&lt;/strong&gt;&lt;br&gt;
1.Update Flutter SDK&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;&lt;span class="c"&gt;# Check current version&lt;/span&gt;
flutter &lt;span class="nt"&gt;--version&lt;/span&gt;

&lt;span class="c"&gt;# Update to latest stable&lt;/span&gt;
flutter upgrade

&lt;span class="c"&gt;# Verify you're on the latest stable channel&lt;/span&gt;
flutter channel stable
flutter upgrade
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Minimum recommended versions:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Flutter SDK: 3.16.0 or later&lt;/li&gt;
&lt;li&gt;Dart SDK: 3.2.0 or later&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;2.Update Android Gradle Plugin (AGP)&lt;br&gt;
In your &lt;code&gt;android/build.gradle&lt;/code&gt;:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight gradle"&gt;&lt;code&gt;&lt;span class="k"&gt;buildscript&lt;/span&gt; &lt;span class="o"&gt;{&lt;/span&gt;
    &lt;span class="n"&gt;ext&lt;/span&gt;&lt;span class="o"&gt;.&lt;/span&gt;&lt;span class="na"&gt;kotlin_version&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="s1"&gt;'1.9.10'&lt;/span&gt;
    &lt;span class="k"&gt;dependencies&lt;/span&gt; &lt;span class="o"&gt;{&lt;/span&gt;
        &lt;span class="c1"&gt;// Update to AGP 8.5.0 or later&lt;/span&gt;
        &lt;span class="n"&gt;classpath&lt;/span&gt; &lt;span class="s1"&gt;'com.android.tools.build:gradle:8.1.0'&lt;/span&gt;
        &lt;span class="n"&gt;classpath&lt;/span&gt; &lt;span class="s2"&gt;"org.jetbrains.kotlin:kotlin-gradle-plugin:$kotlin_version"&lt;/span&gt;
    &lt;span class="o"&gt;}&lt;/span&gt;
&lt;span class="o"&gt;}&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;3.Update Android NDK&lt;br&gt;
In &lt;code&gt;android/app/build.gradle&lt;/code&gt;:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight gradle"&gt;&lt;code&gt;&lt;span class="n"&gt;android&lt;/span&gt; &lt;span class="o"&gt;{&lt;/span&gt;
    &lt;span class="n"&gt;compileSdkVersion&lt;/span&gt; &lt;span class="mi"&gt;35&lt;/span&gt;
    &lt;span class="n"&gt;ndkVersion&lt;/span&gt; &lt;span class="s2"&gt;"28.x.xxxxxxx"&lt;/span&gt; 

    &lt;span class="n"&gt;compileOptions&lt;/span&gt; &lt;span class="o"&gt;{&lt;/span&gt;
        &lt;span class="n"&gt;sourceCompatibility&lt;/span&gt; &lt;span class="n"&gt;JavaVersion&lt;/span&gt;&lt;span class="o"&gt;.&lt;/span&gt;&lt;span class="na"&gt;VERSION_1_8&lt;/span&gt;
        &lt;span class="n"&gt;targetCompatibility&lt;/span&gt; &lt;span class="n"&gt;JavaVersion&lt;/span&gt;&lt;span class="o"&gt;.&lt;/span&gt;&lt;span class="na"&gt;VERSION_1_8&lt;/span&gt;
    &lt;span class="o"&gt;}&lt;/span&gt;
&lt;span class="o"&gt;}&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;4.Dependency Audit&lt;br&gt;
Check if you have the latest versions of every dependency in the &lt;code&gt;pubspec.yaml&lt;/code&gt; file&lt;/p&gt;

&lt;p&gt;Critical Plugins to Check&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Focus on these plugin categories:&lt;/li&gt;
&lt;li&gt;Camera/Media: &lt;code&gt;camera, image_picker, video_player&lt;/code&gt;
&lt;/li&gt;
&lt;li&gt;Database: &lt;code&gt;sqflite, hive, objectbox&lt;/code&gt;
&lt;/li&gt;
&lt;li&gt;Networking: &lt;code&gt;dio&lt;/code&gt;with native interceptors&lt;/li&gt;
&lt;li&gt;Firebase: All Firebase plugins&lt;/li&gt;
&lt;li&gt;Maps: &lt;code&gt;google_maps_flutter&lt;/code&gt;
&lt;/li&gt;
&lt;li&gt;Payment: &lt;code&gt;stripe_android&lt;/code&gt;, payment gateway SDKs&lt;/li&gt;
&lt;/ul&gt;

</description>
      <category>flutter</category>
      <category>android</category>
      <category>androiddev</category>
      <category>mobile</category>
    </item>
    <item>
      <title>Navigating the Journey: Becoming a Mobile App Developer</title>
      <dc:creator>Michael Otieno Olang</dc:creator>
      <pubDate>Sun, 31 Mar 2024 15:42:25 +0000</pubDate>
      <link>https://dev.to/mikeyolang/navigating-the-journey-becoming-a-mobile-app-developer-4f2l</link>
      <guid>https://dev.to/mikeyolang/navigating-the-journey-becoming-a-mobile-app-developer-4f2l</guid>
      <description>&lt;p&gt;We'll embark on a journey together into the realm of mobile app development. In today's digital age, mobile applications have become an integral part of our daily lives, from communication and entertainment to productivity and commerce. If you've ever wondered what it takes to create these innovative tools that reside in our pockets, you're in the right place. In this guide, we'll explore the steps, tools, and resources you need to kickstart your career as a mobile app developer.&lt;/p&gt;

&lt;h2&gt;
  
  
  Understanding the Landscape:
&lt;/h2&gt;

&lt;p&gt;Before diving into the technical aspects, it's crucial to grasp the landscape of mobile app development. Mobile platforms such as iOS and Android dominate the market, each with its own set of development tools, languages, and guidelines. Additionally, cross-platform frameworks like React Native and Flutter offer the ability to build apps for multiple platforms using a single codebase. Understanding these options will help you chart your path forward.&lt;/p&gt;

&lt;h2&gt;
  
  
  Learning the Fundamentals:
&lt;/h2&gt;

&lt;p&gt;As with any craft, mastering the fundamentals is essential for success. Start by familiarizing yourself with programming languages commonly used in mobile app development, such as Java, Kotlin, Swift, or Dart. Online platforms like Codecademy, Udemy, and Coursera offer comprehensive courses tailored to beginners.&lt;/p&gt;

&lt;h2&gt;
  
  
  Choosing Your Platform:
&lt;/h2&gt;

&lt;p&gt;Once you've gained a solid understanding of programming fundamentals, it's time to choose your platform. Are you drawn to the sleek design and user experience of iOS apps, or do you prefer the flexibility and customization options of Android? Your decision will influence the tools and technologies you'll need to learn next.&lt;/p&gt;

&lt;h2&gt;
  
  
  Exploring Development Tools:
&lt;/h2&gt;

&lt;p&gt;Equipped with a programming language and platform of choice, it's time to explore the development tools available to you. For iOS development, Xcode is the primary Integrated Development Environment (IDE) used by developers, while Android Studio is the go-to choice for Android development. Additionally, familiarize yourself with version control systems like Git, which are indispensable for collaborative development.&lt;/p&gt;

&lt;h2&gt;
  
  
  Mastering Mobile UI/UX Design:
&lt;/h2&gt;

&lt;p&gt;In the competitive world of mobile apps, user interface (UI) and user experience (UX) design play a crucial role in determining the success of your app. Learn the principles of mobile UI/UX design, including navigation patterns, typography, and usability testing. Tools like Sketch, Figma, and Adobe XD can aid in prototyping and designing your app's interface.&lt;/p&gt;

&lt;h2&gt;
  
  
  Embracing Continuous Learning:
&lt;/h2&gt;

&lt;p&gt;Mobile app development is a dynamic field that constantly evolves with new technologies and trends. Embrace a mindset of continuous learning by staying updated on the latest developments, attending conferences, and participating in online communities. Engage with fellow developers, seek mentorship, and don't be afraid to experiment with new ideas.&lt;/p&gt;

&lt;h2&gt;
  
  
  Building Your Portfolio:
&lt;/h2&gt;

&lt;p&gt;As you gain proficiency in mobile app development, start building a portfolio of projects to showcase your skills to potential employers or clients. Whether it's a personal project, freelance work, or contributions to open-source projects, a strong portfolio demonstrates your capabilities and passion for the craft.&lt;/p&gt;

</description>
      <category>mobile</category>
      <category>softwaredevelopment</category>
      <category>career</category>
      <category>learning</category>
    </item>
    <item>
      <title>Excited to share insights on Android Development Testing!</title>
      <dc:creator>Michael Otieno Olang</dc:creator>
      <pubDate>Mon, 11 Mar 2024 08:55:59 +0000</pubDate>
      <link>https://dev.to/mikeyolang/excited-to-share-insights-on-android-development-testing-3ahn</link>
      <guid>https://dev.to/mikeyolang/excited-to-share-insights-on-android-development-testing-3ahn</guid>
      <description>&lt;p&gt;In the world of mobile app development, ensuring seamless user experiences is paramount. That's why Testing on Android development holds such crucial significance. 🛠️&lt;/p&gt;

&lt;p&gt;Here are some key points I'd like to highlight:&lt;/p&gt;

&lt;p&gt;1️⃣ Unit Testing: Building robust and reliable code starts here. Unit testing allows developers to test individual components in isolation, ensuring they function as expected.&lt;/p&gt;

&lt;p&gt;2️⃣ Integration Testing: Assembling the pieces of your app? Integration testing ensures that these components work together seamlessly, catching any potential conflicts or issues.&lt;/p&gt;

&lt;p&gt;3️⃣ UI Testing: Your app's interface is the user's gateway to functionality. UI testing verifies that each element behaves as intended, providing a smooth and intuitive experience.&lt;/p&gt;

&lt;p&gt;4️⃣ Automation: Embracing automation accelerates testing cycles and enhances efficiency. Tools like Espresso and Robolectric streamline testing processes, enabling developers to focus more on innovation.&lt;/p&gt;

&lt;p&gt;5️⃣ Device Fragmentation: Testing across various devices and OS versions is key to ensuring compatibility and performance consistency. Emulators and real-device testing help tackle this challenge effectively.&lt;/p&gt;

&lt;p&gt;Incorporating these testing strategies into your Android development workflow not only enhances the quality of your app but also boosts user satisfaction and retention. &lt;/p&gt;

</description>
      <category>testing</category>
      <category>android</category>
      <category>flutter</category>
      <category>softwaredevelopment</category>
    </item>
    <item>
      <title>A Simple Dart Tutorial</title>
      <dc:creator>Michael Otieno Olang</dc:creator>
      <pubDate>Wed, 11 Oct 2023 18:57:32 +0000</pubDate>
      <link>https://dev.to/mikeyolang/a-simple-dart-tutorial-5ho2</link>
      <guid>https://dev.to/mikeyolang/a-simple-dart-tutorial-5ho2</guid>
      <description>&lt;h2&gt;
  
  
  Dart Tutorial
&lt;/h2&gt;

&lt;p&gt;Welcome to the Dart Tutorial! This tutorial is designed to help you get started with Dart programming. Whether you're a beginner or an experienced developer, you'll find valuable information here to enhance your skills in Dart.&lt;/p&gt;

&lt;h2&gt;
  
  
  Table of Contents
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;Dart Tutorial&lt;/li&gt;
&lt;li&gt;Table of Contents&lt;/li&gt;
&lt;li&gt;Introduction&lt;/li&gt;
&lt;li&gt;Prerequisites&lt;/li&gt;
&lt;li&gt;Getting Started&lt;/li&gt;
&lt;li&gt;Topics Covered&lt;/li&gt;
&lt;li&gt;
Dart Basics

&lt;ul&gt;
&lt;li&gt;1. Hello, Dart!&lt;/li&gt;
&lt;li&gt;2. Variables and Data Types&lt;/li&gt;
&lt;li&gt;3. Control Flow&lt;/li&gt;
&lt;li&gt;4. Functions&lt;/li&gt;
&lt;/ul&gt;


&lt;/li&gt;

&lt;li&gt;Contributing&lt;/li&gt;

&lt;li&gt;Happy coding!&lt;/li&gt;

&lt;/ul&gt;

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

&lt;p&gt;Dart is a modern, open-source programming language developed by Google. It's known for its speed, efficiency, and ease of learning. Dart can be used for web, mobile, server, and desktop applications.&lt;/p&gt;

&lt;p&gt;This tutorial aims to provide a comprehensive introduction to Dart, covering the basics and gradually progressing to more advanced concepts.&lt;/p&gt;

&lt;h2&gt;
  
  
  Prerequisites
&lt;/h2&gt;

&lt;p&gt;Before starting this tutorial, make sure you have the following prerequisites:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Basic understanding of programming concepts&lt;/li&gt;
&lt;li&gt;Code editor (e.g., Visual Studio Code, IntelliJ IDEA)&lt;/li&gt;
&lt;li&gt;Dart SDK installed on your system&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;If you haven't installed Dart SDK yet, you can download it from the &lt;a href="https://dart.dev/get-dart" rel="noopener noreferrer"&gt;official Dart website&lt;/a&gt;.&lt;/p&gt;

&lt;h2&gt;
  
  
  Getting Started
&lt;/h2&gt;

&lt;p&gt;To get started with Dart, follow these steps:&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;
&lt;a href="https://dart.dev/get-dart" rel="noopener noreferrer"&gt;Install Dart SDK&lt;/a&gt; on your system.&lt;/li&gt;
&lt;li&gt;Set up your development environment by configuring a code editor (e.g., Visual Studio Code) for Dart.&lt;/li&gt;
&lt;li&gt;Clone this &lt;a href="https://github.com/mikeyolang/Dart-Tutorial.git" rel="noopener noreferrer"&gt;repository&lt;/a&gt;`&lt;/li&gt;
&lt;/ol&gt;

&lt;h2&gt;
  
  
  Topics Covered
&lt;/h2&gt;

&lt;p&gt;This tutorial covers the following topics:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Dart basics&lt;/li&gt;
&lt;li&gt;Variables and data types&lt;/li&gt;
&lt;li&gt;Control flow (if-else, switch, loops)&lt;/li&gt;
&lt;li&gt;Functions and error handling&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Feel free to explore the code and documentation for each topic in detail.&lt;/p&gt;

&lt;h2&gt;
  
  
  Dart Basics
&lt;/h2&gt;

&lt;h3&gt;
  
  
  1. Hello, Dart!
&lt;/h3&gt;

&lt;p&gt;The traditional "Hello, World!" program in Dart:&lt;/p&gt;

&lt;p&gt;&lt;code&gt;&lt;/code&gt;&lt;code&gt;dart&lt;br&gt;
void main() {&lt;br&gt;
  print('Hello, Dart!');&lt;br&gt;
}&lt;br&gt;
&lt;/code&gt;&lt;code&gt;&lt;/code&gt;&lt;/p&gt;

&lt;h3&gt;
  
  
  2. Variables and Data Types
&lt;/h3&gt;

&lt;p&gt;In Dart, you can declare variables using &lt;code&gt;var&lt;/code&gt;, &lt;code&gt;int&lt;/code&gt;, &lt;code&gt;double&lt;/code&gt;, &lt;code&gt;String&lt;/code&gt;, &lt;code&gt;bool&lt;/code&gt;, and more. Example:&lt;br&gt;
&lt;code&gt;&lt;/code&gt;&lt;code&gt;dart&lt;br&gt;
void main() {&lt;br&gt;
  var name = 'John Doe';  // String&lt;br&gt;
  int age = 30;           // Integer&lt;br&gt;
  double height = 6.2;     // Double&lt;br&gt;
  bool isStudent = true;   // Boolean&lt;br&gt;
}&lt;br&gt;
&lt;/code&gt;&lt;code&gt;&lt;/code&gt;&lt;br&gt;
Dart is a statically typed language, meaning that variable types are known at compile time. However, you can use &lt;code&gt;var&lt;/code&gt; to have Dart infer the type.&lt;/p&gt;

&lt;h3&gt;
  
  
  3. Control Flow
&lt;/h3&gt;

&lt;p&gt;Dart supports common control flow structures like &lt;code&gt;if&lt;/code&gt;, &lt;code&gt;else&lt;/code&gt;, &lt;code&gt;switch&lt;/code&gt;, and &lt;strong&gt;loops&lt;/strong&gt; (&lt;code&gt;for&lt;/code&gt;, &lt;code&gt;while&lt;/code&gt;, &lt;code&gt;do-while&lt;/code&gt;). Example:&lt;/p&gt;

&lt;p&gt;&lt;code&gt;&lt;/code&gt;`dart&lt;br&gt;
void main() {&lt;br&gt;
  var age = 30;&lt;/p&gt;

&lt;p&gt;if (age &amp;lt; 18) {&lt;br&gt;
    print('You are a minor.');&lt;br&gt;
  } else if (age &amp;gt;= 18 &amp;amp;&amp;amp; age &amp;lt; 60) {&lt;br&gt;
    print('You are an adult.');&lt;br&gt;
  } else {&lt;br&gt;
    print('You are a senior citizen.');&lt;br&gt;
  }&lt;br&gt;
}&lt;br&gt;
`&lt;code&gt;&lt;/code&gt;&lt;/p&gt;

&lt;h3&gt;
  
  
  4. Functions
&lt;/h3&gt;

&lt;p&gt;Creating a simple function in Dart:&lt;/p&gt;

&lt;p&gt;&lt;code&gt;&lt;/code&gt;`dart&lt;br&gt;
    void main() {&lt;br&gt;
      print(greet('John Doe'));&lt;br&gt;
    }&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;String greet(String name) {
  return 'Hello, $name!';
}
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;

&lt;p&gt;`&lt;code&gt;&lt;/code&gt;&lt;br&gt;
Dart also supports &lt;strong&gt;anonymous functions&lt;/strong&gt; (functions without a name) and &lt;strong&gt;arrow functions&lt;/strong&gt; (functions with a single expression). Example:&lt;/p&gt;

&lt;p&gt;&lt;code&gt;&lt;/code&gt;`dart&lt;br&gt;
void main() {&lt;br&gt;
  var numbers = [1, 2, 3, 4, 5];&lt;/p&gt;

&lt;p&gt;// Anonymous function&lt;br&gt;
  numbers.forEach((number) {&lt;br&gt;
    print(number);&lt;br&gt;
  });&lt;/p&gt;

&lt;p&gt;// Arrow function&lt;br&gt;
  numbers.forEach((number) =&amp;gt; print(number));&lt;br&gt;
}&lt;br&gt;
`&lt;code&gt;&lt;/code&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  Contributing
&lt;/h2&gt;

&lt;p&gt;If you find any issues or have suggestions for improvement, please feel free to open an issue or create a pull request in my &lt;a href="https://github.com/mikeyolang/Dart-Tutorial.git" rel="noopener noreferrer"&gt;GitHub Repository&lt;/a&gt;. We welcome contributions from the community to make this tutorial even better!&lt;/p&gt;

&lt;p&gt;To contribute, follow these steps:&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;Fork the repository.&lt;/li&gt;
&lt;li&gt;Create a new branch for your contribution.&lt;/li&gt;
&lt;li&gt;Make your changes and commit them.&lt;/li&gt;
&lt;li&gt;Push the changes to your fork.&lt;/li&gt;
&lt;li&gt;Open a pull request with a detailed description of your contribution.&lt;/li&gt;
&lt;/ol&gt;

&lt;h2&gt;
  
  
  Happy coding!
&lt;/h2&gt;

</description>
      <category>tutorial</category>
      <category>dart</category>
      <category>beginners</category>
      <category>codenewbie</category>
    </item>
    <item>
      <title>My Flutter Journey</title>
      <dc:creator>Michael Otieno Olang</dc:creator>
      <pubDate>Thu, 02 Mar 2023 22:14:53 +0000</pubDate>
      <link>https://dev.to/mikeyolang/my-flutter-journey-372f</link>
      <guid>https://dev.to/mikeyolang/my-flutter-journey-372f</guid>
      <description>&lt;p&gt;Flutter is a framework based on dart and developed by google for creating cross-platform applications. It can be used to create android, iOS, Windows, Mac OS, and Linux applications under one code base. It also uses Firebase as its back-end but you can also use the various back-end tech stacks for your back- end such as node js and many others.&lt;/p&gt;

&lt;p&gt;I was introduced to flutter 4 months ago by a tech friend who by that time was using Kotlin to develop mobile applications, majorly android applications. We were to create our association's Mobile app within a week and he suggested that for ease and productivity we use the flutter framework for the app. We were both new to the framework but we really wanted to try out this new mobile development technique. We had downloaded a number of YouTube crash courses and some clone apps tutorials.&lt;/p&gt;

&lt;p&gt;I never knew what I was doing, I never knew what was happening but I could only follow the YouTube tutor. After some two days, our UI was done and we presented the app as our project&lt;/p&gt;

&lt;p&gt;I am still a beginner in the field but these are some of the advantages of Flutter I have noticed so far;&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;Flutter is easy to learn&lt;/li&gt;
&lt;li&gt;Flutter has a great UI design which is simple to implement&lt;/li&gt;
&lt;li&gt;Flutter uses widgets&lt;/li&gt;
&lt;li&gt;Running Apps is relatively easy&lt;/li&gt;
&lt;li&gt;Its beginner friendly&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;I would really advise you guys to try out Flutter&lt;br&gt;
Thank you&lt;/p&gt;

</description>
      <category>flutter</category>
      <category>mobile</category>
      <category>android</category>
      <category>dart</category>
    </item>
    <item>
      <title>Creating a simple Linked List In C programming</title>
      <dc:creator>Michael Otieno Olang</dc:creator>
      <pubDate>Thu, 17 Nov 2022 14:00:57 +0000</pubDate>
      <link>https://dev.to/mikeyolang/creating-a-simple-linked-list-in-c-programming-49bc</link>
      <guid>https://dev.to/mikeyolang/creating-a-simple-linked-list-in-c-programming-49bc</guid>
      <description>&lt;p&gt;&lt;strong&gt;Linked Lists&lt;/strong&gt; are list of elements in which the various elements are linked together. Data in a linked list are stored in a &lt;strong&gt;linear manner&lt;/strong&gt;. The Data are placed in &lt;strong&gt;nodes&lt;/strong&gt; and the nodes are connected in a specific desired fashion.&lt;br&gt;
&lt;strong&gt;Node&lt;/strong&gt; is a container or a box which contains data and other information in it. In a list a node is connected to a different node forming a chain of nodes.&lt;br&gt;
The first step in making a linked list is making a node which will store data into it.&lt;br&gt;
&lt;strong&gt;C program for a Linked List&lt;/strong&gt;&lt;br&gt;
We first create a structure named node which stores an integer named data and a pointer named next to another structure (node).&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;struct node
{
    int data;
    struct node *next;
};
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;We then make two nodes (structure named node) and allocating space to them using the &lt;code&gt;malloc&lt;/code&gt; function.&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;struct node *a, *b;
    a = malloc(sizeof(struct node));
    b = malloc(sizeof(struct node));
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;We then set the values of data of the nodes a and b.&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;    a-&amp;gt;data = 10;
    b-&amp;gt;data = 20;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;We then store the address of b in the next variable of a. Thus, next of a is now storing the address of b or we can say the next of a is pointing to b.Since there is no node for the next of b, so we are making next of b null.&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;    a-&amp;gt;next = b;
    b-&amp;gt;next = NULL;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;We then Print to see the output&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;printf("%d\n%d\n", a-&amp;gt;data, a-&amp;gt;next-&amp;gt;data);
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Below is the Combined Code&lt;/p&gt;

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

</description>
      <category>welcome</category>
      <category>beginners</category>
      <category>spanish</category>
    </item>
    <item>
      <title>Shell Programming Using C Programming Language</title>
      <dc:creator>Michael Otieno Olang</dc:creator>
      <pubDate>Sat, 11 Jun 2022 18:38:03 +0000</pubDate>
      <link>https://dev.to/mikeyolang/shell-programming-using-c-programming-language-4acb</link>
      <guid>https://dev.to/mikeyolang/shell-programming-using-c-programming-language-4acb</guid>
      <description>&lt;p&gt;The following C_Program is used to append text from one file to the end of another file. Does any one have an Idea on how I can implement the code using the &lt;strong&gt;COMMANDLINE ARGUMENTS&lt;/strong&gt; and the various &lt;strong&gt;FLAGS&lt;/strong&gt;&lt;br&gt;
&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fazppxmjeb7qeugx87s8p.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fazppxmjeb7qeugx87s8p.png" alt=" " width="800" height="1150"&gt;&lt;/a&gt;&lt;/p&gt;

</description>
      <category>shellprogramming</category>
      <category>c</category>
      <category>programming</category>
      <category>unix</category>
    </item>
    <item>
      <title>A Must have Vs Code Extensions</title>
      <dc:creator>Michael Otieno Olang</dc:creator>
      <pubDate>Sat, 28 May 2022 15:39:35 +0000</pubDate>
      <link>https://dev.to/mikeyolang/a-must-have-vs-code-extensions-1h33</link>
      <guid>https://dev.to/mikeyolang/a-must-have-vs-code-extensions-1h33</guid>
      <description>&lt;ol&gt;
&lt;li&gt;Gitlens&lt;/li&gt;
&lt;li&gt;Better Comments&lt;/li&gt;
&lt;li&gt;Prettier&lt;/li&gt;
&lt;li&gt;ESLint
If there are any,kindly add them comment sections. &lt;/li&gt;
&lt;/ol&gt;

</description>
      <category>webdev</category>
      <category>vscode</category>
    </item>
  </channel>
</rss>
