<?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: Oladipupo Isaac Tunji </title>
    <description>The latest articles on DEV Community by Oladipupo Isaac Tunji  (@dev_olatunji).</description>
    <link>https://dev.to/dev_olatunji</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%2F1749246%2F5ca2bb27-982f-44f5-9037-1dda1a1cb230.png</url>
      <title>DEV Community: Oladipupo Isaac Tunji </title>
      <link>https://dev.to/dev_olatunji</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://dev.to/feed/dev_olatunji"/>
    <language>en</language>
    <item>
      <title>Monoliths vs. Microservices: A No-Nonsense Guide for Devs</title>
      <dc:creator>Oladipupo Isaac Tunji </dc:creator>
      <pubDate>Thu, 10 Apr 2025 08:17:22 +0000</pubDate>
      <link>https://dev.to/dev_olatunji/monoliths-vs-microservices-a-no-nonsense-guide-for-devs-idh</link>
      <guid>https://dev.to/dev_olatunji/monoliths-vs-microservices-a-no-nonsense-guide-for-devs-idh</guid>
      <description>&lt;p&gt;Hello my fellow Dev.to crew! If you’ve ever wondered what’s up with monoliths and microservices and why people argue about them, let me break it down to the simplest form that you can understand. &lt;/p&gt;

&lt;p&gt;&lt;strong&gt;NOTE: This is for developers and techy business types who want the straight scoop, no fluff.&lt;/strong&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  What’s a Monolith?
&lt;/h2&gt;

&lt;p&gt;Picture a monolith as a single, all-in-one app. Everything—your homepage, login, database—is bundled together, built and run on one system. You or your team manage it end-to-end, usually with a fixed set of tools. It’s like a Swiss Army knife: handy, but if one part breaks, the whole thing’s in trouble.&lt;/p&gt;

&lt;h2&gt;
  
  
  What’s a Microservices Setup?
&lt;/h2&gt;

&lt;p&gt;Now, microservices are more like a team of specialists. Each feature—say, login, comments, or messaging—lives on its own. You can build them with different tools, host them on different servers, even have different people handle them. If one piece crashes, the rest keep chugging along.&lt;/p&gt;

&lt;h2&gt;
  
  
  Real-Life Examples
&lt;/h2&gt;

&lt;p&gt;Think of a monolith like Mr. Okoro’s corner store. He runs the show solo—sells, stocks, sweeps. If he’s out sick, the shop’s closed. Understood? Yes - I guess.&lt;/p&gt;

&lt;h2&gt;
  
  
  Microservices?
&lt;/h2&gt;

&lt;p&gt;That’s Mr. Okoro teaming up with his fellow pals - each of them good with what they do best: he’s on marketing, Ali’s got the cash, Simbi keeps things organized, and I (Dev Olatunji), I’m sweet-talking clients. If one of us fumbles, the business doesn’t collapse. Why? Because, it'll adapt.&lt;/p&gt;

&lt;h2&gt;
  
  
  A Typical Example Of Microservices Using Facebook
&lt;/h2&gt;

&lt;p&gt;Imagine Facebook splitted into chunks:&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;&lt;p&gt;Homepage - &lt;a href="https://www.facebook.com" rel="noopener noreferrer"&gt;https://www.facebook.com&lt;/a&gt; | Hosted By - Panla Fish | Server Location - New York | Responsibility - Providing Information about the facebook platform and what it stands for &lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Auth System - JWT | Hosted By - Google | Server Location - Florida | Responsibility - Authenticating Users &lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Comments System - PHP | Hosted By - Hostinger | Server Location - Washington | Responsibility - Manages all comments processes&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Messenger System - NodeJs | Hosted By - Interserver | Server Location - Canada | Responsibility - Handles all messaging processes&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Mobile App - Flutter | Hosted By - Play Store &amp;amp; App Store | Server Location - USA | Responsibility - User interface, and interaction with all other servers.&lt;/p&gt;&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;The examples can be endless. &lt;/p&gt;

&lt;p&gt;If the comments system go down, you can still message your pals. However, i a monolith project or ecosystem? That isn't true. One crash, and it’s a bumb blast for everything else.&lt;/p&gt;

&lt;h2&gt;
  
  
  Why Pick Microservices?
&lt;/h2&gt;

&lt;p&gt;Here’s the deal - microservices keep your app alive even when some part breaks. Users can still do something while you fix the mess. Plus, you’re free to use whatever tools or hosting you like for each part. Flexibility for the days ahead.&lt;/p&gt;

&lt;p&gt;Monoliths, though? They’re simpler. One codebase, one server, less to juggle. Great when you’re starting out or keeping it small.&lt;/p&gt;

&lt;h2&gt;
  
  
  So, Which One Should You Use?
&lt;/h2&gt;

&lt;p&gt;No one's the “best” here - it’s about what fits. &lt;/p&gt;

&lt;h2&gt;
  
  
  FActors to consider
&lt;/h2&gt;

&lt;p&gt;Cash: Microservices cost more with all those separate setups.&lt;/p&gt;

&lt;p&gt;Crew: Big team? Microservices are your best bet. Solo or small squad? Monolith’s easier.&lt;/p&gt;

&lt;p&gt;Goal: Tiny side project? Monolith. Next big startup? Microservices scales better.&lt;/p&gt;

&lt;p&gt;I’ve built both, and they’ve got their moments. Depends on where you’re at.&lt;/p&gt;

&lt;h2&gt;
  
  
  Stuck Choosing?
&lt;/h2&gt;

&lt;p&gt;If you’re scratching your head over this - or trying to level up an existing project - shoot me an email at &lt;a href="mailto:mail.oladipupoisaactunji@gmail.com"&gt;mail.oladipupoisaactunji@gmail.com&lt;/a&gt; (mailto:&lt;a href="mailto:mail.oladipupoisaactunji@gmail.com"&gt;mail.oladipupoisaactunji@gmail.com&lt;/a&gt;) with the subject “Monolith or Microservices.” Then, tell me what you’re working or have worked on, and I’ll be so glad to toss some ideas your way.&lt;/p&gt;

&lt;p&gt;I’m Dev Olatunji, by the way. The first man to cook beans with code and, it tasted great, trust me - I think guinness world records needs to takse note of this. Lol!&lt;/p&gt;

&lt;p&gt;Let’s figure out your next move! &lt;/p&gt;

&lt;p&gt;I don't own the image attatched as the cover image please. &lt;/p&gt;

</description>
      <category>webdev</category>
      <category>programming</category>
      <category>devops</category>
      <category>career</category>
    </item>
    <item>
      <title>Introduction To MySQL &amp; SQL QUERIES</title>
      <dc:creator>Oladipupo Isaac Tunji </dc:creator>
      <pubDate>Thu, 09 Jan 2025 10:15:41 +0000</pubDate>
      <link>https://dev.to/dev_olatunji/introduction-to-mysql-sql-queries-1ine</link>
      <guid>https://dev.to/dev_olatunji/introduction-to-mysql-sql-queries-1ine</guid>
      <description>&lt;p&gt;As is my intention to share my software development journey gradually, I'll begin with a #sql tutorial right here on my profile. &lt;/p&gt;

