close navigation menu
27 de may. de 2021

Tecnología

Cómo empezamos a modularizar la aplicación de Fintual

Mientras más crece el código de una aplicación, más nos cuesta encontrar el archivo que queremos y es más difícil debuggear. Llega un punto en el que el código ha crecido tanto y maneja tantas funcionalidades que los equipos ya no pueden conocerlo entero y mantenerlo, en especial los desarrolladores nuevos. La curva de aprendizaje se empieza a complicar.

Evolución de la curva de aprendizaje del código de Fintual


El primer commit de Fintual fue hace 5 años. Hoy vamos en más de 33.500 commits y contamos con más de 435.000 líneas de código. Estamos en un punto de inflexión entre la posibilidad - o no - de tener programadores que conozcan prácticamente todo el código de Fintual. Y como estamos creciendo mucho en desarrolladores y en código, tuvimos que tomar una decisión de cómo manejarlo.

Crecimiento del código de Fintual construído con la herramienta git-of-theseus

En Fintual, toda nuestra aplicación corre en un monolito sobre Ruby on Rails (RoR). Este framework web, basado en el clásico Model View Controller (MVC), tiene la particularidad de que asume configuraciones y comportamientos estándar y potencia la reutilización de código. En palabras simples, hace muchas cosas como “magia” de la que no te tienes que preocupar.

Si conoces cómo funciona RoR, la magia es de gran ayuda. Permite desarrollar más rápido y con menos código. Esto, sumado a una estructura ordenada MVC, facilita un orden en los archivos y clases, en donde no es difícil encontrar dónde se hace cada acción, modificar y extender funcionalidades.

Pero cuando empiezas a crecer y el código se multiplica se complica la situación. Empezamos a generar namespaces para ordenar el código y a separar las responsabilidades de clases en otros tipos de componentes más allá de un MVC. En el monolito tenemos 19 tipos de componentes además de models-views-controllers.

Cómo manejar el crecimiento en código

La primera opción es separar al equipo en especializaciones de desarrollo y que cada equipo maneje su código. Es decir, subdividir en los clásicos teams de backend, frontend web y frontend mobile. Pero en Fintual somos todos Full Stack y no hay mucho interés en especializarse así por ahora. En realidad es bacán poder desarrollar una funcionalidad de manera completa. Da más sentido de pertenencia y el impacto percibido es mayor.

Otra opción es dividir el monolito en distintos microservicios, es decir, distintas aplicaciones modulares, donde cada una se ocupa de una tarea y estas se comunican entre sí para construir un producto final. Pero en Fintual no somos muy fanáticos de los microservicios y un approach monolítico nos ha funcionado mejor.

Andrés, CTO de Fintual, defendiendo a los monolitos

¿Qué hicimos entonces? Empezamos a modularizar la aplicación en distintos engines y gemas de RoR.

Engines y gems

Un engine es una especie de mini-aplicación web con prácticamente toda la API y estructura que ofrece Ruby on Rails. Es decir, puedes manejar controladores, modelos, vistas, rutas y migraciones y bases de datos tal como lo harías con una aplicación RoR normal.

Pero ojo. No es un microservicio, ya que lo usamos para extender nuestra main-app. Esto significa que el contenido del engine corre en el mismo servidor, dentro del mismo proceso y contexto y usa la misma base de datos que la main-app, añadiendo sus migraciones y clases. El ejemplo más conocido es el engine de autenticación Devise.

Por otro lado están las gemas. A diferencia de un engine, no necesitan el motor de Rails, sino que son plain Ruby. En otras palabras, no cuentan con un modelo MVC ni manejan bases de datos. Es útil cuando, por ejemplo, queremos construir un Toolkit de utilidades o hacer un wrapper de una conexión a un servicio externo.

La gracia de modularizar la aplicación en engines y gems está en que podemos aislar funcionalidades o comportamientos en “mini-proyectos”.

Por ejemplo, cuando alguien quiera hacer un cambio en la funcionalidad de Fintual del manejo de los fondos mutuos, basta con que vaya al engine de Accounting. Será mucho más fácil encontrar los archivos que debe revisar y modificar. Y más importante, cuando entra un dev nuevo puede comenzar por algunas funcionalidades - engines - en vez de volverse loco mirando una main-app gigante.

Cómo empezar con Engines y Gems

Ahora que conocemos estas alternativas, ¿cómo determinamos si conviene extraer un feature de la main-app a un engine o gem? Lo que hacemos en Fintual es evaluar si vale la pena pensar cada nuevo feature como una extensión de la main-app. En otras palabras, hay que preguntarse si es posible desenchufar esta funcionalidad de la main-app sin romperla.

Un ejemplo es nuestro feature de referidos, parecido al programa de afiliados de Shopify, Amazon y Uber. El programa de referidos permite a cada usuario recomendar Fintual a sus conocidos, y a cambio ganan un 1% del saldo promedio que mantienen sus referidos en su primer año en Fintual. Referidos es una funcionalidad completa que se podría encender y apagar sin afectar el core.

Y bueno, ¿cómo determinamos si hacerlo en una gema o un engine? Nos preguntamos si el feature que quiero desarrollar debe almacenar datos y tiene un comportamiento web. Si la respuesta es sí, entonces conviene desarrollar un engine. Si la respuesta es no y nuestra feature es lógica pura, basta con desarrollar una gema.

Continuando el ejemplo, el feature de referidos sería un engine, ya que tiene sus propios modelos de datos, controladores y vistas.

A medida que creamos nuevos engines nos dimos cuenta que podíamos abstraer gran parte del proceso, por lo que decidimos crear nuestro propio generador de engines. Si eres un desarrollador de Rails, te invitamos a usar y contribuir al desarrollo de esta herramienta mediante el repositorio que liberamos para el público general.

Un tema importante a tener en cuenta es el manejo de dependencias. En una gema es más simple, porque no suele depender de clases u objetos específicos de nuestra main-app. El lenguaje que habla es el de Ruby, recibiendo ciertos objetos estándar (un string o hash por ejemplo) y ejecutando cierta acción.

