Best of General ProgrammingJanuary 2025

  1. 1
    Article
    Avatar of devtoolsDev Tools·1y

    is-a.dev: A Free .dev Subdomain for Your Projects

    is-a.dev offers a free service that provides subdomains under the .dev top-level domain for developers and their projects. It's suitable for personal portfolios, open-source repositories, documentation, or small apps, giving your work a professional online presence.

  2. 2
    Article
    Avatar of bytebytegoByteByteGo·1y

    EP146: The Open Source AI Stack

    The open-source AI stack provides numerous tools and frameworks across various components including Frontend, Embeddings, Backend, Data Retrieval, and Large-Language Models, making AI development accessible without heavy costs. Important algorithms for system design interviews and comparisons of authentication methods like Cookies, Sessions, JWT, and PASETO are discussed. Additionally, TikTok's approach to managing a 200K file frontend MonoRepo with the Sparo tool highlights significant performance optimizations in Git operations.

  3. 3
    Article
    Avatar of colkgirlCode Like A Girl·1y

    Remote Work for Developers in 2025: Opportunities and Challenges

    Remote work for developers has transitioned from a perk to a standard practice, and by 2025, it's expected to see further transformation with new tools like AI-powered code reviews and virtual reality meetings. Effective remote work involves mastering advanced tools, collaborating across different time zones, and managing time efficiently. Success in this environment requires flexibility, continuous learning, and building strong digital relationships.

  4. 4
    Article
    Avatar of pragmaticengineerThe Pragmatic Engineer·1y

    Are LLMs making StackOverflow irrelevant?

    The volume of questions on StackOverflow has significantly declined since the release of ChatGPT in November 2022. This trend, which began before the pandemic, highlights how LLMs (large language models) provide quicker and more effective solutions for developers. Criticism of StackOverflow's moderation policies has also contributed to the downturn. The decrease in questions may lead to outdated content and a vicious cycle of reduced search engine traffic. StackOverflow's situation underscores the disruptive impact of GenAI on stable businesses. The future of coding Q&A data for LLMs remains uncertain.

  5. 5
    Article
    Avatar of lonely_programmerLonely Programmer·1y

    Great Idea! Lets implement it...

  6. 6
    Article
    Avatar of awegoAwesome Go·1y

    Clean Architecture: A Practical Example of Dependency Inversion in Go using Plugins

    The Dependency Inversion Principle (DIP) is crucial for maintainable software architecture, yet often neglected. Go’s plugin system provides a practical implementation of DIP by enabling modularity and extension without recompilation. This approach aligns with Clean Architecture principles and offers benefits such as simplified deployment and isolation of components. The post illustrates a proof-of-concept where plugins modify data through a transformer interface, reinforcing the importance of dependency on abstractions.

  7. 7
    Article
    Avatar of devtoDEV·1y

    Shadow DOM: Building Perfectly Encapsulated Web Components

    Shadow DOM provides true encapsulation for web components by attaching a hidden separate DOM tree to an element in the regular DOM tree. This encapsulation prevents styles and scripts from leaking in or out, making components modular and easily reusable. It’s particularly useful for styling third-party widgets, building reusable UI components, and enabling custom theming. Despite challenges like browser support and a learning curve, Shadow DOM helps create scalable, maintainable, and reliable web components.

  8. 8
    Article
    Avatar of dailydoseofdsDaily Dose of Data Science | Avi Chawla | Substack·1y

    Descriptors in Python

    Descriptors in Python offer a way to manage access to class attributes without the redundancy of getters and setters. By implementing methods like __get__, __set__, and __set_name__, a descriptor can handle validation and assignment logic efficiently. This approach not only reduces code duplication but ensures attributes are validated before object creation, enhancing code elegance and maintainability.

  9. 9
    Article
    Avatar of lnLaravel News·1y

    Immutable Value Objects in PHP and Laravel With the Bags Package

    The Bags package in PHP and Laravel helps create immutable value objects, providing type safety, data casts, and built-in validation. It can replace regular arrays in your code to enhance data encapsulation. The package integrates with Laravel's Collection and Validation features and supports Eloquent casts and injecting validated Bag objects into controllers. Key features include immutability, strong typing, value casting, collection support, and composability. The package also includes an Artisan command to generate Bags.

  10. 10
    Article
    Avatar of infoworldInfoWorld·1y

    Is ChatGPT making us stupid?

    Developers increasingly rely on LLMs like ChatGPT for coding assistance, potentially sacrificing deep learning and critical thinking. With platforms like Stack Overflow in decline, concerns arise about where future AI models will source their training data. The balance between short-term productivity gains and long-term skill development remains crucial.

  11. 11
    Article
    Avatar of netguruNetguru·1y

    Java Profiler: Essential Tool for Optimizing Application Performance

    Java profilers are essential tools for developers to identify bottlenecks, optimize code, and enhance application performance. These tools monitor memory usage, function execution times, and call frequencies, providing valuable insights into code behavior. Java profilers come in sampling and instrumentation types, each offering different levels of detail and performance impact. With tools such as Java Mission Control and Java Flight Recorder, developers can tackle performance issues efficiently, even in production environments.

  12. 12
    Article
    Avatar of planetpythonPlanet Python·1y

    Decorators | Pydon't 🐍

    Learn about the decorator pattern in Python, why it exists, how to use it, and when to use it. This post explains how the decorator pattern helps write more modular and efficient code, with practical examples like caching and timing functions. It also covers creating custom decorators, using functools.wraps to preserve function metadata, and decorators with arguments. Additionally, it touches on class decorators and their use cases.

  13. 13
    Article
    Avatar of baeldungBaeldung·1y

    Why super.super.method() is Not Allowed in Java

    Java restricts the use of super.super.method() to maintain principles of encapsulation and abstraction. This decision ensures a class only interacts with its immediate parent, preventing complexity and maintaining a clear inheritance hierarchy. Alternatives such as exposing necessary methods in the parent class are recommended to achieve desired functionality.

  14. 14
    Article
    Avatar of watercoolerWatercooler·1y

    This is the way

  15. 15
    Article
    Avatar of justjavaJust Java·1y

    Factory Design Pattern

    The Factory Design Pattern is a creational pattern that centralizes object creation logic, providing a way to instantiate objects without exposing the instantiation details to the client. This promotes loose coupling, easier maintenance, and extensibility. A real-world example in a healthcare ERP system demonstrates how different reports (e.g., Pharmacy, Billing, Inpatient) can be generated using this pattern. The pattern is beneficial for runtime object type determination, decoupling client code, and centralizing complex creation logic.