<?xml version="1.0" encoding="utf-8"?>
<feed xmlns="http://www.w3.org/2005/Atom">
  <title>Tosin Amuda — Blog</title>
  <subtitle>Software Engineer, Product Engineer, and AI Engineer building digital products and practical technical writing.</subtitle>
  <link rel="self" type="application/atom+xml" href="https://www.tosinamuda.com/feed.xml" />
  <link rel="alternate" type="text/html" href="https://www.tosinamuda.com/blog/" />
  <id>https://www.tosinamuda.com/</id>
  <updated>2026-04-24T07:47:16.110Z</updated>
  <author><name>Tosin Amuda</name></author>
  <entry>
    <title>2023: A Journey through Loss and Resilience</title>
    <link rel="alternate" type="text/html" href="https://www.tosinamuda.com/blog/2023-a-journey-through-loss-and-resilience.html" />
    <id>https://www.tosinamuda.com/blog/2023-a-journey-through-loss-and-resilience.html</id>
    <updated>2023-12-31T00:00:00.000Z</updated>
    <published>2023-12-31T00:00:00.000Z</published>
    <summary>A deeply personal reflection on navigating grief, loss, and professional growth throughout 2023, highlighting the importance of family, faith, and resilience in the face of profound challenges.</summary>
    <content type="html">&lt;p&gt;A deeply personal reflection on navigating grief, loss, and professional growth throughout 2023, highlighting the importance of family, faith, and resilience in the face of profound challenges.&lt;/p&gt;&lt;p&gt;In the ebbing moments of each passing year, we find ourselves reflecting on the memories that have etched themselves onto the canvas of our lives. Some of these memories shine brightly, while others are shadowed by sorrow. As 2023 draws to a close, my family and I find ourselves leaning heavily on the somber side, marked by the profound loss of my mother. Her departure has left an indelible mark on our hearts, reminding us of the fragility of life and the importance of cherishing every moment.&lt;/p&gt;

  &lt;p&gt;Let&apos;s rewind a bit to 2022&apos;s Christmas. My wife and I orchestrated a surprise for my parents, appearing unannounced on Christmas day after claiming we wouldn&apos;t make it. The joy reflected on the faces of my mum, dad, siblings, and cousins was heartwarming. Given my work in Lagos, a six-hour journey from home, such visits occur just once a year. The weight of this reality struck me when I stumbled on the thought that annual visits translate to only a small number of opportunities before a parent&apos;s passing. Considering my mum&apos;s age of 60, that realization suddenly felt urgent.&lt;/p&gt;

  &lt;p&gt;Intentions to alter this pattern and increase visit frequency were futile. Last year&apos;s Christmas became the final chapter of face-to-face moments with my mum. Her health declined, and she eventually passed away, leaving a profound void in our lives.&lt;/p&gt;

  &lt;p&gt;Returning home this Christmas, I held onto the hope that my mum would once again revel in the joy of our presence. Deep down, I knew it was a wishful thought, but the longing to feel that happiness again was strong.&lt;/p&gt;

  &lt;h2 id=&quot;finding-light-in-the-darkness&quot;&gt;&lt;a href=&quot;#finding-light-in-the-darkness&quot; class=&quot;heading-link&quot;&gt;Finding Light in the Darkness&lt;/a&gt;&lt;/h2&gt;

  &lt;p&gt;In the storm of grief, my Christian faith and close friendships were my guiding lights. They helped me through the darkest times after my mother&apos;s passing. The lesson of acceptance, rooted in my faith, became vital. My wife&apos;s embrace, the bonds with family, and the support from the Ajisafes, Fagbemis, Amudas, and our extended clans from Oka and Erijiyan were my anchors. They offered comfort when I needed it most.&lt;/p&gt;

  &lt;p&gt;My Christian faith background was a rock during this time. But I also found wisdom in Buddhist philosophy. It taught me to separate life from achievements and accept the sorrows that come with being human. The idea of finding joy in helping others became a guide for me. It showed me how our lives are connected and why compassion is key in navigating life&apos;s challenges.&lt;/p&gt;

  &lt;h2 id=&quot;professional-triumphs-amid-personal-trials&quot;&gt;&lt;a href=&quot;#professional-triumphs-amid-personal-trials&quot; class=&quot;heading-link&quot;&gt;Professional Triumphs Amid Personal Trials&lt;/a&gt;&lt;/h2&gt;

  &lt;p&gt;In the midst of my grief, I found solace in my work. Pouring myself into work became a way to cope with the loss of my mother. In 2023, my team and I achieved great things. We launched several apps and introduced generative AI to our customers. I honed my frontend skills and revived my Python expertise. I even built a Python library for LLM work and spoke at Datafest.&lt;/p&gt;

  &lt;p&gt;Being the only African and Black member of the global engineering team at the Innovation Studio fills me with pride. This year also marked my fourth anniversary with IBM, a journey from Lagos to a key role in the global team.&lt;/p&gt;

  &lt;h2 id=&quot;reflections-on-a-year-of-contrasts&quot;&gt;&lt;a href=&quot;#reflections-on-a-year-of-contrasts&quot; class=&quot;heading-link&quot;&gt;Reflections on a Year of Contrasts&lt;/a&gt;&lt;/h2&gt;

  &lt;p&gt;Looking back, 2023 was a year of contrasts. The loss of my mother cast a heavy shadow, but the warmth of family, friends, and work achievements lit the way forward.&lt;/p&gt;

  &lt;p&gt;This year has been a delicate dance of pain and joy, revealing the resilience of the human spirit and the enduring power of love, even in the face of profound loss.&lt;/p&gt;</content>
    <author><name>Tosin Amuda</name></author>
  </entry>
  <entry>
    <title>Interesting Concept I Picked Up — Eliminate Stupid Mental Effort (ESME)</title>
    <link rel="alternate" type="text/html" href="https://www.tosinamuda.com/blog/interesting-concept-eliminate-stupid-mental-effort-esme.html" />
    <id>https://www.tosinamuda.com/blog/interesting-concept-eliminate-stupid-mental-effort-esme.html</id>
    <updated>2020-12-20T00:00:00.000Z</updated>
    <published>2020-12-20T00:00:00.000Z</published>
    <summary>I discovered Andela&apos;s Eliminate Stupid Mental Effort concept in 2019, a refreshing perspective for Nigerian developers. ESME addresses the unnecessary mental exertion we endure daily, much like enduring Lagos traffic.</summary>
    <content type="html">&lt;p&gt;I discovered Andela&apos;s Eliminate Stupid Mental Effort concept in 2019, a refreshing perspective for Nigerian developers. ESME addresses the unnecessary mental exertion we endure daily, much like enduring Lagos traffic.&lt;/p&gt;&lt;p&gt;Sometimes in 2019, I stumbled on &lt;a href=&quot;https://github.com/andela/bestpractices/wiki&quot;&gt;Andela Best Practices&lt;/a&gt; on GitHub and, for me, it was the closest you could get to an Andela education if you did not pass through Andela.&lt;/p&gt;

  &lt;p&gt;One of the very interesting concepts in their best practices is &lt;a href=&quot;https://github.com/andela/bestpractices/wiki/Eliminate-Stupid-Mental-Effort-(ESME)&quot;&gt;Eliminate Stupid Mental Effort (ESME)&lt;/a&gt;. I found the concept profound because it recognizes the environment we live in as Nigerian developers and the things we may have internalized while growing up in Nigeria that could affect the way we work.&lt;/p&gt;

  &lt;p&gt;To understand this concept, you first need to understand &lt;strong&gt;stupid mental effort&lt;/strong&gt;.&lt;/p&gt;

  &lt;p&gt;Let&apos;s look at a typical Lagosian life. Some people say in Lagos it is 5-9 and not 9-5.&lt;/p&gt;

  &lt;p&gt;You leave your house very early by 5AM to beat traffic and get to work on time. You struggle to enter public transport. Then you spend about 3 hours in traffic, and going back home can be even worse.&lt;/p&gt;

  &lt;p&gt;As inconvenient as this way of life is, Lagosians have become used to it because this is what they experience constantly and it has become the norm.&lt;/p&gt;

  &lt;p&gt;I remember a conversation with my friend who was in Rwanda for grad school. She complained that she could not get used to life in Rwanda because things felt slower compared to Lagos.&lt;/p&gt;

  &lt;p&gt;The problem with getting used to inconvenience is that when things become convenient we think something must be wrong, so we tend to do things the harder way.&lt;/p&gt;

  &lt;h2 id=&quot;what-are-the-possible-stupid-mental-efforts-you-can-encounter-as-a-developer&quot;&gt;&lt;a href=&quot;#what-are-the-possible-stupid-mental-efforts-you-can-encounter-as-a-developer&quot; class=&quot;heading-link&quot;&gt;What are the possible stupid mental efforts you can encounter as a developer?&lt;/a&gt;&lt;/h2&gt;

  &lt;ol&gt;
    &lt;li&gt;&lt;strong&gt;Using HTTPS instead of SSH to clone your repository.&lt;/strong&gt; When you clone with HTTPS, every remote Git operation asks again for username and password. That repeated friction can be avoided by cloning with SSH.&lt;/li&gt;
    &lt;li&gt;&lt;strong&gt;Manual testing and deployment instead of using a CI/CD pipeline.&lt;/strong&gt; Manually running tests and deploying code is time-consuming and error-prone when it can be automated.&lt;/li&gt;
  &lt;/ol&gt;

  &lt;p&gt;Andela puts it strongly: if you bring a mentality of being okay with inconvenience, or stupid mental effort, to your job as a software developer, you will never achieve greatness.&lt;/p&gt;

  &lt;h2 id=&quot;how-do-you-avoid-wasting-your-mental-energy-on-stupid-mental-effort&quot;&gt;&lt;a href=&quot;#how-do-you-avoid-wasting-your-mental-energy-on-stupid-mental-effort&quot; class=&quot;heading-link&quot;&gt;How do you avoid wasting your mental energy on stupid mental effort?&lt;/a&gt;&lt;/h2&gt;

  &lt;p&gt;You must enter the &lt;strong&gt;lazy programmer mode&lt;/strong&gt; where you automate repetitive activities that waste your mental energy or find alternative solutions that make you more productive.&lt;/p&gt;

  &lt;p&gt;Which other stupid mental efforts can you think of, and how do you think we can address them as developers?&lt;/p&gt;</content>
    <author><name>Tosin Amuda</name></author>
  </entry>
  <entry>
    <title>Understanding Serverless using a Restaurant Server Analogy</title>
    <link rel="alternate" type="text/html" href="https://www.tosinamuda.com/blog/understanding-serverless-using-restaurant-server-analogy.html" />
    <id>https://www.tosinamuda.com/blog/understanding-serverless-using-restaurant-server-analogy.html</id>
    <updated>2020-03-11T00:00:00.000Z</updated>
    <published>2020-03-11T00:00:00.000Z</published>
    <summary>A simple explanation of the serverless cloud model using the analogy of two different types of restaurants: traditional busy restaurants versus futuristic clone-based service.</summary>
    <content type="html">&lt;p&gt;A simple explanation of the serverless cloud model using the analogy of two different types of restaurants: traditional busy restaurants versus futuristic clone-based service.&lt;/p&gt;&lt;p&gt;I will try to explain the &lt;strong&gt;serverless cloud model&lt;/strong&gt; using the analogy of two kinds of restaurants.&lt;/p&gt;

  &lt;h2 id=&quot;busy-restaurant-with-a-typical-server&quot;&gt;&lt;a href=&quot;#busy-restaurant-with-a-typical-server&quot; class=&quot;heading-link&quot;&gt;Busy restaurant with a typical server&lt;/a&gt;&lt;/h2&gt;

  &lt;p&gt;Imagine you walk into a busy restaurant and notice that there are more orders than servers. Requests are handled first come, first served, and when demand spikes, wait times increase.&lt;/p&gt;

  &lt;p&gt;That is similar to a traditional server-based model in the cloud. One server attends to several workloads, and even when load balancing spreads the traffic, the system still depends on pre-provisioned servers.&lt;/p&gt;

  &lt;h2 id=&quot;restaurant-of-the-future-serverless&quot;&gt;&lt;a href=&quot;#restaurant-of-the-future-serverless&quot; class=&quot;heading-link&quot;&gt;Restaurant of the future: serverless&lt;/a&gt;&lt;/h2&gt;

  &lt;p&gt;Now imagine a restaurant that employs a human clone outsourcing company. Every time a new order arrives, a fresh server-clone is created, assigned to that order, and destroyed as soon as the work is done.&lt;/p&gt;

  &lt;p&gt;That is the shape of serverless. A function or container image exists, and the cloud platform spins up a new execution environment for each request or event trigger.&lt;/p&gt;

  &lt;p&gt;Cloud platforms that offer serverless services let you write code in your preferred language without worrying about where to host it or how to scale it. The platform handles that operational layer for you.&lt;/p&gt;

  &lt;h2 id=&quot;what-are-the-benefits-of-serverless&quot;&gt;&lt;a href=&quot;#what-are-the-benefits-of-serverless&quot; class=&quot;heading-link&quot;&gt;What are the benefits of serverless?&lt;/a&gt;&lt;/h2&gt;

  &lt;ol&gt;
    &lt;li&gt;It is one of the cheapest models in the cloud because you only pay when your code executes.&lt;/li&gt;
    &lt;li&gt;You do not have to worry about scaling, because each invocation gets the compute it needs.&lt;/li&gt;
    &lt;li&gt;You do not have to manage server tuning, configuration, or maintenance.&lt;/li&gt;
  &lt;/ol&gt;

  &lt;h2 id=&quot;what-kinds-of-use-cases-benefit-from-serverless&quot;&gt;&lt;a href=&quot;#what-kinds-of-use-cases-benefit-from-serverless&quot; class=&quot;heading-link&quot;&gt;What kinds of use cases benefit from serverless?&lt;/a&gt;&lt;/h2&gt;

  &lt;ol&gt;
    &lt;li&gt;Event-based notification work, such as sending emails or SMS messages after user registration, or generating PDFs from reports.&lt;/li&gt;
    &lt;li&gt;Time-based triggers, such as scheduled tasks that send birthday messages or generate monthly reports.&lt;/li&gt;
  &lt;/ol&gt;

  &lt;p&gt;Popular serverless platforms include:&lt;/p&gt;

  &lt;ol&gt;
    &lt;li&gt;AWS Lambda&lt;/li&gt;
    &lt;li&gt;Google Cloud Functions&lt;/li&gt;
    &lt;li&gt;Azure Functions&lt;/li&gt;
    &lt;li&gt;IBM Cloud Functions&lt;/li&gt;
  &lt;/ol&gt;

  &lt;p&gt;The main value of serverless is not novelty. It is the removal of infrastructure work that does not need to sit in the developer&apos;s head.&lt;/p&gt;</content>
    <author><name>Tosin Amuda</name></author>
  </entry>
  <entry>
    <title>Today&apos;s Sci-fi and Tomorrow&apos;s Reality: 4 Future Technologies You Will Not Believe</title>
    <link rel="alternate" type="text/html" href="https://www.tosinamuda.com/blog/todays-sci-fi-and-tomorrows-reality-4-future-technologies.html" />
    <id>https://www.tosinamuda.com/blog/todays-sci-fi-and-tomorrows-reality-4-future-technologies.html</id>
    <updated>2020-03-11T00:00:00.000Z</updated>
    <published>2020-03-11T00:00:00.000Z</published>
    <summary>Explore four groundbreaking technologies that are transforming from science fiction into reality: Internet of Things, Project Glass, driverless cars, and 3D printing.</summary>
    <content type="html">&lt;p&gt;Explore four groundbreaking technologies that are transforming from science fiction into reality: Internet of Things, Project Glass, driverless cars, and 3D printing.&lt;/p&gt;&lt;p&gt;The movie &amp;quot;The Social Network&amp;quot; before 21st century might have been a science-fiction (sci-fi); however, it turned out to be a real story. This is because prior to the 21st century, there was almost nothing like social networking, no video conferencing, maybe it was in a 1970 sci-fi but in the few space of time, man continues to discover technology that astonishes him. Technology that changes the way we communicate and process information.&lt;/p&gt;