Pero un engine, dado que maneja controladores, rutas, vistas y modelos tal como lo hace nuestra main-app, puede que requiera interactuar con objetos de la main-app directamente. Por ejemplo, el engine Devise utiliza el modelo User de nuestra main-app para el manejo de los usuarios y lo extiende. ¿Cómo manejamos esta dependencia de manera correcta?

Una forma es definir las dependencias desde la main-app en el módulo principal del engine. Por ejemplo, el engine de referidos depende de los modelos de User y UserDeposit de la main-app y se construye así:

require "referrals/engine"
 
module Referrals
  extend self
 
  MODULE_DEPENDENCIES = %i{
    user_deposit_model
    user_model
  }
 
  mattr_accessor *MODULE_DEPENDENCIES
 
  def configure
    yield self
    require "referrals"
  end
 
  class << self
    MODULE_DEPENDENCIES.each do |symbol|
      define_method(symbol) do
        class_variable_get(:"@@#{symbol}").constantize
      end
    end
  end
end

De esta forma, cuando en la main-app inicializamos el engine de referidos, debemos setear estas configuraciones. Acá le decimos qué modelo de la main-app debe usar el engine.

Referrals.configure do |config|
  config.user_deposit_model = "UserDeposit"
  config.user_model = "User"
end

Luego podemos usar esta configuración dentro del engine. Por ejemplo, acá queremos obtener quién refirió al usuario actual, a partir de una búsqueda en el modelo User. Pero como no conocemos el modelo User directamente, usamos el que nos proporciona la configuración Referrals.user_model.

def referrer_from_code(referrer_code)
  Referrals.user_model.find_by(referrer_code: referrer_code)
end

Además, como un usuario puede referir, queremos que el modelo User tenga una relación de has_many con sus referidos. Podríamos ir al modelo User de la main-app y agregar la relación directamente, pero si desconectamos el engine, se rompería.

Para manejar esta dependencia correctamente, lo que hacemos es añadir dinámicamente funcionalidades a la clase User.

Referrals.user_model.class_eval do
  has_many :referred_users
end

Por último, aislamos la ejecución de código condicionado a la disponibilidad de un engine, para no romper nuestra main-app en caso de que una extensión no esté cargada. Una buena forma de hacerlo es crear un Util que verifique la presencia de un engine.

class EnginesUtil
  def self.with_available_engine(engine_name, &block)
    if available_engine?(engine_name)
      block.call
    end
  end
 
  def self.available_engine?(engine_name)
    Object.const_defined?("::#{engine_name.to_s.camelize}")
  end
end

Así, si por ejemplo en la vista del header, que está en la main-app, queremos agregar un botón a Referidos, tenemos que chequear que el engine esté presente y lo hacemos así:

if EnginesUtil.available_engine?(:referrals)
  link_to "Referidos", app_referrals_path
end

Con este approach hemos logrado hasta ahora extraer funcionalidades de la main-app a 23 engines y 3 gems. Si bien, aún nos queda bastante por modularizar, ya se nota mayor orden y desacoplamiento del código. Hoy es más fácil encontrar el archivo que tenemos que modificar cuando queremos resolver un bug o entender el contexto de funcionamiento cuando queremos agregar un nuevo feature.

Incluso para ordenarnos en lo que nos queda por modularizar, también recurrimos a un engine. El deprecated_main, al que movimos todas los componentes pendientes de extraer.

Pero lo más bacán es que cuando empezamos los proyectos recientes una de las principales discusiones es si se debe desarrollar el feature solicitado dentro de un engine o no. Así que no solo estamos ordenando el código pasado, sino también el que desarrollamos en el presente.  Ya existe una mentalidad de modularización en los desarrolladores de Fintual.


Si te gustó este artículo y tienes un comentario o algo para complementarlo, escríbenos a cartas@fintual.com. Todas las semanas publicamos las cartas destacadas de nuestros lectores.

LO ÚLTIMO DE ECONOMÍA

VER MÁS
Mercados atentos a la publicación de resultados de Nvidia y las tensiones en Ucrania | Blog en vivo 🎙

Mercados

Mercados atentos a la publicación de resultados de Nvidia y las tensiones en Ucrania | Blog en vivo 🎙

por Fernando Suárez
Fondo de Reserva: ¿qué es, cuánto necesito y cómo construirlo?

Conocimiento Financiero

Fondo de Reserva: ¿qué es, cuánto necesito y cómo construirlo?

por José Manuel Peña
Relaciones peligrosas: Donald Trump y Jerome Powell

Conocimiento Financiero

Relaciones peligrosas: Donald Trump y Jerome Powell

por Luis Gonzali
Mercados atentos a la publicación de resultados de Nvidia y las tensiones en Ucrania | Blog en vivo 🎙

Mercados

Mercados atentos a la publicación de resultados de Nvidia y las tensiones en Ucrania | Blog en vivo 🎙

por Fernando Suárez
¿Cómo invertir en Netflix? Y por qué dejaron de alquilar DVDs

Conocimiento Financiero

¿Cómo invertir en Netflix? Y por qué dejaron de alquilar DVDs

por Pato Sullivan
APVnomics: ¿qué es el APV y cuál es el mejor?

Conocimiento Financiero

APVnomics: ¿qué es el APV y cuál es el mejor?

por Fernando Suárez
Los mercados continúan procesando el efecto Trump | Actualización de mercado al 15 de noviembre 📈

Mercados

Los mercados continúan procesando el efecto Trump | Actualización de mercado al 15 de noviembre 📈

por José Manuel Peña
Los mercados continúan procesando el efecto Trump | Actualización de mercado al 15 de noviembre 📈

Mercados

Los mercados continúan procesando el efecto Trump | Actualización de mercado al 15 de noviembre 📈

por José Manuel Peña
Lo nuevo de Fintual: en la lista de bancos, sin serlo

Conocimiento Financiero

Lo nuevo de Fintual: en la lista de bancos, sin serlo

por Pablo Vergara
Cambios en el contrato de Fintual Acciones: sin cambios en las comisiones actuales, solo más opciones futuras

Conocimiento Financiero

Cambios en el contrato de Fintual Acciones: sin cambios en las comisiones actuales, solo más opciones futuras

por Omar Larré
¿Conviene contratar un seguro de ahorro para el retiro?

Conocimiento Financiero

