How I Run Two Codex Setups on One Windows PC: ChatGPT Business in the GUI and Token-Based API in the CLI

If you use OpenAI Codex on Windows, you may eventually run into an interesting problem: the Codex desktop application and Codex CLI can share configuration.

That is convenient when you want both to behave the same way. It becomes a problem when you want two completely different setups.

That was exactly my situation.

I wanted:

Codex GUI
→ My normal ChatGPT Business account
→ Normal OpenAI authentication
→ GPT-6 Astra
Codex CLI
→ Separate API/token authentication
→ Custom API provider
→ GPT-6 Sol

Initially, trying to configure the CLI broke the GUI. The GUI started returning:

401 Unauthorized: Invalid token
url: https://vibi.top/v1/responses

After some troubleshooting, I found the cause and created a clean solution: give the GUI and CLI separate Codex home directories.

This article explains both the technical reason and the practical setup.

The Problem: GUI and CLI Were Sharing Configuration

On my Windows machine, the normal Codex configuration was stored under:

C:\Users\user\.codex

Inside it was:

config.toml

My configuration contained a custom model provider:

model_provider = "OpenAI"
[model_providers.OpenAI]
name = "OpenAI"
base_url = "https://vibi.top/v1"
wire_api = "responses"
requires_openai_auth = true

The important line was:

base_url = "https://vibi.top/v1"

I had intended this configuration for my CLI API setup.

But the Codex desktop application was reading the same configuration.

So instead of the GUI using my normal ChatGPT account, its requests were being redirected to:

https://vibi.top/v1/responses

The server rejected the credential being presented, resulting in:

401 Unauthorized
Invalid token

The GUI wasn’t necessarily broken.

Its configuration was pointing it at the wrong backend.

The Solution: Separate CODEX_HOME

The key concept is simple.

Instead of making the GUI and CLI share:

C:\Users\user\.codex

I separated them:

                 Windows PC
                     │
             ┌───────┴───────┐
             │               │
         Codex GUI        Codex CLI
             │               │
             ▼               ▼
      C:\Users\user      C:\Users\user
          \.codex           \.codex-cli
             │               │
             ▼               ▼
       ChatGPT login      API token
             │               │
             ▼               ▼
          OpenAI         Custom provider

This is the most important idea in the entire setup.

The CLI doesn’t need to use the same Codex home directory as the desktop application.

Step 1: Back Up the Existing Codex Environment

Before changing anything, I backed up my existing .codex directory.

In Cmder/CMD:

mkdir "%USERPROFILE%\Documents\Codex-Safe-Backup"
xcopy "%USERPROFILE%\.codex" "%USERPROFILE%\Documents\Codex-Safe-Backup\.codex" /E /H /I /Y

I also separately copied config.toml:

copy "%USERPROFILE%\.codex\config.toml" "%USERPROFILE%\Documents\Codex-Safe-Backup\config.toml"

This gave me:

C:\Users\user\Documents\Codex-Safe-Backup

Why bother?

Because .codex contained considerably more than one configuration file on my machine. It included authentication information, sessions, state databases, plugins, histories, worktrees and other Codex data.

If an experiment went wrong, I wanted the original state available.

Important: this is a local backup. It isn’t automatically a cloud backup unless that location is being synchronized by something such as OneDrive.


Step 2: Restore the GUI to the Normal OpenAI Provider

I wanted the desktop GUI to use my normal ChatGPT Business account.

Therefore, I removed the custom provider that redirected OpenAI traffic to the third-party endpoint.

Instead of this:

model_provider = "OpenAI"
[model_providers.OpenAI]
name = "OpenAI"
base_url = "https://vibi.top/v1"
wire_api = "responses"
requires_openai_auth = true

I configured the normal provider:

model_provider = "openai"

Notice something subtle:

OpenAI ❌
openai ✅

In my setup, using OpenAI after removing the custom provider produced:

failed to load configuration:
Model provider `OpenAI` not found

Using the built-in provider identifier fixed that problem.

My GUI configuration then started with something similar to:

model_provider = "openai"
model = "gpt-6-astra"
review_model = "gpt-6-astra"
model_reasoning_effort = "medium"

Step 3: Don’t Reconfigure the GUI for the CLI

At this point I had:

mkdir "%USERPROFILE%\.codex-cli"

working correctly.

I didn’t want to touch it again.

Instead, I created another directory exclusively for the CLI:

mkdir "%USERPROFILE%\.codex-cli"

Now there were two locations:

C:\Users\user\.codex
C:\Users\user\.codex-cli

Think of these as two separate profiles.

.codex belongs to my normal desktop setup.

.codex-cli belongs to my token-based CLI setup.


Step 4: Tell the CLI to Use Its Own Home

In Cmder I ran:

set CODEX_HOME=%USERPROFILE%\.codex-cli

Then I checked it:

echo %CODEX_HOME%

The result was:

C:\Users\user\.codex-cli

This is the crucial step.

I wasn’t changing directories with cd.

I was telling Codex where its home/configuration directory should be for that terminal environment.

That’s an important distinction:

cd
→ changes the working directory of the shell
CODEX_HOME
→ changes where Codex looks for its own configuration/state

Those are two different concepts.


Step 5: Create the CLI-Only Configuration

I opened:

notepad "%CODEX_HOME%\config.toml"

My token-based configuration looked like this:

model_provider = "vibi"
model = "gpt-6-sol"
model_reasoning_effort = "medium"
network_access = "enabled"
[model_providers.vibi]
name = "Vibi"
base_url = "https://vibi.top/v1"
wire_api = "responses"
env_key = "VNAI_KEY"

Now this configuration exists under:

C:\Users\user\.codex-cli\config.toml

instead of the GUI’s:

C:\Users\user\.codex\config.toml

That’s what prevents the configurations from fighting each other.


Step 6: Keep the Actual Token Outside config.toml

Another useful detail is this:

env_key = "VNAI_KEY"

That does not mean:

env_key = "sk-my-secret-token..."

env_key is the name of the environment variable containing the credential.

I therefore set the actual credential in Cmder:

set VNAI_KEY=YOUR_API_TOKEN

Codex then effectively does:

config.toml
│
│ env_key = "VNAI_KEY"
▼
Environment
│
│ VNAI_KEY = actual secret
▼
API authentication

This also means I don’t need to put the secret directly into config.toml.

And obviously, don’t publish your real API key in a blog post.

Use something like:

YOUR_API_TOKEN

in examples.


Step 7: Launch Codex CLI

With both environment variables configured:

set CODEX_HOME=%USERPROFILE%\.codex-cli
set VNAI_KEY=YOUR_API_TOKEN

I launched:

codex

Codex started with the CLI-specific configuration.

I tested:

hi

and received a normal response.

At that point I had achieved the setup I wanted.

