@ agnasg

Por qué hacerlo fácil si lo podemos hacer difícil v 2.0

24-09-2022 7:06 PM

He estado viendo la forma como mis ingresos de mi actividad de freelancing se han ido transformando y mermando en cierta forma con el tiempo. La pandemia, el descubrimiento por parte de los freelancers que haciendo un plugin de WordPress puede generar $150 en una mañana, otras razones, ha generado este declive. Si tu colocas “quiero un sitio hecho en WordPress” en upwork, freelancer.com y otros sitios, te van a aparecer 80-120 ofertas al instante. Hace 10 años yo hacía 2-3 proyectos mensuales de web scrapping (extracción de datos de un sitio web). Hoy en día con 3-4 líneas de python eso lo puede hacer cualquiera. Tengo 5-6 años que no hago un proyecto de este tipo.

Otro detalle que he notado es que la cantidad de ciertos proyectos varía a lo largo del año. Generé una hipótesis y me propuse comprobarla. Si los resultados son los que sospecho los próximos dos meses hay ciertas actividades que debería hacer, o quizás mejor no. Así que me dispose a analizar los correos con “You have been paid by” que tengo en mi cuenta, agregarles la fecha, pasarlos a un .csv y hacer un analítico. google gmail tiene una herramienta para bajar todos los correos, o, en este caso, los que tienen una etiqueta en particular. Los correos que me interesan ya están. etiquetados. La herramienta se llama Takeout y se puede acceder dentro de tu cuenta google. La ejecuté y me generó un archivo _Work.mbox de 300 mb con datos desde el 2004. En google “convertir mbox to csv” está lleno de herramientas, no un procedimiento. Abrí el archivo con vim y es un simple archivo de texto con los correos uno detrás de otro en cualquier orden.

Esto es una tarea para awk. Luego de 15 minutos mi script de awk lucía así:

awk -F, 'BEGIN {prev = ""} index(prev, "Date: ") != 0 && index($0, "You have been paid by") != 0 {print prev, $0 }  {prev = $0}' OFS=', ' _Work.mbox

¿Por qué estoy usando awk si con PHP esto se puede hacer mucho más fácil? Hace 15 años procesar un archivo de texto y tomar acciones basado en el contenido de cada línea se resolvía con awk. Pues ya no, con PHP o python esto se hace rápidamente. Fue una reacción instintiva de mi parte. supongo

5 minutos después este es el script PHP resultante:

$fin = fopen("_Work.mbox", "r");
$fout = fopen("result.csv", "w");
$prev = "";
if ($fin) {
    while (($line = fgets($fin)) !== false) {
        if (strstr ($prev, "Date: ") !== false &&
	     strstr ($line, "You have been paid by") !== false) {
                $date = substr ($prev, 5, 26);
		$end = strpos ($date, "-0");
		if ($end !== false) {
			$date = substr ($date, 0, $end);
		}
		$begin = strpos ($line, " by ") + 4;
		$end = 	strpos ($line, " on ");
		if ($end === false) {
			$end = 	strpos ($line, " at ");
		}
		$by = substr ($line, $begin, $end - $begin);
		fwrite ($fout, "$date;$by\n");
	}
	$prev = $line;
    }

    fclose($fout);
    fclose($fin);
}

Tuve que hacer algunas manipulaciones para eliminar texto inútil y otros maquillajes. El resultado fue desalentador porque solo obtuve 200 registros, y estaba esperando más de 1000, tuve que regresar a Takeout repetir el proceso, blah, blah. Cuando el .csv se parecía a lo que esperaba comencé a batallar con excel. 45 minutos después el resultado fue una gráfica que confirmó que mi sospecha era correcta: los dos próximos meses debe haber una actividad significativa. Me quedé sospechando que había perdido el tiempo, pero también que quizas todo este ejercicio tiene una utilidad que todavía no he descubierto. Es como cuando estás haciendo una demostración matemática y llegas a que 1 == 2. Obviamente estás haciendo algo mal, lo que hay que descubrir es qué.

Wizard 101: Death Whirlwind

09-09-2022 6:21 PM

Este es un post solamente para reportar algunas estadísticas de uno de los farming más largos que he hecho en mi vida, la Mote of Transport (Mota de Transporte) necesaria para crear la montura Death Whirlwind (Torbellino de Muerte).

