<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:dc="http://purl.org/dc/elements/1.1/">
  <channel>
    <title>DEV Community: Kevin Asaria</title>
    <description>The latest articles on DEV Community by Kevin Asaria (@kevinasaria).</description>
    <link>https://dev.to/kevinasaria</link>
    <image>
      <url>https://media2.dev.to/dynamic/image/width=90,height=90,fit=cover,gravity=auto,format=auto/https:%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Fuser%2Fprofile_image%2F209237%2F716bf7a6-df03-4f09-87ba-e5f4dd66d174.jpg</url>
      <title>DEV Community: Kevin Asaria</title>
      <link>https://dev.to/kevinasaria</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://dev.to/feed/kevinasaria"/>
    <language>en</language>
    <item>
      <title>The day I met an anti AI activist back in 2017</title>
      <dc:creator>Kevin Asaria</dc:creator>
      <pubDate>Thu, 18 Jun 2026 17:17:24 +0000</pubDate>
      <link>https://dev.to/kevinasaria/the-day-i-met-an-anti-ai-activist-back-in-2017-3al8</link>
      <guid>https://dev.to/kevinasaria/the-day-i-met-an-anti-ai-activist-back-in-2017-3al8</guid>
      <description>&lt;p&gt;I am writing this as the events of that day keep fading away but I find the incident relevant to what is happening today, almost a decade later.&lt;/p&gt;

&lt;p&gt;In 2017 I was a 2nd year electrical and electronics engineering student at Kenyatta university and there was an Intel supported tech club. I cannot recall its name now but back then I was curious to learn about AI and that day's session was about it. I can still remember being confused by the word &lt;em&gt;subset&lt;/em&gt; as it was used 'AI is a subset of machine learning'. Blame my basic math skillset at the time.&lt;/p&gt;

&lt;p&gt;It was a Friday afternoon when most of these tech student clubs took&lt;br&gt;
place and I remember as I entered the event room at Chandaria Innovation Complex I saw an unfamiliar face. Unfortunately tech clubs are usually frequented by a few individuals and you become familiar with those faces and can easily recognise a new face. It was a guy in some red shirt seated at the front table and he had arrived quite early.He was actually one of the first people in, I should know cause I usually arrive early.&lt;/p&gt;

&lt;p&gt;But it was not a big surprise since the event had been widely advertised.&lt;/p&gt;

&lt;p&gt;I went and sat at the back left desk and was joined by some of my friends. One of them I remember , an IT student wanted to join Andela so passionately, he even told me he was planning to go to Rwanda as they were not recruiting in Kenya at the moment.&lt;/p&gt;

&lt;p&gt;As the Intel student ambassador began going through the slides, the new guy abruptly stood up. I was quite in shock even thinking it is a prank. He started speaking loudly, with religious zeal, saying how we were trying to play god by creating artificial intelligence. That was the gist of it I can not recall all that he said but his final action stuck with me. He said category that to show his seriousness about&lt;br&gt;
his case against AI he would leave his mobile phone and walk out. And he actually did that and when the meeting was over the phone was still on the desk, from my blurry memory it was a feature phone. But the commitment to such an act astonished me. I don't know if he ever came back for it.&lt;/p&gt;

&lt;p&gt;After he left the meeting was a bit awkward for a while since we did not know what actually happened. But the ambassador continued with his presentation calmly , showing us interesting things that could be done by AI models. One of the fun toy applications was having&lt;br&gt;
some emoji smile or frown depending on how you facial expression was.&lt;/p&gt;

&lt;p&gt;What followed was a discussion about the ramification about this forth coming technology. Looking back we discussed this topic thinking that we were immune from this technology, job wise,&lt;br&gt;
since we were technologically inclined people. We thought that like the robots it would affect physical labour mostly as previous tech had done.&lt;/p&gt;

&lt;p&gt;I remember this lady who had quite a blunt conclusion when she was answering the question on what people who would be laid off due to AI should do. She said they should skill up and join our profession. I remember agreeing with this sentiment and feeling safe that I would not be affected.&lt;/p&gt;

&lt;p&gt;The events of that day keep coming back to me almost a decade later. Maybe because some days I feel anti-AI too and can't help but recall the anti-AI activist I came across back in 2017 and who at the time I thought was a lunatic.&lt;/p&gt;

</description>
      <category>ai</category>
      <category>devjournal</category>
      <category>learning</category>
      <category>machinelearning</category>
    </item>
    <item>
      <title>Solving Solved Problems</title>
      <dc:creator>Kevin Asaria</dc:creator>
      <pubDate>Fri, 29 May 2026 16:43:01 +0000</pubDate>
      <link>https://dev.to/kevinasaria/solving-solved-problems-2gm7</link>
      <guid>https://dev.to/kevinasaria/solving-solved-problems-2gm7</guid>
      <description>&lt;p&gt;I am currently working on an embedded system project and as&lt;br&gt;
I continue along with it I have this feeling that I am solving&lt;br&gt;
already solved problems.&lt;/p&gt;

