<?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>Forem: Michellebuchiokonicha</title>
    <description>The latest articles on Forem by Michellebuchiokonicha (@michellebuchiokonicha).</description>
    <link>https://forem.com/michellebuchiokonicha</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%2F727233%2F83ae7c91-08b5-46a5-8c7f-743e7a449ed6.jpg</url>
      <title>Forem: Michellebuchiokonicha</title>
      <link>https://forem.com/michellebuchiokonicha</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://forem.com/feed/michellebuchiokonicha"/>
    <language>en</language>
    <item>
      <title>I just published Part 1 of "The Machine Learning Engineering Series", where I break down the full lifecycle: how raw data becomes a trained model, gets containerised, and ships as a live API that other engineers can actually build on.</title>
      <dc:creator>Michellebuchiokonicha</dc:creator>
      <pubDate>Tue, 26 May 2026 07:38:04 +0000</pubDate>
      <link>https://forem.com/michellebuchiokonicha/i-just-published-part-1-of-the-machine-learning-engineering-series-where-i-break-down-the-full-3g6</link>
      <guid>https://forem.com/michellebuchiokonicha/i-just-published-part-1-of-the-machine-learning-engineering-series-where-i-break-down-the-full-3g6</guid>
      <description>&lt;div class="ltag__link--embedded"&gt;
  &lt;div class="crayons-story "&gt;
  &lt;a href="https://dev.to/michellebuchiokonicha/the-machine-learning-engineering-series-3anj" class="crayons-story__hidden-navigation-link"&gt;The Machine Learning Engineering Series&lt;/a&gt;


  &lt;div class="crayons-story__body crayons-story__body-full_post"&gt;
    &lt;div class="crayons-story__top"&gt;
      &lt;div class="crayons-story__meta"&gt;
        &lt;div class="crayons-story__author-pic"&gt;

          &lt;a href="/michellebuchiokonicha" class="crayons-avatar  crayons-avatar--l  "&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%2Fuser%2Fprofile_image%2F727233%2F83ae7c91-08b5-46a5-8c7f-743e7a449ed6.jpg" alt="michellebuchiokonicha profile" class="crayons-avatar__image"&gt;
          &lt;/a&gt;
        &lt;/div&gt;
        &lt;div&gt;
          &lt;div&gt;
            &lt;a href="/michellebuchiokonicha" class="crayons-story__secondary fw-medium m:hidden"&gt;
              Michellebuchiokonicha
            &lt;/a&gt;
            &lt;div class="profile-preview-card relative mb-4 s:mb-0 fw-medium hidden m:inline-block"&gt;
              
                Michellebuchiokonicha
                
              
              &lt;div id="story-author-preview-content-3754939" class="profile-preview-card__content crayons-dropdown branded-7 p-4 pt-0"&gt;
                &lt;div class="gap-4 grid"&gt;
                  &lt;div class="-mt-4"&gt;
                    &lt;a href="/michellebuchiokonicha" class="flex"&gt;
                      &lt;span class="crayons-avatar crayons-avatar--xl mr-2 shrink-0"&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%2Fuser%2Fprofile_image%2F727233%2F83ae7c91-08b5-46a5-8c7f-743e7a449ed6.jpg" class="crayons-avatar__image" alt=""&gt;
                      &lt;/span&gt;
                      &lt;span class="crayons-link crayons-subtitle-2 mt-5"&gt;Michellebuchiokonicha&lt;/span&gt;
                    &lt;/a&gt;
                  &lt;/div&gt;
                  &lt;div class="print-hidden"&gt;
                    
                      Follow
                    
                  &lt;/div&gt;
                  &lt;div class="author-preview-metadata-container"&gt;&lt;/div&gt;
                &lt;/div&gt;
              &lt;/div&gt;
            &lt;/div&gt;

          &lt;/div&gt;
          &lt;a href="https://dev.to/michellebuchiokonicha/the-machine-learning-engineering-series-3anj" class="crayons-story__tertiary fs-xs"&gt;&lt;time&gt;May 26&lt;/time&gt;&lt;span class="time-ago-indicator-initial-placeholder"&gt;&lt;/span&gt;&lt;/a&gt;
        &lt;/div&gt;
      &lt;/div&gt;

    &lt;/div&gt;

    &lt;div class="crayons-story__indention"&gt;
      &lt;h2 class="crayons-story__title crayons-story__title-full_post"&gt;
        &lt;a href="https://dev.to/michellebuchiokonicha/the-machine-learning-engineering-series-3anj" id="article-link-3754939"&gt;
          The Machine Learning Engineering Series
        &lt;/a&gt;
      &lt;/h2&gt;
        &lt;div class="crayons-story__tags"&gt;
            &lt;a class="crayons-tag  crayons-tag--monochrome " href="/t/ai"&gt;&lt;span class="crayons-tag__prefix"&gt;#&lt;/span&gt;ai&lt;/a&gt;
            &lt;a class="crayons-tag  crayons-tag--monochrome " href="/t/machinelearning"&gt;&lt;span class="crayons-tag__prefix"&gt;#&lt;/span&gt;machinelearning&lt;/a&gt;
            &lt;a class="crayons-tag  crayons-tag--monochrome " href="/t/deeplearning"&gt;&lt;span class="crayons-tag__prefix"&gt;#&lt;/span&gt;deeplearning&lt;/a&gt;
            &lt;a class="crayons-tag  crayons-tag--monochrome " href="/t/software"&gt;&lt;span class="crayons-tag__prefix"&gt;#&lt;/span&gt;software&lt;/a&gt;
        &lt;/div&gt;
      &lt;div class="crayons-story__bottom"&gt;
        &lt;div class="crayons-story__details"&gt;
          &lt;a href="https://dev.to/michellebuchiokonicha/the-machine-learning-engineering-series-3anj" class="crayons-btn crayons-btn--s crayons-btn--ghost crayons-btn--icon-left"&gt;
            &lt;div class="multiple_reactions_aggregate"&gt;
              &lt;span class="multiple_reactions_icons_container"&gt;
                  &lt;span class="crayons_icon_container"&gt;
                    &lt;img src="https://assets.dev.to/assets/exploding-head-daceb38d627e6ae9b730f36a1e390fca556a4289d5a41abb2c35068ad3e2c4b5.svg" width="18" height="18"&gt;
                  &lt;/span&gt;
                  &lt;span class="crayons_icon_container"&gt;
                    &lt;img src="https://assets.dev.to/assets/multi-unicorn-b44d6f8c23cdd00964192bedc38af3e82463978aa611b4365bd33a0f1f4f3e97.svg" width="18" height="18"&gt;
                  &lt;/span&gt;
                  &lt;span class="crayons_icon_container"&gt;
                    &lt;img src="https://assets.dev.to/assets/sparkle-heart-5f9bee3767e18deb1bb725290cb151c25234768a0e9a2bd39370c382d02920cf.svg" width="18" height="18"&gt;
                  &lt;/span&gt;
              &lt;/span&gt;
              &lt;span class="aggregate_reactions_counter"&gt;7&lt;span class="hidden s:inline"&gt; reactions&lt;/span&gt;&lt;/span&gt;
            &lt;/div&gt;
          &lt;/a&gt;
            &lt;a href="https://dev.to/michellebuchiokonicha/the-machine-learning-engineering-series-3anj#comments" class="crayons-btn crayons-btn--s crayons-btn--ghost crayons-btn--icon-left flex items-center"&gt;
              Comments


              &lt;span class="hidden s:inline"&gt;Add Comment&lt;/span&gt;
            &lt;/a&gt;
        &lt;/div&gt;
        &lt;div class="crayons-story__save"&gt;
          &lt;small class="crayons-story__tertiary fs-xs mr-2"&gt;
            5 min read
          &lt;/small&gt;
            
              &lt;span class="bm-initial"&gt;
                

              &lt;/span&gt;
              &lt;span class="bm-success"&gt;
                

              &lt;/span&gt;
            
        &lt;/div&gt;
      &lt;/div&gt;
    &lt;/div&gt;
  &lt;/div&gt;
&lt;/div&gt;

&lt;/div&gt;


</description>
      <category>api</category>
      <category>docker</category>
      <category>machinelearning</category>
      <category>tutorial</category>
    </item>
    <item>
      <title>The Machine Learning Engineering Series</title>
      <dc:creator>Michellebuchiokonicha</dc:creator>
      <pubDate>Tue, 26 May 2026 07:33:01 +0000</pubDate>
      <link>https://forem.com/michellebuchiokonicha/the-machine-learning-engineering-series-3anj</link>
      <guid>https://forem.com/michellebuchiokonicha/the-machine-learning-engineering-series-3anj</guid>
      <description>&lt;h2&gt;
  
  
  &lt;strong&gt;Part 1: From Scratch to Systems&lt;/strong&gt;
&lt;/h2&gt;

&lt;p&gt;.&lt;br&gt;
This machine learning series will be a real ride. It’s an interactive journey where I’ll be sharing and raising lots of questions while building real-world AI systems. My goal is to make this deeply engaging, drive home the right questions, and bridge the gap between AI theory and engineering reality.&lt;/p&gt;

&lt;p&gt;&lt;em&gt;Note: There will be follow-up videos complementing this series, so keep an eye out for video links as they are released!&lt;/em&gt;&lt;/p&gt;

&lt;p&gt;Let’s start at the very beginning.&lt;/p&gt;

&lt;h2&gt;
  
  
  &lt;strong&gt;Differentiating the Field: Who Does What?&lt;/strong&gt;
&lt;/h2&gt;

&lt;p&gt;There is massive confusion in the tech industry right now regarding job titles. To understand what a Machine Learning Engineer (MLE) actually does, we have to look at how they fit alongside Data Scientists and AI Software Engineers.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;1. The Machine Learning Engineer (MLE)&lt;/strong&gt;&lt;br&gt;
An MLE is a specialised software engineer responsible for researching, building, scaling, and deploying machine learning models. They sit firmly at the intersection of software engineering, data science, and infrastructure.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Their core responsibilities include:&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;Model Development: designing and training algorithms and deep neural networks.&lt;/p&gt;

&lt;p&gt;Data Preparation: cleaning, organising, and transforming large datasets.&lt;/p&gt;

&lt;p&gt;Production Deployment &amp;amp; MLOps: deploying models to the cloud and continuously monitoring their performance.&lt;/p&gt;

&lt;p&gt;System Architecture: building the core application infrastructure so these models can be used reliably at scale.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;2. The Data Scientist (DS)&lt;/strong&gt;&lt;br&gt;
A Data Scientist is primarily focused on research, statistics, and business analysis. While an MLE is focused on specialised software engineering and scalability, a Data Scientist spends their time exploring raw data, testing hypotheses, and building prototype models to prove a business concept works.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;3. The AI Software Engineer&lt;/strong&gt;&lt;br&gt;
An AI Software Engineer focuses on integration and utility. They treat machine learning models as powerful building blocks. Their primary job is to build the application frontends, backends, and user experiences that consume AI capabilities (often via external APIs), rather than training the core models from scratch.&lt;/p&gt;

&lt;h2&gt;
  
  
  &lt;strong&gt;The Core Blueprint: What You Need to Know&lt;/strong&gt;
&lt;/h2&gt;

&lt;p&gt;Most successful ML Engineers start as traditional software engineers who specialise, or are builders who learn the entire technical stack from the ground up. If you want to excel as an MLE, these are the core requirements:&lt;/p&gt;

&lt;p&gt;Programming Languages: Python is the non-negotiable standard of the discipline. However, depending on the organisation and performance needs, some MLEs are also highly skilled in Java or C++.&lt;/p&gt;

&lt;p&gt;ML Frameworks: you must be comfortable navigating production-grade libraries like PyTorch, TensorFlow, Keras, and scikit-learn.&lt;br&gt;
Mathematics &amp;amp; Statistics: This is the area where many engineers fall short. While you might not be quizzed on complex proofs in every interview, understanding linear algebra, calculus, and probability is vital for debugging model behaviour.&lt;/p&gt;

&lt;p&gt;Infrastructure &amp;amp; Tooling: You need to be comfortable with cloud computing platforms (GCP, AWS, etc.). Version control (Git/GitHub) is essential for managing your work, and Docker is effectively mandatory for containerising applications.&lt;/p&gt;

&lt;h2&gt;
  
  
  &lt;strong&gt;Understanding the Data&lt;/strong&gt;
&lt;/h2&gt;

&lt;p&gt;Before a system can learn, we have to understand the raw material. Data is broadly classified into two categories:&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Structured Data&lt;/strong&gt;: highly organised data that easily fits into rows and columns (e.g., CSV files, SQL databases).&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Unstructured Data&lt;/strong&gt;: complex data that does not have a pre-defined structure (e.g., images, audio, and natural language text).&lt;/p&gt;

&lt;p&gt;The mechanics, architectures, and training pipelines required for unstructured data are entirely different from those used for structured data.&lt;/p&gt;

&lt;h2&gt;
  
  
  &lt;strong&gt;The Machine Learning Engineering Pipeline&lt;/strong&gt;
&lt;/h2&gt;

&lt;p&gt;Here is the bird’s eye view of how a model evolves from raw data into a living system:&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Data  ➔  Clean &amp;amp; Transform  ➔  Analyse  ➔  Baseline vs. Custom Model  ➔  Train &amp;amp; Test  ➔  Containerise &amp;amp; Deploy  ➔  Expose as API&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;1. Ingestion &amp;amp; Analysis&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;Gathering Data: highly dependent on your organisation’s size. Sometimes this is handled by Data Engineers, but an MLE must know how to pull and ingest data independently.&lt;/p&gt;

&lt;p&gt;Cleaning and Organising: raw data is messy. Here, data is cleaned, structured, and transformed into features. We will dive incredibly deep into this layer later in this series.&lt;/p&gt;

