Personal Workflow System for Knowledge Workers

In the evolving landscape of the digital age, knowledge workers find themselves in need of an effective personal workflow system. To successfully manage the multitude of tasks and projects that come their way, they need a system that helps capture ideas, plan tasks, and execute deliverables efficiently. This piece aims to provide an in-depth exploration of such a system, broken down into three fundamental processes: Capture, Plan, and Execute. Capture: The Birthplace of Innovation Every project or task begins as an idea....

January 2024 · Michael John Peña

Where should I publish my contents?

I’ve always been passionate about creating and delivering content. It’s a thrilling process, taking an idea and shaping it into something tangible, something that can enlighten, entertain or inspire others. But in today’s fast-paced, digital-first world, it can be a struggle to keep up. The modern content landscape is like a high-speed train, and I’m often left wondering whether I should jump on board or stay true to my slower, more deliberate pace....

October 2023 · Michael John Peña

The Importance of a Father Figure

Throughout my life, “Father Figure” has been an evolving term. At nine, the loss of my biological father left me grappling with an abstract notion of fatherhood, rooted in scattered memories and recounted tales. The entrance of my stepfather later painted a more nuanced picture, emphasizing not just familial ties but also connection, understanding, and shared experiences. But his untimely recent departure left the phrase “Father Figure” more ambiguous than ever....

August 2023 · Michael John Peña

Kubernetes on Cloud with AWS, Azure, and GCP

Kubernetes is a powerful open-source platform for container orchestration, while cloud computing refers to the delivery of computing resources over the internet. By using Kubernetes on the cloud, organizations can easily manage their containerized applications, scale them up or down, and achieve cost savings. In this blog post, we’ll explore how to set up Kubernetes on three popular cloud providers: AWS, Azure, and GCP. Kubernetes on AWS Amazon Web Services (AWS) is one of the most popular cloud computing platforms....

February 2023 · Michael John Peña

Understanding Automated Market Makers - The Future of Decentralized Trading

Introduction to AMM Have you ever wondered how decentralized trading works? The backbone of decentralized trading is the Automated Market Maker (AMM). AMM is a game-changing technology in the world of decentralized trading that operates on the blockchain and uses a mathematical formula to determine the price of assets based on supply and demand. Central Limit Order Book vs. Automated Market Maker Most traditional exchanges use a trade execution model called the Central Limit Order Book (CLOB) to process all trading orders....

February 2023 · Michael John Peña

TDD (Test-Driven Development) Overview with NextJS Example

Test-Driven Development (TDD) is a software development methodology that emphasizes writing tests before writing code. This approach helps developers catch bugs early and ensures that the code they write is maintainable, scalable, and well-documented. In this blog post, we will take a look at how to get started with TDD in a NextJS and TypeScript project. I’ve also done similar posts in the past: Rust TypeScript (vanilla) Python Prerequisites Before we get started, you’ll need to have a basic understanding of NextJS, TypeScript, and testing....

February 2023 · Michael John Peña

Getting Started with GraphQL using TypeScript

GraphQL is a modern query language for APIs that provides more control and efficiency compared to traditional REST APIs. With GraphQL, clients can specify exactly what data they need, and the server will return only that data, reducing the amount of over or under-fetching of data. TypeScript is a statically typed language that is a popular choice for building large-scale applications. It provides improved reliability, maintainability, and readability compared to dynamically typed languages like JavaScript....

February 2023 · Michael John Peña

Provably in Blockchain Technology: Ensuring Trust and Transparency with Cryptographic Proofs

Blockchain technology is a revolutionary solution for creating secure, decentralized systems that can be used in various industries such as finance, supply chain management, and gaming. One of the key features of blockchain technology is the concept of provably, which refers to cryptographic proof systems that allow users to verify the validity and accuracy of data and processes in the system. In a blockchain system, the use of cryptographic proof enables trust and transparency in the network, as it allows users to verify that the information stored on the blockchain is correct and has not been tampered with....

February 2023 · Michael John Peña

Creating your own Decentralized Exchange like Uniswap

Decentralized exchanges (DEXs) are a new and innovative concept in the world of blockchain, offering a peer-to-peer alternative to centralized exchanges. In this blog post, we will explore how to implement a decentralized exchange like Uniswap using the Ethereum blockchain. Uniswap is a well-known decentralized exchange that enables users to trade cryptocurrencies without the involvement of intermediaries. It uses a unique mechanism, called liquidity pooling, to facilitate trades, making it an excellent example of decentralized exchange implementation....

February 2023 · Michael John Peña

The IT Market in Decline: The Importance of Upskilling in the AI Era

