Google has recently announced Agent2Agent (A2A), a new open protocol for AI systems. What exactly is A2A, and why is it significant for the AI industry? Furthermore, how does it relate to MCP—does it compete with or complement it? What Are AI Agents and Agentic AI? § Before diving deep, let’s quickly demystify the terms for those who may not be familiar. AI agents are software programs powered by…
A fully typesafe router with first-class search-param APIs and built-in caching, built for JS/TS, React, Preact, Solid, Vue and Svelte. If you’re a fan of TypeScript, you’ll be excited to hear about TanStack Router , a fully type-safe routing library for TypeScript applications. Potential advantages of using TanStack Router: Type safety for routes. Autocomplete suggestions for routes. First-class…
Recently while setting up docker for Hyperledger in WSL2, I got the following error: == == > hyperledger/fabric-peer:2.3.2 Cannot connect to the Docker daemon at tcp://localhost:2375. Is the docker daemon running? After a quick research, it turns out that if you are upgrading from WSL1 to WSL2, Windows leaves behind a few legacy settings from WSL1 that causes this issue. Here is the fix that…
Here is how you setup an alternative DNS server (like. Google DNS) on WSL2 and persist it between WSL restart: Create the WSL config file (if it does not already exist): /etc/wsl.conf Enter the following lines to preserve the DNS config between restarts: [network] generateResolvConf = false Shutdown WSL and start again by running the following command in Windows terminal: wsl --shutdown Edit (or,…
Direct Links: docs.soliditylang.org/en/v0.8.4/introduction-to-smart-contracts.html Ethereum Accounts Ethereum Transactions Gas Storage, Memory, and the Stack Message Calls Delegatecall / Callcode and Libraries Logs Create Deactivate and Self-destruct Ethereum Accounts § There are two types of Ethereum accounts: External Accounts Users Address = public key Contract Accounts Smart Contracts (code)…
Use the Javascript split() function with a Positive Lookbehind Regular Expression to split a string while preserving the separators in the sub-strings: split ( / (?<=[<separator characters go here>]) / ) What is Lookbehind? § Lookbehind in regular-expression allows to match a pattern only when it follows the given lookbehind pattern (without actually matching it). Syntax § Positive lookbehind:…
Direct Links: developer.mozilla.org/en-US/docs/Web/HTML/Element/meter I really had no idea about the HTML <meter> element that can show a range of values, until I read this tweet by Álvaro Trigo 😃 Example: § < meter min = " 0 " max = " 100 " low = " 30 " high = " 80 " optimum = " 60 " value = " 70 " > Result: Note: The <meter> tag should not be used to show the progress of a task. Use the…
Direct Links: github.com/manustays/eleventy-plugin-generate-social-images While porting my website to 11ty , I wrote my own plugin to automatically generated social-sharing-images for my articles . A social-sharing-image shows as a thumbnail for a website/blogpost when shared on social media. This plugin generates such images automatically using the title of your blogposts/pages. For a live…
Direct Links: github.com/manustays/eleventy-plugin-codepen-iframe Yet another 11ty plugin to embed CodePens into you pages. The other plugins that I had seen use CodePen’s preferred Javascript based embeds. It requires loading an external Javascript (though, a small one) into your page. The Codepen embed Javascript finally creates an <iframe> anyway! I wanted a more efficient solution for my blog…
A small script to dynamically (and, asynchronously) load third-party Javascript files on demand. It inserts a <script> tag in the head to load the script. Checks if a <script> tag already exists with the same source to avoid duplicate script tags. I use it with a Web Component based library where another component may already have loaded the script. Callbacks after successful or failed load. Note:…
Direct Links: gitready.com/intermediate/2009/02/09/reflog-your-safety-net To recover from almost anything in git, even if you have done a git reset --hard origin/main and lost all your last commits, use the following command: git reflog From the official documents : Reference logs, or “reflogs”, record when the tips of branches and other references were updated in the local repository. Reflogs are…
A regular expression that can be used as a basic filter to detect invalid names. I use it in an Indian context. May not be useful for others. Use it with an ‘i’ RegEx flag to ignore case. Filters out spelling mistakes & gibberish entries; but not all invalid entries! Similarly useful for other English nouns as well, and not just names. Useful for quick frontend validation in scenarios where users…
Direct Links: csswizardry.com/2020/05/the-fastest-google-fonts css-tricks.com/how-to-load-fonts-in-a-way-that-fights-fout-and-makes-lighthouse-happy Preconnect to Google Font server. Use preload to asynchronously load the font fast on supported browsers. In the link to the main font stylesheet: Set media=print on the stylesheet to stop loading it during page load. On page load, set media=all on…
This is a series of posts about my adventure with an exciting project at Eko: connect.eko.in , the progressive web app enabling Eko‘s merchants to make payments and other financial transactions. The Past § About eight years ago, Eko introduced the simplest of all interfaces to bring banking, payments and other financial transactions to the masses: by dialing numbers on a basic mobile phone. But as…