&lt;p&gt;Exploratory Data Analysis (EDA): an MLE must thoroughly analyse data distributions and shapes before moving to the modelling phase.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;2. The Modelling Strategy (Baseline vs. Custom)&lt;/strong&gt;&lt;br&gt;
When designing a system, you never just train a model blindly. You start with a baseline model.&lt;br&gt;
A baseline can be an existing state-of-the-art architecture or a previously developed model. The ultimate goal of training a custom model is to prove it can outperform your baseline. If your complex custom model performs worse than a simple baseline, it shouldn’t go into production.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;3. Training, Testing, and the “Skew” Bug&lt;/strong&gt;&lt;br&gt;
Training is heavily dependent on the data type and requires a deep understanding of concepts like epochs, loss functions, and regularisation techniques such as dropout (which help prevent overfitting).&lt;/p&gt;

&lt;p&gt;Once trained, we must rigorously evaluate the model. Beyond traditional software bugs, MLEs face unique production challenges like training-serving skew.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;What is training-serving skew?&lt;/strong&gt; &lt;br&gt;
This occurs when the data a model encounters in production (real life) is significantly different from the data it was trained on. This causes performance to plummet and can lead to the model producing unreliable or low-quality predictions. An MLE’s job is to ensure the training data is adequate and representative to minimise this skew.&lt;/p&gt;

&lt;p&gt;You must also master evaluation metrics to track success, including the confusion matrix (precision, recall, accuracy, F1-score) and mAP (mean average precision) for spatial / object-detection systems.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;4. Conversion to APIs &amp;amp; Building Systems&lt;/strong&gt;&lt;br&gt;
A model sitting on your local machine is useless. An MLE transforms a trained model into a lightweight, usable form by converting it into an API (using frameworks like FastAPI).&lt;/p&gt;

&lt;p&gt;This makes the model highly accessible, allowing other software engineers or IoT infrastructures to seamlessly integrate its AI capabilities into a broader system.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;5. Production Testing (Ensuring Utility)&lt;/strong&gt;&lt;br&gt;
Our job isn’t done just because the system runs. It must be reliable, secure, and useful. A system builder must implement a strict testing hierarchy to protect against vulnerabilities and low-standard features:&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Unit Testing:&lt;/strong&gt; testing individual components and functions in isolation.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Integration Testing:&lt;/strong&gt; ensuring the data pipeline, API, and model interact perfectly.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Smoke Testing:&lt;/strong&gt; rapidly verifying that the core infrastructure doesn’t crash upon deployment.&lt;/p&gt;

&lt;p&gt;Testing isn’t just the icing on the cake; it is the foundational requirement for safety, reliability, and engineering confidence.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;6. The Core Paradigms&lt;/strong&gt;: From Linear Regression to Clustering&lt;br&gt;
As we dive deeper into modelling throughout this series, we will break down the core learning paradigms that power these systems. You can’t build advanced architectures without mastering the fundamentals:&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Supervised Learning:&lt;/strong&gt; training models on labelled data (where the system knows the correct answers during training). This includes foundational algorithms like linear regression for predicting continuous values, all the way up to complex neural networks.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Unsupervised Learning:&lt;/strong&gt; giving the model raw, unlabelled data and letting it discover hidden structures on its own. A prime example of this is clustering, where the system automatically groups similar data points without human intervention.&lt;/p&gt;

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

&lt;p&gt;Throughout this series, we are going to cover all of these concepts in depth. We will write the code, sketch the architectures, look at how these systems impact modern workplaces, and discuss how to position these skills to land an elite MLE role.&lt;br&gt;
Buckle up, this is going to be an incredible build.&lt;/p&gt;

</description>
      <category>ai</category>
      <category>machinelearning</category>
      <category>deeplearning</category>
      <category>software</category>
    </item>
    <item>
      <title>Google I/O 2026: From Consumer to Builder</title>
      <dc:creator>Michellebuchiokonicha</dc:creator>
      <pubDate>Wed, 20 May 2026 19:41:08 +0000</pubDate>
      <link>https://forem.com/michellebuchiokonicha/google-io-2026-from-consumer-to-builder-dom</link>
      <guid>https://forem.com/michellebuchiokonicha/google-io-2026-from-consumer-to-builder-dom</guid>
      <description>&lt;p&gt;I often tune in to Google I/O. But this year felt different.&lt;/p&gt;

&lt;p&gt;In the past, I watched as a consumer. I needed the updates, first to keep up, then to pass them on to my audience. I was a distributor of news, a passive relay between Google's stage and other people's feeds.&lt;/p&gt;

&lt;p&gt;This year, my pen hit the paper differently.&lt;/p&gt;

&lt;p&gt;I watched as a builder. I wasn't tracking announcements to repeat them; I was scanning each one for where I fit, where I could come in, and how. I took pages of hurried notes, not to summarize later, but to return to and &lt;em&gt;explore&lt;/em&gt;. Somewhere between the keynote's opening and its close, a quiet shift happened: I stopped feeling like an observer of the future and started feeling like a participant in it.&lt;/p&gt;

&lt;p&gt;Here's what I saw, and why it mattered to me.&lt;/p&gt;

&lt;h2&gt;
  
  
  The Foundations Got Heavier
&lt;/h2&gt;

&lt;p&gt;The keynote leaned hard on raw capability, the infrastructure underneath everything else. When the talk turned to the computing powering this new generation of models, I didn't just hear "faster." I heard the heavy-lifting engine for the deep, custom architectures I've been turning over in my head. The horsepower is finally scaling to match the complexity of what's coming.&lt;/p&gt;

&lt;p&gt;Then came the models. Seeing &lt;strong&gt;Gemini 3.5 Flash&lt;/strong&gt; and &lt;strong&gt;Gemini Omni Flash&lt;/strong&gt; stream across the screen made me lean forward. Gemini 3.5 Flash pairs frontier intelligence with the ability to actually &lt;em&gt;act&lt;/em&gt; , Google says it outperforms the previous Pro generation on coding and agentic benchmarks while running several times faster. Gemini Omni, meanwhile, takes image, audio, video, and text as input and generates editable video grounded in real-world knowledge.&lt;/p&gt;

&lt;p&gt;For anyone building fast, reactive systems, that combination, native multimodality plus low latency, is the holy grail. We are moving past models that guess at the next word toward models that understand and generate across every modality at once.&lt;/p&gt;

&lt;h2&gt;
  
  
  From Assistants to Autonomous Digital Lives
&lt;/h2&gt;

&lt;p&gt;The real turn in the keynote was the move from &lt;em&gt;conversational assistants&lt;/em&gt; to &lt;em&gt;agentic workflows&lt;/em&gt;.&lt;/p&gt;

&lt;p&gt;This is where &lt;strong&gt;Gemini Spark&lt;/strong&gt; came in, Google's pitch for a 24/7 personal agent that manages your digital life in the background. The framing that stuck with me: you can close your laptop, and the work keeps going. It feels less like a tool you pick up and put down, and more like an environment that runs on your behalf.&lt;/p&gt;

&lt;p&gt;To make that practical, it leans on the &lt;strong&gt;Model Context Protocol (MCP)&lt;/strong&gt; to integrate with third-party tools. I scribbled a question in my margin: &lt;em&gt;Is this just an advanced Siri?&lt;/em&gt;&lt;/p&gt;

&lt;p&gt;My conclusion: no. This is a genuine paradigm shift. But — and I underlined this, as a builder, I still believe keeping a &lt;strong&gt;human in the loop&lt;/strong&gt; is non-negotiable for high-stakes decisions. An agent that acts while you sleep is powerful. It's also exactly the kind of system where the cost of a silent mistake is highest.&lt;/p&gt;

&lt;h2&gt;
  
  
  Agentic Commerce Gets Real
&lt;/h2&gt;

&lt;p&gt;The commerce announcements immediately tested that belief.&lt;/p&gt;

&lt;p&gt;Google introduced &lt;strong&gt;Universal Cart&lt;/strong&gt;, an intelligent shopping cart that follows you across Search, Gemini, YouTube, and Gmail, tracking price drops and restocks in the background. Underneath it sit two protocols: the &lt;strong&gt;Universal Commerce Protocol (UCP)&lt;/strong&gt;, a common language for agent-driven checkout, and the &lt;strong&gt;Agent Payments Protocol (AP2)&lt;/strong&gt;, which lets agents complete purchases on your behalf within guardrails you set, specific brands, specific products, a spending cap.&lt;/p&gt;

&lt;p&gt;AP2 builds a tamper-proof, verifiable record linking shopper, merchant, and payment processor. As an engineer, that's the part I find genuinely interesting: it's the bridge between a model that &lt;em&gt;thinks&lt;/em&gt; and a model that &lt;em&gt;securely transacts&lt;/em&gt;.&lt;/p&gt;

&lt;p&gt;But it's worth being clear-eyed. Reporters covering I/O framed Universal Cart as Google's bid to become the default middleman in online commerce, a market some analysts project in the trillions by the end of the decade. Some retailers are already reporting traffic shifts as shoppers move from search to agents. The engineering opportunity here is enormous: end-to-end transaction systems where the agent owns the whole procurement and verification lifecycle. The responsibility that comes with it is just as large.&lt;/p&gt;

&lt;h2&gt;
  
  
  Sensory Interfaces and Immersive Wearables
&lt;/h2&gt;

&lt;p&gt;A few updates pointed at where the &lt;em&gt;interface&lt;/em&gt; itself is going.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Neural Expressive&lt;/strong&gt;, Gemini's new design language brings adaptive emotional pacing to voices, fluid animation, and haptic feedback, making real-time audio dialogue feel noticeably more lifelike. And the &lt;strong&gt;Intelligent Eyewear&lt;/strong&gt; running on Android XR moves the assistant off the screen entirely and into your physical space, directions, texts, and photos, all from a pair of glasses.&lt;/p&gt;

&lt;p&gt;On the creative side, &lt;strong&gt;Flow Music&lt;/strong&gt; stood out: a sandbox for composing original, high-fidelity songs through prompt-based collaboration. The audio modality is becoming completely fluid.&lt;/p&gt;

&lt;h2&gt;
  
  
  Trust, Verification, and the Hard Engineering Track
&lt;/h2&gt;

&lt;p&gt;What reassured me was that the keynote didn't only sell capability, it addressed guardrails.&lt;/p&gt;

&lt;p&gt;The expansion of &lt;strong&gt;C2PA Content Credentials&lt;/strong&gt; means you can verify whether a piece of content is an unaltered original or has been modified, a check that extends all the way down to validating research and academic material. In a year defined by generative everything, provenance isn't a footnote. It's infrastructure.&lt;/p&gt;

&lt;p&gt;Tooling for developers got attention too, including the agent-first work on Google's &lt;strong&gt;Antigravity&lt;/strong&gt; platform, a sign that "anyone can be a builder" wasn't just a tagline but a thing Google is actively engineering toward.&lt;/p&gt;

&lt;h2&gt;
  
  
  My Final Reflection
&lt;/h2&gt;

&lt;p&gt;I closed my notebook with pages of short, hurried notes. But I walked away with something more useful than notes: a map.&lt;/p&gt;

&lt;p&gt;For the first time, I wasn't just watching Google build the future. I was figuring out exactly where I'm going to build &lt;em&gt;in&lt;/em&gt; it, which protocols to learn, which models to prototype against, which problems are now finally tractable.&lt;/p&gt;

&lt;p&gt;The shift from consumer to contributor doesn't happen with a single announcement. It happens the moment you stop asking "what did they release?" and start asking "what can I make with this?"&lt;/p&gt;

&lt;p&gt;This year, I started asking the second question.&lt;/p&gt;




&lt;p&gt;&lt;em&gt;Were you watching I/O 2026? I'd love to hear which announcement made&lt;/em&gt; you &lt;em&gt;lean forward, drop it in the comments.&lt;/em&gt;&lt;/p&gt;

</description>
      <category>ai</category>
      <category>buildinpublic</category>
      <category>google</category>
      <category>machinelearning</category>
    </item>
    <item>
      <title>I have been struggling to write…</title>
      <dc:creator>Michellebuchiokonicha</dc:creator>
      <pubDate>Sat, 28 Feb 2026 08:22:51 +0000</pubDate>
      <link>https://forem.com/michellebuchiokonicha/i-have-been-struggling-to-write-15j8</link>
      <guid>https://forem.com/michellebuchiokonicha/i-have-been-struggling-to-write-15j8</guid>
      <description>&lt;p&gt;I have been writing technical articles since 2022. My passion for technology has been built on writing. I have loved it even before I realized I wanted to go into software development. I used to write poems that got published while in school, so writing technical articles when I started coding was not a big deal for me. I have always written.&lt;/p&gt;

&lt;p&gt;In fact, my parents used to say I would be like Chimamanda Adichie. Because not only did I know how to coin words, I knew how to express them in speech, and I also loved to read, which helped me greatly in writing with ease. At some point, while in secondary school, I considered becoming a writer and studying Literature just so I could write and speak. It always gave me joy.&lt;/p&gt;

&lt;p&gt;But recently, I find myself struggling to do one of the things I would normally term ‘easiest’ to do.&lt;/p&gt;

&lt;p&gt;This struggle started creeping in gradually in 2024. When ChatGPT came on board.&lt;br&gt;
I still continued writing, and I had my articles featured on Dev. to amongst the 7 most read articles.&lt;/p&gt;

&lt;p&gt;Some of my articles climbed to 40,000 reads, numerous comments, and likes. And in 2025, my new article also got featured on hasnode but in the heat of AI and arguments on AI being able to do everything, I wrote only two articles, and I paused.&lt;/p&gt;

