Blografia.net

February 23, 2024

Gwolf

10 things software developers should learn about learning

This post is a review for Computing Reviews for 10 things software developers should learn about learning , a article published in Communications of the ACM

As software developers, we understand the detailed workings of the different components of our computer systems. And–probably due to how computers were presented since their appearance as “digital brains” in the 1940s–we sometimes believe we can transpose that knowledge to how our biological brains work, be it as learners or as problem solvers. This article aims at making the reader understand several mechanisms related to how learning and problem solving actually work in our brains. It focuses on helping expert developers convey knowledge to new learners, as well as learners who need to get up to speed and “start coding.” The article’s narrative revolves around software developers, but much of what it presents can be applied to different problem domains.

The article takes this mission through ten points, with roughly the same space given to each of them, starting with wrong assumptions many people have about the similarities between computers and our brains. The first section, “Human Memory Is Not Made of Bits,” explains the brain processes of remembering as a way of strengthening the force of a memory (“reconsolidation”) and the role of activation in related network pathways. The second section, “Human Memory Is Composed of One Limited and One Unlimited System,” goes on to explain the organization of memories in the brain between long-term memory (functionally limitless, permanent storage) and working memory (storing little amounts of information used for solving a problem at hand). However, the focus soon shifts to how experience in knowledge leads to different ways of using the same concepts, the importance of going from abstract to concrete knowledge applications and back, and the role of skills repetition over time.

Toward the end of the article, the focus shifts from the mechanical act of learning to expertise. Section 6, “The Internet Has Not Made Learning Obsolete,” emphasizes that problem solving is not just putting together the pieces of a puzzle; searching online for solutions to a problem does not activate the neural pathways that would get fired up otherwise. The final sections tackle the differences that expertise brings to play when teaching or training a newcomer: the same tools that help the beginner’s productivity as “training wheels” will often hamper the expert user’s as their knowledge has become automated.

The article is written with a very informal and easy-to-read tone and vocabulary, and brings forward several issues that might seem like commonsense but do ring bells when it comes to my own experiences both as a software developer and as a teacher. The article closes by suggesting several books that further expand on the issues it brings forward. While I could not identify a single focus or thesis with which to characterize this article, the several points it makes will likely help readers better understand (and bring forward to consciousness) mental processes often taken for granted, and consider often-overlooked aspects when transmitting knowledge to newcomers.

February 23, 2024 01:56 AM

February 12, 2024

Gwolf

Heads up! A miniDebConf is approaching in Santa Fe, Argentina

I realize it’s a bit late to start publicly organizing this, but… better late than never 😉 I’m happy some Debian people I have directly contacted have already expressed interest. So, lets make this public!

For all interested people who are reasonably close to central Argentina, or can be persuaded to come here in a month’s time… You are all welcome!

It seems I managed to convince my good friend Martín Bayo (some Debian people will remember him, as he was present in DebConf19 in Curitiba, Brazil) to get some facilities for us to have a nice Debian get-together in Central Argentina.

Where?

We will meet at APUL — Asociación de Personal no-docente de la Universidad Nacional del Litoral, in downtown Santa Fe, Argentina.

When?

Saturday, 2024.03.09. It is quite likely we can get some spaces for continuing over Sunday if there is demand.

What are we planning?

We have little time for planning… but we want to have a space for Debian-related outreach (so, please think about a topic or two you’d like to share with general free software-interested, not too technical, audience). Please tell me by mail (gwolf@debian.org) about any ideas you might have.

We also want to have a general hacklab-style area to hang out, work a bit in our projects, and spend a good time together.

Logistics

I have briefly commented about this with our dear and always mighty DPL, and Debian will support Debian-related people interested in attending; please check personally with me for specifics on how to handle this case by case. My intention is to cover costs for travel, accomodation (one or two nights) and food for whoever is interested in coming over.

More information

As I don’t want to direct people to keep an eye on my blog post for updates, I’ll copy this information (and keep it updated!) at the Debian Wiki / DebianEvents / ar / 2024 / MiniDebConf / Santa Fe — please refer to that page!

Contact

Codes of Conduct

DebConf and Debian Code of Conduct apply.

See the DebConf Code of Conduct and the Debian Code of Conduct.

Registration

Registration is free, but needed. See the separate Registration page.

Talks

Please, send your proposal to gwolf@debian.org

February 12, 2024 12:03 AM

February 08, 2024

Victor Martínez

Estafas y WhatsApp

WhatsApp

¿Por qué alguien se interesa en comprometer una cuenta de whats?, porque una estafa común es el pedir una trasferencia de dinero por la noche argumentando que están en problemas económicos, en otra ciudad o como favor personal, este dinero por supuesto una vez transferido esta perdido.

Pero a continuación nos dicen que recibamos una llamada de Amazon/DHL/Estafeta u otra por whats o sms porque no lo puede recibir en ese momento por cualquier razón, esta llamada o mensaje nos mandara un número, este es el de autorización para mover nuestro whats a otro teléfono, para poder realizar de nuevo la estafa a nuevos contactos y repetir el proceso nuevamente.

Un par de consejos, si nos pide alguno de nuestros contactos que le prestemos dinero, confirmar por teléfono y no llamada de WhatsApp que nos está solicitando y la razón.

Si recibimos números por sms o por parte de WhatsApp o por llamada no compartirlo con terceros, aunque afirmen trabajar para WhatsApp /banci/servicio de salud.

Una forma de evitar este tipo de estafa  es activar la autentificación en dos pasos de preferencia con un nip para que aun si perdiera mos el control de nuestro whats no pueda ser utilizado por un tercero y de esta fir. A lo podamos recuperar.

Es mejor prevenir qué lamentar para apoyar qué hacer en caso de cuenta robada (1), autentificación en dos pasos (2) seguridad (3) buenas practicas (4).

1. https://faq.whatsapp.com/1131652977717250/

2. https://faq.whatsapp.com/1278661612895630/?helpref=faq_content

3. https://faq.whatsapp.com/1095301557782068/?helpref=faq_content

4. https://faq.whatsapp.com/1313491802751163/?helpref=faq_content

 

by vicm3 at February 08, 2024 06:42 PM

January 20, 2024

Gwolf

Ruffle helps bring back my family history

Probably a trait of my family’s origins as migrants from East Europe, probably part of the collective trauma of jews throughout the world… or probably because that’s just who I turned out to be, I hold in high regard the preservation of memory of my family’s photos, movies and such items. And it’s a trait shared by many people in my familiar group.

Shortly after my grandmother died 24 years ago, my mother did a large, loving work of digitalization and restoration of my grandparent’s photos. Sadly, the higher resolution copies of said photos is lost… but she took the work of not just scanning the photos, but assembling them in presentations, telling a story, introducing my older relatives, many of them missing 40 or more years before my birth.

But said presentations were built using Flash. Right, not my choice of tool, and I told her back in the day — but given I wasn’t around to do the work in what I’d chosen (a standards-abiding format, naturally), and given my graphic design skills are nonexistant… Several years ago, when Adobe pulled the plug on the Flash format, we realized they would no longer be accessible. I managed to get the photos out of the preentations, but lost the narration, that is a great part of the work.