El farming es una de las actividades que debemos hacer en los MMO (juegos en línea masivamente multijugador). Consiste en matar jefes hasta que suelten algún tesoro específico que nos gusta o que necesitamos como ingrediente para alguna receta de una montura o algo más. En este caso, es la mota de transporte, un ingrediente para la montura Death Whirlwind .

Aquí está:

La mejor estrategia es farmear algún jefe fácil, para mí, fue Ra (Krokotopia), pero para acceder a él necesitamos Wooden Skeleton Keys (Llaves Esqueleto de Madera). Nuevamente uso un jefe fácil para farmear: Bastilla Gravewind (Firecat Alley).

Además de esto, ejecuté las tareas diarias (daily assignments) durante 173 semanas. Todo el mundo dice que después de un año (lo que significa 54 semanas) debería salir. Por desgracia, no tuve suerte.

Finalmente, hoy Ra lo soltó.

Las estadísticas:

Muertes de Bastilla Gravewind:

74, 11, 30, 65, 9, 29, 121, 19, 116, 78,

98, 88, 10, 25, 34, 36, 1, 15, 24, 13,

20, 64, 19, 122, 126, 106, 20, 2, 4, 68,

12, 37, 5, 71, 135, 95, 102, 64, 1, 128

5, 19 ,11, 64, 36, 3, 19 , 106, 16, 99

Cada número representa el número de muertes para conseguir una Wooden Skeleton Keys (Llaves Esqueleto de Madera) .

Total: 2391 muertes

Cuenta: 50 + 2 (obtenidas del propio Ra)

El promedio de muertes para conseguir una Wooden Skeleton Keys (Llaves Esqueleto de Madera) es de 47,82

Resumen: Maté a Bastilla Gravewind 2391 y a Ra 52 veces para conseguir una Mote of Transport (Mota de Transporte) . Bastilla Gravewind está muerta en 90 segundos con mi Wizard nivel 75, Ra está liquidado en 3 minutos. Eso significa que el tiempo nominal empleado fue ~60 horas reales. Eso es nada. Yo jugue wow más de 8000 horas según mi último conteo.

Fue una aventura que duró 3 años y pico, el farmeo más largo que he hecho en mi vida.

Nota: para alguien que no ha jugado jamás un MMO esto parece una locura. En realidad es algo absolutamente normal, y esos números son +/- normales.

De ser sistemático

31-08-2022 7:45 AM

La razón por la que este mes no ha habido post es porque el post de este mes se salió completamente de control. Es uno de esos post que tienen vida própia y salen corriendo sin que lo pueda detener y termina hablando de Soren Kierkegaard, Nietzsche, Maupassant, etc.. Ni idea si alguna vez lo voy a publicar. ¿El título? “De artistas, intelectuales y habladores de pistoladas

Pero mantengamos un poco el control, y mantengamos este post (este que Ud. está leyendo) enfocado. Lo que estaba tratando de escribir en aquél post eran unas elucidaciones sobre un libro y cómo me servían (o me podrían servir) para completar un último detalle en un cuento que estoy escribiendo desde hace un tiempo. Y de alguna forma lo conecté con otros tópicos que estoy trabajando al mismo tiempo. Yo escribo un diario donde trato de organizar el tiempo libre que me queda para que sea productivo. Yo soy procrastinador y, lean esto con atención, es casi una revelación, yo no soy sistemático. Es decir, soy un programador, un hombre de sistemas que no es sistemático en su proceder. El deber ser es que debería seguir un esquema sobre un tópico y desarrollarlo completamente. Fracaso. Fracaso rotundamente y lo dejo por la mitad o por la tercera parte. Por ejemplo. Desde abril estoy escribiendo un cuento (como ya dije) que estuve cocinando durante bastante tiempo (de verdad no quiero reconocer qué significa bastante tiempo). Quería estudiar sobre las reacciones de las mujeres cuando un hombre las manipula (dado que lo inverso es lo usual, misoginia no intencional). Por eso Maupassant y Bel Ami, un libro donde se narra la historia de un personaje masculino que trepa a través de la sociedad parisina utilizando y manipulando a hombres y mujeres para elevar su estatus social. Similar a Barry Lyndon de Thackeray , pero la original, al parecer la versión de Stanley Kubrick es diferente (manía de él, que aplicaba con frecuencia, Stephen King protestó enérgicamente los cambios que Kubrick hizo al Resplandor).

