<?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: Tavershima</title>
    <description>The latest articles on DEV Community by Tavershima (@tavershima).</description>
    <link>https://dev.to/tavershima</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%2F677701%2Fc470877a-d6ad-4f40-ab38-e4ff86230bf6.jpg</url>
      <title>DEV Community: Tavershima</title>
      <link>https://dev.to/tavershima</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://dev.to/feed/tavershima"/>
    <language>en</language>
    <item>
      <title>Vibe Coding: The pretext to system failure</title>
      <dc:creator>Tavershima</dc:creator>
      <pubDate>Sat, 29 Mar 2025 00:17:41 +0000</pubDate>
      <link>https://dev.to/tavershima/vibe-coding-the-pretext-to-system-failure-4i72</link>
      <guid>https://dev.to/tavershima/vibe-coding-the-pretext-to-system-failure-4i72</guid>
      <description>&lt;p&gt;Back to the internet –&lt;/p&gt;

&lt;p&gt;A lot of advances have been made in software engineering, especially coding; AI has sent shock waves to the entire ecosystem with computer assisted coding. In fact, a lot of CEOs speculate by the year 2026 90% of code will be AI generated, I doubt this.&lt;/p&gt;

&lt;p&gt;Lets go back to the basic principle of LLMs (Large Language Models) – data. Large language models spool out data based on data they have learnt from over time. This is data crawled over the internet. Computer programming is not a straightforward field, when it involves fulfilling the customer’s idea conception, things could be cranky.&lt;/p&gt;

&lt;p&gt;A lot has happened since LLMs like ChatGpt, Cursor and Claude began spooling code for developers. Even project managers can claim to write an entire application without having to learn coding – I guess you should be happy as developer.&lt;/p&gt;

&lt;p&gt;I recently installed the latest version of visual studio and I was impressed with the code completion feature – because it did exactly what I wanted it to do. Why I was impressed wasn’t just because it did exactly what I wanted to do but it did it in my own coding style, it learnt from my coding pattern and I just went along with the flow.&lt;/p&gt;

&lt;p&gt;It is a great sham that beginners are being sold the lie that you no longer need to learn coding to write software. The term called for this is ‘vibe coding’ – a way of writing unreliable software.&lt;br&gt;
One thing LLMs haven’t gotten so good at is ‘comprehension with intent and context’, this is a very trivia topic even for human beings. Interpreting intent in a context could be such a daunting task especially if you do not have the full scope of the subject – a topic which humans are still bad at, especially when it comes to transferring context to machines.&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;Understanding the fundamentals of programming, the language and framework being used is sacrosanct to writing any sustainable and scalable computer program. This is non-negotiable.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;Can AI refactor the spaghetti code it generated to produce an optimal solution? Can you fix legacy code by not understanding the code base? Several reports have emerged of Cursor deleting random files or an entire code base just to fix an issue it created, or not understanding where to fix the problem, something you could do by just placing breakpoints in the call stack.&lt;/p&gt;

&lt;p&gt;Spooling out code does not replace having understanding of problem and tools required to solve it. How do you know you have to secure your api keys before they are being shipped? How do you recognize an Sql injection if AI writes bad code? Or how will you know you’re to implement api keys rate limiting before you go live? I guess @leojr94_ on X can tell more about this experience.&lt;/p&gt;

&lt;p&gt;According to &lt;a href="https://www.msn.com/en-us/news/technology/ebpf-it-doesnt-stand-for-anything-but-it-might-mean-bank/ar-AA1Az1hz" rel="noopener noreferrer"&gt;this article by msn&lt;/a&gt; a C++ professional who dug into the archives of the code for strobelight – Meta’s profiling application which collects observability data from several of its services, discovered a performance debt. How did he solve this? Just by introducing the ampersand(&amp;amp;) which is an address operator which allowed the program to make reference to the actual data instead of making a copy of it each time it needs it. This single character commit constituted a 20% reduction in computing power required to perform the same operation which equated to an estimated 15,000 servers in capacity savings per year. This is the beauty of software engineering.&lt;/p&gt;

&lt;p&gt;You can vibe code yourself into prototyping but you can’t vibe code yourself into production ready systems, lest you’ll vibe code your company into bankruptcy.&lt;/p&gt;

</description>
    </item>
    <item>
      <title>Why does Xender use the 192.168.xxx.xxx for communication?</title>
      <dc:creator>Tavershima</dc:creator>
      <pubDate>Sun, 02 Jan 2022 15:36:30 +0000</pubDate>
      <link>https://dev.to/tavershima/why-does-xender-use-the-192168xxxxxx-for-communication-42go</link>
      <guid>https://dev.to/tavershima/why-does-xender-use-the-192168xxxxxx-for-communication-42go</guid>
      <description>&lt;p&gt;As a web developer, you must have come across the address 192.168.x.x before, but what does this all mean in our internet system and why is it so important?&lt;/p&gt;

