Blog

Variable error del catch en una saga no es directamente visible en Chrome

Tengo un try/catch(error) dentro de una saga, pero la variable error del catch no es directamente visible. Al hacer hover con el puntero del ratón no aparece nada, y al añadirlo manualmente a la sección «Watch» se muestra <not available>. Sin embargo, el console.log(error) aparece correctamente en la consola:

(more…)

Ecto: invalid expression for join `:on`, subqueries aren’t supported, left_join con subquery

El otro día estaba intentando juntar una fila de un id de una tabla «Graphs» con una columna de otra tabla de eventos. Primero intenté utilizar un join con subquery en el on:

(more…)

Elixir: log de query SQL cortado

En config.exs tenía configurado el logger así:

(more…)

Elixir: no se muestran algunas funciones al imprimir stacktrace

Tracing de Erlyberly (izquierda) vs stacktrace (derecha)
(more…)

Error tonto con _.flow y _.uniq

export const graphDistinctTags = ({ edges }) =>
  _.flow(
    _.flatMap((edge) => edge?.tags),
    _.tap((x) => console.log("TAP__1", x)),
    _.map((tag) => tag?.id),
    _.tap((x) => console.log("TAP__2", x)),
    _.uniq(),
    _.tap((x) => console.log("TAP__3", x))
  )(edges);
(more…)

Compilación de Erlang: crypto: Using OpenSSL 3.0 is not yet recommended for production code.

Se me mostraba el siguiente aviso al compilar Erlang con kerl:

(more…)

Error en :observer.start(): libwx_gtk3u_stc-3.0.so.0

Al intentar iniciar el observer de Erlang en IEX saltaba el siguiente error:

(more…)

Uncaught TypeError: Cannot read properties of undefined (reading ‘call’)

Este error me pasó al intentar llamar a .map desde un objeto en lugar de un array. Me costó darme cuenta porque el error es un poco críptico. Podemos emular lo que ocurre haciendo:

(more…)

Ecto, fragments, with ordinality de PostgreSQL

Tenía una query con un where in:

DataStructureVersion
|> ...varias transformaciones de la query
|> where(q, [dsv], dsv.id in ^ids)
(more…)

Diferenciar dispatch de redux-saga-routines

Tengo un código en el que se utiliza redux-saga y redux-saga-routines. Veamos:

// routines.js
import { createRoutine } from "redux-saga-routines";

export const doSomething = createRoutine("DO_SOMETHING");
(more…)