¿Conviene contratar un seguro de ahorro para el retiro?

por Leonardo Castillo
¿Qué es la bicicleta financiera argentina?

Conocimiento Financiero

¿Qué es la bicicleta financiera argentina?

por Diana Palacios
¿Qué es la bicicleta financiera argentina?

Conocimiento Financiero

¿Qué es la bicicleta financiera argentina?

por Diana Palacios
Automatiza tu jubilación: el Descuento Por Planilla (DPP)

Conocimiento Financiero

Automatiza tu jubilación: el Descuento Por Planilla (DPP)

por Pablo Abara
Trump será presidente nuevamente: los mercados se mueven al son de la elección | Actualización de mercado al 8 de noviembre 📈

Mercados

Trump será presidente nuevamente: los mercados se mueven al son de la elección | Actualización de mercado al 8 de noviembre 📈

por Ronald Tichauer

LO ÚLTIMO DE TECNOLOGÍA

VER MÁS
Cómo lanzar un videojuego independiente:  la exitosa campaña de BeDo en Kickstarter

Tecnología

Cómo lanzar un videojuego independiente: la exitosa campaña de BeDo en Kickstarter

por Florencia Edwards
Las Google AI Overviews llegan a Chile: la nueva era de las búsquedas en Google

Tecnología

Las Google AI Overviews llegan a Chile: la nueva era de las búsquedas en Google

por Isabel Meijer
¿Qué se aprende en un simposio de ciberseguridad de la OEA?

Tecnología

¿Qué se aprende en un simposio de ciberseguridad de la OEA?

por Melissa Silva
WP Engine vs. WordPress: la disputa legal que afectaría a millones de páginas web

Tecnología

WP Engine vs. WordPress: la disputa legal que afectaría a millones de páginas web

por Emilio Segreste
Cómo logramos que la I.A. de Fintual se hiciera experta en acciones y ETFs

Tecnología

Cómo logramos que la I.A. de Fintual se hiciera experta en acciones y ETFs

por Matías Guerrero Irarrázaval
Deadlock: ¿se puede mantener un juego en secreto hoy en día?

Tecnología

Deadlock: ¿se puede mantener un juego en secreto hoy en día?

por Tomás Morales
Fintual Spring Update. Lo que se viene en la aplicación

Tecnología

Fintual Spring Update. Lo que se viene en la aplicación

por Florencia Barrios
Hades II: ¿por qué reseñar un Early Access?

Tecnología

Hades II: ¿por qué reseñar un Early Access?

por Tomás Morales
¿Qué era eso de la hackathon oficial de OpenAI en Latinoamérica?

Tecnología

¿Qué era eso de la hackathon oficial de OpenAI en Latinoamérica?

por Omar Larré, Rodrigo Basoalto
Cómo diseñamos la primera Hackathon de OpenAI en Latinoamérica

Tecnología

Cómo diseñamos la primera Hackathon de OpenAI en Latinoamérica

por Danae Alé
¿Qué haces en una hackathon de AI? Mi rol como mentor

Tecnología

¿Qué haces en una hackathon de AI? Mi rol como mentor

por Rodrigo Basoalto
Por qué el evento oficial de OpenAI en Chile fue tan importante: la AI Hackathon

Tecnología

Por qué el evento oficial de OpenAI en Chile fue tan importante: la AI Hackathon

por Omar Larré
DEF CON: donde se juntan los hackers

Tecnología

DEF CON: donde se juntan los hackers

por Francisco Casado
DEF CON: donde se juntan los hackers

Tecnología

DEF CON: donde se juntan los hackers

por Francisco Casado
Cómo ir a DEF CON y no morir en el intento: una guía

Tecnología

Cómo ir a DEF CON y no morir en el intento: una guía

por Francisco Casado

LO ÚLTIMO DE CIENCIA

VER MÁS
La probabilidad de un buen redondeo

Ciencia

La probabilidad de un buen redondeo

por Omar Larré
La probabilidad de un buen redondeo

Ciencia

La probabilidad de un buen redondeo

por Omar Larré
Por qué los eclipses totales generan miles de millones de dólares en turismo

Ciencia

Por qué los eclipses totales generan miles de millones de dólares en turismo

por Esteban Reyes
Por qué los eclipses totales generan miles de millones de dólares en turismo

Ciencia

Por qué los eclipses totales generan miles de millones de dólares en turismo

por Esteban Reyes
Escolares chilenos publican paper en prestigiosa revista científica sobre electricidad en plantas

Ciencia

Escolares chilenos publican paper en prestigiosa revista científica sobre electricidad en plantas

por Timothy Marzullo
Adiós a la peor de las preguntas: ¿cuál es tu pretensión salarial?

Ciencia

Adiós a la peor de las preguntas: ¿cuál es tu pretensión salarial?

por Sara Vásquez
El Dorado de los lingüistas: el corpus de La Nación que podría alimentar a una inteligencia artificial chilena

Ciencia

El Dorado de los lingüistas: el corpus de La Nación que podría alimentar a una inteligencia artificial chilena

por Ricardo Martínez
La física detrás de los superconductores a temperatura ambiente

Ciencia

La física detrás de los superconductores a temperatura ambiente

por Agustin Escobar
La física detrás de los superconductores a temperatura ambiente

Ciencia

La física detrás de los superconductores a temperatura ambiente

por Agustin Escobar
Gonkoken nanoi: lo que podría revelar el nuevo dinosaurio descubierto en la Patagonia Chilena

Ciencia

Gonkoken nanoi: lo que podría revelar el nuevo dinosaurio descubierto en la Patagonia Chilena

por Daniela Flores
¿Cómo ser más productivo? (vol. II) Neurociencias & IA

Ciencia

¿Cómo ser más productivo? (vol. II) Neurociencias & IA

por Maximiliano von Jentschyk Makuc
La ciencia y el marketing detrás del fentanilo, el opioide sintético que está destruyendo Estados Unidos

Ciencia

La ciencia y el marketing detrás del fentanilo, el opioide sintético que está destruyendo Estados Unidos

por Florencia Edwards, Pato Sullivan
La ciencia y el marketing detrás del fentanilo, el opioide sintético que está destruyendo Estados Unidos

Ciencia