The Final Architecture

My machine now effectively works like this:

                     WINDOWS
                        │
        ┌───────────────┴────────────────┐
        │                                │
        ▼                                ▼
   CODEX DESKTOP                     CODEX CLI
        │                                │
        │                                │
        ▼                                ▼
%USERPROFILE%\.codex          %USERPROFILE%\.codex-cli
        │                                │
        │                                │
   config.toml                       config.toml
        │                                │
        ▼                                ▼
model_provider="openai"        model_provider="vibi"
        │                                │
        ▼                                ▼
ChatGPT Business                  Custom API
authentication                       token
        │                                │
        ▼                                ▼
   GPT-6 Astra                     GPT-6 Sol
   

The two applications can coexist because they no longer have to consume the same provider configuration.

The Mistake That Caused the Original Problem

My original setup effectively looked like this:

                 Shared .codex
                      │
              custom base_url
                      │
                 vibi.top
                  /      \
                 /        \
               GUI        CLI

I wanted only the CLI to use the custom provider.

But because the provider configuration was in the shared Codex home, the desktop application picked it up too.

The result was:

GUI
↓
Custom provider
↓
Wrong/incompatible credential
↓
401 Unauthorized

The solution wasn’t to keep changing tokens.

It was to separate configuration scopes.


Temporary vs Permanent Environment Variables

There is another important Windows detail.

When I use:

set CODEX_HOME=%USERPROFILE%\.codex-cli

inside CMD/Cmder, it applies to that environment/session.

Likewise:

set VNAI_KEY=YOUR_API_TOKEN

can be kept scoped to the terminal session.

That’s actually useful here.

I don’t necessarily want Windows globally telling every Codex process:

CODEX_HOME=.codex-cli

because then I risk pointing the GUI at the CLI configuration again.

For this setup, isolation is the whole point.


One Important Security Lesson

During troubleshooting it’s tempting to paste API keys everywhere just to get things working.

Don’t.

Use:

env_key = "VNAI_KEY"

and:

set VNAI_KEY=YOUR_API_TOKEN

instead of embedding the actual credential in configuration examples, screenshots, GitHub repositories, tutorials or blog posts.

If a real token is accidentally published, revoke/rotate it.


What I Learned

The biggest lesson wasn’t really about one API provider.

It was about configuration isolation.

GUI applications and command-line applications can look like completely separate programs while still consuming the same underlying configuration.

Once I understood that, the solution became straightforward:

Don't make two different authentication systems
fight over one configuration.
Give each one its own configuration.

My final setup gives me the best of both worlds:

And if I want to experiment with the CLI later, I can modify:

C:\Users\user\.codex-cli

without touching the working desktop configuration in:

C:\Users\user\.codex

For anyone trying to run Codex Desktop and a differently authenticated Codex CLI on the same Windows machine, that separation is the key idea.

Summary

I successfully configured two independent OpenAI Codex setups on the same Windows PC without them interfering with each other:

Codex GUI/Desktop uses my normal ChatGPT Business account, while Codex CLI runs separately using a token/API-based provider.

The key was configuration isolation:

Codex GUI
→ C:\Users\user\.codex
→ ChatGPT Business authentication
Codex CLI
→ C:\Users\user\.codex-cli
→ Separate CODEX_HOME
→ API/token authentication

This prevents custom CLI API settings, tokens, base URLs, and models from changing or breaking the Codex desktop application.

If you’re trying to set up Codex GUI + token-based Codex CLI on the same computer and need help configuring it, you can contact me on WhatsApp:

💬 Chat with me on WhatsApp

I can help you understand the setup and configure the two environments separately.

How to Fix AdMob App-ads.txt Verification with GitHub Pages and Firebase Hosting

If you have an Android app published on Google Play and you are trying to verify it in Google AdMob, one of the most confusing issues you may encounter is the app-ads.txt verification problem.

You may have already created the correct app-ads.txt file. You may even be able to open that file successfully in your browser. Yet AdMob can still report:

“You may have set up an app-ads.txt file, but your details don’t match the information in your AdMob account.”

I recently worked through this exact problem with an Android application, Germany Jabo, and the important lesson was that having the file accessible is not enough—the file must be accessible from the correct root hostname that AdMob crawls.

This article explains the complete solution.


What is app-ads.txt?

app-ads.txt is an IAB Tech Lab standard that helps app developers identify which advertising platforms are authorized to sell advertising inventory for their apps.

For AdMob, the file contains a publisher record such as:

google.com, pub-2296246438593583, DIRECT, f08c47fec0942fa0

The important parts are:

  • google.com — advertising system
  • pub-2296246438593583 — AdMob publisher ID
  • DIRECT — direct relationship
  • f08c47fec0942fa0 — Google’s certification/authority ID

The exact line must come from your own AdMob account. Do not copy another developer’s publisher ID.


The Problem I Encountered

My Android app was already connected to AdMob.

The AdMob app settings showed the application, but verification failed.

AdMob displayed a message indicating that an app-ads.txt file might exist, but the details did not match.

Initially, everything appeared correct.

The app-ads.txt file existed in my GitHub repository:

GermanyJaboWeb/
├── index.html
├── privacy-policy.html
├── account-deletion.html
├── app-ads.txt
├── assets/
├── css/
├── js/
└── ...

The GitHub Pages URL was:

https://sushen.github.io/GermanyJaboWeb/app-ads.txt

And opening that URL in a browser displayed the correct line:

google.com, pub-2296246438593583, DIRECT, f08c47fec0942fa0

So it looked like everything should work.

But AdMob still couldn’t verify the application.


The Important Discovery

The critical test was to check the root hostname, rather than the GitHub project path.

The Google Play developer website was originally:

https://sushen.github.io/GermanyJaboWeb/

A common assumption is that AdMob will look here:

https://sushen.github.io/GermanyJaboWeb/app-ads.txt

But that isn’t how the crawler determines the location.

AdMob uses the hostname from the developer website.

In this case, the hostname is:

sushen.github.io

Therefore, the root location becomes:

https://sushen.github.io/app-ads.txt

I tested that location from the terminal:

curl -I https://sushen.github.io/app-ads.txt

The result was:

HTTP/1.1 404 Not Found

That explained the problem.

The file existed here:

https://sushen.github.io/GermanyJaboWeb/app-ads.txt

but AdMob was looking at:

https://sushen.github.io/app-ads.txt

The difference is crucial.


Why GitHub Pages Project Sites Can Cause This Problem

GitHub Pages supports project websites using a URL structure such as:

https://username.github.io/project-name/

For example:

https://sushen.github.io/GermanyJaboWeb/

The project files are located underneath:

/GermanyJaboWeb/

Therefore:

/GermanyJaboWeb/app-ads.txt

is valid for the GitHub Pages website.

