<?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: Adeyeye George</title>
    <description>The latest articles on DEV Community by Adeyeye George (@manomite).</description>
    <link>https://dev.to/manomite</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%2F351476%2F7f4c994b-1325-436c-8115-1777bee822b1.jpg</url>
      <title>DEV Community: Adeyeye George</title>
      <link>https://dev.to/manomite</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://dev.to/feed/manomite"/>
    <language>en</language>
    <item>
      <title>How I Built CampChat: A PHP-Powered Chat Engine That’s Changing the Game</title>
      <dc:creator>Adeyeye George</dc:creator>
      <pubDate>Sun, 08 Jun 2025 16:22:21 +0000</pubDate>
      <link>https://dev.to/manomite/how-i-built-campchat-a-php-powered-chat-engine-thats-changing-the-game-l6j</link>
      <guid>https://dev.to/manomite/how-i-built-campchat-a-php-powered-chat-engine-thats-changing-the-game-l6j</guid>
      <description>&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%2Fzoez05s6uobxh3aswqp0.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fzoez05s6uobxh3aswqp0.png" alt="Image description" width="500" height="500"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;As a developer, I’ve always been fascinated by the magic of real-time communication. There’s something thrilling about crafting a system where messages zip across the internet, connecting people instantly. But building a chat app from scratch? That’s a beast—encryption, scalability, bots, oh my! So, I rolled up my sleeves and created CampChat, an open-source, PHP-based chat engine that’s secure, scalable, and packed with features inspired by Telegram. It’s the kind of project that makes you lose sleep (in a good way). Let me take you through my journey of building it, why it’s a game-changer, and how you can start using it with a few lines of code.&lt;/p&gt;

&lt;h2&gt;
  
  
  Why I Built CampChat
&lt;/h2&gt;

&lt;p&gt;It all started late one night, fueled by too much coffee and a frustration with existing chat solutions. I needed a backend that was lightweight, developer-friendly, and didn’t require a PhD in distributed systems to scale. Most frameworks were either too rigid or overly complex, and I wanted something that could power a community app, a support portal, or even a social platform without breaking a sweat. PHP, with its accessibility and vast ecosystem, felt like the perfect fit. So, I set out to build CampChat—a chat engine that combines modern tech like Slim Framework, MongoDB, Redis, and RabbitMQ with Telegram-style features like group chats, end-to-end encryption, and extensible bots.&lt;/p&gt;

&lt;p&gt;The goal? Make it easy for developers like me (and you!) to spin up a secure, real-time chat system without reinventing the wheel. After months of coding, debugging, and more coffee, CampChat was born. It’s not just a tool—it’s my love letter to the developer community, and I’m excited to share it with you.&lt;/p&gt;

&lt;h2&gt;
  
  
  What Makes CampChat Special?
&lt;/h2&gt;

&lt;p&gt;CampChat isn’t just another chat backend. It’s designed to be your Swiss Army knife for communication apps. Here’s what sets it apart:&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Privacy First:&lt;/strong&gt; End-to-end encryption for messages and media, because no one should snoop on your users’ chats.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Scales Like a Dream:&lt;/strong&gt; Redis for caching and RabbitMQ for async event handling mean it can handle thousands of users without hiccups.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Bot Magic:&lt;/strong&gt; Create bots with webhook support to automate tasks, like welcoming new group members or moderating chats.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Feature-Packed:&lt;/strong&gt; Group permissions, message reactions, pinned messages, and media sharing make it feel like a modern social platform.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Open Source:&lt;/strong&gt; Under the MIT license, it’s free to hack, tweak, and build upon.&lt;/p&gt;

&lt;p&gt;Think of it as Telegram’s core, reimagined for developers who want control and flexibility. Whether you’re building a niche community or a customer support system, CampChat has your back.&lt;/p&gt;

&lt;h2&gt;
  
  
  My Struggles and Triumphs
&lt;/h2&gt;

&lt;p&gt;Building CampChat wasn’t all smooth sailing. Early on, I wrestled with MongoDB’s schema design to balance performance and flexibility for storing users, groups, and messages. Getting RabbitMQ to handle bot events asynchronously was a headache—until I finally cracked the queue configuration. And don’t get me started on implementing end-to-end encryption without sacrificing speed! But every bug squashed and feature added felt like a small victory. When I sent my first encrypted group message and saw a bot respond via webhook, I did a little happy dance. This is the kind of project that reminds you why you love coding.&lt;/p&gt;

&lt;h2&gt;
  
  
  Let’s Get You Started
&lt;/h2&gt;

&lt;p&gt;Enough about my journey—let’s get CampChat running on your machine. It’s surprisingly simple to set up, and I’ll walk you through the basics with some code examples to show off its power.&lt;/p&gt;

&lt;h3&gt;
  
  
  Setting Up CampChat
&lt;/h3&gt;

&lt;p&gt;Clone the Repo:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;git clone https://github.com/mitmelon/campchat.git
cd campchat
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;h3&gt;
  
  
  Install Dependencies:
&lt;/h3&gt;



&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;composer install
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Configure the Environment: Copy .env.example to .env and fill in your MongoDB, Redis, and RabbitMQ details:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;MONGODB_URI=mongodb://localhost:27017
REDIS_HOST=localhost
REDIS_PORT=6379
RABBITMQ_HOST=localhost
RABBITMQ_PORT=5672
RABBITMQ_USER=campchat
RABBITMQ_PASS=1234567890
STORAGE_TYPE=local
STORAGE_PATH=/path/to/storage
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Set Up Storage:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;mkdir -p /path/to/storage
chmod -R 775 /path/to/storage
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Run the Server:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;composer start
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Start the Bot Worker: For bot event processing:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;php src/Workers/BotWorker.php
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Your API is now live at &lt;a href="http://localhost:8011/v1" rel="noopener noreferrer"&gt;http://localhost:8011/v1&lt;/a&gt;. Time to have some fun!&lt;/p&gt;

&lt;h2&gt;
  
  
  Code Examples: CampChat in Action
&lt;/h2&gt;

&lt;p&gt;Here are a few examples to show how easy it is to integrate CampChat into your project. These use curl, but you can adapt them for any HTTP client in your preferred language.&lt;/p&gt;

&lt;h2&gt;
  
  
  1. Creating a User
&lt;/h2&gt;