&lt;p&gt;You can use the hash tag #sqlWithDevOlatunji to search for my posts on SQL on all platforms. &lt;/p&gt;

&lt;p&gt;So, I'll begin with what SQL - Structured Query Language - is. &lt;/p&gt;

&lt;p&gt;What's SQL? &lt;/p&gt;

&lt;p&gt;This is a querying language - it's not regarded as a programming language - that is used to manage or manipulate databases such as storing, retrieving, deleting or updating data stored in the database. &lt;/p&gt;

&lt;p&gt;SQL is so important that is used whenever there's need to store or retrieve data digitally. &lt;/p&gt;

&lt;p&gt;It is used by data analysts, software developers, web developers and you can keep naming tech professionals that make use of of. &lt;/p&gt;

&lt;p&gt;In my coming posts or series, I'll be expounding more into the use of SQL in our world today. I'll also share example codes, how to install etc. &lt;/p&gt;

&lt;p&gt;By following this series religiously, you should have had a deep knowledge of the language by the end of one month. &lt;/p&gt;

&lt;p&gt;In the coming months, I'll share with us what other languages I'll be posting about. &lt;/p&gt;

&lt;p&gt;Please, if there's anything you don't understand, you can always ask in the comment section of the post from which your question arises from. &lt;/p&gt;

&lt;p&gt;I hope this year is the most fruitful year you've ever had. &lt;/p&gt;

&lt;p&gt;More happiness to all my fellow devs. &lt;/p&gt;

&lt;h1&gt;
  
  
  codingWithDevOlatunji #coding #programming
&lt;/h1&gt;

&lt;p&gt;By the way, it's you right to hold me accountable to this task. Do well to tag me whenever you feel I ain't giving enough energy to this. Plus, whether I see reactions or not, I'm still going to do it anyways. &lt;/p&gt;

</description>
      <category>mysql</category>
      <category>sql</category>
      <category>beginners</category>
      <category>programming</category>
    </item>
    <item>
      <title>How to Create a Chrome Extension: A Friendly Guide</title>
      <dc:creator>Oladipupo Isaac Tunji </dc:creator>
      <pubDate>Tue, 17 Sep 2024 06:20:12 +0000</pubDate>
      <link>https://dev.to/dev_olatunji/how-to-create-a-chrome-extension-a-friendly-guide-ccf</link>
      <guid>https://dev.to/dev_olatunji/how-to-create-a-chrome-extension-a-friendly-guide-ccf</guid>
      <description>&lt;h1&gt;
  
  
  How to Create a Chrome Extension: A Friendly Guide
&lt;/h1&gt;

&lt;p&gt;&lt;em&gt;Keywords: Creating a Chrome extension&lt;/em&gt;&lt;/p&gt;

&lt;p&gt;Hey there, tech enthusiasts! 👋 It's 2024, and the digital world is buzzing with possibilities. You know what's cool? Chrome extensions! These little software nuggets can turn your everyday browsing into a supercharged experience. So, let's chat about how you can create your very own Chrome extension. Trust me, it's not as scary as it sounds!&lt;/p&gt;

&lt;h2&gt;
  
  
  What's a Chrome Extension, Anyway?
&lt;/h2&gt;

&lt;p&gt;Think of a Chrome extension as a mini-app that rides along with your browser. It's like having a Swiss Army knife for your internet adventures. Want to block ads? There's an extension for that. Need a grammar checker? Yep, got one of those too. These handy tools are built with the web's favorite languages: HTML, CSS, and JavaScript.&lt;/p&gt;

&lt;h2&gt;
  
  
  Let's Build One, Step by Step!
&lt;/h2&gt;

&lt;h3&gt;
  
  
  Step 1: Set Up Your Project Folder
&lt;/h3&gt;

&lt;p&gt;First things first, let's get organized. Create a new folder on your computer and give it a cool name. This is where all your extension's files will live.&lt;/p&gt;

&lt;h3&gt;
  
  
  Step 2: The Manifest File - Your Extension's ID Card
&lt;/h3&gt;

&lt;p&gt;Next up, we need to create a manifest.json file. This is like your extension's ID card - it tells Chrome what your extension is all about. Here's a simple example:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight json"&gt;&lt;code&gt;&lt;span class="p"&gt;{&lt;/span&gt;&lt;span class="w"&gt;
  &lt;/span&gt;&lt;span class="nl"&gt;"manifest_version"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="mi"&gt;3&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;&lt;span class="w"&gt;
  &lt;/span&gt;&lt;span class="nl"&gt;"name"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="s2"&gt;"My Awesome Extension"&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;&lt;span class="w"&gt;
  &lt;/span&gt;&lt;span class="nl"&gt;"version"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="s2"&gt;"1.0"&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;&lt;span class="w"&gt;
  &lt;/span&gt;&lt;span class="nl"&gt;"description"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="s2"&gt;"This extension will blow your mind!"&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;&lt;span class="w"&gt;
  &lt;/span&gt;&lt;span class="nl"&gt;"action"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="p"&gt;{&lt;/span&gt;&lt;span class="w"&gt;
    &lt;/span&gt;&lt;span class="nl"&gt;"default_popup"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="s2"&gt;"popup.html"&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;&lt;span class="w"&gt;
    &lt;/span&gt;&lt;span class="nl"&gt;"default_icon"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="s2"&gt;"icon.png"&lt;/span&gt;&lt;span class="w"&gt;
  &lt;/span&gt;&lt;span class="p"&gt;},&lt;/span&gt;&lt;span class="w"&gt;
  &lt;/span&gt;&lt;span class="nl"&gt;"permissions"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="w"&gt;
    &lt;/span&gt;&lt;span class="s2"&gt;"activeTab"&lt;/span&gt;&lt;span class="w"&gt;
  &lt;/span&gt;&lt;span class="p"&gt;]&lt;/span&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;span class="p"&gt;}&lt;/span&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;h3&gt;
  
  
  Step 3: Create a Popup - Your Extension's Face
&lt;/h3&gt;

&lt;p&gt;Now, let's give your extension a face! Create a file called popup.html. This is what users will see when they click on your extension icon. Keep it simple and friendly. Copy and paste the code below or, simply write yours.&lt;br&gt;
&lt;/p&gt;

