Mastering Grep: Your Guide to Efficient Text Searching

In the world of the command line, grep is a tool you’ll find indispensable. It stands for “global regular expression print,” and it’s your go-to for searching text within files. Whether you’re a developer, a system administrator, or just someone who loves the terminal, mastering grep will significantly boost your productivity. This article, inspired by the style of my Basic Bash Commands reference, will guide you through the essentials and advanced uses of grep. ...

July 17, 2025 · 4 min

Making Your Terminal Fancy on Linux and macOS

“My terminal looks really bad, while some people have a really cool CLI starting page with their name etc. What should I do so mine looks cool too?” If you’re spending a lot of time in your terminal, why not make it a pleasant and productive environment? A well-customized terminal can not only look cool but also boost your productivity. This guide will walk you through various ways to transform your bland terminal into a powerful and visually appealing workspace on Linux and macOS. ...

June 23, 2025 · 4 min

Abstraction in Software Development

In the world of software development, abstraction is one of the most powerful tools at our disposal. Yet, it is often taken for granted—seen merely as a technical concept or a convenience. In truth, abstraction is much more than that; I agree it’s a confusing topic for some, but it represents a currency of trust and a gateway to creative problem-solving. Abstraction as Trust At its core, every abstraction is built on trust. When we build or use a library, framework, API, or even a programming language, we trust the people or systems who designed it. We trust that these abstractors have already handled the intricate details—the “hows”—so that we don’t have to. ...

June 22, 2025 · 5 min

Ollama & Goose cli - Offline Agent setup

Fair Warning Make sure you are using a capable system — ideally with a powerful CPU, GPU, and adequate cooling — before running large language models locally. LLMs can consume significant resources, generate substantial heat, and may cause system instability or damage if your hardware isn’t up to the task. Please proceed with caution! This guide walks you through setting up Ollama (with deepseek-r1-goose) and Goose CLI. Step 1: Download & Install Ollama curl -fsSL https://ollama.com/install.sh | sh Or, if you prefer to download manually then checkout:https://ollama.com/download Ollama-SetUpGuide ...

June 20, 2025 · 2 min

Recommended Command Line Tools

The terminal is already a powerful tool, but the right command-line utilities can make it even better. Here are a few essential tools I use daily that you might find helpful too. HomeBrew Homebrew is a package manager for macOS (and Linux) that lets you easily install, update, and manage software and developer tools from the command line. # Installation command /bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)" After running the command, restart your terminal, and you’re good to go. Before we start installing, let’s understand the difference between a “formula” and a “cask” in Homebrew. ...

June 17, 2025 · 7 min

Basic Bash Commands

One of my mentors, RWX-Rob, runs online bootcamps called Boost, where he shares tech industry standards. A key lesson he emphasizes is the importance of learning Linux and working with its Bash command-line. Mastering the terminal has helped me save time and stay focused. These are my quick reference notes — not an exhaustive list, but the commands I use most often and im sure it will be useful for you too. ...

June 11, 2025 · 5 min

Google IO 2025 Updates Filtered for Android Developers

Google I/O 2025 just wrapped up, and as usual, it delivered a wave of exciting announcements and updates for Android developers. From revolutionary testing tools to enhanced IDE features and broader device support, this year’s I/O promises to streamline workflows and unlock new possibilities, if you missed and like to watch them,(here is the playlist)[https://youtube.com/playlist?list=PLWz5rJ2EKKc86SrjccwTtBzH4Ptu3Mrai&si=1BMDinkRFfi4dL9S] Journeys: Reshaping End-to-End Testing One of the standout announcements that immediately resonated with me was Journeys. This new feature in Android Studio is poised to transform how we approach end-to-end testing, making it significantly easier to write and maintain robust tests. ...

May 26, 2025 · 5 min

Mastering Raw Queries in Room: Why, When & When Not to Use Them (#OF06)

In the previous article, we explored the power and flexibility of DAOs with Room’s built-in query annotations. But what if your query needs don’t fit into Room’s constraints? Enter @RawQuery – the most flexible and dangerous tool in the Room arsenal. Let’s dive into what @RawQuery is, when it shines and shuns. What is @RawQuery? @RawQuery allows you to execute SQL statements that aren’t validated at compile time. Unlike @Query, which Room parses and validates during compilation, raw queries are evaluated at runtime. ...

May 25, 2025 · 5 min

DAO: The Backbone of Offline-First Apps (#OF05)

In our previous article, we covered Entities in Room. Now, let’s explore DAOs (Data Access Objects) – the bridge between your app and the database. DAOs allow you to execute queries that allow is to insert, update, and delete records efficiently and thats exactly what we are going to explore today. What is a DAO? A DAO is an interface annotated with @Dao that defines methods for interacting with the database. The Room compiler generates the necessary implementation for these interfaces and its methods, which enables us to access the database efficient and type safe. ...

March 9, 2025 · 7 min

Room Entity and its intricacies (#OF04)

In our previous article, we explored the key components of Room. Now, let’s take a deep dive into Room Entities, their importance, and the various ways to customize them. Entities are the foundation of Room—they define how your data is stored in the database. Properly structuring your entity ensures efficient querying, maintainability, and scalability. Let’s break it down! 🛠️ 🏗️ What is an Entity? An Entity in Room represents a table in the database. Each instance of the entity corresponds to a row in the table, Room generates corresponding SQL table schema based on how you create an entity class. ...

March 2, 2025 · 10 min