&lt;p&gt;Let’s create a user account to get started.&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;curl -X POST http://localhost:8011/v1/users/create \
-H "Content-Type: application/json" \
-d '{
  "first_name": "Bob",
  "last_name": "Jones",
  "username": "bobjones",
  "password": "mysecret123",
  "phone": "+1987654321",
  "dob": "1995-03-15",
  "country": "US",
  "gender": "male"
}
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



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

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;json
{
  "ok": true,
  "result": {
    "id": "user1234567890abcdef"
  }
}
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;This gives you a user ID to work with. Pro tip: Store it securely!&lt;/p&gt;

&lt;h2&gt;
  
  
  2. Creating a Group
&lt;/h2&gt;

&lt;p&gt;Now, let’s create a group for Bob and his friends.&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;curl -X POST http://localhost:8011/v1/groups \
-H "Content-Type: application/json" \
-H "Authorization: Bearer jwt.token.here" \
-d '{
  "name": "Code Warriors",
  "creator_id": "user1234567890abcdef",
  "members": ["user456"],
  "permissions": {
    "locked": false,
    "allow_member_messages": true
  }
}
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



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

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;json
{
  "ok": true,
  "result": {
    "id": "group1234567890abcdef"
  }
}
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;This sets up a group where everyone can chat freely.&lt;/p&gt;

&lt;h2&gt;
  
  
  3. Adding a Bot
&lt;/h2&gt;

