<?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: Sadekul Islam</title>
    <description>The latest articles on DEV Community by Sadekul Islam (@sadekul-me).</description>
    <link>https://dev.to/sadekul-me</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%2F3266158%2F6286f70c-ec69-40c7-a7ac-026cd7ab838d.png</url>
      <title>DEV Community: Sadekul Islam</title>
      <link>https://dev.to/sadekul-me</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://dev.to/feed/sadekul-me"/>
    <language>en</language>
    <item>
      <title>Software Engineering looks beautiful… from a distance.</title>
      <dc:creator>Sadekul Islam</dc:creator>
      <pubDate>Sat, 11 Apr 2026 14:16:46 +0000</pubDate>
      <link>https://dev.to/sadekul-me/software-engineering-looks-beautiful-from-a-distance-3e9j</link>
      <guid>https://dev.to/sadekul-me/software-engineering-looks-beautiful-from-a-distance-3e9j</guid>
      <description>&lt;h2&gt;
  
  
  Software Engineering looks beautiful… from a distance.
&lt;/h2&gt;

&lt;p&gt;From the outside, it seems exciting — building apps, working with AI, earning globally, and living a flexible life.&lt;/p&gt;

&lt;p&gt;That’s exactly what I thought before stepping into this field.&lt;/p&gt;

&lt;p&gt;But reality is different.&lt;/p&gt;

&lt;p&gt;There is constant pressure to learn.&lt;br&gt;
New technologies appear every day.&lt;br&gt;
You fix one bug, another one shows up.&lt;br&gt;
Sometimes, you don’t even know what went wrong.&lt;/p&gt;

&lt;p&gt;And then comes competition.&lt;/p&gt;

&lt;p&gt;Thousands of developers are learning, improving, and trying to stand out. It’s easy to feel lost in the crowd.&lt;/p&gt;

&lt;p&gt;I’m currently studying in China and trying to transition into Software Engineering. This journey hasn’t been easy.&lt;/p&gt;

&lt;p&gt;Some days feel overwhelming.&lt;br&gt;
Some days I doubt myself.&lt;br&gt;
And honestly, some days I just feel tired.&lt;/p&gt;

&lt;p&gt;But I keep going.&lt;/p&gt;

&lt;p&gt;Because deep down, I believe this journey is worth it.&lt;/p&gt;

&lt;p&gt;Every small step matters.&lt;br&gt;
Every bug fixed is progress.&lt;br&gt;
Every concept understood is growth.&lt;/p&gt;

&lt;p&gt;I may not be perfect.&lt;br&gt;
I may not be the best.&lt;/p&gt;

&lt;p&gt;But I am consistent.&lt;/p&gt;

&lt;p&gt;And sometimes, consistency is the real talent.&lt;/p&gt;

&lt;p&gt;— Sadekul Islam (Lì Ào / 利奥)&lt;br&gt;
Software Engineering Student | &lt;/p&gt;

</description>
      <category>programming</category>
      <category>beginners</category>
      <category>career</category>
      <category>motivation</category>
    </item>
    <item>
      <title>Beyond the Mouse: A Real-Time Gesture-Controlled AI System (Lì Ào Engine)</title>
      <dc:creator>Sadekul Islam</dc:creator>
      <pubDate>Sat, 28 Mar 2026 12:17:52 +0000</pubDate>
      <link>https://dev.to/sadekul-me/beyond-the-mouse-a-real-time-gesture-controlled-ai-system-li-ao-engine-4o7</link>
      <guid>https://dev.to/sadekul-me/beyond-the-mouse-a-real-time-gesture-controlled-ai-system-li-ao-engine-4o7</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%2F19k7nq0ajjecckcw8bsy.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%2F19k7nq0ajjecckcw8bsy.png" alt=" " width="800" height="374"&gt;&lt;/a&gt;At 3 AM in a freezing dorm room in China, staring at a terminal full of Python logs—I asked myself a simple question:&lt;/p&gt;

&lt;p&gt;What if the air around me was the interface?&lt;/p&gt;

&lt;p&gt;That question led me to build Lì Ào Engine (利奥) — a multimodal Human-Computer Interaction (HCI) system that transforms gestures, voice, and intent into real-time digital actions.&lt;/p&gt;

&lt;h2&gt;
  
  
  Philosophy: From Constraint to Freedom
&lt;/h2&gt;

&lt;p&gt;Traditional input devices—mouse and keyboard—are powerful, but limiting. They confine interaction to surfaces.&lt;/p&gt;

&lt;p&gt;I wanted to break that boundary.&lt;/p&gt;

&lt;p&gt;Lì Ào Engine is built on a simple idea:&lt;/p&gt;

&lt;p&gt;Human intention should be the interface.&lt;/p&gt;

&lt;h2&gt;
  
  
  System Architecture (Clean &amp;amp; Scalable)
&lt;/h2&gt;

&lt;p&gt;This is not a prototype-level project. I designed it with modularity and scalability in mind.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Core Structure&lt;/strong&gt;&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;
-src/system → Core rendering layers (AI, Board, Layers, Media, Remote)