&lt;p&gt;Let me paint you a picture of the things I had to solve and my&lt;br&gt;
tech stack. I chose to use the Raspberry Pi Pico as the microcontroller so that I could make use of Micropython as I am already acquainted with Python.&lt;/p&gt;

&lt;p&gt;I could not go back to C and C++ as my skills in them had already atrophied from not using them actively in more than 3 years. I had also not engaged in any meaningful embedded project in that time. Below is the tangled mess of the breadboard prototype.&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%2Fc6pyv582zdrfu04wbrhb.jpeg" 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%2Fc6pyv582zdrfu04wbrhb.jpeg" alt=" " width="800" height="600"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;One of the first problems I had to solve was how to create an abstraction to use shift registers as my means for input and output. The aim being to conserve the number of pins I would use in the board. This took more time than I had initially anticipated and I only searched if there was a solution for it after being done coding it. The solution I found had some similarities with the one I had made and it was from 4 years ago. I did not regret it since my solution was more flexible and tailored to my code structure.&lt;/p&gt;

&lt;p&gt;Most of the libraries I was creating were somehow already created but&lt;br&gt;
their structures were different from how I had structured mine. They were missing some functionality that I had or vice versa. So in a way I was solving solved problems but this being an embedded system that I have to understand almost end to end, I believe I did the right thing by solving them.&lt;/p&gt;

&lt;p&gt;Another issue I tackled was logging. I have never really thought much about logging but in embedded systems it is quite crucial as you want to precisely know what your system was doing before it just crashed. Tackling this topic reminded me of business process management, whereby you can extract a business process from the logs that are there.I continue to aim for my system to be like so but I have fallen short in some ways. Add to that , that I am logging in a multithreaded program, I have 2 threads running - the pico has 2 cores - working on a multicore system is another learning journey that I am yet to complete.&lt;/p&gt;

&lt;p&gt;The issue that made me realise finally that I have been solving solved problems is OTA - Over The Air updates. When I started working on this project I had not thought that I would need to update my code remotely. I came with my mentality from over 3 years ago when I was making toy embedded systems. I have been doing backend systems for the past years and over there this is given by default unlike in embedded systems.&lt;/p&gt;

&lt;p&gt;From the little research I have done, most of the OTA systems seem to be for C/C++ systems. I feel I need to solve this solved problem for my Micropython code. I still emphasize about my code structure, I don't want to affect my code architecture that much. But the mere thought of what it will take to create an OTA system from scratch makes me shiver. I am sure over there too, I'll have to deal with things that I have not already foreseen.&lt;/p&gt;

&lt;p&gt;This journey has made appreciate libraries and frameworks that have already been created and why companies pay to use proprietary libraries. Solving already solved problems sucks and is not your core business. I have learnt it the hard way. However, you learn a lot in&lt;br&gt;
the process of solving them which hopefully makes you a better developer.&lt;/p&gt;

</description>
      <category>devjournal</category>
      <category>iot</category>
      <category>python</category>
      <category>systems</category>
    </item>
    <item>
      <title>Migrating To Neovim v0.12.0 Challenge Faced And Solution Found</title>
      <dc:creator>Kevin Asaria</dc:creator>
      <pubDate>Sat, 11 Apr 2026 11:21:10 +0000</pubDate>
      <link>https://dev.to/kevinasaria/migrating-to-neovim-v0120-challenge-faced-and-solution-found-6f</link>
      <guid>https://dev.to/kevinasaria/migrating-to-neovim-v0120-challenge-faced-and-solution-found-6f</guid>
      <description>&lt;p&gt;A week ago I saw that there was a new version of Neovim(v0.12.0) out &lt;br&gt;
and I decide to upgrade to it. These are the challenges that I faced &lt;br&gt;
and how I solved it. &lt;/p&gt;

&lt;p&gt;Context, as is required nowadays. I use LazyVim to transform the basic neovim to be a capable IDE. And indeed I do not do much configuration cause I have not learnt to and the out of the box experience has served me well. I just install LSPs through mason and so far I have not faced any issue.&lt;/p&gt;

&lt;p&gt;I thought that switching to neovim v0.12 would be as easy as &lt;a href="https://github.com/neovim/neovim/releases/tag/v0.12.1" rel="noopener noreferrer"&gt;downloading&lt;/a&gt; the binary , deleting the current one and replacing it with the new one. Easy peasy lemon squeezy.&lt;/p&gt;

&lt;p&gt;However, I came across a problem whereby the UI broke and I kept getting this error&lt;/p&gt;

&lt;p&gt;&lt;em&gt;E5108: Lua: vim/_core/editor.lua:0: nvim_exec2()[1]..BufReadPost Autocommands for "*": Vim(append):Lua callback: /usr/share/nvim/runtime/lua/vim/treesitter/languagetree.lua:208: /usr/share/nvim/runtime/lua/vim/treesitter/languagetree.lua:391: attempt to call method 'set_timeout' (a nil value)&lt;/em&gt;&lt;/p&gt;

