Categories
Default

Command Line Interface Guidelines

A beautiful site with a lot of very good suggestions on how to build good command line tools.

https://clig.dev/

Categories
Default

Bret Victor The Future of Programming

Source: https://www.youtube.com/watch?v=8pTEmbeENF4

Este es uno de mis “talks” favoritos sobre temas de técnicos y de programación. Lo vi cuando salió en 2013 y desde entonces lo he recomendado muchas veces. Vale la pena verlo.

Categories
Default

Why it’s good for users that HTML, CSS and JS are separate languages

Link

Great blog post on the core technologies of the web and why it’s a good idea they are three separate things.

Categories
Default

Español de Puerto Rico

Hey, si tu o alguien que conoces maneja un website escrito en Español y producido en Puerto Rico, estaría super cool que lo marcan con el idioma y región correcta.

<html lang="es-PR">

Esto ayudaría mucho a http://tesoro.pr en varios inventos futuros.

Por mi parte todavía estoy pensando cómo manejar el tema en este site. Lo mismo escribo en Español que en Inglés.

Links con más información técnica:

https://developer.mozilla.org/en-US/docs/Web/HTML/Global_attributes/lang

https://developer.mozilla.org/en-US/docs/Web/HTML/Element/html#Example

https://www.ietf.org/rfc/bcp/bcp47.txt

Categories
Default

Post que duren

En estos días he estado haciendo más publicaciones en este site. Aproveché para hacer una pequeña limpieza de posts viejos que ya no son tan relevantes y otros que me dan un poco de vergüenza cuando los leo.

Dentro de estos posts encontré muchos que tenían enlaces, videos o pedazos de código “embedded” que ya no estaban disponibles. Sin ese contenido esos posts no sirven para nada.

De hoy en adelante, todos los posts que publique y que hagan referencia a un video, audio o código van a contener una copia local ese contenido.

No vuelvo a usar un “embed” de contenido que es crucial para que el post haga sentido. Con esto puedo garantizar que el contenido siempre estará disponible y que los posts que publique sirvan de algo mientras este site exista.

Antes de que griten “copyright” pienso que esto es “fair use” pero no soy abogado. Si alguien tiene problemas que envíe un “DMCA takedown” y vemos que hacemos.

Categories
Default

Hitchcock Interview

In this fantastic interview with Alfred Hitchcock from a 1976 press conference for his last film ‘The Family Plot’. During this interview (1.5hr) Hitchcock responds to a range of serious and comical questions about his career, his filmmaking style, story, and directing.

Categories
Default

The Clean Architecture in Python

En el último año he estado muy interesado en temas de arquitectura de software. No por gusto pero por necesidad. Pronto escribiré un poco más sobre lo que he aprendido y cómo hemos logrado implementar algunas de estas técnicas en los proyectos que trabajo.

Aquí les dejo esta excelente presentación que toca algunos de los temas importantes para empezar a entender Clean Architecture, Hexagonal Architecture y Functional Core, Imperative Shell.

Categories
Default

Make illegal states unrepresentable

A few days ago I read the blog post Parse, don’t type-check and liked it, you should read it.

Over the past year I’ve been doing a lot of reading about software architecture and this is something that comes up a lot. We must try to write programs that prevents us from representing data that makes no sense or is in some way invalid.

For this I’ve been using value objects. They are simple to understand, immutable and composable. The great thing about value objects is that if you have an instance, you know the data they hold is valid.

Categories
Default

Amass is my favorite reconnaissance tool

Let’s say you want to find out all the subdomains for a given domain in order to perform an authorized security audit. There are many options but I have seen the best results using Amass.

$ amass enum -brute -d example.com

With that command you will perform a very noisy brute force subdomain discovery scan. This tools has many advanced featured but for me, most of the time I just use the above command and get excellent result.

Try it on your domains and see what comes up.