&lt;p&gt;Before we go deep into this discussion, you need to understand what happened in the early days of the internet.&lt;/p&gt;

&lt;p&gt;Back in the days when computers were still a new thing and the internet was still developing, a lot of organizations wanted to join the growing trend of connecting several computers together, to leverage on the new technology of computers and not just that, be able to transfer their work from one work desk to another; So everyone created his own internet (LAN). But problem arose when these private internets wanted to communicate with other internets – WAN(generally known as INTERNET; the largest implementation of WAN). At some point, the IETF also report this case so this gave birth to the &lt;a href="https://datatracker.ietf.org/doc/html/rfc1918"&gt;rfc 1918&lt;/a&gt;. &lt;/p&gt;

&lt;p&gt;A network is identified by two or more devices connected to each other, when these devices are connected to each other, the device which created the network hereby called the host/server assigns numbers to each device, lets say 1, 2, 3,.... but in this case 1, 2, 3,... may not make any meaning so they came up with the idea of IP Addresses; something like 123.456.7.8. This looks better right? Yea, sure. &lt;/p&gt;

&lt;p&gt;So these numbers are assigned to every device in a company, lets say Microsoft. Now these connected devices can communicate with each other and know the identity of each other fairly. But what happens when one wants to talk to another computer outside the Microsoft network? One would suggest that he simply joins the other network, then? Unfortunately, things don’t work that way.&lt;/p&gt;

&lt;p&gt;It was also common that some computers in one organization had the same IP address with another computer in another organization. This caused a routing issue. This was a lifetime disaster.&lt;/p&gt;

&lt;p&gt;The IETF has assigned the range of the IP Addresses to be used as private IPs. &lt;br&gt;
10.0.0.0        -   10.255.255.255  (10/8 prefix)&lt;br&gt;
172.16.0.0      -   172.31.255.255  (172.16/12 prefix)&lt;br&gt;
192.168.0.0     -   192.168.255.255 (192.168/16 prefix)&lt;/p&gt;

&lt;p&gt;In practice, it means that organisations who wants to make a peer to peer or local connection can choose IP addresses from these range and should never go to the public internet. This has given the implementation which makes xender and other routers switch any addresses within the range of 192.168.0.0 – 192.168.255.255.  Most routers have chosen the 192.168.0.1 or 192.168.8.1 as their fixed IP to configure the admin settings for their routers.&lt;/p&gt;

&lt;h2&gt;
  
  
  So why then does xender choose the 192.168.x.x block?
&lt;/h2&gt;

&lt;p&gt;By permutation, it can be summed up that the Class A (10.0.0.0) block can connect up to 16,777,216 devices, the Block B up to 1,048,576 and the Block C 65,536. By no means have we ever seen a common router address up to 65,000 devices, moreover, mobile devices are not made for that purpose. This information is known to networking manufacturers and for that purpose, they choose to preserve the memory space which will be allotted and go for the minimum.&lt;/p&gt;

</description>
    </item>
    <item>
      <title>The best way to dual boot a PC</title>
      <dc:creator>Tavershima</dc:creator>
      <pubDate>Tue, 21 Dec 2021 01:21:33 +0000</pubDate>
      <link>https://dev.to/tavershima/the-best-way-to-dual-boot-a-pc-40m</link>
      <guid>https://dev.to/tavershima/the-best-way-to-dual-boot-a-pc-40m</guid>
      <description>&lt;p&gt;There are several reasons why one would want to dual boot his PC. Most times, we find ourselves in hoes where our hooves need to fit in and in that case we have to. Dual booting can become a stressful task especially when you have not made up your mind on what your requirements are. There are several alternatives to not dual booting like using a virtual machine. But when it comes to performance, you just don’t have any option than installing that second OS to utilize the full capacity of the hardware individually.&lt;/p&gt;

&lt;h2&gt;
  
  
  1. Partition your hard drive
&lt;/h2&gt;

&lt;p&gt;A good example of dual booting your PC would be to partition your hard drive into two and install the second OS, lets say Linux on the other partition, that’s a good take. But what are the advantages and disadvantages this method present to us? &lt;/p&gt;

&lt;h3&gt;
  
  
  Advantages
