Artículos

  • Python 0

    Profiling en Python: cProfile, line_profiler, dis y entender el bytecode

    Aprende a usar cProfile, line_profiler, memory_profiler y dis para encontrar cuellos de botella en Python. Con ejemplos reales de pstats, timeit y py-spy, más los errores típicos al interpretar los resultados del profiling.

  • Otros lenguajes 0

    Quarto en R: documentos reproducibles que combinan código, resultados y narrativa

    Quarto es el sucesor de R Markdown creado por Posit. Soporta R, Python, Julia y Observable JS en el mismo .qmd. Aprende a renderizar en HTML/PDF/Word, crear informes parametrizados, dashboards interactivos con Quarto 1.4 y publicar en Quarto Pub o GitHub Pages.

  • Otros lenguajes 0

    Diferenciación automática en Julia: Zygote.jl, ForwardDiff y cómo Julia lo hace diferente

    Zygote.jl implementa diferenciación automática reverse mode en Julia puro, capaz de diferenciar código arbitrario incluidos solvers de EDOs. Comparativa con ForwardDiff.jl y aplicaciones en optimización y machine learning.

  • Lua 0

    LuaJIT y la FFI: rendimiento cercano a C con la comodidad de un lenguaje de scripting

    LuaJIT es una implementación JIT de Lua 5.1 con rendimiento comparable a C en bucles numéricos. Su FFI (Foreign Function Interface) permite llamar funciones C desde Lua sin escribir ni una línea de código C de binding, solo declaraciones en sintaxis C.

  • Erlang 0

    Testing en Gleam: gleeunit y cómo escribir tests en un lenguaje tipado sin excepciones

    gleeunit es el framework de testing oficial de Gleam. Con gleam test se ejecutan todos los tests del directorio test/. Las aserciones usan el pipe operator con should.equal, should.be_ok, should.be_error. Sin configuración extra, listo para CI.

  • Javascript 0

    El patrón Observable en JavaScript: reactividad, streams de eventos y mini-RxJS desde cero

    Aprende qué es el patrón Observable en JavaScript, cómo implementarlo desde cero y qué operadores usar. Incluye ejemplos reales con RxJS: buscador con debounce, BehaviorSubject para estado compartido y cómo evitar fugas de memoria al desuscribirse.

  • Generales 0

    Proc macros en Rust: implementar derive macros personalizadas con syn y quote

    Las macros procedurales de Rust permiten generar código en tiempo de compilación. Aprende a crear un crate proc-macro, a parsear el TokenStream de entrada con syn y a generar código nuevo con quote. Cuatro ejemplos progresivos: derive macro básica, derive con Debug personalizado, attribute ma...

  • Generales 0

    Swift Charts: Chart, BarMark, LineMark, PointMark y personalización en SwiftUI

    Swift Charts es el framework nativo de Apple para gráficas en SwiftUI desde iOS 16. Aprende a usar Chart, BarMark, LineMark, PointMark, AreaMark y RuleMark con ejemplos reales, foregroundStyle para series múltiples, escalas personalizadas e interactividad con chartOverlay.

  • Python 0

    ctypes y cffi en Python: llamar a librerías C desde Python sin escribir extensiones

    Aprende a llamar a funciones C desde Python sin escribir extensiones: ctypes para cargar librerías del sistema con CDLL, definir tipos con restype y argtypes, trabajar con structs y arrays; cffi para pegar la declaración C directamente del header. Cuándo usar cada opción.

  • Javascript 0

    Protocolo iterador avanzado en JavaScript: return(), throw(), iteradores lazy e infinitos

    Aprende a usar return() y throw() del protocolo iterador de JavaScript para limpiar recursos y gestionar errores. Descubre cómo crear iteradores lazy e infinitos como Fibonacci o números primos, y encadénalos sin arrays intermedios con los Iterator helpers de ES2025.