Ser sistemático. Capítulo I. Por ejemplo. Finnegans Wake. Los estudiosos de este sitio (micronosis.com) sabrán mi opinión de Ulises, de James Joyce. Pero esa opinión no se permea hacia Joyce a quien sigo considerando el Ra del parthenón de los escritores (si me permiten la amalgama de metáforas). Dublineses. Pero, no solamente Retrato de un artista adolescente sino, y muy especialmente, Finnegans Wake lo mantiene vivo en mi lista de los 50 libros que me gustaría leer si tuviera tiempo para eso. El punto es que existe una exégesis de Finnegans Wake que es el ápice del enfoque sistemático: FWEET (Elucidación Extensible de Finnegans Wake (me comí lo de tesoro porque me parece exageraciones anglosajonas)). Tómese unas horas para leer la introducción, todas las páginas (incluyendo la página de tips y el manual de usuario), ver algunas de las 93,312 notas sobre el libro y luego pase al tutorial. Sí, este es un sitio que tiene un tutorial para poder utilizar la herramienta de búsqueda. El tutorial explica:

  • El efecto que produce mover el cursor del ratón sobre los diferentes elementos de las páginas.
  • Para qué sirve el botón Reset y el botón Back.
  • Cómo hacer búsquedas sensitivas a las mayúsculas y minúsculas o sin sensitividad a las mayúsculas y minúsculas.Cómo ver las elucidaciones de una página en particular de FW.
  • Varios párrafos (párrafos largos), no en formato de tutorial, con explicaciones sobre varias características, incluyendo Comment on Me!, una página para hacer comentarios sobre el sitio.

Y un largo etcétera. Eso es ser sistemático. En esa misma tónica, comencé a preparar una lista de ideas para la subtrama de un personaje llamado Bertha, pero en forma libre, no solamente la idea de la manipulación:

  • Una mujer que analiza las implicaciones que la infidelidad de su marido genera en su pasado.
  • Una mujer que descubre que su marido es un trepador social, y que no era su riqueza lo que buscaba sino posicionarse dentro de su grupo social.
  • Una mujer, que finalmente deja a su marido luego de 30 años de matrimonio, quien no se sorprende, no protesta, no hace nada y le permite marcharse, y cuando le pregunta si su matrimonio valía tan poco, le responde “en realidad, esperaba que te fueras a la semana de casarnos”.
  • Una mujer que descubre que el amor de su vida, realmente la amaba, pero la rechazó para complacer a una manipuladora mujer, su mejor amiga.
  • Una mujer que descubre que su hermana y su marido tienen una aventura desde hace 30 años.
  • Una mujer cuyo marido luego de 30 años de matrimonio le recrimina todo lo que sacrificó por complacerla a ella. Algo así como el monólogo de Diatriba de amor contra un hombre sentado de García Márquez, pero al revés.
  • Una mujer cuyo marido desaparece una mañana de abril, y la policía concluye que está muerto. Meses después, la mujer lo encuentra escondido en un cuarto secreto en el sótano.

La verdad yo no tenía idea de cómo seleccionar una de estas opciones así que hice una de David Aames, todas, simultáneamente. El truco estaba en cómo hilvanar este amasijo de posibilidades. El cuento ya tenía 14k palabras, demasiado para lo que debería ser (por debajo de 6k) y estaba escrito, en un intento de escribir en forma experimental, sólo para ver cómo queda, en una sola retahila de palabras, sin respirar, sin pausas, sin separación entre párrafos, sin secciones, sin números que indiquen cuándo termina una escena y comienza la otra (como está escrito este post, párrafos largos). Me parece que quedó bien, el detalle era como meter los 7 cuentos de Bertha sin extenderme mucho. Como la trama del cuento lo permitía, Bertha describe los 7 casos uno detrás del otro y luego los mezcla como si fueran uno solo. Es que en las relaciones de pareja lo que sucede es que en realidad no nos casamos con una mujer, sino con 7 o más mujeres y las tenemos que complacer a todas. Los hombres son más simples. Pero eso no es noticia nueva. Todas las mujeres lo saben.