&lt;p&gt;I bet there are still technologies that have not entered into the heart of men coming through this century. Nothing seems to be impossible again. The Christian and the other religions of the books might call it the end-time, a philosopher might still be questioning why but as a technology enthusiast I believe this is the beginning of the end we are all anticipating for. If you are still with me permit me to take you into the future for a few minute, a future very near, permit me to introduce to you four awesome technologies you might not believe.&lt;/p&gt;
&lt;h2 id=&quot;1-internet-of-things-iot&quot;&gt;&lt;a href=&quot;#1-internet-of-things-iot&quot; class=&quot;heading-link&quot;&gt;1. Internet of Things (IoT)&lt;/a&gt;&lt;/h2&gt;
&lt;p&gt;Have you ever imagined:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Googling your room to find your lost Blackberry&lt;/li&gt;
&lt;li&gt;Your flower tweeting you to be watered&lt;/li&gt;
&lt;li&gt;Your pot facebooking you that your food is done&lt;/li&gt;
&lt;li&gt;Your laundry machine updating its status about being done with washing your clothes&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;It might have been sci-fi just a decade ago, but with the internet forcing its way into every aspect of our lives, cyberspace is leaking out into the real world. This is the future with the possibility of interconnecting people and objects – lightbulbs, fridges, cars, buildings – to create an &lt;strong&gt;internet of things&lt;/strong&gt;.&lt;/p&gt;
&lt;p&gt;&amp;quot;Some of the things that are possible are truly unbelievable,&amp;quot; says Constantine Valhouli from the Hammersmith Group, a strategy consulting firm. This technology is called the Internet of things (IoT), many are already saying this is a trend bound to hit us all in the near future. There is a whole lot about (IOT) &lt;a href=&quot;http://www.bbc.co.uk/news/magazine-15018894&quot;&gt;here&lt;/a&gt;.&lt;/p&gt;
&lt;h2 id=&quot;2-project-glass-the-future-pc&quot;&gt;&lt;a href=&quot;#2-project-glass-the-future-pc&quot; class=&quot;heading-link&quot;&gt;2. Project Glass - The Future PC&lt;/a&gt;&lt;/h2&gt;
&lt;p&gt;Now let&amp;#39;s take a deeper journey into the future to find out what &lt;a href=&quot;http://money.cnn.com/2012/04/04/technology/google-project-glass/?source=cnn_bin&quot;&gt;CNN&lt;/a&gt; already calls the future PC. We&amp;#39;ve moved from a desktop internet to mobile phones and mobile internet – who knows the next step might be the &lt;a href=&quot;https://plus.google.com/111626127367496192147/posts&quot;&gt;recently unveiled long-rumored concept&lt;/a&gt; called &lt;strong&gt;&amp;quot;Project Glass,&amp;quot;&lt;/strong&gt; which takes all the functionality of a smartphone and places it into a wearable device that resembles eyeglasses.&lt;/p&gt;
&lt;p&gt;The see-through lens could display everything from text messages to maps to reminders. They may be capable of showing video chats, providing turn-by-turn directions, taking photos and recording notes all through simple voice commands, according to a concept video produced by the company and &lt;a href=&quot;http://www.youtube.com/watch?v=9c6W4CCU9M4&quot;&gt;released on YouTube&lt;/a&gt;.&lt;/p&gt;
&lt;h2 id=&quot;3-driverless-cars&quot;&gt;&lt;a href=&quot;#3-driverless-cars&quot; class=&quot;heading-link&quot;&gt;3. Driverless Cars&lt;/a&gt;&lt;/h2&gt;
&lt;p&gt;There&amp;#39;s still something from Google&amp;#39;s Google X lab, the same future-thinking research facility that is working on the project glass and &lt;a href=&quot;http://www.time.com/time/health/article/0,8599,2099830,00.html&quot;&gt;space elevator&lt;/a&gt;. However this time around is about a &lt;a href=&quot;http://money.cnn.com/2010/11/04/technology/google_big_bets/index.htm?iid=EL&quot;&gt;&lt;strong&gt;driverless car&lt;/strong&gt;&lt;/a&gt;. The car will be integrated with Google Maps.&lt;/p&gt;
&lt;p&gt;&amp;quot;Google believes it is a technology that is here and now and will start appearing in motorcars in the near future,&amp;quot; said Professor Alan Woodward from the department of computing at the University of Surrey. &amp;quot;We already have systems that park your cars for you and automatically brake – the next obvious step is to have cars take over the routine driving.&amp;quot;&lt;/p&gt;
&lt;h2 id=&quot;4-3d-printing-technology&quot;&gt;&lt;a href=&quot;#4-3d-printing-technology&quot; class=&quot;heading-link&quot;&gt;4. 3D Printing Technology&lt;/a&gt;&lt;/h2&gt;
&lt;p&gt;We&amp;#39;ve talked about glasses and cars; yes it&amp;#39;s all about objects, things. However, another technology worthy of mention is the &lt;strong&gt;3D Printing&lt;/strong&gt; technology.&lt;/p&gt;
&lt;p&gt;I bet you&amp;#39;ve never imagined:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Downloading and printing your favourite delicacy online&lt;/li&gt;
&lt;li&gt;Printing out a tennis ball or even a football&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Consumer-level 3D printing technology has moved ahead in leaps and bounds in recent years with the release of devices such as the &lt;a href=&quot;http://www.gizmag.com/makerbot-thing-o-matic--the-diy-3d-printer/17516/&quot;&gt;Thing-o-Matic&lt;/a&gt;, the &lt;a href=&quot;http://www.gizmag.com/makerbot-replicator-3d-printer/21078/&quot;&gt;Replicator&lt;/a&gt; and &lt;a href=&quot;http://www.gizmag.com/3d-systems-cubify-printer/21091/&quot;&gt;Cubify&lt;/a&gt; 3D printers.&lt;/p&gt;
&lt;p&gt;In the nearest future users of this technology will be able to download designs and print everything from car parts to … well, a new and improved 3D printer. The folks at &lt;em&gt;The Pirate Bay&lt;/em&gt; are already taking a bold step by adding a new &amp;quot;Physibles&amp;quot; category. The new category will contain digital files for objects that can be physically created using a 3D printer.&lt;/p&gt;
&lt;p&gt;In announcing the move on its blog, &lt;em&gt;The Pirate Bay&lt;/em&gt; describes physibles as &amp;quot;data objects that are able (and feasible) to become physical.&amp;quot; Watch out for a future with huge benefits in terms of savings on shipping and (child) labour, with users even able to literally print food to feed the hungry.&lt;/p&gt;
&lt;h2 id=&quot;the-future-is-now&quot;&gt;&lt;a href=&quot;#the-future-is-now&quot; class=&quot;heading-link&quot;&gt;The Future is Now&lt;/a&gt;&lt;/h2&gt;
&lt;p&gt;Technology as a promising world-view in a not-too-distant future will make life richer and comfortable. Imagine getting a tweet from my farm in the village through my &lt;strong&gt;project glass&lt;/strong&gt; in my &lt;strong&gt;driverless car&lt;/strong&gt;. It&amp;#39;s a beautiful world I&amp;#39;m sure you will be waiting for.&lt;/p&gt;
&lt;p&gt;The convergence of these technologies represents more than just individual innovations – they represent a fundamental shift in how we interact with our environment and each other. As we stand on the brink of this technological revolution, one thing is certain: the future is arriving faster than we ever imagined.&lt;/p&gt;</content>
    <author><name>Tosin Amuda</name></author>
  </entry>
  <entry>
    <title>How to Containerize a React Application</title>
    <link rel="alternate" type="text/html" href="https://www.tosinamuda.com/blog/how-to-containerize-a-react-application.html" />
    <id>https://www.tosinamuda.com/blog/how-to-containerize-a-react-application.html</id>
    <updated>2020-03-11T00:00:00.000Z</updated>
    <published>2020-03-11T00:00:00.000Z</published>
    <summary>Learn how to containerize your React application using Docker with a step-by-step guide from creating a Dockerfile to running your container.</summary>
    <content type="html">&lt;p&gt;Learn how to containerize your React application using Docker with a step-by-step guide from creating a Dockerfile to running your container.&lt;/p&gt;&lt;p&gt;Containers and Kubernetes have become some of the enduring darlings of developers. A recent React deployment I needed to push into a Kubernetes environment made me revisit how much easier the job becomes once a Dockerfile is part of the workflow.&lt;/p&gt;

  &lt;p&gt;Before getting into the main guide, it helps to remember how much pain containers replace. In one of my internships, I worked as a pre-sales engineer for EduERP, an open-source ERP for universities.&lt;/p&gt;

  &lt;p&gt;EduERP ran on the LAMP stack and had a number of dependencies. Guiding a university through setup on its own server could take a full week because installation, configuration, and troubleshooting all had to be repeated manually. Docker would have changed that entire experience.&lt;/p&gt;

  &lt;h2 id=&quot;the-modern-approach&quot;&gt;&lt;a href=&quot;#the-modern-approach&quot; class=&quot;heading-link&quot;&gt;The modern approach&lt;/a&gt;&lt;/h2&gt;

  &lt;p&gt;Today the workflow can be reduced to five steps:&lt;/p&gt;

  &lt;ol&gt;
    &lt;li&gt;Create a Dockerfile containing all instructions for installing dependencies and running the application.&lt;/li&gt;
    &lt;li&gt;Build the Docker image from that Dockerfile.&lt;/li&gt;
    &lt;li&gt;Push the Docker image to a container repository.&lt;/li&gt;
    &lt;li&gt;Have the client pull the Docker image from the repository.&lt;/li&gt;
    &lt;li&gt;Run the Docker container.&lt;/li&gt;
  &lt;/ol&gt;

  &lt;p&gt;That shift means a setup that once took days can become a repeatable process measured in minutes.&lt;/p&gt;

  &lt;h2 id=&quot;pre-requisites&quot;&gt;&lt;a href=&quot;#pre-requisites&quot; class=&quot;heading-link&quot;&gt;Pre-requisites&lt;/a&gt;&lt;/h2&gt;

  &lt;p&gt;Before starting, make sure you have:&lt;/p&gt;

  &lt;ul&gt;
    &lt;li&gt;Node.js installed in your development environment&lt;/li&gt;
    &lt;li&gt;Docker installed&lt;/li&gt;
    &lt;li&gt;A terminal of choice&lt;/li&gt;
  &lt;/ul&gt;

  &lt;p&gt;If you do not have an existing React app, create one:&lt;/p&gt;

  &lt;code-block language=&quot;bash&quot;&gt;
    &lt;pre&gt;&lt;code&gt;npx create-react-app my-app
