Generated by All in One SEO v4.9.3, this is an llms.txt file, used by LLMs to index the site. # Doumer's Blog Learn, Build, Share and Innovate. ## Sitemaps - [XML Sitemap](https://doumer.me/sitemap.xml): Contains all public & indexable URLs for this website. ## Posts - [The Fastest Way to Add JWT + Google Auth to Your ASP.NET Core API](https://doumer.me/add-jwt-authentication-to-asp-net-core/) - [🚨 Xamarin Is Dead! Here's What You MUST Know When Migrating from Xamarin to MAUI](https://doumer.me/migrating-from-xamarin-to-maui/) - [5 New ASP net core features in dotnet 8 You'll Love this Year](https://doumer.me/new-asp-net-core-features-in-dotnet-8/) - [Using FontAwesome Pro Icons in Flutter](https://doumer.me/using-fontawesome-pro-icons-in-flutter/) - [Infinite Scroll in Flutter (No Package Required)](https://doumer.me/infinite-scroll-in-flutter-no-package-required/) - Hello world, today we'll look at a feature present in so many apps that it is kind of mandatory to know how to implement it. There are several packages out there that could be used to implement this feature, though it could easily be implemented without any library. Let's implement Infinite Scroll in Flutter without This feature could easily be implemented without any library. Let's implement Infinite Scroll in Flutter without any package. - [Modular Components with Flutter_bloc](https://doumer.me/modular-components-with-flutter_bloc/) - [Modify and Debug Native iOS and Android plugins in Flutter Apps](https://doumer.me/debug-native-ios-and-android-plugins-in-flutter/) - [OpenId User Impersonation in Asp.net core With Duende Identity Server](https://doumer.me/openid-user-impersonation-in-asp-net-core-with-duende-identity-server/) - [The End of Software Devs? How AI will Re-shape their Jobs and Make Product Owners Obsolete](https://doumer.me/the-end-of-software-devs-how-ai-will-make-product-owners-obsolete/) - [10 Choses que Tous les Développeurs de Logiciels Juniors Devraient Savoir pour Réussir](https://doumer.me/10-choses-que-tous-les-developpeurs-de-logiciels-juniors-devraient-savoir-pour-reussir/) - [4 Structured Logging Techniques in ASP.net core Every Developer Should Know (Dotnet 8+)](https://doumer.me/4-structured-logging-techniques-in-asp-net-core/) - [#17 Ismael Nzouetom Failure Lessons I-Dispo](https://doumer.me/17-ismael-nzouetom-failure-lessons-i-dispo/) - [#16 Netflix, Marc Randolph et Reed Hastings](https://doumer.me/16-netflix-marc-randolph-et-reed-hastings/) - [#15 BlablaCar, Par Frédéric Mazzella](https://doumer.me/15-blablacar-par-frederic-mazzella/) - [#14 Secrets d'experts en marketing de Russell Brunson](https://doumer.me/14-secrets-dexperts-en-marketing-de-russell-brunson/) - [#13 Bill Gates le Geek conquérant, Microsoft et la révolution du PC](https://doumer.me/13-bill-gates-le-geek-conquerant-microsoft-et-la-revolution-du-pc/) - [DeFi Le pouvoir de la finance décentralisé](https://doumer.me/defi-le-pouvoir-de-la-finance-decentralise/) - [Ecobank, Le panafricanisme par Gervais Koffi Djondo](https://doumer.me/ecobank-le-panafricanisme-par-gervais-koffi-djondo/) - [#10 PayPal Mafia, apprenez des fondateurs de PayPal](https://doumer.me/10-paypal-mafia-apprenez-des-fondateurs-de-paypal/) - [Episode #6 Le jeune Steve Jobs, la naissance d'Apple et de Pixar les leçons tirées de sa vie Partie 1. Heroes Podcast](https://doumer.me/6-le-jeune-steve-jobs-la-naissance-dapple-et-de-pixar-les-lecons-tirees-de-sa-vie-partie-1/) - [Episode #7 Xavier Niel, l'ancien hacker devenu milliardaire: les leçons tirées de son parcours Heroes Podcast](https://doumer.me/7-xavier-niel-lancien-hacker-devenu-milliardaire-les-lecons-tirees-de-son-parcours/) - [Episode #9, Peter Thiel de zéro à un. Heroes Podcast](https://doumer.me/episode-9-peter-thiel-de-zero-a-un-heroes-podcast/) - [Episode #8 NIKE, L'idée folle de Phil Knight. Heroes Podcast](https://doumer.me/episode-8-nike-lidee-folle-de-phil-knight/) - [Translate Tokens with Identity Server (Using Forms Authentication Ticket tokens on Open Id Connect)](https://doumer.me/translate-tokens-with-identity-server-using-forms-authentication-ticket-tokens-on-open-id-connect/) - [Xamarin Android Download Manager Advanced Guide](https://doumer.me/xamarin-android-download-manager-advanced-guide/) - [Migrating Old Asp.net Authentication to Asp.net core Identity with OpenId Connect](https://doumer.me/migrating-old-asp-net-authentication-to-asp-net-core-identity-with-openid-connect/) - [CQRS Command Validation with MediatR in Asp.net Core](https://doumer.me/cqrs-command-validation-with-mediatr-in-asp-net-core/) - [Le Metaverse](https://doumer.me/le-metaverse/) - [The Metaverse](https://doumer.me/the-metaverse/) - [Le Jargon Web3 expliqué](https://doumer.me/le-jargon-web3-explique/) - [5 Disruptive Web3 Innovations The Blockchain Brought Us](https://doumer.me/5-disruptive-web3-innovations-the-blockchain-is-bringing-to-us/) - [Web3 Terms Explained (Crypto, Wallet, Blockchain...)](https://doumer.me/web3-terms-explained/) - [Le Web3 et sa Révolution](https://doumer.me/le-web3-et-sa-revolution/) - [Introduction to the Web3 Revolution](https://doumer.me/introduction-to-the-web3-revolution/) - [How is the Web3 useful to humanity](https://doumer.me/uses-of-web3/) - [En quoi le Web3 est-il utile à l'humanité](https://doumer.me/utilite-du-web3/) - [5 Secteurs d'Activité que le Web3 Révolutionne en Ce Moment](https://doumer.me/5-secteurs-dactivite-que-le-web3-revolutionne-en-ce-moment/) - [Uploading Your Xamarin or MAUI iOS app to the App Store Without VS for Mac](https://doumer.me/uploading-your-xamarin-or-maui-ios-app-to-the-app-store-without-vs-for-mac/) - [Responsive Layout in Xamarin.Forms](https://doumer.me/responsive-layout-in-xamarin-forms/) - [End to End Encryption with RSA in Kotlin and C sharp](https://doumer.me/end-to-end-encryption-with-rsa-in-kotlin-and-c-sharp/) - [10 Things Every Junior Software Developer Should Know To Be Successful](https://doumer.me/10-things-every-junior-software-developers-should-know/) - [Quick Tips: Debug Google Play Billing in Xamarin Android Apps](https://doumer.me/debug-google-play-billing-in-xamarin-android-apps/) - [4 Steps To Improve HTTP Request Performance in Dotnet MAUI / Xamarin](https://doumer.me/improve-http-request-performance-in-dotnet-maui-xamarin/) - [Getting Offline Country Data in Dotnet MAUI or Xamarin.Forms](https://doumer.me/getting-offline-country-data-in-dotnet-maui/) - [Properly Manage Background Tasks in Xamarin Forms](https://doumer.me/properly-manage-background-tasks-in-xamarin-forms/) - [Playing With New .NET MAUI Views: Border, Shadow & GraphicsView](https://doumer.me/playing-with-new-net-maui-views-border-shadow-graphicsview/) - [Firebase Dynamic Links with Xamarin Forms and .NET Backend](https://doumer.me/firebase-dynamic-links-with-xamarin-forms-and-net-backend/) - [An introduction to .Net Interactive](https://doumer.me/an-introduction-to-net-interactive/) - [Using VLC Media Player in Xamarin Forms Projects](https://doumer.me/using-vlc-media-player-in-xamarin-forms-projects/) - [JWT Social Auth with ASP.net core and Xamarin Essentials](https://doumer.me/jwt-social-auth-with-asp-net-core-and-xamarin-essentials-2/) - [Dotnet Meetup with Scott Hunter as Guest, introducing us to .NET 5](https://doumer.me/dotnet-meetup-with-scott-hunter-as-guest-introducing-us-to-net-5/) - [Xamarin Show: Xamarin Forms Code Snippets](https://doumer.me/xamarin-show-xamarin-forms-code-snippets/) - [How We Introduced Cameroonian Kids To Programming The Raspberry Pi "Raspberry Jam Camer"](https://doumer.me/how-we-introduced-cameroonian-kids-to-programming-the-raspberry-pi-raspberry-jam-camer/) - [Deep Introduction to .NET MAUI Handlers Architecture](https://doumer.me/introduction-to-net-maui-handlers/) - [A Talk About Building a .NET Community in Africa](https://doumer.me/a-talk-about-building-a-net-community-in-africa/) - [Introduction to .NET MAUI](https://doumer.me/introduction-to-dotnet-maui/) - [Android Debugging With Windows Subsystem for Android. No Emulator Required](https://doumer.me/android-debugging-with-windows-subsystem-for-android/) - [Opening a PDF in Xamarin Forms Pages (Part 2: Android and Radaee PDF)](https://doumer.me/opening-a-pdf-in-xamarin-forms-android-and-radaee-pdf/) - [Download Files in Xamarin iOS in the Background](https://doumer.me/download-files-in-xamarin-ios-in-the-background/) - [Opening A PDF in Xamarin Forms Pages (Part1: Xamarin.iOS Custom Control)](https://doumer.me/opening-a-pdf-in-xamarin-forms-part1-xamarin-ios/) - [Creating a Simple Skeleton Loader in Xamarin Forms](https://doumer.me/skeleton-loader-in-xamarin-forms/) - [VLC Media Player in Xamarin Forms (an Alternative to AvPlayer and Android Media Player)](https://doumer.me/vlc-media-player-in-xamarinforms-alternative-avplayer-andmediaplayer/) - [6 useful Xamarin Forms Snippets](https://doumer.me/5-useful-xamarin-forms-snippets/) - [JWT Social auth with ASP.net core and Xamarin Essentials](https://doumer.me/jwt-social-auth-with-asp-net-core-and-xamarin-essentials/) - [How to Resolve ImageLoaderSourceHandler: Could Not Retrieve Image or Image Data Was Invalid Uri](https://doumer.me/how-to-resolve-imageloadersourcehandler-could-not-retrieve-image/) - [Micro-services communication: Rabbitmq and Asp.net core](https://doumer.me/micro-services-communication-rabbitmq-and-asp-net-core/) - [Firebase push notifications for dotnet. Advanced guide](https://doumer.me/firebase-push-notifications-for-dotnet/) - [Building An Edit Label Custom Control in Xamarin Forms.](https://doumer.me/building-an-edit-label-custom-control-in-xamarin-forms/) - [ASP.net Core Upload Files and Json Data for Each file](https://doumer.me/asp-net-core-upload-files-and-json-data-for-each-file/) - [Allow optional FormBody in asp.net core REST API](https://doumer.me/allow-optional-formbody-in-asp-net-core-rest-api/) - [Xamarin Forms tips: Manipulating iOS Safe Area Insets with Xamarin Forms](https://doumer.me/ios-safe-area-insets-with-xamarin-forms-after/) - [6 Ways in Which Xamarin Forms Evolved](https://doumer.me/6-ways-in-which-xamarin-forms-evolved/) - [5 Reasons Why The Xamarin.Forms Shell Will Increase Your Productivity.](https://doumer.me/5-reasons-why-xamarin-forms-shell-will-boost-your-productivity/) - [Xamarin Forms Tips and Tricks, Navigate to a Page and Wait Results](https://doumer.me/xamarin-forms-tips-navigate-to-a-page-and-wait-results/) - [Using ReactiveUI With Xamarin Forms](https://doumer.me/using-the-reactive-mvvm-framework-reactiveui-with-xamarin-forms/) - [Building a Proactive Message Bot in Teams with The Botframework v4 in c#](https://doumer.me/proactive-message-bot-in-teams-with-the-botframework-v4-csharp/) - [Get User Info With Your Chat Bot In Microsoft Teams](https://doumer.me/get-user-info-with-your-chat-bot-in-microsoft-teams/) - [Using Bootstrap and Material Font Icons in Xamarin Forms](https://doumer.me/using-bootstrap-and-material-font-icons-in-xamarin-forms/) - [How to Record System Sound on MacOS with JavaScript and Soundflower](https://doumer.me/record-system-sound-on-macos-with-javascript-and-soundflower/) - [Building an Accordion In Xamarin Forms](https://doumer.me/building-an-accordion-in-xamarin-forms/) - [Allow Your App through the Firewall With C#](https://doumer.me/allow-your-app-through-the-firewall-with-c/) - [Infinite Scroll With the Xamarin Forms Collection View](https://doumer.me/infinite-scroll-with-the-xamarin-forms-collection-view/) - [Social Auth With Xamarin Forms and Asp.net core API](https://doumer.me/social-auth-with-xamarin-forms-and-asp-net-core-api/) - [Consume REST APIs in Your App in a Resilient Way with Polly and Xamarin Forms](https://doumer.me/consume-rest-apis-in-your-app-in-a-resilient-way-with-polly-and-xamarin-forms/) - [Building An Offline Web App : Offline Currency Converter](https://doumer.me/offline-web-app-currency-converter/) - [Creating A Snack Bar In Xamarin Forms XAML](https://doumer.me/creating-a-snack-bar-in-xamarin-forms-xaml/) - [Calling Xamarin Forms ListView Context Action Commands From The Base View-Model](https://doumer.me/calling-xamarin-forms-listview-context-action-commands-from-the-view-model/) - [Icons with Font Awesome 5 in Xamarin Forms](https://doumer.me/icons-with-font-awesome-5-xamarin-forms/) - [Make your Xamarin.Forms app Multilingual Automagically](https://doumer.me/multilingual-xamarin-forms-app/) - [MVVM Pattern with ReactiveUI and Xamarin.Forms](https://doumer.me/mvvm-with-reactiveui/) - [Xamarin.Forms ListView Advanced Guide With MVVM](https://doumer.me/xamarin-forms-listview-advanced-guide-with-mvvm/) - [How To Get A Device Owner's Current User Name With Xamarin Forms](https://doumer.me/get-the-device-current-user-name-with-xamarin-forms/) - [LiteDB on Xamarin Forms as an Alternative to SQLite](https://doumer.me/litedb-on-xamarin-forms-alternative-to-sqlite/) - [10 Common Challenges Faced by Xamarin.Forms Beginners and Possible Solutions](https://doumer.me/xamarin-forms-beginners-challenges/) - [How To Get An In Depth Insight Of Your Code With NDepend static analysis tool](https://doumer.me/how-to-get-an-in-depth-insight-of-your-code-with-ndepend-static-analysis-tool/) - [Xamarin Forms Tips Part 3: Change Randomly A View's Color At Run-time](https://doumer.me/xamarin-forms-tips-3-change-randomly-a-views-color/) - [Xamarin Forms Tips Part 2 : Numeric Entry Recipes](https://doumer.me/xamarin-forms-tips-part-2-numeric-entry-recipes/) - [A Look At New Xamarin Forms Features](https://doumer.me/a-look-at-new-xamarin-forms-features/) - [Xamarin Forms Tips Part 1: Xamarin Forms Entry With Character Max Length And Counter](https://doumer.me/xamarin-forms-entry-with-character-max-length-and-counter/) - [How To Resolve Microsoft.Net.Native.Runtime .2.1-rel not found](https://doumer.me/how-to-resolve-microsoft-net-native-runtime-2-1-rel-not-found/) - [How To Access A PC's Hardware and USB Ports With C sharp ManagementObjectSearcher and Registry](https://doumer.me/access-a-pcs-hardware-and-serial-ports-with-c-sharp-management-object-searcher/) - [5 Xamarin.Forms Debugging Nightmares And Their Solutions](https://doumer.me/5-xamarin-forms-debugging-nightmares-and-their-solutions/) - [How To Detect Global Mouse Hooks In A C# Console Application](https://doumer.me/how-to-detect-global-mouse-hooks-in-a-c-console-application/) - [5 Reasons Why LINQ Can Be Addictive For Every .Net developer](https://doumer.me/5-reasons-why-linq-is-addictive-for-every-net-developer/) - [Brief Javascript ES6 Tutorial For Beginners Part II](https://doumer.me/javascript-es6-tutorial-for-beginners-part-ii/) - [Brief Javascript ES6 Tutorial For Beginners Part I](https://doumer.me/brief-javascript-es6-tutorial-part-i/) - [Xamarin.Forms Resolving System.Reflection.TargetException](https://doumer.me/xamarin-forms-system-reflection-targetexception/) - [Best Documentation and Publishing tools for Developers](https://doumer.me/best-documentation-and-publishing-tools-for-developers/) - [How to Build a Native Xamarin.Forms Custom Modal Popup](https://doumer.me/xamarin-forms-custom-modal-popup-dialog/) - [Reactiveui ReactiveCommand without OAPH](https://doumer.me/reactiveui-command-without-oaph/) - [Build a cross platform mobile app for your chat bot.](https://doumer.me/build-a-cross-platform-mobile-app-for-your-chat-bot/) - [Build a smart Android app with LUIS and Xamarin Android](https://doumer.me/smart-app-with-luis-and-xamarin-android/) - Do you wish to build an android application which is able to interpret and understand Natural Language commands ?. Check this detailed post on how to do it using Xamarin.Android and LUIS. - [Android camera app with Xamarin.Android](https://doumer.me/android-camera-app-xamarin-android/) - [Raspberry pi Jam Camer](https://doumer.me/raspberry-pi-jam-camer/) - [Resolve Image Loading Error in Xamarin Forms](https://doumer.me/resolve-image-loading-error-in-xamarin-forms/) - [Kotlin(The New Alternative to Java)](https://doumer.me/kotlinthe-java/) - [Getting started with Windows 10 iot Core](https://doumer.me/getting-started-windows-10-iot-core/) ## Pages - [Buy Adspace](https://doumer.me/buy-adspace/) - [About](https://doumer.me/about-damien-doumer/) - [Books Recommendation](https://doumer.me/books-recommendation/) - [Podcast](https://doumer.me/the-heroes-podcast/) - [Contact Me](https://doumer.me/contact-me/) - [Disclaimer](https://doumer.me/disclaimer/) - [My Expenditure's Privacy Policy](https://doumer.me/my-expenditures-privacy-policy/) - [My Expenditures](https://doumer.me/my-expenditures/) - [Privacy Policy](https://doumer.me/privacy-policy/) ## Text Blocks - [Freelance Advertisement](https://doumer.me/text-blocks/freelance-advertisement/) - [Social Media](https://doumer.me/text-blocks/social-media/) - [A Xamarin Forms Application "My Expenditures"](https://doumer.me/text-blocks/a-xamarin-forms-application-my-expenditures/) - [Microsoft Affiliate](https://doumer.me/text-blocks/microsoft-affiliate/) ## Portfolio - [YouScribe 6.0](https://doumer.me/portfolio/youscribe-6-0/) - [Maktabati (Android & iOS app) at YouScribe](https://doumer.me/portfolio/maktabati-android-ios-app-at-youscribe/) - [YouScribe app (Android & iOS) built at YouScribe](https://doumer.me/portfolio/youscribe-app-android-ios-built-at-youscribe/) - [Freechat Demo App iOS & Android](https://doumer.me/portfolio/freechat-demo-app-ios-android/) - [My Expenditures Android and Windows app (Deprecated)](https://doumer.me/portfolio/my-expenditures-project/) ## Categories - [Uncategorized](https://doumer.me/category/uncategorized/) - [Xamarin](https://doumer.me/category/xamarin/) - [IOT](https://doumer.me/category/iot/) - [JVM](https://doumer.me/category/jvm/) - [Social Tech](https://doumer.me/category/social-tech/) - [Dev Tools](https://doumer.me/category/dev-tools/) - [Javascript](https://doumer.me/category/javascript/) - [C#](https://doumer.me/category/c/) - [UWP](https://doumer.me/category/uwp/) - [.Net](https://doumer.me/category/net/) - [Raspberry Pi](https://doumer.me/category/raspberry-pi/) - [Xamarin.Forms](https://doumer.me/category/xamarin-forms/) - [Bot Framework](https://doumer.me/category/bot-framework/) - [Bot Framework V4](https://doumer.me/category/bot-framework-v4/) - [Bots](https://doumer.me/category/bots/) - [MacOS](https://doumer.me/category/macos/) - [Electron](https://doumer.me/category/electron/) - [offline webapp](https://doumer.me/category/offline-webapp/) - [serviceworker](https://doumer.me/category/serviceworker/) - [.Net Core](https://doumer.me/category/net-core/) - [Asp.net core](https://doumer.me/category/asp-net-core/) - [Authentication](https://doumer.me/category/authentication/) - [REST API](https://doumer.me/category/rest-api/) - [Reactiveui](https://doumer.me/category/reactiveui/) - [MVVM](https://doumer.me/category/mvvm/) - [Xamarin Forms Tips and Tricks](https://doumer.me/category/xamarin-forms/xamarin-forms-tips-and-tricks/) - [Rabbitmq](https://doumer.me/category/rabbitmq/) - [microservices](https://doumer.me/category/microservices/) - [Xamarin.iOS](https://doumer.me/category/xamarin-ios/) - [Xamarin.Android](https://doumer.me/category/xamarin-android/) - [MAUI](https://doumer.me/category/xamarin/maui/) - [Android](https://doumer.me/category/android/) - [MAUI](https://doumer.me/category/maui-2/) - [WSA (Windows Subsystem For Android)](https://doumer.me/category/wsa-windows-subsystem-for-android/) - [Dotnet6](https://doumer.me/category/dotnet6/) - [Activities](https://doumer.me/category/activities/) - [Handlers](https://doumer.me/category/maui-2/handlers/) - [.NET MAUI](https://doumer.me/category/net/net-maui/) - [VideoTutorial](https://doumer.me/category/videotutorial/) - [Firebase](https://doumer.me/category/firebase/) - [Firebase Dynamic Links](https://doumer.me/category/firebase/firebase-dynamic-links/) - [Software development](https://doumer.me/category/software-development/) - [Soft Skills](https://doumer.me/category/soft-skills/) - [Projects](https://doumer.me/category/project/) - [Kotlin](https://doumer.me/category/kotlin/) - [Cryptography](https://doumer.me/category/cryptography/) - [web3](https://doumer.me/category/web3/) - [Podcast](https://doumer.me/category/podcast/) - [OpenIdConnect](https://doumer.me/category/openidconnect/) - [Metaverse](https://doumer.me/category/metaverse/) - [Entrepreuneurship](https://doumer.me/category/entrepreuneurship/) - [Dotnet](https://doumer.me/category/dotnet/) - [Entrepreneurship](https://doumer.me/category/entrepreneurship/) - [Heroes](https://doumer.me/category/heroes/) - [Flutter](https://doumer.me/category/flutter/) - [Architecture](https://doumer.me/category/architecture/) - [Flutter bloc](https://doumer.me/category/flutter/flutter-bloc/) - [iOS](https://doumer.me/category/ios/) - [AI](https://doumer.me/category/ai/) - [XAML](https://doumer.me/category/xaml/) ## Tags - [android](https://doumer.me/tag/android/) - [mobile development](https://doumer.me/tag/mobile-development/) - [jetbrains](https://doumer.me/tag/jetbrains/) - [C#](https://doumer.me/tag/c/) - [Xamarin.Forms](https://doumer.me/tag/xamarin-forms/) - [Xamarin.Android](https://doumer.me/tag/xamarin-android/) - [Modal](https://doumer.me/tag/modal/) - [Popup](https://doumer.me/tag/popup/) - [Custom Dialog](https://doumer.me/tag/custom-dialog/) - [developer tools](https://doumer.me/tag/developer-tools/) - [publishing](https://doumer.me/tag/publishing/) - [markdown](https://doumer.me/tag/markdown/) - [markup](https://doumer.me/tag/markup/) - [documentation](https://doumer.me/tag/documentation/) - [beginners](https://doumer.me/tag/beginners/) - [challenges](https://doumer.me/tag/challenges/) - [javascript](https://doumer.me/tag/javascript/) - [ES6](https://doumer.me/tag/es6/) - [LINQ](https://doumer.me/tag/linq/) - [xamarin](https://doumer.me/tag/xamarin/) - [UWP](https://doumer.me/tag/uwp/) - [.Net](https://doumer.me/tag/net/) - [XAML](https://doumer.me/tag/xaml/) - [Polly](https://doumer.me/tag/polly/) - [Proactive Bot](https://doumer.me/tag/proactive-bot/) - [BotframeworkV4](https://doumer.me/tag/botframeworkv4/) - [Bot Framework](https://doumer.me/tag/bot-framework/) - [Proactive Message Bot](https://doumer.me/tag/proactive-message-bot/) - [Bots](https://doumer.me/tag/bots/) - [Font Icons](https://doumer.me/tag/font-icons/) - [Material Icons](https://doumer.me/tag/material-icons/) - [Bootstrap Icons](https://doumer.me/tag/bootstrap-icons/) - [soundflower](https://doumer.me/tag/soundflower/) - [electron](https://doumer.me/tag/electron/) - [chrome](https://doumer.me/tag/chrome/) - [macOS](https://doumer.me/tag/macos/) - [CustomControls](https://doumer.me/tag/customcontrols/) - [Accordion](https://doumer.me/tag/accordion/) - [Infinite scroll](https://doumer.me/tag/infinite-scroll/) - [collection view](https://doumer.me/tag/collection-view/) - [Tasks](https://doumer.me/tag/tasks/) - [Xamarin Forms Navigation](https://doumer.me/tag/xamarin-forms-navigation/) - [reactiveui](https://doumer.me/tag/reactiveui/) - [MVVM](https://doumer.me/tag/mvvm/) - [xamarin forms tips](https://doumer.me/tag/xamarin-forms-tips/) - [asp.net core](https://doumer.me/tag/asp-net-core/) - [rabbitmq](https://doumer.me/tag/rabbitmq/) - [microservices](https://doumer.me/tag/microservices/) - [QuickTips](https://doumer.me/tag/quicktips/) - [DownloadManager](https://doumer.me/tag/downloadmanager/) - [MAUI](https://doumer.me/tag/maui/) - [PDF](https://doumer.me/tag/pdf/) - [Xamarin.iOS](https://doumer.me/tag/xamarin-ios/) - [Xamarin Forms](https://doumer.me/tag/xamarin-forms-2/) - [WSA](https://doumer.me/tag/wsa/) - [handlers](https://doumer.me/tag/handlers/) - [web3](https://doumer.me/tag/web3/) ## Media Tags - [pdf in Xamarin forms (Xamarin iOS)](https://doumer.me/media_tag/pdf-in-xamarin-forms-xamarin-ios/) - [pdf](https://doumer.me/media_tag/pdf/) - [Xamarin.Android](https://doumer.me/media_tag/xamarin-android/) - [Xamarin.Forms](https://doumer.me/media_tag/xamarin-forms/) - [amazon app store](https://doumer.me/media_tag/amazon-app-store/) - [wsa](https://doumer.me/media_tag/wsa/) - [maui](https://doumer.me/media_tag/maui/) - [.NET MAUI Handlers](https://doumer.me/media_tag/net-maui-handlers/) - [Damien Doumer Kake logo](https://doumer.me/media_tag/damien-doumer-kake-logo/) - [The Heroes Podcast](https://doumer.me/media_tag/the-heroes-podcast/) - [web3](https://doumer.me/media_tag/web3/) - [asp.net core](https://doumer.me/media_tag/asp-net-core/) - [.NET Aspire devcontainer](https://doumer.me/media_tag/net-aspire-devcontainer/)