&lt;p&gt;&lt;code&gt;&amp;lt;!DOCTYPE html&amp;gt;&lt;br&gt;
&amp;lt;html&amp;gt;&lt;br&gt;
  &amp;lt;head&amp;gt;&lt;br&gt;
    &amp;lt;title&amp;gt;My Extension&amp;lt;/title&amp;gt;&lt;br&gt;
    &amp;lt;style&amp;gt;&lt;br&gt;
      body {&lt;br&gt;
        font-family: Arial, sans-serif;&lt;br&gt;
        width: 300px;&lt;br&gt;
        padding: 10px;&lt;br&gt;
      }&lt;br&gt;
    &amp;lt;/style&amp;gt;&lt;br&gt;
  &amp;lt;/head&amp;gt;&lt;br&gt;
  &amp;lt;body&amp;gt;&lt;br&gt;
    &amp;lt;h1&amp;gt;Hello, Chrome Extension!&amp;lt;/h1&amp;gt;&lt;br&gt;
    &amp;lt;button id="click-me"&amp;gt;Click Me&amp;lt;/button&amp;gt;&lt;br&gt;
    &amp;lt;script src="popup.js"&amp;gt;&amp;lt;/script&amp;gt;&lt;br&gt;
  &amp;lt;/body&amp;gt;&lt;br&gt;
&amp;lt;/html&amp;gt;&lt;/code&gt;&lt;br&gt;
&lt;/p&gt;

&lt;h3&gt;
  
  
  Step 4: Add Some Brains with JavaScript
&lt;/h3&gt;

&lt;p&gt;To make your extension actually do something, you'll need some JavaScript. Create a file called popup.js and link it to your HTML file. This is where the magic happens! Copy the code below or write yours.&lt;br&gt;
&lt;/p&gt;

&lt;p&gt;&lt;code&gt;document.getElementById('click-me').addEventListener('click', function() {&lt;br&gt;
  alert('Button clicked!');&lt;br&gt;
});&lt;/code&gt;&lt;br&gt;
&lt;/p&gt;

&lt;h3&gt;
  
  
  Step 5: Don't Forget the Icon!
&lt;/h3&gt;

&lt;p&gt;Every superhero needs a logo, right? Create an icon for your extension (or find a free one online) and save it as icon.png in your project folder.&lt;/p&gt;

&lt;h3&gt;
  
  
  Step 6: Time to Test!
&lt;/h3&gt;

&lt;p&gt;Ready for the moment of truth? Open up Chrome, go to chrome://extensions/, turn on Developer Mode, and click "Load unpacked". Choose your project folder, and voila! Your extension should appear in the toolbar.&lt;/p&gt;

&lt;h2&gt;
  
  
  Taking It Further
&lt;/h2&gt;

&lt;p&gt;Once you've got the basics down, the sky's the limit! You can add background scripts to work behind the scenes, content scripts to interact with web pages, or even connect to external APIs for some real power-ups.&lt;/p&gt;

&lt;h2&gt;
  
  
  Pro Tips
&lt;/h2&gt;

&lt;ol&gt;
&lt;li&gt;Keep it simple, silly! A cluttered extension is no fun for anyone.&lt;/li&gt;
&lt;li&gt;Stay secure - follow Chrome's guidelines to keep your users safe.&lt;/li&gt;
&lt;li&gt;Test, test, and test again on different devices.&lt;/li&gt;
&lt;li&gt;Keep your extension fresh with regular updates.&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;Creating a Chrome extension is like cooking up a delicious digital recipe. Start with the basics, add your own flavor, and before you know it, you'll have a tasty tool that makes browsing a whole lot more fun. So, what are you waiting for? Get out there and start building! Who knows, your extension might be the next big thing in the Chrome Web Store. Happy coding! 🚀&lt;/p&gt;

&lt;p&gt;If you enjoy what I do, feel free to &lt;a href="//buymeacoffee.com/olatunji"&gt;buy me a coffee &lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Also, I just resumed writing and will be sharing amazing contents on my blogs. Please, kindly visit them to show me support and don't forget to send me suggestions via the email on my profile on this space.&lt;/p&gt;

&lt;p&gt;Knowledge &lt;br&gt;
&lt;a href="//knowledge%20journey.com.ng"&gt;Knowledge Journey &lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Investor Olatunji&lt;br&gt;
&lt;a href="//olatunji.com.ng"&gt;Finance, Investment &amp;amp; Business&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Thanks for reading. &lt;/p&gt;

&lt;p&gt;With ❤️ from Nigeria 🇳🇬&lt;/p&gt;

</description>
      <category>webdev</category>
      <category>tutorial</category>
      <category>programming</category>
      <category>learning</category>
    </item>
    <item>
      <title>How To Create A Telegram Bot In 6 Easy Steps</title>
      <dc:creator>Oladipupo Isaac Tunji </dc:creator>
      <pubDate>Tue, 03 Sep 2024 09:40:46 +0000</pubDate>
      <link>https://dev.to/dev_olatunji/how-to-create-a-telegram-bot-in-6-easy-steps-2lfl</link>
      <guid>https://dev.to/dev_olatunji/how-to-create-a-telegram-bot-in-6-easy-steps-2lfl</guid>
      <description>&lt;p&gt;Creating a telegram bot hasn't been any easier than what I want to share with you today. Keep reading. &lt;/p&gt;

&lt;p&gt;Firstly, you might want to check the samples I created by integrating one of my blogs into it and a crypto coin mining demo you could play with. &lt;/p&gt;

&lt;p&gt;The bot&lt;br&gt;
&lt;a href="https://t.me/TundaCoinBot" rel="noopener noreferrer"&gt;https://t.me/TundaCoinBot&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;The crypto mining app demo&lt;br&gt;
&lt;a href="https://t.me/TundaCoinBot/app" rel="noopener noreferrer"&gt;https://t.me/TundaCoinBot/app&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Now, let's get started. &lt;/p&gt;

&lt;p&gt;There are two major ways I know to create bots on telegram which are:&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;Using telegram app &lt;/li&gt;
&lt;li&gt;Writing codes&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;This post is meant to teach you how to write commands in the telegram app to create bots. &lt;/p&gt;

&lt;h3&gt;
  
  
  What Is A Bot?
&lt;/h3&gt;

&lt;p&gt;Succinctly, a bot (short for robot) is a computer program or software that is created to automate tasks. The execution of these tasks are totally based on what instructions are given to the bot. &lt;/p&gt;

&lt;p&gt;With the understanding of what a bot is, it is important to know that, companies like Facebook, Twitter, google et cetera make use of bots in their day to day operation. There are different types of bots. But, this particular post only focuses on how to create a telegram bot. &lt;/p&gt;

&lt;p&gt;The benefits of bots are numerous and can't be weighed for the value and ease they bring through automation. Hitherto, I'll go straight to explaining how you can a telegram bot using the steps below.&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;Go to telegram and search for &lt;a class="mentioned-user" href="https://dev.to/botfather"&gt;@botfather&lt;/a&gt;
&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;Ensure it is the verified bot with a tick on it. This both is the gateway to creating other bots on telegram. Call it the API. You can either communicate with it through these commands or through code. &lt;/p&gt;

&lt;h3&gt;
  
  
  2. Create A New Bot
&lt;/h3&gt;

&lt;p&gt;/newbot - create a new bot&lt;br&gt;
/mybots - edit your bots&lt;/p&gt;