&lt;p&gt;I was confused, I was in doubt, I had questions: “Will people need to read articles on asynchronous functions, supervised learning, JavaScript, Python, and more, if AI can simply provide all the information?”&lt;/p&gt;

&lt;p&gt;Secondly, I was confused because I have been a web developer all this time. Mostly writing and building frontend applications, hence most of my articles covered the web and JavaScript. But with this new excitement, I didn’t just want to stick only to the web; I wanted to branch into machine learning. This also made me pause to reflect. What started as a short-term pause in February 2025 turned into a full year of not writing any technical articles. I feel like crying as I type this. It hurts me more than I ever thought it would.&lt;/p&gt;

&lt;p&gt;I have many excuses. Another would definitely be that I want to start a YouTube channel and be active on social media instead of writing. But I have asked so many questions. Can I edit videos? Do I really want to keep talking and explaining technology concepts instead of simply penning them down as articles? And right now, it has dawned on me. I don’t know how consistent I can be with explaining concepts via speech as opposed to writing them down, which is easier and smoother for me.&lt;br&gt;
I have been stalling, waiting, postponing this, telling myself I am too busy, telling myself AI can explain everything, telling myself YouTube is better now, as people don’t read anymore. But it feels like something is missing. Like, I am not doing one of the things I am meant to be doing, and it hurts, it breaks my heart so much.&lt;/p&gt;

&lt;p&gt;This is my first piece in one year, and truly, this morning, 7:50 am, 22nd February, 2026, thinking deeply about what could have been if I had not stopped writing, I decided to just write.&lt;/p&gt;

&lt;p&gt;I have no will for any aspire to perspire, but I guess we will all figure it out. The questions, the doubts. If you are like me, then write.&lt;/p&gt;

&lt;p&gt;JUST WRITE.&lt;/p&gt;

</description>
      <category>writing</category>
      <category>programming</category>
      <category>software</category>
      <category>softwareengineering</category>
    </item>
    <item>
      <title>Infrastructure as Code: Getting Started with Terraform for Cloud Deployment</title>
      <dc:creator>Michellebuchiokonicha</dc:creator>
      <pubDate>Fri, 14 Feb 2025 06:55:29 +0000</pubDate>
      <link>https://forem.com/michellebuchiokonicha/getting-started-with-terraform-for-cloud-deployment-9f0</link>
      <guid>https://forem.com/michellebuchiokonicha/getting-started-with-terraform-for-cloud-deployment-9f0</guid>
      <description>&lt;h2&gt;
  
  
  Introduction to Cloud Services
&lt;/h2&gt;

&lt;p&gt;Cloud computing has changed the way we deploy and manage applications. It offers various service models to meet different needs.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Infrastructure as a Service (IaaS):&lt;/strong&gt; Provides on-demand access to computing resources like servers, storage, and networking.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Platform as a Service (PaaS):&lt;/strong&gt; Offers hardware and software resources for cloud application development, eliminating the need to manage the underlying infrastructure.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Software as a Service (SaaS):&lt;/strong&gt; Delivers full application stacks as a cloud service, including maintenance and management of both infrastructure and software.&lt;/p&gt;

&lt;h2&gt;
  
  
  Benefits of Cloud Deployment
&lt;/h2&gt;

&lt;p&gt;Using the cloud for computing and deployment comes with several advantages:&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Faster Time to Market:&lt;/strong&gt; Servers can be deployed with just a few clicks, significantly accelerating the development process.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Cost Savings:&lt;/strong&gt; By choosing the right set of services, infrastructure costs can be drastically reduced.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Data Loss Prevention:&lt;/strong&gt; Data is stored across multiple data centers in different availability zones, ensuring redundancy and reliability.&lt;/p&gt;

&lt;h2&gt;
  
  
  Challenges of Cloud Deployment
&lt;/h2&gt;

&lt;p&gt;While the cloud offers many benefits, there are some challenges to consider:&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Vendor Lock-In:&lt;/strong&gt; Switching cloud providers can be costly and complex, often leaving customers tied to their original vendor.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Lack of Expertise:&lt;/strong&gt; Finding skilled cloud professionals can be difficult, as the demand for cloud expertise often outstrips supply.&lt;/p&gt;

&lt;h2&gt;
  
  
  Major Cloud Providers
&lt;/h2&gt;

&lt;p&gt;The three largest cloud providers dominate the market:&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;AWS (Amazon Web Services):&lt;/strong&gt; Holds the largest market share in the US and offers a wide range of services.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Azure:&lt;/strong&gt; Known for its seamless integration with Microsoft products and a strong presence in Germany.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;GCP (Google Cloud Platform):&lt;/strong&gt; This has seen rapid growth over the past three years and integrates well with Google products like Google Analytics.&lt;/p&gt;

&lt;h2&gt;
  
  
  Deploying to the Cloud
&lt;/h2&gt;

&lt;p&gt;Deploying applications in the cloud involves using a variety of services. While you can manage these services manually through the cloud console, this approach has limitations:&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Complexity:&lt;/strong&gt; Dropping or modifying services can be tedious, requiring you to navigate through multiple menus.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Lack of Replicability:&lt;/strong&gt; Manual configurations are hard to replicate, making it difficult for others to understand or reproduce your setup.&lt;/p&gt;

&lt;p&gt;This is where &lt;strong&gt;Infrastructure as Code (IaC)&lt;/strong&gt; comes in. IaC allows you to define and manage your infrastructure using code, making it replicable, understandable, and easier to maintain.&lt;/p&gt;

&lt;h2&gt;
  
  
  What is Infrastructure as Code (IaC)?
&lt;/h2&gt;

&lt;p&gt;Infrastructure as Code (IaC) is the practice of managing and provisioning infrastructure through code instead of manual processes. This approach has become increasingly popular, with IaC skills now appearing in job postings for roles like Data Analysts.&lt;br&gt;
Popular IaC tools include:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Terraform&lt;/li&gt;
&lt;li&gt;AWS CloudFormation&lt;/li&gt;
&lt;li&gt;Azure Resource Manager&lt;/li&gt;
&lt;li&gt;Google Cloud Deployment Manager&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Among these, &lt;strong&gt;Terraform&lt;/strong&gt; stands out due to its ability to work across multiple cloud providers, making it a versatile choice for organizations that may migrate between clouds.&lt;/p&gt;
&lt;h2&gt;
  
  
  Why Terraform?
&lt;/h2&gt;

&lt;p&gt;Terraform is an open-source IaC tool that allows you to build, change, and version infrastructure safely and efficiently. Here’s why it’s a great choice:&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Multi-Cloud Support:&lt;/strong&gt; Terraform supports multiple cloud providers, including AWS, Azure, and GCP.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Rollback Capabilities:&lt;/strong&gt; Infrastructure changes can be easily rolled back, minimizing downtime and risks.&lt;br&gt;
Ease of Use: Terraform uses a declarative language, making it easy to learn and use. You only need a few commands to get started.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Cost Efficiency:&lt;/strong&gt; You can stop and resume your infrastructure as needed, saving on cloud credits and usage.&lt;/p&gt;
&lt;h2&gt;
  
  
  Setting Up Terraform
&lt;/h2&gt;

&lt;p&gt;To get started with Terraform, you’ll need:&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;A Cloud Provider Account:&lt;/strong&gt; For this guide, we’ll use AWS.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Terraform Installed:&lt;/strong&gt; Download and install Terraform from the website: &lt;a href="https://www.terraform.io/" rel="noopener noreferrer"&gt;https://www.terraform.io/&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Example: Setting Up an S3 Bucket in AWS&lt;/p&gt;

&lt;p&gt;Here’s an example of how to set up an S3 bucket using Terraform:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;provider "aws" {
  region = "us-east-1"
}

resource "aws_s3_bucket" "example_bucket" {
  bucket = "my-unique-bucket-name"
  acl    = "private"

  versioning {
    enabled = true
  }

  tags = {
    Name        = "Example Bucket"
    Environment = "Dev"
  }
}

&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;This code defines an S3 bucket with versioning enabled and tags for identification. You can customize it further based on your needs.&lt;br&gt;
Conclusion&lt;/p&gt;

&lt;p&gt;you need to further set up:&lt;/p&gt;

&lt;p&gt;provider&lt;br&gt;
aws_s3_bucket&lt;br&gt;
aw3_s3_bucket_public_access_block&lt;br&gt;
aws_s3_bucket_ownership_controls&lt;br&gt;
aws_s3_bucket_acl&lt;br&gt;
aws_s3_object&lt;br&gt;
aws_s3_bucket_website_configuration&lt;/p&gt;

&lt;p&gt;Here is a simple setup&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;provider "aws" {
    region = "us-east-1"
}

resource "aws_s3_bucket" "s3" {
    bucket = "your-bucket"
}

resource "aws_s3_bucket_public_access_block" "s3-public-block" {
    bucket = aws_s3_bucket.s3.id

    block_public_acls       = false
    block_public_policy     = false
    ignore_public_acls      = true
    restrict_public_buckets = false
}

resource "aws_s3_bucket_ownership_controls" "s3-ownership" {
    bucket = aws_s3_bucket.s3.id

    rule {
        object_ownership = "BucketOwnerPreferred"
    }
}

resource "aws_s3_bucket_acl" "s3-acl" {
    bucket = aws_s3_bucket.s3.id
    acl    = "public-read"
}

resource "aws_s3_object" "s3-object" {
    bucket       = aws_s3_bucket.s3.id
    key          = "index.html"
    source       = "index.html"
    content_type = "text/html"
    acl          = "public-read"
}

resource "aws_s3_bucket_website_configuration" "s3-website-configuration" {
    bucket = aws_s3_bucket.s3.id

    index_document {
        suffix = "index.html"
    }
}

&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;with this simple setup, you can deploy your first web application.&lt;br&gt;
I have further included a sample index.html file&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;&amp;lt;!DOCTYPE html&amp;gt;
&amp;lt;html lang="en"&amp;gt;
&amp;lt;head&amp;gt;
    &amp;lt;meta charset="UTF-8"&amp;gt;
    &amp;lt;meta name="viewport" content="width=device-width, initial-scale=1.0"&amp;gt;
    &amp;lt;title&amp;gt;Welcome to My Website&amp;lt;/title&amp;gt;
    &amp;lt;style&amp;gt;
        body {
            font-family: Arial, sans-serif;
            margin: 0;
            padding: 0;
            background-color: #f4f4f4;
            color: #333;
            text-align: center;
        }
        header {
            background-color: #007bff;
            color: white;
            padding: 20px 0;
        }
        h1 {
            margin: 0;
        }
        main {
            padding: 20px;
        }
        footer {
            background-color: #333;
            color: white;
            padding: 10px 0;
            position: fixed;
            bottom: 0;
            width: 100%;
        }
    &amp;lt;/style&amp;gt;
&amp;lt;/head&amp;gt;
&amp;lt;body&amp;gt;
    &amp;lt;header&amp;gt;
        &amp;lt;h1&amp;gt;Welcome to My Website&amp;lt;/h1&amp;gt;
    &amp;lt;/header&amp;gt;
    &amp;lt;main&amp;gt;
        &amp;lt;p&amp;gt;Hello, world! This is a simple webpage hosted on AWS S3.&amp;lt;/p&amp;gt;
        &amp;lt;p&amp;gt;Enjoy browsing!&amp;lt;/p&amp;gt;
    &amp;lt;/main&amp;gt;
    &amp;lt;footer&amp;gt;
        &amp;lt;p&amp;gt;&amp;amp;copy; 2025 My Website&amp;lt;/p&amp;gt;
    &amp;lt;/footer&amp;gt;
&amp;lt;/body&amp;gt;
&amp;lt;/html&amp;gt;

&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;To install terraform, use:&lt;/p&gt;

&lt;p&gt;&lt;code&gt;terraform -v&lt;/code&gt;&lt;/p&gt;

&lt;p&gt;then open your IDE and run &lt;code&gt;terraform init&lt;/code&gt;&lt;/p&gt;

&lt;p&gt;To format and validate your terraform code, run &lt;code&gt;terraform fmt&lt;/code&gt; and &lt;br&gt;
&lt;code&gt;terraform validate&lt;/code&gt;&lt;/p&gt;

&lt;p&gt;Next, you would need to plan and make changes with&lt;br&gt;
&lt;code&gt;terraform plan&lt;/code&gt;&lt;/p&gt;

&lt;p&gt;To apply the changes made, run &lt;code&gt;terraform apply -auto-approve&lt;/code&gt;&lt;/p&gt;

&lt;p&gt;Lastly, in order to save bandwidth and when you are not using the infrastructure at a certain time, you can destroy it with&lt;/p&gt;

&lt;p&gt;&lt;code&gt;terraform destroy -auto-approve&lt;/code&gt;&lt;/p&gt;

&lt;p&gt;You can further rerun/rebuild by running &lt;br&gt;
&lt;code&gt;terraform apply&lt;/code&gt;&lt;/p&gt;

&lt;p&gt;The process is quite seamless and easy to use and understand. it saves you time, provides flexibility, and also allows other developers to see what you have done.&lt;/p&gt;

&lt;p&gt;Infrastructure as Code, particularly with tools like Terraform, simplifies cloud deployment and management. It ensures that your infrastructure is replicable, understandable, and easy to maintain. Whether you’re working with AWS, Azure, or GCP, Terraform provides a consistent and efficient way to manage your cloud resources.&lt;br&gt;
Start your IaC journey today and experience the benefits of deploying infrastructure as code!&lt;/p&gt;

