jueves, 31 de enero de 2019

¿Cómo combatir a la ultraderecha en redes sociales?

Este es el tema que se ha planteado en todo el mundo Occidental. Aquí en España creíamos que aquí no podría llegar, pero ha llegado. En Andalucia, una de las 17 comunidades autónomas que hay en España, los partidos PP, Ciudadanos y Vox (este último el nuevo y de extrema derecha) han pactado para gobernar en Andalucia. Para la ultraderecha, echar al gobierno (poco) socialista de Susana Díaz justifica los medios. Esto lo estoy viviendo yo de cerca porque soy andaluz y resido en Andalucía. En España tenemos una oportunidad de que la extrema derecha no se cuele más en España, dentro de lo malo, mejor tenerlos "controlados" en Andalucía y tener un combate y no 17 más el combate Nacional, lo que sería una desgracia para este país llamado España.


Vox es un partido de ultraderecha y eso es algo que hasta la prensa internacional sabe. A los hechos me remito.



Vox tiene un discurso altamente racista representando con sus otros 2 ayudantes, la parte más rancia de la sociedad con propuestas como las que tiene en su programa.



Es contrario a los Derechos Humanos su propuesta número 15 por ejemplo. Si una persona inmigrante obtiene la nacionalidad española y por tanto contaría como legal, no se le puede quitar su nacionalidad (Art 15.2). Por cierto, los Derechos Humanos están contemplados en la Constitución Española del 1978 firmada por el Rey Juan Carlos, que tanto viola Vox y varias formaciones políticas, concretamente en el artículo 10.2.

Solemne Declaración de Derechos Humanos del 10 de diciembre de 1948




Constitución Española sancionada por el Rey Juan Carlos el 27 de diciembre de 1978 y aprobada el 6 de diciembre del mismo año.


Puede que Vox vaya contra la Constitución y el Rey, aunque si revisamos su programa de nuevo...


Tal y como dice Vox en su propuesta número 3, si cumpliesen su propuesta número 15 comentada anteriormente, se consideraría una pena por ofensa y ultrajes a España y sus símbolos, por lo que se tendrían que autodenunciar. Imagino que lo harán. Aunque me resulta curioso que en su propuesta número 22 digan que la inmigración se afrontará de acuerdo a la economía española, algo que es muy triste, pero imagino que disponen de evidencia científica, la misma evidencia que demuestra una y otra vez, año tras año, una Universidad y otra y otra.


Yo, como soy muy generoso y comparto toda la riqueza (en este caso intelectual) con el interés general, les dejo algunos artículos científicos, no son todos, pero sí algunos que aseguran el impacto positivo de la inmigración en los países que los reciben ¿No querían competencia? Pues ahí la tienen.

  • https://reader.elsevier.com/reader/sd/pii/S0305750X16304466?token=2BFE3CDBC7F1EEE5552B7EE1BE17095F91219BB5859095358A4A7B69E3E59C30546061E5A238BE919D72C3117FBEFD07
  • http://www.clapesuc.cl/assets/uploads/2017/01/10-01-17-informe-laboral-inmigrantes-trim-sep-nov-2016.pdf
  • http://www.ilo.org/wcmsp5/groups/public/---ed_protect/---protrav/---migrant/documents/publication/wcms_616038.pdf
  • http://www.ilo.org/public/english/standards/relm/ilc/ilc92/pdf/rep-vi.pdf
  • http://documents.worldbank.org/curated/en/507301468142196936/pdf/343200GEP02006.pdf
  • https://journals.sagepub.com/doi/abs/10.1068/c09151r?journalCode=epca
  • https://www.economist.com/the-world-if/2017/07/13/a-world-of-free-movement-would-be-78-trillion-richer
  • https://www.newscientist.com/article/mg23030680-700-the-truth-about-migration-how-it-will-reshape-our-world/
  • https://hbr.org/2017/04/why-mass-migration-is-good-for-long-term-economic-growth
  • https://theconversation.com/want-a-stronger-economy-give-immigrants-a-warm-welcome-73264
  • http://advances.sciencemag.org/content/4/6/eaaq0883
  • https://www.quora.com/Does-immigration-increase-economic-growth/answer/Patrick-Cardiff?share=13462bba&srid=uXIrj
De nada, Vox.


Vox es una formación política misógina, patriarcal y machista. Por supuesto, y como en gran parte de sus puntos, se habla desde el desconocimiento de la Constitución Española y del Código Penal Vigente en nuestro país. 