&lt;h3&gt;
  
  
  3. Edit Bots
&lt;/h3&gt;

&lt;p&gt;/setname - change a bot's name&lt;br&gt;
/setdescription - change bot description&lt;br&gt;
/setabouttext - change bot about info&lt;br&gt;
/setuserpic - change bot profile photo&lt;br&gt;
/setcommands - change the list of commands&lt;br&gt;
/deletebot - delete a bot&lt;/p&gt;

&lt;h3&gt;
  
  
  4. Bot Settings
&lt;/h3&gt;

&lt;p&gt;/token - generate authorization token&lt;br&gt;
/revoke - revoke bot access token&lt;br&gt;
/setinline - toggle inline mode&lt;br&gt;
/setinlinegeo - toggle inline location requests&lt;br&gt;
/setinlinefeedback - change inline feedback settings&lt;br&gt;
/setjoingroups - can your bot be added to groups?&lt;br&gt;
/setprivacy - toggle privacy mode in groups&lt;/p&gt;

&lt;h2&gt;
  
  
  5. Web Apps
&lt;/h2&gt;

&lt;p&gt;/myapps - edit your web apps&lt;br&gt;
/newapp - create a new web app&lt;br&gt;
/listapps - get a list of your web apps&lt;br&gt;
/editapp - edit a web app&lt;br&gt;
/deleteapp - delete an existing web app&lt;/p&gt;

&lt;h3&gt;
  
  
  6. Games
&lt;/h3&gt;

&lt;p&gt;/mygames - edit your games&lt;br&gt;
/newgame - create a new game&lt;br&gt;
/listgames - get a list of your games&lt;br&gt;
/editgame - edit a game&lt;br&gt;
/deletegame - delete an existing game&lt;/p&gt;

&lt;p&gt;Telegram is part of the future and with the advent of crypto, there's a lot that can be done on telegram such as opening your Gmail, browsing, transacting, shopping (adding your store to telegram) payment of school fees etc. &lt;/p&gt;

&lt;p&gt;As an experienced developer, I can help you achieve these and many more when you entrust your project to me. &lt;/p&gt;

&lt;p&gt;Send me an email via the email on my profile, a DM or comment under this post and we can take it up from there. &lt;/p&gt;

&lt;p&gt;I love drinking coffee and you can buy me a cup or more by clicking the link below. &lt;/p&gt;

&lt;p&gt;&lt;a href="https://www.buymeacoffee.com/olatunji" rel="noopener noreferrer"&gt;https://www.buymeacoffee.com/olatunji&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;You might love my contents on business, finance, Investment and tech or just to support me. Visit &lt;a href="https://www.olatunji.com.ng" rel="noopener noreferrer"&gt;https://www.olatunji.com.ng&lt;/a&gt; to see more of my post. &lt;/p&gt;

&lt;p&gt;Thanks for reading this far. &lt;/p&gt;

&lt;p&gt;Is there any topic you'd love me to talk about or you have something to share? Please kindly share it in the comments and I'll reply as soon as you do. &lt;/p&gt;

</description>
      <category>webdev</category>
      <category>javascript</category>
      <category>php</category>
      <category>programming</category>
    </item>
    <item>
      <title>Language API that allows you to add your native language to it.</title>
      <dc:creator>Oladipupo Isaac Tunji </dc:creator>
      <pubDate>Sun, 01 Sep 2024 15:10:27 +0000</pubDate>
      <link>https://dev.to/dev_olatunji/language-api-that-allows-you-to-add-your-native-language-to-it-9oe</link>
      <guid>https://dev.to/dev_olatunji/language-api-that-allows-you-to-add-your-native-language-to-it-9oe</guid>
      <description>&lt;p&gt;Back in april 2016, I had the idea of creating a dictionary project for a tribe I love so much "Igede Language" which I decided to call "Igede Dictionary" although I wasn't a native speaker. &lt;/p&gt;

&lt;p&gt;This led me to writing and translating over 5,000 words from Igede Language to English. This without doubt has been the toughest of all ideas I've ever worked on or had. &lt;/p&gt;

&lt;p&gt;This project would have launched in 2018. But, in 2018, something happened and it was a very bitter experience for me. &lt;/p&gt;

&lt;p&gt;While working on the android project using WebView, I needed to run the package and build into production. However, I was using an old desktop computer at that time for the project and decided to buy a second hand (used) device to enable me test run the app since my computer only had windows Vista and couldn't install all the packages of android studio including an emulator I needed to test the app on the computer (Maybe, that was how much I knew at that time). &lt;/p&gt;

&lt;p&gt;My very good friends then recommended another friend who was to sell his phone at that period. Guess what? I paid for the phone and was yet to collect the phone when we were arrested by the police 😂😄. &lt;/p&gt;

&lt;p&gt;Well, long story short, I never had the phone, I slept in police custody and deleted the project first thing immediately I got home. It's wasn't funny at the time. &lt;/p&gt;

&lt;p&gt;This event took place on the 16th of October 2018 and then, I lost my dad 30 days+ afterwards. That period actually affected me a whole lot. I was depressed and being a solo type, never had contact with people till 2020. &lt;/p&gt;

&lt;p&gt;I created a page on Facebook with over 3000 followers for that purpose and was very happy when I discovered that, somebody else had done a similar project recently. &lt;/p&gt;

&lt;p&gt;Guess what I did? &lt;/p&gt;

&lt;p&gt;I wrote a complete API to enable developers add their languages online. &lt;/p&gt;

&lt;p&gt;This API features: &lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;&lt;p&gt;Adding a new language &lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Adding new Words/Phrases&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Pronunciations&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Managing a Language's contents &lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Checking for meanings, synonyms etc &lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Lots more! &lt;/p&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;WHAT CAN YOU DO WITH THIS PROJECT? &lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;&lt;p&gt;Translate the contents of a website to a native language &lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Read the contents of a webpage to users in their languages (good for blind people in locations where their native languages are more honored than foreign languages). &lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Everything you can think of. &lt;/p&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Sample Code (PHP):&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;//New Language 

use ola_dictionary\olatunji_dictionary;

$ola_dict = new olatunji_dictionary(); 

//create new directory for your language

$new_dict = $ola_dict-&amp;gt;new_dictionary("Igede Dictionary"); 

$status = json_decode($new_dict, $author); 

echo $status['status']; // success / failed 

// to enable you delete, remove or manage your contents in future, please save the `auth_key` in your response body. Failure to do so, you lose access to manage your contents in future and, it is bound by our legal terms of service thitherward. 

// all languages added are accessible to the public by default. If you intend to disable the default setting, please use `new_dictionary("name of your language dictionary", "author", false)`

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

&lt;/div&gt;



&lt;p&gt;Sample Code (PHP):&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;//Remove Language 

use ola_dictionary\olatunji_dictionary;

$ola_dict = new olatunji_dictionary(); 

//remove directory from our platform