Three days ago, however, I read a post on https://www.osnews.com that made me jump to action: https://www.osnews.com/story/138350/ruffle-an-open-source-flash-player-emulator/.

Ruffle is an open source Flash Player emulator, written in Rust and compiled to WASM. Even though several OSnews readers report it to be buggy to play some Flash games they long for, it worked just fine for a simple slideshow presentator.

So… I managed to bring it back to life! Yes, I’d like to make a better index page, but that will come later 😉

I am now happy and proud to share with you:

Acariciando la ausencia: Familia Iszaevich Fajerstein, 1900–2000

(which would be roughly translated as Caressing the absence: Iszaevich Fajerstein family, 1900-2000).

January 20, 2024 06:17 PM

A deep learning technique for intrusion detection system using a recurrent neural networks based framework

This post is a review for Computing Reviews for A deep learning technique for intrusion detection system using a recurrent neural networks based framework , a article published in Computer Communications

So let’s assume you already know and understand that artificial intelligence’s main building blocks are perceptrons, that is, mathematical models of neurons. And you know that, while a single perceptron is too limited to get “interesting” information from, very interesting structures–neural networks–can be built with them. You also understand that neural networks can be “trained” with large datasets, and you can get them to become quite efficient and accurate classifiers for data comparable to your dataset. Finally, you are interested in applying this knowledge to defensive network security, particularly in choosing the right recurrent neural network (RNN) framework to create an intrusion detection system (IDS). Are you still with me? Good! This paper might be right for you!

The paper builds on a robust and well-written introduction and related work sections to arrive at explaining in detail what characterizes a RNN, the focus of this work, among other configurations also known as neural networks, and why they are particularly suited for machine learning (ML) tasks. RNNs must be trained for each problem domain, and publicly available datasets are commonly used for such tasks. The authors present two labeled datasets representing normal and hostile network data, identified according to different criteria: NSL-KDD and UNSW-NB15. They proceed to show a framework to analyze and compare different RNNs and run them against said datasets, segmented for separate training and validation phases, compare results, and finally select the best available model for the task–measuring both training speed as well as classification accuracy.

The paper is quite heavy due to both its domain-specific terminology–many acronyms are used throughout the text–and its use of mathematical notation, both to explain specific properties of each of the RNN types and for explaining the preprocessing carried out for feature normalization and selection. This is partly what led me to start the first paragraph by assuming that we, as readers, already understand a large body of material if we are to fully follow the text. The paper does begin by explaining its core technologies, but quickly ramps up and might get too technical for nonexpert readers.

It is undeniably an interesting and valuable read, showing the state of the art in IDS and ML-assisted technologies. It does not detail any specific technology applying its findings, but we will probably find the information conveyed here soon enough in industry publications.

January 20, 2024 05:42 PM

January 01, 2024

Diario de un Mexicano en Japon

Certificación en kanji

Seguramente muchos de ustedes conocen o han escuchado hablar de la prueba de aptitud en el idioma japonés, mejor conocida como JLPT por sus siglas en inglés. Para los estudiantes de ese idioma, aprobar el nivel 1 es al mismo tiempo una meta y un sueño.

Aquí no me refiero a ésa.

Existe una prueba para certificarse en conocimiento de kanji, llamada 漢字検定 (Kanji Kentei) que los japoneses pueden presentar para tener un certificado que avala el conocimiento hasta el nivel aprobado.

La prueba tiene 12 niveles, siendo el 10 el más bajo y el 1 el más alto; entre el 3 y el 2 hay un nivel intermedio llamado 準2級 (jun 2 kyu), que se puede traducir como “semi-nivel 2”, y otro entre el 2 y el 1 llamado 準1級 (jun 1 kyu). Para ponerlos en contexto, en Japón se usan cotidianamente 2136 kanji, llamados 常用漢字 (jouyou kanji, “kanji de uso común”), y esos son cubiertos hasta el nivel 2 de la certificación. El nivel 1 requiere un conocimiento extenso de kanji, incluidos los poco comunes, los raramente utilizados, y otros que en mi vida había visto, pues la certificación abarca un total de 6000 kanji. Huelga decir que es extremadamente difícil aun para los japoneses.

En la escuela de mi hijo mayor abrieron la convocatoria para presentar el examen de certificación ahí mismo, y para alentar a mi hijo a qué la tomara, también yo le entré. Sé que mi nivel de kanji es bueno, pero hay muchas expresiones, palabras, refranes y modismos que todavía no conozco, por lo que aunque en lectura y escritura estoy seguro de aprobar, no es lo único que preguntan. Así que decidí presentar un nivel que fuera un reto aceptable, y el nivel 4 cumplía ese objetivo.

Me puse a estudiar en serio durante un par de meses. Compré un par de libros para prepararme y también me puse a usar un software para Nintendo 3DS especial para prepararse para el examen. Incluso hice transmisiones en vivo de mis sesiones de estudio en mi canal de YouTube. Acá la última:

Presenté el examen, y el resultado fue:

Aprobado 😀

No hay prisa. Sé que puedo leer y escribir kanji a más alto nivel, pero para la certificación tengo que estudiar y tener todo “al tiro”, así que para la próxima, me lanzaré por el nivel 3. Curiosamente, fue una buena manera de motivarme a volver a estudiar japonés en forma, porque aunque desde hace mucho tiempo realmente no tengo problemas con el idioma, la verdad es que de vez en cuando sí se me van kanji al momento de escribir porque estoy más acostumbrado a usar la computadora o el teléfono, y ahí se muestran las diferentes opciones que hay cuando escribes una palabra, lo cual facilita el proceso de escribir porque solamente tienes que reconocer los kanji que quieres usar, sin necesidad de escribirlos a mano.

Otro reto más para este 2024

The post Certificación en kanji first appeared on ¡Un mexicano en Japón!.

by Manuel at January 01, 2024 06:52 AM

December 31, 2023

Diario de un Mexicano en Japon

¡Feliz 2024!

El año del dragón según el calendario chino.

Mucho que hacer este año, y muchos cambios ya planeados y decididos para el primer trimestre. Se va a poner bueno el reto.

Deseo que este año sea mucho mejor que todos los anteriores. Vamos a echarle ganas para que las cosas no queden por nosotros.

A darle pues.

The post ¡Feliz 2024! first appeared on ¡Un mexicano en Japón!.

by Manuel at December 31, 2023 03:00 PM

El 2023 en un kanji

El año se pasó volando. La vida de adulto me alcanzó a agarrar por completo este año y no pude actualizar este sitio como habría querido. Al menos sé que fue por mis responsabilidades y no por flojera o decidia.

Dicho lo anterior, hasta hace un par de meses mi selección de kanji para este año era una, pero después de ciertos eventos que ya mencionaré aquí un poco más adelante, hubo que hacer muchos cambios y tomar muchas decisiones. Por ello, el kanji que mejor describe mi 2023 es el siguiente:

Lecturas: 決(き)める、けつ

El kanji significa “decidir”, y por ello está en palabras como 決心、決断、決意. Y es que de plano los últimos dos meses fueron de muchas decisiones que tuvieron que ser tomadas bajo circunstancias no del todo planeadas. No fueron decisiones malas o precipitadas, pero sí fueron hechas antes de tiempo. Ya hablaré más al respecto cuando llegue el momento (nada más que termine los escritos). Además, refleja también la decisión que tomé sobre cómo enfrentar al 2024 y los retos que me presentará.