Dicen que quieren derogar la Ley de Violencia de Género por una Ley que proteja tanto a hombres como mujeres, ya sean niños, adolescentes, adultos o ancianos. El problema es que eso ya lo recoge el Código Penal. Esto es algo que Vox y sus seguidores, o no saben o no quieren saberlo, pero no estaría de mal analizar cómo se juzgarían los distintos delitos, aunque si queréis una información mucho más completa, podéis leer este artículo de una fiscal portavoz en la Audiencia Provincial de Valencia


Con la ley vigente, las lesiones graves con armas, tienen un castigo mayor si eres mujer que agrede a un hombre que si eres un hombre que agrede a una mujer. Esa es la realidad, y si leéis el artículo de la fiscal de la AP de Valencia, lo entenderéis porque lo explica muy detenidamente haciendo la ley de fácil comprensión para cualquier persona.

Esto evidencia que en los demás delitos, las condenas son, en su aplicación de condena mayor, la misma seas hombre o mujer. Es por esto que separamos en violencia doméstica (violencia de hombre contra mujer o mujer contra hombre en todas las edades) y Violencia de Género(Ley orgánica 1/2004 del 28 de diciembre), cuando el agresor es un hombre y la víctima una mujer. 

Se entiende esta distinción ya que el caso de mujeres maltratadas, violadas y/o asesinadas a manos de hombres es mucho mayor que el de hombres maltratados,violados y/o asesinados a manos de mujeres.


No es difícil de comprobar, el mismo Instituto Nacional de Estadística evidencia con datos oficiales que las víctimas de Violencia de Género son mayores (29.009 mujeres) que el número de víctimas de Violencia de Género (6.909 personas (tanto hombres como mujeres)). Es decir, que cuando el agresor es de un sólo sexo (hombre) y la víctima del opuesto (mujer) las víctimas son mayores que cuando el agresor pueden ser tanto hombres como mujeres al igual que las víctimas. Esto evidencia el mal trato institucionalizado que sufren las mujeres en España, ya que incluso en Violencia Doméstica, son ellas las principales víctimas.




También hablaban de denuncias falsas, y es curioso, porque sobre este tema también se ha pronunciado una institución que de leyes, sabe un poco, la Fiscalía.


La Fiscalía afirma en su memoría del 2017 que las denuncias falsas analizadas entre las 1.055.912, el 194 de ellas eran falsas, lo que supone un 0.18%, y la misma Fiscalía dice que este dato es suficiente para rebatir la idea de que hay una gran cantidad de denuncias falsas. Pero no sólo eso, que las denuncias falsas condenatorias suponen el 0.0075%, algo que si se sigue asumiendo es ridículo y poco coherente con los datos disponibles.  Otra mentira más de Vox.



Sobre su propuesta 39, me sorprende que quieran que la gente que cobra 12000 € al año esté exenta del IRPF, que hasta los 60000€ se el 20% de IRPF y que los que superen los 60000€ paguen el 30%. Me sorprende porque no es progresivo, se deben realizar más intervalos y que las rentas más altas paguen más. Esto no es que lo diga yo, esto lo dice el presente Artículo 31 de la Constitución Española.


Sí, los impuestos tienen que ser progresivos, y con esto estarían violando este artículo de la Constitución, veamos cómo está el IRPF ahora en España.


Con esto que propone Vox, a las rentas de entre 12.000€ a 12.450€ se les estaría subiendo un 1% el Impuesto de la Renta sobre las Personas Físicas (IRPF) y a las rentas de entre 60000€ en adelante, se les estaría bajando un 15%. Es cierto que a los de en medio, se les quita 4, 10 y 17% respectivamente. Es decir, que a las rentas de entre 12.450€ a 20.200€ se les baja un 4% y a las rentas de 20.000 a 35.200€un 10% mientras que a los que tienen más de 60000€ se les baja un 15%, que es más que la bajada a los otros 2. Totalmente anticostitucional.

Es por esta razón, que cualquier partido que pacte con Vox, son parte también del problema, y Ciudadanos y Partido Popular no han tardado ni un mes en pactar con la extrema derecha, la cual, con sus propuestas, viola varios artículos de la Constitución vigente e ignora las leyes actuales. Y eso que sólo he comentado algunas de sus propuestas.

Pero este post no iba destinado a desmontar a Vox, no, si quisiera eso lo hubiese hecho de una forma mucho más feroz. Aún no lo he sacado todo. Este post iba sobre qué se puede hacer para luchar contra la ultraderecha en redes sociales.