However, the root hostname:

https://sushen.github.io/

is a different location.

So:

https://sushen.github.io/GermanyJaboWeb/app-ads.txt

being available does not mean:

https://sushen.github.io/app-ads.txt

is available.

This was the key to solving the verification problem.


The Solution: Firebase Hosting

Instead of trying to restructure the entire GitHub Pages website, I used Firebase Hosting specifically for app-ads.txt.

The existing GitHub Pages website could remain untouched.

The Firebase project was:

germanyjabo

Firebase provides a free Hosting domain:

https://germanyjabo.web.app/

This gives us a clean root hostname.

The required file can therefore be served from:

https://germanyjabo.web.app/app-ads.txt

This is exactly the structure we need.


Step 1 — Create a Dedicated Firebase Hosting Directory

Inside the existing GitHub repository, I created:

firebase-hosting

Then copied the existing app-ads.txt file into it:

mkdir firebase-hosting
copy app-ads.txt firebase-hosting\app-ads.txt

The resulting structure was:

GermanyJaboWeb/
│
├── app-ads.txt
├── index.html
├── privacy-policy.html
├── assets/
├── css/
├── js/
│
└── firebase-hosting/
└── app-ads.txt

Using a dedicated directory is useful because Firebase Hosting doesn’t need to deploy the entire GitHub website.


Step 2 — Initialize Firebase Hosting

From the repository directory, I ran:

firebase init hosting

Firebase asked for the Firebase project.

I selected:

Use an existing project

and selected:

germanyjabo

For the public directory, I entered:

firebase-hosting

For the single-page application question, I selected:

No

For GitHub automatic deployment, I selected:

No

And Firebase also asked about installing Firebase Agent Skills, where I selected:

No

The important configuration became:

{
"hosting": {
"public": "firebase-hosting",
"ignore": [
"firebase.json",
"**/.*",
"**/node_modules/**"
]
}
}

The Firebase project configuration was:

{
"projects": {
"default": "germanyjabo"
}
}

This confirmed that Firebase was pointing specifically to:

firebase-hosting

rather than the entire repository.


Step 3 — Deploy to Firebase

I then deployed the Hosting site with:

firebase deploy --only hosting

Firebase successfully deployed the site and returned:

Deploy complete!

The Hosting URL was:

https://germanyjabo.web.app

Step 4 — Test app-ads.txt

This is an important step.

Before changing anything in AdMob or Google Play, test the actual file.

First:

curl -I https://germanyjabo.web.app/app-ads.txt

The result was:

HTTP/1.1 200 OK

This is what we want.

Then I tested the actual contents:

curl https://germanyjabo.web.app/app-ads.txt

The response was:

google.com, pub-2296246438593583, DIRECT, f08c47fec0942fa0

Everything was correct.

We had therefore established three important facts:

  1. The hostname exists.
  2. app-ads.txt returns HTTP 200 OK.
  3. The contents contain the correct AdMob publisher record.

Step 5 — Change the Google Play Developer Website

This is the step that connects everything together.

The Google Play developer website originally pointed to:

https://sushen.github.io/GermanyJaboWeb/

I changed it to:

https://germanyjabo.web.app/

In Google Play Console, the location is:

Grow users → Store presence → Store settings → Store listing contact details

Then edit the Website field.

The final value should be:

https://germanyjabo.web.app/

After saving, the Google Play listing now identifies the Firebase root hostname as the developer website.


The Final Architecture

The resulting setup looks like this:

                Google Play
                     │
                     │ Developer Website
                     ▼
        https://germanyjabo.web.app/
                     │
                     │
                     ▼
        /app-ads.txt
                     │
                     ▼
google.com, pub-2296246438593583,
DIRECT, f08c47fec0942fa0
                     │
                     ▼
                  AdMob

Meanwhile, the original website can continue to exist independently:

GitHub Pages
https://sushen.github.io/GermanyJaboWeb/

There is no need to delete the GitHub Pages website.


Why This Works

The important distinction is between a URL path and a hostname.

This:

https://sushen.github.io/GermanyJaboWeb/app-ads.txt

contains:

Hostname:
sushen.github.io
Path:
/GermanyJaboWeb/app-ads.txt

But this:

https://germanyjabo.web.app/app-ads.txt

contains:

Hostname:
germanyjabo.web.app
Path:
/app-ads.txt

The second configuration places app-ads.txt directly at the root of the developer website hostname.

That is the important requirement for AdMob crawling.


Don’t Forget the Waiting Period

Changing the developer website does not necessarily make AdMob verify the application immediately.

Google’s AdMob documentation notes that changes to the developer website can take time to be detected.

Therefore, after changing the Google Play website:

Don’t repeatedly click “Check for updates.”

Give Google’s systems time to process the new website.

After the propagation period, return to AdMob and check the app-ads.txt status again.


Common Mistakes

Mistake 1: Putting the file only in the GitHub repository

Having:

app-ads.txt

in your GitHub repository does not automatically mean AdMob can crawl it.

The important question is:

What exact URL does the public website expose?


Mistake 2: Testing only the browser URL

A browser test such as:

https://sushen.github.io/GermanyJaboWeb/app-ads.txt

may show the correct file.

But you should also test the root hostname:

https://sushen.github.io/app-ads.txt

A simple command is:

curl -I https://sushen.github.io/app-ads.txt

If you get:

404 Not Found

you have found the problem.


Mistake 3: Deploying the entire website unnecessarily

You don’t necessarily need to move your whole website to Firebase.

A dedicated Hosting directory can contain just:

firebase-hosting/
└── app-ads.txt

This keeps the AdMob verification infrastructure separate from the main website.


Mistake 4: Using the wrong publisher ID

The app-ads.txt record must come from your AdMob account.

For example:

google.com, pub-2296246438593583, DIRECT, f08c47fec0942fa0

Do not modify the publisher ID or certification ID manually.


A Simple Troubleshooting Checklist

If AdMob still doesn’t verify your app, check these items one by one.

1. Is the developer website correct?

https://germanyjabo.web.app/

2. Does the root app-ads.txt URL exist?

https://germanyjabo.web.app/app-ads.txt

3. Does it return HTTP 200?

curl -I https://germanyjabo.web.app/app-ads.txt

Expected:

HTTP/1.1 200 OK

4. Is the publisher record correct?

google.com, pub-2296246438593583, DIRECT, f08c47fec0942fa0

5. Is the app package connected to the correct AdMob app?

Verify the Android package name in AdMob and Google Play.

6. Has Google had enough time to crawl the new website?

Don’t expect an immediate verification result after changing the developer website.


Conclusion

The biggest lesson from this troubleshooting process is simple:

An app-ads.txt file being available somewhere on your website is not necessarily enough. It must be available at the root of the hostname that AdMob uses for crawling.

