Methodical Guide to Integrating Firebase Messaging & Fixing Gradle Plugin Errors in Android Integrating Firebase Cloud Messaging (FCM) into an Android application is essential for handling push notifications. However, when working with Kotlin DSL ( build.gradle.kts ) in Android Studio, misconfiguring plugin declarations can trigger resolution errors. This tutorial provides a systematic, step-by-step approach to properly configure your build files and successfully implement Firebase Messaging. Step 1: Configure the Project-Level (Root) Build File Before any module can use the Google Services plugin, the root project must recognize it and specify its version. Open your root-level build.gradle.kts file. Inside the plugins block, add the Google Services plugin declaration with apply false : plugins { alias(libs.plugins.android.application) apply false alias(libs.plugins.kotlin.android) apply false id("com.google.gms.google-servi...
Posts
- Get link
- X
- Other Apps
Android Studio: Ctrl + F9 vs. Clean & Rebuild Project If you have spent any time developing Android apps in Kotlin or Java, you have likely run into this frustrating scenario: you paste new image assets into res/drawable/ or add new view IDs in XML, but Android Studio keeps highlighting them in red with "Unresolved reference" . Understanding how Gradle builds your project—and knowing when to use Ctrl + F9 versus a full Clean & Rebuild —will save you hours of debugging phantom build errors. 1. Ctrl + F9 (Make Project) Pressing Ctrl + F9 (or Cmd + F9 on macOS) performs an incremental build . Gradle checks what changed since the last build and compiles only those specific files. Best Used For: Editing Kotlin or Java logic inside existing classes. Adjusting layout properties like padding , margin , or textColor . ...
- Get link
- X
- Other Apps
A Step-by-Step Methodological Guide to Thesis Revisions and Version Control in Microsoft Word Managing corrections following a pre-data presentation, seminar defense, or peer review is one of the most critical stages of graduate research. Maintaining internal consistency, preserving structural integrity, and providing transparent proof of corrections to supervisors require a methodical editorial workflow. This guide outlines a standard academic workflow for handling manuscript revisions using Microsoft Word's built-in version control and tracking features. Phase 1: Establishing File Architecture and Version Control Before implementing panel corrections, establish an immutable baseline file to protect against corruption or accidental loss of complex mathematical notation. Baseline Preservation: Retain the exact document submitted to the panel as [Institution]_[Degree]_Thesis_ORIGINAL_[Milestone].docx . Active Wor...
- Get link
- X
- Other Apps
How I Built an AI-Powered Anti-Counterfeit Drug Verification System with Python & Gradio A comprehensive tutorial on combining official registry lookups, TF-IDF character n-grams, Random Forest, Anomaly Detection, and barcode scanning into a real-time web application. Author: Idris Abdulhamood | Category: Machine Learning / HealthTech 1. The Problem: Counterfeit Pharmaceuticals Counterfeit and substandard medications pose a severe threat to public health worldwide, particularly in developing economies. Fraudulent actors often replicate genuine packaging while altering active ingredients, spoofing brand names, or manufacturing fake registration numbers (e.g., NAFDAC Registration Numbers). While official regulatory agencies maintain digital registries, manual verification can be slow, and traditional search engines fail when dealing with minor typos, corrupted registration formats, or novel counterfeit mutations. ...
- Get link
- X
- Other Apps
🛡️ Building a Dual-Layer AI Engine for NAFDAC Drug Verification Combining Exact Database Lookups with Machine Learning Fraud Inference for Real-Time Pharmaceutical Anti-Counterfeiting. 1. System Architecture: The Dual-Layer Verification Flow Standard verification systems rely solely on exact string matching against government registries. However, counterfeiters frequently exploit this by using slight spelling variations or reusing authentic codes on fake packaging. To solve this, we built a Dual-Layer Verification Architecture : 🟢 Layer 1: Direct Registry Lookup (Deterministic) Performs an instant hash/normalized check against official NAFDAC records. If an exact match is found, it immediately confirms the item as AUTHENTIC (100% Confidence) without triggering AI compute overhead. 🟡 Layer 2: Machine Learning Inference Engine ...
- Get link
- X
- Other Apps
Why & How We Generated Synthetic Counterfeit Data for AI Drug Verification 1. The "Why": Solving the Positive-Class Bias Problem When building an AI system to detect counterfeit pharmaceuticals, you face an immediate data challenge: official government registries (like the NAFDAC Greenbook) only record authentic, approved products. If you train a Machine Learning model exclusively on genuine drug records: The AI Learns Nothing About Fraud: It only sees "good" data, so it defaults to predicting that every drug is 100% authentic. Extreme Class Imbalance: Without negative samples (counterfeits), supervised classifiers like Random Forest cannot establish a decision boundary to separate genuine products from fraudulent ones. To teach an AI how to spot fake drugs, you must show it what fake drugs look like. Because there is no public "official database of counterfeit dr...
- Get link
- X
- Other Apps
🕷️ Scraping NAFDAC Greenbook from A to Z: How I Extracted 8,600+ Official Records into CSV Author: Idris Abdulhamood | Category: Web Scraping, Data Engineering & Automation The NAFDAC Greenbook ( greenbook.nafdac.gov.ng ) is the official public portal for all approved drugs, medical devices, herbals, and biologics registered by the Nigerian government. For data analysts, researchers, or software engineers, having this database in a clean, structured .csv format opens up endless possibilities—from fraud detection systems to market research. However, getting this data off the website and into an Excel sheet wasn't as simple as running pandas.read_html() . Here is the complete journey of how I scraped the entire portal from A to Z—including the wall I hit, why fast scripts failed, and the solution that successfully captured all 8,608 official entries . 🛑 P...