sábado, 22 de septiembre de 2012

¿Qué es el esperanto? - En Yahoo Answers


http://es.answers.yahoo.com/question/index?qid=20120918151853AAw034e


El esperanto es una lengua creada en 1887 con la idea de que fuera idioma internacional auxiliar y fuera utilizado para que se comunicaran personas con distintas lenguas maternas.

El esperanto es una lengua neutra, que no pertenece a ningún estado, y la puede aprender cualquiera, con independencia de dónde haya nacido, pudiendo adquirir una competencia notable en unos pocos meses. Por el contrario, el inglés se ha impuesto por la imposición económico-militar de EEUU y el Reino Unido, y no es que se haya extendido tanto por ser una lengua fácil precisamente.

Además, el esperanto fue creado con idea de ser un idioma internacional, es una lengua planificada, por lo que resulta mucho más fácil de aprender que cualquier otro idioma que ha surgido por evolución natural, al no tener excepciones ni irregularidades, que es lo que más tiempo hace perder al estudiar un idioma.

Contrariamente a lo que mucha gente cree, aunque el creador del esperanto (Zamenhof) hablaba más de diez idiomas, y aunque el esperanto incluye elementos de muchos de estos idiomas, la idea de Zamenhof no era hacer un idioma que estuviera "en el medio" de todas las lenguas, sino que simplemente fue una inteligente y equilibrada combinación de todos los elementos de las lenguas que conocía, para hacer una lengua fácil y apta para la comunicación. Si lees un poco la gramática y ves textos de ejemplos entenderás por qué me parece que está tan bien hecha esta lengua. Hay quien critica que los chinos no se pueden sentir identificados y sobre esto 1) nunca se dijo que el esperanto estuviera cerca de todos los hablantes del mundo; 2) el chino y otras lenguas basadas en ideogramas tienen una dificultad intrínsecamente superior a lenguas basadas en alfabetos reducidos; 3) muchos chinos hablan esperanto, que les resulta más fácil de aprender que cualquier otro idioma.

El aprendizaje del esperanto ayuda en el aprendizaje de otras lenguas (el llamado "valor propedéutico del esperanto"). Se han hecho experimentos con estudiantes y gracias a su estructura lógica y la ausencia de irregularidades, ayuda a las personas a ese salto necesario para hablar idiomas: separar el pensamiento de su expresión.

Hay quien considera que el esperanto ha fracasado. Es fácil llegar a esa conclusión viendo que no sale por televisión, pero obvia que se creó en 1887. Que sigue teniendo hablantes, que ya es decir. Que Internet ha ayudado a su expansión hoy en día. Todo esto siendo que no mueve dinero en un mundo capitalista donde si algo se conoce es porque alguien se lucra con ello.

El esperanto es un proyecto humanista en el sentido amplio de la palabra, admirable desde varios puntos de vista. (Piénsese en el dinero que tiramos a la basura los ciudadanos para pagar traductores de organismos internacionales como la ONU etc). Insisto en que el fracaso del esperanto es equiparable al fracaso en la igualdad de derechos entre hombres y mujeres; al fracaso en la igualdad de derechos entre negros y blancos; al fracaso en la [lucrativa] lucha contra el narcotráfico; al fracaso en la lucha contra la corrupción en nuestros gobernantes en general. No haber llegado lejos no es ir por un mal camino. Parece que vamos despacio porque vamos lejos. :)
Fuente(s):
http://www.esperanto.es
http://www.esperanto.cat

viernes, 21 de septiembre de 2012

Conectando un telefonillo Fermax NR-1732 al teléfono

Voy a ver cómo conecto el telefonillo de casa, un Fermax NR-1732, a algún módem GSM o de línea fija, para cuando no esté en casa recibir una llamada al teléfono y poder atender a quien me esté llamando a casa. Eso es genial cuando estás esperando un paquete y siempre vienen mientras estás trabajando.

lunes, 17 de septiembre de 2012

El diabólico dinero en metálico

Hace tiempo que tengo claro que sería muy conveniente eliminar el dinero en metálico, dejando sólo el dinero telemático.
  1. No se puede defraudar a Hacienda. 
  2. Te evitas los riesgos de seguridad de ir al cajero
  3. Te ahorras la incomodidad de tener que buscar un cajero.
  4. Introduciendo el concepto cheque-factura, por el cual cada transacción monetaria viene etiquetada con el tipo de transacción, la declaración de la renta se hace trivial y por tanto innecesaria.  Al final de cada periodo se sabe qué movimientos ha habido y de qué tipo.
  5. No hay que perder tiempo cambiando
  6. No hay que perder el tiempo verificando que te han devuelto correctamente
  7. No se puede falsificar moneda. No hay que perder el tiempo comprobando que no te entreguen moneda falsa.
  8. No pierdes dinero si te roban o pierdes la cartera
  9. Las máquinas dispensadoras automáticas pueden ser mucho más sencillas si sólo disponen de un tarjetero que si tienen que implementar un sistema de pesado y detección de monedas falsas etc. Por tanto, más baratas.
  10. No hay que proteger el dinero metálico con camiones, guardias de seguridad en cajeros, fortificación de máquinas de cobro
  11. Al manejarse las transacciones electrónicamente, no hace falta alinear el precio de las cosas a fracciones concretas, como 5 céntimos de euro. Por ejemplo, un café puede costar (hoy en día) 70 céntimos de euro en la universidad. Si sube el IVA, pasaría a costar 0.72€. Qué hacer? Bajar a 0.7€ el precio, subirlo a 0.75€, o cobrar usando los incómodos centimillos?  Pagando con tarjeta no importa la precisión usada para el pago.
  12. Es más higiénico.