Cambridge ya meditó sobre esto con este estudio que vengo a comentar. Y es que Cambridge analizó el crecimiento del grupo ultraderechista UKIP en función de los artículos dedicados y la difusión en medios de comunicación a este grupo político.


Se obtuvo que cuanto más se le visibilizada, más crecía, y como afirman, esto que se estudió en Reino Unido, podía explicarse también en Bélgica, Holanda o Alemania. Los autores por lo tanto, recomiendan no darle más visibilidad.


Hay quien dice que esto funcionaría solamente con grupos con poco apoyo, y es que Vox (según la última encuesta realizada en diciembre por el CIS) no tiene ni el 1% de simpatizantes. Es cierto que no son muy de fiar estas encuestas, pero tenemos algo por lo que empezar. Ojo, que también es interesante que el 49% de los encuestados digan que no les representa ningún partido, y esto es más de fiar.

La mayoría de los encuestados seguirían con 4 partidos de siempre, y es verdad que Vox sería el quinto en discordia, pero con casi 3 veces menos votos/escaños que Unidos Podemos (los cuartos).

Con la ultraderecha no sirven posts como este en el que se desmonta sin despeinarnos mucho varios de los puntos de su programa electoral. Lo podemos hacer, pero un intento y si siguen ladrando, se les deja que ladren ellos solos, de lo contrario se les estaría dando la visibilidad que querían.

Esto va por la prensa también. La prensa tiene la misma responsabilidad. Nada de títulos sensacionalistas con las mentiras de Vox. Dejemos, gente de la prensa, se participar en el círculo ultraderechista. Dejad de finanziar sus mentiras.

Parece una tontería, pero si Vox dice que hay X mil inmigrantes ilegales y la prensa, sin analizar si eso es verdad o no lo publica en sus titulares por el simple hecho de buscar clicks y visitas, la gente, sin quererlo pensará que sí hay esos Xmil inmigrantes ilegales o que la mayoría de denuncias son falsas.

Esto es lo que dice en esencia el lingüista y profesor emérito de la Universidad de Berkeley George Lakoff. Este profesor  y lingüista popularizó el "no pienses en elefantes rosas". George Lakoff está harto de decirle a la prensa que no repitan las barbaridades de Trump, pero nada, no hace(mos) caso.


George propone la técnica del sandwich. Esta técnica consiste en, primero una dosis de realidad, una realidad a la que nos acerquemos lo máximo posible en nuestro titular. Posteriormente comentar lo que, en este caso busca Trump, y finalmente otro fast-checking desmontando lo que se afirma con esos datos dudosos o simplemente falsos. Esta es la técnica; realidad, giro y realidad.

No podemos seguir legitimando a la ultraderecha. Aquí he intentado hacer eso, no poner un título sensacionalista, comentar la realidad junto a lo que buscan y finalmente acabar con más realidad. Tenemos que luchar contra la ultraderecha desde la legalidad y con datos y sólo así venceremos.

¿Hackeamos Mundo?

miércoles, 30 de enero de 2019

Está naciendo algo

Llevo ya unas semanas, desde comienzos de enero, escribiendo un libro. Un libro que es más que un libro, es un bucle de formulación de preguntas sobre el mundo, no el actual, sino desde sus orígenes. Es cuestionar todo el mundo desde sus orígenes. Lo que estoy escribiendo no es un libro, es un compendio de varios tomos (de momento 6), es decir, 6 libros en uno.


Es un proyecto que promete ser largo, estoy investigando mucho, leyendo y viendo mucho y reflexionando también mucho. No sé cuánto me llevará, pero cuando lo termine lo diré por el blog, aunque os aviso que vais a tener que esperar bastante.

¿Hackeamos el Mundo?

martes, 29 de enero de 2019

Código del proyecto sanITas

Como dije en el post de ayer, este post es para dejaros el código de todo lo que comenté ayer. Nada más, todo lo que tenía que explicar, ya lo expliqué ayer y ahora estoy trabajando en lo siguiente que quiero sacar y que espero que podáis ver en breve.



Como siempre, el código lo podéis encontrar en MyHub por si lo queréis descargar o simplemente ver.

¿Hackeamos el Mundo?

lunes, 28 de enero de 2019

Liberando a la Sanidad.

Ya comenté cómo podríamos hacer para impulsar el software libre  en las escuelas, y para eso elaboré un escenario que es el que podría darse en caso de comenzar a implantar software libre en las escuelas. Ahora vengo a hacer lo mismo pero con la Sanidad. No es casualidad que haya empezado por la Educación y la Escuela para impulsar el software libre en todas las instituciones de los países . He decidido liberar a la Educación y la Sanidad ya que suelen ser las grandes afectadas por los recortes, violando así el Estado del Bienestar y la población.


