Best of LobstersMarch 2024

  1. 1
    Article
    Avatar of lobstersLobsters·2y

    I'm a programmer and I'm stupid

    A programmer shares their experience of feeling limited in their mental capacity and discusses their approach to programming with simple languages and minimal dependencies.

  2. 2
    Article
    Avatar of lobstersLobsters·2y

    Why Facebook doesn’t use Git

    Facebook chose to use Mercurial instead of Git due to performance issues and the willingness of the Mercurial community to collaborate. They considered alternatives such as Perforce and Bitkeeper but ultimately found Mercurial to have cleaner architecture. Facebook successfully migrated their engineering organization to Mercurial.

  3. 3
    Article
    Avatar of lobstersLobsters·2y

    The Fastest In-Memory Data Store

    Dragonfly is a performant and cost-efficient in-memory data store that offers 25x more throughput and 12x faster snapshotting than Redis. It is an easy drop-in replacement for Redis without any code changes.

  4. 4
    Article
    Avatar of lobstersLobsters·2y

    Java is becoming more like Rust, and I am here for it!

    Java is incorporating some of Rust's features, such as immutability and algebraic data types, which will strengthen Java's position as a popular programming language in the business world.

  5. 5
    Article
    Avatar of lobstersLobsters·2y

    The Real C++ Killers (Not You, Rust)

    The author discusses their struggle with C++ addiction and explores other languages that provide competitive advantages over C++. They introduce Spiral, a research project that optimizes code for hardware, and Numba, a Python compiler that offers C++ performance. The author also discusses the ForwardCom proposal, which aims to create a universal instruction set architecture for forward compatibility in assembly programming.

  6. 6
    Article
    Avatar of lobstersLobsters·2y

    This TypeScript type haunted my dreams

    The post explores the 'OneOf' TypeScript type and its implementation through the 'AllowOnly', 'Pick', and 'Omit' types. It explains how the 'AllowOnly' type creates a stricter version of 'Pick', and how 'Pick' and 'Omit' are used to select and exclude specific keys from a type.

  7. 7
    Article
    Avatar of lobstersLobsters·2y

    A new serverless Postgres platform

    Xata announces the launch of a new serverless Postgres platform, combining the features of Xata with the functionality of Postgres. The platform offers high availability, scalability, and cost efficiency, with a generous free tier. It also introduces logical database branches and integrates with pgroll for zero-downtime schema migrations. The Xata platform provides a data-centric solution with features like file attachments and full-text search.

  8. 8
    Article
    Avatar of lobstersLobsters·2y

    Scalable CSS

    Learn about the characteristics of a scalable CSS approach and recommended tools for achieving it.

  9. 9
    Article
    Avatar of lobstersLobsters·2y

    A Javascript Nightmare

    The post describes the author's frustrating experience with a JavaScript issue related to exporting PDF files. The investigation led to suspicions on Nginx, AWS WAF, and S3 buckets, but ultimately the issue was caused by library and package version compatibility. The post emphasizes the challenges and risks of the JavaScript ecosystem.

  10. 10
    Article
    Avatar of lobstersLobsters·2y

    githubnext/monaspace: An innovative superfamily of fonts for code

    Monaspace is a monospaced type superfamily with distinct variable axis typefaces and coding ligatures. It offers font installation instructions for macOS, Windows, and Linux. The post also explains how to set the font family and enable texture healing and coding ligatures in VS Code.

  11. 11
    Article
    Avatar of lobstersLobsters·2y

    My list of challenging software projects some programmers should try

    Explore challenging software projects, including implementing data structures, writing an HTTP server in C + POSIX, creating an esoteric programming language, and developing a calculator for symbolic differentiation.

  12. 12
    Article
    Avatar of lobstersLobsters·2y

    Latency Numbers Every Programmer Should Know

    Important latency numbers that every programmer should be aware of to optimize code performance.

  13. 13
    Article
    Avatar of lobstersLobsters·2y

    Building an interactive shell in Golang

    Learn how to build an interactive shell in Go using the abiosoft/ishell package. This tutorial covers configuration options, launching the shell, handling predefined commands or free-form input, interrupting execution, and adding shell history and tab completion. Find out the best option for building interactive shells in Go.

  14. 14
    Article
    Avatar of lobstersLobsters·2y

    What I like about Go

    Benefits of using Go for deployment and management, such as good performance, ease of cross-compilation, containerization, and fast startup times. Advantages of Go's balance between low-level and high-level, static typing, ergonomic concurrent programming, standardized tooling, and straightforward code constructs.

  15. 15
    Article
    Avatar of lobstersLobsters·2y

    icyphox/legit: web frontend for git

    Legit is a git web frontend written in Go that features fully customizable templates and stylesheets, cloning over HTTP(s), and improved HTML. It uses yaml for configuration with options for specifying repository paths, readme files, main branches, and more.

  16. 16
    Article
    Avatar of lobstersLobsters·2y

    DuckDB as the New jq

    DuckDB is a database project similar to SQLite that has native support for reading and parsing JSON data without extra dependencies. It provides a simpler and more familiar SQL syntax compared to the powerful but complex syntax of jq.

  17. 17
    Article
    Avatar of lobstersLobsters·2y

    What is this architecture called?

    The post discusses a different architecture than the classical three-tier architecture, focusing on the presentation tier, logic tier, and data tier. It also explores the bifurcation of the logic tier's server into hot path categories.

  18. 18
    Article
    Avatar of lobstersLobsters·2y

    ad-si/invoice-maker: Generate beautiful invoices from simple Typst or YAML data records

    Generate beautiful invoices from a simple data record using Typst. Supports multiple languages and customization options. Free and open source.

  19. 19
    Article
    Avatar of lobstersLobsters·2y

    How we replaced Vagrant with devenv

    The author shares their experience replacing Vagrant with devenv for their development environment. They encountered problems with Vagrant's shared folder and slow VM recreation. They considered containers but found them less ideal for development. They discovered devenv, a Nix-based alternative, and built a proof of concept. They faced challenges with integrating with PHPStorm and issues with WSL. Despite the challenges, the final setup improved speed and browser response times. They used home-manager for WSL configuration and aimed for a standardized development baseline. The author sees potential in the Nix ecosystem.

  20. 20
    Article
    Avatar of lobstersLobsters·2y

    The Linux Desktop Is Finally Great (both Ubuntu and Firefox)

    Ubuntu and Firefox on the Linux desktop are great, with smooth performance and new features like translations. Lutris has some issues, but overall, the Linux desktop proves to be a worthy alternative to macOS.

  21. 21
    Article
    Avatar of lobstersLobsters·2y

    IAM Is The Worst

    IAM in cloud providers has become increasingly complex and difficult to manage, causing challenges for users. GCP's approach to IAM is criticized for its folder structure and reliance on predefined roles. The solution proposed is to use service accounts and viewer accounts to track and adjust permissions based on actual usage.

  22. 22
    Article
    Avatar of lobstersLobsters·2y

    How I use git worktrees

    Learn how to use git worktrees to store branches of your repository in separate directories. This allows you to switch between branches by changing directories, making your workflow more efficient and organized.

  23. 23
    Article
    Avatar of lobstersLobsters·2y

    Alpine AJAX

    Learn how radio controlled HTML elements work and how to make them update as you type.

  24. 24
    Article
    Avatar of lobstersLobsters·2y

    devenv 1.0: Rewrite in Rust

    devenv 1.0 has been released with new features and improvements. It is a rewrite in Rust from PythonRust. The migration guide includes deprecations and breaking changes. Future features planned include running devenv in a container, generating containers with a full environment, macOS support for generating containers, and native mapping of dependencies.

  25. 25
    Article
    Avatar of lobstersLobsters·2y

    Json Formatting for Human Beings

    A post about displaying JSON to people without being too technical and losing information about the underlying JSON object.