Python with Flask for Large-Scale Projects
This document explores Flask's capabilities for large-scale web development covering extensibility, scaling considerations, modular development patterns real-world enterprise applications, and HTTP status code handling for production deployments.
Flask Web Framework
This document introduces Flask, a Python micro web framework, covering its main features, installation process, built-in dependencies, popular community extensions, and key differences from Django.
Building Apps with Generative AI
This document covers the complete AI application development journey, from ideation and model selection through building with RAG and fine-tuning to production deployment with MLOps best practices.
Choose the Right AI Models for Use Case
This document explores the multi-model approach for AI implementation covering model selection criteria, prompt engineering, continuous evaluation and collaborative team strategies for optimal AI deployment.
LCEL Chaining Method
This document describes how to build flexible, composable chains using LangChain Expression Language (LCEL), including prompt templates, pipe operators, runnable primitives, and type coercion mechanisms.
LangChain Chains and Agents for Budilding LLM Applications
This document describes chains in LangChain for generating responses, memory storage mechanisms, and agents for dynamic action sequencing to build sophisticated LLM applications.
LangChain Core Concepts
This document defines LangChain and explores its core components including language models, chat models, chat messages, prompt templates, example selectors, and output parsers for building LLM applications.
LangChain Expression Language
This document introduces LangChain Expression Language (LCEL), covering how to build flexible chains using the pipe operator, structure prompts with templates, and develop reusable patterns for AI applications.
Advanced Methods of Prompt Engineering
This document explores advanced prompt engineering methods including zero-shot, few-shot, chain-of-thought, and self-consistency techniques, along with practical tools and applications for effective LLM interactions.
LangChain
This document introduces LangChain, an open-source Python framework for developing LLM applications, exploring its benefits, practical uses, and integration capabilities with various data types.
In-Context Learning
This document introduces in-context learning and prompt engineering explaining how LLMs can learn new tasks from examples provided in prompts without additional training, along with techniques for crafting effective prompts to guide AI systems.
Guide to Gen Ai
This document provides a comprehensive reference guide to generative AI covering fundamental concepts, key models, applications, and best practices for implementing GenAI solutions.
Natural Language Processing
This document introduces natural language processing, explaining how computers translate between unstructured human language and structured data through techniques like tokenization, stemming, lemmatization, part of speech tagging and named entity recognition.
Foundation Models
This document explores foundation models and large language models, covering their training methodology, advantages in performance and productivity, as well as challenges related to compute costs and trustworthiness in enterprise applications.
Generative AI
This document introduces generative AI, its evolution from discriminative AI and the foundational models that enable creative content generation across text, images, video, and code.
Python Setup and Development Environments
This document covers Python implementations (CPython, PyPy, Jython) development environments, and IDE comparisons. It provides guidance on choosing and setting up the right tools for Python development and data science work.
Postmortems
This document covers postmortem documentation for incident response, including purpose, structure, essential components like root cause and prevention measures, focusing on learning rather than blame, and practicing postmortem writing for continuous improvement. Learning from incidents through documentation.
Communication and Documentation
This document covers communication and documentation strategies during incident response, including tracking troubleshooting activities communicating with affected users, coordinating team roles like incident commander and communications lead, and creating effective post-incident summaries. Incident management best practices.
Debugging Complex Systems
This document covers debugging techniques for complex multi-service systems including log analysis across distributed services, identifying service dependencies, rollback strategies, load balancer troubleshooting, and infrastructure management for cloud-based applications. Distributed system debugging strategies.
AI-Infused Debugging
This document covers AI-infused debugging and paired programming techniques including AI copilot tools like Google Gemini, GitHub Copilot, ChatGPT collaborative debugging workflows, paired programming practices, and best practices for using AI assistants. AI-powered development assistance.
Other Debugging Techniques
This document covers additional debugging techniques including IDE breakpoints, Visual Studio Code debugger features, conditional breakpoints variable inspection, and comparing IDE debugging with command-line approaches. IDE-based debugging strategies.
Debug With PDB
This document covers debugging Python programs using PDB interactive debugger including setting breakpoints, stepping through code, inspecting and modifying variables, and post-mortem debugging. Python's built-in interactive debugger.
Debug With Logging Module
This document covers debugging Python programs using the logging module including log levels, configuration, file output, custom formatters, and best practices for production-grade logging. Professional debugging and monitoring technique.
Debug With Try-Except
This document covers debugging Python programs using try-except blocks for exception handling, including catching specific exceptions, custom exceptions finally clauses, and best practices for graceful error handling. Essential exception handling technique.
Debug With Assert
This document covers debugging Python programs using assert statements including assertion syntax, sanity checks, precondition validation, and best practices for catching bugs early in development. Proactive bug detection technique.
Debug With Print
This document covers debugging Python programs using print statements including strategies for variable inspection, execution flow tracking formatted output techniques, and best practices for effective printf debugging. Simple yet powerful debugging technique.
Python Crash Debugging
This document demonstrates debugging Python exceptions using PDB debugger covering traceback analysis, KeyError investigation, and fixing UTF-8 BOM encoding issues in CSV files. Practical case study of database import script debugging.
Debugging Segmentation Faults
This document demonstrates debugging segmentation faults using core files and GDB, covering commands like backtrace, up, list, and print to analyze crashes and identify off-by-one errors. Practical walkthrough of C program debugging.
Working with Someone Else's Code
This document covers strategies for understanding and fixing problems in code written by others, including reading comments and tests, navigating large codebases, and practicing with open-source projects. Essential skills for maintaining unfamiliar code.
Unhandled Errors
This document explains unhandled errors and exceptions in high-level languages like Python, covering error types, tracebacks, debugging techniques, logging strategies, and making programs resilient. Focus is on proper error handling and user-friendly failure modes.