-src/features → Independent modules (ai, draw, galasy, gesture, image, move, prediction, remote, upload)

-src/hooks → Custom hooks for performance-critical logic
     -useImageLoader
     -useMediaPipe
     -usePredictor
     -useRealTimeSync
     -useTracking
     -useVoiceCommand  

- `server/engine` (Python) → Vision processing + AI inference (WIP)
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;h2&gt;
  
  
  Design Principle
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;Separation of concerns (UI vs AI processing)&lt;/li&gt;
&lt;li&gt;Real-time responsiveness&lt;/li&gt;
&lt;li&gt;Low-latency data flow&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;
  
  
  The Core Innovation: Omni-Precise V5.2 Engine
&lt;/h2&gt;

&lt;p&gt;Gesture systems suffer from jitter and instability.&lt;/p&gt;

&lt;p&gt;I built a custom smoothing and prediction pipeline:&lt;/p&gt;

&lt;h3&gt;
  
  
  1. Stable EMA Smoothing
&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;Reduces noise from raw hand tracking data&lt;/li&gt;
&lt;li&gt;Produces fluid, natural motion&lt;/li&gt;
&lt;/ul&gt;

&lt;h3&gt;
  
  
  2. Velocity-Based Stroke Dynamics
&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;Fast movement → thin lines&lt;/li&gt;
&lt;li&gt;Slow movement → thicker strokes&lt;/li&gt;
&lt;li&gt;Mimics real-world drawing behavior&lt;/li&gt;
&lt;/ul&gt;

&lt;h3&gt;
  
  
  3. No-Gap Interpolation
&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;Fills missing points between frames&lt;/li&gt;
&lt;li&gt;Ensures continuous stroke rendering&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Result: Near pixel-perfect air interaction&lt;/p&gt;

&lt;h2&gt;
  
  
  Key Features (Live Beta)
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;🎨 Smart Air Drawing — Draw naturally in mid-air using hand gestures
&lt;/li&gt;
&lt;li&gt;🎤 Voice Commands — Hands-free control and system interaction
&lt;/li&gt;
&lt;li&gt;🗣️ Voice-to-Type — Real-time speech-to-text input
&lt;/li&gt;
&lt;li&gt;🔗 Remote Portal — Gesture-based transfer of images/data between devices 
### 🚧 In Active Development&lt;/li&gt;
&lt;li&gt;🖐️ Air Mouse — AI-powered cursor control using hand tracking (not yet publicly released)&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;
  
  
  Open Technical Questions (Looking for Expert Insight)
&lt;/h2&gt;

&lt;p&gt;I’d love feedback from experienced engineers:&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;1. Real-Time Sync &amp;amp; Latency&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Best practices for minimizing lag in gesture-driven UI?&lt;/li&gt;
&lt;li&gt;WebSocket vs WebRTC for real-time interaction?&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;strong&gt;2. Jitter Reduction Techniques&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;EMA vs Kalman Filter in browser environments&lt;/li&gt;
&lt;li&gt;Trade-offs between performance and accuracy?&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;strong&gt;3. Scaling the System&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;How would you evolve this into a production-grade system?&lt;/li&gt;
&lt;li&gt;Edge computing vs centralized processing?&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;
  
  
  🌐 Live Demo
&lt;/h2&gt;

&lt;p&gt;&lt;code&gt;https://hci-system.netlify.app&lt;/code&gt;&lt;br&gt;
&lt;code&gt;https://sadekulislam.netlify.app&lt;/code&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  💬 Feedback &amp;amp; Suggestions
&lt;/h2&gt;

&lt;p&gt;I’d really appreciate your honest feedback on this system.&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;What do you think about the overall architecture?&lt;/li&gt;
&lt;li&gt;How can I improve the real-time performance and scalability?&lt;/li&gt;
&lt;li&gt;What features or improvements would you suggest next?&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;I’m actively developing this project and open to learning from experienced engineers.&lt;/p&gt;

&lt;h2&gt;
  
  
  ✨ Final Thought
&lt;/h2&gt;

&lt;p&gt;I’m still a student.&lt;br&gt;
But I believe building systems like this is how we push boundaries.&lt;br&gt;
&lt;strong&gt;We don’t wait for the future. We build it.&lt;/strong&gt;&lt;br&gt;
— Sadekul Islam (Lì Ào / 利奥)&lt;br&gt;
&lt;em&gt;Software Engineering Student | HCI Explorer&lt;/em&gt;&lt;/p&gt;

</description>
      <category>ai</category>
      <category>python</category>
      <category>showdev</category>
      <category>react</category>
    </item>
    <item>
      <title>Tomorrow's Technology Today: A Software Engineering Journey</title>
      <dc:creator>Sadekul Islam</dc:creator>
      <pubDate>Sun, 08 Mar 2026 05:19:51 +0000</pubDate>
      <link>https://dev.to/sadekul-me/tomorrows-technology-today-a-software-engineering-journey-32md</link>
      <guid>https://dev.to/sadekul-me/tomorrows-technology-today-a-software-engineering-journey-32md</guid>
      <description>&lt;p&gt;As a Software Engineering student at WXUT in China, I often find myself thinking about how the technologies we study today will shape the world tomorrow. Every concept we learn — from algorithms to system design — becomes a small building block of future innovation.&lt;/p&gt;

