Category: Tech

  • UnSocial and notWP

    কোডিং জার্নির এত পরে এসে ২টি node package পাব্লিশ করলাম NPM এ।

    ১। UnSocial

    ফেসবুক, ম্যাসেঞ্জার ইন্সটাগ্রামসহ বিভিন্ন অ্যাপের in-app browser আছে, সেটিংস থেকে “open in external browser” সিলেক্ট না করলে লিংক সেই ব্রাউজারেই খোলে।

    সেখানে Oauth, পেমেন্ট গেটওয়ে স্পেসিফিক বিভিন্ন কোড/redirects সহ বিভিন্ন কিছু ব্যবহার করা যায় না।

    তাই ইউজারকে “অনুগ্রহ করে external browser / chrome / safari তে ওপেন করুন” শো করা ভাল আইডিয়া।

    এজন্য আমার একটা gist আছে, সেটি থেকেই কম্পোনেন্ট বানালাম।

    TODO: Svelte, Nuxt and others component.

    ক্রেডিটঃ আমি এইরকম ব্যবহার একবারই দেখেছি। একটি ফন্ট বিক্রির সাইটে।

    ২। notWP

    যাদের ওয়েবসাইট আছে, তারা জানেন- অনেকেই /wp-admin পেজে এসে লগিন করার চেষ্টা করে। অনেক হ্যাকার দৈনিক হাজার হাজার ওয়েবসাইটের /wp-admin পেজ আছে কিনা, সেটি চেক করে বট/কোড দিয়ে।

    JS Framework দিয়ে বানানো সাইটে যখন ঐরকম ভিজিটর/বট আসে- বিরক্তই লাগে।

    সেটির সমাধান হিসেবেই notwp.

    আসলে এটি নিয়ে অনেক কাজ বাকি।

    ১। middlewire এ নির্দিষ্ট কোড যুক্ত করা – সেটির জন্য আসলে npm দরকার নেই।

    ২। ফ্রেমওয়ার্কভিত্তিক আলাদা ফাইল বানানো, টাইপস্ক্রিপ্ট সাপোর্ট সহ। এটির জন্য বেশ গবেষণা দরকার। আবার Nuxt 3 vs Nuxt 4 এর জন্য আলাদা গবেষণা দরকার। ওত সময় আসলে নেই।

    ৩। GUi বানানো, যাতে ইউজার wp-admin ফোল্ডার বানিয়ে ভিতরে import LoginPage from ‘notwp/nuxt’ বা ‘notwp/next’ ইম্পোর্ট করে ব্যবহার করলেই ফেক লগিন পেজ শো করবে, লগিন করার পর তাকে অপমান করা হবে 😀

  • Evolution-X

    আগামি ২৩ জুলাই আমার মোবাইলের ৩ বছর পূর্ণ হবে। Xiaomi Note 11 lite NE 5g

    পরিচিত একজনের মাধ্যমে দেশের বাহিরে থেকে আনানোর ফলে এমনিতেই ওয়ারেন্টি ছিলো না, তবুও ১ বছর/ওয়ারেন্টি ফুরানোর পরেও ৬-৭ মাস শাওমির রমই ব্যবহার করছিলাম। পরবর্তীতে ২০২৪ সালের ফেব্রুয়ারীতে PixelExperience কাস্টম রম ব্যবহার শুরু করি, ব্লগ পোস্টের লিংক – My Pixel Experience

    বিকাশ অ্যাপ ঝামেলা করছিলো। সিকিউরিটি রিজনে লগিন করতে দিচ্ছিলো না। 

    রুট তো করা না + “কাস্টম রম” ডিটেক্ট করে error দিয়েছে কিনা- জানি না, তবে এরোরে তা লেখা ছিলো না। 

    (মেইল করেছিলাম, আনইন্সটল করে আবার ইন্সটল করতে বলেছে। করলে প্রথমবার ঠিকমত লগিন হয়, পরে ২য়বার থেকেই আবার আগের সমস্যা হয়। জানিয়েছি- দেখি- কী সমাধান দেয়।)

    কাস্টম রম আরো আগেই পাল্টাতাম। কিন্তু সমস্যা হচ্ছে- পুরো মোবাইলের ব্যাকাপ রাখা, আবার প্রয়োজনীয় অ্যাপ ডাউনলোড করে লগিন করা- এগুলো কিছুটা ঝামেলার।

    যাই হোক- আমার ল্যাপটপে ২টি উইন্ডোজ দেয়া ছিলো- Windows 11 মেইন, আর Windows 10। ৬০ জিবির পার্টিশন ছিলো 10 এর জন্য – সেটি ফরম্যাট করে (কারণ স্টোরেজ deficiency তে ভুগছি, ৫০০ জিবি SSD) সেখানে ফোনের ব্যাকাপ রেখে LineageOS ফ্ল্যাশ মারতে চেয়েছিলাম।

    কিন্তু লিনেজ এর ইন্সট্রাকশনে android 14 থেকে 15 তে আপগ্রেড করতে বলছিলো, আমার তো Pixel experience এ 13 ছিলো, তাই লিনেজ বাদ দিয়ে Evolution-X এর android 14 নামিয়ে ফ্ল্যাশ মারি- বলা উচিত- ফ্ল্যাশ মারার চেষ্টা করি। 

    কিন্তু error: SPL downgrade failed- current 2024-12-05 and target spl 2024-11-01. 

    আমার মনে হয়- যেহেতু এইসব রমে গুগলের অফিশিয়াল ফিচার/প্যাচ/আপগ্রেড আসতে থাকে- তাই বিল্ড/প্যাচ ডেটও পালটে যায়। পিক্সেল এক্সপেরিএন্সে বেশ কয়েকবার আপডেট পেয়েছিলাম। 

    পরে চ্যাটজিপিকে জিজ্ঞেস করে android 15 নামিয়ে ফ্ল্যাশ মারতে গেছে ৪৭% পার্সেন্ট হওয়ার পর মোবাইলের Bootloader এ “আপনি কি শিওর আপনি ডাউনগ্রেড করতে চাচ্ছেন?” আমি Yes দিয়ে সফল হই। 

    (SPL এর ক্ষেত্রে ঐরকম কোনো অপশন দেয়নি টার্মিনালে)

    রমসিঙ্গেল কোরমাল্টি কোর
    Xiaomi Official ৭৭০২৭০৩
    PixelExperience১০২০২৭৮৯
    Evolution-X১০২৩২৯০৭

    এভাবে উন্নত হতে থাকলে ১০-১৫ বছরের মধ্যে Iphone 14, Galaxy S24 ultra কেও পিছে ফেলে দেবে 😀

    যাই হোক- আমি তো Android 13 থেকে Android 15 তেই আসলাম- সেক্ষেত্রে মনে হয় লিনেজ ট্রাই করলেও হয়ে যেত।

    লিনেজ এর ইন্সট্রাকশন খুব বেশি বিস্তারিত- নতুনদের জন্য অবশ্যই ভালো, পুরানদের জন্য বিরক্তিকর হতে পারে। তাই আমি ১০ ধাপের ইন্সট্রাকশন পড়ে দেখিনি- Evolution-X এর সংক্ষিপ্ত ইন্সট্রাকশন ফলো করে কাজ সেরে নিয়েছি।

    নোটঃ বিকাশের সমস্যা ঠিক হয়েছে, এইমাত্র ইন্সটল + আরেকবার লগিন করে দেখলাম।

  • OpenWRT and more

    ২৯ জুন দিনটা ৩-৪ কারণে অনেকদিন মনে থাকবে।

    ১। OpenWRT

    অন্যদিনের চেয়ে ফজরের একটু বেশিই আগে ঘুম ভেঙ্গে যায়, আমি ল্যাপটপে বসে যাই রাউটারে OpenWRT ফ্ল্যাশ করতে।

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

    যাই হোক ,ঘুম থেকে উঠে ২-৩টা ইউটিউব টিউটোরিয়াল দেখে ফ্ল্যাশ করতে করতে ফজরের জামাতের সময় হয়ে যায়, ১ম বার ফ্ল্যাশ করে চলে যাই।

    এসে দেখি রাউটার নষ্ট। ৩ঃ৪৫ থেকে ৮ঃ৪৫ ৫ ঘণ্টায় প্রায় ১৫ বার চেষ্টা করে সফল হয়েছি। একপর্যায়ে তো বর্তমান রাউটারকে মৃত ধরে নিয়ে নতুন কোন রাউটার কিনবো, তাও দেখা শুরু করেছিলাম!

    তারপর OpenWRT এর অফিশিয়াল ডকুমেন্টেশন পড়ে আর এআই চ্যাটে বিভিন্ন কিছু জিজ্ঞেস করে সমাধান করতে করতে সকাল পৌনে নয়টা!

    ২। দুপুরে প্রিয় একটি খাবার বাসায় রান্না হয় এবং অতীতের অনেকবারের রান্নার চেয়ে এইদিনের রান্নাটি মজা হয়েছিলো।

    ৩। আসরের আগে DeleteThing এর v1.1 গুগল ক্রোম এক্সটেনশন মার্কেটপ্লেসে অ্যাপ্রুভড হয়। সেটির README আগে ভালোভাবে লেখা ছিলো না, লিখে ফেলি।

    ডেভেলপার হেল্প সেন্টার লেখা আছে- ক্রোম এক্সটেনশন পাবলিশ করার আগে রিভিউ হতে ৩ সপ্তাহ পর্যন্ত লাগতে পারে। আমার অবশ্য প্রতিবারই ৩ দিনের কমেই হয়ে গেছে।

    ৪। রাতে আরেকটা ওয়েবসাইট ডেভেলপ করেছি, Astro এর টেমপ্লেট দিয়ে, আশা করছি সেই সাইটের ডেইলি ভিজিটরের সংখ্যা আগামী কয়েক মাসের মধ্যেই অনেক বাড়বে। আপাতত সেই সাইটের নাম এখানে লিখছি না।

    এরকম দিন আরো আসুক!

  • DNS

    আমি ২৭ মে এবং পরবর্তি কিছুদিনে অনেক ঘণ্টা DNS নিয়ে গবেষণা করেছি।

    তার আগে, যদি না জেনে থাকেন- DNS (Domain Name System) হলো ইন্টারনেটের ফোনবই।

    এটি ওয়েবসাইটের নাম (যেমন: google.com) কে আইপি অ্যাড্রেসে (যেমন: 142.250.196.14) রূপান্তর করে, যাতে কম্পিউটার বুঝতে পারে কোন সার্ভারে যেতে হবে।

    সংক্ষেপে: DNS ওয়েবসাইটের নামকে আইপি ঠিকানায় বদলে দেয়।

    ডিএনএস চেক করতে https://dnscheck.tools

    Windows 11 এ Chrome ব্রাউজারে ডিএনএস সেট করতে সমস্যা হলে https://www.stefanvd.net/project/chrome-policy-remover/

    প্রসিদ্ধ কয়েকটি DNS সার্ভিস

    Google 8.8.8.8
    Cloudflare 1.1.1.1
    OpenDNS 208.67.222.222
    Quad9 9.9.9.9
    NextDNS 45.90.28.0
    AdGuard 94.140.14.14
    DNS.SB 185.222.222.222
    KahfGuard 40.120.32.170

    বেশিরভাগেরই ড্যাশবোর্ড নেই, অর্থাৎ আপনি দেখতে পারবেন না যে- আপনি ইন্টারনেট ব্যবহার করার সময় সারাদিনে/সারামাসে আপনার মোবাইল/ডিভাইস থেকে মোট কয় হাজার রিকোয়েস্ট গিয়েছে, কয় হাজার ব্লক হয়েছে।
    শুধুমাত্র NextDNS এবং AdGuard DNS এর ড্যাশবোর্ড আছে, তাও বেশ উন্নতমানের! (আগামি ২৭ জুন আমার ড্যাশবোর্ডের স্ক্রিনশট এই পোস্টে বা সামনে দেয়া গিটহাব রিপোতে যুক্ত করবো ইনশাল্লাহ)।

    কোন DNS ভালো? স্পিড বেশি ও নিরাপদ?

    এই লিংকে https://github.com/2u841r/dns-compare গিয়ে Windows অংশের কোড কপি করে আপনার কম্পিউটারের Powershell এ পেস্ট করুন, রেজাল্ট আসবে। কয়েকবার টেস্ট করুন।

    আমি যতবার টেস্ট করেছি, কাহাফগার্ড শেষের ২ এ ছিলো। (কাহাফগার্ড সম্পর্কে সামনে আসছে)।

    গুগল DNS এর চেয়ে Cloudflare অনেক ভালো পেয়েছি।

    Quad9-ও বেশ প্রসিদ্ধ, প্রাইভেসি ফোকাসড, সুইজারল্যান্ডভিত্তিক। DNS.SB চিনতাম না, সেটাও ভালো পারফর্ম করছিলো। ওয়েবসাইট ভিজিট করে ওদের সম্পর্কে অনেক কিছুই জেনেছি, ওরা জার্মানভিত্তিক।

    KahfGuard

    কাহাফগার্ড ডিএনএস হোস্ট করা মাইক্রোসফটের Azure UK সার্ভারে।

    উপরের বাক্যতে দুইটা সমস্যা আছে, কী কী বলেন তো?

    ১। Azure কেন?

    গুগলে সার্চ দিন- noazureforapartheid অথবা ভিডিট করুন https://noazureforapartheid.com/

    ব্লগঃ https://medium.com/@notechforapartheid

    ২। UK কেন? Singapore বা Mumbai না কেন?

    (Kahf এর কেউ কেউ এক সময় UK-তে থাকতো/এখনো আছে হয়ত, তাই অভ্যাস অনুযায়ী করে ফেলেছে ।)

    বা বাংলাদেশেই কোনো রিলায়াবল সার্ভারেও হতে পারতো। (যেহেতু GCP & AWS এর বিরুদ্ধেও অভিযোগ আছে)।

    I know, বাংলাদেশ আর রিলায়াবল হয়ত পাশাপাশি যায় না, সেক্ষেত্রে অন্তত এক ভার্সন বা সেকেন্ডারি DNS বাংলাদেশী হতে পারতো। (Strong Protection, Moderate Protection, Weak Protection এর মত ৪র্থ একটা- BD server)

  • My Tech Stack

    Published: 1-Oct-2024, Last Updated: 08-June-2025

    tldr: Next, Nuxt, Sveltekit, Astro, Tailwindcss, Supabase, D1, Drizzle, Convex, AWS, Full-Stack Cloudflare.

    Frontend: React, Next, Svelte, Vue, Astro, Gatsby

    রিয়্যাক্ট তো সবাই শেখেই, পাশাপাশি আমি Svelte শিখেছি এবং বেশ মজা পেয়েছি। আমার এই ওয়েবসাইটও বর্তমানে Svelte দিয়েই করা, আগে Gatsby-তে ছিলো (গিটহাবে MIT license) – আরেকটি ভালো জিনিস।

    আর Vue এর ক্র্যাশ কোর্স দেখে Svelte এর সাথে অনেক মিল পেয়েছি, কাজ চালিয়ে নিতে পারবো বলে মনে করি। (December, 2025 এ Mastering Nuxt 3 কোর্সটি করেছি।) Update: May 2025 – Nuxt.com এর রিপোতে ২টি PR মার্জ হয়েছে, যা আমাকে একজন ছোট Nuxter বানিয়ে দিয়েছে 🙂

    (উভয়টিই syntax.fm এর CJ Raynold এর Vue-Nuxt এর কোর্স, একটা তো প্রায় ১২ ঘণ্টার! সেটি দেখে নাক্সটের অনেক কিছুই শেখা হয়ে গেছে।)

    ২০২৫ এর জানুয়ারীতে Astro শেখার পর মনে হলো- আরো আগে কেন শিখলাম না। Gatsby + Graphql এ বেশ কষ্টে যা করা হতো, তা খুবই সহজে করে ফেলা যায়। Gatsby-র ১ জিবির প্রজেক্ট Astro তে ৫০০ এমবি!

    October 2024 : Fresh (Deno) & HonoX এর Docs পড়েছি।

    Tanstack, Solid নিয়েও ঘাটাঘাটি করার ইচ্ছা আছে।

    আমার শেখার ধারাবাহিকতাঃ React, Gatsby, Svelte, Vue, Next, Nuxt, Astro

    Language: JS+TS (primary), তবে অক্টোবরে python, django – Netninja (uk) ইউটিউব চ্যানেল থেকে, php, laravel ক্র‍্যাশ কোর্স + w3schools থেকে শিখেছি- বলা উচিত- এক্সপ্লোর করেছি। নভেম্বরের ৬-৭ তারিখে Bek Brace চ্যানেলের ৩ ঘন্টার Rust Crash course দেখেছি। তাতে মনে হয়েছে- টাইপস্ক্রিপ্ট + লারাভেল = রাস্ট 🦀😃। এগুলো এমনেই এক্সপ্লোর, ২০২৫ এ জাভাস্ক্রিপ্ট+টাইপস্ক্রিপ্টের বাহিরে যাওয়ার ইচ্ছা নেই।

    জুন ২০২৫ঃ Go এর বেশ কিছু বিষয় শিখেছি।

    Styling: CSS, SASS, Tailwind

    টেইলউইন্ড সবার পরে শিখেছি। ভবিষ্যতে UnoCSS ব্যবহার করার ইচ্ছা আছে। Anthony Fu আমার কোডিং লাইফের হিরো/আইডল।

    Backend: Express, Hono, CF Workers, Swagger, OpenAPI Specification

    Hono বেশ ভালো লাগে। সবকিছু সংক্ষেপে + typescript (Cloudflare & Deno উভয়েই অফিশিয়ালি Hono-কে প্রমোট করে)।

    DB: Convex, MongoDB, PostgreSQL & Others

    শুরুতে MongoDB বেশি ব্যবহার করতে করতে SQL শেখা হচ্ছিলো না, পরে Supabase এবং Cloudflare D1 দিয়ে SQL এর বাস্তব ব্যবহার শেখা। Simpack প্রজেক্টে Supabase SQL ব্যবহার করা হয়েছে।

    মে ২০২৫ঃ Convex হচ্ছে ভবিষ্যতের, বরং বর্তমানেরও সেরা ডাটাবেজ + ব্যাকেন্ড সলিউশন। প্রচুর ভালো লেগেছে। t3.chat + Theo এবং Web Dev Cody-ও এটির ভক্ত। ওদের থেকেই আমি কনভেক্সের সন্ধান পেয়েছি।

    ORM: Prisma & Drizzle

    Headless CMS: Strapi, WP

    Cloud: AWS, Cloudflare, Supabase, Deno Deploy, OVH

    ‘সেলফ হোস্ট’ আমার ভালো লাগে। মে ২০২৪ থেকেই AWS ব্যবহার করছি।

    Coolify, HestiaCP, Uptime Kuma, Algo VPN, Squid Proxy, NextCloud সহ অনেক কিছুই হোস্ট করেছি।

    Deploy: Netlify, Vercel, Amplify, Cloudflare Pages, EC2

    Deno Deploy ব্যবহার করতে গিয়ে Deno এর বেশ কিছু ব্যবহার শিখতে হয়েছে, যা NPM & BUN থেকে আলাদা।

    Git: Github, Gitlab, Bitbucket, AWS Codecommit, SourceHut

    গিটহাবই তো উইনার, গিটল্যাবের ফ্রিতে/প্রো মেম্বারশিপ কেনা ছাড়া কোলাবোরেশনের ব্যাপারটা ভালো। শেষ ৩টি একবার একবার ব্যবহার করে পরিচিতি হয়েছি।

    SourceHut এর সন্ধান পেয়েছিলাম https://timharek.no/ থেকে, এবং উনার ব্লগে দেখেই PGP Key, Email Encryption / Kleopatra শিখে উনার পাব্লিক কী দিয়ে এনক্রিপ্ট করে ইমেইল করে ধন্যবাদ দিয়েছিলাম।

    CI / CD: জীবনে অনেক করেছি- এমন না। তবে Deno Deploy তে Sveltekit SSR এর জন্য করেছিলাম, আরেকবার আরেক প্রজেক্টে করেছিলাম। বেশ মজার জিনিস।

    আরো যা শিখবো (ইনশাল্লাহ)- আমি AWS যে ইউটিউব চ্যানেল থেকে শিখেছি- Gaurav Sharma, সেখানে Terrraform, Kubernetes, Ansible, Jenkins, Shellscript এর টিউটোরিয়াল আছে, সেগুলোও ২০২৫ শেষ হওয়ার আগেই শিখে ফেলার ইচ্ছা আছে।

    Open Source Contribution: Full Stack Army এর ৩৫+ ভিডিওর টাইমস্ট্যাম্প বানিয়েছি। এছাড়া Sveltepress (Vitepress এর svelte ভার্সন) এর ডকুমেন্টেশন এর বাংলা অনুবাদ করেছি।

    কোডিং জার্নির আরো অনেক আগে www.time.is সাইটের অনুবাদ করেছিলাম।

    আমার লাইভ প্রজেক্ট:

    বিঃ দ্রঃ প্রজেক্টের সোর্স কোড, কেস স্টাডি নেভিগেশন বারের /projects এ পাওয়া যাবে।

    সর্বশেষ কাজটি হচ্ছে- অনলাইনে ক্লাস করানোর জন্য একটি প্রজেক্ট, যেটিতে ভর্তি, হাজিরা, এককালীন/মাসিক পেমেন্ট ও রেকর্ডেড ক্লাসের লিংক ছাত্রদের জন্য অ্যাড করা যায়। পুরোপুরি SaaS না, একই প্রজেক্টের রিপো দুটি ডোমেইনে দুজনকে দিয়েছি।

    তার আগের প্রজেক্ট একটি কোর্সের সাইট, ওপেন সোর্স না।

    আলকাউসার (ফ্যানমেইড) – Gatsby + Tailwind দিয়ে বানানো।

    ৩টি আলাদা ফ্রেমওয়ার্কে এই সাইট – মূলটি গিটহাব থেকে Fork করেছি, পরে Gatsby থেকে Svelte এ কনভার্ট করেছি, মূল Author কে দেখিয়েছিও। ভবিষ্যতে css থেকে Tailwind এ কনভার্ট করার ইচ্ছা আছে। এখন ৭০% আমার কোড, তখন ১০০% আমার কোড হয়ে যাবে।

    আমার ভাইয়ের জন্য বানানো ডিসকর্ড বট, যা EC2 তে রান করা আছে।

    ২টি VS Code এর থিম।

  • Website Speed

    আমার এই সাইটের লেখাগুলো ওয়ার্ডপ্রেসে লিখি, আর এপিআই দিয়ে শো করি zmt3.com এ, আরো কয়েকটা ডোমেইন-সাবডোমেইনে।

    zmt3.com svelte দিয়ে বানানো, netlify তে হোস্ট করা। নেটলিফাই AWS N. Virginia / US-EAST-1 ব্যবহার করে। (আর ভার্সেল করে AWS ক্যালিফোর্নিয়া)

    আমার ওয়ার্ডপ্রেস কিছুদিন BDIX হোস্টিং এ ছিলো, তাও আবার zmt3 ডটকমের সাবডোমেইনে না, একটি .photos ডোমেইনে। (ফ্রিতে পেয়েছিলাম, তাই .photos)

    তখন ওয়েবসাইট লোড হতে ১১+ সেকেন্ড লাগতো। বাংলাদেশের হোস্টিং এ থাকা ওয়ার্ডপ্রেস থেকে ডাটা নিতো Netlify, তারপর zmt3.com এ হোমপেজ রেন্ডার করে পাঠাতো (বেশিরভাগ ক্ষেত্রেই বাংলাদেশের) ভিজিটরের কাছে- ফুল প্রসেসে ১১+ সেকেন্ড লাগতো। (মাঝখান থেকে ডট ফটোস টিএলডির ডিএনএস সার্ভারেও সময় খরচ হতো)

    পরে আমি ডট ফটোস বাদ দিয়ে সাবডোমেইন ব্যবহার করি, wp2.zmt3.com, কিন্তু BDIX হোস্টিং-ই। তাতেও সময় কমে ৮-৯ সেকেন্ডে নেমে আসে।

    তারপর AWS EC2 US-EAST-1 তে hestiaCP হোস্ট করে সেখানে ওয়ার্ডপ্রেস সেটাপ করি। এখন ৫-৬ সেকেন্ডে হয়ে যায়। (বর্তমানে)

    সামনে টার্গেট হচ্ছে- সিংগাপুর সার্ভারে Coolify দিয়ে zmt3.com আর HestiaCP দিয়ে ওয়ার্ডপ্রেস হোস্ট করবো, তখন হয়ত ২-৩ সেকেন্ডের মধ্যেই হয়ে যাবে।

    আরো মজা হবে BDIX সার্ভারে Coolify+HestiaCP, কিন্তু সেটা ইচ্ছা নেই।

  • My Tech Stack

    Frontend: React, Gatsby, Next, Svelte, Vue

    রিয়্যাক্ট তো সবাই শেখেই, পাশাপাশি আমি Svelte শিখেছি এবং বেশ মজা পেয়েছি। আমার এই ওয়েবসাইটও বর্তমানে Svelte দিয়েই করা, আগে Gatsby-তে ছিলো (গিটহাবে MIT license) – আরেকটি ভালো জিনিস।

    আর Vue এর ক্র্যাশ কোর্স দেখে Svelte এর সাথে অনেক মিল পেয়েছি, কাজ চালিয়ে নিতে পারবো বলে মনে করি।

    আর ভবিষ্যতে Astro, Solid নিয়েও ঘাটাঘাটি করার ইচ্ছা আছে।

    October : Fresh (Deno) & HonoX এর Docs পড়েছি।

    আমার শেখার ধারাবাহিকতাঃ React, Gatsby, Svelte, Vue, Next

    Language: JS+TS (primary), তবে অক্টোবরে python, django, php, laravel ক্র‍্যাশ কোর্স + w3schools থেকে শিখেছি। নভেম্বরের ৬-৭ তারিখে Bek Brace চ্যানেলের ৩ ঘন্টার Rust Crash course দেখেছি – টাইপস্ক্রিপ্ট + লারাভেল = রাস্ট 🦀😃।

    Styling: CSS, SASS, Tailwind

    টেইলউইন্ড সবার পরে শিখেছি। ভবিষ্যতে UnoCSS ব্যবহার করার ইচ্ছা আছে। Anthony Fu আমার কোডিং লাইফের হিরো/আইডল।

    Backend: Express, Hono, CF Workers, Swagger, OpenAPI Specification

    Hono বেশ ভালো লাগে। সবকিছু সংক্ষেপে + typescript (Cloudflare & Deno উভয়েই অফিশিয়ালি Hono-কে প্রমোট করে)।

    DB: MongoDB, PostgreSQL & Others

    শুরুতে MongoDB বেশি ব্যবহার করতে করতে SQL শেখা হচ্ছিলো না, পরে Supabase এবং Cloudflare D1 দিয়ে SQL এর বাস্তব ব্যবহার শেখা। Simpack প্রজেক্টে Supabase SQL ব্যবহার করা হয়েছে।

    Headless CMS: Strapi, WP

    Cloud: AWS, Cloudflare, Supabase, Deno Deploy

    ‘সেলফ হোস্ট’ আমার ভালো লাগে। ৪+ মাস যাবত AWS ব্যবহার করছি।

    HestiaCP, Coolify, Uptime Kuma, Algo VPN, Squid Proxy সহ অনেক কিছুই হোস্ট করেছি।

    Deno Deploy ব্যবহার করতে গিয়ে Deno এর বেশ কিছু ব্যবহার শিখতে হয়েছে, যা NPM & BUN থেকে আলাদা।

    Deploy: Netlify, Vercel, Amplify, Cloudflare Pages, EC2

    Git: Github, Gitlab, Bitbucket, AWS Codecommit, SourceHut

    গিটহাবই তো উইনার, গিটল্যাবের ফ্রিতে/প্রো মেম্বারশিপ কেনা ছাড়া কোলাবোরেশনের ব্যাপারটা ভালো। শেষ ৩টি একবার একবার ব্যবহার করে পরিচিতি হয়েছি।

    SourceHut এর সন্ধান পেয়েছিলাম https://timharek.no/ থেকে, এবং উনার ব্লগে দেখেই PGP Key, Email Encryption / Kleopatra শিখে উনার পাব্লিক কী দিয়ে এনক্রিপ্ট করে ইমেইল করে ধন্যবাদ দিয়েছিলাম।

    CI / CD: জীবনে অনেক করেছি- এমন না। তবে Deno Deploy তে Sveltekit SSR এর জন্য করেছিলাম, আরেকবার আরেক প্রজেক্টে করেছিলাম। বেশ মজার জিনিস।

    আরো যা শিখবো (ইনশাল্লাহ)- আমি AWS যে ইউটিউব চ্যানেল থেকে শিখেছি- Gaurav Sharma, সেখানে Terrraform, Kubernetes, Ansible, Jenkins, Shellscript এর টিউটোরিয়াল আছে, সেগুলোও ২০২৫ এর জুনের আগে শিখে ফেলার ইচ্ছা আছে।

    Open Source Contribution: Full Stack Army এর ৩৫+ ভিডিওর টাইমস্ট্যাম্প বানিয়েছি। এছাড়া Sveltepress (Vitepress এর svelte ভার্সন) এর ডকুমেন্টেশন এর বাংলা অনুবাদ করেছি।

    কোডিং জার্নির আরো অনেক আগে www.time.is সাইটের অনুবাদ করেছিলাম।

    আমার লাইভ প্রজেক্ট:

    বিঃ দ্রঃ প্রজেক্টের সোর্স কোড, কেস স্টাডি নেভিগেশন বারের /projects এ পাওয়া যাবে।

    ১। Simpack – Nextjs + Supabase

    ২। আলকাউসার (ফ্যানমেইড) – Gatsby + Tailwind দিয়ে বানানো।

    ৩। এই সাইট – যা গিটহাব থেকে Fork করেছি, পরে Gatsby থেকে Svelte এ কনভার্ট করেছি, মূল Author কে দেখিয়েছিও – Gitlab এ পুশ করে। ভবিষ্যতে css থেকে Tailwind এ কনভার্ট করার ইচ্ছা আছে। এখন ৭০% আমার কোড, তখন ১০০% আমার কোড হয়ে যাবে।

    ৪। আমার ভাইয়ের জন্য বানানো ডিসকর্ড বট, যা EC2 তে রান করা আছে।

    ৫। Bytes Newsletter Theme

  • My first day of AWS

    My first day of AWS

    সমস্যা

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

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

    বট বন্ধ হওয়ার কারণঃ

    পাইথন কোডে কিছূ সমস্যা ছিলো, import এর আগেই ইউজ করা ছিলো, একটি ফাংশনের ২ আর্গুমেন্টের একটা মিসিং ছিলো। পাইথন যদিও পারি না, কিন্তু কোড তো কোডই। কিছু না কিছু মিল তো থাকেই। (শুরু থেকেই সমস্যা থাকলে তো কাজই করার কথা না, হয়ত পরে ই চ্ছায়-অনিচ্ছায় কোনোভাবে হয়ে গিয়েছিলো)।

    repl.it তাদের ফ্রি প্ল্যান বন্ধ করে দিয়েছে, পুরান লিংক বন্ধ করে দিয়েছে। ফলে uptimebot যে লিঙ্কে নির্দিষ্ট সময় পরপর রিকুয়েস্ট করতো, সেই লিংক ভ্যালিড ছিলো না। ।

    uptimebot এ আগে ফ্রিতে কতক্ষণ পর পর রিকোয়েস্ট পাঠানো যেতো, জানি না। কিন্তু এখন ৫ মিনিটের কমে যায় না, সেক্ষেত্রে ফ্রি প্ল্যান নিতে হয়।

    সমাধানের পর

    discordjs দিয়ে সমাধানের পর মূলত দেখেছি যে- ফ্রিতে ২৪/৭ হোস্ট করার কোনো ফ্রি ও নির্ভরযোগ্য কোনো উপায়ই নেই!

    আমি বা ভাইয়া বা ৩য় কেউ নিজের কম্পিউটার 24/7 চালু করে রাখতে হবে।
    হয়ত কোড পাবলিক করে রাখতে হবে, সেক্ষেত্রে ডিসকর্ড অ্যাক্সেস টোকেন ঝুঁকিতে পড়ে যাবে।
    আর ভার্সেল/সার্ভারলেস তো এসবের জন্য না।

    তাই আর দেরি না করে aws ১ বছরের ট্রায়াল শুরু করে দিলাম। ভবিষ্যতে হয়ত azure এর ১ বছরও নেবো। (যদি ততদিনে থাকে আরকি)। গুগল ক্লাউড, ডিজিটাল ওশ্যান ২০০-৩০০ ডলার ক্রেডিট যাই দেয়, তা ৬০-৯০ দিনের মেয়াদে দেয়, যা খুব একটা লোভনীয় না। তবুও যথাসময়ে হয়ত নেবো।

    AWS EC2 details

    Amazon Machine Image (AMI): Amazon Linux AMI 2023

    Instance type: tc.micro (2 vcpu, 1 GiB memory, $0.0108/per hour after trial)

    Storage: Storage Type: EBS, Volume Type GP3, 10 GB (total limit in trial: 30 GB)

    যদিও পরে বুঝেছি ৫ জিবি দিলেই ubuntu + আমার কাজের জন্য জন্য যথেষ্ট হতো। যাইহোক, আরো কত কিছুই তো করতে হবে।

  • My Pixel Experience

    Xiaomi Note 11 Lite NE 5G আনিয়েছিলাম ২০২২ এর জুলাই এ (জঘন্য ক্যামেরা এটার, নাড়ালে ল্যাগ দেখা যায়)। কেনার পরেই ইচ্ছা ছিল ১২ মাস হয়ে গেলে কাস্টম রম ইউজ করবো। কিন্তু ২০২৩ এ জুলাই থেকে এ বছর জানুয়ারী আমি নতুন অনেক কিছু শেখায় বেশ ব্যস্ত ছিলাম, তাই কিছুই করা হয়নি। গতকাল PixelExperience রম মারলাম। (তার আগের শুক্রবার আনলক করার জন্য রিকোয়েস্ট রেখেছিলাম) পুরাই জুস।

    • ১। ননগেমিং ইউজে আগে ৬ ঘন্টা চার্জ থাকতো, এখন ৯+ থাকছে।
    • ২। স্টক রমে gcamify দিয়ে জিক্যাম ইউজ করতাম, কিন্তু বর্তমান রমে প্লে স্টোর থেকে নামালো Pixel Camera-র তুলনায় সেটার পারফরমেন্স অর্ধেকও না। (font to rear / vice versa ক্যামেরা চেঞ্জ করতে ৩-৫ সেকেন্ড লাগতো, ল্যাগ যদিও ছিল না)
    • ৩। গত দেড় বছরে ৬+ বার geekbench এর সকল রেজাল্টের চেয়ে এখন স্কোর বেশি।
    অবস্থাসিঙ্গেল কোরমাল্টি কোর
    আগে৭৭০২৭০৩
    এখন১০২০২৭৮৯

    single core সর্বোচ্চ ৭৭০ উঠতো, এখন ১০২০ মাল্টিকোরে নতুন অবস্থায় ২৭০৩ ছিল, গত ডিসেম্বরে (কেনার ১৭ মাস পর) ২৩৮৪ ছিল আর এখন কাস্টম রমে ২৭৮৯ (নোট: একজন জানিয়েছে যে, গিকবেঞ্চ ৬ এ নাকি একটু বেশিই দেখায় গিকবেঞ্চ ৫ এর তুলনায়, যাই হোক)

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

    প্রসেস সহজ। Mi Unlock করতে ৭ দিন অপেক্ষা করতে হয়েছে। তারপর পিক্সেল এক্সপেরিয়েন্স এর গাইড দেখে দেখে প্রতিটা কাজ করেছি, আধা ঘন্টার মধ্যে সব হয়ে গেছে। (আমি জীবনে প্রথম কাস্টম রম দিয়েছিলাম symphony w68 এ। এরপর Samsung J7 এও কী কী যেন করেছিলাম, ভুলেই গেছি)

    এছাড়া PixelOS এবং Lineageos ডাউনলোড করে রেখেছি। ১-২ মাস পর এগুলোও ব্যবহার করতে পারি। (আমি তো ভেবেছিলাম কয়েকদিন পরেই করবো। কিন্তু মনে হচ্ছে কয়েক মাসেও না করলে অসুবিধা নেই, যেটা আছি বেশ আছি। এছাড়া আমার বড় ভাইয়ের S8 / S8+ এ Lineageos চালিয়েছি।)

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

  • Pro🦆tivity

     সময়ের হিসাব রাখা

    ১। কম্পিউটারে https://activitywatch.net/ ব্যবহার করি। বেশ জোশ জিনিস, কিন্তু বিগিনার ফ্রেন্ডলি না। কাস্টমাইজেশন একটু জঠিল, regex পারলে সুবিধা পাওয়া যায়।
    এটা প্রতিটা উইন্ডো (ব্রাউজার, ফাইল এক্সপ্লোরার, মিডিয়া প্লেয়ার) এর হিসাব দেখায়।
    প্লে স্টোরেও দেখেছি, অফিশিয়াল নাও হতে পারে, শিওর না।

    ২। ক্রোম বাউজারে https://chromewebstore.google.com/detail/webtime-tracker/ppaojnbmmaigjmlpjaldnkgnklhicppk?hl=en এটা ব্যবহার করেছি। এখনো ইন্সটল করা, যদিও খুব একটা দেখি না। csv আকারে ডাটা এক্সপোর্ট করা যায়। যদিও বেশিদিনের ডাটা এক্সপোর্ট করতে চাইলে হয়ত

    ৩। মোবাইলে তো Digital wellbeing আছেই, গত ১৭ মে হিসাব করলাম, তার আগের ২৬ দিনে ৬০৪ মিনিট Duolingo অ্যাপ চালিয়েছি। আজ ১৯ মে ৭০ তম স্ট্রাইক হলো। এখান থেকে গুগল শীটে কানেক্ট করা গেলে / ডাটা এক্সপোর্ট করা গেলে খুবই ভালো হতো।

     

    অন্যান্য টুলস

    পাসওয়ার্ড

    আগে lastpass ব্যবহার করতাম, এখন গুগল পাসওয়ার্ড ম্যানেজার ব্যবহার করি। গুগলের উচিত ছিলো এই জিনিস আরো আগে না।
    স্যামসাং পাসওয়ার্ড ম্যানেজার যখন ২০১৮ + – এ দেখেছিলাম, তখনই মনে হয়েছিলো- গুগলের এই জিনিস বানানো উচিত। সম্ভবত ২০২২ এর মাঝামাঝি সময়ে গুগল এটার দিকে ফোকাস করে।

    গুগল

    কিপ, ড্রাইভ, ক্যালেন্ডার মোটামুটি ব্যবহার করতে পারলে জীবনে বেশ সহজ করা সম্ভব। অনেকে গুগল-প্রাইভেসি ইত্যাদি বলবেন, লাভ নেই। বিকল্প হিসেবে যা যা দেখানো হবে, সেগুলোর সামষ্টিক cons গুগলের চেয়ে কম নাও হতে পারে।

    এছাড়া

    সীমিত আকারে Notion ব্যবহার করি।

    কাস্টম ইমেইলের জন্য ফ্রিতে Zoho mail ভালোই।