cd my-app&lt;/code&gt;&lt;/pre&gt;
  &lt;/code-block&gt;

  &lt;p&gt;Create an Nginx configuration file that the Docker image can use to serve the application:&lt;/p&gt;

  &lt;code-block language=&quot;nginx&quot;&gt;
    &lt;pre&gt;&lt;code&gt;server {
    listen 8080;
    server_name frontend;
    location / {
        root /usr/share/nginx/html;
        try_files $uri /index.html;
    }
}&lt;/code&gt;&lt;/pre&gt;
  &lt;/code-block&gt;

  &lt;h2 id=&quot;step-1-create-your-dockerfile&quot;&gt;&lt;a href=&quot;#step-1-create-your-dockerfile&quot; class=&quot;heading-link&quot;&gt;Step 1: Create your Dockerfile&lt;/a&gt;&lt;/h2&gt;

  &lt;p&gt;For React apps, the development workflow is usually:&lt;/p&gt;

  &lt;ol&gt;
    &lt;li&gt;&lt;code&gt;npm install&lt;/code&gt; to install dependencies&lt;/li&gt;
    &lt;li&gt;&lt;code&gt;npm run build&lt;/code&gt; to produce the optimized build output&lt;/li&gt;
    &lt;li&gt;Serve the built site through a web server such as Nginx&lt;/li&gt;
  &lt;/ol&gt;

  &lt;p&gt;That sequence leads directly to a multi-stage Dockerfile:&lt;/p&gt;

  &lt;code-block language=&quot;dockerfile&quot;&gt;
    &lt;pre&gt;&lt;code&gt;FROM bitnami/node:12-prod as builder
