Mahmudul Hasan Shohag
banner
imaginativeshohag.bsky.social
Mahmudul Hasan Shohag
@imaginativeshohag.bsky.social
Software Engineer. Android & iOS Developer. Learning to the fullest. Ask me about Android/Compose/Kotlin, iOS/SwiftUI/Swift.

🌏 imaginativeworld.org
🔗 linkedin.com/in/mahmudulhasanshohag
🐘 mastodon.social/@shohag
𝕏 x.com/shohag_iw
টিকটক, ইউটিউব শর্টস ইত‍্যাদিতে যে ভার্টিক‍্যাল স্ক্রল করে কন্টেন্ট গুলো এক্সপ্লোর করা হয়। জেটপ‍্যাক কম্পোজে এরকম ইউআই বানানো যায় pager (developer.android.com/develop/ui/c...) দিয়ে।
May 26, 2025 at 5:00 AM
🎉 I’ve added a paging UI example to my “Why Not Compose!” showcase app.

Repo: github.com/ImaginativeS...
May 26, 2025 at 5:00 AM
May 14, 2025 at 8:48 PM
ফলে ডেভেলপারের কাজ হয় শুধু কোনটি আপডেট করতে হবে সেগুলো কমেন্ট দেখে আপডেট করে দেয়া!

এ প্লাগইনটির আরেকটি সুবিধা হলো এতে বিল্টইন রেডি-টু-ইউজ ১২৫০+ ডিপেন্ডেন্সি নোটেশন (splitties.github.io/refreshVersi...) আছে। ফলে জনপ্রিয় এবং বহুব‍্যবহৃত ডিপেন্ডেন্সি সরাসরি প্লাগইন থেকেই যুক্ত করা যাবে।
May 2, 2025 at 4:18 AM
এখন নতুন একটি গ্র‍্যাডল প্লাগইনের সন্ধান পেয়েছি, নাম— "refreshVersions" (github.com/Splitties/re...). এটি "libs.versions.toml" ক‍্যাটালগ ফাইলে এবং সাথে অন‍্য কোনো গ্র‍্যাডল ফাইলে যদি ভার্সন ইনফেরমেশন থাকে, প্লাগইনটি প্রতিটি ডিপেন্ডেন্সির নিচে লেটেস্ট ভার্সনের কমেন্ট যুক্ত করে দেয়।
May 2, 2025 at 4:18 AM
তবে কিছু থার্ড পার্টি প্লাগইন/লাইব্রেরি আছে যেগুলো দিয়ে আমরা এ সমস‍্যার সমাধান করতে পারি।

রিসেন্টলি আমি আমার ওপেন-সোর্স "Why Not Compose!" প্রোজেক্টে Gradle Version Catalogs যুক্ত করেছি, এর বড় সুবিধা হচ্ছে সব গুলো ডিপেন্ডেন্সির ভার্সন সমূহ একটি "libs.versions.toml" ফাইলে থাকে।
May 2, 2025 at 4:18 AM
Life’s too short to waste time Googling dependency and versions! 🚀 I rely on refreshVersions to effortlessly fetch the latest updates for my Android projects. Stay up-to-date with zero hassle! 💻✨

#AndroidDev #Kotlin #Productivity