&lt;p&gt;We are living in a time where the boundaries between the physical and digital worlds are slowly fading. Virtual Reality, Augmented Reality, and Artificial Intelligence are no longer distant ideas; they are becoming part of everyday technology. As developers, we are not just observing this transformation — we are helping build it.&lt;/p&gt;

&lt;h2&gt;
  
  
  The Changing Landscape of Technology
&lt;/h2&gt;

&lt;p&gt;When I look at emerging technologies such as VR, AR, and AI, I don't simply see impressive gadgets. I see complex systems powered by the same core principles that software engineers study every day.&lt;/p&gt;

&lt;p&gt;Whether it's solving algorithmic problems in C, optimizing C++ logic for performance, or developing scalable backend services using C# and .NET with MSSQL, each layer of development contributes to the technologies that will define the future.&lt;/p&gt;

&lt;p&gt;In reality, the futuristic experiences people see — immersive worlds, intelligent systems, real-time simulations — are built on strong fundamentals in programming and computer science.&lt;/p&gt;

&lt;h2&gt;
  
  
  Why Problem Solving Still Matters
&lt;/h2&gt;

&lt;p&gt;During my journey learning Data Structures and Algorithms, one idea became very clear: technologies change, but problem solving does not.&lt;/p&gt;

&lt;p&gt;Frameworks evolve, tools improve, and programming languages grow more powerful. But the ability to analyze a problem, break it down, and design an efficient solution remains the most valuable skill for any developer.&lt;/p&gt;

&lt;p&gt;To move toward tomorrow’s technology, I believe developers should focus on three important areas:&lt;/p&gt;

&lt;h2&gt;
  
  
  Mastering the Fundamentals
&lt;/h2&gt;

&lt;p&gt;Understanding algorithms, memory management, and system behavior builds the foundation for everything else.&lt;/p&gt;

&lt;h2&gt;
  
  
  Building Scalable Systems
&lt;/h2&gt;

&lt;p&gt;Modern applications require reliable and high-performance backend systems. Technologies like .NET and relational databases such as MSSQL play a major role in making this possible.&lt;/p&gt;

&lt;h2&gt;
  
  
  Creating Meaningful User Experiences
&lt;/h2&gt;

&lt;p&gt;Powerful systems must also be usable. Designing intuitive interfaces with tools like React helps transform complex systems into accessible products.&lt;/p&gt;

&lt;h2&gt;
  
  
  Engineering in China: A Unique Perspective
&lt;/h2&gt;

&lt;p&gt;Studying in Wuxi, China has given me the opportunity to observe technological growth from a very close perspective. The pace of development here is remarkable, and the engineering culture encourages discipline, curiosity, and continuous improvement.&lt;/p&gt;

&lt;p&gt;Being surrounded by this environment constantly reminds me that innovation is not just about ideas — it is about consistent effort and learning.&lt;/p&gt;

&lt;h2&gt;
  
  
  Final Thoughts
&lt;/h2&gt;

&lt;p&gt;Technology has always been a bridge between imagination and reality.&lt;/p&gt;

&lt;p&gt;Every time I see a simple “Build Success” message after compiling a program, it feels like a small step toward something larger. Behind every working application, every interactive system, and every digital experience lies thousands of lines of thoughtful engineering.&lt;/p&gt;

&lt;p&gt;And that is what makes software engineering exciting — the idea that today's code can become tomorrow's technology.&lt;/p&gt;

&lt;p&gt;What are your thoughts on the future of AR, VR, and immersive software experiences? I would love to hear different perspectives from other developers and learners.&lt;/p&gt;

&lt;h2&gt;
  
  
  About the Author
&lt;/h2&gt;

&lt;p&gt;I'm Sadekul Islam (Lì Ào), a Software Engineering student passionate about problem solving, backend development, Data Structures and Algorithms, and modern web technologies.&lt;/p&gt;

&lt;h2&gt;
  
  
  🔗 Connect with me:
&lt;/h2&gt;

&lt;p&gt;&lt;a href="https://sadekulislam.netlify.app/" rel="noopener noreferrer"&gt;Portfolio&lt;/a&gt;&lt;br&gt;
&lt;a href="https://github.com/sadekul-me" rel="noopener noreferrer"&gt;GitHub&lt;/a&gt;&lt;br&gt;
&lt;a href="https://www.linkedin.com/in/sadekulislam-me/" rel="noopener noreferrer"&gt;Linkedin&lt;/a&gt;&lt;br&gt;
&lt;a href="https://www.facebook.com/sadekulislam.me" rel="noopener noreferrer"&gt;Facebook&lt;/a&gt;&lt;/p&gt;