WORKDIR /app
COPY ./package.json /app/package.json
COPY ./yarn.lock /app/yarn.lock
ENV NODE_ENV=production
RUN yarn install --production
COPY . .
RUN yarn build

FROM nginxinc/nginx-unprivileged
COPY ./nginx.conf /etc/nginx/conf.d/default.conf
COPY --from=builder /app/build /usr/share/nginx/html
EXPOSE 8080&lt;/code&gt;&lt;/pre&gt;
  &lt;/code-block&gt;

  &lt;h2 id=&quot;step-2-build-the-image&quot;&gt;&lt;a href=&quot;#step-2-build-the-image&quot; class=&quot;heading-link&quot;&gt;Step 2: Build the image&lt;/a&gt;&lt;/h2&gt;

  &lt;p&gt;Build the image with a tag of your choice:&lt;/p&gt;

  &lt;code-block language=&quot;bash&quot;&gt;
    &lt;pre&gt;&lt;code&gt;docker build -t my-react-app-name .&lt;/code&gt;&lt;/pre&gt;
  &lt;/code-block&gt;

  &lt;h2 id=&quot;step-3-run-the-container&quot;&gt;&lt;a href=&quot;#step-3-run-the-container&quot; class=&quot;heading-link&quot;&gt;Step 3: Run the container&lt;/a&gt;&lt;/h2&gt;

  &lt;p&gt;To run the container, keep three things in mind:&lt;/p&gt;

  &lt;ul&gt;
    &lt;li&gt;the container&apos;s internal port&lt;/li&gt;
    &lt;li&gt;the port on your own machine&lt;/li&gt;
    &lt;li&gt;the image name you used while building&lt;/li&gt;
  &lt;/ul&gt;

  &lt;code-block language=&quot;bash&quot;&gt;
    &lt;pre&gt;&lt;code&gt;docker run -p 8080:8080 my-react-app-name&lt;/code&gt;&lt;/pre&gt;
  &lt;/code-block&gt;

  &lt;p&gt;If everything works, &lt;code&gt;http://localhost:8080&lt;/code&gt; should serve the newly containerized React application.&lt;/p&gt;

  &lt;h2 id=&quot;next-steps&quot;&gt;&lt;a href=&quot;#next-steps&quot; class=&quot;heading-link&quot;&gt;Next steps&lt;/a&gt;&lt;/h2&gt;

  &lt;ul&gt;
    &lt;li&gt;Push the image to a registry such as Docker Hub&lt;/li&gt;
    &lt;li&gt;Create a Kubernetes pod definition to run the image&lt;/li&gt;
  &lt;/ul&gt;

  &lt;p&gt;With Docker containers, deployment becomes consistent and predictable across environments. That is the real payoff.&lt;/p&gt;</content>
    <author><name>Tosin Amuda</name></author>
  </entry>
  <entry>
    <title>A letter to an outgoing Corper — episode one</title>
    <link rel="alternate" type="text/html" href="https://www.tosinamuda.com/blog/a-letter-to-an-outgoing-corper-episode-one.html" />
    <id>https://www.tosinamuda.com/blog/a-letter-to-an-outgoing-corper-episode-one.html</id>
    <updated>2020-03-11T00:00:00.000Z</updated>
    <published>2020-03-11T00:00:00.000Z</published>
    <summary>A heartfelt letter to graduating NYSC corps members about maintaining identity, building personal brand, and preparing for life after service to the nation.</summary>
    <content type="html">&lt;p&gt;A heartfelt letter to graduating NYSC corps members about maintaining identity, building personal brand, and preparing for life after service to the nation.&lt;/p&gt;&lt;p&gt;Dear Corper,&lt;/p&gt;