Críticas: 


¿Y si te roban la tarjeta? ¿Y si un pirata entra en el ordenador?


Hoy en día ya existe el pago con tarjeta y no hay problemas significativos de seguridad en las tarjetas. Mi propuesta no es crear el dinero telemático sino en abolir el dinero metálico.

¿Y si se va la luz o hay un fallo gordo en las redes?


Es una buena pregunta, y exige de soluciones de ingeniería importantes.  En general la luz apenas se va, así como las conexiones a Internet, que no suelen fallar.  Pensemos en la telefonía móvil. ¿Cuántos minutos al año te quedas incomunicado por fallos en la red?

Eso será caro de montar


Seguramente más barato que tener que acuñar moneda, y previamente extraer el mineral etc.

La gente que trabaja con dinero negro se va a oponer


Por supuesto.  Imaginemos los narcos etc.

Cuando pagas con tarjeta siempre te descontrolas con el consumo


Esto seguramente se debe a la falta de costumbre.  Se puede hacer que cada día recibas un mensaje con el balance de lo que te has gastado ese día, lo que te queda, etcétera.  En poco tiempo aprenderíamos a controlar exactamente en qué se nos va el dinero.  No sé tú pero yo ahora mismo no sé cuánto dinero llevo exactamente en la cartera.

Comparte tu wifi

Cada poco tiempo se escucha de gente que ahorra dinero en la conexión a internet efectivamente robándosela al vecino.

A mí siempre me sorprende por qué a la gente se le ocurre antes robar que hablar tranquilamente con su vecino.

Según la relación que haya, y el uso que le vayas a dar, hasta el posible que te la deje gratuitamente.  Si no, desde luego le puedes ofrecer 5-10 € al vecino, y es probable que acepte, porque el dinero siempre viene bien, y si no abusan de tu conexión, no notas absolutamente nada.

¿Qué es abusar de la conexión a Internet?

Básicamente el abuso es saturar el canal de subida.  Los proveedores de Internet te suelen dar una subida muy inferior a la bajada (en mi caso, la décima parte).  Si el canal de subida se satura (cosa fácil activando un p2p con ignorancia o mala leche y no limitando el caudal de subida), la conexión se vuelve bastante inutilizable, pues se introducen retardos excesivos.

Ventajas:

  1. Comparado con tener una conexión propia, ahorras dinero, tú y el que te la comparte, si lo hacéis por una cantidad
  2. Hay menos wifis activas, con lo que:
    1. Todas las wifis van mejor, al haber menos interferencias
    2. Hay menos energía radiada al espacio, y quizá es más saludable.
  3. Reduces los beneficios a los inversores de las compañías telefónicas, que se creen que estar en el sofá mientras les entra el dinero es algo decente.
  4. Comparado con robar la conexión a un vecino, tienes la garantía de que va a funcionar siempre, no sólo hasta que se dé cuenta de que le están engañando.
Inconvenientes
  1. Dependes de otros. Como no tienes la contraseña del rúter, no puedes abrirte puertos si lo necesitas, aunque es algo que no es necesario para la mayoría de usos.
  2. Seguramente no puedes utilizar programas de p2p como sí harías con tu propia conexión
  3. Quizá tu vecino puede ver tus datos
  4. Quizá tu vecino puede cometer una ilegalidad usando tu conexión, que tendería a imputársete a ti 


Hay organizaciones que fomentan la compartición de Internet, e incluso la creación de una red de datos paralela al margen de las grandes compañías. http://guifi.net

jueves, 13 de septiembre de 2012

Jazztel y su juego sucio para que no compartas la conexión

Llevo con Jazztel cosa de un año. Contraté 30 Mbps de canal de bajada y 3.5 Mbps de canal de subida. Cuando configuré el rúter vi que ofrecía la posibilidad de funcionar con varios ESSIDs (nombres de red) distintos.  Además, ofrecía la posibilidad de hacer calidad de servicio (QoS), la habilidad de limitar cuánto ancho de banda se usa para cada cosa.

