Compiled Chronicles

A software development blog by Angelo Villegas

Author: 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…

  • Objective-C Generics

    Re-watching the WWDC 2015, you probably noticed that it was all about Swift. That’s a given, with the release of Swift 2.0 back then, Apple announced a lot of additions to the Swift programming language such as protocol extensions, new error handling API and some additional syntax to name a few. That’s not the end of it, Apple also announced Objective-C Generics albeit ‘lightweight’. Since Xcode 7, generics became available…

  • Swift: Phantom Types

    Playing around Swift for some time and you might have encountered a bug or errors on your code by summing up or multiplying variables with different types. Well, not really just Swift but a lot of programming languages have the possibility to calculate variables of different types resulting to possible bugs and/or errors. Phantom Types try to…

  • Swift 2.0

    With the WWDC 2015 came many improvements with Swift — not just making writing code much more beautiful, but also better error handling, and new optimisations that will make your app run even faster. Back to Basics So Swift 2.0 is here with a lot of new features. If you already completed the Swift programming ebook that Apple released last year, then reading it…

  • Swift: JSON Parsing

    JavaScript Object Notation. JSON, pronounced (/ˈdʒeɪsən/ jay-sən), is an easy standard to parse in client-server application data. It is easy to implement and simple to understand. With the release of iOS 5 back in 2011, the NSJSONSerialization class was added in the SDK, which gives an easy to use delegate method to parse JSON data. What is JSON? JSON is a text-based, lightweight and easy…