</description>
      <category>learning</category>
      <category>softwareengineering</category>
      <category>dotnet</category>
      <category>webdev</category>
    </item>
    <item>
      <title>Manual Deployment from GitHub to AWS EC2 Using Deploy Keys</title>
      <dc:creator>Sadekul Islam</dc:creator>
      <pubDate>Sun, 15 Jun 2025 08:50:18 +0000</pubDate>
      <link>https://dev.to/sadekul-me/how-to-build-an-awesome-developer-portfolio-website-32ap</link>
      <guid>https://dev.to/sadekul-me/how-to-build-an-awesome-developer-portfolio-website-32ap</guid>
      <description>&lt;p&gt;Looking to deploy your project quickly — whether it’s a solo mission or an MVP for your startup?&lt;br&gt;&lt;br&gt;
Here’s a clean and reliable way to &lt;strong&gt;manually deploy from GitHub to AWS EC2 using Deploy Keys&lt;/strong&gt;.&lt;br&gt;&lt;br&gt;
No CI/CD tools. No complex setup. Just simple, secure steps.&lt;/p&gt;
&lt;h2&gt;
  
  
  Step 1: Set Up Your EC2 Instance
&lt;/h2&gt;

&lt;p&gt;Begin by launching an on-demand EC2 instance on AWS. Access this instance via SSH, and use Git to clone or pull your repository. This setup will be similar to your local development environment, except you’ll need to configure environment variables specific to your server.&lt;/p&gt;

&lt;p&gt;To ensure your server is secure, configure nginx with SSL certificates. This adds a layer of security and professionalism to your deployment.&lt;/p&gt;
&lt;h2&gt;
  
  
  Using GitHub Deploy Keys
&lt;/h2&gt;

&lt;p&gt;Deploy keys provide a secure, read-only connection between your EC2 instance and your GitHub repository. Here’s how to set them up:&lt;/p&gt;
&lt;h2&gt;
  
  
  Step 1: Generate SSH Keys
&lt;/h2&gt;

&lt;p&gt;First, generate an SSH key pair on your EC2 instance:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;ssh-keygen -t ed25519 -f ~/.ssh/my_project_deploy_key -C "your_email@example.com"

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

&lt;/div&gt;



&lt;p&gt;Using ed25519 instead of the more common RSA provides better security. The -C flag is optional but useful if you plan to use the key for commit signing in addition to deployment.&lt;/p&gt;

&lt;h2&gt;
  
  
  Step 2: Add the Public Key to GitHub
&lt;/h2&gt;

&lt;p&gt;In your GitHub repository, navigate to Settings &amp;gt; Deploy keys. Click Add Deploy Key, provide a descriptive title like "EC2 Deployment Key", and paste the contents of your public key file (~/.ssh/my_project_deploy_key.pub). For most deployment scenarios, you won’t need to enable write access.&lt;/p&gt;

&lt;h2&gt;
  
  
  Step 3: Configure SSH for Git
&lt;/h2&gt;

&lt;p&gt;To allow your EC2 instance to access multiple repositories without using the default id_rsa key name, configure your SSH client:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;vim ~/.ssh/config

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

&lt;/div&gt;



&lt;h2&gt;
  
  
  Add the following entries to the file:
&lt;/h2&gt;



&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;Host github.com-my_project
  HostName github.com
  IdentityFile ~/.ssh/my_project_deploy_key
  User git

Host github.com-other_project
  HostName github.com
  IdentityFile ~/.ssh/other_deploy_key
  User git

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

&lt;/div&gt;



&lt;p&gt;This configuration allows you to manage multiple repositories with different keys.&lt;/p&gt;

&lt;p&gt;To clone your repository, use the configured host:&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 git@github.com-my_project:your_github_org/your_repo.git

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

&lt;/div&gt;



&lt;p&gt;You can then use git pull as needed to update your project.&lt;/p&gt;

&lt;h2&gt;
  
  
  Improving Your Deployment Process
&lt;/h2&gt;

&lt;p&gt;While this manual setup is quick and effective, it does have some limitations, such as downtime during updates. To minimize downtime, consider using a process manager like &lt;a href="https://futurestud.io/tutorials/pm2-cluster-mode-and-zero-downtime-restarts" rel="noopener noreferrer"&gt;pm2&lt;/a&gt;, which supports zero-downtime restarts.&lt;/p&gt;

&lt;p&gt;As your project grows, SSH-based manual deployments might become cumbersome. Automating your deployment process can save time and reduce errors. You can use GitHub webhooks to trigger automatic deployments or configure your server as a Git remote to push updates directly. This approach can streamline your workflow and enhance efficiency.&lt;/p&gt;

&lt;h2&gt;
  
  
  Conclusion
&lt;/h2&gt;

&lt;p&gt;Deploying with GitHub and EC2 using deploy keys is a straightforward and effective way to manage your projects, especially for quick prototypes and solo projects. This method allows you to leverage the power of AWS and GitHub without the overhead of more complex deployment strategies. Stay tuned for future posts where we’ll explore advanced deployment techniques and best practices.&lt;/p&gt;

</description>
      <category>aws</category>
      <category>git</category>
      <category>github</category>
      <category>deployment</category>
    </item>
    <item>
      <title>Highly Effective 7 Habits for Developers</title>
      <dc:creator>Sadekul Islam</dc:creator>
      <pubDate>Sun, 15 Jun 2025 06:45:51 +0000</pubDate>
      <link>https://dev.to/sadekul-me/highly-effective-7-habits-for-developers-j3b</link>
      <guid>https://dev.to/sadekul-me/highly-effective-7-habits-for-developers-j3b</guid>
      <description>&lt;p&gt;Success as a software developer doesn’t come by luck or chance. It’s built through years of hard work, continuous learning, and developing good habits. In today’s fast-moving tech world, developers need to keep learning and adapting to stay on top of the latest trends.&lt;/p&gt;