</description>
      <category>terraform</category>
      <category>cloud</category>
      <category>aws</category>
      <category>googlecloud</category>
    </item>
    <item>
      <title>Python OOP Made Easy: Master Object-Oriented Programming with Ease</title>
      <dc:creator>Michellebuchiokonicha</dc:creator>
      <pubDate>Tue, 04 Feb 2025 07:38:22 +0000</pubDate>
      <link>https://forem.com/michellebuchiokonicha/python-oop-made-easy-master-object-oriented-programming-with-ease-4h9e</link>
      <guid>https://forem.com/michellebuchiokonicha/python-oop-made-easy-master-object-oriented-programming-with-ease-4h9e</guid>
      <description>&lt;p&gt;Object-Oriented Programming (OOP) is a programming paradigm that uses objects and classes to structure software. Unlike procedural programming, which focuses on functions and procedures, OOP emphasizes using objects that encapsulate data and behavior. Python, a versatile language, fully supports OOP, making it a powerful tool for building modular, reusable, and maintainable code.&lt;/p&gt;

&lt;p&gt;In this article, we’ll explore the basics of OOP in Python, including classes, objects, attributes, methods, inheritance, polymorphism, encapsulation, and abstraction. We’ll also dive into functional programming concepts and how they complement OOP in Python.&lt;/p&gt;

&lt;h2&gt;
  
  
  Python OOP Basics
&lt;/h2&gt;

&lt;p&gt;&lt;strong&gt;What is OOP?&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;OOP is a programming paradigm that organizes code into classes and objects. A class is a blueprint for creating objects, while an object is an instance of a class. OOP promotes concepts like modularity, reusability, and abstraction, making it easier to manage complex systems.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Pros of Object-Oriented Programming&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;Modularity: Code is organized into reusable components.&lt;/p&gt;

&lt;p&gt;Abstraction: Hide complex implementation details.&lt;/p&gt;

&lt;p&gt;Maintenance: Easier to update and debug.&lt;/p&gt;

&lt;p&gt;Reusability: Classes can be reused across projects.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Cons of Object-Oriented Programming&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;Complexity: This can be overkill for simple programs.&lt;/p&gt;

&lt;p&gt;Performance: Slightly slower due to overhead.&lt;/p&gt;

&lt;p&gt;Overuse: Not every problem requires an OOP solution.&lt;/p&gt;

&lt;h2&gt;
  
  
  Classes and Objects in Python
&lt;/h2&gt;

&lt;p&gt;&lt;strong&gt;What are Classes and Objects?&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;A class is a blueprint for creating objects. It defines the attributes (data) and methods (functions) that the objects will have. An object is an instance of a class.&lt;/p&gt;

&lt;p&gt;Example:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;class Person:
    def __init__(self, name, age):
        self.name = name
        self.age = age

    def say_hi(self):
        print(f"Hi, my name is {self.name} and I’m {self.age} years old.")

# Creating objects
person1 = Person("Alice", 25)
person2 = Person("Bob", 35)

person1.say_hi()  # Output: Hi, my name is Alice and I’m 25 years old.
person2.say_hi()  # Output: Hi, my name is Bob and I’m 35 years old.
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;&lt;strong&gt;What Can Go Wrong?&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;Python is flexible, but this can lead to mistakes. For example:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;person3 = Person(name="Charlie", age=person1)
person3.say_hi()  # Output: Hi, my name is Charlie and I’m &amp;lt;__main__.Person object at 0x109f301c0&amp;gt; years old.
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Here, &lt;strong&gt;age&lt;/strong&gt; is mistakenly assigned an object instead of a number. Always validate inputs!&lt;/p&gt;

&lt;h2&gt;
  
  
  Attributes and Methods
&lt;/h2&gt;

&lt;p&gt;&lt;strong&gt;Attributes&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;Attributes define the state of an object. They store data associated with the object.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Methods&lt;/strong&gt;&lt;br&gt;
Methods define the behavior of an object. They are functions attached to a class.&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;class Car:
    wheels = 4  # Class attribute

    def __init__(self, make, model, year=None):
        self.make = make  # Instance attribute
        self.model = model
        self.year = year

    def get_make_model(self):  # Instance method
        return f"{self.make} {self.model}"

car1 = Car("Toyota", "Camry", 2021)
print(car1.get_make_model())  # Output: Toyota Camry
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;h2&gt;
  
  
  Inheritance in Python
&lt;/h2&gt;

&lt;p&gt;Inheritance allows a class (child) to inherit attributes and methods from another class (parent). This promotes code reuse and hierarchy.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Example:&lt;/strong&gt;&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;class Animal:
    def __init__(self, name):
        self.name = name

    def speak(self):
        print("This animal speaks.")

class Dog(Animal):
    def speak(self):
        print("Woof!")

dog = Dog("Pelle")
dog.speak()  # Output: Woof!
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;h2&gt;
  
  
  Polymorphism, Encapsulation, and Abstraction
&lt;/h2&gt;

&lt;h2&gt;
  
  
  Polymorphism
&lt;/h2&gt;

&lt;p&gt;Polymorphism allows objects of different classes to be treated as objects of a common superclass. For example:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;def make_animal_speak(animal):
    animal.speak()

dog = Dog("Fido")
cat = Cat("Whiskers")

make_animal_speak(dog)  # Output: Woof!
make_animal_speak(cat)  # Output: Meow!
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;h2&gt;
  
  
  Encapsulation
&lt;/h2&gt;

&lt;p&gt;Encapsulation hides the internal state of an object and restricts direct access. Use private attributes (__) to enforce this:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;class BankAccount:
    def __init__(self, account_number, balance):
        self.__account_number = account_number
        self.__balance = balance

    def deposit(self, amount):
        self.__balance += amount

    def get_balance(self):
        return self.__balance
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;h2&gt;
  
  
  Abstraction
&lt;/h2&gt;

&lt;p&gt;Abstraction focuses on hiding non-essential details and exposing only the necessary features. Use abstract classes to define interfaces:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;from abc import ABC, abstractmethod

class Shape(ABC):
    @abstractmethod
    def area(self):
        pass

class Rectangle(Shape):
    def __init__(self, length, width):
        self.length = length
        self.width = width

    def area(self):
        return self.length * self.width
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;h2&gt;
  
  
  Functional Programming in Python
&lt;/h2&gt;

&lt;p&gt;Python also supports functional programming (FP), which emphasizes immutability and pure functions. Key concepts include:&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Pure Functions&lt;/strong&gt;: No side effects, deterministic.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Higher-order functions&lt;/strong&gt;: Functions that take other functions as arguments.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Immutability&lt;/strong&gt;: Data cannot be changed after creation.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Example:&lt;/strong&gt;&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;# Higher-order functions
numbers = [1, 2, 3, 4, 5]
squared_numbers = list(map(lambda x: x**2, numbers))  # Output: [1, 4, 9, 16, 25]
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;h2&gt;
  
  
  Conclusion
&lt;/h2&gt;

&lt;p&gt;OOP and FP are powerful paradigms that can be used together to write clean, modular, and maintainable code in Python. By understanding classes, objects, inheritance, polymorphism, encapsulation, and abstraction, you can build robust applications. Additionally, functional programming concepts like immutability and higher-order functions can complement OOP to make your code even more expressive.&lt;/p&gt;

&lt;p&gt;Whether you’re building a small script or a large-scale application, mastering these concepts will help you write better Python code. &lt;/p&gt;

</description>
      <category>oop</category>
      <category>classes</category>
      <category>programming</category>
      <category>softwaredevelopment</category>
    </item>
    <item>
      <title>Are Web APIs the same as REST APIs? How to Improve your Web Apps with Web APIs</title>
      <dc:creator>Michellebuchiokonicha</dc:creator>
      <pubDate>Tue, 14 Jan 2025 08:36:11 +0000</pubDate>
      <link>https://forem.com/michellebuchiokonicha/are-web-apis-the-same-as-rest-apis-how-web-apis-improve-the-web-57jm</link>
      <guid>https://forem.com/michellebuchiokonicha/are-web-apis-the-same-as-rest-apis-how-web-apis-improve-the-web-57jm</guid>
      <description>&lt;p&gt;To answer the question simply: &lt;strong&gt;No&lt;/strong&gt;, Web APIs are not the same as REST APIs.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Web APIs&lt;/strong&gt; refer to interfaces that allow applications to interact with the web or devices. This term is broad and can refer to Browser APIs (like WebRTC or Geolocation) or Server APIs (like REST or GraphQL).&lt;/p&gt;

&lt;p&gt;On the other hand, &lt;strong&gt;REST APIs&lt;/strong&gt; are a specific type of Server API that adhere to REST principles, focusing on statelessness, resource-based communication, and using HTTP methods like GET, POST, and DELETE.&lt;/p&gt;

&lt;h2&gt;
  
  
  The Evolution of the Web
&lt;/h2&gt;

&lt;p&gt;Originally, the web was designed as a static site for providing information and connecting individuals to relevant resources, regardless of location. However, it has evolved to become interactive and progressive, with certain aspects also turning decentralized.&lt;br&gt;
This article focuses on the web being progressive and more user-friendly.&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%2Fhuv0g6zma3hcbcays5oc.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%2Fhuv0g6zma3hcbcays5oc.png" alt="Image description" width="800" height="652"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  The Role of Web APIs in Modern Development
&lt;/h2&gt;

&lt;p&gt;&lt;strong&gt;Web APIs&lt;/strong&gt; serve as the backbone of modern web development. With APIs like WebRTC, Web Bluetooth, and Service Workers, developers can create highly interactive, native-like web applications without requiring external plugins. These capabilities make &lt;strong&gt;Progressive Web&lt;/strong&gt; Apps (PWAs) possible, bridging the gap between web and native apps.&lt;br&gt;
Check out my extensive article on progressive web apps. &lt;br&gt;
&lt;a href="https://dev.to/michellebuchiokonicha/how-to-get-started-with-progressive-web-apps-3f44"&gt;https://dev.to/michellebuchiokonicha/how-to-get-started-with-progressive-web-apps-3f44&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Some Benefits of Progressive Web Apps&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Works on any browser (cross-platform)&lt;/li&gt;
&lt;li&gt;Responsive to any device&lt;/li&gt;
&lt;li&gt;Functions without network connectivity&lt;/li&gt;
&lt;li&gt;Performs like a mobile app&lt;/li&gt;
&lt;li&gt;Highly secure&lt;/li&gt;
&lt;li&gt;Discoverable via search engines&lt;/li&gt;
&lt;li&gt;Boosts app engagement&lt;/li&gt;
&lt;li&gt;No installation required&lt;/li&gt;
&lt;li&gt;Can be shared through a link&lt;/li&gt;
&lt;li&gt;Optionally available on app stores (e.g., Google Play, Apple Store)&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;
  
  
  Web APIs and Project Fugu
&lt;/h2&gt;

&lt;p&gt;Web APIs here, referring to browser APIs, act as connectors, improvers, and builders for the browser's capabilities. These APIs are inherent to the web and are not third-party APIs purchased from libraries or sites. Instead, they are broadly available and designed to improve the web and enhance products created by developers, reducing boilerplate code and simplifying web interactions.&lt;br&gt;
The significance of web APIs is underscored by the fact that over 70% of activities conducted online occur through the web, highlighting the need for improvements and scalability.&lt;/p&gt;

&lt;p&gt;In summary, web APIs are crucial for the success of Progressive Web Apps and the future of web development. They act as enablers of advanced functionalities.&lt;/p&gt;

&lt;h2&gt;
  
  
  Project Fugu
&lt;/h2&gt;

&lt;p&gt;Project Fugu derives its name from the Japanese word for &lt;strong&gt;pufferfish,&lt;/strong&gt; "fugu." &lt;br&gt;
Initially, I was curious about why this project was named after a fish until I learned more about it. The fugu is a dangerous fish that can be delicious when prepared correctly; however, if not handled properly, it can be harmful. This metaphor aptly reflects the project's goal of enhancing the web platform's capabilities to match those of native applications.&lt;br&gt;
The correlation here is that the Project Fugu APIs aim to enrich the web (the ‘delicious’ aspect), and if they are not built correctly (the ‘preparation’), they can introduce significant security vulnerabilities. Imagine creating an API accessible to billions without adequate security measures; it would expose individuals to various security risks.&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%2F3v01mjl4clolpmdg4i72.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%2F3v01mjl4clolpmdg4i72.png" alt="Image description" width="800" height="448"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;You can find more about Project Fugu and its APIs at &lt;a href="https://developer.chrome.com/docs/capabilities/fugu-showcase" rel="noopener noreferrer"&gt;https://developer.chrome.com/docs/capabilities/fugu-showcase&lt;/a&gt;. Here, you will discover interesting and exciting projects built with web APIs, as well as a comprehensive list of available APIs. Many native app features that were previously unavailable on the web are now accessible, thanks to web APIs.&lt;/p&gt;

&lt;h2&gt;
  
  
  Why Web APIs?
&lt;/h2&gt;

&lt;p&gt;Web APIs are crucial for several reasons, and their importance should not be overlooked. They empower the browser, transforming the web from a simple content viewer into a powerful application platform. With APIs like WebRTC, WebSockets, Service Workers, Web Bluetooth, and Web XR, you can now accomplish tasks on the web that were once limited to native applications.&lt;/p&gt;

&lt;h2&gt;
  
  
  Why Should You Start Using Web APIs?
&lt;/h2&gt;

&lt;p&gt;Web APIs offer numerous benefits, including:&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Access to Native Device Features:&lt;/strong&gt; They allow you to access device hardware such as cameras, microphones, sensors, and Bluetooth devices. This means you can make video calls, control robots, and experience augmented reality directly in your browser, without needing to download any apps.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Offline and Background Functionality:&lt;/strong&gt; Service Workers enable features like push notifications and caching, enhancing the user experience even when offline.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Simplified App Development for Cross-Platforms:&lt;/strong&gt; Web APIs facilitate easier development across different platforms.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;How Web APIs Improve the Web&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;Web APIs bring the capabilities of native apps to the web, granting access to powerful features without requiring installations or downloads. They also help future-proof the web; as browsers evolve, more APIs will be developed for seamless integration. Additionally, web APIs are accessible across platforms.&lt;/p&gt;

