About:
Tawanda Munongo is a Harare-based full-stack developer and writer who builds web and self-hosted apps (Laravel, TypeScript, Go), publishes fiction, and focuses on devops, performance, and deep expertise.
Website:
Specializations:
Interests:
Outgoing Links:
Subscribe to RSS:
This blog post explores the actor model in Rust, highlighting its advantages for managing concurrency in complex software systems. It discusses the challenges of traditional concurrency methods, such as race conditions and deadloc...
The author shares their journey of learning Rust by implementing a linked list, highlighting the challenges faced due to Rust's memory management and ownership model. They explain the differences between stack and heap memory, the...
The blog post explores the core principles of Elixir, a functional programming language designed for building scalable and fault-tolerant distributed systems. It emphasizes the concept that 'everything is a process' in Elixir, det...
The blog post discusses the dual nature of JavaScript, highlighting its transformative potential for web development while also addressing its drawbacks, particularly in terms of accessibility for users with low-end devices and po...
This blog post explores the concepts of traits and lifetimes in Rust through the example of a Time Traveller's Library application. It discusses how traits function similarly to interfaces in object-oriented programming, emphasizi...
The blog post discusses various strategies for implementing rate limiting in backend services, particularly using Python and FastAPI. It explains the importance of rate limiting for protecting server resources, ensuring fair use a...
The blog post discusses the concept of database atomicity, particularly in the context of Laravel's DB::transaction helper. It explains the importance of atomicity in ensuring data integrity during multiple related database operat...
The author reflects on their experience transitioning from Rust to C++ by implementing a hash map. They discuss the challenges and insights gained regarding memory management, templates, and the design philosophy of the C++ standa...
The post discusses the implications of generative AI on content creation and the economy, arguing that it may lead to a new form of digital feudalism. The author, influenced by Yannis Varoufakis' concept of technofeudalism, sugges...
The blog post discusses the author's journey in understanding concurrency while developing a tunnel application using Go. It explains the difference between concurrency and parallelism, the fork-join model, and the importance of s...
The article discusses the Publish/Subscribe (Pub/Sub) messaging pattern, which facilitates asynchronous communication between services in event-driven architectures. It contrasts Pub/Sub with traditional request/response patterns,...
The author reflects on their journey of building a personal blog, initially using a MERN stack but facing performance issues due to database idling and resource consumption. They transitioned to a Go-based static blog, which was e...
The author argues that personal computing is declining as technology becomes increasingly complex and controlled by corporations. They compare the ownership and manageability of personal vehicles to modern tech products, emphasizi...
The blog post introduces HTMX, a frontend framework that simplifies AJAX interactions using HTML attributes, and contrasts it with React. The author shares their experience building a simple AI-powered web application using HTMX a...
The author discusses their experience setting up a homelab using a Raspberry Pi, detailing the integration of various services like Plex, Transmission, and Pi-Hole. They highlight the challenges of managing port conflicts and the ...
The author discusses the process of reducing the size of a Docker image for a Go web application. Initially, the image was 808MB, primarily due to unnecessary dependencies. The author explores multistage builds to streamline the i...
This tutorial explores optimizing web applications using caching, specifically through a wrapper API for a public weather API built with Rust and Redis. It demonstrates how to implement caching to limit API requests and improve re...
The article discusses the story of Stefan Thomas, who lost access to a digital wallet containing 7002 bitcoins due to a forgotten password, highlighting the broader implications of password security in the digital age. It explores...
The blog post discusses the author's struggle with writer's block and the temptation to use AI tools for writing. It critiques the marketing of AI technologies that induce feelings of inadequacy and insecurity among users, suggest...
The blog post discusses the paradox of AI technology, which was expected to reduce work hours but has instead led to increased workloads and psychological pressure to remain productive. It highlights the emergence of the 996 work ...