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

---
title: Best Lobsters posts — January 2025 | daily.dev
description: The most upvoted Lobsters posts from January 2025, curated by the daily.dev community.
canonical: https://daily.dev/sources/lobsters/best-of/2025/01
twitter:card: summary_large_image
twitter:site: @dailydotdev
og:url: https://daily.dev/sources/lobsters/best-of/2025/01
og:type: website
og:site_name: daily.dev
og:title: Best Lobsters posts — January 2025 | daily.dev
og:description: The most upvoted Lobsters posts from January 2025, 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 — January 2025

1. 1  
[](https://daily.dev/posts/doompdf-kyyvnptk3 "DoomPDF")  
Article  
![Avatar of lobsters](https://media.daily.dev/image/upload/s--tl8v_Fku--/f_auto,t_logo/v1698841318/logos/lobste.jpg)Lobsters · 2y  
DoomPDF  
DoomPDF is a unique adaptation of the classic Doom game that executes within a PDF file, compatible exclusively with Chromium-based browsers. The source code is available on GitHub.  
656  
42
2. 2  
[](https://daily.dev/posts/tools-worth-changing-to-in-2025-9tboarlto "Tools Worth Changing To in 2025")  
Article  
![Avatar of lobsters](https://media.daily.dev/image/upload/s--tl8v_Fku--/f_auto,t_logo/v1698841318/logos/lobste.jpg)Lobsters · 2y  
Tools Worth Changing To in 2025  
As 2025 approaches, it's a good time to reevaluate and upgrade the tools used in professional settings. Noteworthy recommendations include Ghostty, a cross-platform terminal emulator; Fish, a user-friendly command line shell; Helix, a post-modern text editor; Jujutsu, a unique version control system compatible with Git; Zed, a high-performance code editor; Nix, a declarative build and deployment tool; and Ollama, a local AI model runner. Each tool offers distinct benefits and improvements over more traditional options.  
376  
21
3. 3  
[](https://daily.dev/posts/i-quit-my-job-to-work-on-my-programming-language-q2kfpxrm0 "I quit my job to work on my programming language")  
Article  
![Avatar of lobsters](https://media.daily.dev/image/upload/s--tl8v_Fku--/f_auto,t_logo/v1698841318/logos/lobste.jpg)Lobsters · 2y  
I quit my job to work on my programming language  
The author has decided to leave their job to fully dedicate their time to developing their new programming language, jank, which aims to integrate the best aspects of C++, Clojure, and Rust. Over the last ten years, they have experimented with various languages and honed their goals, receiving community support and funding along the way. They plan to release jank in 2025 and continue improving its features, with the dream of it becoming significant in the software development community.  
102  
14
4. 4  
[](https://daily.dev/posts/django-vs-fastapi-an-honest-comparison-vexikonkq "Django vs. FastAPI, An Honest Comparison")  
Article  
![Avatar of lobsters](https://media.daily.dev/image/upload/s--tl8v_Fku--/f_auto,t_logo/v1698841318/logos/lobste.jpg)Lobsters · 2y  
Django vs. FastAPI, An Honest Comparison  
The post compares Django and FastAPI, highlighting their strengths and weaknesses based on real-world experience. Django offers an 'all-batteries-included' approach with everything you need in one package, while FastAPI focuses more on flexibility and performance, requiring additional setup for many features. Django enforces a structured MVT architecture and has a more democratized governance model, whereas FastAPI offers more control and modern features like async support and type safety but relies heavily on external tools. Choosing between them depends on your specific project requirements and the type of skills you want to develop.  
100  
7
5. 5  
[](https://daily.dev/posts/be-aware-of-the-makefile-effect-qsnazlotx "Be aware of the Makefile effect")  
Article  
![Avatar of lobsters](https://media.daily.dev/image/upload/s--tl8v_Fku--/f_auto,t_logo/v1698841318/logos/lobste.jpg)Lobsters · 2y  
Be aware of the Makefile effect  
The Makefile effect describes the phenomenon where engineers copy and tweak existing, often complex, tools instead of creating new solutions from scratch. This practice, while practical at the point of solution, can reveal underlying issues in tool design, leading to inefficiencies in debugging, limited learning, and security vulnerabilities. Tool designers should be aware of this effect and strive to minimize it to improve usability, learning, and security.  
86  
4
6. 6  
[](https://daily.dev/posts/goodbye-github-pages-hello-coolify-quakkels-com-ppydglyvm "Goodbye Github Pages, Hello Coolify · Quakkels.com")  
Article  
![Avatar of lobsters](https://media.daily.dev/image/upload/s--tl8v_Fku--/f_auto,t_logo/v1698841318/logos/lobste.jpg)Lobsters · 2y  
Goodbye Github Pages, Hello Coolify · Quakkels.com  
Quakkels.com has moved from Github Pages to Coolify, an open-source PaaS that enables self-hosting applications, databases, and services without managing servers. The transition is driven by a desire for more independence from big tech. Coolify supports various applications like Laravel, Django, Nextjs, and more, automating deployments and notifications to minimize self-hosting complexities.  
71  
1
7. 7  
[](https://daily.dev/posts/building-a-tiny-linux-from-scratch-iur7qfqb1 "Building a tiny Linux from scratch")  
Article  
![Avatar of lobsters](https://media.daily.dev/image/upload/s--tl8v_Fku--/f_auto,t_logo/v1698841318/logos/lobste.jpg)Lobsters · 2y  
Building a tiny Linux from scratch  
The author describes their journey of building a tiny Linux system from scratch to gain a deeper understanding of the Linux kernel and the boot process. They detail the steps taken to compile the Linux kernel and Busybox, write an init process in Rust, create an initramfs, and configure the system for UEFI booting. The post includes troubleshooting tips for common issues and additional ideas for expanding the project.  
57  
4
8. 8  
[](https://daily.dev/posts/the-best-laptop-ever-rrwemqpqe "The best laptop ever")  
Article  
![Avatar of lobsters](https://media.daily.dev/image/upload/s--tl8v_Fku--/f_auto,t_logo/v1698841318/logos/lobste.jpg)Lobsters · 2y  
The best laptop ever  
The M1 MacBook Air, purchased for just €950, proves to be an incredible machine for light web development, browsing, and emails. Despite its modest 8GB RAM and 256GB storage, it performs admirably and remains quiet and efficient. The author contrasts it with their more expensive M2 MacBook Pro, finding the price difference unjustified for their needs. The post highlights the usefulness of affordable tech that gets the job done without the need for the latest and greatest features.  
42  
21
9. 9  
[](https://daily.dev/posts/moving-on-from-react-a-year-later-22hlcgs5x "Moving on from React, a Year Later")  
Article  
![Avatar of lobsters](https://media.daily.dev/image/upload/s--tl8v_Fku--/f_auto,t_logo/v1698841318/logos/lobste.jpg)Lobsters · 2y  
Moving on from React, a Year Later  
Over the past year, Scholarly has made significant progress, including securing funding, achieving SOC 2 Type II compliance, expanding their team, and maintaining a simple technology stack with Ruby on Rails, Stimulus, and MySQL. The decision to move from React to a server-rendered approach has resulted in better testability, faster performance, and reduced complexity. Their focus on minimizing JavaScript use has led to more reliable and maintainable code. Scholarly remains committed to their current tech stack and confident in their approach moving forward.  
39  
19
10. 10  
[](https://daily.dev/posts/prototyping-in-rust-te8o5qjlv "Prototyping 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  
Prototyping in Rust  
Prototyping is a crucial part of the programming process, and Rust, despite its reputation for being strict and complex, is excellent for this purpose. Developers can quickly bring ideas to life by using simple types, type inference, and tools like the Rust playground and bacon for faster feedback. Techniques such as using unwrap liberally and leveraging IDE support can make Rust prototyping both efficient and productive. Rust's strong type system helps catch design flaws early, and with small adjustments, prototypes can evolve seamlessly into robust production code.  
30
11. 11  
[](https://daily.dev/posts/microsoft-just-renamed-office-on-everyone-s-pcs-and-the-new-name-isn-t-great-v6plrbyae "Microsoft just renamed Office on everyone's PCs, and the new name isn't great")  
Article  
![Avatar of lobsters](https://media.daily.dev/image/upload/s--tl8v_Fku--/f_auto,t_logo/v1698841318/logos/lobste.jpg)Lobsters · 2y  
Microsoft just renamed Office on everyone's PCs, and the new name isn't great  
Microsoft has officially renamed its productivity suite from 'Microsoft 365 Office' to 'Microsoft 365 Copilot.' This change reflects the company's focus on integrating AI tools into the suite. Users can expect their Office apps to adopt the Copilot logo, with a possible shift towards prioritizing AI functionalities over basic productivity features. The rebranding has sparked mixed reactions, as some users may not be receptive to the increased AI focus.  
27  
12
12. 12  
[](https://daily.dev/posts/ollien-quicknotes-a-notes-application-that-makes-taking-notes-quick-qrupbgfjo "ollien/quicknotes: A notes application that makes taking notes... quick")  
Article  
![Avatar of lobsters](https://media.daily.dev/image/upload/s--tl8v_Fku--/f_auto,t_logo/v1698841318/logos/lobste.jpg)Lobsters · 2y  
ollien/quicknotes: A notes application that makes taking notes... quick  
Quicknotes is a simple, fast note-taking application that stores notes locally in plain text. It can be installed via Cargo and allows users to create, edit, and maintain notes easily using their preferred text editor. Quicknotes also supports daily notes for journaling and offers customizable configuration. The app is designed to be straightforward and efficient, aligning with the creator’s personal workflow needs.  
26  
4
13. 13  
[](https://daily.dev/posts/go-is-a-well-designed-language-actually-aavdfxgh3 "Go is a Well-Designed Language, Actually")  
Article  
![Avatar of lobsters](https://media.daily.dev/image/upload/s--tl8v_Fku--/f_auto,t_logo/v1698841318/logos/lobste.jpg)Lobsters · 2y  
Go is a Well-Designed Language, Actually  
Go, designed by Google engineers, is optimized for building large, concurrent server code that is easy to maintain, even across thousands of developers. Though it has faced criticisms for its simplicity, design choices such as Unix-centric filesystem APIs, lack of generics, and explicit error handling were deliberate to meet its design goals. Despite some downsides, Go remains popular for its readability and effectiveness in sizable projects.  
24
14. 14  
[](https://daily.dev/posts/how-i-think-about-zig-and-rust-btencxodr "How I think about Zig and Rust")  
Article  
![Avatar of lobsters](https://media.daily.dev/image/upload/s--tl8v_Fku--/f_auto,t_logo/v1698841318/logos/lobste.jpg)Lobsters · 2y  
How I think about Zig and Rust  
Zig and Rust are both systems programming languages but have different core philosophies. Zig emphasizes simplicity and minimalism, lacking features like closures and operator overloading, which makes it suitable for low-level programming. Rust, on the other hand, comes from a high-level background, offering more expressiveness and safety features like traits and pattern matching. While Zig is ideal for direct memory and system-level operations with seamless C interoperability, Rust provides a more user-friendly experience with extensive tooling and a strong type system.  
20  
6
15. 15  
[](https://daily.dev/posts/sqlite4-sqlite4-ynjuhkozb "SQLite4: SQLite4")  
Article  
![Avatar of lobsters](https://media.daily.dev/image/upload/s--tl8v_Fku--/f_auto,t_logo/v1698841318/logos/lobste.jpg)Lobsters · 2y  
SQLite4: SQLite4  
SQLite4 was an experimental project from 2012 to 2014, aimed at rewriting SQLite. The project was discontinued, and its lessons were incorporated into SQLite3\. SQLite4 was never released or maintained and should not be used. The repository exists purely for historical reference.  
22  
1
16. 16  
[](https://daily.dev/posts/will-i-ever-use-this-in-the-real-world--cxbvuibn5 ""Will I ever use this in the real world?"")  
Article  
![Avatar of lobsters](https://media.daily.dev/image/upload/s--tl8v_Fku--/f_auto,t_logo/v1698841318/logos/lobste.jpg)Lobsters · 2y  
"Will I ever use this in the real world?"  
An intern shares an anecdote about unexpectedly applying theoretical computer science concepts, like graph traversal and register allocation, during their software engineering internship. This experience demonstrates the practical value of a formal CS education in real-world scenarios, beyond just understanding CRUD applications.  
20  
3
17. 17  
[](https://daily.dev/posts/the-juggler-s-curse-en9zynt4f "The Juggler's Curse")  
Article  
![Avatar of lobsters](https://media.daily.dev/image/upload/s--tl8v_Fku--/f_auto,t_logo/v1698841318/logos/lobste.jpg)Lobsters · 2y  
The Juggler's Curse  
The concept of the juggler's curse is used to illustrate the continuous challenge of mastering new skills. As one progresses, previously difficult tasks become trivial, while new challenges emerge as the next impossible goal. This phenomenon, common in various fields, fosters feelings of imposter syndrome by making individuals perceive their own skills as easy and new ones as unattainable.  
20
18. 18  
[](https://daily.dev/posts/why-go-should-sometimes-be-a-no-go-0nt9thzq0 "Why Go Should Sometimes Be a No-Go")  
Article  
![Avatar of lobsters](https://media.daily.dev/image/upload/s--tl8v_Fku--/f_auto,t_logo/v1698841318/logos/lobste.jpg)Lobsters · 2y  
Why Go Should Sometimes Be a No-Go  
The author discusses challenges faced while using Go, expressing relief at switching back to Java. Go's simplicity and lack of essential features, discouragement of clean code principles, immature package ecosystem, and cumbersome error handling are highlighted as major pain points. The author advises against using Go for complex software, suggesting it is more suitable for infrastructure work.  
20  
14
19. 19  
[](https://daily.dev/posts/i-m-lovin-it-exploiting-mcdonald-s-apis-to-hijack-deliveries-and-order-food-for-a-penny-8pnz89cuf "I’m Lovin’ It: Exploiting McDonald’s APIs to hijack deliveries and order food for a penny")  
Article  
![Avatar of lobsters](https://media.daily.dev/image/upload/s--tl8v_Fku--/f_auto,t_logo/v1698841318/logos/lobste.jpg)Lobsters · 2y  
I’m Lovin’ It: Exploiting McDonald’s APIs to hijack deliveries and order food for a penny  
API flaws in McDonald’s McDelivery system in India allowed exploits such as ordering food for ₹1 ($0.01 USD), hijacking/redirecting delivery orders, accessing sensitive driver information, and downloading order details and invoices. These vulnerabilities, discovered by the author in an attempt to enhance food industry security, were reported and efficiently addressed through McDonald's India’s bug bounty program. The fixes were implemented server-side, ensuring that the system is now secure for users.  
20  
3
20. 20  
[](https://daily.dev/posts/sunsetting-cursed-terminal-emulation-iqz3efcij "Sunsetting Cursed Terminal Emulation")  
Article  
![Avatar of lobsters](https://media.daily.dev/image/upload/s--tl8v_Fku--/f_auto,t_logo/v1698841318/logos/lobste.jpg)Lobsters · 2y  
Sunsetting Cursed Terminal Emulation  
The post discusses the transition away from traditional terminal emulation for command lines and text-dominant user interfaces. It highlights the complexities and inefficiencies of current terminal emulation systems and introduces the Arcan project and its components like libarcan-tui and afsrv\_terminal as modern alternatives. Detailed technical examples and networking capabilities are also described, offering a comprehensive guide on implementing new solutions for terminal interfaces.  
17
21. 21  
[](https://daily.dev/posts/mit-pdos-noria-fast-web-applications-through-dynamic-partially-stateful-dataflow-bsu4traiv "mit-pdos/noria: Fast web applications through dynamic, partially-stateful dataflow")  
Article  
![Avatar of lobsters](https://media.daily.dev/image/upload/s--tl8v_Fku--/f_auto,t_logo/v1698841318/logos/lobste.jpg)Lobsters · 2y  
mit-pdos/noria: Fast web applications through dynamic, partially-stateful dataflow  
Noria is a streaming data-flow system designed to be a fast, read-heavy storage backend for web applications. It precomputes and caches relational query results to enhance read performance and automatically updates cached results as the underlying data changes. Noria supports dynamic data-flow and query changes, and provides easy integration with MySQL-based applications. It requires nightly Rust for building, and uses Apache ZooKeeper for server location management. Native Rust bindings and a MySQL adapter are available for interaction.  
17
22. 22  
[](https://daily.dev/posts/this-ftp-site-cqqk15k2k "This FTP site")  
Article  
![Avatar of lobsters](https://media.daily.dev/image/upload/s--tl8v_Fku--/f_auto,t_logo/v1698841318/logos/lobste.jpg)Lobsters · 2y  
This FTP site  
This post provides a comprehensive index of topics and resources related to various programming concepts, including polymorphic type inference, lambda calculus, probabilistic programming, denotational semantics, and more. The content covers a wide range of subjects in computation, types, meta-programming, continuations, logic, algorithms, and data structures, with a focus on functional programming languages such as Haskell, ML, and Scheme.  
15
23. 23  
[](https://daily.dev/posts/improve-rust-compile-time-by-108x-1tnwrdo31 "Improve Rust Compile Time by 108X")  
Article  
![Avatar of lobsters](https://media.daily.dev/image/upload/s--tl8v_Fku--/f_auto,t_logo/v1698841318/logos/lobste.jpg)Lobsters · 2y  
Improve Rust Compile Time by 108X  
Nathaniel Simard shares his experience in reducing the compilation time for a Rust project from 108 seconds to just 1 second. Effective optimizations included using element-type generics, swapping const generics for a comptime system, and adjusting the LLVM optimization level. This approach was particularly useful for CubeCL, a GPU programming dialect, by leveraging JIT compilation to dynamically handle instruction sizes and reduce binary size.  
15
24. 24  
[](https://daily.dev/posts/bad-apple-but-it-s-6-500-regexes-that-i-search-for-in-vim-eieio-games-9pr00xl3a "Bad Apple but it's 6,500 regexes that I search for in vim · eieio.games")  
Article  
![Avatar of lobsters](https://media.daily.dev/image/upload/s--tl8v_Fku--/f_auto,t_logo/v1698841318/logos/lobste.jpg)Lobsters · 2y  
Bad Apple but it's 6,500 regexes that I search for in vim · eieio.games  
The post explains how the author managed to play the 'Bad Apple' video inside vim using 6,500 regex search queries. By breaking down video frames into 120x90 PNG images and converting them into binary arrays, the author utilized Python to process these images. To display each frame, vim's regex search capabilities were leveraged, creating a highlight-based animation that runs inside vim. Despite some challenges, this creative approach enabled a unique and entertaining use of vim.  
15  
2
25. 25  
[](https://daily.dev/posts/game-dev-in-rust-a-year-later-h8x2cf0qq "Game dev in Rust, a year later")  
Article  
![Avatar of lobsters](https://media.daily.dev/image/upload/s--tl8v_Fku--/f_auto,t_logo/v1698841318/logos/lobste.jpg)Lobsters · 2y  
Game dev in Rust, a year later  
A year after the initial insights on game development in Rust, several major projects have abandoned Rust due to restrictive ownership and compile times. The Rend3 graphics stack was also abandoned and is now maintained as rend3-hp. Performance issues persist with the current graphics stack, which struggles to utilize more than 25% GPU load with an NVidia 3070\. Maintaining 3D rendering in Rust requires significant effort, coping with rapid crate updates and a lack of spatial computation in rendering. Bevy offers an alternative but sacrifices Rust ownership for a dynamic ECS system.  
15  
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/2025/01#page","url":"https://daily.dev/sources/lobsters/best-of/2025/01","name":"Best Lobsters Posts — January 2025","description":"The most upvoted Lobsters posts from January 2025, curated by the daily.dev community.","isPartOf":{"@type":"WebSite","url":"https://daily.dev"}},{"@type":"ItemList","@id":"https://daily.dev/sources/lobsters/best-of/2025/01#items","numberOfItems":25,"itemListElement":[{"@type":"ListItem","position":1,"url":"https://daily.dev/posts/doompdf-kyyvnptk3","name":"DoomPDF"},{"@type":"ListItem","position":2,"url":"https://daily.dev/posts/tools-worth-changing-to-in-2025-9tboarlto","name":"Tools Worth Changing To in 2025"},{"@type":"ListItem","position":3,"url":"https://daily.dev/posts/i-quit-my-job-to-work-on-my-programming-language-q2kfpxrm0","name":"I quit my job to work on my programming language"},{"@type":"ListItem","position":4,"url":"https://daily.dev/posts/django-vs-fastapi-an-honest-comparison-vexikonkq","name":"Django vs. FastAPI, An Honest Comparison"},{"@type":"ListItem","position":5,"url":"https://daily.dev/posts/be-aware-of-the-makefile-effect-qsnazlotx","name":"Be aware of the Makefile effect"},{"@type":"ListItem","position":6,"url":"https://daily.dev/posts/goodbye-github-pages-hello-coolify-quakkels-com-ppydglyvm","name":"Goodbye Github Pages, Hello Coolify · Quakkels.com"},{"@type":"ListItem","position":7,"url":"https://daily.dev/posts/building-a-tiny-linux-from-scratch-iur7qfqb1","name":"Building a tiny Linux from scratch"},{"@type":"ListItem","position":8,"url":"https://daily.dev/posts/the-best-laptop-ever-rrwemqpqe","name":"The best laptop ever"},{"@type":"ListItem","position":9,"url":"https://daily.dev/posts/moving-on-from-react-a-year-later-22hlcgs5x","name":"Moving on from React, a Year Later"},{"@type":"ListItem","position":10,"url":"https://daily.dev/posts/prototyping-in-rust-te8o5qjlv","name":"Prototyping in Rust"},{"@type":"ListItem","position":11,"url":"https://daily.dev/posts/microsoft-just-renamed-office-on-everyone-s-pcs-and-the-new-name-isn-t-great-v6plrbyae","name":"Microsoft just renamed Office on everyone's PCs, and the new name isn't great"},{"@type":"ListItem","position":12,"url":"https://daily.dev/posts/ollien-quicknotes-a-notes-application-that-makes-taking-notes-quick-qrupbgfjo","name":"ollien/quicknotes: A notes application that makes taking notes... quick"},{"@type":"ListItem","position":13,"url":"https://daily.dev/posts/go-is-a-well-designed-language-actually-aavdfxgh3","name":"Go is a Well-Designed Language, Actually"},{"@type":"ListItem","position":14,"url":"https://daily.dev/posts/how-i-think-about-zig-and-rust-btencxodr","name":"How I think about Zig and Rust"},{"@type":"ListItem","position":15,"url":"https://daily.dev/posts/sqlite4-sqlite4-ynjuhkozb","name":"SQLite4: SQLite4"},{"@type":"ListItem","position":16,"url":"https://daily.dev/posts/will-i-ever-use-this-in-the-real-world--cxbvuibn5","name":"\"Will I ever use this in the real world?\""},{"@type":"ListItem","position":17,"url":"https://daily.dev/posts/the-juggler-s-curse-en9zynt4f","name":"The Juggler's Curse"},{"@type":"ListItem","position":18,"url":"https://daily.dev/posts/why-go-should-sometimes-be-a-no-go-0nt9thzq0","name":"Why Go Should Sometimes Be a No-Go"},{"@type":"ListItem","position":19,"url":"https://daily.dev/posts/i-m-lovin-it-exploiting-mcdonald-s-apis-to-hijack-deliveries-and-order-food-for-a-penny-8pnz89cuf","name":"I’m Lovin’ It: Exploiting McDonald’s APIs to hijack deliveries and order food for a penny"},{"@type":"ListItem","position":20,"url":"https://daily.dev/posts/sunsetting-cursed-terminal-emulation-iqz3efcij","name":"Sunsetting Cursed Terminal Emulation"},{"@type":"ListItem","position":21,"url":"https://daily.dev/posts/mit-pdos-noria-fast-web-applications-through-dynamic-partially-stateful-dataflow-bsu4traiv","name":"mit-pdos/noria: Fast web applications through dynamic, partially-stateful dataflow"},{"@type":"ListItem","position":22,"url":"https://daily.dev/posts/this-ftp-site-cqqk15k2k","name":"This FTP site"},{"@type":"ListItem","position":23,"url":"https://daily.dev/posts/improve-rust-compile-time-by-108x-1tnwrdo31","name":"Improve Rust Compile Time by 108X"},{"@type":"ListItem","position":24,"url":"https://daily.dev/posts/bad-apple-but-it-s-6-500-regexes-that-i-search-for-in-vim-eieio-games-9pr00xl3a","name":"Bad Apple but it's 6,500 regexes that I search for in vim · eieio.games"},{"@type":"ListItem","position":25,"url":"https://daily.dev/posts/game-dev-in-rust-a-year-later-h8x2cf0qq","name":"Game dev in Rust, a year later"}]},{"@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":"January 2025"}]}]}
```