&lt;h2&gt;
  
  
  Is it Easy to Get Started with Web APIs?
&lt;/h2&gt;

&lt;p&gt;Yes, it is straightforward. Most web APIs are already integrated into browsers, and supported by robust documentation. Since many are native to the browser, there's no need for third-party libraries or installations. This makes getting started seamless, consistent, and accessible across platforms.&lt;/p&gt;

&lt;h2&gt;
  
  
  Some Web APIs
&lt;/h2&gt;

&lt;p&gt;Web APIs are the cornerstone of the Progressive Web App (PWA) revolution. They form the backbone of improved web functionality and represent the future of web development. Numerous Web APIs are available, and you can find a comprehensive list in the MDN documentation or on web.dev. Below are about 10 Web APIs to help you understand how they work. You can find many more in the MDN docs,web.dev, or via the project fugu documentation.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;WebRTC API&lt;/strong&gt;: Enables real-time audio, video, and data communication directly between browsers without the need for external plugins. It is commonly used for video conferencing and peer-to-peer file sharing.&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%2F1g56swgaakxmionqg625.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%2F1g56swgaakxmionqg625.png" alt="Image description" width="800" height="413"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Web Bluetooth API&lt;/strong&gt;: Allows websites to communicate with Bluetooth-enabled devices, such as fitness trackers, medical devices, and IoT gadgets.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;WebXR API&lt;/strong&gt;: Provides support for immersive technologies like Virtual Reality (VR) and Augmented Reality (AR), allowing developers to create engaging 3D experiences directly in the browser.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;WebSocket API&lt;/strong&gt;: Facilitates full-duplex communication between the client and server, making it ideal for real-time applications like chat systems, live streaming, and collaborative editing.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Push Notification API&lt;/strong&gt;: Enables websites to send timely and relevant notifications to users even when the website is not open in the browser, enhancing user engagement.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Web Share API&lt;/strong&gt;: Provides a standardized way for web apps to share content using native sharing mechanisms, making it easier to share links, files, or text with other applications.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Fetch API&lt;/strong&gt;: Replaces the older XMLHttpRequest and simplifies asynchronous data fetching.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Web Payment API&lt;/strong&gt;: Simplifies the online payment process by offering a consistent interface for users to make payments using various methods, such as credit cards or digital wallets.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Geolocation API&lt;/strong&gt;: Provides access to the geographical location of the user, enabling location-aware functionality like maps, location-based recommendations, or geofencing.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;File System Access API&lt;/strong&gt;: Enables web applications to read from and write to the user’s local file system, creating a native-like experience for file manipulation.&lt;/p&gt;

&lt;h2&gt;
  
  
  WebRTC Demo
&lt;/h2&gt;

&lt;p&gt;WebRTC enables real-time communication, including audio, video, and data-sharing capabilities. For a simple WebRTC demo, you will need:&lt;/p&gt;

&lt;p&gt;index.html&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%2Fcznslh245qaglxxpp0lu.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%2Fcznslh245qaglxxpp0lu.png" alt="Image description" width="800" height="445"&gt;&lt;/a&gt;&lt;br&gt;
app.js&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%2Fpf9k0or5aqfa0d717s3m.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%2Fpf9k0or5aqfa0d717s3m.png" alt="Image description" width="800" height="448"&gt;&lt;/a&gt;&lt;br&gt;
server.js&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%2F0v8uvpe0sneny0knpc3w.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%2F0v8uvpe0sneny0knpc3w.png" alt="Image description" width="800" height="449"&gt;&lt;/a&gt;&lt;br&gt;
WebSocket or HTTP REST API&lt;br&gt;
Inbuilt WebRTC API&lt;br&gt;
Local and remote video elements&lt;br&gt;
Buttons to manage peer connections&lt;br&gt;
WebRTC configurations&lt;/p&gt;

&lt;h2&gt;
  
  
  How It Works
&lt;/h2&gt;

&lt;p&gt;&lt;strong&gt;Access User's Camera and Microphone&lt;/strong&gt;: Create a function to access the user's camera and microphone, displaying the local stream on the local video element.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Peer Connection&lt;/strong&gt;: Implement a function to handle media exchange.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Signaling&lt;/strong&gt;: Simulate sending and receiving data through the signaling server.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Remote Stream Handling&lt;/strong&gt;: Display the remote track in the remote video element.&lt;br&gt;
&lt;strong&gt;ICE Candidates&lt;/strong&gt;: Exchange these candidates with peers to establish a connection.&lt;/p&gt;

&lt;p&gt;Web APIs are the cornerstone of modern web development, enabling developers to build powerful, scalable, and engaging applications. Whether you're exploring &lt;strong&gt;WebRTC&lt;/strong&gt; for real-time communication or leveraging the File System Access API for native-like experiences, the possibilities are vast. Start experimenting today and contribute to the web's progression.&lt;/p&gt;

</description>
      <category>webdev</category>
      <category>web</category>
      <category>programming</category>
      <category>webapi</category>
    </item>
    <item>
      <title>How to Automate Excel Files from APIs with Python and Openpyxl.</title>
      <dc:creator>Michellebuchiokonicha</dc:creator>
      <pubDate>Fri, 16 Aug 2024 06:30:41 +0000</pubDate>
      <link>https://forem.com/michellebuchiokonicha/how-to-automatecreate-update-excel-files-from-apis-with-python-and-openpyxl-2148</link>
      <guid>https://forem.com/michellebuchiokonicha/how-to-automatecreate-update-excel-files-from-apis-with-python-and-openpyxl-2148</guid>
      <description>&lt;p&gt;Automation in programming is the use of programming languages like Python, VBA, and other technology tools to create programs, scripts, or various tools that perform automatic tasks with no manual intervention.&lt;br&gt;
The sole purpose of automating tasks is to avoid manual input and to ensure various systems run by themselves.&lt;/p&gt;

&lt;p&gt;For this article, I will provide a step-by-step guide on how I automated an Excel file, and different sheets on a MacBook, without visual basic for applications, using Python in this case.&lt;/p&gt;

&lt;p&gt;First of all, to get started, you don't need to be a Python dev as I will paste a code snippet here.&lt;/p&gt;
&lt;h2&gt;
  
  
  Tools Required
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;VScode of course&lt;/li&gt;
&lt;li&gt;Python installed/updated&lt;/li&gt;
&lt;li&gt;A virtual environment to run any new installation or updates for your Python code.&lt;/li&gt;
&lt;li&gt;The virtual environment is the .venv. You will see it in your vscode.&lt;/li&gt;
&lt;li&gt;Install openpyxyl&lt;/li&gt;
&lt;li&gt;Install any other necessary dependency.&lt;/li&gt;
&lt;li&gt;Get started.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;The Different Aspects we will be considering:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Creating a new Excel file with python&lt;/li&gt;
&lt;li&gt;Updating an existing Excel file with python
Updating a specific Excel file sheet only with Python&lt;/li&gt;
&lt;li&gt;Using APIs to update Excel files and Excel file sheets.&lt;/li&gt;
&lt;li&gt;Creating a button that allows users to update on click.&lt;/li&gt;
&lt;li&gt;Adding dynamic dates and time in your code&lt;/li&gt;
&lt;li&gt;An alternative to the Excel button is cron or Windows shell&lt;/li&gt;
&lt;li&gt;Instead of VBA, what else is possible?&lt;/li&gt;
&lt;li&gt;Issues faced with writing VBA in a MacBook&lt;/li&gt;
&lt;li&gt;Issues I faced while creating the button&lt;/li&gt;
&lt;li&gt;Why I opted for cron&lt;/li&gt;
&lt;li&gt;Creating this for both Windows and Mac users&lt;/li&gt;
&lt;li&gt;Other tools that can be used for the automation of Excel&lt;/li&gt;
&lt;li&gt;Power query from web feature&lt;/li&gt;
&lt;li&gt;Power automate&lt;/li&gt;
&lt;li&gt;Visual Basic in Excel&lt;/li&gt;
&lt;/ul&gt;
&lt;h2&gt;
  
  
  Creating a new Excel file with python
&lt;/h2&gt;

&lt;p&gt;Creating an Excel sheet in Python with openpyxl is easy.&lt;br&gt;
All you need to do is install openpyxl, pandas, and requests if you are getting data from an API.&lt;br&gt;
Go to the openpyxl documentation to learn how to import it into your application and the packages you want to use.&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;import pandas
import requests
from openpyxl import Workbook, load_workbook
from openpyxl.utils import get_column_letter
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Next up,&lt;br&gt;
you create a new workbook&lt;br&gt;
Set it as the active workbook&lt;br&gt;
Add your title and header and populate the data&lt;br&gt;
Save the new workbook with your preferred Excel name and tada! &lt;br&gt;
you have created your first Excel file.&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;# create a new workbook
wb = Workbook()
ws = wb.active
ws.title = "Data"

ws.append(['Tim', 'Is', 'Great', '!'])
ws.append(['Sam', 'Is', 'Great', '!'])
ws.append(['John', 'Is', 'Great', '!'])
ws.append(['Mimi', 'Is', 'Great', '!'])
wb.save('mimi.xlsx')
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;h2&gt;
  
  
  Creating a new sheet in an Excel file.
&lt;/h2&gt;

&lt;p&gt;Creating a specific sheet in your Excel file is a similar process. however, you need to specify the sheet to be created with a sheetname.&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;# create sheet
wb.create_sheet('Test')
print(wb.sheetnames)
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;h2&gt;
  
  
  Modifying an Excel sheet.
&lt;/h2&gt;

&lt;p&gt;To modify an Excel sheet and not the full file, &lt;/p&gt;

&lt;p&gt;Load the workbook you want to modify&lt;br&gt;
They specify the particular sheet to modify using its name or index. It is safer to use the index in case the name eventually changes.&lt;br&gt;
In the code snippet below, I used the Sheet label&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;# wb = load_workbook('mimi.xlsx')

# modify sheet
ws = wb.active
ws['A1'].value = "Test"
print(ws['A1'].value)
wb.save('mimi.xlsx')
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;h2&gt;
  
  
  Accessing multiple cells
&lt;/h2&gt;

&lt;p&gt;To access multiple cells, &lt;br&gt;
Load the workbook&lt;br&gt;
Make it the active workbook&lt;br&gt;
loop through its rows and columns&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;# Accessing multiple cells
 wb = load_workbook('mimi.xlsx')
 ws = wb.active

 for row in range(1, 11):
     for col in range(1, 5):
         char = get_column_letter(col)
         ws[char + str(row)] = char + str(row)
         print(ws[char + str(row)].value)

 wb.save('mimi.xlsx')
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;h2&gt;
  
  
  Merging Excel cells
&lt;/h2&gt;

&lt;p&gt;To merge different cells in Excel using Python,&lt;br&gt;
Load the workbook&lt;br&gt;
Indicate the active workbook&lt;br&gt;
indicate the cells you want to merge&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;# Merging excel cells
wb = load_workbook('mimi.xlsx')
ws = wb.active

ws.merge_cells("A1:D2")
wb.save("mimi.xlsx")
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;h2&gt;
  
  
  Unmerging cells
&lt;/h2&gt;

&lt;p&gt;To unmerge different cells in Excel using python,&lt;br&gt;
Load the workbook&lt;br&gt;
Indicate the active workbook&lt;br&gt;
indicate the cells you want to unmerge&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;# merging excel cells
wb = load_workbook('mimi.xlsx')
ws = wb.active

ws.unmerge_cells("A1:D1")
wb.save("mimi.xlsx")
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;h2&gt;
  
  
  Inserting new excel cells
&lt;/h2&gt;

&lt;p&gt;To insert new cells&lt;/p&gt;

&lt;p&gt;Load the workbook&lt;br&gt;
Indicate the active workbook&lt;br&gt;
use the insert_rows and insert_columns to insert new rows or new columns based on preference.&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;# inserting cells
wb = load_workbook('mimi.xlsx')
ws = wb. is active

ws.insert_rows(7)
ws.insert_rows(7)

ws.move_range("C1:D11", rows=2, cols=2)
wb.save("mimi.xlsx")
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Updating an existing Excel file with internal Data&lt;br&gt;
Add your arrays and objects and take in the information needed&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;from openpyxl import Workbook, load_workbook
from openpyxl.utils import get_column_letter
from openpyxl.styles import Font

data = {
    "Pam" : {
        "math":65,
        "science": 78,
        "english": 98,
        "gym": 89
    },
    "Mimi" : {
        "math":55,
        "science": 72,
        "english": 88,
        "gym": 77
    },
    "Sid" : {
        "math":100,
        "science": 66,
        "english": 93,
        "gym": 74
    },
    "Love" : {
        "math":77,
        "science": 83,
        "english": 59,
        "gym": 91
    },
}

wb = Workbook()
ws = wb.active
ws.title = "Mock"
headings = ['Name'] + list(data['Joe'].keys())
ws.append(headings)

for a person in data:
    grades = list(data[person].values())
    ws.append([person] + grades)

for col in range(2, len(data['Pam']) + 2):
    char = get_column_letter(col)
    ws[char + '7'] = f"=SUM({char + '2'}:{char + '6'})/{len(data)}"

for col in range(1, 6):
    ws[get_column_letter(col) + '1'].font = Font(bold=True, color="0099CCFF")


wb.save("NewMock.xlsx")
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Updating an existing Excel file with Python and APIs&lt;/p&gt;

