Posts

azure data factory - using anaology to understand data factory components

Image
This diagram provides a good analogy of Azure Data Factory vs delivery to map out what needs to be built in order for a data pipeline to work And comparing this to: Image taken from youtube https://www.youtube.com/watch?v=EpDkxTHAhOs&list=PLGjZwEtPN7j8b9dPA0HrtJDptOB69B506 When you build a pipeline in Data Factory, you are essentially setting up a supply chain. Here is a clear breakdown mapping how a real-world delivery system translates directly into what you build in ADF: 1. Linked Services = The Delivery Addresses & Access Keys Before a delivery driver can pick up or drop off a package, they need the exact address and the key code to get through the security gate. The Analogy: The factory/warehouse address (Source) and the customer's home address (Destination), along with the security badges required to enter. In ADF: Linked Services store your connection strings and authentication details (like passwords or Managed Identities). They tell ADF exactly how to securely c...

android send notification from firebase to android devices

Image
  Login to https://console.firebase.google.com/ and then goto your project. And then under " Devops and Engagement ". Then create a new campaign.  And then create a campaign as shown here and select "Firebase notification messages". And then let's create a test notifcations. Click on "Send test message". You will be prompted to insert FCM registration token.  After you please your token registered on your mobile devices, then you will be able to receive notification messages on your emulator What it looks like on your emulator :-

android : android activity does not exist but it does

While trying to run my app on my emulator, i kept on getting issue "my activity does not exist" but it does. This is due to a ghost cache problem. After making the following updates adb uninstall com.appcoreopc.getmyhome Then I was able to deploy and get my app to work

android unable to kill current application

 If you run into issue trying to install your app but being told unable to kill your current app, then you can try to run  adb shell am force-stop com.appcoreopc.getmyhome adb kill-server; adb start-server  

python huggingface loaddataset package erroring out - partially initialize module dataset has no attribute utils.

Image
The error AttributeError: partially initialized module 'datasets' has no attribute 'utils' suggests a problem with the datasets library's installation or an internal conflict, possibly due to a circular import. And all it took for us to do is Restart runtime and then re-run the cell.

Model training papers of interest

 Interesting papers for model optimizations  Paper: Polar Express The paper introduces Polar Express, a GPU-friendly polynomial method for computing the matrix polar decomposition, optimizing convergence speed and error minimization.It adapts polynomials iteratively, outperforming classical methods in deep learning applications like Muon, GPT-2 training, and image classification, with robust finite-precision stability and potential for large-scale, aspect-ratio-optimized, spectrum-aware acceleration. https://arxiv.org/pdf/2505.16932 Paper: LowRA Paper : "LowRA: Accurate and Efficient LoRA Fine-Tuning of LLMs under 2 Bits" Stanford University — Zhou, Zhang, Kumbong, Olukotun arXiv: 2502.08141 (Feb 2025, accepted ICLR 2026) https://arxiv.org/abs/2502.08141 The problem it solves QLoRA (what you'd use in the training code above) quantizes the base model to 4-bit but keeps the LoRA adapters themselves in full precision (bf16). LowRA asks: what if we also aggressively quant...

azure foundry - creating project and chatting with an agent or model

To use Azure Foundry, first we need to ceate a project. It is important to note the project endpoint after you created it. Next, you will need to deploy a model.  We also need to install the required packages pip install azure-ai-projects>=2.0.0 The key environment variable to set are :-  PROJECT_ENDPOINT=<endpoint copied from welcome screen> AGENT_NAME="MyAgent" Chatting with a model To chat with an Azure Foundry model we can use the following  from azure . identity import DefaultAzureCredential from azure . ai . projects import AIProjectClient # Format: "https://resource_name.ai.azure.com/api/projects/project_name" PROJECT_ENDPOINT = " your_project_endpoint " # Create project and openai clients to call Foundry API project = AIProjectClient (     endpoint=PROJECT_ENDPOINT ,     credential=DefaultAzureCredential (), ) openai = project . get_openai_client () # Run a responses API call response = openai . responses . create (    ...

Azure new AI certification as the current exams such as AZ-102 will be retired by June 2026

Image
 