&lt;p&gt;Corper Shan! I will like to say how else can we thank you for dedicating one year of your life to serve your country. You have shown there is hope in our educational and Healy system only if we have passionate and energetic hands like you. What a great show of patriotism! What a great show of dedicated service! So what&amp;#39;s up after service? Like are you ready for the things to come. I am writing this letter to remind you of the changes ahead and how you can prepare for it.&lt;/p&gt;
&lt;blockquote&gt;
&lt;h4&gt;If you don&amp;#39;t stand for something you will fall for anything!&lt;/h4&gt;
&lt;/blockquote&gt;
&lt;p&gt;First, watch out for losing your identity to the challenges ahead. Watch out for losing your voice to that of the crowd. The school and NYSC has a way of protecting your identity from the reality and harsh conditions of life. The identity I am talking about is who you have always wanted to be! Do you know it is time that the protective shell of school and government ended. Some years back, you were asked what you wanted to be in the future and you mentioned great stuff you wanted to become. The expectation on what you mentioned years back on your great future starts now. The future you talked about years ago is finally here. Nothing holds your future back again not 4 years of school, not one year of service. If you have forgotten those great dream, aspiration and hopes about your future, now is the time to remember. You wanted to be a great biochemist, a world class philosopher, a superb counsellor. However, I hear you are already changing your gears. You wanted to be a world class biochemist and I hear you applying already to be a police officer. Are you sure you are going for your passion ? You want to take any job that comes you ways. You are ready to settle for anybody, any job, any fiancé, any life. &lt;strong&gt;&lt;em&gt;Remember anything is nothing, that way any job means no job.&lt;/em&gt;&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;Now I challenge you to recall what you told me sometimes ago. About how you wanted to be somebody, a great person whose voice will be heard and valued. Now it is time to start taking steps toward those future ambition. Let&amp;#39;s say you want a biochemist job, you should&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;list out the top twenty companies/organizations that offer biochemist opportunity.&lt;/li&gt;
&lt;li&gt;Write a powerful CV to show your are a biochemist in training who can learn and will be successful.&lt;/li&gt;
&lt;li&gt;Then APPLY! Do cold calling or unsolicited application it is allowed!&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;Go for your passion now ! You wanted to be an entrepreneur now it is the time to test the market. Having formed your identity it is time to give yourself a brand.&lt;/p&gt;
&lt;h1&gt;Branding is staying true to deliver what you promised as your identity.&lt;/h1&gt;
&lt;p&gt;Second, I hear you are ignorant of what your personal brand is. You know someone once defined branding as staying true to the what you promised as your identity. A personal brand is how you project yourself. It starts from you on paper, that is your CV. Then the physical you, your dressing, your spoken and written English, social etiquette. It also speaks about your integrity.&lt;/p&gt;
&lt;p&gt;Let&amp;#39;s start an intro conversation on the CV. I have seen so many dry CV. Old, common and dry! I hope your CV isn&amp;#39;t like that. And please don&amp;#39;t use the same CV for all job roles. Each job role is unique, so your relevant experience and hobbies should change.&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;I even hear some of your colleagues don&amp;#39;t have a CV yet and they are praying to get a job.&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;I overheard you wasted almost a page on biodata and nothing much on your relevant work experience. And some of you say you don&amp;#39;t have work experience, you want to be an accountant and you served as the financial secretary of your CDS group for almost 11 months. Did you need the Holy Ghost to tell you that it is a relevant experience in the absence of actual formal work place experience. We will talk more about CV subsequently.&lt;/p&gt;
&lt;p&gt;What of dressing? By now you should know the dressing of the workplace. You should know the language of the workplace. You can&amp;#39;t wear a Khaki to an interview. You can&amp;#39;t wear a white tennis for an interview. Now Let&amp;#39;s talk about integrity.&lt;/p&gt;
&lt;h1&gt;Don&amp;#39;t be part of the problems, rather be a solution to these problems!!&lt;/h1&gt;
&lt;p&gt;One of the two major problems of our country is corruption and unemployment. Don&amp;#39;t be part of the problems, rather be a solution to these problems!! My pastor used to say your competence will open doors for you but your character will keep you in the room. Let&amp;#39;s assume your competence has gotten you a job, problem one of unemployment is solved. Then you will have to face problem two of corruption. You will be tempted with challenges of corruption. I have heard story of young corpers who were avid advocate of anti-corruption who went on to become corrupt as they become entrenched in the system.&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;Make your stands known from your early days so people are aware you are a no go area!&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;You might even be a victim of corruption. In a case where you are to get a job and it goes to the family members of a politician. You will be met with a lot of rejections which will should talk about too.&lt;/p&gt;
&lt;h1&gt;Nobody owes you anything in this life.&lt;/h1&gt;
&lt;p&gt;Third, you should be aware nobody owes you a job. Nobody owes you anything in this life. Not even your uncle who is promising a job when you come back home. And because of this you might be met with rejections as you apply for various vacancy. It doesn&amp;#39;t mean you are not good enough or you should give up. It is just because they can&amp;#39;t take all the very fantastic people or maybe you haven&amp;#39;t convinced them you are fantastic enough. In fact, I read one stat recently. It refers to the fact that an average graduate should submit their CVs in 70 organization before they are guaranteed a place in 5 companies. So be prepared for rejection in 65 others. Someone will not even get back to you.&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;Rejections doesn&amp;#39;t mean you are not good enough! It means you can do better!!&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;Remember my friend I have said three things about identity, personal branding and rejection. Don&amp;#39;t forget your identity. You can stay true to your identity through personal branding and be prepared for rejection of your brand.&lt;/p&gt;
&lt;p&gt;Don&amp;#39;t forget our service to our dear nation shouldn&amp;#39;t stop in few days time. Service is a continuous process.&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;Do what you can where you are with what you have!&lt;/p&gt;
&lt;/blockquote&gt;
&lt;h1&gt;Happy Passing Out!&lt;/h1&gt;
&lt;p&gt;Sincerely yours,&lt;/p&gt;
&lt;p&gt;Mr. Future&lt;/p&gt;</content>
    <author><name>Tosin Amuda</name></author>
  </entry>
  <entry>
    <title>12-Factor Engineering Best Practices You Can Learn From</title>
    <link rel="alternate" type="text/html" href="https://www.tosinamuda.com/blog/12-factor-engineering-best-practices.html" />
    <id>https://www.tosinamuda.com/blog/12-factor-engineering-best-practices.html</id>
    <updated>2020-03-11T00:00:00.000Z</updated>
    <published>2020-03-11T00:00:00.000Z</published>
    <summary>Learn the 12 principles introduced by Heroku engineers for developing high-quality web applications with scale, robustness, and portability in mind.</summary>
    <content type="html">&lt;p&gt;Learn the 12 principles introduced by Heroku engineers for developing high-quality web applications with scale, robustness, and portability in mind.&lt;/p&gt;&lt;p&gt;During my Computer Science days at the University of Lagos, I used to wonder why software engineering was called engineering. Before then, I had always thought engineering had to be hardware.&lt;/p&gt;

  &lt;p&gt;Luckily, Ian Sommerville was thinking about confused people like me when he wrote &lt;strong&gt;Software Engineering&lt;/strong&gt;. He described software engineering as an engineering discipline concerned with all aspects of software production.&lt;/p&gt;

  &lt;p&gt;That framing helped. Engineering is still engineering because we make things work by applying theories, methods, and tools where appropriate. We also inherit best practices from other engineers so we can avoid already solved problems.&lt;/p&gt;

  &lt;p&gt;Similarly, the 12-factor methodology introduced by engineers at Heroku offers practical principles for building high-quality web applications with scale, robustness, and portability in mind.&lt;/p&gt;

  &lt;h2 id=&quot;the-12-factor-application-methodology&quot;&gt;&lt;a href=&quot;#the-12-factor-application-methodology&quot; class=&quot;heading-link&quot;&gt;The 12-factor application methodology&lt;/a&gt;&lt;/h2&gt;

  &lt;p&gt;The &lt;a href=&quot;https://12factor.net/&quot;&gt;12th Factor&lt;/a&gt; application methodology contains 12 principles for building a strong web application or SaaS product. It came from Heroku engineers after developing, deploying, and scaling thousands of applications.&lt;/p&gt;

  &lt;h3 id=&quot;factor-1-codebase&quot;&gt;&lt;a href=&quot;#factor-1-codebase&quot; class=&quot;heading-link&quot;&gt;Factor 1: Codebase&lt;/a&gt;&lt;/h3&gt;
  &lt;ul&gt;
    &lt;li&gt;Track your source code in version control.&lt;/li&gt;
    &lt;li&gt;Keep one codebase per app and use branching strategies for different deployment paths.&lt;/li&gt;
  &lt;/ul&gt;

  &lt;h3 id=&quot;factor-2-dependencies&quot;&gt;&lt;a href=&quot;#factor-2-dependencies&quot; class=&quot;heading-link&quot;&gt;Factor 2: Dependencies&lt;/a&gt;&lt;/h3&gt;
  &lt;ul&gt;
    &lt;li&gt;Declare dependencies explicitly with package managers such as npm, Yarn, pip, or Composer.&lt;/li&gt;
    &lt;li&gt;Avoid copying dependencies into source code directly.&lt;/li&gt;
  &lt;/ul&gt;

  &lt;h3 id=&quot;factor-3-config&quot;&gt;&lt;a href=&quot;#factor-3-config&quot; class=&quot;heading-link&quot;&gt;Factor 3: Config&lt;/a&gt;&lt;/h3&gt;
  &lt;ul&gt;
    &lt;li&gt;Store configuration in the environment.&lt;/li&gt;
    &lt;li&gt;Separate secrets and environment-specific values from application code.&lt;/li&gt;
  &lt;/ul&gt;

  &lt;h3 id=&quot;factor-4-backing-services&quot;&gt;&lt;a href=&quot;#factor-4-backing-services&quot; class=&quot;heading-link&quot;&gt;Factor 4: Backing Services&lt;/a&gt;&lt;/h3&gt;
  &lt;ul&gt;
    &lt;li&gt;Treat databases, queues, and similar services as attached resources.&lt;/li&gt;
    &lt;li&gt;Be able to switch between local and managed services without rewriting the application.&lt;/li&gt;
  &lt;/ul&gt;

  &lt;h3 id=&quot;factor-5-build-release-run&quot;&gt;&lt;a href=&quot;#factor-5-build-release-run&quot; class=&quot;heading-link&quot;&gt;Factor 5: Build, Release, Run&lt;/a&gt;&lt;/h3&gt;
  &lt;ul&gt;
    &lt;li&gt;Separate build, release, and run stages strictly.&lt;/li&gt;
    &lt;li&gt;Use CI/CD pipelines with test and deploy stages.&lt;/li&gt;
    &lt;li&gt;Give each release a unique identifier and preserve rollback options.&lt;/li&gt;
  &lt;/ul&gt;

  &lt;h3 id=&quot;factor-6-stateless-processes&quot;&gt;&lt;a href=&quot;#factor-6-stateless-processes&quot; class=&quot;heading-link&quot;&gt;Factor 6: Stateless Processes&lt;/a&gt;&lt;/h3&gt;
  &lt;ul&gt;
    &lt;li&gt;Run the app as one or more stateless processes.&lt;/li&gt;
    &lt;li&gt;Persist state in backing services rather than application memory.&lt;/li&gt;
  &lt;/ul&gt;

  &lt;h3 id=&quot;factor-7-port-binding&quot;&gt;&lt;a href=&quot;#factor-7-port-binding&quot; class=&quot;heading-link&quot;&gt;Factor 7: Port Binding&lt;/a&gt;&lt;/h3&gt;
  &lt;ul&gt;
    &lt;li&gt;Export services via port binding.&lt;/li&gt;
    &lt;li&gt;Make it possible for one application to become another application&apos;s backing service.&lt;/li&gt;
  &lt;/ul&gt;

  &lt;h3 id=&quot;factor-8-concurrency&quot;&gt;&lt;a href=&quot;#factor-8-concurrency&quot; class=&quot;heading-link&quot;&gt;Factor 8: Concurrency&lt;/a&gt;&lt;/h3&gt;
  &lt;ul&gt;
    &lt;li&gt;Scale through the process model.&lt;/li&gt;
    &lt;li&gt;Separate HTTP work, workers, and other workloads into explicit process types.&lt;/li&gt;
  &lt;/ul&gt;

  &lt;h3 id=&quot;factor-9-disposability&quot;&gt;&lt;a href=&quot;#factor-9-disposability&quot; class=&quot;heading-link&quot;&gt;Factor 9: Disposability&lt;/a&gt;&lt;/h3&gt;
  &lt;ul&gt;
    &lt;li&gt;Optimize for fast startup and graceful shutdown.&lt;/li&gt;
    &lt;li&gt;Disposable processes make releases and scaling safer.&lt;/li&gt;
  &lt;/ul&gt;

  &lt;h3 id=&quot;factor-10-dev-prod-parity&quot;&gt;&lt;a href=&quot;#factor-10-dev-prod-parity&quot; class=&quot;heading-link&quot;&gt;Factor 10: Dev-Prod Parity&lt;/a&gt;&lt;/h3&gt;
  &lt;ul&gt;
    &lt;li&gt;Keep development, staging, and production environments as similar as possible.&lt;/li&gt;
    &lt;li&gt;Small gaps reduce surprises and improve continuous delivery.&lt;/li&gt;
  &lt;/ul&gt;

  &lt;h3 id=&quot;factor-11-logs&quot;&gt;&lt;a href=&quot;#factor-11-logs&quot; class=&quot;heading-link&quot;&gt;Factor 11: Logs&lt;/a&gt;&lt;/h3&gt;
  &lt;ul&gt;
    &lt;li&gt;Treat logs as event streams.&lt;/li&gt;
    &lt;li&gt;Emit logs to standard output and let external systems handle routing and storage.&lt;/li&gt;
  &lt;/ul&gt;

  &lt;h3 id=&quot;factor-12-admin-processes&quot;&gt;&lt;a href=&quot;#factor-12-admin-processes&quot; class=&quot;heading-link&quot;&gt;Factor 12: Admin Processes&lt;/a&gt;&lt;/h3&gt;
  &lt;ul&gt;
    &lt;li&gt;Run management tasks as one-off processes in the same environment as the main app.&lt;/li&gt;
    &lt;li&gt;Ship admin code with the application to avoid synchronization issues.&lt;/li&gt;
  &lt;/ul&gt;</content>
    <author><name>Tosin Amuda</name></author>
  </entry>
  <entry>
    <title>Building Kids Into Whizkids</title>
    <link rel="alternate" type="text/html" href="https://www.tosinamuda.com/blog/building-kids-into-whizkids.html" />
    <id>https://www.tosinamuda.com/blog/building-kids-into-whizkids.html</id>
    <updated>2015-10-26T00:00:00.000Z</updated>
    <published>2015-10-26T00:00:00.000Z</published>
    <summary>During my National Youth Service, I started an ICT club called &apos;Whizkids&apos; to empower the next generation of technology leaders. Teaching HTML to excited kids who built their first webpage, I now challenge everyone to organize #hourofcode events and become nation builders.</summary>
    <content type="html">&lt;p&gt;During my National Youth Service, I started an ICT club called &apos;Whizkids&apos; to empower the next generation of technology leaders. Teaching HTML to excited kids who built their first webpage, I now challenge everyone to organize #hourofcode events and become nation builders.&lt;/p&gt;&lt;p&gt;If you are a techie like me you must have heard about one of these: computer science for high school, hour of code. If you are not a techie you must have heard catch them young or the leaders of tomorrow. I must have complained a lot about &lt;a href=&quot;http://nysc.gov.ng&quot;&gt;NYSC&lt;/a&gt;, I had to stop, come to think of it, the NYSC scheme puts me in a position to impact on my host community however big or small. It puts me in a position to build the next set of leaders. With obvious bias, I want the kids in my host community to be next technology leaders of their generations and digital armed forces of Nigeria. This prompted me to start an ICT club in my &lt;a href=&quot;https://m.facebook.com/pages/Jetters-Montessori-schools-Jalingo/521138361283409&quot;&gt;school&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;I can not but mention that the &lt;a href=&quot;http://www.hourofcode.com&quot;&gt;hour of code&lt;/a&gt; promotional videos especially the one from Mark Zuckerberg keeps motivating me to do more with raising the next generation of ICT leaders.&lt;/p&gt;