&lt;p&gt;To update an Excel file using Python and APIs, you need to call the APIs into your file using a Get request. &lt;br&gt;
Set the active Excel file as described above and then you run your script.&lt;br&gt;
Here is an example of this:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;from openpyxl import Workbook, load_workbook
import requests
from datetime import datetime, timedelta

import schedule
import time

api_url = "https://yourapi"
excel_file = "yourfilename.xlsx"

def fetch_energy_data(offset=0):
    response = requests.get(api_url + f"&amp;amp;offset={offset}")
    data = response.json()

    if response.status_code == 200:
        data = response.json()
        return data["results"], data["total_count"] 
    else:
        print(f"Error fetching data: {response.status_code}")
        return [], 0

def update_excel_data(data):
    try:
        wb = load_workbook(excel_file)
        ws = wb.worksheets[0]  

        for row in range(5, ws.max_row + 1):  
            for col in range(1, 9):  
                ws.cell(row=row, column=col).value = None  

                now = datetime.now()
                current_year = now.year
                current_month = now.month

        start_date = datetime(current_year,current_month, 1) 
        end_date = datetime(current_year, current_month, 24) 

        filtered_data = [
            result
            for result in data
            if start_date &amp;lt;= datetime.fromisoformat(result["datetime"]).replace(tzinfo=None) &amp;lt;= end_date]


        for i, result in enumerate(filtered_data):  
            row = i + 5  
            ws[f"A{row}"] = result["datetime"]
            ws[f"B{row}"] = result["yourinfo"]
            ws[f"C{row}"] = result["yourinfo"]
            ws[f"D{row}"] = result["yourinfo"]
            ws[f"E{row}"] = result["yourinfo"]
            ws[f"F{row}"] = result["yourinfo"]  
            ws[f"G{row}"] = result["yourinfo"]
            ws[f"H{row}"] = result["yourinfo"]

        for row in range(5, ws.max_row + 1):
            ws[f"I{row}"] = ws[f"I{row}"].value  
            ws[f"J{row}"] = ws[f"J{row}"].value  
            ws[f"K{row}"] = ws[f"K{row}"].value  
            ws[f"L{row}"] = ws[f"L{row}"].value  

        wb.save(excel_file)
        print(f"Excel file updated: {excel_file}")
    except FileNotFoundError:
        print(f"Excel file not found: {excel_file}")
    except KeyError:
        print(f"Sheet 'Forecast PV' not found in the Excel file.")
    schedule.every().hour.do(update_excel_data)

    while True:
             schedule.run_pending()

if __name__ == "__main__":
    all_data = []
    offset = 0
    total_count = 0
    while True:
        data, total_count = fetch_energy_data(offset)  
        if not data:
            break
        all_data.extend(data)
        offset += 100  
        if offset &amp;gt;= total_count:  
            break


    update_excel_data(all_data)


To update a particular sheet, use the method mentioned above. best practices are done with the excel sheets index number from 0 till n-1.
as sheet names can change but sheet positions can not change.

 wb = load_workbook(excel_file)
        ws = wb.worksheets[0]
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;ul&gt;
&lt;li&gt;Creating a button that allows users to update on click.
To achieve a button to automatically run your Python script, you need to create a button in your Excel file and write a program using the inbuilt programming language, Visual Basic for applications.
Next, you write a program similar to this. An example of a VBA script is below.
&lt;/li&gt;
&lt;/ul&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;Sub RunPythonScript()
    Dim shell As Object
    Dim pythonExe As String
    Dim scriptPath As String
    Dim command As String

     Path to your Python executable
    pythonExe = "C:\Path\To\Python\python.exe"

     Path to your Python script
    scriptPath = "C:\Path\To\Your\Script\script.py"

     Command to run the Python script
    command = pythonExe &amp;amp; " " &amp;amp; scriptPath

     Create a Shell object and run the command
    Set shell = CreateObject("WScript.Shell")
    shell.Run command, 1, True

     Clean up
    Set shell = Nothing
End Sub
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;the issue with this is some functions do not run in non-windows applications seeing that Excel and VBA are built and managed by Microsoft, there are inbuilt Windows functions for this that can only work on Windows.&lt;/p&gt;

&lt;p&gt;However, if you are not writing a very complicated program, it will run properly.&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Adding dynamic dates and time in your code&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;To achieve dynamic dates and times, you can use the date.now function built into Python.&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;now = datetime.now()
 current_year = now.year
current_month = now.month
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;ul&gt;
&lt;li&gt;An alternative to the Excel button is cron or Windows shell&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;For MacBook users, an alternative to the VBA and button feature, you can use a corn for MacBook and a Windows shell for Windows. to automate your task.&lt;/p&gt;

&lt;p&gt;You can also make use of Google Clouds's scheduler. that allows you to automate tasks.&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Instead of VBA, what else is possible?&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Instead of VBA, direct Python codes can suffice. you can also use the script and run it as required.&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Issues faced while writing VBA in a MacBook&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;The major issue lies in the fact that VBA is a Windows language and hence, has limited functions in a non-windows device.&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Issues I faced while creating the button&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;The same issues are related to the VBA code.&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;&lt;p&gt;Why I opted for cron&lt;br&gt;
I opted for corn because it is available and easy to use to achieve the goals.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Other tools that can be used for the automation of Excel&lt;/p&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Other tools include:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Power query from web feature&lt;/li&gt;
&lt;li&gt;Power automate&lt;/li&gt;
&lt;li&gt;Visual Basic in Excel&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Follow me on Twitter Handle: &lt;a href="https://twitter.com/mchelleOkonicha" rel="noopener noreferrer"&gt;https://twitter.com/mchelleOkonicha&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Follow me on LinkedIn Handle: &lt;a href="https://www.linkedin.com/in/buchi-michelle-okonicha-0a3b2b194/" rel="noopener noreferrer"&gt;https://www.linkedin.com/in/buchi-michelle-okonicha-0a3b2b194/&lt;/a&gt;&lt;br&gt;
Follow me on Instagram: &lt;a href="https://www.instagram.com/michelle_okonicha/" rel="noopener noreferrer"&gt;https://www.instagram.com/michelle_okonicha/&lt;/a&gt;&lt;/p&gt;

</description>
      <category>python</category>
      <category>softwaredevelopment</category>
      <category>automation</category>
      <category>excel</category>
    </item>
    <item>
      <title>Tips for Fixing Bugs and Resolving Code Issues.</title>
      <dc:creator>Michellebuchiokonicha</dc:creator>
      <pubDate>Tue, 30 Jul 2024 01:53:52 +0000</pubDate>
      <link>https://forem.com/michellebuchiokonicha/tips-for-fixing-bugs-and-resolving-code-issues-2kcc</link>
      <guid>https://forem.com/michellebuchiokonicha/tips-for-fixing-bugs-and-resolving-code-issues-2kcc</guid>
      <description>&lt;p&gt;Hey there!&lt;/p&gt;

&lt;p&gt;These tips I have listed have worked for me and helped me resolve issues in my code. I also learn a lot while on it.&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;&lt;p&gt;Understand the issue.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Write down the issue.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Go through the code given twice or more times.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Understand the code and its logic.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Analyze the issue based on the current code.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Device two or more ways to fix it on paper.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Write pseudocode.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Implement pseudocode in your file.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Use Debugging tools&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Use Browser tools for developers like inspect, developer tools, console, etc.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Include error handling at every point&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;If still difficult, discuss this problem with another developer &lt;br&gt;
regardless of the language used.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Sleep on the issue.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Think about the issue deeply.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Go back and fix the issue.&lt;/p&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;
  
  
  Sidenotes:
&lt;/h2&gt;

&lt;p&gt;Research as much as you can. Someone might have fixed this issue previously. So search the internet to help you work seamlessly.&lt;/p&gt;

</description>
      <category>debugg</category>
      <category>softwaredevelopment</category>
      <category>softwareengineering</category>
      <category>testing</category>
    </item>
    <item>
      <title>How to Improve Your Development Workflow with Gemini Code Assist</title>
      <dc:creator>Michellebuchiokonicha</dc:creator>
      <pubDate>Sat, 20 Jul 2024 08:27:05 +0000</pubDate>
      <link>https://forem.com/michellebuchiokonicha/how-to-improve-your-development-workflow-with-gemini-code-assist-10lm</link>
      <guid>https://forem.com/michellebuchiokonicha/how-to-improve-your-development-workflow-with-gemini-code-assist-10lm</guid>
      <description>&lt;p&gt;Have you ever dreamt of building and deploying applications three times faster? Look no further than Gemini Code Assist, an AI assistant from Google that empowers developers and cloud specialists throughout the development lifecycle.&lt;/p&gt;

&lt;h2&gt;
  
  
  What is Gemini Code Assist?
&lt;/h2&gt;

&lt;p&gt;Gemini Code Assist is an AI-powered tool that streamlines the development process for software developers and cloud engineers. It integrates seamlessly with the Google Cloud platform and popular IDEs like Visual Studio Code.&lt;/p&gt;

&lt;p&gt;Gemini Code Assist boasts a variety of features to enhance your coding experience, including:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;&lt;p&gt;Code Completion: It Generates code snippets and functions tailored &lt;br&gt;
to your specific needs.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Code Explanation: You can Gain a deeper understanding of existing &lt;br&gt;
code with clear explanations.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Code Refactoring: It Improves code readability, maintainability, &lt;br&gt;
and performance with suggested optimizations.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Test Case Generation: It Automatically creates unit tests to &lt;br&gt;
ensure code quality.&lt;/p&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;
  
  
  Get Started with Gemini Code Assist
&lt;/h2&gt;

&lt;p&gt;A codelab session is available to guide you through the intricacies of using Gemini Code Assist. Here's a glimpse into what you can achieve:&lt;/p&gt;

&lt;p&gt;&lt;a href="https://codelabs.developers.google.com/codelabs/cloud-code-assist-sdlc#0" rel="noopener noreferrer"&gt;https://codelabs.developers.google.com/codelabs/cloud-code-assist-sdlc#0&lt;/a&gt;&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%2Fa21s6pi0k5x54mb1z9d4.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%2Fa21s6pi0k5x54mb1z9d4.png" alt="Image description" width="800" height="165"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt; API Design: Describe your application's requirements, and Gemini - 
Code Assist will generate an appropriate architecture, complete 
with API routes, ports, and data types. You can even test the 
generated API to verify its functionality.&lt;/li&gt;
&lt;/ul&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%2Fbdxqeipp8opfxl4frzga.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%2Fbdxqeipp8opfxl4frzga.png" alt="Image description" width="800" height="348"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt; Full-Stack Development: Craft full-fledged applications in any 
programming language using natural language prompts. Gemini Code 
Assist can replace existing code, create new files, and cite 
sources for the generated code.&lt;/li&gt;
&lt;/ul&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%2Fyh6vgp0j2vj643mrhkeq.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%2Fyh6vgp0j2vj643mrhkeq.png" alt="Image description" width="800" height="628"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt; Automated Testing: Generate unit tests tailored to your specific 
needs and leverage Gemini Code Assist to help refactor code for 
passing tests.&lt;/li&gt;
&lt;/ul&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%2F0ruwsw73o90f8qaktlf7.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%2F0ruwsw73o90f8qaktlf7.png" alt="Image description" width="800" height="536"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt; Streamlined Deployment: Gemini Code Assist integrates with Google 
Cloud Platform for effortless application deployment, eliminating 
the need for manual configuration.&lt;/li&gt;
&lt;/ul&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%2Fkpbqwnodewbiu1pymafm.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%2Fkpbqwnodewbiu1pymafm.png" alt="Image description" width="800" height="420"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  Benefits of Using Gemini Code Assist
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;&lt;p&gt;Increased Development Speed: Build applications significantly &lt;br&gt;
faster with code generation and completion features.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Improved Code Quality: Write cleaner, more maintainable code with &lt;br&gt;
refactoring suggestions and automated testing.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Reduced Costs: Save time and resources by streamlining &lt;br&gt;
development tasks.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Enhanced Developer Productivity: Focus on core development &lt;br&gt;
activities while Gemini Code Assist handles repetitive tasks.&lt;/p&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;
  
  
  Using Gemini Code Assist
&lt;/h2&gt;

&lt;p&gt;There are two primary ways to leverage Gemini Code Assist:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;&lt;p&gt;Google Cloud Platform: Access Gemini Code Assist directly within &lt;br&gt;
the Google Cloud console for a seamless cloud-based development &lt;br&gt;
experience.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Local IDE Integration: Install the Gemini Code Assist extension &lt;br&gt;
for your IDE (like Visual Studio Code) to enjoy its features &lt;br&gt;
within your familiar development environment.&lt;/p&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;
  
  
  Unique Features of Gemini Code Assist
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;Replace feature: Allows you to replace your existing code without copying and pasting&lt;/li&gt;
&lt;li&gt;The update feature allows you to update and rewrite existing code&lt;/li&gt;
&lt;li&gt;The citation feature: it cites code sources for further use and also allows the developer to know more about the code.&lt;/li&gt;
&lt;li&gt;Explain feature: Explains highlighted code. You need to highlight it and it explains that aspect of code.&lt;/li&gt;
&lt;li&gt;Specific use case: It creates specific use cases unique to the written code.&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;
  
  
  How To Use Gemin Code Assist In your IDE like VSCode
&lt;/h2&gt;