Como siempre, voy a explicar en qué entorno estamos y cuales el escenario del que vamos a partir. Lo primero es que todo esto lo voy a hacer desde un Debian 9 para la recepción del Centro Sanitario/Hospital y un Debian 8 para un médico concreto. Ojo, que ninguno de los Debian utilizados tienen interfaz gráfica, es a pelo, todo desde la línea de comandos. Puede parecer que va a ser más complicado, pero ya veréis como al final, va a ser más fácil para todo el mundo independientemente de sus conocimientos en informática. Vamos a hacer el más difícil todavía.


Tendremos, como he mencionado, 2 usuarios; uno el de recepción que estará implantado en el ordenador de la recepción. Otro usuario será el de uno de los médicos y que estará en el ordenador del despacho de ese médico. En la captura anterior están todos en el mismo por no sacar una captura, porque es un ejemplo y por si nos puede servir de backup (tenemos que tener siempre en mente la seguridad). Pero yo he utilizado 2 equipos distintos como he comentado, el que dice SID será el de recepción, y el que pone BACKUP es el del Médico1.



Tenemos una base de datos dentro de la recepción en el que tenemos a todos los que van a pasar consulta. Yo esto lo he hecho pensando en un Centro Sanitario de la Seguridad Social y no en un Hospital; pero igualmente nos sirve para cualquier caso modificando determinados aspectos.



Ahora nos toca ir al software en sí. Ya hemos desarrollado un poco lo que son los sistemas, no tenía mucha complicación, es crear los usuarios con sus grupos correspondientes y poco más, lo más complicado es instalar los sistemas en sí, y eso no es que sea muy difícil, aunque depende de la instalación que se vaya a seguir.



El funcionamiento del software sanITas (salud en latín y con ese IT en mayúsculas a conciencia) es tan simple como que espera recibir como parámetros posicionales las opciones -d y -o, que nos servirán para indicar la base de datos que queremos exportar como backup y el archivo output respectivamente.  Si no introduces nada, entonces se hace una llamada a un programa en C++ que básicamente, contiene la función usage().


La ejecución es tan simple como esto; no tiene más.



Y vemos como nos crea la backup de la base de datos que teníamos. Podríamos dejarlo aquí, pero no, vamos a darle más vueltas, vamos a apretar un poco más las tuercas.


Me encanta programar tareas en el crontab para así quitarme yo trabajo, pues aquí vamos a hacer lo mismo para la gente de recepción, vamos a reducir su trabajo y vamos a pasar la ejecución de este script a un crontab para que lo ejecute todos los días a las 23:45 de la noche y tener así una copia de seguridad de cada día para que en caso de pérdida no se pierdan muchos datos.


Pero aún podemos apretar un poco más las tuercas, aún podemos sacar más zumo. Estaría bastante bien dejar unos logs para que, en caso de fallo, saber el qué ha pasado y cualquier recepcionista pueda acceder y comprobarlo. Sobre si pasar los logs a Apache y verlos así en web, eso ya dependerá, yo soy muy escéptico sobre ese tema, aunque es cierto que así lo podrían ver todos los trabajadores del centro sanitario...y los no trabajadores; hay que tener eso en cuenta.

Lo que sí vamos a mover a nuestro Apache será el dump de la base de datos; ojo, que al igual con los logs, podría acceder cualquiera, por eso, en caso de hacerlo, podríamos hacerlo de forma local sin tirar de DNS, que nos facilitaría la vida a nosotros...pero también a los atacantes. Pero lo que deberíais preguntar es...¿por qué lo pasamos a Apache?


Aquí entra en juego el Médico (con el usuario médico1 porque es el médico de la planta 1). Cada mañana a las 09:00 de la mañana se descargará el archivo de backup de la base de datos que tenemos en el otro servidor (SID que representaba al de recepción). Esto es importante porque cuando empecemos con esta implementación de Sanidad Libre, tendremos que hacerlo después de las 09:00 de la mañana para que se genere el archivo y la mañana siguiente el médico pueda descargar el archivo.