For a GitHub Pages project site such as:

https://sushen.github.io/GermanyJaboWeb/

the project-path location:

https://sushen.github.io/GermanyJaboWeb/app-ads.txt

can exist while the root location:

https://sushen.github.io/app-ads.txt

does not.

Using Firebase Hosting provides a clean root hostname:

https://germanyjabo.web.app/

and allows app-ads.txt to be served directly from:

https://germanyjabo.web.app/app-ads.txt

Once the Google Play developer website points to that hostname, the AdMob crawler has a proper root-domain location to check.

The practical workflow is:

Create app-ads.txt
↓
Put it at the root of a crawlable hostname
↓
Verify HTTP 200
↓
Verify publisher record
↓
Set Google Play developer website to that hostname
↓
Wait for Google to crawl the change
↓
Check AdMob verification

This approach keeps the main GitHub Pages website intact while providing a clean, dedicated endpoint for AdMob’s app-ads.txt verification.

সামাজিক বিপর্যয়, ভূমিকম্প–উত্তর মনস্তত্ত্ব এবং বৃহত্তর সংঘাতের পুনঃউত্থান: আফগানিস্তান, সিরিয়া ও মিয়ানমারের সাম্প্রতিক অভিজ্ঞতা ভিত্তিক একটি আন্তঃবিষয়ক বিশ্লেষণ

সারসংক্ষেপ (Abstract)

গত পাঁচ বছরে সংঘাত-নিয়ন্ত্রিত অঞ্চলগুলো—বিশেষত আফগানিস্তান, সিরিয়া ও মিয়ানমার—একাধিক ধ্বংসাত্মক ভূমিকম্পের অভিজ্ঞতার মধ্য দিয়ে গেছে। এই নিবন্ধে ভূমিকম্প পরবর্তী মানব আচরণ, গোষ্ঠীগত মানসিকতা, রাজনৈতিক অস্থিরতা এবং সংঘাত-প্রক্রিয়ার পারস্পরিক সম্পর্ক বিশ্লেষণ করা হয়েছে। দুর্যোগ-পরবর্তী সময়ে মানুষের “attachment surge”, in-group preference, resource anxiety এবং post-traumatic stress কীভাবে সশস্ত্র সংঘাতকে পুনরুজ্জীবিত বা তীব্র করতে পারে—তা তিনটি বাস্তব কেস স্টাডির মাধ্যমে ব্যাখ্যা করা হয়েছে। এই বিশ্লেষণ প্রমাণ করে যে, ভূমিকম্প শুধুমাত্র ভূ-প্রাকৃতিক সমস্যা নয়; এটি যুদ্ধ এবং রাজনৈতিক দুর্বলতার মধ্যকার সমাজে একটি বহুমাত্রিক সংঘাত-প্রবর্তক হিসেবে কাজ করতে পারে।

১. ভূমিকা (Introduction)

সাম্প্রতিক দুর্যোগ মনস্তত্ত্ব ও সংঘাত–অধ্যয়নে একটি উদীয়মান প্রশ্ন গুরুত্বপূর্ণ হয়ে উঠেছে:
“বড় দুর্যোগ কি সংঘাত হ্রাস করে, নাকি উল্টো তীব্র করে?”

ইতিহাসের বিভিন্ন সময়ে দেখা গেছে যে প্রাকৃতিক দুর্যোগ—বিশেষ করে ভূমিকম্প—মানুষের সামষ্টিক আচরণকে গভীরভাবে প্রভাবিত করে। দুর্যোগ মানবজীবনের মৌলিক নিরাপত্তাকে হুমকিতে ফেলে, যার ফলে সামাজিক-মনস্তাত্ত্বিক প্রতিক্রিয়া সক্রিয় হয়। যেসব দেশে আগেই যুদ্ধ বা রাজনৈতিক সহিংসতা চলমান, সেখানে এই প্রতিক্রিয়া আরও জটিল হয়ে ওঠে। এই নিবন্ধে এ প্রশ্নের উত্তর অনুসন্ধান করা হয়েছে সাম্প্রতিক বছরগুলোতে সংঘাতাপন্ন তিনটি দেশে সংঘটিত শক্তিশালী ভূমিকম্পের প্রভাব বিশ্লেষণের মাধ্যমে।


২. কেসগুলোর ভূমিকম্প–সংঘাত পটভূমি (Country Cases: Earthquakes in Active Conflict Zones)

২.১ আফগানিস্তান

২০২১–২০২৫ সময়ে আফগানিস্তান পাঁচটি বড় ভূমিকম্পের সম্মুখীন হয়—২০২২ সালের পাকতিকা ভূমিকম্প (মৃ ৬.১), ২০২৩ সালের হেরাত ভূমিকম্পের সিরিজ, এবং ২০২৫ সালের কুনার ভূমিকম্প বিশেষভাবে উল্লেখযোগ্য।

হাজারো মৃত্যু

ব্যাপক অবকাঠামোগত ক্ষতি

দুর্বল রাষ্ট্র–ব্যবস্থা

তালেবান প্রশাসনের প্রতি অবিশ্বাস

এই সমন্বিত পরিস্থিতি দ্রুত “in-group survival identity” বাড়ায় এবং স্থানীয় মিলিশিয়াদের সক্রিয় করে তোলে।

২.২ সিরিয়া

২০১১ থেকে চলমান গৃহযুদ্ধের মাঝেই ২০২৩ সালে সংঘটিত তুরকি–সিরিয়া মহাভূমিকম্প (মৃ ৭.৮ ও ৭.৭) একটি বিধ্বংসী মানবিক বিপর্যয় তৈরি করে।

বিদ্রোহী-নিয়ন্ত্রিত অঞ্চলগুলোতে আন্তর্জাতিক সহায়তা পৌঁছায়নি

সহায়তা বণ্টন নিয়ে সন্দেহ ও রাজনৈতিক চাপ বৃদ্ধি

সরকার–বিদ্রোহী নিয়ন্ত্রণ অঞ্চলে পারস্পরিক দোষারোপ

ফলে দুর্যোগ মানবিক সংকটকে দ্বিগুণ করে এবং সংঘাত-প্রবর্তক পরিস্থিতি সৃষ্টি করে।

২.৩ মিয়ানমার

২০২১ সালের সামরিক অভ্যুত্থান-পরবর্তী পূর্ণাঙ্গ গৃহযুদ্ধের প্রেক্ষাপটে ২০২৫ সালের ৭.৭ মাত্রার ম্যান্ডালে ভূমিকম্প দেশের বৃহৎ অংশে ভয়াবহ ধ্বংসযজ্ঞ সৃষ্টি করে।

বিদ্রোহী অঞ্চল বনাম সরকারি বাহিনীর নিয়ন্ত্রণ জটিলতা