La ciencia y el marketing detrás del fentanilo, el opioide sintético que está destruyendo Estados Unidos

por Florencia Edwards, Pato Sullivan
¿Cómo ser más productivo? (vol. I): el estado de flow y cómo conseguirlo

Ciencia

¿Cómo ser más productivo? (vol. I): el estado de flow y cómo conseguirlo

por Maximiliano von Jentschyk Makuc
Inteligencia Artificial: ¿de qué lado estás?

Ciencia

Inteligencia Artificial: ¿de qué lado estás?

por Gonzalo Mena

LO ÚLTIMO DE CULTURA

VER MÁS
El libro de la semana | La ecuación del éxito

Cultura

El libro de la semana | La ecuación del éxito

por Luis Gonzali
El artista de la semana | Franz Sedlacek 🎨

Cultura

El artista de la semana | Franz Sedlacek 🎨

por Pato Sullivan
¿Vale la pena ver Gladiador II?

Cine y Series

¿Vale la pena ver Gladiador II?

por Iñaki Goldaracena
El artista de la semana | Franz Sedlacek 🎨

Cultura

El artista de la semana | Franz Sedlacek 🎨

por Pato Sullivan
¿Vale la pena ver Gladiador II?

Cine y Series

¿Vale la pena ver Gladiador II?

por Iñaki Goldaracena
El libro de la semana | El error de Descartes

Cultura

El libro de la semana | El error de Descartes

por Luis Gonzali
El artista de la semana | Ramón Casas 🎨

Cultura

El artista de la semana | Ramón Casas 🎨

por Pato Sullivan
Pocas películas te van a hacer reír tanto como Anora, y ninguna otra te va a destruir después de hacerlo

Cine y Series

Pocas películas te van a hacer reír tanto como Anora, y ninguna otra te va a destruir después de hacerlo

por Iñaki Goldaracena
Pocas películas te van a hacer reír tanto como Anora, y ninguna otra te va a destruir después de hacerlo

Cine y Series

Pocas películas te van a hacer reír tanto como Anora, y ninguna otra te va a destruir después de hacerlo

por Iñaki Goldaracena
El artista de la semana | Ramón Casas 🎨

Cultura

El artista de la semana | Ramón Casas 🎨

por Pato Sullivan
El libro de la semana | Portarse mal, de Richard Thaler

Cultura

El libro de la semana | Portarse mal, de Richard Thaler

por Luis Gonzali
El artista de la semana | James Montgomery Flagg 🇺🇸

Cultura

El artista de la semana | James Montgomery Flagg 🇺🇸

por Pato Sullivan
The Apprentice: la película que Donald Trump no quiere que veamos

Cine y Series

The Apprentice: la película que Donald Trump no quiere que veamos

por Iñaki Goldaracena
The Apprentice: la película que Donald Trump no quiere que veamos

Cine y Series

The Apprentice: la película que Donald Trump no quiere que veamos

por Iñaki Goldaracena
El artista de la semana | James Montgomery Flagg 🇺🇸

Cultura

El artista de la semana | James Montgomery Flagg 🇺🇸

por Pato Sullivan

LO ÚLTIMO DE OPINIÓN

VER MÁS
Florencia Barrios, Country Manager de Fintual es una de las Mujeres Líderes 2024 según El Mercurio, ¿por qué?

Opinion

Florencia Barrios, Country Manager de Fintual es una de las Mujeres Líderes 2024 según El Mercurio, ¿por qué?

por Florencia Edwards
¿Qué onda la moda de los psicodélicos? Vol. II: usos terapéuticos y laborales

Opinion

¿Qué onda la moda de los psicodélicos? Vol. II: usos terapéuticos y laborales

por Maximiliano von Jentschyk Makuc
Los vocales de mesa demandan al SERVEL: ¿cómo fue ser vocal esta elección?

Opinion

Los vocales de mesa demandan al SERVEL: ¿cómo fue ser vocal esta elección?

por Pato Sullivan
Podcast con Cristóbal Henríquez, el mejor ajedrecista de Chile

Opinion

Podcast con Cristóbal Henríquez, el mejor ajedrecista de Chile

por Florencia Edwards
El Gigaleak de Pokémon: ¿qué se ha descubierto?

Opinion

El Gigaleak de Pokémon: ¿qué se ha descubierto?

por Tomás Morales
El Gigaleak de Pokémon: ¿qué se ha descubierto?

Opinion

El Gigaleak de Pokémon: ¿qué se ha descubierto?

por Tomás Morales
Caos, cócteles y alta costura: el resplandor de Lupe Gajardo en el New York Fashion Week

Opinion

Caos, cócteles y alta costura: el resplandor de Lupe Gajardo en el New York Fashion Week

por Gracia Baldovino
¿Qué tan millonario es el Real Madrid?

Opinion

¿Qué tan millonario es el Real Madrid?

por Timothy Marzullo
El Nobel de economía y Latinoamérica: ¿por qué las instituciones importan?

Opinion

El Nobel de economía y Latinoamérica: ¿por qué las instituciones importan?

por Carlos Cruz Infante
El Nobel de economía y Latinoamérica: ¿por qué las instituciones importan?

Opinion

El Nobel de economía y Latinoamérica: ¿por qué las instituciones importan?

por Carlos Cruz Infante
¿Puede Sally Rooney escribir un best seller que no gire en torno al romance?

Opinion

¿Puede Sally Rooney escribir un best seller que no gire en torno al romance?

por Consuelo Ferrer
¿Puede Sally Rooney escribir un best seller que no gire en torno al romance?

Opinion

¿Puede Sally Rooney escribir un best seller que no gire en torno al romance?

por Consuelo Ferrer
¿Qué son los nootrópicos? Mi experimento con el truco de Silicon Valley para mejorar la productividad

Columnas

¿Qué son los nootrópicos? Mi experimento con el truco de Silicon Valley para mejorar la productividad

por Alejandro Lovera
¿El peor US Open de los últimos años?

Columnas

¿El peor US Open de los últimos años?

por Pato Sullivan
¿Qué son los nootrópicos? Mi experimento con el truco de Silicon Valley para mejorar la productividad

Columnas