Ser sistemático. Capítulo II. Como me suele suceder, el resultado fue lo inverso de lo que quería decir y terminé mezclando varios tópicos casi sin orden ni concierto. Así que, enfocado, diseñé un cuadro de cómo se relacionan las diferentes historias entre sí.

donde el flujo narrativo es el orden en que Bertha describe cada episodio, la relación de dependencia es cómo ambos episodios dependen uno del otro, y la vinculación de Bertha es cómo Bertha cree que ambos episodios se relacionan basado en sus especulaciones y subjetividades sin que realmente quede claro si esta vinculación es real o no. Las notas satisfacción, complejos, traición, etc. indican el tema principal de la verborrea en cada episodio.

Cuando estuve organizando y diseñando este cuadro tenía una sonrisa por dentro, pensando que el proceso creativo no se puede sistematizar de esta manera. Cuando estoy escribiendo, no estoy en capacidad de seguir un flujograma, es un huracán, un torbellido, una ola de agua desenfrenada que surge de las entrañas de una montaña y baja con fuerza arrastrando con estructuras y planes y esquemas sin compasión, con fuerzas y voluntades incontrolables. Lo que me recordó (algo que está en el post no publicado mencionado arriba) lo que decía Vargas Llosa sobre la génesis de la creación, en el sentido de que García Márquez no es un intelectual sino un artista. Lo cual explica no solamente la diferencia entre ellos, sino también la abismal diferencia entre las obras de ambos (yo debo ser el único pseudo lector latinoamericano que nunca ha leído una novela completa de Vargas Llosa (leí la casa verde pero esa no cuenta)). El artista es un torbellino imposible de sistematizar. Quiero creer que cuando García Márquez escribió “… había tanta humedad que los peces nadaban por el aire…” se sorprendió y se preguntó “de dónde salió eso“. Desde el punto de vista del observador, que en este caso es el lector, salta a la vista inmediatamente las diferencias entre ambos (intelectuales y artistas) por el nivel de tedio: mientras más intelectual más tedioso, mientras más artístico, el observador se divierte más, siente que está frente a un espectáculo, como si estuviera en un circo (o viendo una pelicula de Tom Cruise para usar un símil moderno).

Ser sistemático. Capítulo III. Fué en el siglo XX donde estos personajes vivieron, lucharon, ganaron, perdieron, buenos, malos, guapos, feos, ricos o pobres, todos ellos son iguales ahora.

Cuando ví Barry Lyndon por primera vez, y ví el epílogo con una nota similar a la de arriba, pensé que ahora es que seguía la película, cuando en realidad finalmente terminaba, igual que este post.

Nota: este es un post accidental, escrito con notas y pensamientos saqueados del post original de este mes (no publicado). Se suponía que era simplemente una elucidación sobre eso, sobre un post no publicado y las retorcidas razones por las que eso sucedió, pero las cosas se salieron de control y terminó convirtiendose en un post sobre la inevitabilidad y el caos que aparece al escribir, y de cómo no se puede sistematizar o controlar el proceso, si es que acaso se le puede llamar así. Me parece que sirvió como un buen ejemplo de eso, no tan accidental, por cierto.

De todo un poco, Julio style

13-07-2022 7:04 AM

Quentin Tarantino

Tengo la sospecha de que Dios no existe, por que si existiera, las películas de Quentin Tarantino Bastardos Sin Gloria y Érase una vez en Hollywood estarían basadas en hechos reales.

James Bond, Shaken, not stirred

¿Por qué James Bond tiene que aclararle al barman que quiere su martini agitado, no revuelto? ¿No es acaso de esa forma como se preparan los martinis? [1]

Hola, mi nombre es agnasg y soy amablecólico

Desde los 20 años de edad, cuando las interacciones sociales se hicieron más frecuentes en mi vida, en la universidad, y luego en el trabajo, he sufrido de una condición inusual e incómoda. La incomodidad no es instantánea, sino que se genera 15 o 20 minutos después del episodio. Sucede de diversas formas, siendo en los restaurantes los disparadores más frecuentes.