যোগাযোগ বিচ্ছিন্নতা

মানবিক সহায়তায় বাধা

“কাকে সাহায্য দেওয়া হচ্ছে, কাকে নয়”—এ নিয়ে তীব্র অবিশ্বাস

এসবই ভূমিকম্প–পরবর্তী সংঘাত বৃদ্ধিকে ত্বরান্বিত করে।

৩. দুর্যোগ–পরবর্তী মনস্তত্ত্ব: একটি বিশ্লেষণাত্মক কাঠামো (Psychosocial Framework After Earthquakes)

দুর্যোগ–পরবর্তী মানবীয় আচরণ বোঝার জন্য নিম্নের মনস্তাত্ত্বিক ধারণাগুলো গুরুত্বপূর্ণ:

৩.১ Attachment Surge — প্রিয় গোষ্ঠীকে আঁকড়ে ধরা

ভূমিকম্প–পরবর্তী সময়ে মানুষ সাধারণত

পরিবার

ধর্ম

জাতিগোষ্ঠী

রাজনৈতিক দল
—এসব পরিচয়ের দিকে আরও বেশি আকৃষ্ট হয়।

এর কারণ হলো জীবনের অনিশ্চয়তা ও মৃত্যুভীতির মাঝে মনস্তাত্ত্বিক নিরাপত্তা খোঁজা।

৩.২ In-Group vs Out-Group Dynamics (We vs They effect)

সামাজিক মনোবিজ্ঞানে এটি সুপরিচিত:

সংকট → নিজের গোষ্ঠীর প্রতি সমর্থন বৃদ্ধি

অপর গোষ্ঠীর প্রতি সন্দেহ বৃদ্ধি

এটি সংঘাতগ্রস্ত দেশে আরও বাড়ে, কারণ সেখানকার পরিচয়ভিত্তিক বিভাজন আগেই সক্রিয়।

৩.৩ Resource Anxiety & Survival Competition

দুর্যোগের পর মৌলিক সম্পদ—খাবার, পানি, আশ্রয়—স্বল্প হয়ে যায়।
ফলে দেখা দেয়ঃ

দোষারোপ

সহায়তা বণ্টন নিয়ে অবিশ্বাস

“আমাদের অধিকার ওরা ছিনিয়ে নিচ্ছে” মানসিকতা

এগুলো বড় সংঘাতকে ত্বরান্বিত করে।


৩.৪ Post-Traumatic Stress & Aggression Spike

PTSD, উদ্বেগ, আতঙ্ক, ঘুমহীনতা—এসব মনস্তাত্ত্বিক ক্ষত
মানুষকে আরও

আবেগপ্রবণ,

প্রতিক্রিয়াশীল,

এবং কখনও কখনও আক্রমণাত্মক
করে তুলতে পারে।

এই আচরণ যুদ্ধক্ষেত্রে সংঘাতকে তাত্ত্বিকভাবে “fuel” হিসেবে কাজ করে।


৪. ভূমিকম্প ও সংঘাতের আন্তঃসম্পর্ক: বিশ্লেষণ (Interplay Between Seismic Disasters and Conflict Escalation)

৪.১ দুর্বল রাষ্ট্র কাঠামোর সুযোগ গ্রহণ

আফগানিস্তান, সিরিয়া ও মিয়ানমারে—
রাষ্ট্র দুর্বল (weak state capacity) থাকায় দুর্যোগ–পরবর্তী শূন্যতা সৃষ্টি হয়।
এই শূন্যতা সাধারণত পূরণ করে:

স্থানীয় মিলিশিয়া

সশস্ত্র গোষ্ঠী

ধর্মীয় কর্তৃপক্ষ

প্রতিদ্বন্দ্বী রাজনৈতিক শক্তি

ফলে সংঘাত-পরিস্থিতি নতুন মাত্রা পায়।

৪.২ সহায়তা–রাজনীতি (Politics of Aid)

দুর্যোগ–পরবর্তী সহায়তার প্রবাহ প্রায় সবসময় রাজনৈতিক।
যেসব দেশে বহুগোষ্ঠী সংঘর্ষ চলছে, সেসব স্থানে সহায়তার দিকনির্দেশনা “পক্ষপাত” হিসেবে দেখা হয়।
ফলাফল:

অবিশ্বাস

গোষ্ঠীভিত্তিক রাগ

সহিংসতা

রাষ্ট্রের প্রতি শত্রুতা বৃদ্ধি

৪.৩ আঘাতপ্রাপ্ত পরিচয় (Traumatized Identity) ও বিদ্যমান বৈরিতা

দুর্যোগ মানুষের ব্যক্তিগত পরিচয়কে আঘাত করে; যুদ্ধ আবার সামষ্টিক পরিচয়কে আঘাত করে।
যখন দুটো একসাথে ঘটে, তখন সমাজে জন্ম নেয় এক ধরনের collective trauma
যা আরও বড় সংঘাতকে প্ররোচিত করতে পারে।


৫. আলোচনাঃ কেন দুর্যোগ–পরবর্তী সংঘাত কিছু দেশে বাড়ে, কিছু দেশে নয়?

উন্নত বা শান্ত দেশগুলিতে বড় দুর্যোগ সাধারণত জাতীয় ঐক্য সৃষ্টি করে।
কিন্তু সংঘাতপূর্ণ দেশে ঠিক উল্টো ঘটনা ঘটে।
এর কারণ তিনটি:

1. রাষ্ট্র দুর্বল – তারা সুশৃঙ্খল সহায়তা দিতে পারে না।

2. পরিচয়ভিত্তিক বিভাজন আগেই অস্তিত্বশীল – দুর্যোগ সেই বিভাজনকে আরও খোলা করে।

3. অস্ত্র এবং সংগঠিত গোষ্ঠী সক্রিয় থাকে – তারা দ্রুত পরিস্থিতিকে রাজনৈতিক সুবিধায় রূপান্তর করে।

এই তিন উপাদান মিলেই ভূমিকম্প–পরবর্তী সংঘাত বৃদ্ধি পায়।

৬. উপসংহার (Conclusion)

ভূমিকম্প শুধুমাত্র একটি প্রাকৃতিক দুর্যোগ নয়; এটি রাজনৈতিক-সামাজিক কাঠামোকে গভীরভাবে নাড়িয়ে দেয়। আফগানিস্তান, সিরিয়া এবং মিয়ানমারের অভিজ্ঞতা দেখায় যে দুর্যোগ–উত্তর মানসিক প্রতিক্রিয়া, রাষ্ট্রের দুর্বলতা এবং পরিচয়ভিত্তিক বিভাজন একত্রে বৃহত্তর সংঘাতকে পুনর্গঠন বা তীব্র করতে সক্ষম।