&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;&lt;p&gt;One fair advantage would be that, you don’t have to worry about getting a second storage drive, &lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;hings always remain in one place. Well, that’s fair enough if you might say but lets also consider another aspect of it.&lt;/p&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;h3&gt;
  
  
  Disadvantages
&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;&lt;p&gt;Let's be honest here, what if the entire drive crashes and you cannot save the other partition? Cases like this happen and all your data is wiped off, even when you partition the hard drive. &lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Sometimes, things could get messy installing a second OS like Linux on a partition after Windows has already been living on that storage drive. &lt;/p&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;blockquote&gt;
&lt;p&gt;Let’s be honest, Windows is a kind of selfish OS.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;It assumes that it’s the only OS in the world when installed on a PC hence it takes over the BIOS when installed first on storage drive and if proper care is not taken may not boot again when you try installing a second OS on the same system hence Linux will always warn you when trying to install it as a second OS through the same system. There are precautions to avoid this too.&lt;/p&gt;

&lt;h2&gt;
  
  
  2. Install the second OS on a different drive.
&lt;/h2&gt;

&lt;p&gt;This could be an external hard drive. Installing your OS on an external drive that uses a cable to attach to the storage mechanism isn’t a safe one to say, as the storage drive will never be stationary. Your storage drive could corrupt at a slight provocation, especially when that friend of yours comes around to tease you and mistakenly touches to connecting cable, hence unmounting the drive from the PC.&lt;/p&gt;

&lt;p&gt;Another option one would prefer through the external storage approach in this case would be to obtain a flash drive which does not easily detach when slightly tempered with by an external agent. This is very secure as flash drives can be easily carried around without duress and even fit in your pocket hole. This means you’re carrying around an entire PC on your neck. Hurray!! This is a win win for penetration testers and system administrators who may want to get their work done anywhere they are without necessarily carrying around their system; like a plug and play OS.&lt;/p&gt;

</description>
    </item>
    <item>
      <title>Native apps are slowly taking over</title>
      <dc:creator>Tavershima</dc:creator>
      <pubDate>Wed, 04 Aug 2021 12:46:34 +0000</pubDate>
      <link>https://dev.to/tavershima/native-apps-are-slowly-taking-over-dhe</link>
      <guid>https://dev.to/tavershima/native-apps-are-slowly-taking-over-dhe</guid>
      <description>&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--MyEEzQrN--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://devblogs.microsoft.com/dotnet/wp-content/uploads/sites/10/2021/05/maui-weather-hero-sm.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--MyEEzQrN--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://devblogs.microsoft.com/dotnet/wp-content/uploads/sites/10/2021/05/maui-weather-hero-sm.png" alt="Alt Image Text"&gt;&lt;/a&gt;&lt;br&gt;
&lt;em&gt;Image copyright of &lt;a href="https://devblogs.microsoft.com/dotnet/announcing-net-maui-preview-4/"&gt;devblogs.microsoft.com&lt;/a&gt;&lt;/em&gt;&lt;/p&gt;

&lt;p&gt;Back then when we had fewer options of choosing what to do and and how we go about doing it, things have become way more easier as the web seems to be taking over. But is this the climax of our long known native apps? Most users prefer to visit a page where they can see the data they need and afterwards, that's all about it. 'The whole thing should just go away'. As we continue to use web apps daily, we continue to abuse it also, talking in the aspect of a software developer. We make apps which are supposed to be native apps, a web app, mostly, because that's the technology we know, but the end users are also watching.&lt;/p&gt;

&lt;p&gt;It's more difficult for a user to remember the site he saw an info on than him reluctantly snooze into his native app to grasp what he wants at any time. Yes tell me that the browser history is there, and how easy has it been for you trying to find info from a long list of history for a site you don't know it's name? You must have gone into a deadlock when you ended up wasting your time.&lt;/p&gt;

&lt;p&gt;Most sites now provide a web version and a native version, be it mobile or desktop. Companies are beginning to discover the willingness of a user to open a native app which they frequently see, sitting on their device than trying to remember and frequently typing the same address or even worse a long  URL which is impossible to cram.&lt;/p&gt;

&lt;p&gt;Not every user is interested in bookmarking your page, moreover of how much importance is the page to him? Most users do not use the browser bookmark, the little that do, how many of them want to pollute their browser with so many saved pages on their welcome screen?&lt;/p&gt;

&lt;p&gt;Think about it if really that all should be a web app or a native app. If you're targeting high visits and usage of your platform then you should consider that native option, whether it will be good for your target users&lt;/p&gt;

</description>
      <category>programming</category>
      <category>computerscience</category>
    </item>
  </channel>
</rss>
