Best of LobstersMarch 2025

  1. 1
    Article
    Avatar of lobstersLobsters·1y

    A Programmer's Reading List: 100 Articles I Enjoyed (1-50)

    Programmers often share their knowledge through technical articles. This post is the first part of a series, presenting 50 articles focused on topics such as general programming knowledge, software engineering, backend development, technical writing, Python, and Go. Highlights of these articles include insights on learning effectively, managing self-motivation, optimizing Go program performance, the cost and quality of software, and writing helpful error messages.

  2. 2
    Article
    Avatar of lobstersLobsters·1y

    Every line of code is always documented

    Every line of code is inherently documented through the project's version control history. By analyzing commit messages, developers can uncover why specific lines of code were written, making history a valuable tool for understanding and improving code. Effective use of git blame, git log, and other tools can help identify who wrote specific code, when it was added, and the reasoning behind it. Improving commit messages and avoiding unrelated changes in a single commit are stressed as important practices.

  3. 3
    Article
    Avatar of lobstersLobsters·1y

    Why we ditched Next.js and never looked back

    Northflank encountered significant performance and scalability issues with Next.js, leading them to develop a custom server-side rendering solution using React and Express. They observed substantially faster page loads, improved SEO rankings, and reduced crashes after the switch. The team criticizes Next.js for being bloated, slow, and overly complex, especially when used at scale.

  4. 4
    Article
    Avatar of lobstersLobsters·1y

    Golang on the PlayStation 2

    The author explores the concept of running baremetal Go code on a PlayStation 2, using TinyGo and the ps2dev SDK to tackle compatibility challenges. The piece details the specific configurations, issues with 64-bit integer operations, and steps taken to get Go programs running on the console. Code snippets and technical explanations are provided, and future improvements are outlined for advancing this project.

  5. 5
    Article
    Avatar of lobstersLobsters·1y

    "Vibe Coding" vs Reality

    Vibe coding refers to a trend where developers use large language models (LLMs) to produce software from simple descriptions in natural language, without focusing on detailed coding practices. While these tools have made software development more accessible, they suffer from limitations like repeating mistakes, making inappropriate assumptions, and lacking long-term memory. Current models can assist in creating mockups but are not reliable enough for producing secure, production-quality software without human intervention and expertise.

  6. 6
    Article
    Avatar of lobstersLobsters·1y

    GPSTracker - A self-hosted alternative to Google Maps Timeline

    GPSTracker is a self-hosted alternative to Google Maps Timeline that preserves user privacy while offering similar features. The author describes the appeal of storing location data but highlights concerns with Google’s privacy practices and inconsistency in maintaining services. The post explains how to build and run GPSTracker, integrate it with external data sources, and set up ingestion pipelines using Android apps like GPSLogger. The web app uses OpenStreetMap for displaying data and includes timelines and various statistics.

  7. 7
    Article
    Avatar of lobstersLobsters·1y

    SpacetimeDB

    SpacetimeDB combines a relational database and server into one, allowing clients to connect directly to the database and execute logic within it. This eliminates the need for traditional web or game servers, reducing the use of Docker, Kubernetes, VMs, microservices, and extensive ops infrastructure. SpacetimeDB has facilitated the development of the massively multiplayer game BitCraft, handled by a small team, by implementing all backend logic, real-time player positions, and persistent state as a SpacetimeDB module.

  8. 8
    Article
    Avatar of lobstersLobsters·1y

    Slack: The Art of Being Busy Without Getting Anything Done

    Slack, initially seen as an improvement over email and older chat systems, has significant downsides. It fosters a culture of constant communication, which can lead to decreased productivity and burnout. While it's beneficial for quick interactions, it often turns into a tool for micromanagement and disrupts the workflow of both junior and senior employees. To improve effectiveness, teams might consider limiting the use of such tools and focusing on more straightforward communication methods.

  9. 9
    Article
    Avatar of lobstersLobsters·1y

    Stop Using and Recommending React

    The post asserts that React may no longer be a good choice for many projects, highlighting its various drawbacks including performance issues, the complexity of proper usage, and the limitations of the new React-Compiler. It suggests that though React is popular, it's not always suitable, especially for static-content-heavy projects. Alternative frameworks like Vue, Svelte, and Astro are recommended based on specific use-cases.

  10. 10
    Article
    Avatar of lobstersLobsters·1y

    Why Local-First Software Is the Future and its Limitations

    Local-first software aims to improve user experience by storing most data on the client, allowing apps to function offline and provide instant feedback. It leverages advances in browser storage APIs, WebAssembly, and new frameworks to enhance data synchronization and offline resilience. While this approach offers numerous benefits, such as reduced server load and better user privacy, it introduces challenges like conflict resolution and data synchronization. Understanding when to use local-first, online-first, or a hybrid approach is crucial for developers.

  11. 11
    Article
    Avatar of lobstersLobsters·1y

    The Cool Blog

    The author's journey with macOS began in school, using machines from iMacs to MacBooks but with limited exploration outside a restrictive environment. Their deeper engagement began with Hackintoshing, starting with a Dell Inspiron that ultimately succeeded post 2020 lockdown. The post covers the intricate details and issues of Hackintoshing, from USB port limits to configuring ACPI patches. Through attempts on multiple laptops, the author shares their challenges and the knowledge gained from making macOS run on incompatible hardware. Despite the end of Hackintoshing looming with Apple's switch to ARM, the author appreciates the learning experience it provided.

  12. 12
    Article
    Avatar of lobstersLobsters·1y

    This Linux laptop maker called me a Zombie

    The author shared their challenging experience with MALIBAL, a Linux laptop manufacturer, after an accidental oversight in a sponsored video. The company responded with harsh language and ended the sponsorship abruptly. The post includes accounts of similar aggressive behaviors by MALIBAL towards other customers and professionals, highlighting their unconventional business practices and strict restrictions on accessing their website.

  13. 13
    Article
    Avatar of lobstersLobsters·1y

    shaarli/Shaarli: The personal, minimalist, super-fast, database free, bookmarking service

    Shaarli is a personal, minimalist, super-fast, and database-free bookmarking service. It is designed for single-user use and can be installed on your own server. A public demo instance is available that runs the latest development version of Shaarli. The service is free software with detailed licensing information available.

  14. 14
    Article
    Avatar of lobstersLobsters·1y

    Making sure you're not a bot!

    The post reports the completion of a task in 445 milliseconds, taking 3,009,490 iterations.

  15. 15
    Article
    Avatar of lobstersLobsters·1y

    Android's Linux Terminal app is now widely available on Pixels, and here's how to get it

    The Linux Terminal app is now available for Pixel devices with the latest Android 15 update. It allows users to run a Debian-based Linux environment via a virtual machine. While missing some features like GUI app support, it marks a significant step forward for developers and power users.

  16. 16
    Article
    Avatar of lobstersLobsters·1y

    A Review of Helix after 1.5 Years

    Helix is a powerful modal terminal editor that builds on Vim's functionalities while providing a more integrated experience with fewer configurations required. It lacks a plugin system, which reduces complexity but limits extensibility. Core features, such as file-pickers, language server support, and robust selection manipulation, make it highly versatile and easy to use out of the box. Small adjustments are needed for Vim users due to differences in key mappings and the absence of some Vim-specific features. Helix is particularly well-suited for users seeking a low-configuration, highly functional editor that supports a wide range of programming languages.

  17. 17
    Article
    Avatar of lobstersLobsters·1y

    Why do I find Rust inadequate for codecs?

    The post discusses the author's preference for implementing codecs in C over Rust due to performance considerations. It outlines Rust's memory safety features and efficiency, but also highlights its limitations for low-level, performance-sensitive tasks such as codecs. Examples from existing codec implementations in PAQ8, bzip3, and LZ4 illustrate the performance-critical nature of these applications and how Rust's bounds checks and ownership model may introduce overheads. The author concludes that C remains more ergonomic for these specific needs.