El kanji del 2023 en Japón

El kanji elegido este año por los japoneses fue:

Con decirles el significado se imaginarán por qué fue seleccionado. Significa “impuesto”. Y es que este año estuvo lleno de modificaciones a impuestos, con las que muchos japoneses no están del todo de acuerdo.

Así termina el 2023. Para mí, fue año tranquilo a excepción de noviembre y diciembre, que fueron una montaña rusa de emociones, esfuerzo y mucha fuerza de voluntad.

Pasen todos un excelente fin de año. Nos leemos en el 2024

The post El 2023 en un kanji first appeared on ¡Un mexicano en Japón!.

by Manuel at December 31, 2023 12:00 AM

December 29, 2023

Diario de un Mexicano en Japon

Recapitulando 2023 – Parte 1

¡Hola blog! Tanto tiempo sin leernos.

Vamos directo al grano. ¿Qué ha pasado en todo este tiempo? Creo que es el periodo más largo que he dejado de escribir desde que inició este sitio hace poco más de 19 años, así que me toca exponer en detalle.

La vida de adulto. Sí, eso fue lo que pasó y ha estado pasando. Parece meme, mentira o excusa barata, pero ya había hablado al respecto antes, solamente que ahora se puso en modo jarcor, y casi casi andaba pariendo chayotes.

Híjole, ¿por dónde comenzar?

Mis hijos están creciendo, lo cual es normal, pero la atención que el menor demanda es infinitamente mayor a la que el mayor requería cuando tenía esa edad. Yo era de las personas que decían que me había tocado suerte con mi hijo mayor porque en general nunca sentí que me pidiera ese nivel de atención (y vaya que pasaba mucho tiempo con él)… Bueno, pues parece que todo se juntó para con el menor. Sí, no voy a negar que la edad me ha hecho también no tener el mismo nivel de paciencia que hace 5 años, pero cuando me pongo a pensar que hasta a mi esposa la ha sacado de quicio y cada uno de nosotros ahora sí pide, o mejor dicho, exige “tiempo fuera” para al menos respirar un rato sin tener al lado al menor diciendo “mamá” o “papá”, me doy cuenta que ambos estamos totalmente exhaustos, y que sí, necesitamos vacaciones sin niños.

Obviamente el crecimiento de los niños ha traído nuevas y maravillosas experiencias que, aun con el cansancio expresado anteriormente, me recuerdan la dicha que es ser padre, y al mismo tiempo me hace respetar al 100% a las personas que deciden no serlo, y también me hacen entender por completo lo chido que es ser tío (o lo que será ser abuelo en su momento) ya que nada más tienes que ver el lado “bonito” de los chamacos, y cuando se portan mal o hay que regañarlos, le pasas la batuta a los papás y te quitas del apuro.

El caso es que debido a esa demanda de atención de ambos de mis hijos, he tenido que ser todavía más selectivo en las actividades que hago, y a la que no le di mucha prioridad fue precisamente al blog, no porque no quisiera, sino porque sabía que me costaría trabajo sentarme a escribir sabiendo que un solo escrito me tomaría varios días, si no es que semanas, en poder concluirlo, y como que, al menos durante el verano y parte del otoño, nomás no se me antojaba del todo. En contraste, le di mucha más atención a los videojuegos, que se volvieron a convertir en la válvula de escape para todo el estrés generado por los altibajos de la vida cotidiana.

Pero, huelga decir, eso no fue lo único. Y aquí vienen los chismes. Y ya ni conté las veces en las que intenté escribir lo que sigue y terminé borrándolo porque no me gustaba el resultado, el tono, o simplemente decía “no, creo que todavía no”. Con todo, hay partes que no terminaron de gustarme, pero si seguía así definitivamente nunca iba a terminar.

Trabajo

Ah, la situación laboral. La gente de México en la actualidad se enfrenta a la horrible tradición de “ponerse la camiseta” y a lidiar con jefes o empresas que definitivamente no valen la pena, pero que terminan siendo muchas veces la única opción viable en lo que a trabajar se refiere. Y miren que después de haber estado 20 años ya por acá he visto desde fuera cómo las empresas y patrones mexicanos han cambiado la cultura laboral del país y se han prácticamente institucionalizado las horas nalga, las horas extra gratis, la exigencia de propinas, la disponibilidad 24/7, etc., etc. Sin embargo, en todos lados se cuecen habas, y Japón no es la excepción. Ya lo expresé de forma por demás detallada en el escrito titulado “Luz”, y hay incontables historias en internet sobre lo excesivo de la cultura laboral japonesa y las peripecias por las que uno pasa por provenir de otra cultura.

Por razones más personales que otra cosa, rara vez comento sobre la empresa en la que estoy actualmente trabajando. No se trata ni de ocultar, ni de vanagloriar, ni de quemar a nadie. Es simplemente parte de la vida personal que no necesariamente tengo que compartir, y al mismo tiempo es por respeto a la misma compañía, pero secreto no es. Incluso con todo lo que me pasó en la empresa para la que trabajaba en la que pasó todo lo que comento en el escrito “Luz” arriba mencionado, no escribí al respecto hasta tiempo después, y miren que tuve mucho, pero mucho que contar, y preferí hacerlo de un jalón (nada más dense una vuelta para que vean qué tan largo es ese escrito). 

En esta primera de dos partes voy a hablar un poco sobre el trabajo anterior al actual. En la siguiente voy a detallar sobre el trabajo actual.

Para no perder la costumbre, vamos a llamar a las empresas con letras griegas. Las letras del abecedario, al menos en este blog, están destinadas solamente para personas (ver “Amor en los tiempos del sushi” para referencia).

  • Empresa del escrito “Luz”: Eta. Y no, no es albur
  • Empresa anterior a la actual: Theta
  • Empresa actual: Iota

La historia en Theta, resumida lo más brevemente posible

Después de prácticamente huir de Eta (en serio, no es albur), esperaba que el trato a recibir en Theta fuera al menos un poco mejor. Total, había tocado fondo ya, y nada parecía poder acercarse siquiera a lo que viví en Eta.

Para mi buena fortuna, la cultura laboral en Theta resultó ser muchísimo mejor de lo que pude haber imaginado, sobre todo por el hecho de ser una empresa 100% japonesa, y de tener a muy pocos extranjeros trabajando. Desde el simple hecho de respetar las horas de salida, de pedir horas extra solamente cuando era realmente necesario, hasta la camaradería que sentía en el equipo, Theta resultó ser el cielo que buscaba después del infierno vivido en Eta (última vez que repito que no es albur :P).

