@ agnasg

agnasg


Port of call

15-10-2022 6:23 PM

“Ningún precio es demasiado alto
por el privilegio de ser dueño de sí mismo”
Friedrich Nietzsche

Este es un juego clásico de simulación que he estado jugando desde 1988 en mi Amiga 500 (no soy el único que lo jugó en esa época y lo recuerda, por supuesto). Se puede conseguir en diversos sitios en internet, por ejemplo últimamente lo estoy jugando en PlayClassicGames, pero también está en archive.org. Se puede encontrar en Steam, publicado por uno de sus autores, tiene un costo de $4,95

El juego simula la gestión de una empresa global de transporte de mercancías, en la que el jugador contrata el transporte de cargas en diversos puertos del mundo. Los beneficios le permite comprar nuevos y más poderosos barcos. Los minijuegos incluyen pilotar manualmente el barco hasta un amarre determinado en el puerto, recoger sobrevivientes en el mar, esquivar obstáculos en alta mar, etc. (editado y corregido de wikipedia)

Yo rara vez hablo sobre juegos de simulación, porque en realidad son pocos los que juego. De hecho de los pocos que recuerdo haber mencionado alguna vez está el simulador de controlador de tráfico aéreo, mencionado aquí cuando llegué al nivel 19. Pero en este caso como es una juego que tengo años jugando, quiero navegarlo en profundidad, pun intended.

La pantalla principal es nuestro centro de operaciones. El primer botón Globe nos permite ver el mundo y sus diversos puertos. En el segundo botón manejamos nuestra empresa naviera, vemos nuestras cuentas bancarias, el estado de ganancias y pérdidas, gráficos, etc. El tercer botón Ship Broker” nos permite comprar y vender barcos. Los barcos pueden ser usados en mal estado, usados pero en buen estado y barcos nuevos de alta tecnología.

Nuestra oficina que debemos visitar con frecuencia para vigilar nuestras finanzas.

Si no la visitamos perdemos dinero. Por ejemplo, en este caso persimos $115k

Antes de comenzar el juego te pregunta cuántos jugadores van a jugar, pueden ser hasta 4, competir entre ellos.

Lo primero que hay que hacer es comprar un barco. El banco te puede dar financiamiento. Para que los intereses no sean muy alto, siempre pido un 50% de financiamiento. Comenzamos con 4 millones de dólares, así que podemos pedir prestado 2.5 m y comprar un barco de 5 millones. Nos quedamos con 1.5 millones de efectivo para pagar los gastos.

Luego entramos en el lazo principal del juego, donde podemos seleccionar que carga transportar, cargar combustible, etc.

La pantalla que nos permite seleccionar el viaje indica el puerto de destino y la carga, y por supuesto cuánto vamos a ganar. Aquí está el truco para tener éxito.

Cargamos el barco, lo cual tiene un costo.

A veces tenemos que maniobrar el barco fuera del puerto a mano porque hay una huelga.

Nos pueden ofrecer negocios ilegales, para que llevemos contrabando o sustancias prohibidas. Hasta ahora, todas las veces que lo he intentado me atrapan.

EL pago por el contrabando puede ser sustancial.

Y si te niegas te pueden ofrecer el doble.

Pero si te atrapan, te hacen un interrogatorio.

Te retienen el barco y tienes que pagar una multa igualmente sustanciosa.

En alta mar durante el viaje pueden suceder muchas cosas.

Pasar a través de una tormenta puede dañar (o seguramente lo va a dañar). Pero si lo esquivas tardas mucho y es posible que pierdas dinero por entrega con retraso.

También te puedes encontrar con arrecifes, los cuales tienes que esquivar.

Al llegar al puerto puedes necesitar fumigar el barco porque está infectado de ratas, lo cual ocasiona más gastos.

Hay que echarle gasolina al barco lo cual es bastante costoso dependiendo de la longitud del viaje, y del puerto.

Finalmente el viaje nos produce alguna ganancia.

Pero tenemos que pagar nuestros gastos. En este caso la amortización del préstamo que pedimos para comprar el barco. Más gastos.

Revisar las cuentas, los gráficos, y descubrir que el negocio no va muy bien.

Conclusión. El juego es bien entretenido y puedes pasar varias horas en cada sesión tratando de sacar adelante tu compañía. Es, en resumen, un juego que puedes jugar muchas veces, en mi caso, años.

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.