Por ejemplo, estoy sentado a la mesa, solo o con varias personas, no importa, y de repente, veo a alguien conocido en una mesa cercana. Comienzo a contar alguna anecdota sobre esa persona, y luego, de improviso, me levanto y voy a saludarla. La persona mira a los que lo acompañan, levanta la mirada lentamente, mira a sus acompañantes de nuevo, hace una pausa, y dice, lo más relamido posible, “ah, hola, agnasg, no te reconocía”. Me quedo mirándolo, digo “buen provecho, saludos”, y regreso a la mesa. 15 ó 20 minutos después pienso: “Eres un idiota”. No importa qué relación tuve con esa persona, seguramente hasta dormimos juntos en la misma habitación en algún viaje de negocios. Siempre soy yo el que tiene que tener la amabilidad de saludar.

Soy amablecólico. Tengo una obsesión por ser amable con todo el mundo. Hago gestos amigables inclusive con mis enemigos. La gente dice que las personas demasiado amables se desprecian a si mismos, tienen baja estima u otro síntoma similar. Yo creo que esa es una explicación muy obvia y fácil. Creo que el problema es mucho más grave, profundo, retorcido. Voy a ir al grupo de AA (Amables Anónimos) a ver si me ayudan. Tengo que cambiar. Necesito aprender a ser un hijodeputa (“learn to be an asshole!“)

Los hombres no son estúpidos

Hablando de amabilidad, nosotros no discutimos con las mujeres que dicen que los hombres son estúpidos. Somos demasiado amables como para entrar en una discusión, digamos, estúpida, porque eso no es cierto. Hay hombres estúpidos, y hay mujeres estúpidas, pero eso es todo.

Lo que pasa es que las mujeres que dicen que los hombres son estúpidos, sufren del síndrome de la Barbie. Y, la Barbie, solamente atrae a Ken, u hombres con el estilo de Ken, y como esa obra maestra del siglo XXI nos muestra, Toy Story III, Ken es un estúpido (en realidad lo sospechábamos desde un principio).

Y si tú solamente has conocido a hombres estúpidos, es lógico que pienses que todos son estúpidos.

Dado que atraes hombres estúpidos, comienza a trabajar eso, y revisa, ya que estás en eso, porqué esa atracción y en qué forma es tu responsabilidad, por no decir culpa.

El segundo problema asociado a eso es lo vocales que son algunas de estas mujeres. Ellas tienen problemas con sus parejas (sus Ken) y lo dicen a los 4 vientos, sin detenerse a considerar la posibilidad de que la culpa pueda ser de ellas.

Si atraes a personas que entre otras características tienen la estupidez como conducta, quien se debe revisar eres tú, esa atracción no es culpa de los hombres en general, ni de los hombres estúpidos en particular. La próxima vez que te vayas a empatar con un hombre, revisa que no se parezca en nada, en lo fisico ni en lo intelectual a tus anteriores parejas. Te sorprenderás.

El sentido de la vida

¿Has visto esas películas donde la protagonista pierde la memoria, y tiene que aprender de nuevo cómo funciona la amistad, las relaciones con los distintos grupos, y con quién es bueno relacionarse y con quién no? ¿Te imaginas la situación a la inversa, dónde todo el mundo pierde la memoria, y eres tú quién tienes que enseñarles todo eso? ¿En cuanto tiempo crees que todo volvería a la normalidad, y todo el mundo se distribuye en sus grupos? ¿0? ¿1 mes?

Walking Dead

Comencé a ver esta serie, más porque no encontraba otra cosa que porque realmente quiera ver otra serie sobre zombies. Pero, pensándolo bien, así como los zombies no deben estar tan equivocados sobre la carne fresca, y morderla con fruición, los que proclaman a esta serie como la mejor de todas, seguramente tampoco están equivocados.

La razón por la que las películas y series de zombies son tan populares es porque son como los videojuegos: hay una fuente ilimitada de monstruos para matar, y no se requiere mayor explicación de cuáles pueden ser las motivaciones de lado y lado. Sal a la calle y mata todos los zombies que veas: ¿hay acaso algo más justificado y noble en la vida? No.

[1] La respuesta a la pregunta sobre James Bond, es que antes existían las 2 opciones, debido a James Bond, ahora todo el mundo lo toma agitado en la coctelera.