¿Qué son los nootrópicos? Mi experimento con el truco de Silicon Valley para mejorar la productividad

por Alejandro Lovera
¿El peor US Open de los últimos años?

Columnas

¿El peor US Open de los últimos años?

por Pato Sullivan
Founder mode: un caso

Opinion

Founder mode: un caso

por Pedro Pineda
Founder mode: un caso

Opinion Columnas

Founder mode: un caso

por Pedro Pineda
Futfem: ¿otro deporte?

Opinion

Futfem: ¿otro deporte?

por Fernando Malatesta
Podcast con Arturo Cifuentes: el vínculo entre arte y finanzas

Opinion

Podcast con Arturo Cifuentes: el vínculo entre arte y finanzas

por Omar Larré
La Ley Karín entra en vigencia: todo lo que tienes que saber

Opinion

La Ley Karín entra en vigencia: todo lo que tienes que saber

por María del Rosario Letelier
Podcast con Álvaro Díaz: títeres, mascotas institucionales y la cantinela de la IA

Opinion

Podcast con Álvaro Díaz: títeres, mascotas institucionales y la cantinela de la IA

por Florencia Edwards
El desafío matemático de los 100 prisioneros que nos planteó Héctor Pastén

Opinion

El desafío matemático de los 100 prisioneros que nos planteó Héctor Pastén

por Florencia Edwards
Un desafío del matemático Héctor Pastén

Opinion

Un desafío del matemático Héctor Pastén

por Florencia Edwards
Nintendo Direct junio 2024: los últimos juegos antes de la Switch 2

Opinion Tecnología

Nintendo Direct junio 2024: los últimos juegos antes de la Switch 2

por Tomás Morales
Un desafío del matemático Héctor Pastén

Opinion

Un desafío del matemático Héctor Pastén

por Florencia Edwards
Nintendo Direct junio 2024

Opinion

Nintendo Direct junio 2024

por Tomás Morales
Mi historia subiendo el Lhotse, la cuarta montaña más alta del mundo

Opinion

Mi historia subiendo el Lhotse, la cuarta montaña más alta del mundo

por Paula Cofré Saphier
Podcast con el doctor Mario Uribe: "La educación sobre la donación de órganos es urgente en Chile"

Opinion

Podcast con el doctor Mario Uribe: "La educación sobre la donación de órganos es urgente en Chile"

por Matías Guerrero Irarrázaval, Omar Larré
Lo que Carlos Slim entiende sobre la política mexicana

Opinion

Lo que Carlos Slim entiende sobre la política mexicana

por Alex González
Juan Fernández: un viaje de pesca al parque jurásico de Chile

Opinion

Juan Fernández: un viaje de pesca al parque jurásico de Chile

por Matías Guerrero Irarrázaval
ENADE 2024: las notas desde la mirada de una startup tech

Opinion

ENADE 2024: las notas desde la mirada de una startup tech

por Omar Larré
Podcast con el matemático Héctor Pastén

Opinion

Podcast con el matemático Héctor Pastén

por Pedro Pineda
Una cátedra de estrategia en Stanford

Opinion

Una cátedra de estrategia en Stanford

por Pedro Pineda
Una cátedra de estrategia en Stanford

Opinion

Una cátedra de estrategia en Stanford

por Pedro Pineda
Un viaje a la mente de Nico Jarry: ¿hasta dónde puede llegar?

Opinion

Un viaje a la mente de Nico Jarry: ¿hasta dónde puede llegar?

por Sebastián Varela
Balatro: el eterno retorno de los juegos de cartas

Opinion

Balatro: el eterno retorno de los juegos de cartas

por Tomás Morales
¿Por qué tener publicidad en Fintualist?

Columnas

¿Por qué tener publicidad en Fintualist?

por Florencia Edwards
Fintual por dentro y la carta del CEO

Columnas

Fintual por dentro y la carta del CEO

por Pato Sullivan
El éxito sin precedentes de Palworld… ¿pero a qué costo?

Columnas

El éxito sin precedentes de Palworld… ¿pero a qué costo?

por Tomás Morales
El éxito sin precedentes de Palworld… ¿pero a qué costo?

Columnas

El éxito sin precedentes de Palworld… ¿pero a qué costo?

por Tomás Morales
Formas validadas de transferir para ayudar a los damnificados por los incendios

Columnas

Formas validadas de transferir para ayudar a los damnificados por los incendios

por Fintual
¿Cómo ser popular en el colegio? Cómprate un vaso Stanley

Columnas

¿Cómo ser popular en el colegio? Cómprate un vaso Stanley

por Diana Palacios
¿Cómo ser popular en el colegio? Cómprate un vaso Stanley

Columnas

¿Cómo ser popular en el colegio? Cómprate un vaso Stanley

por Diana Palacios
Lies of P: la gran revelación del año

Opinion

Lies of P: la gran revelación del año

por Tomás Morales
Lies of P: la gran revelación del año

Opinion

Lies of P: la gran revelación del año

por Tomás Morales
Los billetes de Nikola Tesla adentro de un Monopoly

Columnas

Los billetes de Nikola Tesla adentro de un Monopoly

por Timothy Marzullo
Los billetes de Nikola Tesla adentro de un Monopoly

Columnas

Los billetes de Nikola Tesla adentro de un Monopoly

por Timothy Marzullo
Super Mario Bros. Wonder, la entrega más psicodélica de Mario

Opinion

Super Mario Bros. Wonder, la entrega más psicodélica de Mario

por Tomás Morales
¿Por qué coleccionamos lo que coleccionamos?

Opinion

¿Por qué coleccionamos lo que coleccionamos?

por Pedro Torrealba Barra
¿Por qué coleccionamos lo que coleccionamos?

Opinion

¿Por qué coleccionamos lo que coleccionamos?

por Pedro Torrealba Barra
Blasphemous II: el metroidvania inspirado en la iconografía sevillana

Opinion

Blasphemous II: el metroidvania inspirado en la iconografía sevillana

por Tomás Morales
La leyenda de los “Cheques Matta”

Opinion

La leyenda de los “Cheques Matta”

por Juan Claudio Edwards
Emma Raducanu no juega este US Open. ¿Fue solo un "one hit wonder"?

Opinion