$remove_dict = $ola_dict-&amp;gt;remove_dictionary("Igede Dictionary", "auth_key"); 

$status = json_decode($new_dict); 

echo $status['status']; // success / failed 
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;WHEN AM I RELEASING IT? &lt;/p&gt;

&lt;p&gt;Although the project is a great one, I do not have the resources, capital to host, maintain and keep it running yet. &lt;/p&gt;

&lt;p&gt;So, whether this project is ever released or not is subject to having the financial capacity or capital to launch it as the library without the API is obsolete. &lt;/p&gt;

&lt;p&gt;The source code will be open sourced on GitHub once launched and available for anyone who would love to use it. &lt;/p&gt;

&lt;p&gt;Does this sound like something you'd love to support? &lt;/p&gt;

&lt;p&gt;Send me an mail through the email address on my profile here on dev.to or comment below and I'll happily discuss the project further together with you. &lt;/p&gt;

&lt;p&gt;It's Sunday here my great people and I'm having a great day. How about you? &lt;/p&gt;

&lt;p&gt;I love drinking coffee ☕. So, you could buy me a cup or more by clicking on the link below. &lt;/p&gt;

&lt;p&gt;buymeacoffee.com/olatunji&lt;/p&gt;

&lt;p&gt;Thank you for sharing your precious time with me today. &lt;/p&gt;

&lt;p&gt;Till I Write to you again.&lt;/p&gt;

</description>
      <category>llm</category>
      <category>php</category>
      <category>webdev</category>
      <category>ai</category>
    </item>
    <item>
      <title>The Business Side Of Tech : Where The Money Is</title>
      <dc:creator>Oladipupo Isaac Tunji </dc:creator>
      <pubDate>Sun, 25 Aug 2024 10:50:15 +0000</pubDate>
      <link>https://dev.to/dev_olatunji/the-business-side-of-tech-where-the-money-is-4m28</link>
      <guid>https://dev.to/dev_olatunji/the-business-side-of-tech-where-the-money-is-4m28</guid>
      <description>&lt;p&gt;"Your plans without money is plantain" is a common slang in Nigeria which signifies whatever you do without earning money, is almost about useless. With this said, I wish to ask you, are you satisfied with being the expert that you are without money in your account or you wish to know how money is made with what you do and live the life you deserve? &lt;/p&gt;

&lt;p&gt;It's important to understand that, every single skill, industry or aspect of life has got a business or the money making factor around it. &lt;/p&gt;

&lt;p&gt;You need to know that, not everything you do will put money in your pocket and probably, only 20% of what you are currently doing is earning you about 80% of what you currently earn. That way, you end up wasting 80% of your efforts and time on the things that gives you little to no results.&lt;/p&gt;

&lt;p&gt;To maximize profits, you must learn to identify the 20% efforts that bring you 80% and find a way to do them 80% of your time or 80% of your efforts.&lt;/p&gt;

&lt;p&gt;Skills are meant to solve problems and not necessarily for making money. For instance, a tailor has the skill of sewing which solves the problem of cutting, stitching/putting together of clothe materials or patterns. Funny it is to know that, sewing a clothe doesn't imply that it'll ever be worn. That's where your problem could have been. Knowing how to code is a skill that is meant to create solutions to or solve problems. But, does knowing how to code alone put money in your pocket? You probably should be able to give an answer to that. &lt;/p&gt;

&lt;p&gt;Another example is a Mason who has the skill of placing one block on the other to make a building or shelter. Does building houses make a mason rich or have a lot of money? Never! You may want to ask "why?". Well, the answer or reason is not farfetched. All these people have the knowledge of how to solve the problem but, not the way the solution fetches money. &lt;/p&gt;

&lt;p&gt;This is the singular reason why you find drop outs become the founders of organizations or businesses where graduates can come to work in. What happens at such times is, they found where the money is! &lt;/p&gt;

&lt;p&gt;For a seamstress or tailor, the money side of his or her skill is Fashion design / clothing and that of a Mason is construction and/or engineering. &lt;/p&gt;

&lt;p&gt;It's painful to see creatives find it difficult to earn or make money even with the level of their commitment. They get tired and think those winning actually do something totally different which they aren't aware of. In their opinions, they aren't ever doing enough. You probably are doing your best except where you know you aren't and for doing it differently than you know, yes they do. &lt;/p&gt;

&lt;p&gt;What's the way out? &lt;/p&gt;

&lt;h2&gt;
  
  
  1. The first step to take is to identify why you are in this industry. Could it be for profit or for passion?
&lt;/h2&gt;

&lt;p&gt;The fact is, you probably might never make profit from your passions and where it's possible, the chances are slim - in my own opinion and shouldn't be taken out of context. &lt;/p&gt;

&lt;p&gt;Funny enough, to make money from tech doesn't truly require you to have tech skills. But, you certainly must be decisive and nearly accurate in people, sales and  marketing processes. &lt;/p&gt;

&lt;h2&gt;
  
  
  2. Find out what people pay for in tech and why. People do not pay for beautiful codes or designs. They most of the time pay as a means to an end. - They pay for results.
&lt;/h2&gt;

&lt;p&gt;You need to find out what the expectations of those who pay for tech services are and how or when they need it. &lt;/p&gt;

&lt;p&gt;No one on earth will pay you for writing savory codes or doing some nice jobs without helping them achieve something they direly want to have solved. You can do with your skill whatever you wish to. However, as long as you don't solve a problem, you'll never get paid for your skills. &lt;/p&gt;

&lt;h2&gt;
  
  
  3. Find those who pay these money and their readiness to pay over and over again.
&lt;/h2&gt;

&lt;p&gt;Now that you know those who need what you have to offer (because, not everyone will love what you have to offer), it's the right time to find out how and the reasons why they pay for these things. &lt;/p&gt;

&lt;p&gt;For example, a client contacted me from the US recently and told me she wanted me to handle a church's website personally. The reason been that, they had to some other web developers. However, they weren't sure of the safety of their web hosting account post-development. So to say, what this particular client was paying me a double price for was SAFETY! &lt;/p&gt;

&lt;p&gt;Now, who was she? A marketer! Whereas, I might never get to be able to connect with the real owners of the website, my connection with her was all I needed to be able to get that job. &lt;/p&gt;

&lt;p&gt;Whereas, she focuses on sourcing those gigs, I focus on the coding aspect of the job. She pays me my fee and she earns whatever she chooses to earn afterwards. &lt;/p&gt;

&lt;p&gt;In essence, those whom you ignore might be the connections you need to start getting paid for what you know how to do (your skills). &lt;/p&gt;

&lt;p&gt;To succeed in this industry, you must learn to partner and be a member of a community. It's very crucial. &lt;/p&gt;

&lt;h2&gt;
  
  
  4. Find out where you can find these people
&lt;/h2&gt;

&lt;p&gt;Now, it's time to find these people who are willing to pay you and here's how to do it. &lt;/p&gt;