Ahora bien, como la gran mayoría de los lectores se puede imaginar, el lugar no era perfecto. Uno de los principales problemas de los que acaecían en Theta eran de administración, pero no de un departamento en específico, sino en el trabajo que se supone que querían que hiciera. Y no era el único: dentro de la empresa estaba otro doctor, de origen finlandés, que ya había vivido la falta de administración hacia él. Siendo mucho más específico, más que falta de administración era falta de conocimiento de lo que querían que nosotros dos hiciéramos. El finlandés, a quien llamaré M, tenía ya varios años laborando ahí; pertenecía al equipo de investigación, y yo entré al equipo de desarrollo. Fui contratado con la idea de que haría trabajo de procesamiento de lenguaje natural (al que denominaré NLP, por sus siglas en inglés) porque la empresa tenía historia de hacerlo en conjunto con profesores de diferentes universidades de Japón, además de tener varios papers publicados en diferentes revistas especializadas, pero la mayoría de esos papers eran en cuestiones estadísticas, y esto era porque el equipo de investigación era precisamente sobre estadística aplicada a datos referentes a educación. M no venía específicamente de NLP ni de estadística, pero sí de una carrera referente a computación, y además de haber acudido a diversas conferencias nacionales e internacionales, había estado como co-autor de un paper relativo a NLP publicado cuando ya era él parte de Theta.

En resumen: la empresa no sabía realmente dónde ponerme. Mis conocimientos y experiencia en programación me ayudaban mucho para estar en el equipo de desarrollo y hacerla de ingeniero en sistemas, pero, aunque ya me habían dicho que habría trabajo como tal desde antes de contratarme,  la verdad es que yo había entrado ahí con una idea un poco diferente: pensaba que estaría con el equipo de investigación, y de vez en cuando ayudaría al área de desarrollo. Cuando entré, me pusieron inmediatamente en el equipo de desarrollo.

Ni modo. Venía huyendo de una empresa bastante estricta y de un jefe totalmente tóxico, así que lo menos que podía hacer era no quejarme. Ya habría oportunidad después de intentar cambiar de equipo.

Entre otras cosas que hice al inicio, la que más recuerdo es trabajar con un código ESPANTOSO en C#, hecho por un contratista. El código es de lo peor que he visto en todos los años que tengo desde la universidad hasta la actualidad: un spaghetti de más de 12,000 líneas de código que lo único que tenía estructurado eran los nombres de las funciones y las clases, porque el contenido de ellas era como para que mis maestros de la universidad le dijeran que tenía que repetir el semestre. Al principio no entendía por qué nadie quería meterse con ese código, hasta que me lo aventaron a mí y no tuve opción de decir que no. Descubrí la misteriosa causa que hacía que el código “a veces” tronara como ejote y “a veces” funcionara “”””bien”””” (noten el número de comillas), reporté el problema y lo arreglé (si les interesa saber más a detalle, déjenme un comentario y con gusto les respondo), además de darle forma al programa para que al menos fuera posible navegar a través de él sin perder cabello de la desesperación de no entender ni una pizca de lo que se supone que tenía que hacer. ¿Documentación en el código? 99% inexistente. No, no, no. Palabras no me alcanzan para describir el horror de haber visto, y sobre todo trabajado, con esa monstruosidad. Es más, si me hubieran dicho que el código fue hecho por un becario que todavía estaba en la universidad, le habría dado comentarios positivos por el esfuerzo realizado y me habría ofrecido a ayudarlo a mejorar. Pero lo que me parecía totalmente inexplicable es el hecho de que NADIE en la empresa había sido capaz de alzar la voz, reportar problemas con el código o de plano entrarle a arreglarlo; muchos lo vieron y todos corrieron. No culpo al contratista: nadie le dijo nada nunca y él seguía haciendo su chamba; las cosas salían, con un programa no optimizado y después de varios intentos, pero salían, y mientras hubiera resultados, la empresa estaba “feliz” y le continuaba pagando.

Después, mi conocimiento de Java hizo que me metieran al desarrollo y mantenimiento del sistema principal de la compañía, el cual tenía un código claro y conciso, además de tener suficiente documentación como para entender por qué habían elegido hacer tal o cual cosa. El problema era que mucho del código base había sido creado por los que ahora eran los mánagers en la empresa, y aunque todos tenían conocimientos sólidos en programación, ninguno lo tenía concretamente en Java, por lo que se aventaban “a pata” funciones o algoritmos para los que Java ya tenía una librería especializada o mejores y más robustas funciones; por ejemplo: el manejo de String. El código parecía más bien C, pero estaba bien hecho y estructurado, y salvo pequeñas optimizaciones, realmente hacerle un refactoring era innecesario.

Estuve 2 años trabajando exclusivamente con la gente de desarrollo, en los cuales tuve que trabajar con un equipo de contratistas que muy celosamente guardaban su “secreto” de un framework de PHP que habían creado ellos mismos y del que la empresa dependía enormemente. Mis jefes quisieron que “educara” en él, pero los contratistas se portaron por demás herméticos, no respondían mis preguntas, o si lo hacían, era de forma vaga. No los culpo: era su mina de oro. Era evidente cuando no tenían trabajo porque se la pasaban leyendo noticias en internet sin importar que todos los demás vieran que no estaban haciendo nada. Sacaban la chamba, y eso era lo que importaba.

Después de eso, fue un periodo más raro: eran pocas las tareas que me, o contando a mi colega finlandés, nos asignaban, lo que nos puso en una posición bastante extraña y cómoda a la vez: prácticamente nos pagaban por no hacer nada. Las juntas semanales eran nada más para escuchar a los que sí hacían investigación. ¿Nosotros? Nada que reportar, nada que nos fuera asignado. Es más, era tan evidente la forma en la que nos ignoraban que una vez me pidieron que investigara la forma de implementar un motor de búsqueda para uso interno de la compañía. Levanté un prototipo usando Apache Solr y le dije a la entonces mi mánager que lo revisara… Bueno, es momento en el que todavía sigo esperando esa revisión.

Creo que duré así más o menos un año. Literalmente me pagaban por ir a sentarme. Pero eso no significa que me la pasé todo el año sin hacer nada: aproveché el tiempo para tomar cursos en línea, actualizarme en mi área y ver las nuevas tendencias en ella.

Tiempo después, nos llevaron a un lugar donde había muchísima gente calificando exámenes (la empresa manejaba datos referentes a educación), y cuando vi lo que estaban haciendo, comenté que podrían ahorrar mucho dinero si automatizaban eso, porque la tecnología para reconocer escritos a mano ya existía. Alguien de “arriba” tomó el comentario en serio y se pusieron a investigar, y dado que teníamos muchos, pero muchos datos, no tomó mucho tiempo en que crearon una empresa subsidiaria que se dedicaría a aplicar inteligencia artificial a esos datos. El primer proyecto, como se pueden imaginar, era precisamente el de crear un sistema de reconocimiento de texto escrito a mano, y comenzó con un viaje que hice a Singapur para conocer a los otros miembros del equipo con el que trabajaría.

Lo que pasó después de eso y hasta que me cambié de trabajo lo dejo para otro escrito, porque definitivamente merece especial detalle. Solamente mencionaré que estuve en Theta por espacio de 6 años y medio.

Iota

Entré a trabajar en Iota en abril de 2019, en medio de mucha, pero exageradamente mucha incertidumbre y ansiedad de mi parte. Los últimos meses en Theta fueron por demás estresantes, por lo que comencé a buscar trabajo, a tener entrevistas y a rechazar ofertas en las que me pagarían menos de lo que percibía en ese entonces. La verdad no pensé dar el ancho cuando vi que en Iota buscaban personal con mi perfil, pero decidí de todas formas intentar, y al final fui el elegido entre un número de candidatos que nunca supe cuántos fueron (pero según la empresa había varios). Y digo “incertidumbre” y “ansiedad” precisamente porque pensé que era un fraude, que en pocos meses me despedirían por incompetente, y todo lo que el famoso “síndrome del impostor” conlleva.