&lt;p&gt;It is very easy and straightforward.&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt; Go to your Visual Studio or the IDE you use&lt;/li&gt;
&lt;li&gt; Go to Extensions&lt;/li&gt;
&lt;li&gt; Search for Gemini Code Assist + Google Cloud Code.&lt;/li&gt;
&lt;/ul&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%2Fwg6vshvoz2n6uvysnuv1.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%2Fwg6vshvoz2n6uvysnuv1.png" alt="Image description" width="800" height="206"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt; Install and enable it&lt;/li&gt;
&lt;li&gt; Click on the icon by the side&lt;/li&gt;
&lt;/ul&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%2F7j6nrkuz3an5arhqtqg7.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%2F7j6nrkuz3an5arhqtqg7.png" alt="Image description" width="428" height="108"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt; Log in or Sign up with your Chrome browser. If Chrome is not your 
default browser, copy it and paste it into your Chrome browser.&lt;/li&gt;
&lt;li&gt; After which you can get started.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;All the features and capabilities Listed above are fully applicable here.&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%2Ftklywg73gdao0qp00aqc.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%2Ftklywg73gdao0qp00aqc.png" alt="Image description" width="675" height="524"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  Conclusion
&lt;/h2&gt;

&lt;p&gt;Gemini Code Assist is a powerful and versatile tool that empowers developers and cloud specialists of all levels. It simplifies coding tasks, improves code quality, and accelerates the development process, allowing you to focus on creating innovative applications.&lt;/p&gt;

&lt;p&gt;Follow me on Twitter Handle: &lt;a href="https://twitter.com/mchelleOkonicha" rel="noopener noreferrer"&gt;https://twitter.com/mchelleOkonicha&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Follow me on LinkedIn Handle: &lt;a href="https://www.linkedin.com/in/buchi-michelle-okonicha-0a3b2b194/" rel="noopener noreferrer"&gt;https://www.linkedin.com/in/buchi-michelle-okonicha-0a3b2b194/&lt;/a&gt;&lt;br&gt;
Follow me on Instagram: &lt;a href="https://www.instagram.com/michelle_okonicha/" rel="noopener noreferrer"&gt;https://www.instagram.com/michelle_okonicha/&lt;/a&gt;&lt;/p&gt;

</description>
      <category>google</category>
      <category>githubcopilot</category>
      <category>softwaredevelopment</category>
      <category>architecture</category>
    </item>
    <item>
      <title>Data Science and the Cloud</title>
      <dc:creator>Michellebuchiokonicha</dc:creator>
      <pubDate>Tue, 18 Jun 2024 16:15:47 +0000</pubDate>
      <link>https://forem.com/michellebuchiokonicha/data-science-in-the-cloud-1hg5</link>
      <guid>https://forem.com/michellebuchiokonicha/data-science-in-the-cloud-1hg5</guid>
      <description>&lt;p&gt;There are many good reasons to move data science projects to the cloud as there are many advantages like highly clustered processes on many machines giving us enormous computing power. &lt;/p&gt;

&lt;p&gt;Also, data science is nothing without data. In a distributed cloud system, our data can be stored and processed reliably even if they are enormous datasets that are also changing constantly. Drawbacks include:&lt;br&gt;
Data science projects in the cloud tend to be more complex especially collaborating in large teams and using many services and technologies. We can however choose from a whole range of services supporting our calms in the cloud ranging from complete managed services to services giving us full control and flexibility of the environment.&lt;/p&gt;

&lt;h2&gt;
  
  
  Provider-Independent services and tools
&lt;/h2&gt;

&lt;p&gt;&lt;strong&gt;MLFlow&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;A framework you will find implemented in most data cloud services independent of the cloud provider. It consists of 4 components, supporting and streamlining our ML projects and helping us conduct them systematically and collaboratively.&lt;/p&gt;

&lt;p&gt;It lets us streamline our ML projects by systematically tracking experiment runs, and easy packaging using Anaconda and Docker.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Tracking:&lt;/strong&gt; This can be used during model training to lock and track model parameters, and KPIs like model performance metrics, experimental models, code version numbers, etc.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Projects:&lt;/strong&gt; can be used to package ML model training and trigger it remotely with varying parameters. Once we are satisfied with the performance of a trained model, we can proceed.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Model:&lt;/strong&gt; register this model with ML flow.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Model registry:&lt;/strong&gt; can be used as a centralized repository to train models and we can use these repositories to deploy models to the production environment easily.&lt;/p&gt;

&lt;p&gt;An applied example of using an ML flow project to share our ML development easily and trigger runs with specific parameters over the network.&lt;br&gt;
For example, someone optimized a Python script to train a machine-learning model. The new model looks very promising but you have to fill in that tweaking a parameter might make the ML model perform even better.&lt;/p&gt;

&lt;p&gt;MLflow project can be used to do this without writing the code again.&lt;br&gt;
Eg, this is the GitHub rep you used.&lt;br&gt;
We have&lt;br&gt;
Data, conda environment, readme file, trained pyscript, license.&lt;br&gt;
The script imports models and defines evaluation metrics&lt;/p&gt;

&lt;h2&gt;
  
  
  Typical MLFLOW workflow:
&lt;/h2&gt;

&lt;h2&gt;
  
  
  Start MLFlow Server
&lt;/h2&gt;

&lt;p&gt;&lt;strong&gt;Coduct and tract run:&lt;/strong&gt; meaning to train models and lock the parameters and modern metrics.&lt;/p&gt;

&lt;p&gt;Evaluate results using graphical user interphase or its SDK to query the best-performing models programmatically. Once satisfied with a model, we register it.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Register model&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;*&lt;em&gt;Model registry *&lt;/em&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Deploy models:&lt;/strong&gt; we deploy a model for inference to a productive system typically equipped with a restful API that we can use to obtain predictions from the model.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Databricks:&lt;/strong&gt; Processing massive amounts of data requires parallel computation on several cluster notes. Spark is a well-known and widely used solution for data processing and data-intensive projects. It is open source but the downside lies in its maintenance and operation overhead. It might not be that simple to set up a spark cluster and keep it running on custom machines. &lt;/p&gt;

&lt;p&gt;If we lack the resources to do this, we can use Databricks.&lt;br&gt;
Databricks is An overreaching technology that many cloud providers(CSP) can host; Databricks was founded in 2013 by some of the founders of Spark. &lt;br&gt;
It is therefore not surprising that the core services offered by DB are managed by spark clusters. &lt;/p&gt;

&lt;p&gt;It is active in open source and hosting the data and AI summit yearly. At its core, it offered managed spark clusters that can be hosted on Azure, AWS GCP, etc.&lt;/p&gt;

&lt;p&gt;Different billing models depend on the cloud platform of choice. But in general, databricks units are used. Depending on the machine, processes, and storage that is used, it is calculated in DBUs. we can also use the community edition at no cost. The managed spark clusters are at the core of Databricks but additional features are designed for data-intensive projects.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Additional features are:&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Lakehouses:&lt;/strong&gt; aims to describe unified data storage that comes with data bricks designed for structured and unstructured data so it can be considered a mixture of a data lake and a data warehouse. It uses files to store the data in a delta lake.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Delta Lake:&lt;/strong&gt; the data storage used in Databricks. It is a distributed datastore but using an elaborate metadata mechanism, delta lake is ACID-compliant.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Delta Live Tables(DLT):&lt;/strong&gt; they automatically propagate underlined data updates and provide a GUI to design and manage DTL pipelines straightforwardly. We can also set up data quality checks in DLT that are automatically conducted regularly. &lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Delta Engine:&lt;/strong&gt; A query optimizer that automatically and periodically optimizes data queries depending on the data access pattern.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Unity Catalog:&lt;/strong&gt; With Unity Catalog, databricks offers an easy-to-use tool for data governance. We can the graphical user interface of the unity catalog or SQL queries to perform data governance tasks for example, we can set role-based access control for a specific dataset.&lt;/p&gt;

&lt;p&gt;Structuring the data in Delta Lake by processing maturing, there are &lt;br&gt;
Bronze, silver, and Gold tables. &lt;br&gt;
Bronze tables: contains raw data as it was loaded from external sources.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Silver tables:&lt;/strong&gt; contain processed data including established joints.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Gold tables:&lt;/strong&gt; contain completely pre-processed data ready for specific use cases like machine learning.&lt;/p&gt;

&lt;p&gt;We can use Python, R, SQL, and scala to develop the ML and data processing logic in scripts, and notebooks or use remote compute targets.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Analysis components&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Databricks SQL:&lt;/strong&gt; similar to spark SQL to use the SQL language to query our data.&lt;/p&gt;

&lt;p&gt;Databricks data science and engineering environment: similar to ML leap in spark. It comes with a prepared environment for typical data science and data engineering use cases. &lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Databricks machine learning environment:&lt;/strong&gt; it uses MLflow to track versions and deploy machine learning models.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Programming languages:&lt;/strong&gt; python, R, SQL, Scala similar to Spark.&lt;br&gt;
AutoML: to automatically perform feature selection, algorithm choice, and hyperparameter toning.&lt;/p&gt;

&lt;h2&gt;
  
  
  Google Data Science and ML services
&lt;/h2&gt;

&lt;p&gt;Services give us maximum control and flexibility of the environment, leaving us with some responsibilities such as security patches and environment maintenance. Eg, we can use compute engines for our data science projects and Google’s cloud-based virtual machines.&lt;/p&gt;

&lt;p&gt;Using containerization instead of VM, we can develop our containerized application for eg model training or inference on a local machine then deploy that container to &lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Cloud compute engine:&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Kubernetes engine:&lt;/strong&gt; the cloud-based container orchestration service on GCP.&lt;br&gt;
&lt;strong&gt;Deep learning VM:&lt;/strong&gt; Specialised VM coming with GPU support and pre-installed libraries that are typically used in data science projects.&lt;/p&gt;

&lt;p&gt;All Cloud providers offer specialized ML services giving us more comfort and managing some tedious maintenance tasks for us but also taking a little bit of control and flexibility. &lt;/p&gt;

&lt;p&gt;On the Google platform, the specialized ML service is called cloud AI/ vertex AI being the main component. They include:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Dataflow&lt;/li&gt;
&lt;li&gt;Composer&lt;/li&gt;
&lt;li&gt;Dataproc&lt;/li&gt;
&lt;li&gt;Bigquery&lt;/li&gt;
&lt;li&gt;Google Cloud AI for ML training etc&lt;/li&gt;
&lt;li&gt;Google Cloud console&lt;/li&gt;
&lt;li&gt;Vertex AI workbench&lt;/li&gt;
&lt;li&gt;Vertex AI formerly datalab.&lt;/li&gt;
&lt;li&gt;Auto ML&lt;/li&gt;
&lt;li&gt;API endpoints&lt;/li&gt;
&lt;li&gt;Visual reporting&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;strong&gt;Ready-to-use services on GCP:&lt;/strong&gt; they can be used by calling the standardized restful APIs to obtain model predictions by pretraining machine learning models hosted on GCP. eg we can use the speech-tech API to send the sound file to that service and receive the transcribed text.&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Natural language AI&lt;/li&gt;
&lt;li&gt;Teachable machine&lt;/li&gt;
&lt;li&gt;Dialogflow&lt;/li&gt;
&lt;li&gt;Translations&lt;/li&gt;
&lt;li&gt;Speech-to-text&lt;/li&gt;
&lt;li&gt;Text-to-speech&lt;/li&gt;
&lt;li&gt;Timeseries insights API&lt;/li&gt;
&lt;li&gt;Vision AI&lt;/li&gt;
&lt;li&gt;Video AI&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;
  
  
  Data science and ML services on AWS
&lt;/h2&gt;

&lt;p&gt;Same as on GCP, there are services maximizing control and others suitable for more comfort and instant application. Example,&lt;br&gt;
Cloud-based VM called EC2.&lt;/p&gt;

&lt;p&gt;Deploying containers to elastic container service ECS/Elastic kubernetes service EKS&lt;br&gt;
And Elastic map reduce EMR&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Specialized ML Service&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;It is called *&lt;em&gt;SageMaker: *&lt;/em&gt;&lt;br&gt;
Sagemaker is a service family of an entire collection of sub-services dedicated to supporting typical DS and ML projects. eg, there are graphical user interfaces, auxiliary services for data wrangling, data labeling, prepared scripts and templates, and also auto ML features.&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Notebook instances&lt;/li&gt;
&lt;li&gt;Data labeling&lt;/li&gt;
&lt;li&gt;Data wrangler&lt;/li&gt;
&lt;li&gt;Feature Store&lt;/li&gt;
&lt;li&gt;Clarify&lt;/li&gt;
&lt;li&gt;Pipelines&lt;/li&gt;
&lt;li&gt;Studio&lt;/li&gt;
&lt;li&gt;Jumpstart&lt;/li&gt;
&lt;li&gt;Canvas&lt;/li&gt;
&lt;li&gt;Autopilot&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;strong&gt;Ready to use services on AWS:&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;Translate, transcribe, computer vision, and other services being pre-trained ML models that are callable for restful APIs for inference.&lt;br&gt;
The computer vision API here includes:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Comprehend&lt;/li&gt;
&lt;li&gt;Rekognition&lt;/li&gt;
&lt;li&gt;Lookout for vision, panorama&lt;/li&gt;
&lt;li&gt;Textract&lt;/li&gt;
&lt;li&gt;A2I&lt;/li&gt;
&lt;li&gt;Personalize&lt;/li&gt;
&lt;li&gt;Translate, Transcribe&lt;/li&gt;
&lt;li&gt;Polly, Lex&lt;/li&gt;
&lt;li&gt;Forecast&lt;/li&gt;
&lt;li&gt;Fraud Detector&lt;/li&gt;
&lt;li&gt;Lookout for Metrics&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Kendra&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Auxillary services are DevOps Guru and Code Guru.&lt;/p&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;
  
  
  Data science and ML services on Microsoft Azure.
&lt;/h2&gt;