অতএব, সংঘাতপূর্ণ দেশে দুর্যোগ ব্যবস্থাপনা কেবল ত্রাণ বা পুনর্গঠন নয়—
এটি মনস্তত্ত্ব–সমাজতত্ত্ব–রাজনীতিবিজ্ঞান সমন্বিত একটি পূর্ণাঙ্গ রূপান্তরমূলক প্রক্রিয়া।

এই নিবন্ধের বিশ্লেষণ দুর্যোগ–পরবর্তী নীতি, আন্তর্জাতিক মানবিক সহায়তা এবং সংঘাত রোধে একটি কার্যকর তাত্ত্বিক কাঠামো প্রদান করতে সক্ষম।

বিদেশিরা কিভাবে দেশটারে নরক বানাই রাখছে।

আমার বিদেশী শ্রমিক মামা, সবচাইতে ধনি শহরের শ্রমিক সে, আমেরিকান শহর।  খুব খাতির আমার সাথে ভদ্রতার খাতিরে ফোন দিলে ধরি ধরতেই হয় অম্রিকা বলতে কথা।  বাংলাদেশে এসে আমার সাথে জব্বর খাতির দেখািইছে,  আমারে নিয়া ঘোড়াঘুড়ির একসেস।

যাওয়ার সময় তার কিছু জিনিস আমারে দেয়ার ইচ্ছা ছিলা, আমি রাখি নাই এজন্য এখনও টর্চার সহ্য করতে হয়, সে ভেবে বসছে আমি লোভি না। জিনিসগুলা রেখে বাঙ্গালীর ডোস্ট কেয়ার ভাবটা দেখাই দেয়ার দরকার ছিল, থাহলে আর টর্চার কন্টিনিউ সহ্য করা লাগতো না ।

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

তার বড় ভাই তারে কখনও টাকা সাধে নাই কিন্তু বড় বড় রেন্ডি গাছ তার ভাইএর আছে সেটা বেচলে অনেক টাকা,  এটা নিয়েও তার অনেক আলাপ।

আমি একদিন বিরক্ত হয়ে বললাম মামা আপনার ওখানে ১০০ ডলার দিনে রোজগার স্বাভাবিক আর এখানে আপনার ভাই যতই শারিরীক পরিশ্রম করুক তার রোজগার শ্রমিক হিসেবে ৫ ডলার। 

তার এই কথা ভালো লাগলো না।  বললাম মামা এখানে যতই পরিশ্রম করুক না কেন। এখানে পরিশ্রম করে আপনার ওখানের শ্রম মূল্য তৈরী করা যাবেনা।

তার এ কথা ভালো লাগলো না। সে ওই দেশে বোতল টোকায় তারপর সেটা বিক্রি করে তাতে তার গ্যাসের, মানে গাড়ির তেল কেনা টাকা হোয়ে যায়,  এজন্য সে খুব গর্বিত। কারন সে পরিশ্রমি। 

সে পরিশ্রমি হওয়াতে আমার সমস্যা নাই সমস্যা সে যখন তার বড় ভাই এর পরিশ্রমের মূল্য তার পরিশ্রমের মুদ্রা মূল্যের সাথে তুলনা করে।

এই ঝামেলাটা সব খানেই আছে।

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

জ্যান পেরি জ্যানেটের একটা মুভিও আছে এটা নিয়ে মুভিতে একটা অস্ত্রতৈরির কারখানা ভেঙ্গে দেয়া হয়।

বিদেশি পুজির চাপ তার রিলিজিয়ন কনর্ভিসনে লাগুক, কারখানা বানাতে লাগুক, ভালো সরকার আনতে লাগুক। সব কিছুর পেছনে মামার যুক্তিটা কাজ করে।  এই বোতল টোকানো লোকগুলো মিসাইল মারার ভয় দেখাইয়া চরিদিক নরক বানাইয়া রাখছে।

নইলে এতজন রেসলিং প্রডিউসার এখন প্রেসিডেন্ড হইয়া বিশ্ব চালায়। ওরে তো আমার দেশে সমাজ বন্দ দিয়া রাখতো যে তুই মাতাল, মাগিবাজ তোর স্থান অভদ্র পল্লিতে, আমার দেশের অভদ্র পল্লিতেও যে সাধুতার একতারা বাজে ও রেসলিং ছাইরা নিশ্চিত ডুগডুগি বাজাইতো। যাই হোক ।

মোদ্দা কথা বোতল বিক্রির টাকা এখানের এক ভাঙ্গারির দোকানদার তোমারে দিলে নিতানা, তোমারে সেই টাকা ডলারে পাঠাইলেও নেয়ার দরকার নাই। যদি সেটা নাও ওই ছোটলোকি টাকা একসময় তোমার ভুমি সংস্কারের নামে ব্যাবহার হইলে সেই ভূতি থিকাই চাপা দীর্ঘশ্বাস আসবে।

Hilsha and Corpse in Padma

The electricity is gone. Everyone is sitting in the courtyard—grandfather, father, and I. The rustle of palm leaves drifts through the air, along with the faint smell of mosquito coils from somewhere far off. Under the kerosene lamp, grandfather’s face is wrapped in deep shadows, eyes heavy with the fatigue of a thousand years.

Suddenly, he speaks, “Your father saw corpses of war; I saw corpses of hunger. The famine of 1943—it was a silent world war, just without guns or bombs. Yet, corpses fell by the thousands.”

I fall silent. Grandfather’s voice trembles with a pain that seems to rise from deep within.

“The British took away the rice for the sake of their war. Muslim League hoarders filled their granaries, and the markets had nothing. At home, bellies were full of people, but the cooking pots held only water. I saw my mother hide her tears. Along the roads, dogs fed on dead bodies, vultures gouged out eyes. Back then, the Padma River was a river of empty stomachs—the fish were weak from hunger, just like us. We’d cast our nets, and nothing would come up. Same river, same body—famine struck both man and fish alike.”

Father, who had been silently listening while lighting a cigarette, now smiles through the smoke and says, “You saw a river of hunger; I saw a river full of death. During the Liberation War, the Padma was a reservoir of corpses. By day, the military would line up blindfolded people and shoot them, dumping the bodies into the river. At night, the Razakars came—slitting throats in silence. Some were still alive, with clay pots tied to their feet, thrown in to sink. We kept long bamboo poles at the ghat, so we could push the floating bodies into deeper water. People would come to the shore searching for loved ones—‘A boy—tall, fair-skinned, curly hair—do you see him floating?’ ‘A girl—with a red ribbon in her hair—have you seen her?’ What could we say then?”

I don’t say anything, just stare into the eyes of grandfather and father. In those eyes, there’s no river water—only the accumulated bodies of war and famine.