Repo: github.com/ImaginativeS...
May 2, 2025 at 4:18 AM
তাই মক রেস্পন্স ডেটা দিয়ে UI Testing করা একটা পসিবল সলুশন আমার কাছে মনে হয়েছে। আমার Why Not SwiftUI! অ‍্যাপে মক ডেটা দিয়ে কিভাবে UI Testing করা যায় তার একটা উদাহরন যু¦•্ত করেছি। সোর্স: github.com/ImaginativeS...
March 3, 2025 at 5:00 AM
দ্বিতীয় সলিউশন হচ্ছে ML Kit মডেল দিয়ে বারকোড স্ক‍্যানিং (https://developers.google.com/ml-kit/vision/barcode-scanning/android)। এটির জন‍্য তুলনামুলক কিছু কোড বেশী লিখতে হয়, তবে নিজের ইচ্ছা মত ভিউ তৈরি করে Camera, Camera2 বা CameraX ব‍্যাবহার করে কোড স্ক‍্যানার তৈরি করা যায়।
February 10, 2025 at 4:00 AM
একটি হচ্ছে Google code scanner (https://developers.google.com/ml-kit/vision/barcode-scanning/code-scanner), যা Google play service এর মাধ‍্যমে দেয়া হয়। এর সুবিধা হলো মাত্র কয়েক লাইন কোডের মাধ‍্যমে কোনো ক‍্যামেরা পার্মিশন ছাড়াই কোড স্ক‍্যানার অ‍্যাপে যুক্ত করা যায়। অসুবিধা হলো এতে কোনো ইউআই কাস্টমাইজেশনের ব‍্যাবস্থা নেই।
February 10, 2025 at 4:00 AM
February 10, 2025 at 4:00 AM
🎉 Just integrated GitHub Actions for automated testing in my iOS showcase project Why Not SwiftUI! 🚀

Source: https://github.com/ImaginativeShohag/Why-Not-SwiftUI/blob/main/.github/workflows/test-app.yml
January 29, 2025 at 4:18 AM
Here’s a minimal example of MapKit to inspire you.
January 25, 2025 at 4:18 AM
🗺️ Just added some cool MapKit examples to my 'Why Not SwiftUI' app! ✨

Inspired by WWDC23's 'Meet MapKit for SwiftUI' session.

Repo: https://github.com/ImaginativeShohag/Why-Not-SwiftUI/tree/main/Targets/Home/Sources/UI/Screens/Map
January 25, 2025 at 4:18 AM
January 21, 2025 at 4:18 AM
এই জন‍্য আমরা চাইলে কম্পোজে `LocalAccessibilityManager` এর `calculateRecommendedTimeoutMillis()` ম‍্যাথোডটি ব‍্যবহার করতে পারি।

বিস্তারিত আলোচনা রয়েছে এখানে: https://eevis.codes/blog/2024-12-28/support-time-to-take-action-with-compose/

🧵4/4
January 17, 2025 at 4:18 AM
এতে এমন একটি স্ট‍্যান্ডার্ড সময় ধরা হয় যে সময়ের ভিতর ইউজার চিন্তা করবে, ডিসিশন নিবে এবং অ‍্যাকশন নিবে। "Time To Take Action" চাইলে অ‍্যাক্সেসিবিলিটি সেটিংস থেকে পরিবর্তন করা যায়।

🧵2/4
January 17, 2025 at 4:18 AM
কিভাবে একজন কনফিডেন্ট এবং ভ‍্যালুয়েবল প্রোগ্রামার হতে পারেন তা জানতে আমার এই সেশনটি দেখতে পারেন: https://youtu.be/gwtcc5KHWa0

আমার চেষ্টা গুলো: https://stackoverflow.com/users/2263329/mahmudul-hasan-shohag
January 15, 2025 at 4:18 AM
প্রত‍্যেক ডেভেলপারের যেরকম "গিটহ‍্যাব অ‍্যাকাউন্ট থাকবেই" এটাই স্বাভাবিক, সেরকম "Stack Overflow এর অ‍্যাকাউন্ট থাকবে" এটাও স্বাভাবিক হওয়া উচিত ছিলো। কিন্তু বাংলাদেশে আমরা শুধু সমাধান খুজতেই যাই। সমাধান দেয়ার সময় আমাদের হয় না।
January 15, 2025 at 4:18 AM
I updated my open-source showcase project, Why Not Compose!, to support Gradle version catalogs.

রিপো: https://github.com/ImaginativeShohag/Why-Not-Compose
Play Store: https://play.google.com/store/apps/details?id=org.imaginativeworld.whynotcompose
January 7, 2025 at 4:18 AM
আমার প্রথম দিকের হবি প্রজেক্ট ছিল স্বাধীন অভিধান। এটা Jan 13, 2016 এ প্লেস্টোরে ছাড়ি। মার্কেটিং ছাড়াই বর্তমানে ৬৪কে+ ডাউনলোড, ৪.৫ রেটিং (৫৮০+ জনের)। এটি সম্পূর্ন ফ্রি, অ‍্যাড মুক্ত।

প্লে-স্টোর লিংক: https://play.google.com/store/apps/details?id=org.imaginativeworld.shadhinovidhan
January 4, 2025 at 4:18 AM
☁️ Your data, your control. Sync your reading progress and notes to Google Drive with Book Keeper—no data comes to our servers. #Privacy #BookKeeper

🔗 https://play.google.com/store/apps/details?id=org.imaginativeworld.bookkeeper
December 28, 2024 at 4:18 AM
🎨 Transform words into art! With Book Keeper’s ‘Remix’ feature, convert your favorite quotes into beautiful images and share them directly on social media. #Creative #BookKeeper

🔗 https://play.google.com/store/apps/details?id=org.imaginativeworld.bookkeeper
December 12, 2024 at 10:18 AM