&lt;p&gt;&lt;strong&gt;VM:&lt;/strong&gt; For maximum control and flexibility, we can use Azure VMs to decide how to create and manage our development environment.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;ACI/AKS:&lt;/strong&gt; we can use Azure container instance ACI for containerized model training for testing purposes then use Azure Kubernetes service AKS for production settings.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;HDInsight:&lt;/strong&gt; A managed service for technology.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Databricks:&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Synapse Analytics:&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Specialized ML service.&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;This is called Azure Machine Learning. Similar to AWS sagemaker, Azure ML comprises several sub-services for example the GUI called designer and auxiliary services for data labeling and other features.&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Azure machine learning&lt;/li&gt;
&lt;li&gt;Studio&lt;/li&gt;
&lt;li&gt;Workspace&lt;/li&gt;
&lt;li&gt;Notebooks/RStudio&lt;/li&gt;
&lt;li&gt;Data labelling&lt;/li&gt;
&lt;li&gt;Designer&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;strong&gt;Ready-to-use services on Azure.&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;Giving us maximum comfort and usability of pre-trained models callable by restful APIs. These services are called cognitive services and they include:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Computer vision, Face&lt;/li&gt;
&lt;li&gt;Azure cognitive service for language &lt;/li&gt;
&lt;li&gt;Language understanding models, &lt;/li&gt;
&lt;li&gt;Translators, and other services.&lt;/li&gt;
&lt;li&gt;QnA Maker, Translator&lt;/li&gt;
&lt;li&gt;Speech Service&lt;/li&gt;
&lt;li&gt;Anomaly Detector&lt;/li&gt;
&lt;li&gt;Content Moderator&lt;/li&gt;
&lt;li&gt;Personalizer&lt;/li&gt;
&lt;li&gt;Cognitive Services for Big Data&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Note: This is a 4-fold series on cloud computing, virtualization, containerization, and data processing.&lt;br&gt;
Check the remaining 3 articles on my blog.&lt;/p&gt;

&lt;p&gt;This is the fourth. Here is the link to the third.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://dev.to/michellebuchiokonicha/cloud-computing-platforms-4667"&gt;https://dev.to/michellebuchiokonicha/cloud-computing-platforms-4667&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;it focuses on cloud platforms.&lt;/p&gt;

&lt;p&gt;Follow me on Twitter Handle: &lt;a href="https://twitter.com/mchelleOkonicha" rel="noopener noreferrer"&gt;https://twitter.com/mchelleOkonicha&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Follow me on LinkedIn Handle: &lt;a href="https://www.linkedin.com/in/buchi-michelle-okonicha-0a3b2b194/" rel="noopener noreferrer"&gt;https://www.linkedin.com/in/buchi-michelle-okonicha-0a3b2b194/&lt;/a&gt;&lt;br&gt;
Follow me on Instagram: &lt;a href="https://www.instagram.com/michelle_okonicha/" rel="noopener noreferrer"&gt;https://www.instagram.com/michelle_okonicha/&lt;/a&gt;&lt;/p&gt;

</description>
      <category>datascience</category>
      <category>cloudcomputing</category>
      <category>ai</category>
      <category>softwaredevelopment</category>
    </item>
    <item>
      <title>Cloud Computing Platforms</title>
      <dc:creator>Michellebuchiokonicha</dc:creator>
      <pubDate>Mon, 17 Jun 2024 16:40:01 +0000</pubDate>
      <link>https://forem.com/michellebuchiokonicha/cloud-computing-platforms-4667</link>
      <guid>https://forem.com/michellebuchiokonicha/cloud-computing-platforms-4667</guid>
      <description>&lt;h2&gt;
  
  
  Introduction
&lt;/h2&gt;

&lt;p&gt;When moving to the cloud, we can use the services one of many CSPs offers. we can only choose the service optimal for our use case if we know what services are available. &lt;/p&gt;

&lt;p&gt;Interapobaility has become increasingly important in today's inter-connected world, it is common for organizations to use multi-cloud strategies integrating cloud services by several cloud providers or with existing on-premise infrastructure.&lt;/p&gt;

&lt;p&gt;Furthermore, to prevent vendor lock-in, we should be aware of the various offerings by competing cloud providers to stay flexible. There are many more reasons why we should learn what the different providers offer such as security and compliance, innovation and new services, ecosystem integration, performance optimization, scalability and flexibility, technical support, etc.&lt;br&gt;
Here we will discuss some of the most frequently used services offered by the big three cloud providers to enable us to choose what is best for our situation. This applies to everyone using the cloud including data scientists, cloud architects and consultants, cloud developers and engineers and so many more.&lt;/p&gt;

&lt;h2&gt;
  
  
  Terminologies Defined
&lt;/h2&gt;

&lt;p&gt;&lt;strong&gt;Cloud Platform:&lt;/strong&gt; An abstraction layer that can be used to provision resources and as a starting point for cloud development.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Cloud service provider:&lt;/strong&gt; A corporation running many data centers worldwide and offering services based on this service for rent.&lt;/p&gt;

&lt;p&gt;There are many CSPs but three of them, due to their considerable market share are the most popular.&lt;/p&gt;

&lt;h2&gt;
  
  
  Amazon web services
&lt;/h2&gt;

&lt;p&gt;It started in 2006, is one of the oldest CSPs, and has the biggest market share. Compute services include:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Elastic compute cloud(EC2)&lt;/li&gt;
&lt;li&gt;Virtual Private Cloud (VPC)&lt;/li&gt;
&lt;li&gt;Simple Storage Service (S3)&lt;/li&gt;
&lt;li&gt;Relational Database Service(RDS)&lt;/li&gt;
&lt;li&gt;Lambda&lt;/li&gt;
&lt;li&gt;Kinesis&lt;/li&gt;
&lt;li&gt;Elastic Map Reduce EMR&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Others include:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Route 53, &lt;/li&gt;
&lt;li&gt;Simple Notification Service(SQS), &lt;/li&gt;
&lt;li&gt;Elastic Load Balancer&lt;/li&gt;
&lt;li&gt;Network firewall.&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;
  
  
  Data security and protection
&lt;/h2&gt;

&lt;p&gt;Considering some thoughts into which availability zone should be used to deploy a resource can contribute to data protection. Moreso, data being redundant in many zones can mitigate data loss and support data failover. &lt;/p&gt;

&lt;p&gt;On the other hand, limiting the &lt;br&gt;
geographical location to which data can be stored and processed can ensure that this falls under one jurisdiction or another.&lt;/p&gt;

&lt;p&gt;As far as monitoring control and encryption services are concerned, there are:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;&lt;p&gt;CloudTrail, Macie, CLoudHSM, Key Management service(KMS), cloud Tower&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;GuardDuty, Nitro system&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;ISO compliance for cloud security, privacy information management, and cloud privacy.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;VPC&lt;/p&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;
  
  
  Pricing and costs
&lt;/h2&gt;

&lt;p&gt;Most services are offered on a pay-as-you-go basis.&lt;/p&gt;

&lt;p&gt;There are 12 months when we can try services and some services are free.&lt;/p&gt;

&lt;h2&gt;
  
  
  Certifications
&lt;/h2&gt;

&lt;p&gt;They run certification programs to become associates and then professionals.&lt;/p&gt;

&lt;h2&gt;
  
  
  Microsoft Azure
&lt;/h2&gt;

&lt;p&gt;It started as the Windows Azure platform in 2010 then became Microsoft Azure in 2014. The virtual machines in Azure are called virtual machines and its services include:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Virtual machine&lt;/li&gt;
&lt;li&gt;Kubernetes services&lt;/li&gt;
&lt;li&gt;Container Instance&lt;/li&gt;
&lt;li&gt;Blob storage: Used for object storage&lt;/li&gt;
&lt;li&gt;Azure SQL: cloud version of Microsoft SQL Server, a relational database.&lt;/li&gt;
&lt;li&gt;Azure Functions: the serverless compute service here is called Azure Functions.&lt;/li&gt;
&lt;li&gt;DNS, notification hubs, load balancer, and firewall: &lt;/li&gt;
&lt;li&gt;Azure machine learning: provides abstraction for data connection&lt;/li&gt;
&lt;li&gt;Azure Databricks for big data processing&lt;/li&gt;
&lt;li&gt;HDInsight&lt;/li&gt;
&lt;li&gt;Data Factory&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;
  
  
  Data security and protection
&lt;/h2&gt;

&lt;p&gt;Azure has ways of ensuring security and protection. &lt;br&gt;
They include:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Access management in Azure Active Directory: &lt;/li&gt;
&lt;li&gt;Data Encryption at rest and in transit&lt;/li&gt;
&lt;li&gt;Virtual Private Network(VPN, VNet)&lt;/li&gt;
&lt;li&gt;Security center&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;
  
  
  Pricing and Costs
&lt;/h2&gt;

&lt;p&gt;Some services are free and it is for 12v months, pay as you go. You can also save costs by making long-term commitments and using either resource.&lt;/p&gt;

&lt;h2&gt;
  
  
  Certifications
&lt;/h2&gt;

&lt;p&gt;There are certifications to become experts from associates to professionals.&lt;/p&gt;

&lt;h2&gt;
  
  
  Google Cloud Platform
&lt;/h2&gt;

&lt;p&gt;It started in 2011 with the cloud computing engine which is Google Virtual Machines.&lt;br&gt;
Its services include:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Cloud VPC: Virtual private cloud services&lt;/li&gt;
&lt;li&gt;App Engine&lt;/li&gt;
&lt;li&gt;Kubernetes Engine: containers as a service&lt;/li&gt;
&lt;li&gt;Compute engine&lt;/li&gt;
&lt;li&gt;BigQuery&lt;/li&gt;
&lt;li&gt;Dataflow&lt;/li&gt;
&lt;li&gt;Pub/Sub&lt;/li&gt;
&lt;li&gt;Cloud storage: This is Google object storage&lt;/li&gt;
&lt;li&gt;Cloud Spanner: A distributed relational database service providing transactional consistency&lt;/li&gt;
&lt;li&gt;Cloud Functions: Google serverless computing service &lt;/li&gt;
&lt;li&gt;Cloud DNS, Cloud Pub/Sub, cloud load balancing&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;
  
  
  Data security and protection
&lt;/h2&gt;

&lt;p&gt;They use various ways to ensure security like:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Encryption at rest and in transit&lt;/li&gt;
&lt;li&gt;ISO standards for cloud security, privacy, and regulatory compliance.&lt;/li&gt;
&lt;li&gt;VPC - virtual private cloud&lt;/li&gt;
&lt;li&gt;Security command center&lt;/li&gt;
&lt;li&gt;Identity and access management&lt;/li&gt;
&lt;li&gt;Firewalls&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;
  
  
  Pricing and costs
&lt;/h2&gt;

&lt;p&gt;Similar to the other providers, 12 months and pay as you go. There are also free tier offerings.&lt;/p&gt;

&lt;p&gt;The largest cloud players are: &lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;AWS&lt;/li&gt;
&lt;li&gt;Azure&lt;/li&gt;
&lt;li&gt;Google&lt;/li&gt;
&lt;li&gt;Alibaba Cloud&lt;/li&gt;
&lt;li&gt;IBM&lt;/li&gt;
&lt;li&gt;Salesforce&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;
  
  
  Gartner Magic Quadrant
&lt;/h2&gt;

&lt;p&gt;It divides the market into Challengers, Leaders, Niche Players, Visionaries&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Leaders: AWS, Azure, Google&lt;/li&gt;
&lt;li&gt;Niche players: IBM&lt;/li&gt;
&lt;li&gt;Visionaries: Alibaba cloud&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;
  
  
  Criteria to consider when choosing a suitable cloud provider
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;Company strategy&lt;/li&gt;
&lt;li&gt;Regulatory Compliance&lt;/li&gt;
&lt;li&gt;Regional presence&lt;/li&gt;
&lt;li&gt;Technologies and service roadmap&lt;/li&gt;
&lt;li&gt;Performance and reliability&lt;/li&gt;
&lt;li&gt;Availability and SLA&lt;/li&gt;
&lt;li&gt;Billing models and costs&lt;/li&gt;
&lt;li&gt;Flexibility&lt;/li&gt;
&lt;li&gt;Support&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;
  
  
  Cloud reference architectures
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;Azure architectures&lt;/li&gt;
&lt;li&gt;AWS reference architecture&lt;/li&gt;
&lt;li&gt;Google Cloud reference architecture&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Note: This is a 4-fold series on cloud computing, virtualization, containerization, and data processing.&lt;br&gt;
Check the remaining 3 articles on my blog.&lt;/p&gt;

&lt;p&gt;This is the third. Here is the link to the second.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://dev.to/michellebuchiokonicha/virtualization-containerization-with-docker-storage-and-network-services-2bjf/edit"&gt;https://dev.to/michellebuchiokonicha/virtualization-containerization-with-docker-storage-and-network-services-2bjf/edit&lt;/a&gt;&lt;br&gt;
it focuses on docker, containerization, virtualization, storage technologies, and network services.&lt;/p&gt;

&lt;p&gt;Follow me on Twitter Handle: &lt;a href="https://twitter.com/mchelleOkonicha" rel="noopener noreferrer"&gt;https://twitter.com/mchelleOkonicha&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Follow me on LinkedIn Handle: &lt;a href="https://www.linkedin.com/in/buchi-michelle-okonicha-0a3b2b194/" rel="noopener noreferrer"&gt;https://www.linkedin.com/in/buchi-michelle-okonicha-0a3b2b194/&lt;/a&gt;&lt;br&gt;
Follow me on Instagram: &lt;a href="https://www.instagram.com/michelle_okonicha/" rel="noopener noreferrer"&gt;https://www.instagram.com/michelle_okonicha/&lt;/a&gt;&lt;/p&gt;

</description>
      <category>cloud</category>
      <category>softwaredevelopment</category>
      <category>aws</category>
      <category>gcp</category>
    </item>
  </channel>
</rss>