Iota representaba un gran reto para mí, especialmente porque es una empresa de capital extranjero, lo que significaba que tendría que volverme a acostumbrar al estilo de trabajo “no japonés”. No era una tarea fácil: en Japón te acostumbran a que los superiores (léase “jefes”) siempre tienen la razón, a que la productividad es generalmente muy baja y a que tardan eternidades en tomar decisiones porque se pasan la bolita unos a otros para evitar tener responsabilidades. Pero a la vez, como trabajador, tienes mucha protección una vez que te conviertes en “Seishain”, es decir, en empleado de tiempo completo; una de ellas es que es muy difícil que te despidan (por lo general te presionan para que tú renuncies). Total, que tenía miedo, y poco a poco se comenzaba a “cocinar” el estado mental que me llevó a caer en depresión.

La empresa realmente ofrecía múltiples ventajas en comparación con las compañías japoneses que conocía y en las que había trabajado: 

  • Muchos más días de vacaciones al año
  • Horario relativamente flexible
  • “Snacks” y bebidas gratis
  • Comida gratis cada viernes (todo el equipo salía a comer y la cuenta la pagaba la empresa)
  • Facilidad para tomar días libres
  • Flexibilidad en las herramientas a utilizar

Obviamente había altibajos, y me tomó una buena cantidad de tiempo acostumbrarme. La empresa siempre se mostró comprensiva con las situaciones de cada empleado, y yo no era la excepción: se portaron muy bien con lo que tuve que vivir durante el embarazo de mi segundo hijo, recibí mucho apoyo moral cuando estuve en el peor momento de la depresión, no había problema en cambiar las horas de trabajo para poder atender pendientes de la casa. En fin, la verdad parecía que estaba viviendo un sueño, y lo mejor era que, en teoría, iba a estar en mi área, pues fui contratado bajo el título de Senior NLP Researcher.

Todo estuvo bien durante 4 años y medio… hasta octubre de este año.

En la siguiente parte relataré lo sucedido en los últimos meses.

The post Recapitulando 2023 – Parte 1 first appeared on ¡Un mexicano en Japón!.

by Manuel at December 29, 2023 07:05 AM

December 27, 2023

Victor Martínez

Migrando mi disco de arranque

No tengo conectado el SSD que tenía como arranque para compararlo, mi home lo tengo en sdb y mi almacenamiento masivo en sda ambos HDD el primero de 7200RPM y el segundo de 5425RPM todo movido usando Clonezilla [1], que en realidad pude usar dd o gparted pero me dio fiaca, este es mi desktop en casa.

tostador:~# hdparm -tT /dev/sda

/dev/sda:
Timing cached reads: 18472 MB in 1.99 seconds = 9295.67 MB/sec
Timing buffered disk reads: 566 MB in 3.01 seconds = 188.27 MB/sec

tostador:~# hdparm -tT /dev/sdb

/dev/sdb:
Timing cached reads: 19562 MB in 1.99 seconds = 9850.27 MB/sec
Timing buffered disk reads: 446 MB in 3.01 seconds = 148.21 MB/sec

tostador:~# hdparm -tT /dev/nvme0

/dev/nvme0n1p1:
Timing cached reads: 19778 MB in 1.99 seconds = 9958.08 MB/sec
Timing buffered disk reads: 5676 MB in 3.00 seconds = 1891.21 MB/sec

tostador:~# smartctl -i /dev/nvme0
smartctl 7.3 2022-02-28 r5338 [x86_64-linux-6.1.0-16-amd64] (local build)
Copyright (C) 2002-22, Bruce Allen, Christian Franke, www.smartmontools.org

=== START OF INFORMATION SECTION ===
Model Number: KINGSTON SNV2S500G
Firmware Version: SBI02102
PCI Vendor/Subsystem ID: 0x2646
IEEE OUI Identifier: 0x0026b7
Controller ID: 1
NVMe Version: 1.4
Number of Namespaces: 1
Namespace 1 Size/Capacity: 500,107,862,016 [500 GB]
Namespace 1 Formatted LBA Size: 512
Local Time is: Wed Dec 27 17:14:15 2023 CST

tostador:~# smartctl -i /dev/sda
smartctl 7.3 2022-02-28 r5338 [x86_64-linux-6.1.0-16-amd64] (local build)
Copyright (C) 2002-22, Bruce Allen, Christian Franke, www.smartmontools.org

=== START OF INFORMATION SECTION ===
Model Family: Seagate BarraCuda 3.5 (CMR)
Device Model: ST2000DM006-2DM164
LU WWN Device Id: 5 000c50 0a2e1f4fd
Firmware Version: CC26
User Capacity: 2,000,398,934,016 bytes [2.00 TB]
Sector Sizes: 512 bytes logical, 4096 bytes physical
Rotation Rate: 7200 rpm
Form Factor: 3.5 inches
Device is: In smartctl database 7.3/5319
ATA Version is: ACS-2, ACS-3 T13/2161-D revision 3b
SATA Version is: SATA 3.1, 6.0 Gb/s (current: 6.0 Gb/s)
Local Time is: Wed Dec 27 17:14:34 2023 CST
SMART support is: Available – device has SMART capability.
SMART support is: Enabled

tostador:~# smartctl -i /dev/sdb
smartctl 7.3 2022-02-28 r5338 [x86_64-linux-6.1.0-16-amd64] (local build)
Copyright (C) 2002-22, Bruce Allen, Christian Franke, www.smartmontools.org

=== START OF INFORMATION SECTION ===
Model Family: Seagate BarraCuda 3.5 (SMR)
Device Model: ST8000DM004-2CX188
LU WWN Device Id: 5 000c50 0c2b452d2
Firmware Version: 0001
User Capacity: 8,001,563,222,016 bytes [8.00 TB]
Sector Sizes: 512 bytes logical, 4096 bytes physical
Rotation Rate: 5425 rpm
Form Factor: 3.5 inches
Device is: In smartctl database 7.3/5319
ATA Version is: ACS-3 T13/2161-D revision 5
SATA Version is: SATA 3.1, 6.0 Gb/s (current: 6.0 Gb/s)
Local Time is: Wed Dec 27 17:14:37 2023 CST
SMART support is: Available – device has SMART capability.
SMART support is: Enabled

[1] http://www.clonezilla.org/

by vicm3 at December 27, 2023 11:20 PM

December 22, 2023

Gwolf

Pushing some reviews this way

Over roughly the last year and a half I have been participating as a reviewer in ACM’s Computing Reviews, and have even been honored as a Featured Reviewer.

Given I have long enjoyed reading friends’ reviews of their reading material (particularly, hats off to the very active Russ Allbery, who both beats all of my frequency expectations (I could never sustain the rythm he reads to!) and holds documented records for his >20 years as a book reader, with far more clarity and readability than I can aim for!), I decided to explicitly share my reviews via this blog, as the audience is somewhat congruent; I will also link here some reviews that were not approved for publication, clearly marking them so.