&lt;p&gt;Let me digress a little bit I was not lucky to start programming at 13 like Bill gate but I once did Logo programming maybe at 15 can&amp;#39;t remember exactly and I felt good about it. However, today is not for inviting you to a pity party of how I started coding late. I am inviting you rather to a challenge. I challenge you to become a nation builder however small or big. Build someone today with your intellect and resources and stop complaining of infrastructural/system collapse in the nation.&lt;/p&gt;
&lt;p&gt;Back to the business, the vision for the club was simple: to build next generation of technology leaders. We call ourselves &amp;quot;Whizkids&amp;quot;. And our mission was to empower ourselves with contemporary tools to deliver the future. How do we get this done? We will focus on web, mobile and robotics technology.&lt;/p&gt;
&lt;p&gt;There are a lot of options here, it was hard getting to choose which technology to actually start with. Scratch, snap, JavaScript, Python, html all staring at me. I decided to start off with html. Whatever you believe in someone agrees with you on the Internet. Someone recently said internet is going to be a place where people echo your ideas. Technologies like Facebook like, Twitter favorite and retweet are obvious examples. I stumbled on html for babies it was helpful in coming up with a curriculum.&lt;/p&gt;
&lt;p&gt;&lt;img src=&quot;/images/blog/img_2081-1024x802.jpg&quot; alt=&quot;Students learning HTML&quot;&gt;
&lt;em&gt;Students excited about learning web development&lt;/em&gt;&lt;/p&gt;
&lt;p&gt;Are the kids excited? Yeah they are super excited they are going to be building a website. How will you feel if at 13, if someone told you, you will be taught how to build a rocket or robot in 2 months. I will be super excited. My closest-to-techy-experience was turning my dad transistor radio to my physics experiment apparatus. It was good experience for me but it was attracted punishment from my dad.&lt;/p&gt;
&lt;p&gt;The kids are doing well with learning that HTML code is like two slices of bread with butter. The first slice of bread is like the opening tag, the butter is the content in the middle and the closing tag is like the second slice of bread. My kids have successfully built a webpage containing their school anthem and they are excited.&lt;/p&gt;
&lt;p&gt;Everyone who reads this I challenge you to hold an &lt;a href=&quot;https://twitter.com/hashtag/hourofcode?lang=en&quot;&gt;#hourofcode&lt;/a&gt; event for kids in your schools, churches or mosques. You can also tweet at me at &lt;a href=&quot;https://twitter.com/tosinamuda&quot;&gt;@tosinamuda&lt;/a&gt;&lt;/p&gt;</content>
    <author><name>Tosin Amuda</name></author>
  </entry>
  <entry>
    <title>Resurrected from the dead</title>
    <link rel="alternate" type="text/html" href="https://www.tosinamuda.com/blog/resurrected-from-the-dead.html" />
    <id>https://www.tosinamuda.com/blog/resurrected-from-the-dead.html</id>
    <updated>2015-10-20T00:00:00.000Z</updated>
    <published>2015-10-20T00:00:00.000Z</published>
    <summary>During my National Youth Service as an ICT instructor, I learned how PowerPoint can kill classroom engagement. Through research and student feedback, I discovered solutions to avoid &apos;Death by PowerPoint&apos; and resurrect interactive learning through better presentation techniques.</summary>
    <content type="html">&lt;p&gt;During my National Youth Service as an ICT instructor, I learned how PowerPoint can kill classroom engagement. Through research and student feedback, I discovered solutions to avoid &apos;Death by PowerPoint&apos; and resurrect interactive learning through better presentation techniques.&lt;/p&gt;&lt;p&gt;I am a geek, I am excited about technology and I love to use it. Teaching ICT even drives me to use technology more. I always tell myself I can&amp;#39;t teach technology without using technology. Apart from being passionate about technology, I am more interested in using technology to impact on the lifes of people I meet everyday.&lt;/p&gt;