&lt;p&gt;Bots were my favorite part to build. Here’s how to create one that welcomes new group members.&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;curl -X POST http://localhost:8011/v1/bots \
-H "Content-Type: application/json" \
-H "Authorization: Bearer jwt.token.here" \
-d '{
  "user_id": "user1234567890abcdef",
  "name": "CodeBot",
  "commands": {
    "welcome": "Welcome to Code Warriors!"
  },
  "webhook_url": "https://your-server.com/bot-webhook"
}
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



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

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;`json
{
  "ok": true,
  "result": {
    "id": "bot1234567890abcdef"
  }
}
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;When someone types /welcome@CodeBot in the group, CampChat hits your webhook, and your bot can respond dynamically. I spent hours tweaking this to make bot interactions seamless—it’s a game-changer for automation.&lt;/p&gt;

&lt;h2&gt;
  
  
  What’s Next for CampChat?
&lt;/h2&gt;

&lt;p&gt;CampChat is a living project, and I’m already dreaming up new features based on my own needs and community feedback. Imagine AI-powered bots that can moderate chats or generate witty responses, or maybe Stories and Reels for a social media vibe. I’m also working on 2FA, push notifications, and quantum-resistant encryption to keep CampChat future-proof. The possibilities are endless, and I’m excited to see where the community takes it.&lt;/p&gt;

&lt;h2&gt;
  
  
  Why You Should Jump In
&lt;/h2&gt;

&lt;p&gt;Building CampChat was a labor of love, born from late-night coding sessions and a passion for solving real developer pain points. It’s not just a chat engine—it’s a foundation for your next big app, whether it’s a community platform, a support tool, or something totally new. The MIT license means you can hack it to your heart’s content, and the GitHub community is ready to welcome your ideas.&lt;/p&gt;

&lt;p&gt;So, what are you waiting for? Clone the repo, fire up the server, and start building something awesome. I can’t wait to see what you create with CampChat. Drop by the GitHub repo to get started, share your thoughts, or even contribute a feature. Let’s build the future of communication together!&lt;/p&gt;

</description>
      <category>webdev</category>
      <category>programming</category>
      <category>php</category>
      <category>javascript</category>
    </item>
    <item>
      <title>Difference between array() and []</title>
      <dc:creator>Adeyeye George</dc:creator>
      <pubDate>Thu, 06 Jun 2024 15:15:36 +0000</pubDate>
      <link>https://dev.to/manomite/difference-between-array-and--3ffb</link>
      <guid>https://dev.to/manomite/difference-between-array-and--3ffb</guid>
      <description>&lt;p&gt;&lt;a href="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fchi1et4x2sxuo6z7ujx9.jpg" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fchi1et4x2sxuo6z7ujx9.jpg" alt="Image description" width="800" height="800"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;In PHP, array() and [] are both used to create arrays, but they are slightly different.&lt;/p&gt;

&lt;p&gt;array() is the traditional way to create an array in PHP, and it's a language construct. It can be used to create both indexed and associative arrays.&lt;/p&gt;

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

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;$fruits = array('apple', 'banana', 'orange');
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;On the other hand, [] is a shorthand syntax for creating arrays, introduced in PHP 5.4. It's an alternative to array() and is used to create arrays in a more concise way.&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;$fruits = ['apple', 'banana', 'orange'];
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Both methods can be used interchangeably, but [] is generally preferred for its brevity and readability.&lt;/p&gt;

</description>
    </item>
    <item>
      <title>Introducing GIM: Revolutionizing Identity Management with AI and PHP</title>
      <dc:creator>Adeyeye George</dc:creator>
      <pubDate>Mon, 22 Apr 2024 16:09:17 +0000</pubDate>
      <link>https://dev.to/manomite/introducing-gim-revolutionizing-identity-management-with-ai-23gp</link>
      <guid>https://dev.to/manomite/introducing-gim-revolutionizing-identity-management-with-ai-23gp</guid>
      <description>&lt;p&gt;&lt;a href="https://media.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%2F2dig84jxthv59ust42vi.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.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%2F2dig84jxthv59ust42vi.png" alt="Image description"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;In the fast-paced digital age, ensuring secure and reliable identity verification processes is more critical than ever. Traditional methods often fall short in accuracy and efficiency, leaving room for fraud and security breaches. This is where Gim steps in - an innovative open-source General Identity Management application that leverages the power of artificial intelligence to redefine identity verification.&lt;/p&gt;

&lt;p&gt;Gim's cutting-edge features set it apart from conventional identity management tools. By seamlessly collecting personal information, facial biometrics, ID card details, and digital signatures, Gim creates a robust profile for each user. The data is then processed using advanced AI algorithms to generate a comprehensive verification score, ensuring a high level of accuracy and reliability.&lt;/p&gt;

&lt;p&gt;What makes Gim truly stand out is its versatility and user-friendly interface. Whether you are looking to streamline customer onboarding processes, enhance security measures, or simply improve the efficiency of your identity management system, Gim offers a customizable solution to suit your needs. With the ability to store data securely on Convex, generate detailed reports in PDF format, and seamlessly integrate with email or webhook notifications, Gim provides a seamless and efficient user experience.&lt;/p&gt;

&lt;p&gt;One of the key benefits of Gim being open-source is the transparency and flexibility it offers. Developers can not only customize and tailor the application to meet their specific requirements but also contribute to its continuous improvement and evolution. This collaborative approach ensures that Gim remains at the forefront of identity management innovation, adapting to the changing landscape of technology and security.&lt;/p&gt;

&lt;p&gt;If you are looking to elevate your identity management processes to the next level, Gim is the ideal solution for you. Its powerful AI capabilities, combined with its intuitive interface and customizable features, make it a game-changer in the field of identity verification. Whether you are a small business looking to enhance security measures or a large organization seeking a scalable and efficient solution, Gim has got you covered.&lt;/p&gt;

&lt;p&gt;To experience the future of identity management, visit our project page at &lt;a href="https://github.com/mitmelon/gim" rel="noopener noreferrer"&gt;https://github.com/mitmelon/gim&lt;/a&gt; and take the first step towards a more secure and reliable verification process. Join us in revolutionizing identity management with Gim - where innovation meets security, and reliability meets efficiency.&lt;/p&gt;

</description>
      <category>kyc</category>
      <category>identity</category>
      <category>webdev</category>
    </item>
    <item>
      <title>GIM Is Born</title>
      <dc:creator>Adeyeye George</dc:creator>
      <pubDate>Sat, 09 Mar 2024 09:16:09 +0000</pubDate>
      <link>https://dev.to/manomite/gim-is-born-2gg8</link>
      <guid>https://dev.to/manomite/gim-is-born-2gg8</guid>
      <description>&lt;p&gt;&lt;a href="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fquaugtty9s88df21s94b.jpeg" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fquaugtty9s88df21s94b.jpeg" alt="Image description" width="800" height="800"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Gim, an open-source General Identity Management application, goes beyond traditional identity verification methods by incorporating artificial intelligence (AI) to enhance the accuracy and reliability of the process. With Gim, developers, individuals, businesses can collect personal information, facial recognition data, and ID card images from users, which are then processed and analyzed using AI algorithms to generate a comprehensive verification score.&lt;/p&gt;

&lt;p&gt;&lt;em&gt;Key Features&lt;/em&gt; :&lt;/p&gt;

&lt;p&gt;&lt;em&gt;AI-Powered Data Processing:&lt;/em&gt; &lt;/p&gt;

&lt;p&gt;Gim utilizes state-of-the-art AI algorithms to process data from facial recognitions and ID card images. This advanced technology ensures accurate and efficient identity verification.&lt;/p&gt;

&lt;p&gt;&lt;em&gt;Data Matching and Comparison:&lt;/em&gt; &lt;/p&gt;

&lt;p&gt;The AI engine in Gim compares the data extracted from facial recognitions and ID card images with the information provided in the personal input section. By analyzing various data points, Gim generates a verification score for each identity.&lt;/p&gt;

&lt;p&gt;&lt;em&gt;Scoring System:&lt;/em&gt; &lt;/p&gt;

&lt;p&gt;Identity verification results are categorized into two scores:&lt;/p&gt;

&lt;p&gt;&lt;em&gt;Excellent&lt;/em&gt; : &lt;/p&gt;

&lt;p&gt;Data that matches between facial recognition, ID card images, and personal information input receive an excellent score, indicating a high level of confidence in the identity's authenticity.&lt;/p&gt;

&lt;p&gt;&lt;em&gt;Average:&lt;/em&gt; &lt;/p&gt;

&lt;p&gt;Data that does not match entirely are scored as average, prompting further review or verification steps to ensure accuracy.&lt;/p&gt;

&lt;p&gt;&lt;em&gt;Benefits:&lt;/em&gt; &lt;/p&gt;

&lt;p&gt;&lt;em&gt;Enhanced Accuracy:&lt;/em&gt; &lt;/p&gt;

&lt;p&gt;By harnessing the power of AI, Gim achieves higher accuracy in identity verification, reducing the risk of fraudulent activities and unauthorized access.&lt;/p&gt;

&lt;p&gt;&lt;em&gt;Streamlined Processes:&lt;/em&gt; &lt;/p&gt;

&lt;p&gt;The automated data processing and scoring system streamline the KYC process, saving time and resources for businesses and individuals.&lt;/p&gt;

&lt;p&gt;&lt;em&gt;Increased Security:&lt;/em&gt; &lt;/p&gt;

&lt;p&gt;With AI-powered identity verification, Gim offers heightened security measures, protecting sensitive information and ensuring compliance with regulatory requirements.&lt;/p&gt;

&lt;p&gt;Test the Demo here and provide your feedback to &lt;a href="mailto:manomitehq@gmail.com"&gt;manomitehq@gmail.com&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;If it's something your organization or company or someone will need send me a message through the email above.&lt;/p&gt;

&lt;p&gt;Thank you..🙏🏻&lt;/p&gt;

&lt;p&gt;Demo link&lt;/p&gt;

&lt;p&gt;&lt;a href="https://gim.manomite.net"&gt;https://gim.manomite.net&lt;/a&gt;&lt;/p&gt;

</description>
    </item>
    <item>
      <title>🌟🏥 Calling All Change-makers: Join the Open-Source Healthcare Revolution! 🌟🚀</title>
      <dc:creator>Adeyeye George</dc:creator>
      <pubDate>Fri, 29 Sep 2023 06:07:46 +0000</pubDate>
      <link>https://dev.to/manomite/calling-all-change-makers-join-the-open-source-healthcare-revolution-76o</link>
      <guid>https://dev.to/manomite/calling-all-change-makers-join-the-open-source-healthcare-revolution-76o</guid>
      <description>&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--8feHu43V--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_800/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/npjr8g0r4mc40aerhaii.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--8feHu43V--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_800/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/npjr8g0r4mc40aerhaii.png" alt="Image description" width="543" height="565"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Hello, compassionate souls! 💖&lt;/p&gt;

&lt;p&gt;Are you passionate about accessible, high-quality healthcare for all? Do you believe in the power of open-source technology to drive positive change? Welcome to our vision of a state-of-the-art, open-source, and completely free Hospital Management System (HMS) that could revolutionize healthcare management nationwide, catering to both individual hospitals and entire healthcare networks. 💪💻&lt;/p&gt;

&lt;p&gt;Imagine a sophisticated HMS that breaks barriers, empowering healthcare facilities with robust tools for patient care, resource optimization, and seamless communication. Envision a system that operates on transparency, community collaboration, and inclusivity. 🌍✨&lt;/p&gt;

&lt;p&gt;We are reaching out to you, our fellow advocates for a brighter healthcare future, to gauge interest and support for this ambitious undertaking. Your enthusiasm and engagement can fuel this project's growth and impact millions of lives by providing innovative healthcare solutions. 🚀🌟&lt;/p&gt;

&lt;p&gt;Whether you are a healthcare professional, software engineer, a designer, a philanthropist, an investor or anyone who believes in equitable healthcare access, your involvement is pivotal. This project is not just about creating software; it's about creating a movement, a shift towards a more compassionate and efficient healthcare ecosystem. 🌱🌏&lt;/p&gt;

&lt;p&gt;We wholeheartedly welcome partnerships, sponsorships, and donations that will accelerate the development of this open-source HMS. Together, let us ensure that every person, irrespective of their background, can access the healthcare they need, when they need it. 🤝💖&lt;/p&gt;

&lt;p&gt;If you share our vision and want to be part of this transformative journey, let's connect! Reach out to us via email at &lt;a href="mailto:manomitehq@gmail.com"&gt;manomitehq@gmail.com&lt;/a&gt; or send us a direct message on LinkedIn. 📧💌&lt;/p&gt;

&lt;p&gt;Let's unite to build a world where quality healthcare is a right, not a privilege. 🌟🌈&lt;/p&gt;

&lt;p&gt;Onwards, towards a healthier world! 🏥🚀&lt;br&gt;
Manomite&lt;/p&gt;

&lt;h1&gt;
  
  
  OpenSourceHealthcare #AccessibleHealthcare #CommunityDrivenChange 🌟
&lt;/h1&gt;

</description>
    </item>
    <item>
      <title>Unleashing your creativity through cyber security</title>
      <dc:creator>Adeyeye George</dc:creator>
      <pubDate>Sat, 26 Aug 2023 14:01:06 +0000</pubDate>
      <link>https://dev.to/manomite/unleashing-your-creativity-through-cyber-security-5e4j</link>
      <guid>https://dev.to/manomite/unleashing-your-creativity-through-cyber-security-5e4j</guid>
      <description>&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--Pxv0PmAy--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_800/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/owbkwu9fq7mqxqipocre.jpeg" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--Pxv0PmAy--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_800/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/owbkwu9fq7mqxqipocre.jpeg" alt="Image description" width="715" height="429"&gt;&lt;/a&gt;🔒🌐 Calling all aspiring cyber defenders! Join our cutting-edge online training course in Cyber Security and unlock your potential in the exciting world of digital protection. 🚀🔐&lt;/p&gt;

&lt;p&gt;🎯 Are you ready to become a skilled cyber security expert? Look no further! Our comprehensive training program offers both beginners and seasoned professionals the opportunity to enhance their knowledge and master the art of safeguarding digital assets. With hands-on modules, practical exercises, and real-world simulations, we ensure you're equipped with the tools to tackle any cyber threat head-on. 💪💻&lt;/p&gt;

&lt;p&gt;🔐 Why choose our Cyber Security Online Training Course? 🔐&lt;/p&gt;

&lt;p&gt;1️⃣ Expert Tutorship: Learn from industry veterans and renowned cyber security professionals who will guide you every step of the way. Their wealth of experience and practical insights will help you excel in this dynamic field. 🎓🌟&lt;/p&gt;

&lt;p&gt;2️⃣ Comprehensive Curriculum: From fundamentals to advanced techniques, our curriculum is meticulously designed to cover all aspects of modern cyber security. From network security to risk management, ethical hacking to incident response, you'll gain a holistic understanding of the cyber landscape. 📚💡&lt;/p&gt;

&lt;p&gt;3️⃣ Interactive Learning: Engage in interactive sessions, virtual labs, and group discussions with fellow learners to enhance your understanding and share valuable perspectives. Collaborate with like-minded individuals and build a strong professional network. 🤝🌐&lt;/p&gt;

&lt;p&gt;4️⃣ Real-World Simulations: Work on real-world case studies and simulations to apply your knowledge in practical scenarios. Gain hands-on experience, develop problem-solving skills, and be prepared to face cyber threats in real-time environments. 🌐📊&lt;/p&gt;

&lt;p&gt;5️⃣ Flexibility and Convenience: Our online training platform allows you to learn at your own pace and convenience. Access the course materials 24/7, complete assignments on your own schedule, and progress through the modules as per your availability. 🕐💻&lt;/p&gt;

&lt;p&gt;6️⃣ Recognized Certification: Upon successful completion of the course, you'll receive a highly recognized certification that demonstrates your expertise and boosts your credibility in the cyber security industry. 📜🔖&lt;/p&gt;

&lt;p&gt;🔐 Don't let the ever-evolving cyber threats intimidate you! Equip yourself with the knowledge and skills needed to protect individuals, organizations, and critical infrastructure from malicious attacks. Join our Cyber Security Online Training Course today and embark on a rewarding journey toward a secure digital future. 💻🔒🌟&lt;/p&gt;

&lt;p&gt;📢 Limited seats available! Enroll now and turn your passion for cyber security into a thriving career. Together, let's secure the digital world! 🚀🔒💪&lt;/p&gt;

&lt;p&gt;Join this group below to start your application process&lt;/p&gt;

&lt;p&gt;&lt;a href="https://chat.whatsapp.com/FaFWHCipAZzLX8iXisuDNm"&gt;https://chat.whatsapp.com/FaFWHCipAZzLX8iXisuDNm&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Please re-post to help someone.&lt;/p&gt;

&lt;h1&gt;
  
  
  cybersecurity #training #onlinetraining #cyberdefense #securethefuture #learnbydoing #experttutors #cybersecuritycourse
&lt;/h1&gt;

</description>
    </item>
    <item>
      <title>File Compresser 2.0.0 is here</title>
      <dc:creator>Adeyeye George</dc:creator>
      <pubDate>Sat, 12 Mar 2022 18:52:05 +0000</pubDate>
      <link>https://dev.to/manomite/compress-200-is-here-1j18</link>
      <guid>https://dev.to/manomite/compress-200-is-here-1j18</guid>
      <description>&lt;p&gt;2 years ago I released a library called &lt;strong&gt;compress&lt;/strong&gt; which compresses all files including zip, tar etc. using PHP without using any third party online tools.&lt;/p&gt;

&lt;p&gt;At the initial testing, compress compressed a zip file from 9.5MB to 8.2MB, over 1.3MB was removed from the actual zip file which was cool.&lt;/p&gt;

&lt;p&gt;Since the release, over 1,450k developers have downloaded the library without issues. This has been a very great score for me and has given me more strength to keep working on the library.&lt;/p&gt;

&lt;p&gt;Today am here to announce that the version 2 of Compress is now available. &lt;/p&gt;

&lt;p&gt;In the version 2, I included AES-256-CBC encryption function for encrypting the files before compressing.&lt;/p&gt;

&lt;p&gt;If you are upgrading to the new version, please note that there are few changes you will need to make to your code.&lt;/p&gt;

&lt;p&gt;CompressFile() third argument now accepts optional array options. You can take a look at the changes below and compare it with the old version before upgrading.&lt;/p&gt;

&lt;p&gt;If you are going to be using &lt;br&gt;
the encryption function, You have to set the compressFile option argument like this;&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight php"&gt;&lt;code&gt;&lt;span class="nv"&gt;$compress&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="k"&gt;new&lt;/span&gt; &lt;span class="nc"&gt;Compress\Compress&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;

&lt;span class="nv"&gt;$options&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="s2"&gt;"removeMeta"&lt;/span&gt; &lt;span class="o"&gt;=&amp;gt;&lt;/span&gt; &lt;span class="kc"&gt;false&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="s2"&gt;"encrypt"&lt;/span&gt; &lt;span class="o"&gt;=&amp;gt;&lt;/span&gt; &lt;span class="kc"&gt;false&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="s2"&gt;"key"&lt;/span&gt; &lt;span class="o"&gt;=&amp;gt;&lt;/span&gt; &lt;span class="s2"&gt;"password"&lt;/span&gt;&lt;span class="p"&gt;];&lt;/span&gt;

&lt;span class="nv"&gt;$compress&lt;/span&gt;&lt;span class="o"&gt;::&lt;/span&gt;&lt;span class="nf"&gt;compressFile&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="nv"&gt;$filePath&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="nv"&gt;$storePath&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="nv"&gt;$options&lt;/span&gt;&lt;span class="p"&gt;);&lt;/span&gt;

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

&lt;/div&gt;



&lt;p&gt;Let me explain the option values.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;The removeMeta&lt;/strong&gt; : removes additional comments and junks from file. You can set this to true if you want to remove meta from file.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Encrypt&lt;/strong&gt; : Set this to true if you want to use encryption.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Key&lt;/strong&gt; : If you set encrypt to true, then you must provide the encryption key else compress will generate one for you and the response will be the key generated so you can store it in your database vault for future decryptions.&lt;/p&gt;

&lt;p&gt;Now let's look at the few changes in the whole new version.&lt;/p&gt;

&lt;h2&gt;
  
  
  Install:
&lt;/h2&gt;

&lt;p&gt;Use composer to install&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight php"&gt;&lt;code&gt;&lt;span class="n"&gt;composer&lt;/span&gt; &lt;span class="k"&gt;require&lt;/span&gt; &lt;span class="n"&gt;mitmelon&lt;/span&gt;&lt;span class="o"&gt;/&lt;/span&gt;&lt;span class="n"&gt;compress&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;h2&gt;
  
  
  Usage :
&lt;/h2&gt;



&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight php"&gt;&lt;code&gt;&lt;span class="k"&gt;require_once&lt;/span&gt; &lt;span class="k"&gt;__DIR__&lt;/span&gt;&lt;span class="mf"&gt;.&lt;/span&gt;&lt;span class="s2"&gt;"/vendor/autoload.php"&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;

&lt;span class="c1"&gt;// Initialize library class&lt;/span&gt;
&lt;span class="nv"&gt;$compress&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="k"&gt;new&lt;/span&gt; &lt;span class="nc"&gt;Compress\Compress&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;

&lt;span class="cd"&gt;/**
 * @param String $filePath
 * File location to be compressed
 * @param String $storePath
 * Path to output compressed binary file to
 * @param Array optional $options ["removeMeta" =&amp;gt; false, "encrypt" =&amp;gt; false, "key" =&amp;gt; "password"]
 * Options to remove meta and encrypt file
 */&lt;/span&gt;
&lt;span class="nv"&gt;$compress&lt;/span&gt;&lt;span class="o"&gt;::&lt;/span&gt;&lt;span class="nf"&gt;compressFile&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="nv"&gt;$filePath&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="nv"&gt;$storePath&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="nv"&gt;$options&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="p"&gt;[]);&lt;/span&gt;

&lt;span class="c1"&gt;//Compress Image file&lt;/span&gt;
&lt;span class="nv"&gt;$compress&lt;/span&gt;&lt;span class="o"&gt;::&lt;/span&gt;&lt;span class="nf"&gt;compressFile&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="k"&gt;__DIR__&lt;/span&gt;&lt;span class="mf"&gt;.&lt;/span&gt;&lt;span class="s1"&gt;'/image.png'&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="k"&gt;__DIR__&lt;/span&gt;&lt;span class="mf"&gt;.&lt;/span&gt;&lt;span class="s1"&gt;'/image.txt'&lt;/span&gt;&lt;span class="p"&gt;));&lt;/span&gt;

&lt;span class="c1"&gt;// Compress PDF&lt;/span&gt;
&lt;span class="nv"&gt;$compress&lt;/span&gt;&lt;span class="o"&gt;::&lt;/span&gt;&lt;span class="nf"&gt;compressFile&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="k"&gt;__DIR__&lt;/span&gt;&lt;span class="mf"&gt;.&lt;/span&gt;&lt;span class="s1"&gt;'/file.pdf'&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="k"&gt;__DIR__&lt;/span&gt;&lt;span class="mf"&gt;.&lt;/span&gt;&lt;span class="s1"&gt;'/file.txt'&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="kc"&gt;true&lt;/span&gt;&lt;span class="p"&gt;));&lt;/span&gt;
&lt;span class="c1"&gt;//Compress as lot of files you want including zip files&lt;/span&gt;

&lt;span class="cd"&gt;/**
 * UnCompress Image file [Get original file back from stored binary]
 * @param String $storePath
 * Path containing binary file which was compressed
 * @param String $fileOutputPath
 * Path to output original file to
 * @param String $encrypt_key
 * If your file was encrypted then provide the key for decryption as third argument
 */&lt;/span&gt;
&lt;span class="nv"&gt;$compress&lt;/span&gt;&lt;span class="o"&gt;::&lt;/span&gt;&lt;span class="nf"&gt;uncompressFile&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="nv"&gt;$storePath&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="nv"&gt;$fileOutputPath&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="nv"&gt;$encrypt_key&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="kc"&gt;null&lt;/span&gt;&lt;span class="p"&gt;);&lt;/span&gt;

&lt;span class="c1"&gt;//Uncompress Image&lt;/span&gt;
&lt;span class="nv"&gt;$compress&lt;/span&gt;&lt;span class="o"&gt;::&lt;/span&gt;&lt;span class="nf"&gt;uncompressFile&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="k"&gt;__DIR__&lt;/span&gt;&lt;span class="mf"&gt;.&lt;/span&gt;&lt;span class="s1"&gt;'/image.txt'&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="k"&gt;__DIR__&lt;/span&gt;&lt;span class="mf"&gt;.&lt;/span&gt;&lt;span class="s1"&gt;'/image.png'&lt;/span&gt;&lt;span class="p"&gt;);&lt;/span&gt;

&lt;span class="c1"&gt;// Uncompress PDF&lt;/span&gt;
&lt;span class="nv"&gt;$compress&lt;/span&gt;&lt;span class="o"&gt;::&lt;/span&gt;&lt;span class="nf"&gt;uncompressFile&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt; &lt;span class="k"&gt;__DIR__&lt;/span&gt;&lt;span class="mf"&gt;.&lt;/span&gt;&lt;span class="s1"&gt;'/file.txt'&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="k"&gt;__DIR__&lt;/span&gt;&lt;span class="mf"&gt;.&lt;/span&gt;&lt;span class="s1"&gt;'/file.pdf'&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;

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

&lt;/div&gt;



&lt;p&gt;If you have not yet started using Compress and wish to, you can check it out using the link below;&lt;/p&gt;

&lt;p&gt;&lt;a href="https://github.com/mitmelon/Compress"&gt;https://github.com/mitmelon/Compress&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;In the near future, I will be adding more features. You can check the feature update on the readme to see the next features that will be added.&lt;/p&gt;

&lt;p&gt;Also don't forget to donate for the project progress. Your donation will really help me on a long run.&lt;/p&gt;

&lt;p&gt;Please feel free to make a pull request incase you find any bugs or want to add something to it.&lt;/p&gt;

&lt;p&gt;Best of wishes.&lt;/p&gt;

</description>
      <category>php</category>
      <category>programming</category>
      <category>opensource</category>
      <category>github</category>
    </item>
    <item>
      <title>The Ripper Tool Is Here</title>
      <dc:creator>Adeyeye George</dc:creator>
      <pubDate>Mon, 21 Feb 2022 18:20:46 +0000</pubDate>
      <link>https://dev.to/manomite/the-ripper-tool-is-here-4eim</link>
      <guid>https://dev.to/manomite/the-ripper-tool-is-here-4eim</guid>
      <description>&lt;p&gt;Few days ago I was reading a post on a website and suddenly, my router stopped connecting. I reloaded the website page multiple times and I kept getting connection not possible.&lt;/p&gt;

&lt;p&gt;So I was forced to check the router to see what's happening underground but discovered that my data plan has expired. It was so sad because at that time I was healthy with funds and could not instantly renew my plan.&lt;/p&gt;

&lt;p&gt;Face squeezed and I was like Hey telecom "Gbam" that's a punch on their face.&lt;/p&gt;

&lt;p&gt;Sat down comfortable later and began to stir at the ceiling, then started counting how many nails were used for the roof😂😂. Sounds very funny since I had nothing to do. &lt;/p&gt;

&lt;p&gt;After counting the nails multiple times then I realized that the carpenter didn't include one nail at the corner of the wall. Mtcheeeeeew this carpenter eeeeheeen, I said it again and again until I heard a very sharp voice inside my head saying.&lt;/p&gt;

&lt;p&gt;Hey man! next time clone the entire website and store it on your computer drive, then you have offline access to read all the entire post even if the ISP decides to shut down.&lt;/p&gt;

&lt;p&gt;Wao!!! I said to myself and immediately I stopped counting the nails and got straight to work.&lt;/p&gt;

&lt;p&gt;Overall It took me 6 hours to come up with the final codings and designs. I completed the API and keyed it into a telegram bot.&lt;/p&gt;

&lt;p&gt;You will ask me why telegram? That's because I wanted to avoid form fillings, reduce resources loads and also be able to clone any website anytime even on my mobile phone.&lt;/p&gt;

&lt;p&gt;I called the tool Ripper. The name sounds horrible but that's what I got for it at that time. I wanted to call it carpenter but refused because they don't relate.&lt;/p&gt;

&lt;p&gt;Ripper tool helps to clone any website including https sites for offline access. You can take a look at it. Use it and give me feedback on what you think.&lt;/p&gt;

&lt;p&gt;May be in the future I will add more advanced functionalities such as multiple clonings and the rest or may be do for WhatsApp too.&lt;/p&gt;

&lt;p&gt;Check it out at.&lt;br&gt;
&lt;a href="https://t.me/rippertoolbot"&gt;https://t.me/rippertoolbot&lt;/a&gt;&lt;/p&gt;

</description>
    </item>
    <item>
      <title>We launched Copytraps</title>
      <dc:creator>Adeyeye George</dc:creator>
      <pubDate>Tue, 15 Feb 2022 15:05:43 +0000</pubDate>
      <link>https://dev.to/manomite/we-launched-copytraps-1noc</link>
      <guid>https://dev.to/manomite/we-launched-copytraps-1noc</guid>
      <description>&lt;p&gt;Hi, For years, creative minds, authors, copyrighters, publishers, content editors, actors and actresses, book publishers, media owners, company and many more organizations have been facing content phishing attacks, content theft and infringements on the internet.&lt;/p&gt;

&lt;p&gt;There have been many situations where an author or organisation spend so much efforts and time to craft creative contents while waiting for great rewards but instead another takes the credits and gets more rewards.&lt;/p&gt;

&lt;p&gt;Your assets are extracted and used without your consent or permission which is very annoying. Bloggers losses more of their audiences and traffic's to copycats.&lt;/p&gt;

&lt;p&gt;Today is the day that changes.&lt;/p&gt;

&lt;p&gt;We’re proud to announce our product known as Copytraps.&lt;/p&gt;

&lt;p&gt;It’s the most powerful tool capable of preventing and finding those using your hard earned contents for further law investigations with your lawyer.&lt;/p&gt;

&lt;p&gt;Let them copy it🙄... I will find you🧐, close down your platform and request for damages cost. Those should be your words when you have Copytraps in place.&lt;/p&gt;

&lt;p&gt;With Copytraps, you grant access to only people having your permissions to use your contents and the whole rewards gets back to you.&lt;/p&gt;

&lt;p&gt;Let's keep the internet safe again by stopping content phishing attacks, junks and theft.&lt;/p&gt;

&lt;p&gt;Be among the first 50 to try out Copytraps Beta Version at &lt;a href="https://copytraps.com"&gt;Copytraps&lt;/a&gt; with exclusive offers.&lt;/p&gt;

</description>
      <category>content</category>
      <category>copyright</category>
      <category>security</category>
    </item>
    <item>
      <title>FILE COMPRESSER USING PHP</title>
      <dc:creator>Adeyeye George</dc:creator>
      <pubDate>Sat, 22 Aug 2020 14:33:23 +0000</pubDate>
      <link>https://dev.to/manomite/file-compresser-using-php-5e19</link>
      <guid>https://dev.to/manomite/file-compresser-using-php-5e19</guid>
      <description>&lt;p&gt;Today i was looking for various means to compress all files using PHP without using any third party online tools but unfortunately what i found was zip archives compress, zar and the rest. There was no single library on the internet designed with PHP to handle file compression including compressing zip files. I was curious and i had to design one.&lt;/p&gt;

&lt;p&gt;I eventually did the design which i tested with a zip file having size of about 9.5MB and my PHP Class was able to compress this down to 8.2MB which was still okay for me. At least over 1.3MB was removed from the actual zip file.&lt;/p&gt;

&lt;p&gt;I know you will want to ask whats the difference. The truth is that assuming you have a whole bunch of those zip files lets say 10 in which each had 9.5MB. Calculating this will give you a bunch of 95MB, thats lots of memory.&lt;/p&gt;

&lt;p&gt;Looking through this you will see that over 13MB difference was removed when compressed. This 13MB could be used to save other files.&lt;/p&gt;

&lt;p&gt;Designing a class that does this job took me 4 hours with over 15 test analysis.&lt;/p&gt;

&lt;p&gt;If you are also curious about me and wish to use my library for your applications below is how to use it.&lt;/p&gt;

&lt;h2&gt;
  
  
  Install:
&lt;/h2&gt;

&lt;p&gt;Use composer to install&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight php"&gt;&lt;code&gt;&lt;span class="n"&gt;composer&lt;/span&gt; &lt;span class="k"&gt;require&lt;/span&gt; &lt;span class="n"&gt;mitmelon&lt;/span&gt;&lt;span class="o"&gt;/&lt;/span&gt;&lt;span class="n"&gt;compress&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;h2&gt;
  
  
  Usage :
&lt;/h2&gt;



&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight php"&gt;&lt;code&gt;&lt;span class="k"&gt;require_once&lt;/span&gt; &lt;span class="k"&gt;__DIR__&lt;/span&gt;&lt;span class="mf"&gt;.&lt;/span&gt;&lt;span class="s2"&gt;"/vendor/autoload.php"&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;

&lt;span class="c1"&gt;// Initialize library class&lt;/span&gt;
&lt;span class="nv"&gt;$compress&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="k"&gt;new&lt;/span&gt; &lt;span class="nc"&gt;Compress\Compress&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;

&lt;span class="cd"&gt;/**
 * @param $filePath string
 * File location to be compressed
 *
 * @param $storePath string
 * Path to output compressed binary file to
 *
 */&lt;/span&gt;
&lt;span class="nv"&gt;$compress&lt;/span&gt;&lt;span class="o"&gt;::&lt;/span&gt;&lt;span class="nf"&gt;compressFile&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="nv"&gt;$filePath&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="nv"&gt;$storePath&lt;/span&gt;&lt;span class="p"&gt;);&lt;/span&gt;

&lt;span class="c1"&gt;//Compress Image file&lt;/span&gt;
&lt;span class="nv"&gt;$compress&lt;/span&gt;&lt;span class="o"&gt;::&lt;/span&gt;&lt;span class="nf"&gt;compressFile&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="k"&gt;__DIR__&lt;/span&gt;&lt;span class="mf"&gt;.&lt;/span&gt;&lt;span class="s1"&gt;'/image.png'&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="k"&gt;__DIR__&lt;/span&gt;&lt;span class="mf"&gt;.&lt;/span&gt;&lt;span class="s1"&gt;'/image.txt'&lt;/span&gt;&lt;span class="p"&gt;));&lt;/span&gt;

&lt;span class="c1"&gt;// Compress PDF&lt;/span&gt;
&lt;span class="nv"&gt;$compress&lt;/span&gt;&lt;span class="o"&gt;::&lt;/span&gt;&lt;span class="nf"&gt;compressFile&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="k"&gt;__DIR__&lt;/span&gt;&lt;span class="mf"&gt;.&lt;/span&gt;&lt;span class="s1"&gt;'/file.pdf'&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="k"&gt;__DIR__&lt;/span&gt;&lt;span class="mf"&gt;.&lt;/span&gt;&lt;span class="s1"&gt;'/file.txt'&lt;/span&gt;&lt;span class="p"&gt;));&lt;/span&gt;
&lt;span class="c1"&gt;//Compress as lot files you want including zip files&lt;/span&gt;

&lt;span class="cd"&gt;/**
 * UnCompress Image file [Get original file back from stored binary]
 * @param $storePath string
 * Path containing binary file which was compressed
 *
 * @param $fileOutputPath string
 * Path to output original file to
 *
 */&lt;/span&gt;
&lt;span class="nv"&gt;$compress&lt;/span&gt;&lt;span class="o"&gt;::&lt;/span&gt;&lt;span class="nf"&gt;uncompressFile&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="nv"&gt;$storePath&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="nv"&gt;$fileOutputPath&lt;/span&gt;&lt;span class="p"&gt;);&lt;/span&gt;

&lt;span class="c1"&gt;//Uncompress Image&lt;/span&gt;
&lt;span class="nv"&gt;$compress&lt;/span&gt;&lt;span class="o"&gt;::&lt;/span&gt;&lt;span class="nf"&gt;uncompressFile&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="k"&gt;__DIR__&lt;/span&gt;&lt;span class="mf"&gt;.&lt;/span&gt;&lt;span class="s1"&gt;'/image.txt'&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="k"&gt;__DIR__&lt;/span&gt;&lt;span class="mf"&gt;.&lt;/span&gt;&lt;span class="s1"&gt;'/image.png'&lt;/span&gt;&lt;span class="p"&gt;);&lt;/span&gt;

&lt;span class="c1"&gt;// Uncompress PDF&lt;/span&gt;
&lt;span class="nv"&gt;$compress&lt;/span&gt;&lt;span class="o"&gt;::&lt;/span&gt;&lt;span class="nf"&gt;uncompressFile&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt; &lt;span class="k"&gt;__DIR__&lt;/span&gt;&lt;span class="mf"&gt;.&lt;/span&gt;&lt;span class="s1"&gt;'/file.txt'&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="k"&gt;__DIR__&lt;/span&gt;&lt;span class="mf"&gt;.&lt;/span&gt;&lt;span class="s1"&gt;'/file.pdf'&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;

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

&lt;/div&gt;



&lt;p&gt;You can also find the github library here.&lt;br&gt;
&lt;a href="https://github.com/mitmelon/Compress"&gt;https://github.com/mitmelon/Compress&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Please feel free to make a pull request incase you find any bugs or want to add something to it.&lt;/p&gt;

&lt;p&gt;Best of wishes.&lt;/p&gt;

</description>
      <category>file</category>
      <category>compress</category>
      <category>zip</category>
      <category>archive</category>
    </item>
    <item>
      <title>What is Hierarchy in Programming</title>
      <dc:creator>Adeyeye George</dc:creator>
      <pubDate>Mon, 01 Jun 2020 16:28:23 +0000</pubDate>
      <link>https://dev.to/manomite/what-is-hierarchy-in-programming-5f7o</link>
      <guid>https://dev.to/manomite/what-is-hierarchy-in-programming-5f7o</guid>
      <description>&lt;p&gt;A hierarchy in programming is an organizational structure in which items are ranked according to levels of importance. Most governments, corporations and organized religions are hierarchical.&lt;/p&gt;

&lt;p&gt;In a computing context, there are various types of hierarchical systems. Most file systems, for example, are based on a hierarchical model in which files are placed somewhere in a hierarchical tree model. A file is placed in a directory (folder in Windows) or subdirectory at the desired place in the tree structure. The computer memory hierarchy ranks components in terms of response times, with processor registers at the top of the pyramid structure and tape backup at the bottom.&lt;/p&gt;

&lt;p&gt;The word hierarchy comes from the Greek hieros, meaning sacred, and archein, meaning to rule. The word first entered English in the fourteenth century. According to the Oxford English Dictionary, it originally referred to “each of the three divisions of angels, every one comprising three orders, in the system of Dionysius the Areopagite.”&lt;/p&gt;

</description>
      <category>hierarchy</category>
      <category>programming</category>
    </item>
    <item>
      <title>MILLITARY GRADE ENCRYPTIONS</title>
      <dc:creator>Adeyeye George</dc:creator>
      <pubDate>Mon, 25 May 2020 08:19:33 +0000</pubDate>
      <link>https://dev.to/manomite/millitary-grade-encryptions-4kcp</link>
      <guid>https://dev.to/manomite/millitary-grade-encryptions-4kcp</guid>
      <description>&lt;p&gt;Its been a while i have updated you about my tech news... Am back now...&lt;/p&gt;

&lt;p&gt;What comes to your mind when you think of military grade encryption? Hopefully you feel assured that it means your personal data and passwords are safe, secure and sophisticatedly scrambled – which it is – but do you actually know what it means?&lt;/p&gt;

&lt;p&gt;My guess is many of you might be a bit unsure of the facts, so I thought i’d break it down in so you know exactly how your data is being protected.&lt;/p&gt;

&lt;p&gt;Sound good?&lt;/p&gt;

&lt;p&gt;Let’s start with the basics…&lt;/p&gt;

&lt;p&gt;&lt;em&gt;What’s encryption?&lt;/em&gt;&lt;/p&gt;

&lt;p&gt;Encryption is the process of encoding messages or information in such a way that only authorized parties can read it. It transforms data that you send across the internet into a format which is only readable when in possession of a decryption key, which provides the code to decipher the encryption.&lt;/p&gt;

&lt;p&gt;&lt;em&gt;What’s this encryption key and how does it keep my data safe?&lt;/em&gt;&lt;/p&gt;

&lt;p&gt;Think of sending a letter to someone in a secret language which needs a special dictionary to translate it. The secret language would be the encryption and the dictionary would be the decryption key. Only when someone has both can they then read that message. Providing of course that the secret language is sophisticated enough to not be broken without the key. Make sense?&lt;br&gt;
Got it. So what makes your encryption “military grade”? What does that mean?&lt;/p&gt;

&lt;p&gt;Military grade encryption refers to what’s called AES-256 encryption. Short for Advanced Encryption Standard, it was the first publicly accessible and open cipher approved by the National Security Agency (NSA) to protect information at a “Top Secret” level. It is now widely-accepted as the strongest encryption there is – and used by governments, militaries, banks and other organizations across the world to protect sensitive data.&lt;/p&gt;

&lt;p&gt;&lt;em&gt;How does it work?&lt;/em&gt;&lt;/p&gt;

&lt;p&gt;Remember we mentioned that the “secret language” needs to be complicated so it is tough to crack? Well, AES is just that. It’s is based on a system of encoding called the Rijndael cipher, developed by two Belgian cryptographers, Joan Daemen and Vincent Rijmen. In simple terms, it divides your data into blocks of 128 bits each, and then uses the encryption key – made up of 256 bits – to scramble them beyond all recognition using 14 different rounds of encryption.&lt;/p&gt;

&lt;p&gt;&lt;em&gt;How complex is the key?&lt;/em&gt;&lt;/p&gt;

&lt;p&gt;The number of possible keys this 256-bit system allows is 2 to the power 256 – that’s a number that is 78 digits long. And to use AES, both the sender and the receiver must know and use the same secret 256-bit key. In Mitnets case, that is derived from your Master Password.&lt;/p&gt;

&lt;p&gt;&lt;em&gt;What do you mean, “derived”?&lt;/em&gt;&lt;/p&gt;

&lt;p&gt;Mitnets uses another layer of protection – a method called PBKDF2 (Password-Based Key Derivation Function 2). This takes your password and applies random data – known as a salt – before scrambling it again many times over to produce a sophisticated cryptographic key.&lt;/p&gt;

&lt;p&gt;&lt;em&gt;Has AES ever been cracked?&lt;/em&gt;&lt;/p&gt;

&lt;p&gt;No. A Microsoft research paper published in 2011 suggested that it was theoretically possible to recover an AES key using a technique called a biclique attack. But even breaking a 128-bit key (far less complex than Mitnets 256-bit system) would take billions of years with current computing power – and require storing about 38 trillion terabytes of data, which is more than all the data on all the computers on the planet.&lt;/p&gt;

&lt;p&gt;So my data and passwords are safe with Mitnets Products?*&lt;/p&gt;

&lt;p&gt;There is no record of the 256-bit key or your Master password anywhere in the universe – not on your device, never on our servers and never transmitted on the web. If your data is intercepted, the encryption means that no-one will be able to decipher it.&lt;/p&gt;

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