&lt;p&gt;After perusing through this error message, I guessed that it was an issue to do with treesitter as there was a change made about it in the new version. This &lt;a href="https://www.qu8n.com/posts/treesitter-migration-guide-for-nvim-0-12" rel="noopener noreferrer"&gt;article&lt;/a&gt; explains more about it. So I installed treesitter on my system using &lt;a href="https://github.com/tree-sitter/tree-sitter/blob/master/crates/cli/README.md" rel="noopener noreferrer"&gt;cargo&lt;/a&gt;.&lt;/p&gt;

&lt;p&gt;However, the UI problem persisted and I was getting a bit frustrated and for a moment turned to explore the code I was interested in on vscode but it was a hard change since my built muscle memory made it feel unusable. &lt;/p&gt;

&lt;p&gt;So I went back and looked at the error, I tried reinstalling LazyVim again by replacing the old configs as mentioned in their &lt;a href="https://www.lazyvim.org/installation" rel="noopener noreferrer"&gt;installation guide&lt;/a&gt; but the problem persisted. Loosing patience, I came to the grave realisation that maybe it was time to familiarise myself with vscode. Anyway, it is what everyone uses nowadays.&lt;/p&gt;

&lt;p&gt;I decided to make one last shot in finding a solution before bidding my beloved editor good bye. Looking at the error message, I saw a curious path in the error message '/usr/share/nvim/runtime/...' . I decided to delete it. I thought it would get reinstalled back when I reinstalled LazyVim. It wasn't and even the LazyVim installation could not take place. I got the truncated error below when I opened nvim&lt;/p&gt;

&lt;p&gt;&lt;em&gt;E5113: Lua chunk: vim/_init_packages.lua:0: module 'vim.uri' not found: no field package.preload['vim.uri']&lt;/em&gt;&lt;/p&gt;

&lt;p&gt;which led me to this &lt;a href="https://github.com/nvim-lua/kickstart.nvim/issues/454" rel="noopener noreferrer"&gt;github issue&lt;/a&gt; which explained I had to copy my specific neovim version's runtime to the path '/usr/local/share/nvim'. In my case I had to do:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;git clone https://github.com/neovim/neovim.git
&lt;span class="nb"&gt;cd &lt;/span&gt;neovim
git checkout v0.12.0
&lt;span class="nb"&gt;sudo cp&lt;/span&gt; &lt;span class="nt"&gt;-r&lt;/span&gt; runtime /usr/local/share/nvim
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;And now things are working as expected and I can breathe a sigh of relief. As you have seen, it was just a matter of going with my gut feeling in order to fix this issue. I don't think changing versions is as hectic in vscode as in neovim. I know it is as skill issue but if someone like me who is used to getting beaten by software felt so frustrated, I imagine that a less patient user would have already moved on. &lt;/p&gt;

&lt;p&gt;Thank you for your time and hope this helped you.&lt;/p&gt;

</description>
      <category>neovim</category>
    </item>
    <item>
      <title>My Journey Into Elixir </title>
      <dc:creator>Kevin Asaria</dc:creator>
      <pubDate>Thu, 03 Jun 2021 08:23:06 +0000</pubDate>
      <link>https://dev.to/kevinasaria/my-journey-into-elixir-34n7</link>
      <guid>https://dev.to/kevinasaria/my-journey-into-elixir-34n7</guid>
      <description>&lt;p&gt;I have always been interested in learning programming languages rather than frameworks of a particular language. Last year(2020) I decided to learn a functional language having heard so much buzz around them.&lt;/p&gt;

&lt;p&gt;Now the question was which functional programming language would I embark to learn. At that time the only functional languages that I had heard of were Lisp and Haskell but then the youtube algorithms kicked in and gave the the video &lt;a href="https://www.youtube.com/watch?v=lxYFOM3UJzo"&gt;Elixir: The Documentary &lt;/a&gt; by honeypot. &lt;/p&gt;

&lt;p&gt;I liked the emphasis they put on hardware , that is, computers are getting more cores and other languages are not designed to utilise such infrastructure. In the video they also stated that it could be used in &lt;a href="https://www.nerves-project.org/"&gt;IoT&lt;/a&gt; and its use reduced the use of server resources. When I heard all this I was hooked.&lt;/p&gt;

&lt;p&gt;That's how the my journey began with Elixir. It has been a slow journey but currently I am learning the &lt;a href="https://www.phoenixframework.org/"&gt;Phoenix&lt;/a&gt; framework for building web applications for a project I am planning to undertake.&lt;/p&gt;

&lt;p&gt;This is just to encourage you to peek into the Elixir language and get a different perspective of what programming can be. Like pattern matching instead of assignments when using the = operator or spawning processes to do some work.&lt;/p&gt;

&lt;p&gt;The journey continues slowly but surely.&lt;/p&gt;

</description>
    </item>
  </channel>
</rss>