Emma Raducanu no juega este US Open. ¿Fue solo un "one hit wonder"?

por Sebastián Varela
Trabajar viajando: probar ser nómada digital

Opinion

Trabajar viajando: probar ser nómada digital

por Sara Vásquez
Trabajar viajando: probar ser nómada digital

Columnas

Trabajar viajando: probar ser nómada digital

por Sara Vásquez
¿Qué onda la moda de los psicodélicos? Vol. I:  Historia y cultura popular

Opinion

¿Qué onda la moda de los psicodélicos? Vol. I: Historia y cultura popular

por Maximiliano von Jentschyk Makuc
La historia del verdadero oro verde

Opinion

La historia del verdadero oro verde

por Joaquín Barañao, Red Pivotes
In a Barbie world: la muñeca que refleja lo que podrías llegar a ser

Opinion

In a Barbie world: la muñeca que refleja lo que podrías llegar a ser

por Diana Palacios
Encontraron el Anillo Único  en formato de cartas Magic: vale dos millones de dólares

Opinion Columnas

Encontraron el Anillo Único en formato de cartas Magic: vale dos millones de dólares

por Pedro Torrealba Barra
Cómo un escritor pasó a ser una fábrica de cultura popular

Opinion

Cómo un escritor pasó a ser una fábrica de cultura popular

por Joaquín Barañao, Red Pivotes
Qué son los Nepo Babies: historia, política y tecnología

Opinion

Qué son los Nepo Babies: historia, política y tecnología

por Diana Palacios
Análisis psicológico del Gato con Botas 2: El último deseo

Opinion

Análisis psicológico del Gato con Botas 2: El último deseo

por Maximiliano von Jentschyk Makuc
Street Fighter 6: Capcom vuelve a la pelea

Opinion

Street Fighter 6: Capcom vuelve a la pelea

por Tomás Morales
Lo que esconde la nota perfecta del Legend of Zelda Tears of The Kingdom

Opinion

Lo que esconde la nota perfecta del Legend of Zelda Tears of The Kingdom

por Tomás Morales
¿El deporte más exclusivo de todos? Qué tan difícil es jugar en las canchas del US Open de golf

Columnas

¿El deporte más exclusivo de todos? Qué tan difícil es jugar en las canchas del US Open de golf

por José Ignacio Flores
Lo que esconde la nota perfecta del Legend of Zelda Tears of The Kingdom

Columnas

Lo que esconde la nota perfecta del Legend of Zelda Tears of The Kingdom

por Tomás Morales
Rolex y el tenis: una alianza con relojes que no puedes comprar

Columnas

Rolex y el tenis: una alianza con relojes que no puedes comprar

por Alfredo García
¿La minoría de mucho o la mayoría de nada?

Columnas

¿La minoría de mucho o la mayoría de nada?

por Joaquín Barañao, Red Pivotes
Pobres en el castillo

Columnas

Pobres en el castillo

por Joaquín Barañao, Red Pivotes
Los 90 y el cine continuado

Columnas

Los 90 y el cine continuado

por Rafael Gumucio
El método egipcio: cómo mejorar procesos

Columnas

El método egipcio: cómo mejorar procesos

por Luz Eugenia Echeverría
El método egipcio: cómo mejorar procesos

Columnas

El método egipcio: cómo mejorar procesos

por Luz Eugenia Echeverría
¿Cuánto creerle a los rankings de películas?

Columnas

¿Cuánto creerle a los rankings de películas?

por Joaquín Barañao, Red Pivotes
Hidrógeno verde, litio, energías y agua dulce

Columnas

Hidrógeno verde, litio, energías y agua dulce

por Omar Larré
¿Qué es el síndrome del impostor? Cronología antojadiza de mi identidad

Columnas

¿Qué es el síndrome del impostor? Cronología antojadiza de mi identidad

por Maximiliano von Jentschyk Makuc
¿Qué frena al litio chileno? Una ley sin pies ni cabeza

Opinion

¿Qué frena al litio chileno? Una ley sin pies ni cabeza

por Joaquín Barañao, Red Pivotes
La reconstrucción de un pueblo a trece años del terremoto

Columnas

La reconstrucción de un pueblo a trece años del terremoto

por Natalia Berbelagua
IMMORTALITY: la cineteca del inframundo

Columnas

IMMORTALITY: la cineteca del inframundo

por Tomás Morales
Lula, el ex-presidente de Brasil, vuelve al poder

Columnas

Lula, el ex-presidente de Brasil, vuelve al poder

por Stella Melaragno
Pelé: el mejor futbolista de la historia

Columnas

Pelé: el mejor futbolista de la historia

por Rodrigo Arellano
Pelé: el mejor futbolista de la historia

Columnas

Pelé: el mejor futbolista de la historia

por Rodrigo Arellano
Lula, el ex-presidente de Brasil, vuelve al poder

Columnas

Lula, el ex-presidente de Brasil, vuelve al poder

por Stella Melaragno
Microsoft y Activision: historia de una fusión por concretar

Columnas

Microsoft y Activision: historia de una fusión por concretar

por Tomás Morales
Hacia un mundo post-Google: ChatGPT

Columnas

Hacia un mundo post-Google: ChatGPT

por Ricardo Martínez
Wrapped de Spotify vs. las tiendas físicas de música: Mi lista es mejor que la tuya (?)

Columnas

Wrapped de Spotify vs. las tiendas físicas de música: Mi lista es mejor que la tuya (?)

por Ariel Núñez
Volverá la fe en las startups

Columnas

Volverá la fe en las startups

por Agustín Feuerhake
¿Cómo ganar la polla del Mundial?

Columnas

¿Cómo ganar la polla del Mundial?

por Pablo Tapia Varela
Volverá la fe en las startups

Columnas

Volverá la fe en las startups

por Agustín Feuerhake
El remake de dos clásicos:  Silent Hill 2 y Resident Evil 4

Columnas

El remake de dos clásicos: Silent Hill 2 y Resident Evil 4

por Tomás Morales
De los transfers hawaianos a las cumbres andinas: cómo nació Wikiexplora

Columnas

De los transfers hawaianos a las cumbres andinas: cómo nació Wikiexplora