I will probably work on wrangling my Jekyll site to display an (auto-)updated page and RSS feed for the reviews. In the meantime, the reviews I have published are:

December 22, 2023 05:17 PM

November 21, 2023

Gwolf

The stuff games are made of

This post is a review for Computing Reviews for the stuff games are made of , a book published in MIT Press

What do we consider the “stuff” that makes up a video game? Is it interesting gameplay? Compelling graphics? Lifelike effects and fast-paced first-person shooter (FPS)? Deep strategy? Engaging mechanics that don’t let you go, that glue you to your favorite gaming device? How simple can a game be without losing its essence as a game? Pippin Barr, in a short and easy-to-read text, approaches these questions in a very novel way, and brings surprising and fresh answers.

The book begins by setting up the narrative of a weird, minimalist video game where the object of the game is to manipulate the top scores–the leaderboard. The author quotes anthropologist Daniel Miller’s work as fundamental in choosing the title, which is ambiguous on purpose:

Don’t, just don’t, ask for or expect a clear definition of “stuff.”
... [Stuff brings] a continued engagement and conversation with its wearer,
and a constant pressure to respond to changes in one’s surrounding social
environment.

Barr presents himself as an experimental video game designer and developer. Throughout the book he presents us with very simple game twists, followed by reflections on what they mean for players and which elements the “player” is played with by the game.

This book is loaded with philosophy. Each of the chapters takes an idea and discusses a mini-game implementing it–as well as players’ reactions. It begins with a series of variations on the classic and universally recognized Pong video game that bring it to the point of near unplayability, to watching the computer alone play trivial video games enacting ancient Greek mythology. Some video games are about contemplating the world around us: a gallery of different implementations of water-rendering models for the Unity gaming engine. Or just a game about contemplating time passing by, a game to recreate the time–and the experience–of queueing for something we believe to be important. All of Barr’s games focus on the player’s subjective experience, not on the games themselves, which seem to be tremendously trivial compared to the state of present-day video game development.

The book is quite short. Not only that, I was surprised by how much I enjoyed reading it; however, I should still point out it is a nontechnical book, more for those in the digital humanities than for people interested in the technical aspects of game development. It presents a novel approach.

As for other books covering similar topics, the obvious place to look is MIT’s “Playful Thinking” series. (The series started in 2015, and published roughly one book every year. But after the Covid lockdown of 2020-2021, they picked up steam, and as of late 2023, MIT has published 18 books looking at games from different human angles.) In Uncertainty in games [1], Costikyan explores how uncertainty in games–from Super Mario Bros. to rock/paper/scissors–engages players and shapes play experiences. In Works of game [2], Sharp digs into “game art,” treating video games as a form of popular culture from which can be borrowed subject matter, tools, and processes, and brings forward a study about the relationship between games and art. In The art of failure [3], Juul explores why we play video games despite the fact that we are almost certain to feel unhappy when we fail at them.

  1. Costikyan, G. Uncertainty in games. MIT Press, Cambridge, MA, 2013.
  2. Sharp, J. Works of game. MIT Press, Cambridge, MA, 2015.
  3. Juul, J. The art of failure. MIT Press, Cambridge, MA, 2016.

November 21, 2023 03:00 AM

November 11, 2023

Gwolf

There once was a miniDebConf in Uruguay...

Meeting Debian people for having a good time together, for some good hacking, for learning, for teaching… Is always fun and welcome. It brings energy, life and joy. And this year, due to the six-months-long relocation my family and me decided to have to Argentina, I was unable to attend the real deal, DebConf23 at India.

And while I know DebConf is an experience like no other, this year I took part in two miniDebConfs. One I have already shared in this same blog: I was in MiniDebConf Tamil Nadu in India, followed by some days of pre-DebConf preparation and scouting in Kochi proper, where I got to interact with the absolutely great and loving team that prepared DebConf.

The other one is still ongoing (but close to finishing). Some months ago, I talked with Santiago Ruano, joking as we were Spanish-speaking DDs announcing to the debian-private mailing list we’d be relocating to around Río de la Plata. And things… worked out normally: He has been for several months in Uruguay already, so he decided to rent a house for some days, and invite Debian people to do what we do best.

I left Paraná Tuesday night (and missed my online class at UNAM! Well, you cannot have everything, right?). I arrived early on Wednesday, and around noon came to the house of the keysigning (well, the place is properly called “Casa Key”, it’s a publicity agency that is also rented as a guesthouse in a very nice area of Montevideo, close to Nuevo Pocitos beach).

In case you don’t know it, Montevideo is on the Northern (or Eastern) shore of Río de la Plata, the widest river in the world (up to 300Km wide, with current and non-salty water). But most important for some Debian contributors: You can even come here by boat!

That first evening, we received Ilu, who was in Uruguay by chance for other issues (and we were very happy about it!) and a young and enthusiastic Uruguayan, Felipe, interested in getting involved in Debian. We spent the evening talking about life, the universe and everything… Which was a bit tiring, as I had to interface between Spanish and English, talking with two friends that didn’t share a common language 😉

On Thursday morning, I went out for an early walk at the beach. And lets say, if only just for the narrative, that I found a lost penguin emerging from Río de la Plata!

For those that don’t know (who’d be most of you, as he has not been seen at Debian events for 15 years), that’s Lisandro Damián Nicanor Pérez Meyer (or just lisandro), long-time maintainer of the Qt ecosystem, and one of our embedded world extraordinaires. So, after we got him dry and fed him fresh river fishes, he gave us a great impromptu talk about understanding and finding our way around the Device Tree Source files for development boards and similar machines, mostly in the ARM world.

From Argentina, we also had Emanuel (eamanu) crossing all the way from La Rioja.

I spent most of our first workday getting ① my laptop in shape to be useful as the driver for my online class on Thursday (which is no small feat — people that know the particularities of my much loved ARM-based laptop will understand), and ② running a set of tests again on my Raspberry Pi labortory, which I had not updated in several months.

I am happy to say we are also finally also building Raspberry images for Trixie (Debian 13, Testing)! Sadly, I managed to burn my USB-to-serial-console (UART) adaptor, and could neither test those, nor the oldstable ones we are still building (and will probably soon be dropped, if not for anything else, to save disk space).

We enjoyed a lot of socialization time. An important highlight of the conference for me was that we reconnected with a long-lost DD, Eduardo Trápani, and got him interested in getting involved in the project again! This second day, another local Uruguayan, Mauricio, joined us together with his girlfriend, Alicia, and Felipe came again to hang out with us. Sadly, we didn’t get photographic evidence of them (nor the permission to post it).

The nice house Santiago got for us was very well equipped for a miniDebConf. There were a couple of rounds of pool played by those that enjoyed it (I was very happy just to stand around, take some photos and enjoy the atmosphere and the conversation).

Today (Saturday) is the last full-house day of miniDebConf; tomorrow we will be leaving the house by noon. It was also a very productive day! We had a long, important conversation about an important discussion that we are about to present on debian-vote@lists.debian.org.