&lt;p&gt;In this article, I’ll share 7 habits that will help you become a more effective and successful software developer.&lt;/p&gt;

&lt;h2&gt;
  
  
  1. Make a Schedule
&lt;/h2&gt;

&lt;p&gt;Just like in school, having a clear schedule helps you organize your day. Plan when and how long you’ll work or learn new skills. This keeps you focused and helps you avoid wasting time.&lt;/p&gt;

&lt;h2&gt;
  
  
  2. Embrace Mistakes and Learn from Them
&lt;/h2&gt;

&lt;p&gt;Everyone makes mistakes, and that’s okay. What matters is that you learn from them. When something goes wrong, take a moment to understand why and how you can improve next time.&lt;/p&gt;

&lt;h2&gt;
  
  
  3. Be Consistent
&lt;/h2&gt;

&lt;p&gt;Set aside time daily to practice coding or learning. Consistency helps you make steady progress and spot areas where you need to improve.&lt;/p&gt;

&lt;h2&gt;
  
  
  4. Find a Mentor
&lt;/h2&gt;

&lt;p&gt;Having an experienced mentor can be a game-changer. They can guide you, offer advice, and share their insights to help you grow faster and tackle challenges better.&lt;/p&gt;

&lt;h2&gt;
  
  
  5. Work on Real Projects
&lt;/h2&gt;

&lt;p&gt;The best way to learn is by doing. Choose projects that match your skill level and gradually take on harder ones. Real-world experience will sharpen your skills.&lt;/p&gt;

&lt;h2&gt;
  
  
  6. Don’t Try to Learn Everything at Once
&lt;/h2&gt;

&lt;p&gt;There are countless programming languages and tools out there, but don’t spread yourself too thin. Master one area first, then move on to the next. This helps you become a specialist and stand out.&lt;/p&gt;

&lt;h2&gt;
  
  
  7. Stay Updated
&lt;/h2&gt;

&lt;p&gt;Tech changes fast! Read articles, watch webinars, attend conferences, and follow industry experts on social media. Staying current will keep your skills relevant.&lt;/p&gt;

&lt;h2&gt;
  
  
  In short:
&lt;/h2&gt;

&lt;p&gt;Building good habits is the key to improving yourself as a developer. By following these 7 habits, you will not only enhance your skills but also gain confidence and stand out in the tech world. Start today and watch your developer journey transform!&lt;/p&gt;

</description>
      <category>web3</category>
      <category>blockchain</category>
      <category>crypto</category>
    </item>
    <item>
      <title>How to Build an awesome developer portfolio website.</title>
      <dc:creator>Sadekul Islam</dc:creator>
      <pubDate>Sun, 15 Jun 2025 06:35:13 +0000</pubDate>
      <link>https://dev.to/sadekul-me/how-to-build-an-awesome-developer-portfolio-website-4jhh</link>
      <guid>https://dev.to/sadekul-me/how-to-build-an-awesome-developer-portfolio-website-4jhh</guid>
      <description>&lt;p&gt;As a software developer, having a robust portfolio website is one of the best ways to showcase your technical skills, projects, and professional journey. To help the developer community, I have designed a modern, high-performance portfolio website using Next.js, Tailwind CSS, and EmailJS.&lt;/p&gt;

&lt;p&gt;In this guide, I will walk you through the setup process step-by-step so you can deploy your own professional portfolio in minutes!&lt;/p&gt;

&lt;h2&gt;
  
  
  STEP 01:
&lt;/h2&gt;

&lt;p&gt;Clone the Repository using &lt;a href="https://github.com/Sadekul-me/my-portfolio" rel="noopener noreferrer"&gt;GitHub link&lt;/a&gt; and change the directory to the developer-portfolio.&lt;/p&gt;

&lt;h2&gt;
  
  
  🚀 Live Demo
&lt;/h2&gt;

&lt;p&gt;Before we start, you can check out my own live portfolio to see the final result:👉&lt;a href="//sadekulislam.netlify.app"&gt;sadekulislam.netlify.app&lt;/a&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  🛠️ Step 01: Clone the Repository
&lt;/h2&gt;