por Joaquín Barañao, Red Pivotes
¿Cuántos goles lleva México en mundiales?

Columnas

¿Cuántos goles lleva México en mundiales?

por Alex Sánchez
Bienvenidos a Night City, la capital del Cyberpunk

Columnas

Bienvenidos a Night City, la capital del Cyberpunk

por Pedro Torrealba Barra
My Little Pony y un juego de peleas: Them’s Fighting Herds

Columnas

My Little Pony y un juego de peleas: Them’s Fighting Herds

por Tomás Morales
Comunidad y lenguaje desde el fin del mundo

Columnas

Comunidad y lenguaje desde el fin del mundo

por Jorge Muñoz
Adiós, Roger: el retiro de Federer

Columnas

Adiós, Roger: el retiro de Federer

por Pato Sullivan
¿Y qué tal si se le adelantaron al satélite Sputnik?

Columnas

¿Y qué tal si se le adelantaron al satélite Sputnik?

por Joaquín Barañao, Red Pivotes
Me volví digital nomad y terminé en la Patagonia: la historia de mi travesía hacia la FIN

Columnas

Me volví digital nomad y terminé en la Patagonia: la historia de mi travesía hacia la FIN

por Cecilia Ramallo
El Big Data llegó al fútbol al estilo Moneyball

Columnas

El Big Data llegó al fútbol al estilo Moneyball

por El Analista
Los ganadores y perdedores de los Premios Emmy 2022

Columnas

Los ganadores y perdedores de los Premios Emmy 2022

por Iñaki Goldaracena
“The Big Carlos” dice presente: Carlos Alcaraz, el nuevo número 1 del mundo

Columnas

“The Big Carlos” dice presente: Carlos Alcaraz, el nuevo número 1 del mundo

por Rodrigo Arellano
“The Big Carlos” dice presente: Carlos Alcaraz, el nuevo número 1 del mundo

Columnas

“The Big Carlos” dice presente: Carlos Alcaraz, el nuevo número 1 del mundo

por Rodrigo Arellano
La Reina Isabel II ha muerto. Dios salve a la Reina.

Columnas

La Reina Isabel II ha muerto. Dios salve a la Reina.

por Ariel Núñez
Cambios en el comportamiento electoral por el voto obligatorio en el plebiscito

Columnas

Cambios en el comportamiento electoral por el voto obligatorio en el plebiscito

por Gonzalo Mena
Qué implica ser mentor en un intensivo de programación en la Patagonia

Columnas

Qué implica ser mentor en un intensivo de programación en la Patagonia

por Pedro Saratscheff
Plebiscito de salida: lo que sí sabemos

Columnas

Plebiscito de salida: lo que sí sabemos

por Priscila Robledo, José Ignacio Flores, José Manuel Peña, Daniela Pradel A.
Así fue la primera semana en el Fintual Intensivo Natales

Columnas

Así fue la primera semana en el Fintual Intensivo Natales

por Andrés Arellano
Trasandino y Fintual: un objetivo a largo plazo

Columnas

Trasandino y Fintual: un objetivo a largo plazo

por Pato Sullivan
Stray: el juego de un gato perdido que te hace recordar tu humanidad

Columnas

Stray: el juego de un gato perdido que te hace recordar tu humanidad

por Carolina Maldonado Magnere
Cristóbal Henríquez: el mejor ajedrecista de Chile

Columnas

Cristóbal Henríquez: el mejor ajedrecista de Chile

por Pato Sullivan, Florencia Edwards, Sebastián Ovalle
¿Todo atado y bien atado? Depende con qué comparemos

Columnas

¿Todo atado y bien atado? Depende con qué comparemos

por Joaquín Barañao, Red Pivotes
Constituciones y educación

Columnas

Constituciones y educación

por Diana Palacios
Cómo colaboran Fintual y la academia

Columnas

Cómo colaboran Fintual y la academia

por Pedro Pineda
Nuestra intuición acerca del infinito

Columnas

Nuestra intuición acerca del infinito

por Manuel Becker Toro
La zanahoria, un impostor triple

Columnas

La zanahoria, un impostor triple

por Joaquín Barañao, Red Pivotes
El efecto e-mariposa

Columnas

El efecto e-mariposa

por Joaquín Barañao, Red Pivotes
La extraña relación entre pesca con mosca y las inversiones

Columnas

La extraña relación entre pesca con mosca y las inversiones

por Juan Pablo Rybecky
La impericia de Julio César que aún reverbera en Excel

Columnas

La impericia de Julio César que aún reverbera en Excel

por Joaquín Barañao, Red Pivotes
Un análisis a la reciente inversión de la curva

Columnas

Un análisis a la reciente inversión de la curva

por Ana Sepúlveda
Por qué WeCrashed sobresale

Columnas

Por qué WeCrashed sobresale

por Cristóbal Fredes
Bloqueos de destrucción masiva

Columnas

Bloqueos de destrucción masiva

por Agustín Feuerhake
Oleg Oprisco

Columnas

No sé nada sobre la guerra

por Sara Vásquez
Hoja de ruta para mayor diversidad en sector financiero: razones abundan

Columnas

Hoja de ruta para mayor diversidad en sector financiero: razones abundan

por Rosario Celedón
El elefante en la habitación (y cómo afecta al pequeño ahorrante)

Columnas

El elefante en la habitación (y cómo afecta al pequeño ahorrante)

por Omar Larré
El Rally de Santa Claus

Columnas

El Rally de Santa Claus

por José Manuel Peña
Las dos candidaturas presidenciales

Columnas

Las dos candidaturas presidenciales

por Pedro Pineda
Cartas a las editoras: Sequoia

Cartas a las editoras

Cartas a las editoras: Sequoia

por Florencia Edwards, Carolina Maldonado Magnere
Maria Skłodowska

Columnas

Maria Skłodowska

por Pedro Pineda
Paul Graham Y Combinator y Fintual

Columnas

El día en que Paul Graham le recomendó Fintual a Sequoia

por Agustín Feuerhake
Cartas a las editoras: aún uso mi cuenta RUT y Bitcoin para todos

Cartas a las editoras

Cartas a las editoras: aún uso mi cuenta RUT y Bitcoin para todos