Esto también lo haremos por comandos, y para que el médico no tenga que ejecutar nada ni aprender informática, lo pasaremos al script que podéis ver en la captura anterior que se llama import_sql.sh. Pero como se va a tener que ejecutar a las 09:00 de la mañana (cuando llegue el médico a la oficina por ejemplo), no podemos arriesgarnos a que al médico se le olvide ejecutar el script, por lo que la solución es clara ¡¡DE NUEVO AL CRONTAB PARA PROGRAMAR ESTA TAREA!!


Y las 09:01 el médico, con una sencilla consulta, ya podrá ver las consultas que tiene...pero ¡espera! no queremos que el médico tenga que aprender nada extra, vamos a facilitarle el trabajo aún un poco más y vamos a apretarnos las tuercas...vamos a pasarlo a un script esto.


Creamos el script consulta.sh, por lo que solamente tendría que ejecutarlo con ./consulta.sh. Pero vamos a facilitarle el trabajo aún un poco más, supongamos que no sabe ejecutar scripts (algo que no tiene por qué saber), vamos a ponérselo aún más fácil. La ejecución del script la pasamos,mediante un export, a una variable d el sistema.


La tarea queda en algo tan sencillo como ejecutar $consultas, que es la variable que contiene ya la ejecución del script de las consultas. Como veis salen 2 registros, eso es porque en el script hemos indicado, mendiante un "where clause" que muestre al médico de la planta 1, solamente las consultas de su planta.

Pero ¿qué mejora esto?

En primer lugar, ya sabéis que para mí el poder del scripting es mucho mayor que el poder de realizar tareas a manopla. Si encima lo metemos en un crontab para así realizar tareas periódicas con la seguridad de que no se nos va a pasar, mejor que mejor.

De esta forma, pasamos al siguiente planteamiento. Imaginemos que cada médico, para obtener la información en el ordenador del paciente, se tira 3 minutos porque tiene que dar muchos clicks y esperar a que la aplicación (normalmente en Java) haga todo lo que tiene que hacer. 3 minutos que no parecen nada, pero que sumada al tiempo de la consulta, pongamos 7 minutos, hacen 10 minutos por paciente.

Pongamos que cada día, cada médico tenga 40 pacientes por planta (muchas veces vemos plantas en las que solamente hay una persona atendiendo). Eso hacen 400 minutos que son 6 horas y media o un poco más.

Pues bien, con esto, conforme llegue el médico, solamente tendría que ejecutar las variables que tenga como ejecución de los programas y así reducir 3 minutos, ya que estas ejecuciones en sistemas sin interfaz gráfica es instantáneo, por lo que las consultas pasan de 10, a 7 minutos, lo que haría un total de 280 minutos, un poco más de la mitad de los minutos que antes, pero es que esto son algo más de 4 horas y media, es decir, nos hemos quitado, de golpe, 2 horas de trabajo por médico; lo que haría que los médicos tuviesen menos horas de trabajo y así pudiesen estar más descansados para cada consulta y no tan saturados como están.

Pero ojo, que esto que propongo no es una solución ni mucho menos, esto es una ayuda; solamente mediante el reclamo popular de la gente por una sanidad universal y gratuita y pidiendo que se destinen más recursos para la sanidad, podremos solucionar esta situación. Si en lugar de un médico por planta, hay 2, el trabajo se reduce a la mitas y así sucesivamente, por lo que tendríamos gente que vaya con más frecuencia pero por casos menos graves y no por casos graves (hay gente que, a menos que estén muy graves, no van al médico para no pagar una sanidad privada por un resfriado), lo que hace que, a lo mejor tendríamos menos pacientes, pero con casos más graves y difíciles de diagnosticar. Es por eso que es mejor tener más casos y más sencillos; pero por supuesto, con los fondos y recursos suficientes para la sanidad y no recortando lo que da salud a los habitantes de un país.

Finalmente podréis decir que la base de datos o la backup de la base de datos no están cifradas y que estaríamos incumpliendo la protección de datos; y es cierto, pero para eso ya hay soluciones que yo mismo he dado, la herramienta que desarrollé llamada Bárcenas es un ejemplo de cómo podíamos cifrar, con un script, cualquier archivo.

Esto es una prueba más de cómo apostar por el software libre no es una tarea tan complicada como se pinta y que las instituciones de nuestros países pueden hacerlo de forma muy sencilla,solamente hay que querer.

Por último, decir que todos los scripts sobre este proyecto os los dejaré (posiblemente mañana)para que si los queréis tener o incluso mejorarlos, os sintáis libres de hacerlo para así ayudar a la comunidad y a que nuestros países se democraticen.

¿Hackeamos el Mundo? 

domingo, 27 de enero de 2019