&lt;p&gt;As a matter of fact, after your undergraduate program in Nigeria, there is the compulsory national youth service. Under this scheme, I was posted as an ICT instructor to &lt;a href=&quot;https://www.facebook.com/pages/jetters-montessori-college/312799712184617?rf=334391576705465&quot;&gt;Jetters Montessori College, Jalingo&lt;/a&gt;, one of the &lt;a href=&quot;http://serveafrica.info/top-60-nigeria-secondary-schools-2014&quot;&gt;best schools&lt;/a&gt; in Nigeria and one of the leading schools in ICT in the country. Wow, I was impressed with the level of technology infrastructure available in the school. However, the infrastructure were going into ruins because there were no capable hands to use the school e-learning facilities to teach the student.&lt;/p&gt;
&lt;p&gt;&lt;img src=&quot;/images/blog/img_2058-1-1024x768.jpg&quot; alt=&quot;School Technology Infrastructure&quot;&gt;
&lt;em&gt;The technology infrastructure at Jetters Montessori College&lt;/em&gt;&lt;/p&gt;
&lt;p&gt;Consequently, the current situation of the school, and my passion for change and technology sets in the temptation to avoid the traditional classroom teaching for an edtech classroom.&lt;/p&gt;
&lt;p&gt;I started out by impressing my bosses when I created my scheme of work using Microsoft Word. It was not a big deal to me but my director made it an example for others. As a faithful servant, I continued by creating my lesson plan and note with Microsoft word. I couldn&amp;#39;t wait to start my first class with PowerPoint slides.&lt;/p&gt;
&lt;p&gt;As a naive teacher, I had quickly forgotten that while in the University I would switch to playing either 2048 or candy crush in a boring PowerPoint class. I had powerful pictures, my PowerPoint was not wordy but something was wrong in the class. I noticed a number of students were distracted, even tried sleeping.&lt;/p&gt;
&lt;p&gt;I guess I failed at using technology in my first class. I was tempted to quickly give up as I was advised by a fellow ICT teacher. I told myself No, technology is meant to help and it can work.&lt;/p&gt;
&lt;p&gt;Thank God for Google, I did what I usually call counter search on &amp;quot;10 mistakes you could be doing with PowerPoint in class&amp;quot;. Then, I stumbled on the phrase &amp;quot;Death by PowerPoint&amp;quot;. Powerpoint is meant to power a class but it can kill a class. After the I did my online research, I went offline and did the most important research with my clients, my students of course.&lt;/p&gt;
&lt;p&gt;I noticed the following:&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;PowerPoint was killing the interactiveness of the class.&lt;/li&gt;
&lt;li&gt;The students were straining their eyes because of poor lightning in the classroom environment and the choice of background colour.&lt;/li&gt;
&lt;li&gt;Some students have eye defects.&lt;/li&gt;
&lt;li&gt;When you think your powerpoint is not wordy but is is actually wordy.&lt;/li&gt;
&lt;li&gt;Too much information on one slide: more than one equation or table.&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;I worked with my student in proferring these solutions to avoid death by PowerPoint and also resurrect.&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;Enhance active learning by using a picture to start off a discussion in class.&lt;/li&gt;
&lt;li&gt;Follow the 6 by 6 principle strictly: not more than 6 words in a bulletpoint and not more than 6 bulletpoint in a slide.&lt;/li&gt;
&lt;li&gt;Use one word slide to start off a discussion&lt;/li&gt;
&lt;li&gt;Use animation to delay how much information the students get at once.&lt;/li&gt;
&lt;li&gt;Introduce varieties: try videos to start off a discussion or group discussion.&lt;/li&gt;
&lt;li&gt;I am looking at the Takashi method as well. Using only one word per slide.&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;Now my class has fully resurrected from death by PowerPoint. I also now appreciate why people spend 4 years in school studying education by the day. I can&amp;#39;t imagine how much of educational methods I will learn while trying to teach my students. I hope to conduct a research where I will compare my student performance in my course - where I use technology - to other courses - where traditional method is being used. I can&amp;#39;t shy away from the fact that I love teaching. What about you?&lt;/p&gt;
&lt;p&gt;And please feel free to share your own teaching method. You can also tweet at me &lt;a href=&quot;http://www.twitter.com/tosinamuda&quot;&gt;@tosinamuda&lt;/a&gt;.&lt;/p&gt;</content>
    <author><name>Tosin Amuda</name></author>
  </entry>
  <entry>
    <title>The Lie About The Future</title>
    <link rel="alternate" type="text/html" href="https://www.tosinamuda.com/blog/the-lie-about-the-future.html" />
    <id>https://www.tosinamuda.com/blog/the-lie-about-the-future.html</id>
    <updated>2013-12-05T00:00:00.000Z</updated>
    <published>2013-12-05T00:00:00.000Z</published>
    <summary>The article challenges the notion of a promising future that previous generations have promised but not delivered upon. It highlights the disillusionment of today&apos;s youth who were told they&apos;d succeed if they worked hard but face challenges like unemployment, nepotism, and economic struggles.</summary>
    <content type="html">&lt;p&gt;The article challenges the notion of a promising future that previous generations have promised but not delivered upon. It highlights the disillusionment of today&apos;s youth who were told they&apos;d succeed if they worked hard but face challenges like unemployment, nepotism, and economic struggles.&lt;/p&gt;&lt;p&gt;Every generation - while young - admires the beauty of the future, its promises, potentials and possibilities. It is like a Nollywood story of a poor village girl who has been betrothed to a city lover who she has never met, but her parents assure her of the cuteness of the city boy and his heavy pocket, what else can the poor girl ask for. Just like the village girl, the current generation falls in love with this future they are supposedly yet to see but believes the future will come one day. They blush at being called the future leader, the greater tomorrow just like the teen tell themselves you are the cockroach in my wardrobe, of course we know any cockroach is useless, it will eventually spoil some precious cloth.&lt;/p&gt;
