Haxe JS | Externs + LowDb

Estoy probando cosas en Js últimamente y no me gustan mucho babel y parientes. Permiten usar características avanzadas del lenguaje, pero al final del día, sigue siendo Js. :)

Haxe nos permite tener un compilador real validando nuestro código, además de sus características específicas como: Macros, enums, tipos de datos abstractos, etc.

Para poder usar Haxe con Js y acceder a librerías externas tenemos que usar Externs. Son definiciones de los métodos que proveen estas librerías de terceros en un formato que le permite a Haxe validar tipos de datos, estructuras y demases. Para estas pruebas voy a usar Node, ya que me permite probar de manera rápida y sencilla el código sin tener que armar una página web para ejecutar en el browser.

Leer más…

Manejando dotfiles con Stow

Después de pasar buena parte del día instalando dependencias para probar React Native y que no ande, decidí poner un poco de orden a mis dotfiles.

Como cualquier linuxero que haya modificado en algo la configuración por defecto de cualquier programa sabe, los archivos dotfiles - llamados así porque empiezan con . para ocultarlos - se empiezan a acumular. Cuanto más se personalizan, con más razón uno quiere guardarlos.

Leer más…

BCF - Boris CSS Framework

Hace poco estaba armando un pequeño sitio de prueba y me encontré con que iba a necesitar un sistema de grillas. Viendo un poco la oferta de frameworks y sistemas de grillas para CSS, llegué a la conclusión que al mundo le faltaba un framework más. Y le puse mi nombre, no podía ser de otra manera...

Así nació, el Boris CSS Framework, aunque debo admitir que acepto sugerencias para el nombre, siempre que incluyan el Boris :)

Leer más…

Relación Lógica entre sistemas de puntuación de Go

Hace años que me interesa el juego de mesa Go. Tengo un tablero comprado en la Asociación Argentina de Go hace varios años, el cual tiene más uso como fondo para las fotos de origami que como tablero de juego.

A pesar de que las reglas son sencillas, el tema de la puntuación es más complejo y siempre tuve dudas. Gracias a la publicidad que le dio al juego las partidas entre Deep Mind y Lee Sedol, han salido muchos artículos interesantes al respecto.

Uno que me llamó la atención se encuentra en esta url, y decidí traducirlo para tener una referencia a mano.

Leer más…

Haxe + JS 01

Haxe es un lenguaje muy atractivo, por un lado su facilidad para aprenderlo, ya que su sintaxis es muy similar a EcmaScript, y por el otro su capacidad de escribir otros lenguajes. Es tanto un lenguaje como un compilador.

Además de soportar características avanzadas como el soporte para macros, lo que más me gusta es lo simple que hace escribir un gran rango de aplicaciones, desde juegos para la plataforma que queramos, a frontends en js o backends en js o php.

Leer más…

The Long Way to a Small, Angry Planet

Este libro de Becky Chambers fue una sorpresa. Vi algunas rewiews por ahí que hablaban muy bien y lo empecé y dejé un par de veces porque no tenía ganas de agarrar algo tan largo. Grave error.

La lectura se me hizo muy llevadera, es de esos libros difíciles de dejar, porque uno quiere saber qué sigue después.

La historia es chica, pero deja entrever un mundo mucho más grande y complejo, tiene algunos clichés, como el personaje nuevo que se integra a un grupo mayor, pero las excelentes caracterizaciones hicieron que lo pase por alto.

Me hizo acordar a dos autores que me gustan mucho, por un lado Lois McMaster Bujold y por otro David Brin. Las razas extraterrestres a lo Brin en su Uplift Saga y las relaciones a lo Bujold como en los libros de Miles Vorkosigan.

So as I take my time to realign
I wonder what is I hope to find

Linting de js en Neovim

Reescribiendo mi configuración de Neovim, porque eso hago los fines de semana largos, reemplacé YouCompleteMe con Deoplete y Syntastic por Neomake, me encuentro haciendo algunas cosas en js y no tengo linting habilitado.

Ternjs es una posiblidad, pero siempre encuentro que configurarlo es tedioso para cosas chicas, así que busqué otras opciones.

Neomake soporta varios compiladores o linters de js para informar los errores, lo que llaman "Makers".

Leer más…