&lt;p&gt;Firstly, choose what you want to solve and focus on it. You can always upscale as you grow. e.g difficulties in passing education between the deliverer and the receivers (LMS, Edtech), a programming stack etc.&lt;/p&gt;

&lt;p&gt;Secondly, decide how you want to get paid as this will affect what you'll be doing or where you'll position yourself continually. So, you could decide if you want to get paid on monthly, hourly, daily or yearly rate. It's either long term or short term. &lt;/p&gt;

&lt;p&gt;The above will help you choose one of the following:&lt;/p&gt;

&lt;p&gt;A. Freelancing &lt;br&gt;
B. Fill a position (Get a job as a programmer).&lt;br&gt;
C. Consultancy &lt;br&gt;
D. Startup/SaaS products. &lt;/p&gt;

&lt;h2&gt;
  
  
  5. Declutter your potential audience to customers and clients.
&lt;/h2&gt;

&lt;p&gt;This is a bonus for you if you've chosen to go for either of A,C,D and also the most important part of this post. &lt;/p&gt;

&lt;p&gt;It's knowing who a client is and who a customer is. &lt;/p&gt;

&lt;h2&gt;
  
  
  WHO IS A CUSTOMER?
&lt;/h2&gt;

&lt;p&gt;A customer is anyone who you don't have to educate extensively before they go ahead to buy or pay for your services. These are people who already have basic or complete knowledge about what they need and how it benefits them. &lt;/p&gt;

&lt;p&gt;These set of people are the easiest to sell to because they are already prepared to pay for what they need and are only looking for where or who to solve. The pay here is easy, smooth and splendid because, they are aware of the worth of whatever they seek to achieve and that you have to offer. &lt;/p&gt;

&lt;p&gt;They might have varying levels of knowledge about what they need but are generally more transactional in nature. Your relationship with a customer is usually short-term and is focused on a specific transaction or purchase.&lt;/p&gt;

&lt;h2&gt;
  
  
  Characteristics Of A Customer
&lt;/h2&gt;

&lt;p&gt;Customers often know what they want and make their purchasing decisions based on factors like price, convenience, or brand preference. They usually don't necessarily require extensive education or relationship-building before or after buying your products or services. &lt;/p&gt;

&lt;h2&gt;
  
  
  WHO IS A CLIENT?
&lt;/h2&gt;

&lt;p&gt;On the other hand, a client is anyone who needs be educated or pass through some sort of enlightenment before they realize what they need, why they need it and why to pay xyz amount of money for it and why it has to be now or later. &lt;/p&gt;

&lt;p&gt;A client will often engage with a service provider (you) on a longer-term basis. The relationship is more consultative, where the you offer expertise, guidance, and customized solutions.&lt;/p&gt;

&lt;h2&gt;
  
  
  Characteristics Of A Client
&lt;/h2&gt;

&lt;p&gt;Clients often require more education, advice, and a deeper understanding of the services they are receiving. The relationship with a client tends to be more personal, ongoing, and involves more trust and collaboration&lt;/p&gt;

&lt;p&gt;Finally, here's how I'm making my own money from my skills. I launched in startup company in Nigeria called Muva Logistics Services and we provide top-notch relocation services. I decided to go this route because I have great experience and knowledge on how to launch and manage a business. &lt;/p&gt;

&lt;p&gt;It's possible that this might not work for you. However, it's the best way to build a lasting source of recurring income or revenue that you can pass on to the next generation. &lt;/p&gt;

&lt;p&gt;In this industry, those who own a company or are consultants make the most money and are not up to 20% of the whole population in the tech industry. &lt;/p&gt;

&lt;p&gt;Thanks for reading. &lt;/p&gt;

&lt;p&gt;You can subscribe to my profile to know when I drop a new content here again. &lt;/p&gt;

&lt;p&gt;Send me a direct email by using the email on my profile to work with me. &lt;/p&gt;

&lt;p&gt;Good luck!&lt;/p&gt;

</description>
      <category>webdev</category>
      <category>techtalks</category>
      <category>beginners</category>
      <category>programming</category>
    </item>
    <item>
      <title>How To Build And Distribute Desktop Apps Using PHP And PHPDesktop: A Step-by-Step Guide</title>
      <dc:creator>Oladipupo Isaac Tunji </dc:creator>
      <pubDate>Sat, 24 Aug 2024 15:23:25 +0000</pubDate>
      <link>https://dev.to/dev_olatunji/how-to-build-and-distribute-desktop-apps-using-php-and-phpdesktop-a-step-by-step-guide-1g80</link>
      <guid>https://dev.to/dev_olatunji/how-to-build-and-distribute-desktop-apps-using-php-and-phpdesktop-a-step-by-step-guide-1g80</guid>
      <description>&lt;p&gt;PHP - even though it happens to be a very powerful and influential programming language - is mostly underrated by a lot of programmers who probably do not use it or have used it in its former days. &lt;/p&gt;

&lt;p&gt;Today, I want to share with you the power of PHP and what you can do with it. &lt;/p&gt;

&lt;p&gt;Voila! Let's go 🛩️&lt;/p&gt;

&lt;p&gt;In this guide, i will walk you through the process of creating executable desktop applications using PHPDesktop - a tool that allows developers to package their PHP web applications into standalone desktop executables. I'll also delve into how to compile these applications and customize them by removing the default PHPDesktop logo.&lt;/p&gt;

&lt;h2&gt;
  
  
  PART 1. Introduction to PHPDesktop
&lt;/h2&gt;

&lt;h2&gt;
  
  
  WHAT IS PHP DESKTOP?
&lt;/h2&gt;

&lt;p&gt;PHPDesktop is an open-source project that enables developers to run PHP applications as desktop applications without needing a browser or a web server. It integrates the Chrome Embedded Framework (CEF) - which is open source as well and most of our modern browsers are built on it - for rendering the HTML/CSS/JavaScript part of the app, allowing you to use your web development skills to create desktop applications. By using PHPDesktop, you can bundle your PHP scripts, HTML files, and other assets into a single executable file that can be distributed and run/installed on any Windows machine.&lt;/p&gt;

&lt;h2&gt;
  
  
  PART 2. Setting Up the Development Environment
&lt;/h2&gt;

&lt;p&gt;Before we start to build our desktop application, we first need to set up the development environment.&lt;/p&gt;

&lt;h2&gt;
  
  
  How To Set Up The Development Environment
&lt;/h2&gt;

&lt;h2&gt;
  
  
  Step 1: Download PHPDesktop
&lt;/h2&gt;