Este "Me gusta", no me gusta

Soy muy escéptico con esas metodologías que utilizan el Big Data para analizar qué cosas gustan a la gente en función de lo que se publique. Yo sobre esto divago bastante y reflexiono en función de cómo utilizo yo las redes sociales. Es cierto que todos los usuarios utilizan las redes de la misma forma, pero es algo que, creo, deberíamos de tener en cuenta.



Yo utilizo las redes sociales como Twitter de la siguiente manera. Cuando estoy en la calle, en el metro o en casa pero estoy trabajando y leo en las redes sociales un titular que creo que me puede interesar, le doy a "Me gusta", sí, sin leerlo, pero lo hago por la siguiente cuestión.

No le doy a "Me gusta" porque me guste, no; lo hago para guardarme esa noticia y leerla cuando tenga tiempo. Cuando leo la noticia o el hilo, pueden pasar 2 cosas:

  • Que realmente me guste. Entonces dejo el me gusta y no pasa nada.
  • Que no me guste. En este caso, quito el "Me gusta", aunque lleve 7 días con el me gusta puesto.
Esto creo que puede ser interesante para esas metodologías de Big Data, ya que podemos estar obteniendo resultandos confusos. No tengo información sobre esto, por lo que esto es una mera opinión y son preguntas que lanzo sin datos. No creo que la gran mayoría utilice las redes de esta forma, pero debería ser un porcentaje a tener en cuenta para lograr más precisión.

Si encima logramos enseñar a la gente a utilizar las redes y hacen esto mismo cada vez más, tendremos que tener esto aún más presente para no llegar a datos erróneos.

¿Hackeamos el Mundo?

sábado, 26 de enero de 2019

Charla "Liberando tu seguridad"

Hace unas semanas di una charla que tenía bastante ganas de dar, ya que reunía ahí varias charlas que he dado o que tenía pensadas dar. Es una charla larga, de más de 2 horas en la que hablaba sobre cómo liberar nuestra seguridad utilizando software libre y apostando por modelos democráticos. Cogí los Derechos Humanos y la Constitución Española para mostrar por qué muchos puntos no se cumplirían con el uso del software privativo. Posiblemente iré desgranando esa charla en el blog también, pues hay cosas que aún no he comentado, pero serán varios posts porque la charla es larga y densa.


Aquí os dejo las diapos en pdf por si queréis ver más o menos de qué hablé.

¿Hackeamos el Mundo?

viernes, 25 de enero de 2019

Un "juego" explicativo de modelos económicos

Hoy en día, en plena era de la información, tenemos que realizar una lucha para llegar a la época de la razón; tenemos información pero no hacemos uso de la razón. Esto se evidencia con hechos como las Fake News, donde se utiliza la información manipulada para cambiar la visión y el pensamiento de personas que no han usado la razón y que no han comprobado los datos.


En economía pasa más o menos lo mismo, más que la razón se utilizan falacias clásicas como el de apelación a la autoridad. Si lo dice un banco, es una autoridad, será verdad, aunque se esté hablando de un artículo publicado por el Banco X en la web del banco X, por lo que no habría pasado la "revisión por pares", es decir, que un estudio lo revisen 2 o más personas o entidades científicas cualificadas.

Con esta disposición, di una charla sobre Software Libre y Derechos Humanos en la que enseñé cómo programar "un pequeño juego" que no era más que un software en C++ para realizar cálculos más rápidamente de un modelo matemático-económico.

Aquí tenéis el repositorio, este lo dejaré solamente en GitHub.


Lo primero es compilar el código ya que es C++.


Estas son las normas del "juego". Son simples, tenemos que escoger entre 3 políticas económicas que son de sin pago de impuestos, con reparto de riqueza y fijación smi además de subida de salarios o con reparto de riqueza, igual fijación de smi y comprobación de que se cumple y subida de IRPF a rentas altas. Por supuesto el propósito es que los 3 jugadores tengan la mayor riqueza posible tras realizar todos los pagos necesarios de comida, vivienda,etc y que el Estado tenga el mayor presupuesto posible para así realizar políticas sociales como invertir en educación y sanidad pública y el pago de pensiones dignas.