&lt;p&gt;First, clone the project from my GitHub and navigate into the directory.&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;git clone &lt;span class="o"&gt;[&lt;/span&gt;https://github.com/Sadekul-me/my-portfolio.git]&lt;span class="o"&gt;(&lt;/span&gt;https://github.com/Sadekul-me/my-portfolio.git&lt;span class="o"&gt;)&lt;/span&gt;
&lt;span class="nb"&gt;cd &lt;/span&gt;my-portfolio
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;h2&gt;
  
  
  🛠️ Step 02: Install Dependencies &amp;amp; Customize Data
&lt;/h2&gt;

&lt;p&gt;Install all the necessary packages using npm or yarn.&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;
npm &lt;span class="nb"&gt;install&lt;/span&gt;
&lt;span class="c"&gt;# or&lt;/span&gt;
yarn

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

&lt;/div&gt;



&lt;p&gt;After installation, open the project in your code editor. Navigate to utils/data/ and update the personal information with your own details.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Example (My Configuration):&lt;/strong&gt;&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight javascript"&gt;&lt;code&gt;&lt;span class="k"&gt;export&lt;/span&gt; &lt;span class="kd"&gt;const&lt;/span&gt; &lt;span class="nx"&gt;personalData&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt;
  &lt;span class="na"&gt;name&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="s2"&gt;Sadekul Islam&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;
  &lt;span class="na"&gt;profile&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="dl"&gt;'&lt;/span&gt;&lt;span class="s1"&gt;/profile.png&lt;/span&gt;&lt;span class="dl"&gt;'&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;
  &lt;span class="na"&gt;designation&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="s2"&gt;Software Engineering&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;
  &lt;span class="na"&gt;description&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="s2"&gt;I am an enthusiastic software developer with a passion that spans both frontend and backend development. My love for technology has led me to explore full-stack development, database management, and software architecture. I believe technology has the power to simplify lives and open new possibilities in the digital world. I am constantly learning new things, finding solutions through creative thinking, and improving my skills. In the future, I aspire to work with international software companies to enhance my expertise and contribute to the advancement of the world through technology. 👨‍💻 My Belief: Technology is not just code; it’s an infinite world of creativity. 🚀&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;
  &lt;span class="na"&gt;email&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="dl"&gt;'&lt;/span&gt;&lt;span class="s1"&gt;sadekul.dev@gmail.com&lt;/span&gt;&lt;span class="dl"&gt;'&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;
  &lt;span class="na"&gt;phone&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="dl"&gt;'&lt;/span&gt;&lt;span class="s1"&gt;+8617715302572&lt;/span&gt;&lt;span class="dl"&gt;'&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;
  &lt;span class="na"&gt;address&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="dl"&gt;'&lt;/span&gt;&lt;span class="s1"&gt;Taihu Campus, Wuxi University of Technology, Wuxi, China&lt;/span&gt;&lt;span class="dl"&gt;'&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;
  &lt;span class="na"&gt;github&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="dl"&gt;'&lt;/span&gt;&lt;span class="s1"&gt;https://github.com/sadekul-me&lt;/span&gt;&lt;span class="dl"&gt;'&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;
  &lt;span class="na"&gt;facebook&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="dl"&gt;'&lt;/span&gt;&lt;span class="s1"&gt;https://www.facebook.com/sadekulislam.me&lt;/span&gt;&lt;span class="dl"&gt;'&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;
  &lt;span class="na"&gt;linkedIn&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="dl"&gt;'&lt;/span&gt;&lt;span class="s1"&gt;https://www.linkedin.com/in/sadekulislam-me/&lt;/span&gt;&lt;span class="dl"&gt;'&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;
  &lt;span class="na"&gt;twitter&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="dl"&gt;'&lt;/span&gt;&lt;span class="s1"&gt;https://x.com/sadekul_me&lt;/span&gt;&lt;span class="dl"&gt;'&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;
  &lt;span class="na"&gt;stackOverflow&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="dl"&gt;'&lt;/span&gt;&lt;span class="s1"&gt;https://stackoverflow.com/users/&lt;/span&gt;&lt;span class="dl"&gt;'&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;
  &lt;span class="na"&gt;leetcode&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="s2"&gt;https://leetcode.com/u/SadekulDev/&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;
  &lt;span class="na"&gt;devUsername&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="s2"&gt;sadekul-me&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;
  &lt;span class="na"&gt;resume&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="s2"&gt;https://drive.google.com/drive/folders/1u8xxld068ikacZALKUCpm8vCt53JxWHT&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt;
&lt;span class="p"&gt;}&lt;/span&gt;

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

&lt;/div&gt;



&lt;h2&gt;
  
  
  🛠️ Step 03: Environment Setup (EmailJS)
&lt;/h2&gt;

&lt;p&gt;This portfolio uses EmailJS to allow visitors to send messages directly to your email for free. Create a .env file in the root directory and add your credentials:&lt;/p&gt;

&lt;h2&gt;
  
  
  STEP 03:
&lt;/h2&gt;

&lt;p&gt;Now we will make a .env file and set up our Email.JS credential in a .env file. I am using EmailJs in this project for the user to send mail to me and It's free. The .env file will be the following:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight properties"&gt;&lt;code&gt;&lt;span class="py"&gt;NEXT_PUBLIC_EMAILJS_SERVICE_ID&lt;/span&gt; &lt;span class="p"&gt;=&lt;/span&gt; &lt;span class="s"&gt;your_service_id&lt;/span&gt;
&lt;span class="py"&gt;NEXT_PUBLIC_EMAILJS_TEMPLATE_ID&lt;/span&gt; &lt;span class="p"&gt;=&lt;/span&gt; &lt;span class="s"&gt;your_template_id&lt;/span&gt;
&lt;span class="py"&gt;NEXT_PUBLIC_EMAILJS_PUBLIC_KEY&lt;/span&gt; &lt;span class="p"&gt;=&lt;/span&gt; &lt;span class="s"&gt;your_public_key&lt;/span&gt;

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