&lt;ol&gt;
&lt;li&gt;&lt;p&gt;Visit the PHPDesktop GitHub page at (&lt;a href="https://github.com/cztomczak/phpdesktop" rel="noopener noreferrer"&gt;https://github.com/cztomczak/phpdesktop&lt;/a&gt;).&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Choose the version that suits your needs as PHPDesktop is available in multiple variants, including PHP 5.4, 5.6, and 7.x. For modern applications, you should choose the latest version.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Download the ZIP file for your preferred version and extract it to a directory on your computer.&lt;/p&gt;&lt;/li&gt;
&lt;/ol&gt;

&lt;h2&gt;
  
  
  Step 2: Prepare Your PHP Application
&lt;/h2&gt;

&lt;p&gt;Assuming you already have a PHP web application/files, place your application files (copy and paste them [I mean the projects] ) inside the www directory of the extracted PHPDesktop folder. This www directory is the root directory where PHPDesktop serves your application from and is similar to the public_html or www folder on any web server you've ever used before. &lt;/p&gt;

&lt;h2&gt;
  
  
  Step 3: Configure PHPDesktop
&lt;/h2&gt;

&lt;p&gt;To configure PHPDesktop, you need to edit the settings.json file located at the root directory of PHPDesktop files. This file allows you to specify various settings for your desktop application, such as the window title, dimensions, icon, and more. &lt;/p&gt;

&lt;p&gt;(by the way, if you are having difficulties doing this by yourself, you want extended features for your app such as generating product keys or you want me to handle your web projects, you can always reach out to me by commenting under this post Thanks. You can find more details about me on my buy me a coffee page as well.&lt;/p&gt;

&lt;p&gt;So, here's how the settings file looks like. Let's continue our journey. 🥰&lt;/p&gt;

&lt;p&gt;Basic Configuration:&lt;/p&gt;

&lt;p&gt;json&lt;br&gt;
  &lt;code&gt;{&lt;br&gt;
      "application": {&lt;br&gt;
        "main_window": {&lt;br&gt;
          "title": "My Desktop App",&lt;br&gt;
          "icon": "app_icon.ico",&lt;br&gt;
          "default_size": {&lt;br&gt;
            "width": 800,&lt;br&gt;
            "height": 600&lt;br&gt;
          },&lt;br&gt;
          "minimum_size": {&lt;br&gt;
            "width": 600,&lt;br&gt;
            "height": 400&lt;br&gt;
          }&lt;br&gt;
        },&lt;br&gt;
        "php_interpreter": "php\\php.exe",&lt;br&gt;
        "app_mode": true,&lt;br&gt;
        "start_url": "http://127.0.0.1:54007/"&lt;br&gt;
      }&lt;br&gt;
    }&lt;br&gt;
&lt;/code&gt;&lt;/p&gt;


&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;- title: The title of your application window.

&lt;ul&gt;
&lt;li&gt;icon: The path to your application's icon. Replace app_icon.ico with your custom icon file and ensure its a dot ico image too.&lt;/li&gt;
&lt;li&gt;default_size: The default size of your application window.&lt;/li&gt;
&lt;li&gt;minimum_size: The minimum size of the application window.&lt;/li&gt;
&lt;li&gt;php_interpreter: The path to the PHP executable.&lt;/li&gt;
&lt;li&gt;start_url: The URL to load when the application starts. For local development, this is typically the local server address.
&lt;/li&gt;
&lt;/ul&gt;&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;
&lt;h2&gt;


Step 4: Test Your Application
&lt;/h2&gt;


&lt;p&gt;Once you've configured PHPDesktop, you can run phpdesktop-chrome.exe (or the equivalent executable depending on your PHPDesktop version) to test your application. If everything is set up correctly, your PHP application should load in a standalone window.&lt;/p&gt;

&lt;h2&gt;
  
  
  PART 3. Compiling the Application
&lt;/h2&gt;

&lt;p&gt;Now that your application is running within PHPDesktop, the next step is to compile it into a standalone executable. This will package your PHP scripts, HTML files, and other assets into a single file that can be distributed and run without requiring the end user to install PHP, DBMS or any other dependencies.&lt;/p&gt;

&lt;h2&gt;
  
  
  Step 1: Prepare the Application/PHPDesktop Directory
&lt;/h2&gt;

&lt;p&gt;Before compiling, ensure that your PHPDesktop/application directory is properly organized. At this point, your directory should look something like this:&lt;/p&gt;

&lt;p&gt;&lt;code&gt;/phpdesktop/&lt;br&gt;
│&lt;br&gt;
├── /www/             # Your PHP application files&lt;br&gt;
│&lt;br&gt;
├── php/              # PHP interpreter directory&lt;br&gt;
│&lt;br&gt;
├── settings.json     # PHPDesktop configuration file&lt;br&gt;
│&lt;br&gt;
└── phpdesktop-chrome.exe  #&lt;/code&gt; PHPDesktop executable&lt;/p&gt;

&lt;p&gt;Make sure that all necessary files are in place and that you've tested the application thoroughly.&lt;/p&gt;

&lt;h2&gt;
  
  
  Step 2: Use Inno Setup Or Any Other Compiler Of Your Choice To Create An Installer For Distribution.
&lt;/h2&gt;

&lt;p&gt;Although this is not strictly necessary, creating an installer for your application can enhance the user experience. Inno Setup is a free installer for Windows programs. Here's how you can create an installer:&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;&lt;p&gt;Download and install Inno Setup from (&lt;a href="https://jrsoftware.org/isinfo.php" rel="noopener noreferrer"&gt;https://jrsoftware.org/isinfo.php&lt;/a&gt;).&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Create a new script and configure it to include the PHPDesktop directory.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Specify the output executable's name, the installation directory, and other settings as per your requirement.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Compile the script to generate the installer.&lt;/p&gt;&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;This step is optional but recommended if you want to provide a professional installation experience for your users.&lt;/p&gt;

&lt;h2&gt;
  
  
  Step 3: Compress and Distribute
&lt;/h2&gt;

&lt;p&gt;If you don't want to create an installer, you can simply compress the entire PHPDesktop directory into a ZIP file and distribute it. Ensure that the phpdesktop-chrome.exe file is included, as this is the executable your users will run to start your application.&lt;/p&gt;

&lt;h2&gt;
  
  
  Part 4. Customizing the Application
&lt;/h2&gt;

&lt;p&gt;After all you've done, you still realize the logo doesn't change? &lt;/p&gt;

&lt;p&gt;One of the common customizations every developer wants is to be able to remove or replace the PHPDesktop logo that appears when the application starts. I will use this section to guide you through that process.&lt;/p&gt;

&lt;h2&gt;
  
  
  Step 1: Removing or Replacing the PHPDesktop Logo
&lt;/h2&gt;

&lt;p&gt;To customize or remove the PHPDesktop logo, you will need a resource editor like Resource Hacker.&lt;/p&gt;

&lt;p&gt;Here's how to do that.&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;
&lt;p&gt;Download Resource Hacker:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt; Visit (&lt;a href="http://www.angusj.com/resourcehacker/" rel="noopener noreferrer"&gt;http://www.angusj.com/resourcehacker/&lt;/a&gt;) and download and install Resource Hacker&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Open PHPDesktop Executable:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Launch Resource Hacker and open phpdesktop-chrome.exe.&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Navigate to the Logo Resource:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;In Resource Hacker, navigate to the Bitmap section in the tree view. You'll find the logo file here, usually named 101, 102, etc.&lt;/li&gt;
&lt;li&gt;Right-click on the logo and choose "Replace Resource."&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Replace or Remove the Logo:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;To replace the logo, click on "Open file with new bitmap," select your custom logo, and replace it.&lt;/li&gt;
&lt;li&gt;To remove the logo, you can either delete the resource or replace it with a blank image.&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Save the Changes:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;After making the changes, save the modified executable. You may want to save it as a different file to keep a backup of the original.&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Test the Application:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Run the modified executable to ensure that the logo has been replaced or removed successfully.&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ol&gt;

&lt;h2&gt;
  
  
  Step 2: Update Application Icons
&lt;/h2&gt;

&lt;p&gt;If you want to further customize your application, you can update the icons used by PHPDesktop. This involves replacing the "app_icon.ico" file referenced in the settings.json file and ensuring that the executable uses the new icon.&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;p&gt;Create or Find a New Icon:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Design a custom icon for your application using an icon editor or an online tool.&lt;/li&gt;
&lt;li&gt;Save the icon as .ico format.&lt;/li&gt;
&lt;/ul&gt;


&lt;/li&gt;

&lt;li&gt;

&lt;p&gt;Replace the Icon:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Replace the existing app_icon.ico file in the PHPDesktop directory with your custom icon.&lt;/li&gt;
&lt;li&gt;Update the settings.json file to reference the new icon if you've saved it with a different name.&lt;/li&gt;
&lt;/ul&gt;


&lt;/li&gt;

&lt;li&gt;

&lt;p&gt;Rebuild the Executable:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;If you've made significant changes, consider using Resource Hacker to embed the new icon into the executable itself.&lt;/li&gt;
&lt;/ul&gt;


&lt;/li&gt;

&lt;/ul&gt;

&lt;ol&gt;
&lt;li&gt;Distribution and Final Considerations&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;After compiling and customizing your application, it's time to distribute it to your customers/users. Now, I want to give you my own two Naira strategies to help you with distribution and they are:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Testing: Test your application on different Windows environments to ensure compatibility.&lt;/li&gt;
&lt;li&gt;Documentation: Provide clear instructions on how to install and use the application.&lt;/li&gt;
&lt;li&gt;Licensing: If you used third-party source codes or libraries, it's important to include their licences or agreements too. &lt;/li&gt;
&lt;li&gt;Offer Support: Create a channel of support system that attends to client's who might have a problem with your app. &lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Oya, this na my blessings to ya'll 😄😊&lt;/p&gt;

&lt;p&gt;I want to believe that, by reading this far, you've found so much value in my contents and as well are interested to try it out. However, as an expert in handling these types of projects, I can surely deliver to your amazement seamlessly and with deadlines. So, you can quickly send me a breakdown of what you want to achieve and we can work together to bring your ideas to life. &lt;/p&gt;

&lt;p&gt;Subscribe to my profile ooo 😀 &lt;/p&gt;

&lt;p&gt;Coming Next&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;&lt;p&gt;The Business Side Of Tech : Tech And Where The Money Is. &lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;How To Build Desktop Apps With PHPBROWSERBOX&lt;/p&gt;&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;If you miss am, na you Sabi &lt;/p&gt;

&lt;p&gt;I can't explain how much I love you all on dev.to 🥰&lt;/p&gt;

&lt;p&gt;I also have a video tutorial on this which costs  only $20 and another where you'll get to learn how to create activation codes for distribution and it costs $50 only. &lt;/p&gt;

&lt;p&gt;I drink coffee too. Buy me a coffee while you wait for my next post. &lt;/p&gt;

&lt;p&gt;&lt;a href="https://buymeacoffee.com/olatunji" rel="noopener noreferrer"&gt;https://buymeacoffee.com/olatunji&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Await my next post. &lt;/p&gt;

</description>
      <category>webdev</category>
      <category>softwaredevelopment</category>
      <category>software</category>
      <category>php</category>
    </item>
    <item>
      <title>What Is Lemmatization?</title>
      <dc:creator>Oladipupo Isaac Tunji </dc:creator>
      <pubDate>Fri, 16 Aug 2024 18:27:22 +0000</pubDate>
      <link>https://dev.to/dev_olatunji/what-is-lemmatization-53m1</link>
      <guid>https://dev.to/dev_olatunji/what-is-lemmatization-53m1</guid>
      <description>&lt;p&gt;This is my very first post on this awesome space and I'll be excited if you could share your thoughts in the comments after reading. &lt;/p&gt;

&lt;p&gt;Now, come with me. &lt;/p&gt;

&lt;p&gt;What Is Stemming &amp;amp; Lemmatization? &lt;/p&gt;

&lt;p&gt;Stemming and lemmatization are techniques used in natural language processing (NLP) to reduce words to their base form, known as the root or lemma.&lt;/p&gt;

&lt;p&gt;Stemming:&lt;/p&gt;

&lt;p&gt;Stemming involves removing suffixes from words to obtain a stem, which is a truncated form of the word. This process is simple and fast but can be inaccurate, as it doesn't consider the word's context or meaning.&lt;/p&gt;

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

&lt;ul&gt;
&lt;li&gt;Running → Run (stem)&lt;/li&gt;
&lt;li&gt;Jumping → Jump (stem)&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Lemmatization:&lt;/p&gt;

&lt;p&gt;Lemmatization, on the other hand, uses a dictionary-based approach to reduce words to their lemma, which is the canonical or base form of the word. This process considers the word's context, meaning, and grammar to ensure accuracy.&lt;/p&gt;

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

&lt;ul&gt;
&lt;li&gt;Running → Run (lemma)&lt;/li&gt;
&lt;li&gt;Jumping → Jump (lemma)&lt;/li&gt;
&lt;li&gt;Better → Good (lemma, as "better" is a comparative form of "good")&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Key differences:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Stemming is faster but less accurate, while lemmatization is slower but more accurate.&lt;/li&gt;
&lt;li&gt;Stemming doesn't consider context or meaning, while lemmatization does.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Both techniques are used to:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Reduce dimensionality in text data&lt;/li&gt;
&lt;li&gt;Improve text classification and clustering&lt;/li&gt;
&lt;li&gt;Enhance search engine querying&lt;/li&gt;
&lt;li&gt;Support machine learning models&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Popular stemming algorithms include Porter Stemmer and Snowball Stemmer, while popular lemmatization tools include WordNet and NLTK (Natural Language Toolkit).&lt;/p&gt;

&lt;p&gt;I am Oladipupo Isaac Tunji and I specialize in developing SaaS solutions. &lt;/p&gt;

&lt;p&gt;You can reach out to me to handle your jobs. &lt;/p&gt;

</description>
      <category>webdev</category>
      <category>programming</category>
      <category>ai</category>
      <category>learning</category>
    </item>
  </channel>
</rss>