Así que lo vi claro: creé una red abierta, sin contraseña, que limité en ancho de banda para que sólo pudiera ocuparme 10 kB/s de subida.  El resultado era maravilloso:  al limitar el uso del canal que está realmente limitado (3.5 Mbps de subida vs los 30 Mbps de bajada), yo compartía la conexión sin que me afectase en nada (estaba compartiendo 10 de 350 kB/s).

Hace un par de meses empecé a notar que se me ahogaba la conexión. Lo achacaba a un problema en el rúter, quizá que se calentaba... Notaba que si lo reiniciaba se arreglaba.

Poco después descubrí lo que estaba pasando: los de jazztel, sin decirme nada, y obviamente sin mi consentimiento (que no me pidieron), me degradaron el software que lleva el aparato, de manera que ya no puedo limitar el ancho de banda.

Esto significa que, mientras que puedo dejar una wifi abierta, cualquier listillo puede ponerse a abusar de mi conexión, lo cual no sólo afecta al resto de usuarios de esa wifi abierta (que es lo que les estaría sucediendo antes aunque yo no me enterara), sino que me afectaba a mí.

Conclusión: que he tenido que hacer lo que a ellos les interesa, no compartir la conexión, y hacer que la gente se tenga que dar de alta las suyas propias.

Y yo me pregunto: ¿No estoy pagando 30 Mbps para usarlos como yo quiera?  Cuando voy a una frutería a por un kilo de tomates, ¿me pregunta el frutero si voy a hacer una cena con más gente, para cobrármelos más caros?

Me pareció muy indignante.

Indagando en la web, vi que habían desactivado la opción "enableRtLmt" en la web. He intentado un poco saltarme la restricción pero ha sido inútil. Resulta que tengo en casa un aparato que ejecuta un software que no sé cuál es, que no hace lo que yo quiero, que no puedo yo cambiar, y que me pueden cambiar en cualquier momento. Viva el software libre.

miércoles, 21 de julio de 2010

Fijarse en los valores de retorno: #! /bin/bash -eu

Fijarse en los valores de retorno

Mucha gente piensa que bash no es un lenguaje de programación con el que se pueda hacer nada serio. De sintaxis arcaica y llena de trampas, resulta insufrible hasta que lo dominas un poco. Sin embargo, aunque se está virando hacia lenguajes más modernos, es indudable que bash sigue siendo el lenguaje predominante en tareas de administración de sistemas, copias de seguridad etc., por lo que con frecuencia se manejan con este arqueolenguaje procesos críticos.

El hecho de que muchos scripts provengan de sentencias que se han probado previamente en la consola de manera interactiva hace que muchas veces no prestemos atención a cómo iría la ejecución de manera desatendida.

Una de las cuestiones más ignoradas por los nuevos programadores de bash es el código de retorno de los ejecutables invocados. El mecanismo de señalización es muy sencillo: al terminar su ejecución todo binario nos devuelve un entero de 8 bits que nos indica si se ejecutó correctamente. Cero si fue bien, distinto de cero en caso contrario. Más elegante que poner en cada línea un "if" (mecanismo usado por ejemplo en C estándar por la carencia de soporte a manejo de excepciones), es iniciar los scripts con los modificadores "e" y "u" (#! /bin/bash -eu).

-e

indica al intérprete que debe detenerse en cuanto haya un error en cualquier línea.

Esto me parece de crucial importancia, puesto que con carácter general, si en un script falla uno de sus pasos, no existen garantías de que el resto pueda seguir procesándose correctamente. Esto es especialmente importante si estamos cambiando de directorio, o creando ficheros que utilizaremos posteriormente. Las probabilidades de que la ejecución del script sea correcta a pesar de esos fallos es muy baja.

Si tenemos un script largo que hace un proceso complejo de construcción de software, copias, etc, usando esta opción tenemos la ventaja añadida de que si algo falla no tendremos que buscar en un montón de texto de salida: mostrar el error será lo último que haga.

Programar así nos obliga a pensar en el valor de salida de todo lo que ejecutemos, lo cual en la práctica nos hará ser más conscientes al programar.

Un inconveniente es que si queremos ejecutar sentencias que puedan fallar, y no nos importa, tendremos que añadir "|| true".

-u

hace que al intentar expandir una variable no definida, que se produzca un error.

Si además tenemos la opción anterior, el programa parará por completo (si no, sólo se emitirá una advertencia). Esto es importante porque en caso contrario bash expandirá la variable no definida por una cadena vacía. por ejemplo un simple rm -rf $DIR/* se convertiría en rm -rf /*.

Trampa: Pueden surgir problemas al intentar verificar si una variable está definida (if [ "$var" == ""] no funcionará, pues fallará al intentar expandir la variable). La mejor alternativa que he encontrado hasta el momento es [ "${VAR:-}" == ""  ].

No esperéis que funcione todo perfectamente a la primera al usar estas opciones. A veces hay que hacer ajustes, pero valen la pena.

Por supuesto, si algo falla en tu script, notifícalo a quien te invocó: exit N, donde N > 0.