Pages

Friday, February 27, 2026

How to Manage App Versions Like a Pro (Android + iOS Guide)

If you’re building mobile apps for Android and iOS, versioning is not just a number — it’s your release discipline.

Poor version management leads to:

  • Rejected builds (Store publishing errors)
  • Confusing release notes
  • CI/CD issues
  • Backend incompatibility problems

In this guide, we’ll break down a universal versioning strategy that works cleanly for both platforms.

Thursday, January 15, 2026

ভুল ব্রাঞ্চে কমিট? অর্ধেক কাজ করা কোড নিয়ে ব্রাঞ্চ চেঞ্জ করতে বিপদ? চিন্তা নেই—সমাধান আছে!

ভুল ব্রাঞ্চে কমিট? অর্ধেক কাজ করা কোড নিয়ে ব্রাঞ্চ চেঞ্জ করতে বিপদ? চিন্তা নেই — সমাধান আছে !

ডেভেলপার হিসেবে আমরা প্রায়ই এমন পরিস্থিতিতে পড়ি যেখানে কাজ অর্ধেক শেষ হয়েছে, কিন্তু হঠাৎ অন্য কোনো ইমার্জেন্সি ফিচারে কাজ করতে হচ্ছে। অথবা এমন হয় যে, অন্য একটি ব্রাঞ্চের মাত্র একটি নির্দিষ্ট কমিট আমার বর্তমান ব্রাঞ্চে দরকার। এই সমস্যাগুলোর সমাধান নিয়ে আজকে আমাদের এই ব্লগ।

আগে যখন আমরা এই টুলগুলো জানতাম না, তখন কী করতাম?

  • অর্ধেক কোড নিয়ে ঝামেলা: ধরুন, আপনি একটি ফিচারে কাজ করছেন কিন্তু সেটি এখনও শেষ হয়নি। এখন ইমার্জেন্সি একটা বাগ ফিক্স করতে হবে। আপনি যদি এখন কোডটি ‘Commit’ করেন, তাহলে একটি ইনকমপ্লিট বা ব্রোকেন কোড হিস্ট্রিতে থেকে যাবে। আর যদি ‘Commit’ না করেন, তবে ব্রাঞ্চ সুইচ করা যাবে না।
  • ম্যানুয়াল কপি-পেস্ট: অন্য ব্রাঞ্চ থেকে একটি নির্দিষ্ট কোড চেঞ্জ আনতে আমরা ম্যানুয়ালি ফাইল কপি করে আনতাম, যা ভুল হওয়ার সম্ভাবনা বাড়িয়ে দিত এবং সময় নষ্ট করত।

Friday, January 9, 2026

The Open-Source Launcher That Makes Every Android Feel Like a Google Pixel

I love my Motorola Edge 60 Stylus, but something was missing. The stock launcher felt… fine. Just fine. I craved the clean, buttery-smooth experience my friends raved about on their Google Pixel phones.

Enter Lawnchair.

                         

C Programming এ Function এর ৪টি ধরন

আমরা যখন C প্রোগ্রামিং করি, অনেক সময় একই ধরনের কাজ বারবার করতে হয়। যদি এই সব কাজ সরাসরি main() ফাংশনের ভেতরেই লিখি, তাহলে কোড অনেক বড়, জটিল এবং পড়তে অসুবিধা হয়।

এই সমস্যার সমাধান হলো Function ব্যবহার করা

Function ব্যবহার করলে—

  • কোড পরিষ্কার ও ছোট থাকে
  • বারবার একই কোড লেখার প্রয়োজন হয় না
  • প্রোগ্রাম বুঝতে ও মেইনটেইন করতে সহজ হয়

C প্রোগ্রামিং-এ Function সাধারণত ৪ ধরনের হয়ে থাকে:

  1. No Return – With Argument
  2. No Return – No Argument
  3. Return – With Argument
  4. Return – No Argument

🚀 My Top 17 Favorite Google Chrome Extensions That Boost My Dev Productivity & Browsing Experience, part-1

Google Chrome extensions are an essential part of my daily workflow. From productivity to security, design to development — the right extensions can save hours and make life easier.

In this blog, I’m sharing my top favorite Chrome extensions with details like why I love them, key features, pros & cons, pricing, best use cases, and alternatives.

1. WOT: Website Security & Safety Checker

Why I love it: It acts like a digital bodyguard, warning me about sketchy sites before I even click.

  • Key Feature: Real-time reputation ratings based on a global community.
  • Key Advantages: Anti-phishing alerts and data breach monitoring. Great for online shopping & unknown sites
  • Key Disadvantages: Community ratings can be biased,Reputation can lag behind for very new or niche sites.
  • Paid or Free: Free (Pro version available).
  • Current Pro Pricing: ~$4.99/mo (variable by region).
  • Stats: 4.4/5 rating | 2M+ users | v5.9.1.
  • Best for: Safety-conscious shoppers and general users. specially developers downloading libraries or tools.
  • Platform: Extension (Chrome, Edge, Firefox), App (iOS, Android).
  • Alternatives: Avast Online Security,Norton Safe Web, Bitdefender TrafficLight,Malwarebytes Browser Guard.
  • link: Chrome Extension

2. Video Speed Controller

হ্যাশ বনাম এনক্রিপশন

ডাটা নিয়ে কাজ করতে গেলে এবং তার সুরক্ষা নিশ্চিত করতে হলে আমরা প্রায়ই দুটি শব্দ শুনি — Hash এবং Encryption। অনেকেই এই দুই ধারণা একসঙ্গে মিশিয়ে ফেলেন। আজকে দেখব, এদের মধ্যে আসলে পার্থক্য কোথায় এবং কখন কোনটি ব্যবহার করা উচিত।


Wednesday, September 25, 2024

Pros and Cons of the three fundamental types of Dependency Injection (DI)

Here are the pros and cons of the three fundamental types of Dependency Injection (DI): 
  1. Constructor Injection
  2. Field (or Property) Injection
  3. Method (or Setter) Injection

Three fundamental types of Dependency Injection (DI)

The three fundamental types of Dependency Injection (DI) in Kotlin and Java are:

  1. Constructor Injection
  2. Field (or Property) Injection
  3. Method (or Setter) Injection

Each type of DI handles injecting dependencies into a class in different ways. Let's explore these in detail:

1. Constructor Injection

With constructor injection, the dependencies are passed through a class constructor. This is the most common and preferred form of dependency injection because it makes the class more explicit and easier to test. The dependencies are required at the time of object creation.

This example effectively illustrates the principles of Dependency Injection

Dependency Injection (DI) is a software design pattern that promotes loose coupling between classes by passing dependencies (objects that a class needs to function) into the class rather than having the class create them itself. This makes code more modular, testable, and maintainable.

Here's a simplified example of how DI works: 

Tuesday, January 17, 2023

Fixing “INSTALL_FAILED_USER_RESTRICTED” on Xiaomi Devices (MIUI 13 and Above)

If you’re developing an Android app on a Xiaomi device and encounter the error INSTALL_FAILED_USER_RESTRICTED, it usually means that the system isn’t allowing installations from USB for development. This most often happens if you accidentally pressed “Deny” the first time the “Install via USB” permission prompt appeared.

Here’s how to fix it.

Step-by-Step Solution

1. Enable Developer Options

  • Go to Settings → About phone.

  • Tap MIUI version repeatedly until you see a message saying “You’re now a developer!”

Featured post

How to Manage App Versions Like a Pro (Android + iOS Guide)