Estos son los resultados que se obtienen tras fijar el salario. Como se observa, con la política 1 (muy parecida a la capitalista), el jugador C (el que menor salario tiene) acaba muerto (riqueza negativa de un mes supone la muerte), mientras que con la segunda política, simplemente subiendo el sueldo fijado por el smi y el reparto de la riqueza a los demás jugadores, vemos que el Estado, pese a dar más, recibe más que en la política 1 y además no muere ningún jugador. Pero en la Política 3 vemos que el presupuesto del Estado es mucho mayor, y la riqueza de los jugadores menor que en la política 3, pero no mucho más, y eso teniendo en cuenta que el pago de impuestos es alto, por ejemplo el IRPF para jugador A que es el que más cobraba(6€/mes) sus impuestos eran del 50%, mientras que para el B, por sus ingresos era del 25% y el jugador C del 12.5%. Las diferencias no son muy grandes, y además el Estado tiene más presupuesto para invertir en el interés general, ya que la riqueza del país dependerán del interés general, por lo que se podría tener mejor Sanidad y Educación pública, y eso que se ahorran los jugadores en la privatización de esos servicios.

Por supuesto, las diferencias del dinero que les queda tras todos los pagos obligatorios, no es mucho, y la riqueza crece por lo que también se podría gastar más, lo que conllevaría mayor ingreso para el Estado. Ah, también se ha bajado el IVA.

A ver, a esto puede hacerle falta más cosas, pero al menos no es decir lo que yo pienso sin más, ha habido un trabajo previo de elaboración de un modelo matemático-económico y un pequeño experimento. Puede no ser correcto, pero al menos tenemos información y se comienza a debatir con hechos y pruebas, pero al menos ha discusión con fundamento, no como la que tenemos hoy en día por desgracia.

¿Hackeamos el Mundo?

jueves, 24 de enero de 2019

Actualización automática mensual en nuestros sistemas GNU/Linux

Alguna que otra vez cuando he recomendado utilizar sistemas GNU/Linux a la gente que conozco, tarde o temprano han comentado que les sorprende que en GNU/Linux no haya actualizaciones automáticas cada X tiempo. Algunos de esos conocidos incluso se han quejado de esto mínimo, y hasta cierto punto lo entiendo.



Es cierto que si el usuario no tiene la costumbre de actualizar cada X tiempo, puede llegar a tener paquetes y el sistema en general desactualizado, lo que puede llevar a problemas de tener paquetes vulnerables y desactualizados.



Para tratar de solucionar esto, yo siempre les digo de crear un script como el que se ve en la captura anterior. Un script que lo que hace básicamente es actualizar tanto el sistema como los paquetes y crear un log con la información de cuándo ha sido la última actualización del sistema.


Lo que nos quedaría sería añadir al crontab una línea como la que se muestra. En mi caso puse que se hiciese una actualización del sistema todos los días 5 de cada mes a las 17:45 horas para tener así una actualización automática del sistema cada mes.


Es una solución bastante sencilla pero útil, y es que el crontab bien usado nos va a ayudar bastante para tareas que queramos automatizar periódicamente como esta.

Esta es una prueba más del potencial que puede tener GNU/Linux, porque decidir cuándo actualizar y asegurarte que se va a hacer cuando tú quieras el día y a la hora que tú quieras es algo que no es posible en Microsoft, podrás seleccionar las horas a las que te gustaría que se actualice, pero poco vas a saber sobre el día exacto, y ya no sólo eso, además puedes cambiar la fecha o el día de una forma tan sencilla como entrar al crontab y cambiar la hora y el día. Así de simple logramos asegurarnos de tener una actualización mensual de nuestro sistema.

¿Hackeamos el Mundo?

miércoles, 23 de enero de 2019

"Cariño ¿me enseñas a programar?"

A comienzos de este año, mi pareja me sorprendió haciéndome la pregunta que tiene por título el post de hoy. Ya os conté que en agosto mi pareja se hizo del team GNU/Linux, y ahora le está dando un poco a la programación. Fue una grata sorpresa para mí, pero parece que quiere hacer ella también sus propias herramientas para automatizar sus tareas.


Yo ahora mismo le estoy enseñando C++ y la programación de scripts en GNU/Linux para que así vea un poco de programación orientada a objetos, y un lenguaje interpretado. Sé que a lo mejor lo ideal para empezar sería por Python, pero aquí si programamos como Richard Stallman manda. 

Lo curioso es que le está pegando bastante fuerte y, para estar aprendiendo, y más con C++, hay veces que hace cosillas con el código que me sorprenden bastante. Le he pedido permiso para enseñar algunos de los códigos que ha realizado ella y me ha dado permiso. Son códigos de ejercicios que le mando hacer para afianzar lo que le he enseñado. Dicho esto, vamos a ver sus primeros códigos.


