Best of General Programming โ€” August 2024

  1. 1
    Video
    Avatar of indentlyIndentlyยท2y

    Learn Python OOP in under 20 Minutes

    Learn about classes in Python, including creating and using them, with practical examples such as a microwave manufacturer. Understand key concepts like the class keyword, camel case naming convention, type annotations, initializers, instance creation, self keyword, methods for class functionality, and Dunder methods for defining class operations and representations.

  2. 2
    Article
    Avatar of communityCommunity Picksยท2y

    Prompt Engineering For Developers: 11 Concepts and Examples ๐ŸŽฏ๐Ÿง™โ€โ™‚๏ธโšก

    Prompt engineering involves refining inputs to AI models like ChatGPT to get optimal responses. Key techniques include making prompts specific, using active voice, giving models time to think, avoiding prompt injections, and utilizing few-shot and zero-shot prompting. It also involves setting constraints, reducing hallucinations, using delimiters, refining prompts iteratively, testing changes systematically, and asking the model to adopt a persona for better context and relevance.

  3. 3
    Article
    Avatar of javarevisitedJavarevisitedยท2y

    Which Programming Books Would You Buy If you got 100$ to Spend?

    A community discussion on which programming books to buy with a $100 budget, highlighting popular and timeless recommendations like 'Clean Code', 'Effective Java', and 'Algorithm Design Manual'. The post encourages sharing personal choices and provides a rundown of frequently suggested books, including those on algorithms, design patterns, and system design.

  4. 4
    Video
    Avatar of beabetterdevBe A Better Devยท2y

    Learn Docker & Deploy to AWS - Beginner Tutorial

  5. 5
    Article
    Avatar of thedevcraftThe Dev Craftยท2y

    "The Idea Guy" pitching his startup to developers

    A humorous post about 'The Idea Guy' pitching his startup to developers. The linked content likely highlights the challenges and stereotypes involved in such scenarios, particularly focusing on no-code development platforms.

  6. 6
    Article
    Avatar of communityCommunity Picksยท2y

    Software Design Principles in Note-taking

    Applying software design principles to note-taking can enhance clarity and organization. Principles like Single Responsibility, Open-Close, Don't Repeat Yourself, and Single Source of Truth can help create more maintainable and structured notes. Tools like Obsidian and Logseq can be used effectively to implement these practices, providing a unified and flexible note-taking system.

  7. 7
    Article
    Avatar of kirupaKirupaยท2y

    Bubble Sort: A Detailed Deep-Dive ๐Ÿ›

    Bubble sort is one of the simplest and least efficient sorting algorithms. It sorts a list by repeatedly stepping through and comparing adjacent elements, swapping them if they're in the wrong order. This process is repeated until the list is sorted. Despite its inefficiency (O(n^2) time complexity in average and worst cases), bubble sort is essential for understanding basic sorting concepts and why more efficient algorithms are preferred. The algorithm's primary merit is its simplicity and ease of implementation.

  8. 8
    Article
    Avatar of baeldungBaeldungยท2y

    Data Oriented Programming in Java

    This post introduces Data-Oriented Programming (DOP) and contrasts it with Object-Oriented Programming (OOP). It highlights the principles of DOP such as separating data from logic, using immutable data structures, and maintaining data in a valid state. The post includes a practical exercise implementing the game Yahtzee using modern Java features like records, sealed interfaces, and pattern matching. Key distinctions between DOP and OOP are discussed, with examples illustrating the implementation and modeling of data and behavior separately.

  9. 9
    Video
    Avatar of primeagenThePrimeTimeยท2y

    Laravel vs Terminal

    A group of developers, led by Wes and Scott from Syntax, provided live commentary on an entertaining basketball game between two teams named Laravel and Terminal. The match featured playful banter and competitive spirit with both teams showing strong performance. Highlights included humorous moments, intense gameplay, and various notable developers participating. Despite Laravel's initial strength, Terminal took a strong lead, ultimately winning the game 41-28.

  10. 10
    Article
    Avatar of dotnet.NET Blogยท2y

    Announcing .NET Community Toolkit 8.3

    The .NET Community Toolkit 8.3 introduces support for .NET 8 and NativeAOT, along with multiple performance improvements and bug fixes. Key changes include annotation updates for trimming and AOT compatibility, a new target framework for MVVM Toolkit, and a pay-for-play model to remove overhead when unused. The release also addresses various issues reported by the community, enhancing overall toolkit functionality.

  11. 11
    Article
    Avatar of communityCommunity Picksยท2y

    I just crossed $1 million on GitHub Sponsors. ๐Ÿ’ฐ๐ŸŽ‰

    The author shares their journey of earning over a million dollars through GitHub Sponsors, detailing strategies for monetizing open source projects. They emphasize the importance of building relationships, creating valuable content, and diversifying revenue streams to mitigate platform risks. Key recommendations include producing screencasts, engaging with the community, leveraging email lists, and exploring additional payment processors beyond GitHub. The post highlights the challenges of maintaining open source projects and the necessity of selling products to sustain financial stability.

  12. 12
    Video
    Avatar of lundeveloperLun Dev Codeยท2y

    Teleport To The Future in CSS Animation With Animation-Delay

  13. 13
    Article
    Avatar of trunkioTrunk.ioยท2y

    How do you stay relevant with all the constant new things?

    Keeping up with constant innovations in tech can be challenging. The post requests tips from different platforms to compile them into a blog, aiming to help fellow developers stay updated.

  14. 14
    Article
    Avatar of codemazeCode Mazeยท2y

    Differences Between Record Struct and Record Class in C#

    The post highlights the differences between record structs and record classes in C#. Record classes are reference types allocated on the heap, while record structs are value types allocated on the stack. Record classes support inheritance and are immutable by default when using a primary constructor or init-only setters. In contrast, record structs do not support inheritance and require the 'readonly' keyword for immutability. These types are primarily used for lightweight, immutable data structures.

  15. 15
    Article
    Avatar of unityUnityยท2y

    Game programming patterns with Unity 6

    An updated edition of the e-book *Level up your code with design patterns and SOLID* for Unity is now available, featuring enhanced content and a sample project based on Unity 6. This guide covers key design patterns including Factory, Object Pooling, Singleton, Command, State, Observer, MVP, MVVM, Strategy, Flyweight, and Dirty Flag, and includes actionable examples for implementing SOLID principles. The sample project can be downloaded from the Unity Asset Store and follows the concepts explained in the guide.

  16. 16
    Article
    Avatar of hnHacker Newsยท2y

    j3s.sh

    The post expresses frustration with the complex and cluttered output of command-line utilities like `df` and `mount` in the Linux ecosystem. It critiques the disjointed design arising from independently developed programs being merged together, a phenomenon termed 'trainwreck design.' The author discusses the drawbacks of bazaar-style (open community) development where a coherent vision is often lost. They suggest a hybrid model, 'the hive,' with leaders who inspire and guide the project without acting as dictators, aiming to balance community collaboration and coherent design.

  17. 17
    Article
    Avatar of hnHacker Newsยท2y

    How I program in 2024

    A programmer reflects on the evolution of their coding practices from 2015 to 2024. They discuss moving away from heavy use of tests and version control, towards more intuitive and context-specific programming strategies. Key insights include the importance of simplicity, avoiding unnecessary abstractions, and the value of periodically rewriting software from scratch to better understand and optimize its function.

  18. 18
    Article
    Avatar of logrocketLogRocketยท2y

    Advanced monorepo management with Turborepo 2.0

    Turborepo 2.0, a tool developed by Vercel for managing monorepos in JavaScript/TypeScript, introduces several new features to enhance development efficiency. It now allows selective log viewing and interactive task execution via stdin. The updated version also supports parallel task execution with a 'watcher' feature for automatic task re-runs on code changes, and improved caching mechanisms to speed up development. The release is aimed at making monorepo management faster and easier, with strong support for both small and large projects.

  19. 19
    Article
    Avatar of justjavaJust Javaยท2y

    Serialization in Java: A Quick Insight on serialVersionUID ๐Ÿš€

    The post delves into the significance of serialVersionUID in Java serialization. It explains how this unique identifier ensures compatibility during deserialization, preventing InvalidClassException. Explicitly declaring serialVersionUID helps maintain backward compatibility, avoid issues in distributed environments, and control serialization changes. Guidance is provided on when to update the serialVersionUID based on the nature of class changes.

  20. 20
    Article
    Avatar of communityCommunity Picksยท2y

    nolanlawson/fuite: A tool for finding memory leaks in web apps

    Fuite is a CLI tool designed to help identify memory leaks in web applications. It uses Puppeteer to automate browsers, running scenarios multiple times to detect leaks in objects, event listeners, DOM nodes, and collections. Fuite provides multiple options for custom scenarios, saving heap snapshots, and running in debug mode. The results can be output to a JSON file for detailed analysis. It's mainly useful for SPAs due to its method of internal link navigation and back-clicking to detect leaks.

  21. 21
    Article
    Avatar of ardlbsArdan Labsยท2y

    Ep. 12: Implementing Robust Transaction Handling in Go

    Bill demonstrates advanced transaction management in Go, focusing on middleware integration, tracking commits and rollbacks, and maintaining data integrity. He explains creating flexible transaction management interfaces, using context to pass transaction objects, and integrating transaction handling with authentication and authorization middleware for secure data processing.

  22. 22
    Article
    Avatar of uberUber Engineeringยท2y

    Continuous deployment for large monorepos

    Uber has reimagined its continuous deployment (CD) strategy to improve the automation, safety, and user experience of managing its numerous microservices, especially those within large monorepos. They transitioned to using a unified CD system, Up CD, which integrates closely with existing testing and monitoring tools. This shift has resulted in a significant increase in automated deployments and a reduction in production incidents, despite an increase in the number of changes being deployed. New mechanisms were also introduced to mitigate risks associated with widely-shared code changes.

  23. 23
    Article
    Avatar of kirupaKirupaยท2y

    Merge Sort: A Simple Step-by-Step Walkthrough ๐Ÿ˜€

    Merge Sort is a popular, stable, and efficient sorting algorithm with a consistent time complexity of O(n log n) and reasonable space usage. The process involves repeatedly dividing the input into smaller sections and then merging and sorting them. A detailed JavaScript implementation is provided, demonstrating the method's practicality and ease of understanding.