Best of MediumOctober 2024

  1. 1
    Article
    Avatar of medium_jsMedium·2y

    10 Best Resources to Learn Software Architecture in 2025

    Mastering software architecture is crucial for handling complex systems and transitioning from a developer role to an architect role. Essential resources include books like 'Designing Data-Intensive Applications' and courses such as 'The Complete Microservices and Event-Driven Architecture' on Udemy. Additionally, whitepapers and engineering blogs provide valuable insights. These resources cover various architectural styles, principles, and real-world challenges, helping you design scalable, maintainable, and high-performing systems.

  2. 2
    Article
    Avatar of medium_jsMedium·2y

    12 Fundamental Math Theories Needed to Understand AI

    Understanding AI requires knowledge of several key mathematical theories, including the Curse of Dimensionality, Law of Large Numbers, Central Limit Theorem, Bayes’ Theorem, Overfitting and Underfitting, Gradient Descent, Information Theory, Markov Decision Processes, Game Theory, Statistical Learning Theory, Hebbian Theory, and Convolution. These concepts are foundational in AI and enhance understanding of its development.

  3. 3
    Article
    Avatar of medium_jsMedium·2y

    3 Lessons from the Smartest Developers I’ve Worked With

    The author shares lessons learned from working with exceptionally smart developers. Key takeaways include the importance of writing unit tests, being thorough in code reviews, and aligning technical decisions with business goals. The post emphasizes learning from others and aiming higher in one's career for better growth.

  4. 4
    Article
    Avatar of medium_jsMedium·2y

    Understanding LLMs from scratch using middle school math

    This post explains how large language models (LLMs) function using basic math concepts. It covers various components like neural networks, embeddings, self-attention, softmax, and the GPT and transformer architectures. The approach is highly educational, using simplified explanations and visual aids to make the concepts accessible to those with minimal mathematical background.

  5. 5
    Article
    Avatar of medium_jsMedium·2y

    3 Must-Have Tips for improving code readability

    Learn 3 essential tips to improve code readability: use early returns to avoid deeply nested code, avoid negation in conditionals unless it reduces nesting, and create variables as late as possible to reduce complexity and make the code easier to understand.

  6. 6
    Article
    Avatar of medium_jsMedium·2y

    My Machine Learning Journey: Perfect Roadmap for Beginners

    A practical, project-based learning approach can be highly effective for mastering machine learning (ML). Starting with essential math concepts and gaining proficiency in Python and key libraries like NumPy, Pandas, and scikit-learn can lay a strong foundation. Engaging in projects not only aids in learning but also stands out to potential employers. Deploying projects and engaging in competitions like Kaggle or hackathons and networking with the community can further enhance skills. Transitioning to deep learning should be considered once ML fundamentals are mastered, with a focus on techniques like CNNs, RNNs, Transfer Learning, and more advanced methods like GANs and Transformers for specialized tasks.

  7. 7
    Article
    Avatar of medium_jsMedium·2y

    I invented an AI time-machine for investing. I made it free.

    A free AI-powered tool called NexusTrade democratizes financial knowledge and assists users in identifying strong stocks and creating trading strategies. By using a method called backtesting, the tool allows investors to see how their strategies would have performed in the past. This empowers users to improve their financial decision-making using real data and insights. The tool is designed to make advanced financial analysis accessible to everyone, enabling better and more informed investment decisions.

  8. 8
    Article
    Avatar of medium_jsMedium·2y

    Mojo: the Python killer and the future of AI

    Mojo is a new AI-focused programming language introduced by Modular, combining the usability of Python with the performance of C. Developed by AI specialists, including Chris Lattner and Tim Davis, Mojo offers significant speed improvements, hardware programmability, and ease of extensibility for AI models. It supports integration with Python and has open source licensing. Mojo shows promising applications in projects like Llama2 inference, Infermo library, and Stable Diffusion, among others.

  9. 9
    Article
    Avatar of medium_jsMedium·2y

    Design systems: simplifying documentation writing

    Creating a design system documentation can be daunting but essential for effective usage. Documentation is split into intangible parts (principles) and tangible parts (patterns, components). Using a Work Breakdown Structure (WBS) can simplify this task by breaking it into manageable pieces, prioritizing tasks, and tracking progress. Helpful techniques include using templates and examples from other design systems. Always consider the audience, steal useful ideas, aim for functionality over perfection, and maintain documentation through continuous feedback and alignment across teams. Existing systems like Tailwind or Material UI can also be beneficial, especially for smaller teams.

  10. 10
    Article
    Avatar of medium_jsMedium·2y

    5 Levels Of AI Agents (Updated)

    Autonomous AI agents can independently perform complex tasks by leveraging advanced language models. They manage states and transitions, breaking down ambiguous questions into sub-steps processed iteratively. These agents differ from traditional RPA methods through their flexibility, dynamic learning, real-time decision-making, and ability to handle unstructured data. Key features include latency and cost management, tool integration, and the use of Human-in-the-Loop (HITL) for complex tasks.

  11. 11
    Article
    Avatar of medium_jsMedium·2y

    The Easiest Way to Learn and Use Python Today

    Discover how Google Colab with integrated Generative AI tools can revolutionize learning and using Python without installation hassles. Key features include code completion, debugging assistance, code suggestions, automatic graph generation, and an AI-powered help system. This user-friendly cloud-based platform makes coding accessible and efficient, leveraging the power of AI to simplify the development process.

  12. 12
    Article
    Avatar of medium_jsMedium·2y

    Skip The APK: How to Deploy Flutter Mobile Apps as Instant Web Preview 🚀

    Transform your Flutter mobile app demos with Device Preview and GitHub Pages, offering instantly accessible web previews. This approach eliminates the friction of sharing APKs and improves professionalism. Follow simple steps to set up Device Preview, configure your app, and deploy it on GitHub Pages, ensuring your app looks great on different devices.

  13. 13
    Article
    Avatar of medium_jsMedium·2y

    From Data Collection to Deployment: Mastering the Data Science Workflow

    Data science has evolved into a critical tool for strategic decision-making. The workflow from data collection to deployment is not linear but iterative. Key steps include defining the problem, gathering and cleaning data, conducting exploratory data analysis, feature engineering, model selection, training and tuning, evaluating performance, and finally deploying the model. Effective communication of results to stakeholders is also vital.

  14. 14
    Article
    Avatar of medium_jsMedium·2y

    AI Agent Workflows: A Complete Guide on Whether to Build With LangGraph or LangChain

    A comprehensive guide to LangChain and LangGraph, two popular frameworks for building Agentic AI applications. It discusses the key building blocks, how each framework handles core functionalities like tool calling, memory, RAG capabilities, parallelism, and error handling. LangChain is suitable for simpler, more predefined tasks, while LangGraph offers more flexibility for complex, non-linear workflows. The post provides insights on when to use each framework or a combination of both, based on the specific needs of the project.

  15. 15
    Article
    Avatar of medium_jsMedium·2y

    Make Every Application An AI Agent

    Research by Microsoft suggests that AI agents can operate more efficiently by interacting with application programming interfaces (APIs) instead of graphical user interfaces (GUIs). The paper highlights that relying on APIs can minimize the latency and errors associated with UI interactions, making task completion quicker and more reliable. Multimodal large language models also enhance AI agents' performance by allowing them to interact with UIs through a combination of text, images, and buttons. While there are challenges in converting some GUI tasks to APIs, a hybrid approach ensures better task efficiency and coverage.

  16. 16
    Article
    Avatar of medium_jsMedium·2y

    Understanding Support Vector Machines: The Key to Powerful Classification

    Support Vector Machines (SVM) are a powerful classification tool in machine learning that aims to find the optimal decision boundary (hyperplane) to separate two classes of data while maximizing the margin between them. It handles both linearly and non-linearly separable data, using support vectors to determine the hyperplane's position and the kernel trick to transform data into higher dimensions for better separation. SVM is highly versatile, adaptable to real-world messy data with overlapping classes by introducing a soft margin.

  17. 17
    Article
    Avatar of medium_jsMedium·2y

    Make the Switch from Software Engineer to ML Engineer

    Transitioning from a software engineer to a machine learning engineer involves a combination of understanding your motivations, building foundational knowledge, finding supportive managers and companies, and working on relevant projects. Strategic planning, mentorship, and continuous learning are keys to a successful transition. It's also important to make yourself a reliable software engineer to gain trust and control over your career path. Performance evaluation differs between roles, so understanding these criteria is crucial for a successful transition.