Father speaks again, “No one dared to fish in that river. If you threw in a net, you wouldn’t catch fish—you’d pull up a corpse. The rotten stench made it impossible to hold the net. And yet, after the war—when hunger forced people to fish again—the Padma returned to us a bounty of hilsa. Shimmering hilsa, two or three kilos each. Flesh so red it looked like venison. But when we tried to eat it, it felt like we were chewing human flesh. We weren’t eating fish—it was as if the corpses had returned in another form. Hilsa normally feeds on weeds and plankton, but this hilsa had learned to feast on rot. The fish had grown fat feeding on human bodies.”

Grandfather had been quietly listening. Now he slowly opened his eyes. “Your Padma ate the bodies, ours ate the soul. One river—two times—two kinds of death. But they smelled the same, they carried the same silent cry in their waters.”

The wind seems to have stopped. Even the palm trees are still. I think to myself—this river is not just water, this river is our history, a line of sorrow stored within our very bodies.

Father says softly again, “Even so, after the war, after the struggle, the river gave something back to us. It gave us those terrifyingly beautiful hilsa—within which lived our past. With every bite, we tasted memory—and swallowed ourselves.”

Suddenly, I begin to doze off. In my half-sleep, I see my great-grandfather appear. He says, “Ah, they’ve killed Shashanka, and we came to the banks of the Padma—bleeding and wounded. People started arriving in droves. The chars (sandbanks) were filled with refugees. From here, small boats ferried people across. Many boats sank, and many were left behind. So many heads were blown off by gunfire. The Padma’s hilsa were overjoyed. I even saw one hilsa smiling with its teeth showing. That’s when I woke up.”

Everywhere around us, there is division; the world is preparing for war. Bombs are tearing through Europe, the Middle East is burning.

It seems like the Padma is once again ready to be happy.

পদ্মার ইলিশ আর লাশ

কারেন্ট চলে গেছে। উঠানে সবাই বসে আছে—দাদু, বাবা আর আমি। বাতাসে ভেসে আসে তালপাতার খসখস আর দূরে কোথাও মশার কয়েলের গন্ধ। কেরোসিন বাতির নিচে দাদুর মুখটা গভীর ছায়ায় ঘেরা, চোখে হাজার বছরের ক্লান্তি।

হঠাৎ তিনি বললেন,
“তোর বাপ দেখছে যুদ্ধের লাশ, আমি দেখছি ক্ষুধার লাশ।
১৯৪৩ সালের মন্বন্তর—সেইটা এক নীরব মহাযুদ্ধ, শুধু গুলি নাই, বোমা নাই।
তবু লাশ পড়ছিল হাজারে হাজারে।”

আমি থমকে যাই। দাদুর গলা যেন ভিতর থেকে উঠে আসা জ্বালায় কাঁপে।

“ব্রিটিশরা চাল লইয়া গেল যুদ্ধের খাতিরে।
মুসলিম লীগ মজুতদাররা গুদাম ভইরা রাখল, বাজারে কিচ্ছু নাই।
ঘরে পেট পুরা মানুষ, কিন্তু হাঁড়িতে জল।
মায়ের চোখে দেখছি কান্না লুকায়া রাখা।
রাস্তার পাশে মরা মানুষরে খাইত কুকুর, চোখ উপড়াইত শকুন।
তখন পদ্মা নদী ছিল খালি পেটের নদী—
মাছও ক্ষুধায় দুর্বল, আমরাও।
জাল ফেলতাম, কিচ্ছু উঠতো না।
একই নদী, এক শরীর—মানুষ আর মাছের দুর্ভিক্ষ ছিল একসাথে।”

বাবা সিগারেট ধরিয়ে শুনছিল। এবার ধোঁয়ার ফাঁকে হেসে বলল,
“তুমি ক্ষুধার নদী দেখছো, আমি দেখছি মৃত্যুতে পূর্ণ নদী।
মুক্তিযুদ্ধের সময় পদ্মা ছিল লাশের ডোবা।
দিনে মিলিটারিরা চোখ বাঁধা মানুষরে লাইন ধইরা গুলি কইরা নদীতে ফালাইত।
রাতে রাজাকার আসতো—চুপিচুপি জবাই দিত।
অনেকে জীবিত, পায়ে কলসি বাইন্ধা ফালাই দিত।
আমরা বাঁশ রাখতাম ঘাটে, যেন লাশ ভাসে এলেই ঠেলতে পারি মাঝ নদীতে।
তখন মানুষ ঘাটে আসতো আপনজন খুঁজতে—
‘একটা ছেলে—লম্বা, গায়ের রঙ ফর্সা, বাবরি চুল’—ভাসতেছে কী?’
‘মাইয়া ছিল, মাথায় লাল ফিতা—দেখছেন?’
আমরা কী কইতাম তখন?”

আমি কিছু বলি না, শুধু দাদু আর বাবার চোখের দিকে তাকিয়ে থাকি।
সেই চোখে পদ্মার জল না, যুদ্ধ আর দুর্ভিক্ষের শরীর জমে আছে।

বাবা আবার বলে,
“নদীতে মাছ ধরার সাহস ছিল না।
জাল ফেললে মাছ না, লাশ উঠে।
পচা গন্ধে জাল ধইরা রাখা যায় না।
তবু যুদ্ধের পরে—যখন মানুষ ক্ষুধায় পইড়া জাল ফেলল—
তখন পদ্মা ফিরায়া দিল একরাশ ইলিশ।
২ কেজি, ৩ কেজির চকচকে ইলিশ।
পিঠের লাল মাংস, যেন হরিণের।
কিন্তু খাইতে গেলে মনে হইত—
এইডা মানুষের মাংস।
মাছ খাইতেছি না, যেন সেই লাশগুলাই আরেক রূপে ফিরে আসছে।
ইলিশ তো ঘাস-পাতা খায়,
কিন্তু এই ইলিশ শিখে গেছিল পঁচা মাংস খাওয়া।
মাছ বড় হইসে মানুষের শরীর খাইয়া।”

দাদু চুপ করে শুনছিলেন, এবার চোখ মেললেন ধীরে ধীরে।
“তোমাদের পদ্মা লাশ খাইছে, আমাদের পদ্মা খাইছে আত্মা।
এক নদী—দুই সময়—দুইটা রকমের মৃত্যু।
কিন্তু দুইটারই গন্ধ ছিল এক, দুইটারই জলে ছিল নীরব কান্না।”

বাতাস থেমে গেছে মনে হয়।
তাল গাছও স্তব্ধ।
আমি মনে মনে ভাবি—
এই নদী শুধু পানি নয়,
এই নদী আমাদের ইতিহাস,
আমাদের শরীরের ভেতরে গচ্ছিত এক বেদনার রেখা।

