• Dear Diary

    “Dear diary” not very descriptive but intended as such. The reason? For once I’m not talking about something specific, but more about a series of things I’ve been up to during the apprenticeship since everyone is back from the holidays. Let’s get to it. Know !== Know-How As I stated...

  • In C you have to do what!?

    Recently I started watching lectures of CS50 in my house. What is CS50 you might ask? Is a super popular course in Harvard that introduces Computer Science to students with or without previous experience and regardless of their major. As not having a CS background myself, I though it would...

  • Functional Programming 101. Basic Design Pattern

    Having a structured way off organizing my apps has always been a struggle. I guess I had an intuition of separation of concerns, but at the end of the day it was all very messy, state was kept in different functions, there wasn’t a sistematic approach for DOM manipulation and...

  • Functional Programming 101; What is a Pure Function?

    In the previous posts we have talked about how apps are data that is presented in a consumable and meaningful way, and how data should be kept immutable when possible. Obviously, if we are going to transform the data, we need a way to do it. That way is functions,...

  • Functional Programming 101. Immutable Data, Arrays

    Last blog post I talked about how an application is just data that is displayed in a meaningful way and that often we can interact with that data through an interface. This is relevant because in one hand we do things with the data (like Creating, Reading, Updating, and Deleting...

  • Functional Programming 101. Immutable Data, Objects

    In an effort to write better code, I’ve been looking into Functional Programming in Javascript. Reader be warned, I’m, not talking about advance stuff (at least for me) like Monads, Functors, or Algebraic Data Types, but much simpler yet powerful practices that I think can favor my code quality, like...

  • Tennis refactoring, the tale of a kata

    As I previously stated, refactoring is the art of changing existing -working- code, and make it better without altering its external behaviors. As a Kata yesterday, Preetham and I worked on this source code, that is basically an app to keep track of tennis scores, but is written purposely bad...

  • Refactoring and adding new features

    looks like this, but with more bits and less ink The theme for the week, as decided with my fellow apprentice Preetham was on the topic of refactoring. What is refactoring? As a short and sweet answer I would say that is changing and improving working code, but without changing...