The IT market is currently facing a decline, with many companies undergoing layoffs and restructuring. The COVID-19 pandemic has accelerated the shift towards automation and digital transformation, leading to significant changes in the job market. In this challenging environment, combined with high inflation rates and the cost of living, it is more important than ever to keep learning and upskilling to stay competitive and secure your future career. Artificial intelligence (AI) and machine learning are transforming the way we live and work....

February 2023 · Michael John Peña

TDD (Test-Driven Development) Overview with Python Example

Test-Driven Development (TDD) is a software development approach where developers write tests before writing the code itself. TDD emphasizes writing tests that fail initially, then writing the minimum amount of code necessary to pass the tests. This process is repeated until the desired functionality is complete. TDD provides a number of benefits, including increased confidence in the code, better documentation, and reduced time spent debugging. How TDD Works TDD is based on the Red-Green-Refactor cycle:...

February 2023 · Michael John Peña

Creating your own Stablecoin

Are you new to the world of cryptocurrency and blockchain technology? Have you been wondering how you can create your own stablecoin? Well, you’ve come to the right place! In this beginner-friendly guide, we will walk you through the process of creating a stablecoin that is pegged to the US dollar, using the Ethereum blockchain and the Solidity programming language. Whether you’re an individual looking to explore the world of DeFi or a business looking for a more stable means of payment, this guide will give you a solid foundation to get started....

February 2023 · Michael John Peña

Language Compare Series: TUPLES in CSharp, TypeScript, and Rust

Introduction about the series I’ve been in the technology for more than a decade now, and one thing that really facinates me is when I get back to the roots of programming languages. When you just look at “coding” and not really have to deal with business requirements, what methodologies to use, and how to communicate effectively with your teams and stakeholders. This is what I particularly love about technology and programming languages, there’s always something new to learn....

January 2023 · Michael John Peña

Implementing Redis Caching Patterns with Azure Functions

Caching is a technique used to store frequently accessed data in a temporary storage location in order to speed up the performance of an application. There are several different caching patterns that can be implemented to improve the performance of an application, and each has its own set of benefits and drawbacks. In this blog post, we will explore the different caching patterns and how they can be implemented using Redis and Azure Functions....

January 2023 · Michael John Peña

Debugging Azure Functions Blob Trigger Locally with Azurite

Debugging Azure Functions locally can be a helpful way to test and troubleshoot your code before deploying it to the cloud. One way to do this is by using a local emulator, such as Azurite, which simulates the Azure storage services in the cloud. In this blog post, we’ll walk through how to set up and use Azurite to debug an Azure Functions Blob Trigger locally, using a sample C# function as an example....

January 2023 · Michael John Peña

Create a File Converter Service in 5 minutes or less using Gotenberg and Azure Container Instances

I’m very surprised that there isn’t a straight forward library out there that is free to use and convenient in terms of file conversion. I think it’s because a lot of these file formats come with proprietary software, specially during the early day: Office by Microsoft, PDF by Adobe, etc. Good thing there is Gotenberg! Gotenberg is an open-source tool that allows you to convert HTML, Markdown, and Office documents to PDF by sending HTTP requests to a server....

December 2022 · Michael John Peña

Test-Driven Development in TypeScript: A Practical Guide

Test-driven development (TDD) is a software development approach in which tests are written for a piece of code before the code is written. The tests describe the desired behavior of the code, and the code is written to make the tests pass. This approach helps ensure that the code meets the requirements and works as intended. In this post, we will explore how to do TDD in TypeScript, a typed superset of JavaScript that can be used to build large scale applications....

December 2022 · Michael John Peña

Test Driven Development in Rust

Test Driven Development, or TDD, is a software development process that involves writing tests for your code before writing the actual code itself. This helps to ensure that your code is robust and free of bugs, as you are able to test it thoroughly before it is even written. In this blog post, we’ll look at how to implement TDD in the Rust programming language, with some code examples to help illustrate the process....

December 2022 · Michael John Peña

The start of my 30s

My 20s is officially over. The last 10 years have been a blast. TLDR: Family Man. Got married and have 2 children. Migrated to Australia (from the Philippines), permanently. Became successful with my career in technology (subjectively). Became self-employed and ventured on businesses. Became more financially literate and avoid debt. Really adopted the “lifelong learner” attitude. Values time as the most scarce resource. Understood more about mental models, principles, and philosophies....

October 2022 · Michael John Peña

“CQS (Command Query Separation) in Azure Functions”

Introduction Azure Functions made it very easy to create services on the cloud. It’s very simple to get started just like Logic Apps , but also extensible like a full ASP.NET Core application (if you’re using .NET). You also have a variety of language options to choose from, so it’s not just exclusive to C# or .NET. It uses a serverless architecture so that you don’t need to maintain any runtime dependencies, operating system patches, and infrastructure maintenance as well....

September 2022 · Michael John Peña