AI Update - 31 May 2026 - Faster and more optimize training for coding agents

  The emerging 2026 picture is: Optimizer : Muon (or Muon + Polar Express) is replacing Adam as the go-to for training efficiency — ~2x cheaper for same quality Fine-tuning : QLoRA is being pushed further with papers like LowRA, squeezing more out of your 30–48GB machine Reasoning : GRPO variants (S-GRPO, Training-Free GRPO) are making DeepSeek-R1-style reasoning training accessible on consumer hardware Unsloth (already implements many of these optimizations) + QLoRA + Qwen2.5-Coder is still your fastest path, but keep an eye on Muon support landing in Unsloth/TRL, which would meaningfully speed up your training run The most relevant 2026 papers for cheap training 1. "The Polar Express" — ICLR 2026 Honorable Mention (Amsel, Persson, Musco, Gower) This is the most formally recognized paper of 2026 directly about training efficiency. It introduces a new method for computing the polar decomposition used in the Muon optimizer for training deep neural networks, using only m...

terraforming with azure azapi - solving the issue for you when you have to make a manual REST API call to azure

 AzApi helps solving the issue for you when you have to make a manual REST API call to azure. It is better than null script apprach whereby your:- State fully managed No external script dependency or PowerShell requirement Handles the API version explicitly Native depends_on support Idempotent by design Besides it is often recommended to use " a zapi provider" > ARM template deployment > null resource " This is an actual scenario when configuring Azure Foundry capability host - we have to initiate REST API call as there's no other sdk available.  To be able to do that we will use azapi providers and the sample code are shown here:- terraform {   required_providers {     azapi = {       source   = " azure/azapi "       version = " ~> 2.0 "     }     azurerm = {       source   = " hashicorp/azurerm "       version = " ~> 3.0 "     }   }...

microsoft foundry sample bicep infrastructure as code

 Here a some Bicep sample for setting up Azure Foundry https://github.com/microsoft-foundry/foundry-samples

error - google adk google_search tools Built-in tools ({google_search}) and Function Calling cannot be combined in the same request. Please choose one to continue

Ran into this error while trying to setup my LLM agent to do tool calling. In this case, it is " google_search ".  in raise_error_async raise ClientError(status_code, response_json, response) google.genai.errors.ClientError: 400 Bad Request. {'message': '{\n  "error": {\n    "code": 400,\n    "message": "Built-in tools ({google_search}) and Function Calling cannot be combined in the same request. Please choose one to continue.",\n    "status": "INVALID_ARGUMENT"\n  }\n}\n', 'status': 'Bad Request'} The gist of the problem - ADK framework doesn't like me putting Agent model together with tool.  To resolve this issue, I have change my agent from Agent ( from google . adk import Agent )  to LlmAgent ( from google . adk . agents import LlmAgent ) 💥Error code      researcher = Agent (     name = " researcher " ,     model = model_name ,     description = " Condu...

graphQL using fragment

Graphql fragment are used to simplified and provide shortcuts definitions to specified the same fields in a graphql query.  In this example, we provide defined ReportFields to consist of propertyType, id and status. Then we hook it up in the actual gteReportsByUserId query as shown here:-  query GetReportsByUserId ( $ includeStatus : Boolean ! ) {     getReportsByUserId ( userId : " 123 " , limit : 10 ) {     status     reports {       ... ReportFields     }   } } fragment ReportFields on RetrievedReport {   propertyType   id   status @ include ( if : $ includeStatus ) } Save us some typings in our query.

graphql @include and @skip directive

This is an example of graphql @include directive. The purpose of the @include directive is to allow a field to be retrieve or not based on a condition. In this case, it is determined by $inculdeStatus. Given that we are passing in $includeStatus = false, the field status will be excluded. query GetReportsByUserId ( $ includeStatus : Boolean ! ) {   getReportsByUserId ( userId : " 123 " , limit : 10 ) {     status     reports {       propertyType       id       status @ include ( if : $ includeStatus )     }   } } -------------------------------------------------- variables {   " userId " : " 123 " ,   " limit " : 10 ,   " includeStatus " : false } We can also use the @skip directive to skip field from being returned  query GetReportsByUserId ( $ includeStatus : Boolean ! ) {   getReportsByUserId ( userId : " 123 " , limit : 10 ) {     status   ...

google adk using a local llm ollama

We can make use of google adk to call ollama local llm agent or other inference runtime of your choice. This integration requires LiteLLM connector. Key libraries to install first and this basically will install LiteLLM  uv add google-adk[extensions] Here is an example of the code that we can use to integrate a local LLM spinned up using the code here:- from google . adk import Agent from google . adk . agents import LlmAgent from google . adk . models . lite_llm import LiteLlm # https://adk.dev/agents/models/litellm/ # https://adk.dev/agents/models/ollama/ root_agent = Agent (     model = LiteLlm ( model = " ollama_chat/gemma3:latest " ),     name = " dice_agent " ,     description =(         " hello world agent that can roll a dice of 8 sides and check prime "         " numbers. "     ),     instruction = """       You roll dice and answer questions about the outco...