<!-- mobian-agent-page publisher="dailydev" canonical="https://daily.dev/sources/lobsters/best-of/2024/03" -->

---
title: Best Lobsters posts — March 2024 | daily.dev
description: The most upvoted Lobsters posts from March 2024, curated by the daily.dev community.
canonical: https://daily.dev/sources/lobsters/best-of/2024/03
twitter:card: summary_large_image
twitter:site: @dailydotdev
og:url: https://daily.dev/sources/lobsters/best-of/2024/03
og:type: website
og:site_name: daily.dev
og:title: Best Lobsters posts — March 2024 | daily.dev
og:description: The most upvoted Lobsters posts from March 2024, curated by the daily.dev community.
og:image: https://media.daily.dev/image/upload/s--VAY5ToZt--/f_auto/v1724209435/public/daily.dev%20-%20open%20graph
---

# Best of Lobsters — March 2024

1. 1  
[](https://daily.dev/posts/i-m-a-programmer-and-i-m-stupid-keunwjpk0 "I'm a programmer and I'm stupid")  
Article  
![Avatar of lobsters](https://media.daily.dev/image/upload/s--tl8v_Fku--/f_auto,t_logo/v1698841318/logos/lobste.jpg)Lobsters · 3y  
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.

1.2K  
111
2. 2  
[](https://daily.dev/posts/why-facebook-doesn-t-use-git-km6ncmux7 "Why Facebook doesn’t use Git")  
Article  
![Avatar of lobsters](https://media.daily.dev/image/upload/s--tl8v_Fku--/f_auto,t_logo/v1698841318/logos/lobste.jpg)Lobsters · 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.  
102  
7
3. 3  
[](https://daily.dev/posts/the-fastest-in-memory-data-store-cl0wz4bwv "The Fastest In-Memory Data Store")  
Article  
![Avatar of lobsters](https://media.daily.dev/image/upload/s--tl8v_Fku--/f_auto,t_logo/v1698841318/logos/lobste.jpg)Lobsters · 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.  
78  
8
4. 4  
[](https://daily.dev/posts/java-is-becoming-more-like-rust-and-i-am-here-for-it--gizqviaep "Java is becoming more like Rust, and I am here for it!")  
Article  
![Avatar of lobsters](https://media.daily.dev/image/upload/s--tl8v_Fku--/f_auto,t_logo/v1698841318/logos/lobste.jpg)Lobsters · 3y  
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.  
76  
9
5. 5  
[](https://daily.dev/posts/the-real-c-killers-not-you-rust--7iquyq6dn "The Real C++ Killers (Not You, Rust)")  
Article  
![Avatar of lobsters](https://media.daily.dev/image/upload/s--tl8v_Fku--/f_auto,t_logo/v1698841318/logos/lobste.jpg)Lobsters · 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.  
41
6. 6  
[](https://daily.dev/posts/this-typescript-type-haunted-my-dreams-yovf69d22 "This TypeScript type haunted my dreams")  
Article  
![Avatar of lobsters](https://media.daily.dev/image/upload/s--tl8v_Fku--/f_auto,t_logo/v1698841318/logos/lobste.jpg)Lobsters · 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.  
33
7. 7  
[](https://daily.dev/posts/a-new-serverless-postgres-platform-gvrecsfgk "A new serverless Postgres platform")  
Article  
![Avatar of lobsters](https://media.daily.dev/image/upload/s--tl8v_Fku--/f_auto,t_logo/v1698841318/logos/lobste.jpg)Lobsters · 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.  
26
8. 8  
[](https://daily.dev/posts/scalable-css-6coast1zi "Scalable CSS")  
Article  
![Avatar of lobsters](https://media.daily.dev/image/upload/s--tl8v_Fku--/f_auto,t_logo/v1698841318/logos/lobste.jpg)Lobsters · 3y  
Scalable CSS  
Learn about the characteristics of a scalable CSS approach and recommended tools for achieving it.  
26  
1
9. 9  
[](https://daily.dev/posts/a-javascript-nightmare-abbw7ozww "A Javascript Nightmare")  
Article  
![Avatar of lobsters](https://media.daily.dev/image/upload/s--tl8v_Fku--/f_auto,t_logo/v1698841318/logos/lobste.jpg)Lobsters · 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.  
25  
6
10. 10  
[](https://daily.dev/posts/githubnext-monaspace-an-innovative-superfamily-of-fonts-for-code-bdjh7c8xs "githubnext/monaspace: An innovative superfamily of fonts for code")  
Article  
![Avatar of lobsters](https://media.daily.dev/image/upload/s--tl8v_Fku--/f_auto,t_logo/v1698841318/logos/lobste.jpg)Lobsters · 3y  
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.  
25
11. 11  
[](https://daily.dev/posts/my-list-of-challenging-software-projects-some-programmers-should-try-hk6cbn9na "My list of challenging software projects some programmers should try")  
Article  
![Avatar of lobsters](https://media.daily.dev/image/upload/s--tl8v_Fku--/f_auto,t_logo/v1698841318/logos/lobste.jpg)Lobsters · 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.  
24
12. 12  
[](https://daily.dev/posts/latency-numbers-every-programmer-should-know-hrjk8q433 "Latency Numbers Every Programmer Should Know")  
Article  
![Avatar of lobsters](https://media.daily.dev/image/upload/s--tl8v_Fku--/f_auto,t_logo/v1698841318/logos/lobste.jpg)Lobsters · 2y  
Latency Numbers Every Programmer Should Know  
Important latency numbers that every programmer should be aware of to optimize code performance.  
22  
2
13. 13  
[](https://daily.dev/posts/building-an-interactive-shell-in-golang-min0gqcyg "Building an interactive shell in Golang")  
Article  
![Avatar of lobsters](https://media.daily.dev/image/upload/s--tl8v_Fku--/f_auto,t_logo/v1698841318/logos/lobste.jpg)Lobsters · 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.  
21  
1
14. 14  
[](https://daily.dev/posts/what-i-like-about-go-tzrwilad7 "What I like about Go")  
Article  
![Avatar of lobsters](https://media.daily.dev/image/upload/s--tl8v_Fku--/f_auto,t_logo/v1698841318/logos/lobste.jpg)Lobsters · 3y  
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.  
21  
2
15. 15  
[](https://daily.dev/posts/icyphox-legit-web-frontend-for-git-ptzne7dkb "icyphox/legit: web frontend for git")  
Article  
![Avatar of lobsters](https://media.daily.dev/image/upload/s--tl8v_Fku--/f_auto,t_logo/v1698841318/logos/lobste.jpg)Lobsters · 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.  
20
16. 16  
[](https://daily.dev/posts/duckdb-as-the-new-jq-fg5duzzqj "DuckDB as the New jq")  
Article  
![Avatar of lobsters](https://media.daily.dev/image/upload/s--tl8v_Fku--/f_auto,t_logo/v1698841318/logos/lobste.jpg)Lobsters · 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.  
15  
1
17. 17  
[](https://daily.dev/posts/what-is-this-architecture-called--jmo14mxie "What is this architecture called?")  
Article  
![Avatar of lobsters](https://media.daily.dev/image/upload/s--tl8v_Fku--/f_auto,t_logo/v1698841318/logos/lobste.jpg)Lobsters · 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.  
15  
3
18. 18  
[](https://daily.dev/posts/ad-si-invoice-maker-generate-beautiful-invoices-from-simple-typst-or-yaml-data-records-0xboktiih "ad-si/invoice-maker: Generate beautiful invoices from simple Typst or YAML data records")  
Article  
![Avatar of lobsters](https://media.daily.dev/image/upload/s--tl8v_Fku--/f_auto,t_logo/v1698841318/logos/lobste.jpg)Lobsters · 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.  
14
19. 19  
[](https://daily.dev/posts/how-we-replaced-vagrant-with-devenv-obh0jjc2d "How we replaced Vagrant with devenv")  
Article  
![Avatar of lobsters](https://media.daily.dev/image/upload/s--tl8v_Fku--/f_auto,t_logo/v1698841318/logos/lobste.jpg)Lobsters · 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.  
14
20. 20  
[](https://daily.dev/posts/the-linux-desktop-is-finally-great-both-ubuntu-and-firefox--pxr0babr4 "The Linux Desktop Is Finally Great (both Ubuntu and Firefox)")  
Article  
![Avatar of lobsters](https://media.daily.dev/image/upload/s--tl8v_Fku--/f_auto,t_logo/v1698841318/logos/lobste.jpg)Lobsters · 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.  
13  
1
21. 21  
[](https://daily.dev/posts/iam-is-the-worst-mc58w89vm "IAM Is The Worst")  
Article  
![Avatar of lobsters](https://media.daily.dev/image/upload/s--tl8v_Fku--/f_auto,t_logo/v1698841318/logos/lobste.jpg)Lobsters · 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.  
13  
3
22. 22  
[](https://daily.dev/posts/how-i-use-git-worktrees-hx1jaut6f "How I use git worktrees")  
Article  
![Avatar of lobsters](https://media.daily.dev/image/upload/s--tl8v_Fku--/f_auto,t_logo/v1698841318/logos/lobste.jpg)Lobsters · 3y  
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.  
13  
1
23. 23  
[](https://daily.dev/posts/alpine-ajax-x0egwj2tx "Alpine AJAX")  
Article  
![Avatar of lobsters](https://media.daily.dev/image/upload/s--tl8v_Fku--/f_auto,t_logo/v1698841318/logos/lobste.jpg)Lobsters · 3y  
Alpine AJAX  
Learn how radio controlled HTML elements work and how to make them update as you type.  
13
24. 24  
[](https://daily.dev/posts/devenv-1-0-rewrite-in-rust-wz4xiwzr5 "devenv 1.0: Rewrite in Rust")  
Article  
![Avatar of lobsters](https://media.daily.dev/image/upload/s--tl8v_Fku--/f_auto,t_logo/v1698841318/logos/lobste.jpg)Lobsters · 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.  
12  
1
25. 25  
[](https://daily.dev/posts/json-formatting-for-human-beings-7hpbsaqi8 "Json Formatting for Human Beings")  
Article  
![Avatar of lobsters](https://media.daily.dev/image/upload/s--tl8v_Fku--/f_auto,t_logo/v1698841318/logos/lobste.jpg)Lobsters · 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.  
10  
1

[See all Lobsters archives](/sources/lobsters/best-of)

```json
{"@context":"https://schema.org","@graph":[{"@type":"Organization","@id":"https://daily.dev/#organization","name":"daily.dev","url":"https://daily.dev","logo":{"@type":"ImageObject","url":"https://daily.dev/apple-touch-icon.png","width":180,"height":180},"sameAs":["https://twitter.com/dailydotdev","https://github.com/dailydotdev","https://www.linkedin.com/company/daily-dev-ltd"]},{"@type":"WebSite","@id":"https://daily.dev/#website","url":"https://daily.dev","name":"daily.dev","publisher":{"@id":"https://daily.dev/#organization"},"potentialAction":{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https://daily.dev/search?q={search_term_string}"},"query-input":"required name=search_term_string"}}]}
{"@context":"https://schema.org","@graph":[{"@type":"CollectionPage","@id":"https://daily.dev/sources/lobsters/best-of/2024/03#page","url":"https://daily.dev/sources/lobsters/best-of/2024/03","name":"Best Lobsters Posts — March 2024","description":"The most upvoted Lobsters posts from March 2024, curated by the daily.dev community.","isPartOf":{"@type":"WebSite","url":"https://daily.dev"}},{"@type":"ItemList","@id":"https://daily.dev/sources/lobsters/best-of/2024/03#items","numberOfItems":25,"itemListElement":[{"@type":"ListItem","position":1,"url":"https://daily.dev/posts/i-m-a-programmer-and-i-m-stupid-keunwjpk0","name":"I'm a programmer and I'm stupid"},{"@type":"ListItem","position":2,"url":"https://daily.dev/posts/why-facebook-doesn-t-use-git-km6ncmux7","name":"Why Facebook doesn’t use Git"},{"@type":"ListItem","position":3,"url":"https://daily.dev/posts/the-fastest-in-memory-data-store-cl0wz4bwv","name":"The Fastest In-Memory Data Store"},{"@type":"ListItem","position":4,"url":"https://daily.dev/posts/java-is-becoming-more-like-rust-and-i-am-here-for-it--gizqviaep","name":"Java is becoming more like Rust, and I am here for it!"},{"@type":"ListItem","position":5,"url":"https://daily.dev/posts/the-real-c-killers-not-you-rust--7iquyq6dn","name":"The Real C++ Killers (Not You, Rust)"},{"@type":"ListItem","position":6,"url":"https://daily.dev/posts/this-typescript-type-haunted-my-dreams-yovf69d22","name":"This TypeScript type haunted my dreams"},{"@type":"ListItem","position":7,"url":"https://daily.dev/posts/a-new-serverless-postgres-platform-gvrecsfgk","name":"A new serverless Postgres platform"},{"@type":"ListItem","position":8,"url":"https://daily.dev/posts/scalable-css-6coast1zi","name":"Scalable CSS"},{"@type":"ListItem","position":9,"url":"https://daily.dev/posts/a-javascript-nightmare-abbw7ozww","name":"A Javascript Nightmare"},{"@type":"ListItem","position":10,"url":"https://daily.dev/posts/githubnext-monaspace-an-innovative-superfamily-of-fonts-for-code-bdjh7c8xs","name":"githubnext/monaspace: An innovative superfamily of fonts for code"},{"@type":"ListItem","position":11,"url":"https://daily.dev/posts/my-list-of-challenging-software-projects-some-programmers-should-try-hk6cbn9na","name":"My list of challenging software projects some programmers should try"},{"@type":"ListItem","position":12,"url":"https://daily.dev/posts/latency-numbers-every-programmer-should-know-hrjk8q433","name":"Latency Numbers Every Programmer Should Know"},{"@type":"ListItem","position":13,"url":"https://daily.dev/posts/building-an-interactive-shell-in-golang-min0gqcyg","name":"Building an interactive shell in Golang"},{"@type":"ListItem","position":14,"url":"https://daily.dev/posts/what-i-like-about-go-tzrwilad7","name":"What I like about Go"},{"@type":"ListItem","position":15,"url":"https://daily.dev/posts/icyphox-legit-web-frontend-for-git-ptzne7dkb","name":"icyphox/legit: web frontend for git"},{"@type":"ListItem","position":16,"url":"https://daily.dev/posts/duckdb-as-the-new-jq-fg5duzzqj","name":"DuckDB as the New jq"},{"@type":"ListItem","position":17,"url":"https://daily.dev/posts/what-is-this-architecture-called--jmo14mxie","name":"What is this architecture called?"},{"@type":"ListItem","position":18,"url":"https://daily.dev/posts/ad-si-invoice-maker-generate-beautiful-invoices-from-simple-typst-or-yaml-data-records-0xboktiih","name":"ad-si/invoice-maker: Generate beautiful invoices from simple Typst or YAML data records"},{"@type":"ListItem","position":19,"url":"https://daily.dev/posts/how-we-replaced-vagrant-with-devenv-obh0jjc2d","name":"How we replaced Vagrant with devenv"},{"@type":"ListItem","position":20,"url":"https://daily.dev/posts/the-linux-desktop-is-finally-great-both-ubuntu-and-firefox--pxr0babr4","name":"The Linux Desktop Is Finally Great (both Ubuntu and Firefox)"},{"@type":"ListItem","position":21,"url":"https://daily.dev/posts/iam-is-the-worst-mc58w89vm","name":"IAM Is The Worst"},{"@type":"ListItem","position":22,"url":"https://daily.dev/posts/how-i-use-git-worktrees-hx1jaut6f","name":"How I use git worktrees"},{"@type":"ListItem","position":23,"url":"https://daily.dev/posts/alpine-ajax-x0egwj2tx","name":"Alpine AJAX"},{"@type":"ListItem","position":24,"url":"https://daily.dev/posts/devenv-1-0-rewrite-in-rust-wz4xiwzr5","name":"devenv 1.0: Rewrite in Rust"},{"@type":"ListItem","position":25,"url":"https://daily.dev/posts/json-formatting-for-human-beings-7hpbsaqi8","name":"Json Formatting for Human Beings"}]},{"@type":"BreadcrumbList","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https://daily.dev"},{"@type":"ListItem","position":2,"name":"Sources","item":"https://daily.dev/sources"},{"@type":"ListItem","position":3,"name":"Lobsters","item":"https://daily.dev/sources/lobsters"},{"@type":"ListItem","position":4,"name":"Best of","item":"https://daily.dev/sources/lobsters/best-of"},{"@type":"ListItem","position":5,"name":"March 2024"}]}]}
```

