Skip to content

Instantly share code, notes, and snippets.

View catdevnull's full-sized avatar

Nulo catdevnull

View GitHub Profile
@catdevnull
catdevnull / experiment.ipynb
Last active June 2, 2025 13:58
quirk: explicit resource management doesn't work like defer in go
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
@catdevnull
catdevnull / snowflake.js
Created April 15, 2025 02:59
twitter snowflake id calc
/**
* Parses a Snowflake ID and returns its components.
* @param {string|number} snowflakeId The Snowflake ID to parse.
* @param {number} epoch The epoch to use for timestamp calculation.
* Defaults to Twitter's epoch (1288834974657).
* @returns {object} An object containing the parsed components.
*/
function parseSnowflake(snowflakeId, epoch = 1288834974657) {
const id = BigInt(snowflakeId);
const timestampBits = 41n;
@catdevnull
catdevnull / readme.md
Last active March 28, 2025 18:40
snapshot members "misa comunidad"
@catdevnull
catdevnull / final-cut-pro-trial-reset.sh
Created November 17, 2024 00:02 — forked from TehBrian/final-cut-pro-trial-reset.sh
Final Cut Pro Trial Reset
mv -v ~/Library/Application\ Support/.ffuserdata ~/.Trash
@catdevnull
catdevnull / output.txt
Created September 12, 2024 02:17
chequeo automatizado via preciazo/sepa-dataset-validator de (2024-09-11) 1e92cd42-4f94-4071-a165-62c4cb2ce23c-revID-bf13841c-463a-400f-b77f-8c9791901ad3-sepa_miercoles.zip-repackaged.tar.zst
chequeando sepa_1_comercio-sepa-16_2024-09-11_09-05-10...
❌ [productos.csv] No pude encontrar la fecha de actualización
❌ [sucursales.csv] No pude encontrar la fecha de actualización
❌ [comercio.csv] No pude encontrar la fecha de actualización
-> CUIT 30612929455: Libertad S.A.
❌ Hubo errores parseando el CSV
chequeando sepa_1_comercio-sepa-47_2024-09-11_09-05-10...
-> CUIT 33529300099: Cooperativa Agricola, Ganadera e Industrial de Patagones y Viedma Ltda
❌ Hubo errores parseando el CSV
chequeando sepa_1_comercio-sepa-4_2024-09-11_09-05-10...
@catdevnull
catdevnull / todo mal.md
Last active September 22, 2024 21:36
Errores en el formato de los datos SEPA

Errores en el formato de los datos SEPA

FULL (OPERADORA DE ESTACIONES DE SERVICIOS SA, CUIT 30678774495)

Pone precios "0" en muchos de sus productos. ej en sepa_1_comercio-sepa-19_2024-09-21_09-05-11/productos.csv:

19|1|00959|7790895642081|1|Gase Coca Cola Lata 220 Ml|220|Ml|Coca Cola|0|0|1|l||||
19|1|00825|7790895642081|1|Gase Coca Cola Lata 220 Ml|220|Ml|Coca Cola|0|0|1|l||||
19|1|00857|7790895642081|1|Gase Coca Cola Lata 220 Ml|220|Ml|Coca Cola|0|0|1|l||||
@catdevnull
catdevnull / analisis.js
Created August 20, 2024 23:35
analisis tonyaracre
// @ts-check
import { readFileSync } from "fs";
import z from "zod";
import { isSameDay, startOfDay, sub, format } from "date-fns";
const zTweet = z.object({
text: z.string(),
timeParsed: z.coerce.date(),
});

Términos y Condiciones Generales

Este sitio web y su contenido son propiedad de: Vinchu S.A.S, CUIT 33-71820073-9 (en adelante “CUX” o “Nosotros”), con domicilio en Calle Dean Funes 163, piso 2, departamento 13, de la ciudad de Córdoba, Departamento Capital, Provincia de Córdoba, República Argentina. Pueden ponerse en contacto con nosotros en el domicilio reseñado y/o enviando un correo electrónico a [email protected]. Este contrato describe los términos y condiciones generales (los "Términos y Condiciones Generales") aplicables al uso de los servicios ofrecidos por CUX ("los Servicios") dentro del sitio www.cux.ai (el "Sitio"). Cualquier persona (en adelante "Usuario" o en plural "Usuarios") que desee acceder y/o usar el sitio o los Servicios podrá hacerlo sujetándose a los Términos y Condiciones Generales, junto con todas las demás políticas y principios que rigen CUX y que son incorporados al presente por referencia.CUALQUIER PERSONA QUE NO ACEPTE ESTOS TÉRMINOS Y CONDICIONES GENERALES, LOS CUALES TIENEN UN CAR

import { readFile } from "node:fs/promises";
const jsonl = await readFile("/dev/stdin", "utf-8");
const lines = jsonl.split("\n").filter((s) => !!s.trim());
const objects = lines.map((l) => JSON.parse(l));
let keys = [];
for (const object of objects) {
for (const key of Object.keys(object)) {
@catdevnull
catdevnull / v1.json
Created February 20, 2024 19:35
ejemplo output api interna milei-twitter bot
{
"hoy": { "likes": 137, "totalTime": 426000 },
"ultimaSemana": [
{
"day": "2024-02-13",
"tweets": 489,
"retweets": 159,
"screenTime": 13540000
},
{