&lt;/div&gt;



&lt;h2&gt;
  
  
  How to get these keys?
&lt;/h2&gt;

&lt;ol&gt;
&lt;li&gt;Sign up at&lt;a href="https://www.emailjs.com/" rel="noopener noreferrer"&gt;EmailJS.com&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;Create an Email Service (Connect your Gmail) to get the Service ID.&lt;/li&gt;
&lt;li&gt;Create an Email Template to get the Template ID.&lt;/li&gt;
&lt;li&gt;Go to Account/API Keys to find your Public Key.&lt;/li&gt;
&lt;/ol&gt;

&lt;h2&gt;
  
  
  🛠️ Step 04: Run &amp;amp; Deploy
&lt;/h2&gt;

&lt;p&gt;Now your portfolio is ready! Run the development server to see it in action:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;npm run dev
&lt;span class="c"&gt;# or&lt;/span&gt;
yarn dev

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

&lt;/div&gt;



&lt;p&gt;Open &lt;a href="http://localhost:3000" rel="noopener noreferrer"&gt;http://localhost:3000&lt;/a&gt; in your browser. Once you're happy with it, you can easily deploy it to Vercel or Netlify.&lt;/p&gt;

&lt;h2&gt;
  
  
  ✨ Final Words
&lt;/h2&gt;

&lt;p&gt;If you find this project helpful, please consider giving a ⭐ to the &lt;a href="https://github.com/sadekul-me/my-portfolio" rel="noopener noreferrer"&gt;GitHub Repository.&lt;/a&gt;&lt;br&gt;
Let's connect and build something amazing together!&lt;br&gt;
&lt;a href="https://github.com/sadekul-me" rel="noopener noreferrer"&gt;🔗GitHub:&lt;/a&gt; &lt;br&gt;
&lt;a href="https://www.linkedin.com/in/sadekulislam-me/" rel="noopener noreferrer"&gt;🔗 LinkedIn:&lt;/a&gt; &lt;br&gt;
&lt;a href="https://www.facebook.com/sadekulislam.me" rel="noopener noreferrer"&gt;🔗 Facebook:&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Happy Coding! 🚀&lt;/strong&gt;&lt;/p&gt;

</description>
      <category>portfolio</category>
      <category>devpolio</category>
      <category>webdev</category>
      <category>nextjs</category>
    </item>
    <item>
      <title>How to create a Popover using React and Tailwind CSS</title>
      <dc:creator>Sadekul Islam</dc:creator>
      <pubDate>Sun, 15 Jun 2025 05:37:41 +0000</pubDate>
      <link>https://dev.to/sadekul-me/how-to-create-a-popover-using-react-and-tailwind-css-2e9j</link>
      <guid>https://dev.to/sadekul-me/how-to-create-a-popover-using-react-and-tailwind-css-2e9j</guid>
      <description>&lt;p&gt;Popover UI elements are common in web apps, offering extra info or options when users interact with something. Usually, developers rely on npm libraries for Popovers, but these increase the project’s bundle size. In this article, I’ll guide you through building a lightweight, reusable Popover component using React and Tailwind CSS — with both click and hover triggers — so you can keep your app fast and flexible without extra dependencies.&lt;/p&gt;

&lt;h2&gt;
  
  
  The Popover component:
&lt;/h2&gt;



&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;// @flow strict
"use client"
import { useEffect, useRef, useState } from "react";

function ReactPopover({
  children,
  content,
  trigger = "click"
}) {
  const [show, setShow] = useState(false);
  const wrapperRef = useRef(null);

  const handleMouseOver = () =&amp;gt; {
    if (trigger === "hover") {
      setShow(true);
    };
  };

  const handleMouseLeft = () =&amp;gt; {
    if (trigger === "hover") {
      setShow(false);
    };
  };

  useEffect(() =&amp;gt; {
    function handleClickOutside(event) {
      if (wrapperRef.current &amp;amp;&amp;amp; !wrapperRef.current.contains(event.target)) {
        setShow(false);
      }
    }

    if (show) {
      // Bind the event listener
      document.addEventListener("mousedown", handleClickOutside);
      return () =&amp;gt; {
        // Unbind the event listener on clean up
        document.removeEventListener("mousedown", handleClickOutside);
      };
    }
  }, [show, wrapperRef]);

  return (
    &amp;lt;div
      ref={wrapperRef}
      onMouseEnter={handleMouseOver}
      onMouseLeave={handleMouseLeft}
      className="w-fit h-fit relative flex justify-center"&amp;gt;
      &amp;lt;div
        onClick={() =&amp;gt; setShow(!show)
}
      &amp;gt;
        {children}
      &amp;lt;/div&amp;gt;
      &amp;lt;div
        hidden={!show}
        className="min-w-fit w-[200px] h-fit absolute bottom-[100%] z-50 transition-all"&amp;gt;
        &amp;lt;div className="rounded bg-white p-3 shadow-[10px_30px_150px_rgba(46,38,92,0.25)] mb-[10px]"&amp;gt;
          {content}
        &amp;lt;/div&amp;gt;
      &amp;lt;/div&amp;gt;
    &amp;lt;/div&amp;gt;
  );
};