por Fintual
Cartas a las editoras: no hay premio Nobel de Economía y más consejos para la salud mental

Cartas a las editoras

Cartas a las editoras: no hay premio Nobel de Economía y más consejos para la salud mental

por Fintual
SOFTWARE >COPPER

Columnas

SOFTWARE >COPPER

por Pedro Pineda
Adiós Chile: ​​la misión fallida de conseguir Tarjeta de Crédito para mi empresa de neurociencia

Columnas

Adiós Chile: ​​la misión fallida de conseguir Tarjeta de Crédito para mi empresa de neurociencia

por Timothy Marzullo
Carta de una trabajólica en rehabilitación

Columnas

Carta de una trabajólica en rehabilitación

por Sara Vásquez
Partida simultánea de ajedrez con Cristóbal Henríquez

Columnas

Partida simultánea de ajedrez con Cristóbal Henríquez

por Omar Larré
¿Cómo ayudar e impactar sin moverte de tu casa?

Columnas

¿Cómo ayudar e impactar sin moverte de tu casa?

por Sara Vásquez
La figurita de acción que recaudó 3 millones de pesos en solo 24 horas

Columnas

La figurita de acción que recaudó 3 millones de pesos en solo 24 horas

por Beatriz Ivanovic, Maximiliano von Jentschyk Makuc
A escala humana

Columnas

A escala humana

por Juan Francisco Rebolledo
Compatibilidad Competitiva

Columnas

Compatibilidad Competitiva

por Agustín Feuerhake
Sé como Charles Aránguiz

Columnas

Sé como Charles Aránguiz

por Pedro Pineda
Cómo empezamos Fintual (parte 2)

Columnas

Cómo empezamos Fintual (parte 2)

por Andrés Marinkovic
El miedo

Columnas

El miedo

por Florencia Edwards
Dear Intern

Columnas

Dear Intern

por Francesca Finaldi
La espada

Columnas

La espada

por Agustín Feuerhake
Diversidad que nos hace mejores II

Columnas

Diversidad que nos hace mejores II

por Sebastián Lisboa
Unicornershop

Columnas

Unicornershop

por Pedro Pineda
Cocina con Arnaud: Boeuf Bourguignon o estofado de res

Columnas

Cocina con Arnaud: Boeuf Bourguignon o estofado de res

por Arnaud Hudaverdian
Cómo lograr 30 horas al día mientras estudias y trabajas

Columnas

Cómo lograr 30 horas al día mientras estudias y trabajas

por Isidora Vizcaya
Cómo empezamos Fintual

Columnas

Cómo empezamos Fintual

por Andrés Marinkovic
Sobre el negocio del fracaso y sus errores

Entrevistas Columnas

Sobre el negocio del fracaso y sus errores

por Montserrat Bonilla
Artículos constitucionales techie

Columnas

Artículos constitucionales techie

por Pedro Pineda
Píldoras para superhéroes

Columnas

Píldoras para superhéroes

por Pedro Pineda
Cómo fuimos la primera startup chilena en quedar en Y Combinator

Columnas

Cómo fuimos la primera startup chilena en quedar en Y Combinator

por Pedro Pineda
Lanzar una startup en 11 horas

Columnas

Lanzar una startup en 11 horas

por Pedro Pineda
El camino a la igualdad para las nuevas generaciones

Columnas

El camino a la igualdad para las nuevas generaciones

por Francisca Dominguez
Cartas a las editoras: discriminación positiva, el nuevo asesor de negocios/financiero y día de la mujer

Cartas a las editoras

Cartas a las editoras: discriminación positiva, el nuevo asesor de negocios/financiero y día de la mujer

por Florencia Edwards, Francesca Finaldi, Carolina Maldonado Magnere
Cartas a las editoras: un arma de doble filo, la paradoja de Braess y una falacia al hablar de economía

Cartas a las editoras

Cartas a las editoras: un arma de doble filo, la paradoja de Braess y una falacia al hablar de economía

por Florencia Edwards, Francesca Finaldi, Carolina Maldonado Magnere
Por qué !&%$ existe un día de la mujer

Opinion

Por qué !&%$ existe un día de la mujer

por Isidora Vizcaya
Cartas a las editoras: semana 1 de febrero

Cartas a las editoras

Cartas a las editoras: semana 1 de febrero

por Florencia Edwards, Carolina Maldonado Magnere, Francesca Finaldi
Cartas a las editoras: semana 25 de enero

Cartas a las editoras

Cartas a las editoras: semana 25 de enero

por Florencia Edwards, Carolina Maldonado Magnere, Francesca Finaldi
Cartas a las editoras: semana 18 de enero

Cartas a las editoras

Cartas a las editoras: semana 18 de enero

por Florencia Edwards, Carolina Maldonado Magnere, Francesca Finaldi
Decorar te hace feliz

Columnas

Decorar te hace feliz

por Luca Rebori
Por qué dejé mi puesto de CEO

Columnas

Por qué dejé mi puesto de CEO

por Victor Hugo Flores
Pase maestro, lo estábamos esperando

Columnas

Pase maestro, lo estábamos esperando

por Pedro Pineda
Primarias 2020: adiós a los intendentes regionales

Columnas

Primarias 2020: adiós a los intendentes regionales

por Carolina Maldonado Magnere
El problema de las encuestas en las elecciones

Columnas

El problema de las encuestas en las elecciones

por Pedro Pineda
El Papa afirmó su apoyo a las uniones civiles de parejas del mismo sexo

Opinion

El Papa afirmó su apoyo a las uniones civiles de parejas del mismo sexo

por Nico Soto-Aguilar
Nobel de física chileno

Columnas

Nobel de física chileno

por Pedro Pineda
Armenia vs Azerbaijan

Columnas

Armenia vs Azerbaijan

por Pedro Pineda
¿KIM 4?

Columnas

¿KIM 4?

por Pedro Pineda
Diversidad que nos hace mejores

Columnas

Diversidad que nos hace mejores

por Nico Soto-Aguilar
El gran vacío en la inversión en capital de riesgo en Chile

Columnas

El gran vacío en la inversión en capital de riesgo en Chile

por Fintual
Sobre la reforma previsional

Columnas

Sobre la reforma previsional

por Omar Larré