lunes, 17 de enero de 2022

¿Y por qué tanto silencio?

He llegado a la conclusión de que esto de "la nueva normalidad" tiene todo que ver con que últimamente escriba tan poco en el blog. Es obvio que trabajar desde casa le cambia a uno completamente la rutina. Y entre los efectos de este cambio, hay muchas cosas buenas y muchas malas. Para el blog, tocaron malas.

Cuando tenía que ir todos los días a la universidad, yo tenía cierta rutina. Alguna vez mencioné lo que implica el proceso de puesta en marcha y entrada en calor del cerebro de un programador (inspirado en este excelente artículo). La pandemia rompió eso (entre muuuchas otras cosas más importantes, obvio).


Yo vivo a unos 25km de la universidad, lo cual implicaba un pequeño viajecito de 40min todas las mañanas. Solía despertarme y salir bastante derecho, para desayunar allá, porque así combinaba el tiempo de desayuno con mi proceso de puesta en marcha mental. La cafetería me parecía un lugar muy piola para esto. Es un lugar neutral, ya que no es todavía la oficina, y a la mañana temprano solía tener poca gente, por lo cual el ruido ambiente era el justo como para ver algo de movimiento y una mínima socialización, pero sin que me impida enfrascarme en mis ideas de ser necesario. 

En ese contexto, es donde comenzaba el día lentamente y entrando en calor con actividades que no eran las tediosas y/u obligatorias, sino las que hacía porque quería; como trabajar un poco en cosas nuevas de ZinjaI o PSeInt, o escribir un post para este blog. La mayoría de los posts fueron escritos durante algún desayuno en la cafetería.

Una idea para un post puede surgir en cualquier momento. Cuando surge, genero un borrador oculto en el blog donde dejo un título, o un par de lineas, para luego acordarme por dónde iba la cosa. Pero, desarrollarla, escribirla, revisarla 10 veces, y todo eso, es algo que hacía otro día (o varios otros) mientras tomaba un café.

Lo que perdí con la pandemia es ese proceso de booteo. Sigo necesitando un proceso, pero en casa se ejecuta distinto. Me tomo mi café a la mañana, pero ya no hay dos ambientes como para separar ese relax inicial antes del trabajo. De hecho, ya no se separa mucho el trabajo de casi ninguna otra cosa. Estando en casa, puedo hacer cosas como cortar un rato para salir a hacer ejercicio, pasear al perro, cortar el pasto, hacer un trámite, intentar cocinar, etc. Cosas que antes, teniendo 40min entre trabajo y casa eran impensables.

Nunca es fácil trabajar desde casa con tantas distracciones.
(¿Mi primer comic original? Podría ser peor...)

Entonces, entre las cosas buenas de esta nueva normalidad, está por ejemplo que puedo hacer más ejercicio físico, o que ya no me separo de mi perro (aunque el hiper-apego que hemos desarrollado no va a ser bueno para ninguno de los dos cuando me toque volver a lo presencial; Como siga así, el perro va a ir a dar clases conmigo).

Pero por otro lado, de alguna manera, este alt+tab mental más frecuente y agresivo que permite el trabajo desde casa, a mi no me ayuda tanto. No soy de los que tienen la mayor disciplina para auto encasillarse en una rutina de horarios de trabajo razonables. Me entrego fácil a ese ida y vuelta; y así el tiempo ya no rinde lo mismo.

Sumando entonces que cambió ese momento de la mañana que más productivo le resultaba al blog, y que los "huecos" ahora se pueden llenar con otras actividades que antes no; el resultado es que se me van acumulando decenas de borradores con ideas de posts, y casi ninguno encuentra el tiempo para concretarse. 

Cuando termine de agarrarle la mano a esta situación, seguramente ya vamos a estar en la universidad en persona otra vez*.

*dado que publiqué esto mucho después de que escribí el primer borrador, ya casi puedo asegurar que la profecía se cumplió.