export default ReactPopover;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;In this component the trigger default value is click and you can pass hover as an attribute. When you click outside of the Popover, the Popover will be closed.&lt;/p&gt;

&lt;h2&gt;
  
  
  Use the Popover component:
&lt;/h2&gt;



&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;import ReactPopover from "@/components/common/react-popover";

const Page = () =&amp;gt; {
  return (
    &amp;lt;div className="w-screen h-screen flex justify-center items-center gap-4"&amp;gt;
      &amp;lt;ReactPopover
        content={
          &amp;lt;p&amp;gt;This Content Will be render in Popover.&amp;lt;/p&amp;gt;
        }
      &amp;gt;
        &amp;lt;button className="bg-indigo-500 px-4 py-1.5 border rounded text-white"&amp;gt;
          Click me
        &amp;lt;/button&amp;gt;
      &amp;lt;/ReactPopover&amp;gt;
      &amp;lt;ReactPopover
        trigger="hover"
        content={
          &amp;lt;p&amp;gt;This Content Will be render in Popover.&amp;lt;/p&amp;gt;
        }
      &amp;gt;
        &amp;lt;button className="bg-indigo-500 px-4 py-1.5 border rounded text-white"&amp;gt;
          Hover me
        &amp;lt;/button&amp;gt;
      &amp;lt;/ReactPopover&amp;gt;
    &amp;lt;/div&amp;gt;
  );
};

export default Page;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



</description>
      <category>tailwindcss</category>
      <category>css</category>
      <category>react</category>
      <category>nextjs</category>
    </item>
    <item>
      <title>How Does ChatGPT Generate Human-Like Text?</title>
      <dc:creator>Sadekul Islam</dc:creator>
      <pubDate>Sun, 15 Jun 2025 05:27:45 +0000</pubDate>
      <link>https://dev.to/sadekul-me/how-does-chatgpt-generate-human-like-text-17cm</link>
      <guid>https://dev.to/sadekul-me/how-does-chatgpt-generate-human-like-text-17cm</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%2Fizcr2o49mddyzl5asi7n.webp" 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%2Fizcr2o49mddyzl5asi7n.webp" alt=" " width="800" height="336"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;ChatGPT, developed by OpenAI, is a cutting-edge language model that has made a significant impact in natural language processing. It uses deep learning algorithms to generate human-like text based on input, making it a powerful tool for chatbots, content creation, and other natural language applications.&lt;/p&gt;

&lt;p&gt;The Core of ChatGPT&lt;br&gt;
At its heart, ChatGPT is built on a transformer-based neural network trained on massive text data. This training helps it understand patterns and relationships between words, enabling it to generate coherent, meaningful text. The transformer architecture excels at learning context, which makes ChatGPT especially good at generating text relevant to the ongoing conversation.&lt;/p&gt;

&lt;p&gt;How ChatGPT Generates Text&lt;br&gt;
ChatGPT uses an autoregressive language modeling approach. When you input text, the model converts it into a vector representation, predicts the next word’s probability distribution, and picks the most likely next word. This repeats iteratively, building text word by word until the output reaches the desired length.&lt;/p&gt;

&lt;p&gt;One major strength is ChatGPT’s context handling. It understands the flow of conversation and can generate responses that are on-topic and meaningful, making it ideal for chatbot interactions.&lt;/p&gt;

&lt;p&gt;Scalability and Fine-tuning&lt;br&gt;
ChatGPT can be fine-tuned for specific tasks by training on specialized datasets. For example, fine-tuning on customer service queries allows it to respond more accurately in that domain. This is done using transfer learning, leveraging the knowledge from large datasets to adapt to smaller, task-specific data.&lt;/p&gt;

&lt;p&gt;Real-world Applications&lt;br&gt;
ChatGPT has wide-ranging applications, including:&lt;/p&gt;

&lt;p&gt;Content creation (news articles, creative writing, poetry)&lt;/p&gt;

&lt;p&gt;Customer service chatbots to handle queries and free human agents&lt;/p&gt;

&lt;p&gt;Language translation with context understanding&lt;/p&gt;

&lt;p&gt;Its ability to generate coherent and contextually relevant text opens many possibilities in AI-powered applications.&lt;/p&gt;

&lt;p&gt;Conclusion&lt;br&gt;
In summary, ChatGPT’s transformer-based deep learning architecture and contextual awareness enable it to generate human-like, meaningful text. Its scalability and fine-tuning capabilities make it a versatile AI tool for many industries. As AI continues to evolve, ChatGPT is set to revolutionize how humans interact with machines.&lt;/p&gt;

&lt;p&gt;Disclaimer: This post was also written using ChatGPT.&lt;/p&gt;

</description>
      <category>webdev</category>
      <category>chatgpt</category>
      <category>ai</category>
      <category>openai</category>
    </item>
  </channel>
</rss>