It has been a great couple of days! Sadly, it’s coming to an end… But this at least gives me the opportunity (and moral obligation!) to write a long blog post. And to thank Santiago for organizing this, and Debian, for sponsoring our trip, stay, foods and healthy enjoyment!

November 11, 2023 09:59 PM

November 08, 2023

Gwolf

Humble AI

This post is a review for Computing Reviews for Humble AI , a article published in Association for Computing Machinery (ACM)

While readers of Computing Reviews are more aware than the general population when it comes to whether artificial intelligence (AI) is a magical panacea or the probability of a general intelligence that will develop thinking capabilities and make decisions on its own, we are actually aware of AI’s greatest strengths: finding patterns, probably hidden to the naked eye, and arriving at inferences based on said patterns. That ability has made AI-based systems a tool of choice to make statistical predictions and estimations, learning from enormous datasets, about human behavior.

AI tools are often applied to risk assessment for financial operations. This article argues, however, that the outcome of a negative AI-based evaluation, particularly if it leads to a false negative–that is, if it predicts that a credit will be defaulted instead of paid, or that an individual will not honor their word or even their payment intentions–can have devastating consequences for an individual, or even a family, and is not to be taken lightly. The authors thus make an argument for “humble AI.” They show many situations where AI-based decisions fall in gray areas and thus a more humane touch might be needed, and suggest several ways of setting thresholds so that AI-based ranking systems are ultimately ranked by humans instead of being directly used for decision making.

The article also digs into the issue of how the public appreciates AI-based decision tools. The authors mention how society has been exposed to a big corpus of science fiction where AI systems become self-aware and dominate humanity. Even if the main argument is not about them, there is quite a bit of space devoted to understanding the impact of false negatives, leading to public distrust of AI.

Quoting the article’s conclusions, “Humble trust does not imply trusting indiscriminately. Rather, it calls for developers and deployers of AI systems to be responsive to the effects of misplaced distrust and to manifest epistemic humility about the causes of human behavior.” The presented thesis sounds completely correct–although it somewhat counters the human resources (HR) savings touted by AI proponents as the main driver behind the adoption of AI systems, so in a sense the argument “bites its own tail.” Hopefully, it will get some people to think and act more humanely.

November 08, 2023 03:00 AM

October 24, 2023

Victor Martínez

Yo no caí

«Yo no caí en la universidad pública, la universidad pública me levantó, me abrazó, me enseñó de sueños colectivos y me cambió para siempre.»

Leído por ahí, yo creo hace unos 10 años y creía que tenia una entrada al respecto, resulta que la imagen debe estar en la galería de mememtica que ya no renové este año el dominio y que tendré que ir incorporando a este blog directamente.

Por otro lado estoy completamente de acuerdo con la sentencia de autoria desconocida, en otro tenor hace un rato escribí algo que sigue siendo cierto, la universidad es mi casa, cosa de la cual estoy orgulloso, ya que lo ha sido como estudiante, egresado, docente e investigador.

 

by vicm3 at October 24, 2023 11:50 PM

October 13, 2023

Victor Martínez

Serrucho de poda… Reparación

Lo complicado de arreglar un serrucho de poda, el cual se me perdió un tornillo cuando estaba cortando un árbol seco y no pude encontrar entre toda la hojarasca, primero hice un arreglo hechizo horrible, le puse un clavo de 2 pulgadas y lo doble para que al menos la hoja no se moviera tanto y pudiera usarlo, lo bueno es que estaba usando guantes de carnaza, les di un llegue con el clavo y los abrí de todo el puño, dinero bien gastado ni un rasguño en la mano.

Buscar un tornillo de repuesto me llevo a truper y no existe la refacción, mientras recordé que tengo un serrucho foy es decir muy económico y que tiene tornillos parecidos como usa 3 y mi serrucho de poda 2 le quite uno y se lo puse al de poda, como tampoco urgía fue algo que fui dejando, pero en el catalogo de truper decían que la bolsa de 10 tornillos para serrucho cuesta 49 pesos, pero solo necesitaba 1, 5 si cambiaba todos por nuevos.

Finalmente fui a la ferretería fix más cercana y me dijeron que no los tenían que había que pedirlos y que estarían en tres días hábiles, lo pensé un tanto y decidí pedirlos, me pasaron a otra ventanilla y ahí al iniciar el pedido resultó que tenia que pedir el lote completo es decir 4 bolsas por ser pedido especial, y no es que fuera tan caro casi 200 pesos, pero que iba a hacer con 40 tornillos, ahí mismo quien me atendió me dijo que en la página se podía pedir desde una unidad.

En casa al consultar la página ciertamente se puede pedir desde una unidad, con un costo de 99 pesos de envío, buscando en ML lo hay desde 74 más 99 de envío, a través de Amazon finalmente lo encontré en 72 más 40 de envío,  siendo este el más económico, ahí lo pedí.

Hoy llego y a la hora de tratar de ponerlo en el serrucho de poda, es un tanto más ancho, pero bueno este está completo por el momento que tal en el serrucho original, un poco forzado pero entra, la mitad… Veo qué puedo intentar hacer más grande el agujero de la madera y el acero de la hoja de serrucho para que entre el tornillo completo, reviso y tengo broca para madera de el tamaño adecuado, busco la de metal y no tengo y de todas formas perforar acero no va a ser fácil, vuelvo a ver hasta donde entra el tornillo y parece que si corto la mitad donde enrosca no queda volando como esta ahora, perderá algo de fuerza pero es uno de tres, así inicio cortar el tornillo, primero con segueta, no me acomodo paso a usar un disco de corte en mi herramienta tipo dremel y al segundo disco, logró cortarlo.

Lo presento y queda exacto, completo la pieza y queda muy bien.

120 pesos me ha costado la refacción, probablemente los 200 ubieran sido mejor inversión y lo más divertido es que comprar un nuevo serrucho habría costado 139, unos 300 de cambiar los dos serruchos, pero ambos son útiles y están en buen estado.

Un añadido que use en el de poda fue locklite azul para que o se afloje con el movimiento…

by vicm3 at October 13, 2023 05:15 AM

September 22, 2023

Gwolf

Debian@30 — Found the shirt I was looking for last month

Almost a month ago, I went to my always loved Rancho Electrónico to celebrate the 30th anniversary of the Debian project. Hats off to Jathan for all the work he put into this! I was there for close to 3hr, and be it following up an install, doing a talk, or whatever — he was doing it. But anyway, I only managed to attend with one of my (great, beautiful and always loved) generic Debian or DebConf T-shirts.

Today, when going through a box of old T-shirts, I found the shirt I was looking for to bring to the occasion. A smallish print, ~12cm wide, over the heart:

And as a larger print, ~25cm wide, across the back:

For the benefit of people who read this using a non-image-displaying browser or RSS client, they are respectively:

   10 years
  100 countries
 1000 maintainers
10000 packages

and

        1 project
       10 architectures
      100 countries
     1000 maintainers
    10000 packages
   100000 bugs fixed
  1000000 installations
 10000000 users
100000000 lines of code

20 years ago we celebrated eating grilled meat at J0rd1’s house. This year, we had vegan tostadas in the menu. And maybe we are no longer that young, but we are still very proud and happy of our project!