বাবা ধীরে বলে ওঠে—
“তবুও, যুদ্ধের পরে, সংগ্রামের পরে
নদী আমাদের ফিরায়া দিছিল কিছু।
ফিরায়া দিছিল সেই ভয়ংকর সুন্দর ইলিশ—
যার ভিতরে ছিল আমাদেরই অতীত।
যার প্রতি কামড়ে আমরা খাইতাম স্মৃতি,
আর গিলতাম নিজেকেই।”

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

চরিদিকে বিভাজন, যুদ্ধের প্রস্তুনি নিচ্ছে বিশ্ব, বোমার আঘাতে ইউরোপ চুরমার, মিডলইস্টেও সবজায়গায় বোমা পড়তেছে। 

পদ্মার মনে হয় আবার খুশি হওয়ার সময় চোলে আসছে।

Description is not the game Pride is.

I see, talk, join dinner with so many foreigner a lots of them are diplomat and a large number of them come from royal family in under development country. Lots of humble and decent deployment comeb from very developed country.

The only common things is they all are talking about description, if they are not talking they are thinking. And all are busy to clime the lader of power.

I am a country boy belong to a great bloodline, rage in love within family, relatives and people. As I remember is it was a joyful growup.

In the raige of radicalism and fundamentalism I see the policy maker are fail to give to things people need. A life that full of pride of professionalism and not influence by radical thought.

I told you about that deception. The core nature of thought process is description and climate the lader.

Deceptions is not the lader Pride is. If you are stand with your point of view and commited to you you must feel the commitment and necessity to stand in your ground. Description will not help you there.

ধর্ষন এবং ধর্ম

আমার সাথে অহিন্দু এক ইন্টেলেকচুয়াল এর তার পিলগ্রাম শেষে কথা হয়েছিল বিশ্বসাহিত্য কেন্দ্রে। সে খুব অপ্লুত ছিল তার ভ্রমন শেষে।

এই ভ্রমন যে সামাজিক মর্জাদা তৈরী করেছে তার মূল্য জাচাইয়ের প্রক্রিয়ার মধ্য দিয়ে যাচ্ছিল সে। একেতো সে আধা নাস্তিক, তারপর যে পবিত্র উদারতার  উদাহরণ সে বারবার হাজির করছিল, তা আমাকে কিছুটা আঘাত করার জন্যই। সে ধরতে পাড়ছিলনা উদারতাতে আমার অভিজ্ঞতা ভিন্ন এবং উন্নত ।

একসময় অহিন্দু ইন্ডিয়ান, পাকিস্তানি পুরুষের ইউরোপীয় অচরনের কথা উঠলো, তাদের সবাই কে যখন হোয়াইট নারীদের চোখদিয়ে দেখা হলো, তাদের চেহারা যে বিভৎস রুপটা ভেষে ওঠে তা উঠে এল।

ওই আড্ডায় একজন ঢাকা রিসার্চ ইনিস্টিউটের রিসার্চর ছিল আর বাংলাদেশ বাংকের একজন কর্মকর্তা ছিল। দুজনেই ওই ইন্টেলেকচুয়ালের বন্ধু, একজনর বৌ সুন্দরী সেটা একটা টেনসনের কারন হয় তার, আরেক জনের বউ সন্তান আছে তার পড়েও একজন প্রেমিকাও আছে। দুজনেই তার ইন্টেলেকচুয়াল বন্ধুকে সমর্থন করলো।

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

এদের কারোরেই নাম বললাম না,  কিন্তু এই টাইমলাইনটা আমার জীবনে মানুষের সমার্পনের ধরনা নিয়ে ভাবিয়েছে। এরা সবাই অহিন্দু এবং পিএইচডি করা বা বিশ্ববিদ্যালয় শিক্ষক সমগোত্রীয়। মনোজগতে ডিজায়ারের বাউন্ডারিতে ধর্ষন স্বীকৃত।

ব্যাক্তিগত বিছানা আমার আলোচনার বিষয় না, একটা কমিউনিটি আলাপের মধ্য দিয়ে ব্যাক্তির মনোজগৎকে টাচ করা এবং এর সামাজিক স্বীকৃতি দেখা।

পুরুষের সামাজিক সীমারেখা নিরুপন করা। তার ডিজায়ারকে কোন বাউন্ডারি সিকৃতি দেয় তা নিরুপন করা, মেট এবং মিটিং কে বোঝা।

সবমিসিভ ছোট ব্যালা নারীরে ধর্ষক সহায়ক করে তোলে, হিন্দু ধর্মের নারীরা সাবমিসিভ না তারা প্রয়োজনে ধংস্বাত্মক কিম্বা ভয়ংকর প্রতিবাদি।

মৌলবাদ বা মৌলিকতার কথা যদি বলি, এই মৌলিকতা অন্য যে কোন মৌলবাদ বা মৌলিকতার ধংষের কারন হবে।

কুমিল্লা সুবাস বোসের আজাদ হিন্দ ফোর্সকে বৃটিশ বিরোধী যুদ্ধে শেষ ফোর্ট হিসেবে ব্যাবহার হোতে দিয়েছে,  সেখানের ওই বিপ্লবী পরিবারের নারী শান্তাকে ধর্ষন করে তার ভিডিও করে ছরিয়ে দিয়ে, একটা জাত ভীতি তৈরীর আন্তর্জাতিক চেষ্টার উল্টো ফল আজকে মৌলবাদীদের দিয়ে যেতে হোচ্ছে, হবে।

শান্তা আজ প্রতিবাদের সিম্বলে পরিনত হল, এর পড় থেকে এই সাম্প্রদায়িক পরিকল্পনাতে কোন নারী নিজেকে আর একা মনে করবেনা।  তার পাশে দেশে জাতি এবং পুরো বিশ্ব আছে।

Sell Art Piece using Binance

Everyone talking about NFT and selling art on NFT market.

Binance is the world biggest financial market base on cripto currency.

Take my assistance. I will help you to do that and give you all the pro tips. My name is Sushen Biswas I am a artist.

What is the necessary step you have to do to sell your arts?

  1. Mint your Art pice.
  2. Finding Art exhibitor
  3. Find good agent
  4. Art sell and tax

Before and after that you have to do some technical things. This is not really

Mint :

  • Upload your art
  • Add details (name, description, royalties)
  • Choose Single (ERC-721) or Series (ERC-1155)
  • Pay gas fee (usually very low on BNB chain)
  • Confirm and Mint.

Finding Art exhibitor

  • Find local art exibator
  • Find website help exhibition
  • Find NFT exhibitor

Find good agent

  • Promotes your work to collectors & galleries
  • Negotiates deals and commissions
  • Helps plan exhibitions or get published
  • Connects you to curators, festivals, and markets

Art sell and tax

  • Platform fees
  • Attorney fees

Its important to protect an atrist from all king of hagerd so he can fochous on creation. An artist should not spend his time to so all not artist things.