Compiled Chronicles

A software development blog by Angelo Villegas


  • Design Patterns | Fluent Interface, Builder, and Facade

    In the ever-evolving landscape of software development, writing clean and readable code is paramount. Design patterns such as the Fluent Interface, Builder, and Facade pattern stand out as champions in promoting code expressiveness and flexibility. In this blog post, we’ll explore these patterns and demonstrate their implementation in TypeScript. I also made a vlog about…

  • Component-Oriented Programming with React

    With the rise of JavaScript frameworks, a newer design pattern is becoming popular. React, a JavaScript library, serves as an excellent example of Component-Oriented Programming principles in action. In this article, we’ll delve into the concept of COP, its relevance, and how React embodies its principles. Understanding Component-Oriented Programming (COP) What is Component-Oriented Programming? Component-Oriented…

  • Exploring MVVM

    Understanding the basics What is MVVM? Model–View–ViewModel is a software architectural pattern that is structured to separate program logic and graphical user interface. It was invented by Microsoft architects Ken Cooper and Ted Peters specifically to simplify event-driven programming of user interfaces. The pattern includes three key components: History The MVVM pattern can be seen as an evolution of the…

  • Swift: Concurrency

    The async/await feature has been added as part of the newer, more structured take of Swift with concurrency and was released with Swift 5.5 during WWDC 2021.^1 Concurrency is the ability to execute multiple computations asynchronously. Swift added two keywords: marking asynchronous functions with async, then calling them using await. Problems and Motivations Before the addition of async/await, asynchronous programming was achieved with completion handlers. Completion…

  • 4 reasons why you should write that tutorial

    1. Your way is different Your technique may not be the same with another programmer’s technique. Programs that you wrote may be written in some way that another programmer hasn’t thought possible. My experience with it when checking out a tutorial by another programmer, there’s always a part of code that I think “I could have done that differently.” Don’t…

  • Functional Programming

    Late part of the year 2015, TU Delft released a MOOC about Functional Programming on edX.org using Haskell. If you already know Swift, then you know that it is a multi-paradigm language that includes functional programming as one of it’s paradigm; and because of this, it piqued my interest to enroll in this course. What is Functional Programming? Functional programming is a programming paradigm that treats…