Implementing SearchBuilder with Yajra DataTables in Laravel: A Step-by-Step Guide

Hi everyone, in this blog post I’m going to show you how to use SearchBuilder with Yajra DataTable in Laravel. SearchBuilder is a cool extension for DataTable that allows you to create complex search conditions for your data. It’s very useful if you have a lot of data and you want to filter it by different criteria.

First, let’s assume you already have a working Yajra DataTable [https://packagist.org/packages/yajra/laravel-datatables-oracle]. Now, you want to add the ability for your users to filter and search through this data using the SearchBuilder extension. SearchBuilder adds user defined complex search to the DataTable with the capability to search the DataTable by creating conditions.

To get started with SearchBuilder, you need to follow these steps:

– Install SearchBuilder from https://datatables.net/extensions/searchbuilder/examples/. You can use CDN links or download the files and include them in your project.

– Add the SearchBuilder script and CSS files to your view where you have the DataTable. Make sure they are loaded after the DataTable files.

– Initialize the SearchBuilder plugin in your DataTable options. You can use the default options or customize them according to your needs. For example (using Html Builder) :

$html = $builder->columns($columns)
    ->parameters([
        "searchBuilder" => [
            'depthLimit' => 1,
        ],
        'dom' => '<"row"<"col-12 query"Q><"col-md-6"l><"col-md-6"f>>rtip'
    ]);

Now you can see a button on the top left corner of your table that says “Add Condition“. Click on it and you will see a panel where you can create your search conditions. You can add multiple conditions and group them by AND or OR operators. You can also delete or edit any condition.

That’s it! You have successfully integrated SearchBuilder with Yajra DataTable in Laravel. However, there is one problem. Yajra DataTable doesn’t support SearchBuilder by default, so it won’t work with server-side processing. If you want to make it work with server-side processing, you need to do some extra work.

Here is what you need to do:

  1. Create a file named SearchBuilder.php in App folder.
  2. Copy and paste the following code in it:
  3. In your controller where you handle the DataTable server-side processing, use the SearchBuilder as filter. For example (No Join Query):
use App\SearchBuilder;

return datatables()
    ->of($query->select($_columns))
    ->filter(function ($query) use ($request, $allowedColumns) {
        $sb    = new SearchBuilder($request, $query, $allowedColumns);
        $query = $sb->build();
    })
    ->toJson();

Example (With Join Query):

use App\SearchBuilder;

$allowedColumns = ['name','email','mobile','role'];
$mapColumns = ['name'=>'users.name', 'mobile'=> 'users.mobile', 'email'=> 'users.email', 'role'=>"roles.text"];
return datatables()
    ->of($query->select($_columns))
    ->filter(function ($query) use ($request, $allowedColumns, $mapColumns) {
        $sb    = new SearchBuilder($request, $query, $allowedColumns, $mapColumns);
        $query = $sb->build();
    })
    ->toJson();

In the given code, the $_columns variable contains the names of the columns in the database table, while the $allowedColumns variable specifies the columns where custom search conditions from SearchBuilder can be applied.

You have now completed the necessary steps to implement SearchBuilder with Yajra DataTables in your Laravel project.

Cybersecurity Landscape in Bangladesh: Challenges and the Path Forward

In today’s digital age, cybersecurity is paramount. However, in Bangladesh, the landscape is fraught with challenges. We are not well-equipped in terms of manpower, budget, software, or hardware. Our procurement methods are outdated, and there is an over-reliance on well-known vendors without sufficient research into their suitability for our unique needs.

Current State of Cybersecurity in Bangladesh

Bangladesh’s approach to cybersecurity is heavily skewed towards hardware solutions. Organizations often invest in expensive firewalls costing crores of taka, yet they neglect endpoint protection and employee training. This emphasis on physical boxes over software solutions and human expertise is a significant shortcoming. The reliance on hardware solutions that no longer align with current cybersecurity needs is problematic. It creates a false sense of security while leaving critical vulnerabilities unaddressed.

Challenges Faced

Outdated Procurement Policies

Our procurement policies are slow and outdated. In an ever-evolving field like cybersecurity, relying on antiquated methods to secure digital assets is a recipe for disaster. By the time procurement processes are completed, the solutions purchased may already be obsolete, leaving organizations vulnerable to the latest threats.

Lack of Training and Human Resources

There is a critical shortage of trained cybersecurity professionals in Bangladesh. Many government and private organizations have advanced network operation centers (NOCs) and security operation centers (SOCs), but they lack the necessary manpower to effectively utilize these tools. Investing in infrastructure without equally investing in human resources leads to underutilized and ineffective security measures.

Misplaced Focus on Hardware

There is a pervasive belief that hardware solutions are superior to software solutions. This mindset leads to significant investments in firewalls and other hardware, while spending on endpoint protection, which is crucial for defending against modern threats, is minimal. Furthermore, many organizations do not even know when their firewalls were last updated or what rulesets are being used, rendering these expensive investments ineffective.

Ignoring Local Expertise

Local cybersecurity experts in Bangladesh offer valuable insights tailored to our specific context. Unfortunately, decision-makers often disregard their advice in favor of recommendations from foreign vendors or advisors. This practice has several negative consequences.

Firstly, it undermines the confidence and morale of our local experts. These professionals have a deep understanding of our unique cybersecurity challenges, and ignoring their advice can lead to frustration and a potential brain drain as they seek recognition and opportunities elsewhere.

Secondly, foreign vendors and advisors may not fully grasp the nuances of our cybersecurity environment. While their solutions might be effective in other regions, they may not be suitable for our specific needs. The threat landscape in Bangladesh is influenced by regional political, economic, and social factors, requiring a different approach that local experts are better positioned to provide.

Moreover, foreign vendors often have a vested interest in promoting their products. This can result in expensive and sometimes outdated solutions being implemented without critical evaluation. In contrast, local experts are more likely to recommend cost-effective and contextually relevant solutions that offer better value for money and are more aligned with our needs.

Local experts can also provide ongoing support and maintenance, ensuring that security measures are continuously updated to address emerging threats. Their familiarity with local infrastructure and common attack vectors enables them to design and implement practical and effective security measures.

To address this issue, decision-makers must recognize the value of local expertise and actively involve them in shaping cybersecurity strategies. This can be achieved by creating platforms for local experts to share their insights, collaborating with academic and research institutions, and fostering public-private partnerships.

By leveraging the knowledge of local cybersecurity professionals, we can develop tailored, effective solutions that address our unique challenges. This approach not only enhances our cybersecurity posture but also fosters the growth of a robust, self-sustaining cybersecurity ecosystem within Bangladesh.

Data Privacy Neglect

Data privacy is a critical area where Bangladesh significantly lags. Despite increasing digitalization, there is little acknowledgment of the importance of personal data protection, and breaches are not taken seriously. This oversight puts both individuals and organizations at immense risk, as sensitive information can be easily exploited by malicious actors. High-profile data breaches involving National Identity data, Birth & Death Registration records, Bangladesh Bank information, police records, and National Board of Revenue (NBR) data have exposed the personal information of millions. Unfortunately, the response to these breaches has been inadequate, characterized by blame games rather than proactive measures. This culture of evasion prevents meaningful accountability or corrective action, leaving systemic vulnerabilities unaddressed and making future breaches more likely.

Moreover, there is a general apathy towards personal data security, which can have severe consequences for individuals whose information is exposed. The lack of a robust legal framework for data protection exacerbates the problem, as there is little incentive for organizations to prioritize data security. Public awareness about data privacy is also low, making it easier for cybercriminals to exploit vulnerabilities. To address these issues, Bangladesh must implement comprehensive data protection laws, establish a dedicated data protection authority, enhance public awareness, and improve organizational practices. Organizations should adopt best practices for data security, including regular updates, robust encryption, and access controls, and they should be held accountable for data breaches through transparent reporting and prompt action. By taking these steps, we can protect personal data more effectively and build a more secure digital environment for all citizens.

The Fallacy of Free Software

There is a widespread belief in Bangladesh that software is essentially free. Many government and non-government organizations rely on cracked versions of software, spending next to nothing on genuine licenses. This practice is highly detrimental to cybersecurity. Cracked software often comes with embedded backdoors and malware, making it highly unlikely that an organization using such software is secure. Additionally, operating systems that are never updated pose significant security risks. This habit of using pirated software must be addressed to ensure robust cybersecurity.

The Path Forward

To improve our cybersecurity landscape, we need a multifaceted approach:

Emphasize Software and Human Elements

Cybersecurity is not just about hardware. We need to focus on robust software solutions and the human aspect of security. Training programs should be prioritized to ensure that our workforce is equipped with the latest knowledge and skills. This includes continuous professional development and hands-on training to keep pace with the rapidly evolving threat landscape. Investing in cutting-edge software solutions for endpoint protection, threat detection, and incident response is crucial. Additionally, fostering a culture of cybersecurity awareness among employees can significantly reduce the risk of human error, which is often the weakest link in security chains. By integrating comprehensive software tools with a well-trained, vigilant workforce, we can build a more resilient cybersecurity posture that adapts to new challenges.

Update Procurement Policies

Our procurement policies must be agile and forward-looking. By streamlining these processes and focusing on current and emerging threats, we can ensure that our security measures are always up to date.

Empower Local Experts

Local experts understand our unique challenges and can provide tailored solutions. Decision-makers should value their input and integrate it into the overall cybersecurity strategy.

Prioritize Data Privacy

Recognizing the importance of data privacy and taking proactive measures to protect personal information is crucial. This includes developing and enforcing robust data protection policies and responding swiftly to breaches.

Acknowledge and Address Vulnerabilities

We must be honest about our vulnerabilities and take proactive steps to address them. This involves regular audits, updates, and a willingness to adapt to new threats.

Invest in Genuine Software

Organizations must invest in genuine software. While the initial cost may be higher, the long-term benefits in terms of security and reliability far outweigh the risks associated with using cracked software. Ensuring that operating systems and software are regularly updated is also crucial for maintaining security.

Continuous Evolution

Cybersecurity is an ever-evolving field. We need to stay ahead of the curve by continuously updating our knowledge, adopting new technologies, and evolving our strategies.

While the cybersecurity landscape in Bangladesh faces significant challenges, there are clear steps we can take to improve. By focusing on software solutions, investing in human resources, updating our procurement policies, empowering local experts, prioritizing data privacy, and continuously evolving, we can build a more secure digital environment for all. It is crucial that we abandon the practice of relying on cracked software and adopt a culture of genuine, up-to-date software use to ensure robust cybersecurity.

জৈবিক লিঙ্গ, লিঙ্গ এবং যৌন পরিচয়ঃ তৃতীয় লিঙ্গ (হিজলা), ট্রান্সজেন্ডার, হোমোসেক্সুয়াল (সমকামিতা)

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

এই ব্লগে, আমি কোনো বিশেষ ধর্মীয় বা সামাজিক বিশ্বাসের পক্ষ বা বিপক্ষে যাব না; বরং আমি চেষ্টা করব একটি সর্বজনীন এবং সমগ্র দৃষ্টিভঙ্গি তুলে ধরতে। আমার লক্ষ্য হলো সমকামিতা, বৈপরীত্যকামিতা, বাইসেক্সুয়ালিটি এবং অন্যান্য যৌন পরিচয়ের বিষয়গুলোকে নিরপেক্ষভাবে বিশ্লেষণ করা, যাতে পাঠকরা নিজেদের মতামত গঠনে স্বাধীন থাকতে পারেন। আমার প্রয়াস হবে এই জটিল এবং বহুমাত্রিক বিষয়গুলো সম্বন্ধে সচেতনতা বাড়ানো এবং বিভিন্ন পরিচয়ের মানুষের অভিজ্ঞতা ও অনুভূতিকে সম্মান জানানো।

জৈবিক লিঙ্গ (Biological Sex)

জৈবিক লিঙ্গ হলো একজন ব্যক্তির জন্মের সময় শারীরিক এবং আনুবংশিক বৈশিষ্ট্যের ভিত্তিতে নির্ধারিত লিঙ্গ। এটি সাধারণত দুই প্রধান শ্রেণীবিভাগে বিভক্ত: পুরুষ এবং মহিলা। জৈবিক লিঙ্গ নির্ধারিত হয় ক্রোমোজোমের সংমিশ্রণের মাধ্যমে; যেমন XY ক্রোমোজোমের সংমিশ্রণ সাধারণত পুরুষ লিঙ্গের বৈশিষ্ট্য এবং XX ক্রোমোজোমের সংমিশ্রণ সাধারণত মহিলা লিঙ্গের বৈশিষ্ট্য দেখা দেয়।

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

যখন একজন ব্যক্তি পুরুষ এবং মহিলা উভয় প্রকারের জেনিটালিয়া নিয়ে জন্মগ্রহণ করে, এই অবস্থাটি সাধারণত ইন্টারসেক্স হিসেবে পরিচিত। ইন্টারসেক্স ব্যক্তিদের ক্রোমোজোমের ধরণ ভিন্ন হতে পারে। ইন্টারসেক্স অবস্থার সাথে যুক্ত একটি সাধারণ ক্রোমোজোমাল প্যাটার্ন হল 46,XX/46,XY কাইমেরিজম বা মোজাইসিজম। তবে, প্রতিটি ইন্টারসেক্স ব্যক্তির জেনিটালিয়া অবশ্যই পুরুষ এবং মহিলা উভয় প্রকারের হয় না এবং ইন্টারসেক্স অবস্থাগুলি বিভিন্ন জেনেটিক, ক্রোমোজোমাল, এবং হরমোনাল কারণের ফলে ঘটে।

46,XX/46,XY কাইমেরিজম বা মোজাইসিজম:

• এই অবস্থায় শরীরের কিছু কোষ XX ক্রোমোজোম যুক্ত এবং অন্যান্য কোষ XY ক্রোমোজোম যুক্ত হয়। এটি পুরুষ এবং মহিলা উভয় প্রকারের শারীরিক বৈশিষ্ট্য, সহ জেনিটালিয়ার বিকাশে পরিণত হতে পারে।
• কাইমেরিজম তখন ঘটে যখন দুটি নিষিক্ত ডিম বা ভ্রূণ গর্ভাবস্থার শুরুতে একত্রিত হয়।
• মোজাইসিজম ভ্রূণ বিকাশের প্রারম্ভিক পর্যায়ে মিউটেশনের ফলে ঘটে, যা দুই সেট কোষের সাথে ভিন্ন জেনেটিক মেকআপ তৈরি করে।

আরো কিছু ইন্টারসেক্স অবস্থার উদাহরণঃ
১. টার্নার সিন্ড্রোম (Turner Syndrome): এই অবস্থায়, একজন মহিলা শিশু কেবল একটি X ক্রোমোজোম নিয়ে জন্ম নেয় (45,X)। এই অবস্থায় সাধারণত বামনত্ব, হৃদযন্ত্রের সমস্যা, এবং যৌনাঙ্গের অসম্পূর্ণ বিকাশ ঘটে।

২. ক্লাইনফেল্টার সিন্ড্রোম (Klinefelter Syndrome): এই অবস্থায়, একজন পুরুষ এক্সট্রা X ক্রোমোজোম (47,XXY) নিয়ে জন্ম নেয়। এটি প্রজনন অঙ্গের অসম্পূর্ণ বিকাশ, বৃদ্ধির সমস্যা, এবং কিছু ক্ষেত্রে সামাজিক এবং শিক্ষাগত চ্যালেঞ্জ নিয়ে আসে।

৩. এন্ড্রোজেন অনুভূতির অসামঞ্জস্য (Androgen Insensitivity Syndrome): এই অবস্থায়, একজন ব্যক্তি XY ক্রোমোজোম নিয়ে জন্মালেও, তার শরীর পুরুষ হরমোনের প্রতি অনুভূতিহীন। ফলস্বরূপ, তার শারীরিক বৈশিষ্ট্য মহিলা হিসাবে প্রকাশ পায়, কিন্তু তিনি জন্মগতভাবে পুরুষ।

৪. কঙ্জেনাইটাল অ্যাড্রেনাল হাইপারপ্লাজিয়া (Congenital Adrenal Hyperplasia): এই অবস্থায়, অতিরিক্ত অ্যাড্রেনাল হরমোনের উত্পাদন ঘটে। এটি মহিলা শিশুদের মধ্যে জন্মের সময় পুরুষের মতো জেনিটালিয়া বিকাশের কারণ হতে পারে।

৫. পলিসিস্টিক ওভারি সিন্ড্রোম (Polycystic Ovary Syndrome): এই অবস্থায়, মহিলাদের ডিম্বাশয়ে অতিরিক্ত হরমোন উত্পাদন ঘটে, যা অনিয়মিত মাসিক চক্র, অতিরিক্ত চুল বৃদ্ধি, মুখের ব্রণ এবং অন্যান্য লক্ষণ সৃষ্টি করতে পারে। এটি প্রজনন ক্ষমতায় প্রভাব ফেলতে পারে।

৬. ভ্যাজাইনাল অ্যাট্রেশিয়া (Vaginal Atresia): এই অবস্থায় যোনিপথ অবরুদ্ধ থাকে বা অসম্পূর্ণভাবে বিকশিত হয়, যা মহিলাদের জেনিটাল ট্র্যাক্টের স্বাভাবিক কার্যকলাপে বাধা সৃষ্টি করতে পারে।

৭. হার্মাফ্রোডিটিজম (Hermaphroditism): হার্মাফ্রোডিটিজম হলো এমন একটি অবস্থা যেখানে একজন ব্যক্তির মধ্যে পুরুষ এবং মহিলা উভয় প্রকারের জেনিটাল বৈশিষ্ট্য থাকে। এটি বিরল এবং জেনেটিক বা হরমোনাল কারণে ঘটে।

৮. এমআরকেএইচ সিন্ড্রোম (MRKH Syndrome): মায়ের-রোকিটানস্কি-কুস্টার-হাউজার সিন্ড্রোম, যা এমআরকেএইচ সিন্ড্রোম নামে পরিচিত, হলো এক ধরনের জন্মগত অবস্থা যেখানে মহিলার যোনি ও গর্ভাশয় সম্পূর্ণভাবে বিকাশ লাভ করে না বা অনুপস্থিত থাকে। এই অবস্থায় মহিলারা সাধারণত স্বাভাবিক বাইরের জেনিটালিয়া এবং স্বাভাবিক যৌন হরমোন উৎপাদন করে, কিন্তু তারা মাসিক হয় না এবং প্রাকৃতিকভাবে গর্ভধারণে অক্ষম হতে পারেন।

৯. XXX সিন্ড্রোম: তিনটি X ক্রোমোজোম বিশিষ্ট মহিলাদের ক্ষেত্রে, যাকে ট্রিপল X সিন্ড্রোম বা ট্রিসোমি X বলা হয়। এই অবস্থায়, কিছু শারীরিক ও বৌদ্ধিক বৈশিষ্ট্যের পরিবর্তন ঘটতে পারে, কিন্তু অনেক ক্ষেত্রে এর কোনো স্পষ্ট লক্ষণ থাকে না।

১০. XXY সিন্ড্রোম: XXY ক্রোমোজোম সংমিশ্রণ, যাকে ক্লাইনফেল্টার সিন্ড্রোম বলা হয়, এই অবস্থায় জন্মগ্রহণ করা ব্যক্তিরা শারীরিকভাবে পুরুষ হলেও তাদের বৃদ্ধি ও প্রজনন সংক্রান্ত বিভিন্ন বৈশিষ্ট্যে পরিবর্তন ঘটতে পারে।

এছাড়া আরো অনেক প্রকারের ইন্টারসেক্স অবস্থা আছে।
https://en.wikipedia.org/wiki/Intersex

জৈবিক লিঙ্গ (Biological Sex) এবং লিঙ্গ (Gender) পরিচয় অবশ্যই একই নয়। একজন ব্যক্তির জৈবিক লিঙ্গ তার লিঙ্গ পরিচয়ের সাথে মেলে নাও পারে, যা তার নিজের আত্মজ্ঞান এবং সামাজিক পরিচয়ের ভিত্তি করে গঠিত হয়।

ট্রান্সজেন্ডার কি?

ট্রান্সজেন্ডার একটি সম্মিলিত পরিভাষা (আমব্রেলা টার্ম), যা ঐতিহ্যগত পুরুষ এবং নারী লিঙ্গের বাইরে থাকা সব ধরনের লিঙ্গ পরিচয়কে আবদ্ধ করে। এটি শুধুমাত্র যে পুরুষ বা নারী নয় সেই সব লিঙ্গ পরিচয়ের মানুষজনকে নিয়ে গঠিত, যার মধ্যে তৃতীয় লিঙ্গ বা হিজড়া সম্প্রদায়ও অন্তর্ভুক্ত। এই পরিভাষাটি লিঙ্গ পরিচয়ের বৈচিত্র্য এবং জটিলতাকে স্বীকার করে, এবং ব্যক্তির নিজের অনুভূতি এবং পরিচয়ের সাথে সম্পূর্ণ সামঞ্জস্য রাখে। ট্রান্সজেন্ডার শব্দটি এমন সব মানুষের অভিজ্ঞতা ও অস্তিত্বকে সম্মান জানায়, যারা নিজেদের জন্মের সময় নির্ধারিত লিঙ্গ পরিচয়ের সাথে পরিচয় অনুভব করেন না এবং নিজেদের লিঙ্গ পরিচয়ের সংজ্ঞা নিজেরাই গড়ে তোলেন।


https://en.wikipedia.org/wiki/Transgender
https://www.cdc.gov/lgbthealth/transgender.htm
https://en.wikipedia.org/wiki/Trans_woman
https://en.wikipedia.org/wiki/Trans_man

হিজলা / হিজরা / বৃহন্নলা / তৃতীয় লিঙ্গ কি?

বাংলাদেশে “তৃতীয় লিঙ্গ” লিঙ্গ হিসেবে স্বীকৃতি পেয়েছে এমন একটি লিঙ্গ পরিচয়, যা ব্যক্তির শারীরিক গঠন এবং যৌন পরিচয়ের মধ্যে অসামঞ্জস্যের উপর ভিত্তি করে। এই শ্রেণীবিভাগের আওতায় আসে তারা, যাদের শারীরিক বৈশিষ্ট্য তাদের জন্মগত লিঙ্গের সাথে সামঞ্জস্যপূর্ণ নয়। এই সম্প্রদায় সামাজিকভাবে এবং আইনগতভাবে তৃতীয় লিঙ্গ হিসাবে পরিগণিত হয়, যা তাদের জন্য সমাজে আরও স্বীকৃতি এবং অধিকারের পথ তৈরি করেছে।

লিঙ্গ পরিবর্তনের সার্জারি (Sex Change Operation)

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

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

https://en.wikipedia.org/wiki/Gender-affirming_surgery

বাংলাদেশের প্রেক্ষাপটে তৃতীয় লিঙ্গের বিভিন্ন ধরন ও তাদের শারীরিক বৈশিষ্ট্য

বাংলাদেশের তৃতীয় লিঙ্গ বা হিজড়া সম্প্রদায়ের মধ্যে বিভিন্ন ধরনের লিঙ্গ পরিচয় ও শারীরিক বৈশিষ্ট্য দেখা যায়। এখানে কিছু উদাহরণ দেওয়া হলো:

১. পুরুষাকৃতি কিন্তু মহিলার জেনিটালিয়া যুক্ত (Male Appearance with Female Genitalia): এই শ্রেণীর হিজড়ারা বাহ্যিকভাবে পুরুষের মতো দেখতে হলেও তাদের মহিলার জেনিটালিয়া থাকে। এই ধরনের ব্যক্তিদের মধ্যে ইন্টারসেক্স বৈশিষ্ট্য থাকতে পারে।

২. মহিলার আকৃতি কিন্তু পুরুষের জেনিটালিয়া যুক্ত (Female Appearance with Male Genitalia): এই ধরনের হিজড়ারা বাহ্যিকভাবে নারীর মতো দেখতে হলেও তাদের পুরুষের জেনিটালিয়া থাকে। তারা নিজেদের মহিলার মতো পোশাক এবং সাজসজ্জা করে থাকেন।

৩. ইন্টারসেক্স হিজড়া (Intersex Hijra): ইন্টারসেক্স হিজড়ারা জন্মের সময় থেকেই পুরুষ এবং নারী উভয়ের জেনিটালিয়া বা শারীরিক বৈশিষ্ট্য নিয়ে জন্মগ্রহণ করে। তাদের শারীরিক গঠন পুরুষ ও নারী উভয়ের মিশ্রণ হতে পারে।

৪. ট্রান্সজেন্ডার হিজড়া (Transgender Hijra): এই শ্রেণীর হিজড়ারা বাহ্যিকভাবে এক লিঙ্গের হলেও তারা নিজেদের অন্য লিঙ্গের হিসেবে পরিচয় দেন এবং তাদের আচার-আচরণ, পোশাক এবং সাজসজ্জা সেই লিঙ্গের সাথে সামঞ্জস্যপূর্ণ হয়। এরা জন্মগতভাবে পুরুষ বা নারী হতে পারেন, কিন্তু নিজেদের অন্য লিঙ্গের হিসেবে উপস্থাপন করেন।

৫. হিজড়া যারা সার্জারি করেছেন (Post-Operative Hijra): এই ধরনের হিজড়ারা জেনিটাল রিঅ্যাসাইনমেন্ট সার্জারি (জেনিটাল পুনর্নির্মাণ অপারেশন) করে নিজেদের শারীরিক গঠনকে নিজেদের লিঙ্গ পরিচয়ের সাথে সামঞ্জস্যপূর্ণ করে নিয়েছেন। এই প্রক্রিয়া তাদের লিঙ্গ পরিচয় এবং শারীরিক গঠনের মধ্যে অধিক সামঞ্জস্য সৃষ্টি করে।

যৌন অভিমুখীতা বা সেক্সুয়াল অরিয়েন্টশন বা যৌন পরিচয়

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

১. বিপরীতকামিতা বা হেটারোসেক্সুয়ালঃ বিপরীতকামিতা বলতে বিপরীত লিঙ্গের ব্যক্তির প্রতি “রোমান্টিক আকর্ষণ, যৌন আকর্ষণ অথবা যৌন আচরণ” কে বোঝায়। যৌন অভিমুখীতা হিসেবে বিপরীতকামিতা বলতে বোঝায় মূলত বিপরীতলিঙ্গের ব্যক্তির প্রতি “আবেগীয়, রোমান্টিক বা যৌন আকর্ষণের একটি স্থায়ী কাঠামোবিন্যাস”। এই ধরনের সম্পর্কের ভিত্তিতে গড়ে ওঠা ব্যক্তিগত বা সামাজিক পরিচিতি, এই ধরনের আচরণ এবং সমজাতীয় ব্যক্তিদের নিয়ে গঠিত কোনো সম্প্রদায়কেও এই শব্দটি দ্বারা নির্দেশ করা হয়। এই সেক্সুআল অরিয়েটেশনটি সর্বজন গৃহীত এবং সবচেয়ে প্রচলিত। অর্থাৎ, একজন পুরুষ এবং একজন নারীর সমন্বয়ে এটি গঠিত।

২. সমকামিতা বা হোমোসেক্সুয়ালঃ সমকামিতা বলতে সমলিঙ্গের ব্যক্তির প্রতি “রোমান্টিক আকর্ষণ, যৌন আকর্ষণ অথবা যৌন আচরণ” কে বোঝায়। যৌন অভিমুখীতা হিসেবে সমকামিতা বলতে বোঝায় মূলত সমলিঙ্গের ব্যক্তির প্রতি “আবেগীয়, রোমান্টিক বা যৌন আকর্ষণের একটি স্থায়ী কাঠামোবিন্যাস”। এই ধরনের সম্পর্কের ভিত্তিতে গড়ে ওঠা ব্যক্তিগত বা সামাজিক পরিচিতি, এই ধরনের আচরণ এবং সমজাতীয় ব্যক্তিদের নিয়ে গঠিত কোনো সম্প্রদায়কেও এই শব্দটি দ্বারা নির্দেশ করা হয়। বাংলাদেশে সমকামিতা আইনত দণ্ডনীয় অপরাধ হিসাবে গন্য হয়। বাংলাদেশে বলাৎকার (পায়ুসঙ্গম) ও ধর্ষন একই অর্থে ব্যাবহত হয় তবে বাংলাতে ধর্ষন সাধারনত নারীর সাথে জোরপূর্বক সেক্স করা বুঝায়, আর বলাৎকার সাধারনত পুরুষের সাথে জোরপূর্বক সেক্স করা বুঝায়।

৩. উভকামী বা বাইসেক্সুয়ালঃ উভকামিতা বলতে সম এবং বিপরীত লিঙ্গের ব্যক্তির প্রতি “রোমান্টিক আকর্ষণ, যৌন আকর্ষণ অথবা যৌন আচরণ” অথবা যে কোন যৌনতা বা লিঙ্গ পরিচয়বিশিষ্ট ব্যক্তির প্রতি রোমান্টিক বা যৌন আকর্ষণ কে বুঝানো হয়। উভকামিতা পরিভাষাটি নারী ও পুরুষ উভয়ের প্রতি যৌন বা রোমান্টিক অনুভূতি নির্দেশক মানব আকর্ষণকে বোঝাতে ব্যবহৃত হয়।

৪. নিষ্কামিতা বা অ্যাসেক্সুয়ালঃ নিষ্কামিতা হল কারও প্রতি যৌন আকর্ষণের অভাব বা যৌন কর্মকান্ডে অনুভূতি এবং আগ্রহের অভাব বা অনুপস্থিতি। একে কোন যৌন পরিচয় ধারণ না করা বা বিপরীতকামিতা ও সাধারণ যৌনতার প্রকরণসমূহের একটি হিসেবে ধরা হয়। নিষ্কামিতা ব্যক্তির আচরণ ও ধর্মবিশ্বাস দ্বারা নিয়ন্ত্রিত, তবে যদি এটি যৌন আচরণ না হয়ে যৌন পরিচয় হয় তবে তা দীর্ঘস্থায়ী হয়। নিষ্কামিতা যৌন আচরণ বা প্রবৃত্তির বিষয় নয়, বরং এটি একজন ব্যক্তির যৌন পরিচয়ের একটি অংশ। এর অর্থ এই নয় যে নিষ্কামী ব্যক্তিরা যৌনতা বা সম্পর্কে সম্পূর্ণ অনাগ্রহী, বরং তারা যৌন আকর্ষণ অনুভব করেন না অথবা অতি সীমিতভাবে অনুভব করেন। তবে, নিষ্কামী ব্যক্তিরা ভালোবাসা, আন্তরিকতা এবং মানসিক সম্পর্কের প্রতি সম্পূর্ণ সক্ষম হতে পারেন। নিষ্কামী ব্যক্তিদের মধ্যে অনেকে নিজ সঙ্গীকে খুশি করার জন্য এবং সন্তান উৎপাদনের জন্য যৌন কর্মকান্ডে অংশ নেন।

হোমোসেক্সুয়াল/সমকামিতা ও ট্রান্সজেন্ডার: পার্থক্য বিশ্লেষণ

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

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

ট্রান্সজেন্ডারঃ ট্রান্সজেন্ডার হল লিঙ্গ পরিচয়ের একটি শ্রেণী, যা একজন ব্যক্তির জন্মের সময় নির্ধারিত লিঙ্গের সাথে তার নিজের লিঙ্গ পরিচয়ের মধ্যে অমিলের উপর নির্ভর করে। একজন ট্রান্সজেন্ডার ব্যক্তি তার জন্মের লিঙ্গ পরিচয়ের সাথে সামঞ্জস্য অনুভব না করে অন্য লিঙ্গের পরিচয় গ্রহণ করতে পারেন।

মূল পার্থক্যঃ এই দুই ধারণার মূল পার্থক্য হল, হোমোসেক্সুয়ালিটি যৌন আকর্ষণের দিকে নির্দেশ করে, অর্থাৎ কার প্রতি একজন ব্যক্তি যৌন আকর্ষণ অনুভব করেন, সেই সম্পর্কে বলে। অন্যদিকে, ট্রান্সজেন্ডার শব্দটি লিঙ্গ পরিচয় বা একজন ব্যক্তি নিজেকে কিভাবে দেখেন এবং পরিচিত করেন, সে সম্পর্কে বলে।

হোমোসেক্সুয়াল একজন ব্যক্তি তার নিজের লিঙ্গ পরিচয়ের সাথে সামঞ্জস্য অনুভব করতে পারেন, কিন্তু তারা সেই একই লিঙ্গের অন্য কারও প্রতি যৌন আকর্ষণ অনুভব করেন। অন্যদিকে, একজন ট্রান্সজেন্ডার ব্যক্তি নিজের লিঙ্গ পরিচয়ের সাথে তার জন্মের লিঙ্গের পরিচয়ের মধ্যে অমিল অনুভব করেন। এই দুই ধারণার মিল থাকতে পারে, অর্থাৎ একজন ট্রান্সজেন্ডার ব্যক্তি হোমোসেক্সুয়ালও হতে পারেন, কিন্তু এগুলি স্বতন্ত্র এবং আলাদা ধারণা।

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

ট্রান্সজেন্ডার ও হিজড়া বিষয়ে বৈজ্ঞানিক দৃষ্টিভঙ্গি

জৈবিক (Biological) দৃষ্টিকোণ:

১. জেনেটিক্স ও হরমোন: বৈজ্ঞানিক গবেষণা বলে যে, জেনেটিক, হরমোনাল এবং পরিবেশগত কারণগুলি মিলে ট্রান্সজেন্ডার পরিচয়ের বিকাশে অবদান রাখে। ভ্রূণের সময় হরমোনের পরিবর্তন লিঙ্গ পরিচয়ে প্রভাব ফেলতে পারে।

২. মস্তিষ্কের গঠন: কিছু গবেষণা দেখিয়েছে যে ট্রান্সজেন্ডার ব্যক্তিদের মস্তিষ্কের কিছু অংশে পার্থক্য আছে, যা তাদের লিঙ্গ পরিচয়ের অনুভূতিতে প্রভাব ফেলতে পারে।

৩. ইন্টারসেক্স অবস্থা: কিছু ক্ষেত্রে, ব্যক্তিদের ইন্টারসেক্স হিসেবে জন্মায়, যেখানে তাদের জেনেটিক বা শারীরিক লিঙ্গ স্পষ্টভাবে পুরুষ বা নারী নয়। এই ধরনের বৈচিত্র্য লিঙ্গের বায়োলজিক্যাল স্পেকট্রামকে তুলে ধরে।

https://www.ncbi.nlm.nih.gov/pmc/articles/PMC8799808/

মনস্তাত্ত্বিক দৃষ্টিকোণ:

১. জেন্ডার ডিসফোরিয়া: জেন্ডার ডিসফোরিয়া এমন একটি শব্দ যা যে কষ্ট বা অস্বস্তির বর্ণনা করে যা তখন হয় যখন কারও লিঙ্গ পরিচয় তার জন্মের লিঙ্গের সাথে মেলে না। অনেক ট্রান্সজেন্ডার ব্যক্তি জেন্ডার ডিসফোররিয়া অনুভব করেন, যা লিঙ্গ সম্মত চিকিৎসা পদ্ধতি যেমন হরমোন থেরাপি বা শল্য চিকিৎসা দ্বারা হ্রাস পেতে পারে।

২. পরিচয় বিকাশ: মনস্তাত্ত্বিক তত্ত্ব অনুযায়ী, পরিচয়ের বিকাশে আত্ম-সনাক্তকরণ এবং ব্যক্তিগত লিঙ্গ পরিচয়ের বোঝাপড়া গুরুত্বপূর্ণ। ট্রান্সজেন্ডার ব্যক্তিরা তাদের লিঙ্গ পরিচয় বুঝতে, অনুসন্ধান করতে এবং তা স্বীকার করতে জটিল প্রক্রিয়া অনুসরণ করেন।

https://en.wikipedia.org/wiki/Gender_dysphoria

Mastering Laravel: Temporary and Disposable Email Validation in Laravel

Validating user input is a critical part of any web application. One common aspect of this validation is ensuring that users enter a valid email address. However, it can be difficult to validate email addresses that are temporary or disposable, such as those from services like Mailinator or Guerrilla Mail. Fortunately, Laravel makes it easy to implement temporary email validation with custom validation rules.

Let’s call our rule TempEmail. To get started, we can use the php artisan make:rule TempEmail command to create a new validation rule for temporary emails. This will create a new class in the App/Rules directory that we can use to implement our validation logic.

To validate temporary email, add the following code to the TempEmail class. This code checks a GitHub gist for blacklisted temporary email domains and caches the results for 10 minutes. Any updates to the gist will also be reflected in the cached results. The code then implements a basic logic to compare the email domain against the blacklist.

<?php

namespace App\Rules;

use Cache;
use Illuminate\Contracts\Validation\Rule;

class TempEmail implements Rule
{
protected $blacklistedDomains;

public function __construct()
{
$this->blacklistedDomains = Cache::remember('TempEmailBlackList', 60 * 10, function () {
$data = @file_get_contents('https://gist.githubusercontent.com/saaiful/dd2b4b34a02171d7f9f0b979afe48f65/raw/2ad5590be72b69a51326b3e9d229f615e866f2e5/blocklist.txt');
if ($data) {
return array_filter(array_map('trim', explode("\n", $data)));
}
return [];
});
}

public function passes($attribute, $value)
{
$emailDomain = substr(strrchr($value, "@"), 1);
return !in_array($emailDomain, $this->blacklistedDomains);
}

public function message()
{
return 'This email not allowed.';
}
}

Next, we can add our new validation rule to the list of rules that Laravel uses when validating user input. We can do this by opening the AppServiceProvider and adding the following code to the boot method:

use App\Rules\TempEmail;
use Illuminate\Support\Facades\Validator;

...

Validator::extend('temp_email', function ($attribute, $value, $parameters, $validator) {
return (new TempEmail())->passes($attribute, $value);
}, (new TempEmail())->message());

This code registers a new validation rule called temp_email that uses our TempEmail rule class to validate email addresses. Whenever this rule is used in a validation, Laravel will call the passes method of the TempEmail class to determine whether the email address is valid.

Now that we have registered our new validation rule, we can use it in any Laravel validation just like any other rule. For example, we could use it to validate a user’s email address like this:

$validator = Validator::make($request->all(), [
'email' => 'required|email|temp_email',
]);

// or

$request->validate([
'email' => 'required|email|temp_email',
]);

This will ensure that the email field is required, contains a valid email address, and is not a temporary email address.

With these simple steps, we can easily implement temporary email validation in our Laravel applications. By creating a custom validation rule and registering it with Laravel, we can ensure that our users are entering valid email addresses and prevent the use of temporary or disposable email addresses.

সার্ভার রিসোর্স মনিটরিং

*নিক্স সার্ভার রিসোর্স মনিটরিং এর জন্য অনেক প্রোগ্রাম আছে, এর মাঝে top / htop বেশ জনপ্রিয়। এবং এই দুটো দিয়ে বেশ ভালো কাজ চলে যায়। সমস্যা হয় যখন এই ডাটা কোন সাইটে রিয়েলটাইম দেখাতে হয়। এর জন্য অনেক প্রোগ্রাম আছে। সমস্যা হচ্ছে মেইন রিসোর্স যেগুলো (CPU, RAM, Storage) মনিটর করা দরকার সেগুলোর ডাটা সহজে পাওয়া ঝামেলার, তাই নিচের স্ক্রিপ্টটি লেখা। এটি ইনফিনিট লুপে চলবে এবং লাস্ট ১ মিনিট (যদিও একুরেট হিসাব করলে ৩ মিনিট) এর ডাটা একটি টেক্সট ফাইলে রাখবে।

যদিও স্ক্রিপ্টটি পারফেক্ট না, এখানে অনেক সমস্যা আছে (ইচ্ছে করে ঠিক করিনি)। লগ ফাইলের পাথ পরিবর্তন করে নিবেন কিন্তু।