<?xml version="1.0" encoding="UTF-8"?><rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>BKaushik Blog</title>
	<atom:link href="https://bkaushik.com/feed/" rel="self" type="application/rss+xml" />
	<link>https://bkaushik.com</link>
	<description>Code. Build. Learn. Share.</description>
	<lastBuildDate>Tue, 26 Aug 2025 17:06:46 +0000</lastBuildDate>
	<language>en-US</language>
	<sy:updatePeriod>
	hourly	</sy:updatePeriod>
	<sy:updateFrequency>
	1	</sy:updateFrequency>
	<generator>https://wordpress.org/?v=6.7.2</generator>
	<item>
		<title>🔥 HOT OFF THE PRESS: Meet SRE.ai — The AI That’s Automating Complex Enterprise Workflows Like Never Before! 🤖⚙️</title>
		<link>https://bkaushik.com/posts/latest-news/%f0%9f%94%a5-hot-off-the-press-meet-sre-ai-the-ai-thats-automating-complex-enterprise-workflows-like-never-before-%f0%9f%a4%96%e2%9a%99%ef%b8%8f/</link>
		
		<dc:creator><![CDATA[Bikash]]></dc:creator>
		<pubDate>Sat, 23 Aug 2025 18:53:19 +0000</pubDate>
				<category><![CDATA[Latest News]]></category>
		<guid isPermaLink="false">https://bkaushik.com/?p=139</guid>

					<description><![CDATA[Two days ago, a new player entered the AI arena—SRE.ai, a Y Combinator alum, just emerged from stealth with $7.2 million in seed funding led by Salesforce Ventures and Crane Venture Partners. What’s all the buzz about? This AI tool is designed specifically to revolutionize DevOps and enterprise workflow automation by handling those tricky, time-consuming...]]></description>
										<content:encoded><![CDATA[<p>Two days ago, a new player entered the AI arena—SRE.ai, a Y Combinator alum, just emerged from stealth with $7.2 million in seed funding led by Salesforce Ventures and Crane Venture Partners. What’s all the buzz about? This AI tool is designed specifically to revolutionize DevOps and enterprise workflow automation by handling those tricky, time-consuming tasks that slow teams down.</p>
<p>Why is this exciting? Because as AI continues to evolve, the need to automate complex technical workflows—like continuous integration, testing, and system monitoring—is greater than ever. SRE.ai steps in to take the heavy lifting off IT and DevOps teams by layering AI-powered agents that proactively monitor systems, flag issues, and even recommend solutions. This means less firefighting and more space for teams to focus on innovation and strategic projects.</p>
<p>Here’s why SRE.ai is turning heads:</p>
<p>🤖 Smart automation for DevOps: It connects with your existing pipelines and tools automatically, tailoring itself to your unique workflows without a ton of setup hassle.</p>
<p>🚨 Real-time issue detection: AI agents run quietly in the background, watching for security risks, performance hiccups, and deployment problems before they become critical.</p>
<p>💡 Proactive recommendations: Instead of just raising alerts, it suggests actionable fixes, helping teams resolve problems faster and smarter.</p>
<p>⚙️ Customizable to fit your needs: Whether you run simple release processes or complex multi-stage pipelines, SRE.ai adapts to deliver insights that matter most to your business.</p>
<p>🚀 Backed by industry giants: With seed funding led by Salesforce Ventures, this shows strong confidence in the platform’s potential to transform enterprise operations.</p>
<p>In a landscape where every minute of downtime can cost millions, and manual oversight of complex systems is increasingly untenable, SRE.ai offers a new way forward. It’s like adding an AI-powered co-pilot for your DevOps team that never sleeps and constantly learns.</p>
<p>Enterprises adopting SRE.ai can expect smoother releases, faster incident responses, and improved security posture—all while easing the burden on stretched IT staffs.</p>
<p>So now I want to ask YOU: Could automating your DevOps workflows with AI be the game-changer your business needs? How much time and resources would you save by having an AI agent constantly scanning, diagnosing, and fixing problems proactively? Would you trust AI to handle these critical tasks?</p>
<p>Share your thoughts—let’s discuss how AI-driven workflow automation can shape the future of enterprise tech!</p>
]]></content:encoded>
					
		
		
			</item>
		<item>
		<title>🔥 AI just got a MAJOR upgrade – OpenAI has dropped GPT-5! 🤖✨</title>
		<link>https://bkaushik.com/posts/latest-news/ai-just-got-a-major-upgrade-openai-has-dropped-gpt-5/</link>
		
		<dc:creator><![CDATA[Bikash]]></dc:creator>
		<pubDate>Sat, 23 Aug 2025 18:49:46 +0000</pubDate>
				<category><![CDATA[Latest News]]></category>
		<guid isPermaLink="false">https://bkaushik.com/?p=130</guid>

					<description><![CDATA[🔥 Say Hello to GPT-5 — The AI Revolution Just Leveled Up! 🤖🚀 If you thought AI was cool before, wait until you experience what GPT-5 brings to the table. OpenAI’s newest powerhouse isn’t just another iteration; it’s redefining what AI can do for us across every part of work and life. This launch is...]]></description>
										<content:encoded><![CDATA[<p>🔥 Say Hello to GPT-5 — The AI Revolution Just Leveled Up! 🤖🚀</p>
<p>If you thought AI was cool before, wait until you experience what GPT-5 brings to the table. OpenAI’s newest powerhouse isn’t just another iteration; it’s redefining what AI can do for us across every part of work and life. This launch is a total game-changer for anyone who relies on technology to create, analyze, or communicate.</p>
<p>Why is GPT-5 causing such a stir? Because it’s not just faster or smarter—it’s now more capable than ever of understanding deep context, delivering expert-level insights, and seamlessly integrating with the tools you already use daily. It’s like having an AI partner that actually *gets* your needs and runs alongside you, not behind you.</p>
<p>Here’s the scoop on what’s fresh and extraordinary about GPT-5:<br />
&#8211; 🚀 Mind-blowing context size: The model can now hold and process 256,000 tokens in a single go—that’s equivalent to entire books or mega-projects tackled without losing track.<br />
&#8211; 🧠 Brainy as ever: OpenAI built GPT-5 with much stronger reasoning skills and sharper accuracy, meaning it’s not just spitting out text, but offering meaningful, expert-grade answers.<br />
&#8211; ⚡ Speed meets precision: Responses feel instantaneous and reliable whether you’re coding, drafting emails, generating reports, or brainstorming new ideas.<br />
&#8211; 💼 Power packed with Microsoft: Deep integrations mean GPT-5 fuels Microsoft 365 Copilot, GitHub Copilot, Azure, and more—so you’re accessing this next-level AI directly inside your everyday favorite tools.<br />
&#8211; 🛡️ Built for trust: Enhanced safety protocols ensure smarter, more ethical use, helping businesses and individuals adopt AI with confidence and peace of mind.</p>
<p>What really stands out about GPT-5 is not just a wall of improved features, but how those features come together to make AI a *true collaborator.* Imagine handing over massive research or documentation and getting back clean, precise summaries or action plans without missing a beat. Picture having a coding assistant that can not only write flawless code but understand project goals at a level rivaling a human expert.</p>
<p>Since launch, OpenAI’s user base has skyrocketed to 700 million weekly active users, with businesses across industries racing to embed GPT-5 into their products and services. The impact is huge: from accelerating workflows and automating repetitive tasks to sparking creative breakthroughs and boosting decision-making, GPT-5 is setting a new standard for AI-powered productivity.</p>
<p>So, what does this mean for YOU? Whether you’re in project management, software development, marketing, writing, or any field that thrives on information and innovation, GPT-5 opens doors to new levels of efficiency and quality. It’s not just about working harder — it’s about working smarter, faster, and more creatively with a partner who can handle your most complex demands.</p>
<p>Now I’m curious: How do you see GPT-5 transforming your work or business? What would you ask it to help you solve first? Let’s start the conversation — your next big AI breakthrough could be just one prompt away!</p>
]]></content:encoded>
					
		
		
			</item>
		<item>
		<title>Unlocking the Power of RAG with Ollama, LangChain &#038; ChromaDB: A Step-by-Step Tutorial</title>
		<link>https://bkaushik.com/ai-ml/unlocking-the-power-of-rag-with-ollama-langchain-chromadb-a-step-by-step-tutorial/</link>
		
		<dc:creator><![CDATA[Bikash]]></dc:creator>
		<pubDate>Fri, 22 Aug 2025 19:12:10 +0000</pubDate>
				<category><![CDATA[AI/ML]]></category>
		<guid isPermaLink="false">https://bkaushik.com/?p=99</guid>

					<description><![CDATA[Introduction In the rapidly evolving landscape of AI, combining retrieval mechanisms with generative models—commonly known as Retrieval-Augmented Generation (RAG)—is becoming a foundational approach to create grounded, factual, and context-aware responses. Git Repo &#8211; https://github.com/bikashkaushik/ollama-rag-tutorial Why This Tutorial Matters Achieve factual accuracy by grounding large language model responses in real-world documents—a key challenge in generative AI....]]></description>
										<content:encoded><![CDATA[<h3 data-start="443" data-end="465"><strong data-start="447" data-end="463">Introduction</strong></h3>
<p data-start="466" data-end="913">In the rapidly evolving landscape of AI, combining retrieval mechanisms with generative models—commonly known as Retrieval-Augmented Generation (RAG)—is becoming a foundational approach to create grounded, factual, and context-aware responses.</p>
<p data-start="466" data-end="913">Git Repo &#8211; <a href="https://github.com/bikashkaushik/ollama-rag-tutorial">https://github.com/bikashkaushik/ollama-rag-tutorial</a></p>
<hr data-start="915" data-end="918" />
<h3 data-start="920" data-end="955"><strong data-start="924" data-end="953">Why This Tutorial Matters</strong></h3>
<ul data-start="956" data-end="1320">
<li data-start="956" data-end="1090">
<p data-start="958" data-end="1090"><strong data-start="958" data-end="986">Achieve factual accuracy</strong> by grounding large language model responses in real-world documents—a key challenge in generative AI.</p>
</li>
<li data-start="1091" data-end="1210">
<p data-start="1093" data-end="1210"><strong data-start="1093" data-end="1136">Use open-source, locally run components</strong> to ensure full control over data privacy, cost-efficiency, and latency.</p>
</li>
<li data-start="1211" data-end="1320">
<p data-start="1213" data-end="1320"><strong data-start="1213" data-end="1250">Lean on familiar Python libraries</strong> like LangChain and ChromaDB to streamline development and deployment.</p>
</li>
</ul>
<hr data-start="1322" data-end="1325" />
<h3 data-start="1327" data-end="1361"><strong data-start="1331" data-end="1359">Overview of the Tutorial</strong></h3>
<p data-start="1362" data-end="1422">Here’s what the repository includes and how it all connects:</p>
<ol data-start="1424" data-end="3071">
<li data-start="1424" data-end="1911">
<p data-start="1427" data-end="1529"><strong data-start="1427" data-end="1448">Environment Setup</strong><br data-start="1448" data-end="1451" />Set up a clean Python environment and install required packages, including:<code class="whitespace-pre!"><span class="hljs-attribute"><br />
</span></code><span style="background-color: #e9ebec; color: #222222;">pip install langchain<br />
pip install langchain-community<br />
</span><span style="background-color: #e9ebec; color: #222222;">pip install langchain-ollama<br />
</span><span style="background-color: #e9ebec; color: #222222;">pip install langchain-chroma<br />
</span><span style="background-color: #e9ebec; color: #222222;">pip install chromadb<br />
</span><span style="background-color: #e9ebec; color: #222222;">pip install pypdf</span></p>
<p data-start="1733" data-end="1911">This ensures you have everything from embedding and RAG orchestration (LangChain) to a vector store (ChromaDB) and document parsing (pypdf). <span class="" data-state="closed"><span class="ms-1 inline-flex max-w-full items-center relative top-[-0.094rem] animate-[show_150ms_ease-in]" data-testid="webpage-citation-pill"><a class="flex h-4.5 overflow-hidden rounded-xl px-2 text-[9px] font-medium text-token-text-secondary! bg-[#F4F4F4]! dark:bg-[#303030]! transition-colors duration-150 ease-in-out" href="https://github.com/bikashkaushik/ollama-rag-tutorial/tree/main" target="_blank" rel="noopener"><span class="relative start-0 bottom-0 flex h-full w-full items-center"><span class="flex h-4 w-full items-center justify-between overflow-hidden"><span class="max-w-full grow truncate overflow-hidden text-center">GitHub</span></span></span></a></span></span></p>
</li>
<li data-start="1913" data-end="2343">
<p data-start="1916" data-end="1953"><strong data-start="1916" data-end="1951">Installing &amp; Configuring Ollama<br />
</strong></p>
<ol data-start="1957" data-end="2203">
<li data-start="1957" data-end="2015">
<p data-start="1959" data-end="2015">Download and install <strong data-start="1980" data-end="1990">Ollama</strong> to run models locally.</p>
</li>
<li data-start="1957" data-end="2015">
<p data-start="1959" data-end="2015">Pull and start the embedding model:<br />
<span style="background-color: #e9ebec; color: #222222;">ollama pull nomic-embed-text</span><code class="whitespace-pre!"><br />
</code></li>
<li data-start="2114" data-end="2203">
<p data-start="2116" data-end="2159">Pull and run the language generation model:<br />
<span style="background-color: #e9ebec; color: #222222;">ollama run mistral</span><code class="whitespace-pre!"><br />
</code></li>
</ol>
<p data-start="2207" data-end="2343">This lets you run core inference and embedding services without relying on external API endpoints. <span class="" data-state="closed"><span class="ms-1 inline-flex max-w-full items-center relative top-[-0.094rem] animate-[show_150ms_ease-in]" data-testid="webpage-citation-pill"><a class="flex h-4.5 overflow-hidden rounded-xl px-2 text-[9px] font-medium text-token-text-secondary! bg-[#F4F4F4]! dark:bg-[#303030]! transition-colors duration-150 ease-in-out" href="https://github.com/bikashkaushik/ollama-rag-tutorial/tree/main" target="_blank" rel="noopener"><span class="relative start-0 bottom-0 flex h-full w-full items-center"><span class="flex h-4 w-full items-center justify-between overflow-hidden"><span class="max-w-full grow truncate overflow-hidden text-center">GitHub</span></span></span></a></span></span></p>
</li>
<li data-start="2345" data-end="2574">
<p data-start="2348" data-end="2574"><strong data-start="2348" data-end="2370">Embedding Function</strong><br data-start="2370" data-end="2373" />The tutorial includes a <code data-start="2400" data-end="2427">get_embedding_function.py</code> script to wrap the Ollama embedding model. This function is essential for converting raw text into vector embeddings that drive similarity search.</p>
</li>
<li data-start="2576" data-end="2807">
<p data-start="2579" data-end="2807"><strong data-start="2579" data-end="2608">Building the Vector Store</strong><br data-start="2608" data-end="2611" />Through <code data-start="2622" data-end="2644">populate_database.py</code>, you’ll parse source documents, generate embeddings, and store them in ChromaDB. This setup forms the searchable knowledge base for RAG to tap into.</p>
<p class="mb-2 mt-4 text-base font-[475] first:mt-0 dark:font-[450]">Example Usage<br />
<span style="background-color: #e9ebec; color: #222222;"><em>python populate_database.py &#8211;reset # Clears and rebuilds the database from scratch.</em><br />
<em>python populate_database.py # Adds new or updated documents without wiping existing data.</em></span></p>
</li>
<li data-start="2809" data-end="3071">
<p data-start="2812" data-end="3071"><strong data-start="2812" data-end="2860">Querying with Retrieval-Augmented Generation</strong><br data-start="2860" data-end="2863" /><code data-start="2866" data-end="2881">query_data.py</code> orchestrates the full RAG workflow: retrieve relevant content from ChromaDB, feed it—along with your query—into the Mistral LLM via LangChain, and receive grounded, context-aware responses.</p>
<p class="mb-2 mt-4 text-base font-[475] first:mt-0 dark:font-[450]">Example Command Usage<br />
<em><span style="background-color: #e9ebec; color: #222222;">python query_data.py &#8220;What is the RAG technique in AI?&#8221;</span></em></p>
</li>
</ol>
<hr data-start="3073" data-end="3076" />
<h3 data-start="3078" data-end="3109"><strong data-start="3082" data-end="3107">Why You Should Try It</strong></h3>
<ul data-start="3110" data-end="3442">
<li data-start="3110" data-end="3185">
<p data-start="3112" data-end="3185"><strong data-start="3112" data-end="3129">Privacy-first</strong>: Run everything locally—no external API dependencies.</p>
</li>
<li data-start="3186" data-end="3310">
<p data-start="3188" data-end="3310"><strong data-start="3188" data-end="3199">Modular</strong>: Choose which components to swap, upgrade, or extend (e.g., swap the vector store, embedding model, or LLM).</p>
</li>
<li data-start="3311" data-end="3442">
<p data-start="3313" data-end="3442"><strong data-start="3313" data-end="3337">Practical foundation</strong>: Use this as a springboard to build internal helpdesks, document QA bots, research assistants, and more.</p>
</li>
</ul>
<hr data-start="3849" data-end="3852" />
<h3 data-start="3854" data-end="3885"><strong data-start="3858" data-end="3883">Call to the Community</strong></h3>
<p data-start="3886" data-end="4099">If you&#8217;re working on similar RAG implementations—or curious to explore the Ollama, LangChain, or ChromaDB ecosystems—let’s connect! I’d love to compare notes, share learnings, or even co-create something exciting.</p>
<hr data-start="4101" data-end="4104" />
<h3 data-start="4106" data-end="4126"><strong data-start="4110" data-end="4124">Conclusion</strong></h3>
<p data-start="4127" data-end="4445">This is more than just a walkthrough—it&#8217;s an invitation to experiment with cutting-edge, local-first AI techniques. By merging retrieval, embeddings, and generation in an open-source stack, you can bring smarter, grounded interactions to your applications—while staying in control of your stack.</p>
]]></content:encoded>
					
		
		
			</item>
		<item>
		<title>Machine Learning using Python having no prior working experience in Python</title>
		<link>https://bkaushik.com/posts/machine-learning-using-python-having-no-prior-working-experience-in-python/</link>
		
		<dc:creator><![CDATA[Bikash]]></dc:creator>
		<pubDate>Fri, 23 May 2025 17:59:10 +0000</pubDate>
				<category><![CDATA[AI/ML]]></category>
		<category><![CDATA[Posts]]></category>
		<guid isPermaLink="false">https://bkaushik.com/?p=84</guid>

					<description><![CDATA[If you&#8217;re aiming to learn Machine Learning using Python and have no prior working experience in Python, here&#8217;s a structured and practical roadmap tailored for engineers or developers from other languages or domains. 🛠️ Phase 1: Learn Python Basics (1–2 weeks) Focus on what’s needed for ML, skip unnecessary details for now. 🔹 Topics to...]]></description>
										<content:encoded><![CDATA[<p>If you&#8217;re aiming to learn <strong data-start="26" data-end="59">Machine Learning using Python</strong> and have <strong data-start="69" data-end="110">no prior working experience in Python</strong>, here&#8217;s a structured and practical roadmap tailored for <strong data-start="167" data-end="226">engineers or developers from other languages or domains</strong>.</p>
<h3 data-start="234" data-end="281">🛠️ Phase 1: Learn Python Basics (1–2 weeks)</h3>
<blockquote data-start="283" data-end="349">
<p data-start="285" data-end="349">Focus on what’s needed for ML, skip unnecessary details for now.</p>
</blockquote>
<p data-start="351" data-end="374"><strong>🔹 Topics to Cover:</strong></p>
<ul>
<li style="list-style-type: none;">
<ul>
<li data-start="377" data-end="422">Variables, data types (int, float, str, bool)</li>
<li data-start="377" data-end="422">Lists, tuples, dictionaries, sets</li>
<li data-start="377" data-end="422">Control flow: <code data-start="475" data-end="479">if</code>, <code data-start="481" data-end="486">for</code>, <code data-start="488" data-end="495">while</code>, <code data-start="497" data-end="504">break</code>, <code data-start="506" data-end="516">continue</code></li>
<li data-start="377" data-end="422">Functions: <code data-start="530" data-end="535">def</code>, arguments, return values</li>
<li data-start="377" data-end="422">Modules and imports</li>
<li data-start="377" data-end="422">Exception handling: <code data-start="606" data-end="611">try</code>, <code data-start="613" data-end="621">except</code></li>
<li data-start="377" data-end="422">Basic file I/O</li>
<li data-start="377" data-end="422">Intro to Jupyter Notebooks</li>
</ul>
</li>
</ul>
<p data-start="669" data-end="682"><strong>🧰 Tools:</strong></p>
<ul>
<li data-start="685" data-end="730">Install Python (via Anaconda or <code data-start="717" data-end="729">python.org</code>)</li>
<li data-start="685" data-end="730">Use <strong data-start="737" data-end="757">Jupyter Notebook</strong> or <strong data-start="761" data-end="777">Google Colab</strong> for practice</li>
</ul>
<p data-start="792" data-end="808"><strong>✅ Resources:</strong></p>
<ul>
<li data-start="811" data-end="906"><a class="" href="https://www.youtube.com/watch?v=LHBE6Q9XlzI" target="_new" rel="noopener" data-start="811" data-end="906">Python for Data Science – FreeCodeCamp (YouTube)</a></li>
<li data-start="811" data-end="906"><a class="cursor-pointer" target="_new" rel="noopener" data-start="909" data-end="983">Python Crash Course – Real Python</a></li>
</ul>
<h3 data-start="990" data-end="1037">🤖 Phase 2: Python for Data &amp; ML (2–3 weeks)</h3>
<blockquote data-start="1039" data-end="1099">
<p data-start="1041" data-end="1099">Learn the libraries that power machine learning in Python.</p>
</blockquote>
<p data-start="1101" data-end="1127"><strong>🔹 Libraries to Learn:</strong></p>
<ul>
<li style="list-style-type: none;">
<ul>
<li data-start="1130" data-end="1166"><strong data-start="1130" data-end="1139">NumPy</strong> – for numerical operations</li>
<li data-start="1130" data-end="1166"><strong data-start="1169" data-end="1179">Pandas</strong> – for data manipulation (DataFrames)</li>
<li data-start="1130" data-end="1166"><strong data-start="1219" data-end="1243">Matplotlib / Seaborn</strong> – for visualization</li>
<li data-start="1130" data-end="1166"><strong data-start="1266" data-end="1282">Scikit-learn</strong> – for classic ML models</li>
</ul>
</li>
</ul>
<p data-start="1308" data-end="1328"><strong>🔍 Key Concepts:</strong></p>
<ul>
<li data-start="1331" data-end="1355">Arrays, matrices (NumPy)</li>
<li data-start="1331" data-end="1355">DataFrames: loading CSV, filtering, grouping (Pandas)</li>
<li data-start="1331" data-end="1355">Plotting distributions and trends</li>
<li data-start="1331" data-end="1355">Using <code data-start="1456" data-end="1474">train_test_split</code>, <code data-start="1476" data-end="1483">fit()</code>, <code data-start="1485" data-end="1496">predict()</code> in scikit-learn</li>
</ul>
<p data-start="1514" data-end="1530"><strong>✅ Resources:</strong></p>
<ul>
<li data-start="1533" data-end="1594"><a class="cursor-pointer" target="_new" rel="noopener" data-start="1533" data-end="1594">Kaggle’s Python Course</a></li>
<li data-start="1533" data-end="1594"><a class="cursor-pointer" target="_new" rel="noopener" data-start="1597" data-end="1674">Scikit-learn Tutorials</a></li>
</ul>
<h3 data-start="1681" data-end="1729">🤖 Phase 3: Core Machine Learning (3–4 weeks)</h3>
<blockquote data-start="1731" data-end="1785">
<p data-start="1733" data-end="1785">Apply Python to actual ML workflows using real data.</p>
</blockquote>
<p data-start="1787" data-end="1811"><strong>🔹 Topics to Master:</strong></p>
<ul>
<li data-start="1814" data-end="1834">Supervised Learning:
<ul>
<li data-start="1814" data-end="1834">Linear regression</li>
<li data-start="1814" data-end="1834">Logistic regression</li>
<li data-start="1814" data-end="1834">Decision trees, Random Forest</li>
<li data-start="1814" data-end="1834">K-Nearest Neighbors</li>
</ul>
</li>
<li data-start="1814" data-end="1834">Unsupervised Learning:
<ul>
<li data-start="1814" data-end="1834">Clustering (K-Means)</li>
<li data-start="1814" data-end="1834">Dimensionality Reduction (PCA)</li>
</ul>
</li>
<li data-start="1814" data-end="1834">Model evaluation:
<ul>
<li data-start="1814" data-end="1834">Accuracy, precision, recall, F1-score</li>
<li data-start="1814" data-end="1834">Confusion matrix</li>
</ul>
</li>
<li data-start="1814" data-end="1834">Cross-validation, overfitting, regularization</li>
</ul>
<p data-start="2156" data-end="2172"><strong>✅ Resources:</strong></p>
<ul>
<li data-start="2175" data-end="2276"><a class="cursor-pointer" target="_new" rel="noopener" data-start="2175" data-end="2276">Google’s Machine Learning Crash Course</a></li>
<li data-start="2175" data-end="2276"><a class="cursor-pointer" target="_new" rel="noopener" data-start="2279" data-end="2416">Hands-On ML with Scikit-Learn, Keras &amp; TensorFlow (book)</a></li>
</ul>
<h3 data-start="2423" data-end="2457">📦 Phase 4: Projects &amp; Practice</h3>
<blockquote data-start="2459" data-end="2521">
<p data-start="2461" data-end="2521">Reinforce your skills with real-world datasets and projects.</p>
</blockquote>
<p data-start="2523" data-end="2544"><strong>🔹 Project Ideas:</strong></p>
<ul>
<li style="list-style-type: none;">
<ul>
<li data-start="2547" data-end="2584">Predict house prices using regression</li>
<li data-start="2547" data-end="2584">Classify spam vs ham emails</li>
<li data-start="2547" data-end="2584">Titanic survival prediction</li>
<li data-start="2547" data-end="2584">Stock price trend classification</li>
<li data-start="2547" data-end="2584">Customer segmentation with K-Means</li>
</ul>
</li>
</ul>
<p data-start="2718" data-end="2733"><strong>✅ Datasets:</strong></p>
<ul>
<li data-start="2736" data-end="2769"><a class="" href="https://www.kaggle.com/" target="_new" rel="noopener" data-start="2736" data-end="2769">Kaggle</a></li>
<li data-start="2736" data-end="2769"><a class="" href="https://archive.ics.uci.edu/ml/index.php" target="_new" rel="noopener" data-start="2772" data-end="2833">UCI ML Repository</a></li>
<li data-start="2736" data-end="2769"><a class="cursor-pointer" target="_new" rel="noopener" data-start="2836" data-end="2902">Hugging Face Datasets (for NLP)</a></li>
</ul>
<h3 data-start="2909" data-end="2930">🧭 Summary Roadmap</h3>
<div class="_tableContainer_16hzy_1">
<div class="_tableWrapper_16hzy_14 group flex w-fit flex-col-reverse" tabindex="-1">
<table class="w-fit min-w-(--thread-content-width)" data-start="2932" data-end="3424">
<thead data-start="2932" data-end="3014">
<tr data-start="2932" data-end="3014">
<th data-start="2932" data-end="2960" data-col-size="sm">Phase</th>
<th data-start="2960" data-end="2972" data-col-size="sm">Duration</th>
<th data-start="2972" data-end="3014" data-col-size="sm">Outcome</th>
</tr>
</thead>
<tbody data-start="3097" data-end="3424">
<tr data-start="3097" data-end="3178">
<td data-start="3097" data-end="3124" data-col-size="sm">Python Basics</td>
<td data-col-size="sm" data-start="3124" data-end="3136">1–2 weeks</td>
<td data-col-size="sm" data-start="3136" data-end="3178">Comfortable writing basic Python</td>
</tr>
<tr data-start="3179" data-end="3260">
<td data-start="3179" data-end="3206" data-col-size="sm">Python for ML Libraries</td>
<td data-col-size="sm" data-start="3206" data-end="3218">2–3 weeks</td>
<td data-col-size="sm" data-start="3218" data-end="3260">Data loading, visualization, prep</td>
</tr>
<tr data-start="3261" data-end="3342">
<td data-start="3261" data-end="3288" data-col-size="sm">Core ML Concepts</td>
<td data-col-size="sm" data-start="3288" data-end="3300">3–4 weeks</td>
<td data-col-size="sm" data-start="3300" data-end="3342">Build ML models with scikit-learn</td>
</tr>
<tr data-start="3343" data-end="3424">
<td data-start="3343" data-end="3370" data-col-size="sm">Projects &amp; Portfolio</td>
<td data-col-size="sm" data-start="3370" data-end="3382">Ongoing</td>
<td data-col-size="sm" data-start="3382" data-end="3424">Real-world ML practice</td>
</tr>
</tbody>
</table>
</div>
</div>
]]></content:encoded>
					
		
		
			</item>
		<item>
		<title>Playwright Automation Testing: A Modern Automation Framework</title>
		<link>https://bkaushik.com/posts/playwright-automation-testing/</link>
		
		<dc:creator><![CDATA[Bikash]]></dc:creator>
		<pubDate>Thu, 22 May 2025 02:45:47 +0000</pubDate>
				<category><![CDATA[Posts]]></category>
		<guid isPermaLink="false">https://bkaushik.com/?p=64</guid>

					<description><![CDATA[In the ever-evolving landscape of web development, automated testing is no longer a luxury—it&#8217;s a necessity. As web apps become more dynamic and complex, developers and QA engineers need powerful tools to ensure performance, reliability, and cross-browser compatibility. Enter Playwright, a next-gen browser automation framework built by Microsoft. In this blog post, we’ll explore what...]]></description>
										<content:encoded><![CDATA[<p>In the ever-evolving landscape of web development, automated testing is no longer a luxury—it&#8217;s a necessity. As web apps become more dynamic and complex, developers and QA engineers need powerful tools to ensure performance, reliability, and cross-browser compatibility. Enter Playwright, a next-gen browser automation framework built by Microsoft.</p>
<p>In this blog post, we’ll explore what Playwright is, why it’s gaining traction, and how you can get started with automation testing using this powerful tool.</p>
<h4>🔍 What Is Playwright?</h4>
<p>Playwright is an open-source Node.js library for browser automation. It allows you to write scripts to test web applications across Chromium, Firefox, and WebKit with a single API. Whether you&#8217;re testing React, Angular, Vue, or a custom-built front end, Playwright offers robust support for modern web features.<br />
&#8220;Automated testing with Playwright ensures your application works perfectly across all major browsers and platforms.&#8221;</p>
<h4>🚀 Why Choose Playwright?</h4>
<p>Here are some compelling reasons to choose Playwright over other test automation tools:</p>
<ul>
<li><strong>Cross-Browser Support:</strong> Test your app in Chromium (Chrome, Edge), Firefox, and WebKit (Safari) using the same script.</li>
<li><strong>Headless &amp; Headed Modes:</strong> Run tests headlessly for CI or visibly during local debugging.</li>
<li><strong>Auto-Wait</strong>: Playwright automatically waits for elements to be ready—no more sleep() or waitForTimeout() hacks.</li>
<li><strong>Multi-Tab/Window Testing:</strong> Supports multiple pages, tabs, and contexts for advanced use cases.</li>
<li><strong>Native Mobile Emulation:</strong> Test responsive designs and behavior on mobile devices.</li>
<li><strong>Network Interception:</strong> Mock API responses and test offline behavior easily.</li>
<li><strong>Powerful Test Generator:</strong> Use the codegen feature to record and generate scripts by interacting with the UI.</li>
</ul>
<h4 data-start="2074" data-end="2111">🧱 Getting Started with Playwright</h4>
<p data-start="2113" data-end="2144">Let’s go through a basic setup.</p>
<p data-start="2146" data-end="2171"><strong>1. Install Playwright</strong></p>
<blockquote>
<p data-start="2146" data-end="2171">npm init -y<br />
npm i -D @playwright/test<br />
npx playwright install</p>
</blockquote>
<p><strong>2. Create Your First Test</strong></p>
<blockquote><p>// example.spec.js<br />
import { test, expect } from &#8216;@playwright/test&#8217;;</p>
<p>test(&#8216;homepage has title and links to intro page&#8217;, async ({ page }) =&gt; {<br />
await page.goto(&#8216;https://playwright.dev/&#8217;);<br />
await expect(page).toHaveTitle(/Playwright/);<br />
await page.getByRole(&#8216;link&#8217;, { name: &#8216;Get started&#8217; }).click();<br />
await expect(page).toHaveURL(/.*intro/);<br />
});</p></blockquote>
<p><strong>3. Run Your Test</strong></p>
<blockquote><p>npx playwright test</p></blockquote>
<p data-start="2692" data-end="2779">You’ll get a clean report in the terminal—and you can also generate HTML reports using:</p>
<div class="contain-inline-size rounded-md border-[0.5px] border-token-border-medium relative bg-token-sidebar-surface-primary">
<blockquote>
<div class="flex items-center text-token-text-secondary px-4 py-2 text-xs font-sans justify-between h-9 bg-token-sidebar-surface-primary dark:bg-token-main-surface-secondary select-none rounded-t-[5px]">npx playwright show-report</div>
</blockquote>
<h4>🧪 Advanced Testing Features</h4>
<ul>
<li><strong data-start="2861" data-end="2883">Parallel Execution</strong>: Playwright runs tests in parallel across multiple workers.</li>
<li data-start="2861" data-end="2943"><strong data-start="2946" data-end="2963">Test Fixtures</strong>: Customize the environment with setup and teardown logic.</li>
<li data-start="2861" data-end="2943"><strong data-start="3024" data-end="3047">Screenshots &amp; Video</strong>: Capture screenshots and videos of test runs for debugging.</li>
<li data-start="2861" data-end="2943"><strong data-start="3110" data-end="3131">CI/CD Integration</strong>: Integrate with GitHub Actions, Jenkins, GitLab, or any CI tool.</li>
<li data-start="2861" data-end="2943"><strong data-start="3199" data-end="3217">Docker Support</strong>: Run tests in isolated containers for consistency across environments.</li>
</ul>
<h4 data-start="3295" data-end="3321">🧰 Real-World Use Cases</h4>
<ul>
<li data-start="3325" data-end="3406"><strong data-start="3325" data-end="3347">End-to-End Testing</strong>: Verify real user scenarios in a live browser environment.</li>
<li data-start="3325" data-end="3406"><strong data-start="3409" data-end="3431">Regression Testing</strong>: Catch bugs early before they reach production.</li>
<li data-start="3325" data-end="3406"><strong data-start="3482" data-end="3504">Performance Checks</strong>: Validate lazy-loading, scroll-based animations, and network latency behavior.</li>
<li data-start="3325" data-end="3406"><strong data-start="3586" data-end="3615">Visual Regression Testing</strong>: Compare screenshots to catch UI drifts.</li>
</ul>
<h4 data-start="3663" data-end="3683">🧠 Best Practices</h4>
<ul>
<li data-start="3687" data-end="3730">Use data-test IDs to make selectors stable.</li>
<li data-start="3687" data-end="3730">Avoid relying on visual selectors (e.g., CSS classes) that change frequently.</li>
<li data-start="3687" data-end="3730">Structure tests using the Page Object Model (POM) for maintainability.</li>
<li data-start="3687" data-end="3730">Run tests in CI pipelines to catch issues early.</li>
<li data-start="3687" data-end="3730">Use <code data-start="3941" data-end="3948">.only</code> and <code data-start="3953" data-end="3960">.skip</code> to isolate and debug failing tests.</li>
</ul>
<h4 data-start="4003" data-end="4023">🏁 Final Thoughts</h4>
<p data-start="4025" data-end="4275">Playwright is a powerful and developer-friendly tool that’s shaping the future of web automation testing. With built-in support for modern web standards, CI/CD pipelines, and multi-browser testing, it’s a strong contender for any serious QA strategy.</p>
<p data-start="4277" data-end="4427">Whether you&#8217;re a solo developer or part of a large QA team, adopting Playwright can drastically improve your testing velocity and application quality.</p>
<p data-start="4434" data-end="4546"><strong data-start="4434" data-end="4457">Want to learn more?</strong><br data-start="4457" data-end="4460" />Check out the official documentation: <a class="" href="https://playwright.dev" target="_new" rel="noopener" data-start="4498" data-end="4546">https://playwright.dev</a></p>
</div>
]]></content:encoded>
					
		
		
			</item>
		<item>
		<title>How to get Root Directory path in Magento 2</title>
		<link>https://bkaushik.com/magento2/how-to-get-root-directory-path-in-magento-2/</link>
		
		<dc:creator><![CDATA[Bikash]]></dc:creator>
		<pubDate>Thu, 03 Apr 2025 15:35:02 +0000</pubDate>
				<category><![CDATA[Magento2]]></category>
		<guid isPermaLink="false">https://bkaushik.com/?p=48</guid>

					<description><![CDATA[While building your custom extension, you will usually need path to your extensions files. If you need to root the directory path in your custom module then, you need to inject \Magento\Framework\App\Filesystem\DirectoryList class in your construct. So, Let’s check the below steps with output. &#60;?php namespace Kaushik\Helloworld\Helper; use Magento\Framework\App\Helper\AbstractHelper; class Data extends AbstractHelper { /** * @var...]]></description>
										<content:encoded><![CDATA[<p>While building your custom extension, you will usually need path to your extensions files. If you need to root the <a href="https://devdocs.magento.com/guides/v2.4/extension-dev-guide/build/module-file-structure.html">directory</a> path in your custom module then, you need to inject <strong>\Magento\Framework\App\Filesystem\DirectoryList </strong>class in your construct.</p>
<p>So, Let’s check the below steps with output.</p>
<pre class="EnlighterJSRAW" data-enlighter-language="php" data-enlighter-theme="classic">&lt;?php
namespace Kaushik\Helloworld\Helper;
use Magento\Framework\App\Helper\AbstractHelper;
class Data extends AbstractHelper
{

/**
 * @var \Magento\Framework\App\Filesystem\DirectoryList
 */
protected $dir;

public function __construct(
    ...
    \Magento\Framework\App\Filesystem\DirectoryList $dir,
    ...        
) {
    ...
    $this-&gt;dir = $dir;
    ...
}

public function getRootPath()
{
    return $this-&gt;dir-&gt;getRoot(); // Output : /var/www/html
}
}</pre>
<p>However, If you want to get a media, var, pub, etc. directory path then, you can use the below codes to get the appropriate directory path.</p>
<pre class="EnlighterJSRAW" data-enlighter-language="php" data-enlighter-theme="classic">$this-&gt;dir-&gt;getPath('pub'); // Output : /var/www/html/pub</pre>
<pre class="EnlighterJSRAW" data-enlighter-language="php" data-enlighter-theme="classic">$this-&gt;dir-&gt;getPath('media'); // Output : /var/www/html/pub/media</pre>
<pre class="EnlighterJSRAW" data-enlighter-language="php" data-enlighter-theme="classic">$this-&gt;dir-&gt;getPath('lib_internal'); // Output : /var/www/html/lib/internal</pre>
<pre class="EnlighterJSRAW" data-enlighter-language="php" data-enlighter-theme="classic">$this-&gt;dir-&gt;getPath('log'); // Output : /var/www/html/var/log</pre>
<pre class="EnlighterJSRAW" data-enlighter-language="php" data-enlighter-theme="classic">$this-&gt;dir-&gt;getPath('generated'); // Output: /var/www/html/generated</pre>
<p>That’s it !!!</p>
<p>In other words, You can use the above code in your function based on your requirement.</p>
]]></content:encoded>
					
		
		
			</item>
		<item>
		<title>How to create Cron Job in Magento 2</title>
		<link>https://bkaushik.com/magento2/how-to-create-cron-job-in-magento-2/</link>
		
		<dc:creator><![CDATA[Bikash]]></dc:creator>
		<pubDate>Thu, 03 Apr 2025 15:34:29 +0000</pubDate>
				<category><![CDATA[Magento2]]></category>
		<guid isPermaLink="false">https://bkaushik.com/?p=46</guid>

					<description><![CDATA[In this article, we will learn how to create cron job in Magento. Magento uses Cron Jobs to run scheduled tasks, reindexing, generating emails, newsletters, sitemaps and much more. Cron job is a great feature by Linux, the free operating system for the user. The cron job will create a command or a script that is appropriate with...]]></description>
										<content:encoded><![CDATA[<p>In this article, we will learn how to create cron job in Magento. Magento uses Cron Jobs to run scheduled tasks, reindexing, generating emails, newsletters, sitemaps and much more.</p>
<p><strong>Cron job</strong> is a great feature by Linux, the free operating system for the user. <strong>The cron job</strong> will create a command or a script that is appropriate with the task you want to do. Instead of manual working, the <strong>cronjob allows running automatically</strong> in exact time and date.</p>
<p>In this example, we are using a sample module with Kaushik as the Vendor name and HelloWorld as the module name.</p>
<h4><b>Step 1: Create crontab.xml</b></h4>
<p>File: <code>app/code/Kaushik/HelloWorld/etc/crontab.xml</code></p>
<pre class="EnlighterJSRAW" data-enlighter-language="php" data-enlighter-theme="classic">&lt;?xml version="1.0"?&gt;
&lt;config xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="urn:magento:module:Magento_Cron:etc/crontab.xsd"&gt;
    &lt;group id="default"&gt;
        &lt;job name="custom_cronjob" instance="Kaushik\HelloWorld\Cron\Test" method="execute"&gt;
            &lt;schedule&gt;* * * * *&lt;/schedule&gt;
        &lt;/job&gt;
    &lt;/group&gt;
&lt;/config&gt;</pre>
<ul>
<li><code>group id</code> is your cron group name. You can run only cron for single group at a time.</li>
<li><code>job instance</code> is class to be instantiated.</li>
<li><code>job method</code> is method in <code>job instance</code> to call.</li>
<li><code>job name</code> is Unique ID for this cron job.</li>
<li><code>schedule</code> is schedule in cron format where</li>
</ul>
<pre class="EnlighterJSRAW" data-enlighter-language="php" data-enlighter-theme="classic">* * * * * command to be executed
| | | | |
| | | | +----- Day of week (0 - 7) (Sunday=0 or 7)
| | | +------- Month (1 - 12)
| | +--------- Day of month (1 - 31)
| +----------- Hour (0 - 23)
+------------- Minute (0 - 59)</pre>
<h4><b>Step 2: Create a class to run cron</b></h4>
<p>File: <code>app/code/Kaushik/HelloWorld/Cron/Test.php</code></p>
<pre class="EnlighterJSRAW" data-enlighter-language="php" data-enlighter-theme="classic">&lt;?php
namespace Kaushik\HelloWorld\Cron;

use \Psr\Log\LoggerInterface;
class Test {
  protected $logger;

  public function __construct(LoggerInterface $logger) {
    $this-&gt;logger = $logger;
  }

  /**
    * Write to system.log
    *
    * @return void
  */
  public function execute() {
    // Do your Stuff
    $this-&gt;logger-&gt;info('Cron Works');
  }
}</pre>
<p>In the above code, we created a log. Once the cron is executed, the contents of the ‘execute’ method will be added in the system.log file.</p>
<h4><b>Step 3: Run the cron job</b></h4>
<p>We can run the Magento cron jobs using the below command.</p>
<pre class="EnlighterJSRAW" data-enlighter-language="php" data-enlighter-theme="classic">php bin/magento cron:run</pre>
<p>I hope this is useful blog for you.</p>
<p>Thank you for reading!</p>
]]></content:encoded>
					
		
		
			</item>
		<item>
		<title>Create custom API in Magento 2</title>
		<link>https://bkaushik.com/magento2/create-custom-api-in-magento-2/</link>
		
		<dc:creator><![CDATA[Bikash]]></dc:creator>
		<pubDate>Thu, 03 Apr 2025 15:33:48 +0000</pubDate>
				<category><![CDATA[Magento2]]></category>
		<guid isPermaLink="false">https://bkaushik.com/?p=44</guid>

					<description><![CDATA[Today I’d like to help you through the process of creating Custom API in Magento 2. At first, we must create the primary files of a module and I would create module under Kaushik name space and call it CustomApi. File – app/code/Kaushik/CustomApi/etc/module.xml &#60;?xml version="1.0"?&#62; &#60;config xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="urn:magento:framework:Module/etc/module.xsd"&#62; &#60;module name="Kaushik_CustomApi" setup_version="1.0.0" /&#62; &#60;/config&#62; &#160; File –...]]></description>
										<content:encoded><![CDATA[<p>Today I’d like to help you through the process of creating Custom API in Magento 2.</p>
<p>At first, we must create the primary files of a module and I would create module under <em>Kaushik</em> name space and call it <em>CustomApi</em>.</p>
<p><strong>File</strong> – app/code/Kaushik/CustomApi/etc/module.xml</p>
<pre class="EnlighterJSRAW" data-enlighter-language="php" data-enlighter-theme="classic">&lt;?xml version="1.0"?&gt;
&lt;config xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="urn:magento:framework:Module/etc/module.xsd"&gt;
    &lt;module name="Kaushik_CustomApi" setup_version="1.0.0" /&gt;
&lt;/config&gt;</pre>
<p>&nbsp;</p>
<p><strong>File</strong> – app/code/Kaushik/CustomApi/registration.php</p>
<pre class="EnlighterJSRAW" data-enlighter-language="php" data-enlighter-theme="classic">&lt;?php
\Magento\Framework\Component\ComponentRegistrar::register(
    \Magento\Framework\Component\ComponentRegistrar::MODULE,
    'Kaushik_CustomApi',
    __DIR__
);</pre>
<p>&nbsp;</p>
<p><strong>File</strong> – app/code/Kaushik/CustomApi/etc/webapi.xml</p>
<pre class="EnlighterJSRAW" data-enlighter-language="php" data-enlighter-theme="classic">&lt;?xml version="1.0" ?&gt;
&lt;routes xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="urn:magento:module:Magento_Webapi:etc/webapi.xsd"&gt;
    &lt;route method="GET" url="/V1/kaushik-customapi/post"&gt;
        &lt;service class="Kaushik\CustomApi\Api\PostManagementInterface" method="getPost"/&gt;
        &lt;resources&gt;
            &lt;resource ref="anonymous"/&gt;
        &lt;/resources&gt;
    &lt;/route&gt;
&lt;/routes&gt;</pre>
<p>&nbsp;</p>
<p><strong>File</strong> – app/code/Kaushik/CustomApi/etc/di.xml</p>
<pre class="EnlighterJSRAW" data-enlighter-language="php" data-enlighter-theme="classic">&lt;?xml version="1.0" ?&gt;
&lt;config xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="urn:magento:framework:ObjectManager/etc/config.xsd"&gt;
    &lt;preference for="Kaushik\CustomApi\Api\PostManagementInterface" type="Kaushik\CustomApi\Model\PostManagement"/&gt;
&lt;/config&gt;</pre>
<p>&nbsp;</p>
<p><strong>File</strong> – app/code/Kaushik/CustomApi/Model/PostManagement.php</p>
<pre class="EnlighterJSRAW" data-enlighter-language="php" data-enlighter-theme="classic">&lt;?php 
namespace Kaushik\CustomApi\Model;
 
class PostManagement {

    /**
     * {@inheritdoc}
     */
    public function getPost($param)
    {
        return 'api GET return the $param ' . $param;
    }
}</pre>
<p>&nbsp;</p>
<p><strong>File</strong> – app/code/Kaushik/CustomApi/Api/PostManagementInterface.php</p>
<pre class="EnlighterJSRAW" data-enlighter-language="php" data-enlighter-theme="classic">&lt;?php 
namespace Kaushik\CustomApi\Api;
 
interface PostManagementInterface {

    /**
     * GET for Post api
     * @param string $param
     * @return string
     */
    public function getPost($param);
}</pre>
<p>&nbsp;</p>
<p>That’s all. We’ve just created custom API and now it’s ready to use.</p>
]]></content:encoded>
					
		
		
			</item>
		<item>
		<title>List of CLI Commands in Magento 2</title>
		<link>https://bkaushik.com/magento2/list-of-cli-commands-in-magento-2/</link>
		
		<dc:creator><![CDATA[Bikash]]></dc:creator>
		<pubDate>Thu, 03 Apr 2025 15:33:16 +0000</pubDate>
				<category><![CDATA[Magento2]]></category>
		<guid isPermaLink="false">https://bkaushik.com/?p=42</guid>

					<description><![CDATA[In this post I listed all the useful commands that we can use in Magento 2. Command like content deploy, indexing, setup upgrade, cache and other many more commands. By default, Magento 2 comes with multiple CLI Commands out of box. To use any command, simply type that command in the CLI, like php bin/magento...]]></description>
										<content:encoded><![CDATA[<p>In this post I listed all the useful commands that we can use in Magento 2. Command like content deploy, indexing, setup upgrade, cache and other many more commands.</p>
<p>By default, Magento 2 comes with multiple CLI Commands out of box. To use any command, simply type that command in the CLI, like <strong>php bin/magento cache:clean</strong></p>
<pre class="EnlighterJSRAW" data-enlighter-language="php" data-enlighter-theme="classic">List Commands
php bin/magento  list                           php bin/magento l

Admin
php bin/magento admin:user:create               php bin/magento a:u:c
php bin/magento admin:user:unlock               php bin/magento a:u:u

Cache
php bin/magento cache:clean                     php bin/magento c:c
php bin/magento cache:disable                   php bin/magento c:d
php bin/magento cache:enable                    php bin/magento c:e
php bin/magento cache:flush                     php bin/magento c:f
php bin/magento cache:status                    php bin/magento c:s

Catalog
php bin/magento catalog:images:resize           php bin/magento c:i:r
php bin/magento catalog:product:attributes:cleanup      php bin/magento c:p:a:c

Cron
php bin/magento cron:run                         php bin/magento c:r

Customer
php bin/magento customer:hash:upgrade            php bin/magento c:h:u

Deploy
php bin/magento deploy:mode:set                  php bin/magento d:m:se
php bin/magento deploy:mode:show                 php bin/magento d:m:sh

Dev
php bin/magento dev:source-theme:deploy          php bin/magento d:source-theme:d
php bin/magento dev:tests:run                    php bin/magento d:t:r
php bin/magento dev:urn-catalog:generate         php bin/magento d:urn-catalog:g
php bin/magento dev:xml:convert                  php bin/magento d:x:c

i18n
php bin/magento i18n:collect-phrases             php bin/magento i:collect-phrases
php bin/magento i18n:pack                        php bin/magento i:p
php bin/magento i18n:uninstall                   php bin/magento i:u

Indexer
php bin/magento indexer:info                     php bin/magento i:i
php bin/magento indexer:reindex                  php bin/magento i:rei
php bin/magento indexer:reset                    php bin/magento i:res
php bin/magento indexer:set-mode                 php bin/magento i:set
php bin/magento indexer:show-mode                php bin/magento i:show
php bin/magento indexer:status                   php bin/magento i:st

Info
php bin/magento info:adminuri                               php bin/magento i:a
php bin/magento info:backups:list                           php bin/magento i:b:l
php bin/magento info:currency:list                          php bin/magento i:c:l
php bin/magento info:dependencies:show-framework            php bin/magento i:d:show-framework
php bin/magento info:dependencies:show-modules              php bin/magento i:d:show-modules
php bin/magento info:dependencies:show-modules-circular     php bin/magento i:d:show-circular
php bin/magento info:language:list                          php bin/magento i:l:l
php bin/magento info:timezone:list                          php bin/magento i:t:l

Maintenance
php bin/magento maintenance:allow-ips            php bin/magento ma:a
php bin/magento maintenance:disable              php bin/magento ma:d
php bin/magento maintenance:enable               php bin/magento ma:e
php bin/magento maintenance:status               php bin/magento ma:s

Module
php bin/magento module:disable                   php bin/magento mo:d
php bin/magento module:enable                    php bin/magento mo:e
php bin/magento module:status                    php bin/magento mo:s
php bin/magento module:uninstall                 php bin/magento mo:u

Setup
php bin/magento setup:backup                     php bin/magento se:b
php bin/magento setup:config:set                 php bin/magento se:c:se
php bin/magento setup:cron:run                   php bin/magento se:c:r
php bin/magento setup:db-data:upgrade            php bin/magento se:db-data:u
php bin/magento setup:db-schema:upgrade          php bin/magento se:db-schema:u
php bin/magento setup:db:status                  php bin/magento se:d:st
php bin/magento setup:di:compile                 php bin/magento se:d:c
php bin/magento setup:install                    php bin/magento se:i
php bin/magento setup:performance:generate-fixtures      php bin/magento se:p:generate-fixtures
php bin/magento setup:rollback                   php bin/magento se:r
php bin/magento setup:static-content:deploy      php bin/magento se:s:d
php bin/magento setup:store-config:set           php bin/magento se:sto:s 
php bin/magento setup:uninstall                  php bin/magento se:un
php bin/magento setup:upgrade                    php bin/magento se:up

Sample Data
php bin/magento sampledata:deploy                php bin/magento ma:d
php bin/magento sampledata:remove                php bin/magento sa:rem
php bin/magento sampledata:reset                 php bin/magento sa:res

Theme
php bin/magento theme:uninstall                  php bin/magento t:u</pre>
<p>That&#8217;s all.</p>
]]></content:encoded>
					
		
		
			</item>
		<item>
		<title>Setup Apache Virtual Host on Ubuntu Server</title>
		<link>https://bkaushik.com/linux/setup-apache-virtual-host-on-ubuntu-server/</link>
		
		<dc:creator><![CDATA[Bikash]]></dc:creator>
		<pubDate>Thu, 03 Apr 2025 15:32:39 +0000</pubDate>
				<category><![CDATA[Linux]]></category>
		<category><![CDATA[virtual-host]]></category>
		<guid isPermaLink="false">https://bkaushik.com/?p=40</guid>

					<description><![CDATA[In this post I will show you through setting up website using virtual hosts on Ubuntu server. Before we begin, you need to have Apache installed in order to work through these steps. 1. sudo apt-get update 2. sudo mkdir -p /var/www/coolexample.local/public_html 3. sudo chown -R orange:orange /var/www/coolexample.local/public_html 4. sudo chmod -R 755 /var/www/coolexample.local/public_html 5....]]></description>
										<content:encoded><![CDATA[<p>In this post I will show you through setting up website using virtual hosts on Ubuntu server.</p>
<p>Before we begin, you need to have Apache installed in order to work through these steps.</p>
<p><strong>1.</strong> sudo apt-get update<br />
<strong>2.</strong> sudo mkdir -p /var/www/coolexample.local/public_html<br />
<strong>3.</strong> sudo chown -R orange:orange /var/www/coolexample.local/public_html<br />
<strong>4.</strong> sudo chmod -R 755 /var/www/coolexample.local/public_html<br />
<strong>5.</strong> sudo cp /etc/apache2/sites-available/000-default.conf /etc/apache2/sites-available/coolexample.local.conf<br />
<strong>6.</strong> sudo vim /etc/apache2/sites-available/coolexample.local.conf<br />
DocumentRoot /var/www/coolexample.local/public_html<br />
ServerName www.coolexample.local<br />
ServerAlias coolexample.local<br />
:wq<br />
<strong>7.</strong> sudo a2ensite coolexample.local.conf<br />
<strong>8.</strong> sudo service apache2 restart<br />
<strong>9.</strong> sudo vim /etc/hosts<br />
127.0.0.1 coolexample.local<br />
:wq</p>
<p><strong>Note:</strong> For index.php url issue add below lines in /etc/apache2/sites-available/coolexample.local.conf just after DocumentRoot<br />
&lt;Directory /var/www/&gt;<br />
AllowOverride All<br />
&lt;/Directory&gt;</p>
]]></content:encoded>
					
		
		
			</item>
	</channel>
</rss>
