Jan 14Member-onlyPostgreSQL Process ArchitectureCreating a listener on the backend application that accepts connections is simple. You listen on an address-port pair, connection attempts to that address and port will get added to an accept queue; The application accepts connections from the queue and start reading the data stream sent on the connection. However…Postgres12 min readPostgres12 min read
Jan 5Member-onlyReverse engineering an Amazon Prime ErrorI like screen capping software error messages and speculate what the cause or bug might have been. It let me put myself in the engineer shoes who wrote the software and think of their behalf. Sometimes, you can tell so much from an error code. I’m wrong most of the…Software Engineering5 min readSoftware Engineering5 min read
Jan 2Member-onlyThe !Empathetic EngineerA short story portraying the software engineer archetype Preface Engineers are incredibly smart. This could be a product of the complex problems they usually work on and the abundance of solutions a given problem can have. This is especially true for software engineering problems. …Software Engineering9 min readSoftware Engineering9 min read
Dec 30, 2022Member-onlyHow I learn Software EngineeringSoftware engineering is a big and constantly evolving domain with new innovations. While this is true, most -if not all- technologies in software engineering tend to eventually coalesce into few first principals. …Software Engineering6 min readSoftware Engineering6 min read
Dec 26, 2022Database Indexing in Hotel roomsIf you’ve been to a hotel often you would see a sign looking something like this on the way to your room. This helps finding rooms convenient and fast especially if the hotel has many rooms. Take a hotel with 9 floors. Your room number is 917. The first step…Software Engineering2 min readSoftware Engineering2 min read
Dec 21, 2022Member-onlyDatabase Pages — A deep diveDatabases often use fixed-size pages to store data. Tables, collections, rows, columns, indexes, sequences, documents and more eventually end up as bytes in a page. This way the storage engine can be separated from the database frontend responsible for data format and API. …Database6 min readDatabase6 min read
Dec 14, 2022Member-onlyWhat Musashi taught me on Software EngineeringIn the last 8 years I’ve seen an increase of articles and YouTube videos with titles such as “Boost app performance with this framework” or “3x times the throughput with this database” or “This language is the C killer”. …Software Engineering4 min readSoftware Engineering4 min read
Dec 12, 2022Member-onlyMongoDB internal ArchitectureI’m a big believer that database systems share similar core fundamentals at their storage layer and understanding them allows one to compare different DBMS objectively. For example, How documents are stored in MongoDB is no different from how MySQL or PostgreSQL store rows. Everything goes to disk, the trick is…Mongodb8 min readMongodb8 min read
Dec 8, 2022Member-onlyHow I design softwareDesigning software is challenging and I don’t think there is a right or wrong way of doing it. I tried several software design methods in my career and they all lacked something and never left me confident about the system I built. I tried the code-first approach where I prototype…Software Development6 min readSoftware Development6 min read
Dec 5, 2022Member-onlyHow UI/UX can break the backendUI/UX design is an interesting engineering domain often referenced while building frontend applications. The user interface influences how users experience the application. How pretty the app looks, how convenient it is to use and can the user get there in fewer clicks as possible. Rarely however we discuss the impact…Front End Development9 min readFront End Development9 min read