13 comentarios:

  1. Muchas gracias por compartir tus ideas, @zaskar_84.

    ResponderEliminar
  2. Acá en Colombia, muchas universidades ya entramos en modo presencial, pero aun no psicológicamente, se nota muy poco flujo de personas y el reproceso de adaptación a laburar normalmente va muy lento.

    ResponderEliminar
  3. Antes que todo dejenme darles las gracias a los desarrolladores de pseint ya que me a ayudado mucho cuando empeze en la programacion y por eso queria preguntarles algo relacionado con la pagina porque me gustaria en mis tiempos libres hacer un rediseño con de la pagina con Boostrap, entonces queria preguntarles que opinan o que les parece la idea o si tienen algo mas pensado.

    ResponderEliminar
  4. He llegado a este blog casi por casualidad, y no tanto, gracias al encomiable trabajo realizado al crear una aplicación tan útil e indispensable para aprender lógica de programación como es PSeInt. Agradezco que haya sido así, el blog es muy interesante e ideal para ese proceso de "calentar motores" antes de dejarnos caer en el sueño de programar. Felicitaciones a Pablo por su aporte tan importante a toda la comunidad de programadores

    ResponderEliminar
  5. Hola, no conozco tanto de programación, pero como docente sería abrir muchas posibilidades si el PSeint estuviera disponible desde una interfase web, en lugar de que se necesite descargar (de todos modos funciona muy bien, y ya lo estamos implementando para usar en nuestro colegio este año en varios de los cursos de secundaria).
    gracias por todo lo hecho hasta ahora igualmente al Programador original y al equipo de colaboradores.

    ResponderEliminar
  6. Hola Pablo, el año pasado cree un hilo con reporte de algunos pequeños errores encontrados, además propuesta de algunas mejoras que potencializan el uso de PSeInt

    Enlace =>
    https://sourceforge.net/p/pseint/discussion/2368317/thread/dff913aab9/

    Gracias

    ResponderEliminar
  7. Hola, Pienso que todo es cosa de adaptación como tú lo mencionas, aunque ciertamente hay personas que les cuesta o les costó menos adaptarse al trabajo en casa. En mi caso el Home Office era algo muy deseado y se cumplió, aunque debes separar el trabajo de la familia, y eso cuesta mucho, me encanta estar en casa. Ánimo, hay que sacarle el lado positivo a toda situación. Saludos

    ResponderEliminar
  8. Hola. Actualmente mi hija está en la carrera de informática y está usando el PSeInt. Yo soy de la vieja escuela, nacido con el MSDOS y autodidacta. Me gustaría haber tenido el PSeInt en mis inicios, pues es una excelente herramienta de apoyo. Mis felicitaciones por el ingenio y trabajo puestos en esta gran herramienta. Saludos.

    ResponderEliminar
  9. Hola Pablo
    muy buen día
    Por favor puedes anexar en la próxima versión dos funciones para extraer el valor numérico ASCII (ASC a NUM) y la función inversa de (NUM a ASC), además una función para buscar un carácter o palabra dentro de una cadena de caracteres, como también una función para reemplazar porciones de caracteres, todo esto para que pseiNT pueda utilizarse como app en competencias o maratones de software ya que el procesamiento de texto básico es parte de la toda evaluación en este ámbito
    Muchas Gracias

    ResponderEliminar
  10. Chicos necesito que me orienten como hacer una validación si debo ingresar números enteros e ingreso una letra en PSEINT 🙏 para que no me deje ingresar letras. Gracias

    ResponderEliminar
  11. Hola: reporté una limitacion de PSEINT, que si se puede "deslimitar" nos ayudaria muchisimo en al enseñanza de logica algoritmica nivel 1

    El siguiente reporte no es un BUG propiamente dicho, sino una limitacion de PSeint, que lo haria extremadamente util al finalizar un curso de logica algoritmica, me refiero a que pueda retornar una refrencia a un arreglo.

    observen que el siguiente codigo linea 13 devuelve el valor o que no es correcto (semiBug)
    si se pudiera interpretar un nombre identificador como retorno de una funcion como referencia , se soluciona este problema

    ~~~
    Funcion suma <- funcion_toma_ret_vec( vectorA_copia2 por referencia, vectorB_copia2 por referencia )
    Definir suma Como Entero; Dimension suma[3];
    ~~~

    como

    ~~~
    Funcion suma por referencia <- funcion_toma_ret_vec( vectorA_copia2 por referencia, vectorB_copia2 por referencia )
    Definir suma Como Entero; Dimension suma[3];
    ~~~

    codigo completo
    ~~~
    Algoritmo por_referencia01
    Definir vectorA, vectorB, sumaAB como entero;
    Dimension vectorA[3], vectorB[3];
    Dimension sumaAB[3];

    funcion_toma_vecs(vectorA, vectorB); // trasfiere dos vectores por referencia, la asignacion de valores se hace dentro de la funcion

    escribir vectorA[0] + vectorB[0]; // 2 + 1 = 3, se verifica los valores asignados en la funcion por medio de una suma
    escribir vectorA[1] + vectorB[1]; // 4 + 2 = 4
    escribir vectorA[2] + vectorB[2]; // 6 + 3 = 9

    sumaAB[0] <- funcion_toma_ret_vec(vectorA, vectorB);
    escribir sumaAB[0]; // retorna 0, porque?
    //escribir suma[1];
    //escribir suma[2];
    FinAlgoritmo

    Funcion funcion_toma_vecs(vectorA_copia por referencia, vectorB_copia por referencia) // toma dos vectores como argumentos
    // Definir vectorA_copia, vectorB_copia Como Entero; Dimension vectorA[3], vectorB[3];

    vectorA_copia[0]=2; // asigna en la posicion inicial (0) el valor 2
    vectorA_copia[1]=4;
    vectorA_copia[2]=6;

    vectorB_copia[0]=1; // asigna en la posicion inicial (0) el valor 1
    vectorB_copia[1]=2;
    vectorB_copia[2]=3;
    FinFuncion

    Funcion suma <- funcion_toma_ret_vec( vectorA_copia2 por referencia, vectorB_copia2 por referencia )
    Definir suma Como Entero; Dimension suma[3];

    suma[0] = vectorA_copia2[0] + vectorB_copia2[0]; // 2 + 1 = 3,
    suma[1] = vectorA_copia2[1] + vectorB_copia2[1]; // 4 + 2 = 6
    suma[2] = vectorA_copia2[2] + vectorB_copia2[2]; // 6 + 3 = 9

    //escribir suma[0]; // 3
    FinFuncion
    ~~~

    portado a CPP
    ~~~
    #include
    using namespace std;

    // Declaraciones adelantadas de las funciones
    void funcion_toma_vecs(int vectorA_copia[], int vectorB_copia[]);
    int* funcion_toma_ret_vec(int vectorA_copia2[], int vectorB_copia2[]);

    int main() {
    int *sumaAB; //int sumaAB[3];
    int vectorA[3];
    int vectorB[3];
    // trasfiere dos vectores por referencia, la asignacion de valores se hace dentro de la funcion
    funcion_toma_vecs(vectorA,vectorB);
    // 2 + 1 = 3, se verifica los valores asignados en la funcion por medio de una suma
    cout << vectorA[0]+vectorB[0] << endl;
    // 4 + 2 = 4
    cout << vectorA[1]+vectorB[1] << endl;
    // 6 + 3 = 9
    cout << vectorA[2]+vectorB[2] << endl;

    sumaAB = funcion_toma_ret_vec(vectorA,vectorB);
    cout << sumaAB[0] << endl;
    cout << sumaAB[1] << endl;
    cout << sumaAB[2] << endl;
    return 0;
    }

    // toma dos vectores como argumentos
    void funcion_toma_vecs(int vectorA_copia[], int vectorB_copia[]) {
    // Definir vectorA_copia, vectorB_copia Como Entero; Dimension vectorA[3], vectorB[3];
    // asigna en la posicion inicial (0) el valor 2
    vectorA_copia[0] = 2;
    vectorA_copia[1] = 4;
    vectorA_copia[2] = 6;
    // asigna en la posicion inicial (0) el valor 1
    vectorB_copia[0] = 1;
    vectorB_copia[1] = 2;
    vectorB_copia[2] = 3;
    }

    int* funcion_toma_ret_vec(int vectorA_copia2[], int vectorB_copia2[]) {
    static int suma[3];
    // 2 + 1 = 3,
    suma[0] = vectorA_copia2[0]+vectorB_copia2[0];
    // 4 + 2 = 6
    suma[1] = vectorA_copia2[1]+vectorB_copia2[1];
    // 6 + 3 = 9
    suma[2] = vectorA_copia2[2]+vectorB_copia2[2];
    // escribir suma[0]; // 3
    return suma;
    }
    ~~~

    ResponderEliminar
  12. Hola.
    ¿ya se retorno a la normalidad?

    ResponderEliminar
  13. El 7 de julio fue publicada una nueva versión estable de wxwidgest, ¿por favor puedes actualizar el código fuente, de manera que se pueda compilar con dicha versión?

    ResponderEliminar