A ver, hay cosillas que se pueden mejorar sin duda, pero está empezando, entendedlo. En este primer programa, yo le dije que hiciese algo sencillito, que pida 2 valores al usuario y que muestre algunas operaciones aritméticas. 

Yo lo que veo es, para empezar, una ausencia de comentarios bastante grande. Sé que es un código para una tarea muy sencilla, pero precisamente por esta razón los comentarios cobran un sentido mayor. Después también está el tema de declarar, línea por línea cada variable. Queda feo y además hace que haya más líneas cuando en una, podría declarar todas las variables. Algo como esto

int n1,n2, sum=0, diff=0,mult=0,div=0;

Y la verdad es que poco más que destacar. Me hizo gracia ese system para dar una pausa al programa, pero me pareció interesante.


Su ejecución no es muy complicada, basta con compilar (algo que ya sabe ya que es casi lo primero en aprender) con g++ y ejecutarlo. No hay mucho más, hace lo esperado. Pero donde me llevé una sorpresa mayor es en el segundo código.


También le pedí que hiciese ella un ejercicio a su gusto, y creo que este código es un testeo para una especie de calculadora para las cuotas de autónomos que tiene que pagar ella. Me llamó mucho la atención ese system inicial para limpiar la pantalla. Me gustó mucho ya que a mí me gusta que, cuando ejecuto un software, vea por la terminal solamente el software, nada de un ls encima ni nada. Un minipunto por eso.

También valoré positivamente el que incorporase el endl para añadir un espacio. Esto se lo expliqué, pero antes utilizó un \n en lugar de endl, cosa que aquí no, por lo que al menos está testeando varios caminos para obtener el mismo resultado, y eso para mí cuenta mucho.

Pero donde aluciné más es con la parte final, ya que el crear un archivo no se lo he explicado. Es decir, esas líneas las ha tenido que buscar ella por su cuenta, lo que ese aprender por autodidacta cuando es algo que está aprendiendo porque quiere, lo valoro muy pero que muy bien.

Por supuesto le pregunté que por qué hizo eso de crear un fichero. Os trascribo la conversación porque hay algunas cuestiones que no tienen desperdicio:

"Manu: Oye Lucia, he visto tu código para calcular el precio con el iva de un producto
  Lucia: ¿Y qué te parece?
 Manu: Bastante bien en general, sigues sin poner comentarios pero bueno. Solo una pregunta ¿Por qué creaste un fichero?"
 Lucia: ¿Por? No tiene sentido hacer eso que he hecho ¿no?
 Manu: No, no es por eso, es que me ha sorprendido bastante
 Lucia: Pues no sé, es que lo que quería era pasar los precios a un archivo y después manipular ese fichero con un script de linux para ponerlo en una especie de Base de datos, pero no sabía pasarlo a una base de datos, eso me tienes que enseñar"

Por lo visto, lo que quería era es hacer una llamada a ese script del que habla desde C++ con la función system() y que ese script ya pasase los precios a una base de datos. Me parece una idea interesante sin duda. 

Lo que le comenté es que, a lo mejor, necesitaba primero un bucle while en su programa en C++ para ir añadiendo precios sin tener que estar ejecutando el programa cada vez que quiera añadir un precio si los quiere añadir todos a la vez. También le dije que, a lo mejor, sería interesante ejecutar primero un script con una llamada desde system() para que sacase los precios sin aplicarle el IVA de una base de datos en la que tengamos ya los productos y pasar esos precios sin la aplicación del IVA a un archivo que, posteriormente, va a leer el código en C++ para realizar las operaciones necesarias y que pase los resultados a otro archivo. Finalmente, hacer otra llamada a otro script en GNU/Linux que analice estos datos y los pase a la base de datos.

Obviamente es mucho lío para una tarea tan sencilla, pero al menos demuestra la de cosas que puedes hacer si sabes un poco. Es cierto que todo esto lo podrías hacer directamente con un script en bash, pero al fin y al cabo C++ es orientado a objetos, más rápido y de bajo nivel, lo que nos puede aportar importantes ventajas.

Posiblemente apliquemos esta idea a un negocio de unos amigos simplemente para testear si en un negocio real se puede aplicar esto y es óptimo. Ya os iremos contando.

¿Hackeamos el Mundo?

Related Posts Plugin for WordPress, Blogger...

Entrada destacada

El server me sabe a poco.

Soy un fanático del Rock y de Debian . (Creo que voy a inventar Rockbian, que suena bien y todo xD) Llevaba tiempo queriendo unir estos 2 c...