&lt;p&gt;The old folks, they tell us the sweet phrases: where&amp;#39;re the future leaders, the leaders of tomorrow. Have you ever wondered when this tomorrow will come? In high school, our teachers told us about this beautiful future. Distracted by the awesomeness of this lie, as opposed to the inquisitive nature of kids, we never ask how and when they got into theirs. This isn&amp;#39;t how it was supposed to go! They told us we would be okay if only we worked hard. They told us we&amp;#39;d be successful if we studied for the exams, had the right hair-cut and had the right parents! They LIED to us!&lt;/p&gt;
&lt;p&gt;Pause!!! This generation at 18 wakes up in the FUTURE and discovers their cities are run with thousands of youthful agberos, energetic beggars, cute prostitutes, scholarly aristos, youth discouraged by unemployment, nepotism, struggle for admission, O level exam failures, expensive data (outside blackberry though), incessant power supply. Some of them are wasting away smoking, partying, experimenting hard chemicals believing it will numb their anxiety and give them a break from the supposed beautiful FUTURE.&lt;/p&gt;
&lt;p&gt;This was supposed to be the future. The future our principal told us about, the one the sunday school teacher told us every Sunday, in fact the political czars have a way of sweet-talking us into this future. Funny enough, the fools among them still blush at the slightest use of our future leader.&lt;/p&gt;
&lt;p&gt;&lt;img src=&quot;http://shirtblog.de/wp-content/uploads/2010/08/zoom.gif&quot; alt=&quot;This was supposed to be the future&quot;&gt;
&lt;em&gt;This was supposed to be the future&lt;/em&gt;&lt;/p&gt;
&lt;p&gt;This generation will be fine if they accept the future is not the city boy who is going to come visiting one day, it is the moment we live in and that the beautiful story they were told won&amp;#39;t be soon, and it won&amp;#39;t be in the way they were made to believe. This generation can&amp;#39;t expect to win by playing along, but what else can they do? After all, the older generations &amp;#39;re the ones with the power. The older folks &amp;#39;ve got the money and the guns and the government and maybe God, the older folk sign our paycheques, mark our exams (the old professors) and grade our various crawling efforts to please. What have they got to challenge that?&lt;/p&gt;
&lt;p&gt;I&amp;#39;ll tell you what we this generation has got. This is the part I start using we.&lt;/p&gt;
&lt;p&gt;We have Energy, Information(Truth), Beauty and Love. We have a flourishing counterculture that&amp;#39;s more alive than anything the mainstream has produced in the last twenty years. We have social media, mindset deviancy. We have the talent and the information-delivery media to reprogramme the minds of Young Corporate Leaders and drive them, frothing, into the sea. We have the vote. Most importantly, we have much swag.&lt;/p&gt;
&lt;p&gt;&amp;quot;Unlike them, we are truly hypertextual. We have the information and communications technology to entirely re-imagine the concept of socio-political power, and we are bright enough and brave enough to use it. We are multi-ethnic, multi-gendered, multi-talented and massively up for a fight, we are no longer frightened of your disapproval, and we have bombs.&amp;quot;&lt;/p&gt;
&lt;p&gt;If you accept the future leader title, you might not lead until you end up in the grave, because someone will always be alive to lie to you about your position in the future and will distract you from your position today.&lt;/p&gt;
&lt;p&gt;Inspired by &lt;a href=&quot;http://pennyred.blogspot.com/2008/02/they-lied-to-us.html&quot;&gt;Penny Red&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;Follow &lt;a href=&quot;http://twitter.com/tosinamuda&quot;&gt;@tosinamuda&lt;/a&gt;.&lt;/p&gt;</content>
    <author><name>Tosin Amuda</name></author>
  </entry>
</feed>