Now… How would numbers line up today for Debian, 20 years later? Have we managed to get the “bugs fixed” line increase by a factor of 10? Quite probably, the lines of code we also have, and I can only guess the number of users and installations, which was already just a wild guess back then, might have multiplied by over 10, at least if we count indirect users and installs as well…

September 22, 2023 04:59 AM

September 03, 2023

Gwolf

A free press, if you can keep it: What natural language processing reveals about freedom of the press in Hong Kong

This post is a review for Computing Reviews for A free press, if you can keep it: What natural language processing reveals about freedom of the press in Hong Kong

The British colony of Hong Kong was ceded back to Chinese sovereignty in 1997, after 150 years of occupation, under the “two systems, one country” principle. Given the Chinese is widely known in the West for its tight grip on its press, this short book takes as a goal to use computational analysis in the field of natural language processing to assess changes in press freedom over the 25 years of Chinese rule over Hong Kong.

The author states that, by doing a mixed-methods comparison of news published about the various Hong Kong protest movements that have surfaced since mainland China reclaimed control over it in English-based newspapers, considering both local and international sources, political shifts regarding freedom of press would surface. From the very beginning of the book, the authors explain that the Chinese authorities, even few years before the handover, can influence local media by co-opting media owners, setting norms of journalistic political correctness, and employing “strategic ambiguity” (this is, explicitly not laying out clear guidelines). To be able to perform this analysis over a corpus of 4522 news articles covering the 1998-2020 period, with news sources including two Hong Kong-based, English language newspaper, and six Western, English based news papers (two from the United Kingdom, four based in the USA).

The authors choose several Natural Language Processing (NLP) techniques for their analysis, both synchronic (comparing treatment of events occurring at the same time) and diachronic (comparing the nature of coverage over time). Some of the techniques used include topic modeling, comparison of lexical frequency, lexical usage, computational sentiment analysis, embedding neighborhood comparisons, Vicinato plots and Granger causality. The analysis is split in two major divisions, acknowledging their divide from the book’s index, devoting one of the five total chapters (and being they, after all, the medular chapters) for each: non-rhetorical tactics and rhetorical tactics.

Non-rhetorical tactics mostly presents the news item dataset, the set of major protest events it covers, provides a contextualized understanding of the volume and timing of articles published, and presents correlations between news coverage of protests and protests’ size. Rhetorical tactics refer more to the proper NLP treatment of the information, where semantically difference or separation, diachronic consistency of the discourse over each of the news sources, an analysis of how protests are framed by each of the sources, stylometric differences between news sources.

I found the book’s framing of Hong Kong history interesting. However, I have to admit I was expecting a book closer to Frazer Heritage’s «Language, gender and videogames: using corpora to analyse the representation of gender in fantasy videogames», for which Computing Reviews published my review on April this year. Although this book is less than half the length of Heritage’s, I found it quite harder to read. Although the book’s rhythm is amenable and the events it presents are interesting, I found it hard to relate to — even to finish. The book starts by its title setting some high expectation on results to be found, but never closes on any specific changes any of its methods was able to find. The most plausible explanation I can find to this is that Hong Kong press in colonial times was not very different — the text presents that the colonial government «had laws in place that gave sweeping power to control and punish news organizations when contents were deemed seditious and anti-government», with «as many as 30 laws that could be used to curb media freedom».

Besides this issue, my feeling is that the fact that the author chose to base the study using only two local English language newspaper constitutes a pre-selection bias; it is understandable that tools used to analyze linguistic data cannot work reliably across linguistic borders, and that the quality of automated translation tools is still too far from what this undertaking would need if Cantonese and Mandarin texts were to be imported. However, according to Wikipedia, Cantonese is the native language of 88.2% of the local population, with English at a very distant 4.6%. Wikipedia reports of 17 Chinese language and 7 English language newspapers (not detailing on which Chinese language they write in), so the choice of only two of them is problematic, and should be better explained.

All in all, the book presents an interesting recount of events in Hong Kong focused in the first 22 years of Chinese rule, and the narrative does follow the results of computer analysis based upon NLP tools, I cannot see this book as a geared towards Computer Science readers, nor very telling of the tools or results of the field. I believe the title to be misleading, as there are no conclusions leading the reader to believe that the Hong Kong has improved or diminished its press freedom since the sovereignty handover, nor that the journalists or the civil society are to thank (or to blame) for its current state.

September 03, 2023 03:00 AM

August 27, 2023

Gwolf

Interested in adopting the RPi images for Debian?

Back in June 2018, Michael Stapelberg put the Raspberry Pi image building up for adoption. He created the first set of “unofficial, experimental” Raspberry Pi images for Debian. I promptly answered to him, and while it took me some time to actually warp my head around Michael’s work, managed to eventually do so. By December, I started pushing some updates.

Not only that: I didn’t think much about it in the beginning, as the needed non-free pacakge was called raspi3-firmware, but… By early 2019, I had it running for all of the then-available Raspberry families (so the package was naturally renamed to raspi-firmware). I got my Raspberry Pi 4 at DebConf19 (thanks to Andy, who brought it from Cambridge), and it soon joined the happy Debian family. The images are built daily, and are available in https://raspi.debian.net.

In the process, I also adopted Lars’ great vmdb2 image building tool, and have kept it decently up to date (yes, I’m currently lagging behind, but I’ll get to it soonish™).

Anyway… This year, I have been seriously neglecting the Raspberry builds. I have simply not had time to regularly test built images, nor to debug why the builder has not picked up building for trixie (testing). And my time availability is not going to improve any time soon.

We are close to one month away from moving for six months to Paraná (Argentina), where I’ll be focusing on my PhD. And while I do contemplate taking my Raspberries along, I do not forsee being able to put much energy to them.

So… This is basically a call for adoption for the Raspberry Debian images building service. I do intend to stick around and try to help. It’s not only me (although I’m responsible for the build itself) — we have a nice and healthy group of Debian people hanging out in the #debian-raspberrypi channel in OFTC IRC.

Don’t be afraid, and come ask. I hope giving this project in adoption will breathe new life into it!

August 27, 2023 12:46 AM

August 13, 2023

Gwolf

Back to online teaching

Mexico’s education sector had one of the longest lockdowns due to COVID: As everybody, we “went virtual” in March 2020, and it was only by late February 2022 that I went back to teach presentially at the University.

But for the semester starting next Tuesday, I’m going back to a full-online mode. Why? Because me and my family will be travelling to Argentina for six months, starting this October and until next March. When I went to ask for my teaching to be “frozen” for two semesters, the Head of Division told me he was actually looking for teachers wanting to do distance-teaching — With a student population of >380,000 students, and not being able to grow the physical infrastructure, and with such a big city as Mexico City, where a person can take ove 2hr to commute daily… It only makes sense to offer part of the courses online.

To be honest, I’m a bit nervous about this. The past couple of days, I’ve been setting up again the technological parts (i.e. spinning up a Jitsi instance, remembering my usual practices and programs). But… Well, I know that being videoconference-bound, my teaching will lose the dynamism that comes from talking face to face with students. I think I will miss it!

(but at the same time, I’m happy to try this anew: to go virtual, but where students choosing this modality do so by choice rather than because the world forced them to)

August 13, 2023 11:39 PM