Posts etiquetados como ‘Internet’

Como saber qué equipos de una VPN están vivos

Lunes, marzo 18th, 2013

Tengo una VPN en un equipo en casa montado con OpenVPN. En lugar de buscar a lo bestia con nmap a ver qué equipos están activos, así:

nmap -sP 172.16.0.0/24

Yo he preferido utilizar el fichero ipp con las direcciones en donde están configurados cada equipo, así

sudo cat /etc/openvpn/ipp* | cut -f2 -d, | while read ip ; do ping -c 1 $ip ; done

También podríais utilizar nmap en lugar de ping por si el equipo no quiere responder, pero yo ya sabía qué era lo que buscaba ;)

Se acerca la GUADEC

Martes, julio 3rd, 2012

Efectivamente, la Gnome Users and Developers European Conference 2012, que tendrá lugar en A Coruña, (Spain), comenzará el próximo 26 de julio.

Se espera gente suficiente como para llenar el comedor más grande del Campus de Elviña: el de la Facultad de Económicas.

Y habrá una cena para los que se registen como profesionales, en algún lugar de A Coruña capaz de alojar a toda esta gente, ¡o eso dice la web de la inscripción!

Os animo a ir. E incluso a colaborar.

Problemas de seguridad en Tuenti

Domingo, mayo 29th, 2011

Esto es una noticia de la que no existe un “comunicado oficial” al menos que yo me haya enterado todavía.

Resulta que hace poco han comenzado a salir noticias de una nueva versión de una “beta privada” de la red social Tuenti, esta red social tan popular entre los jóvenes españoles.
Esta “actualización” requiere que el usuario introduzca su email, su contraseña y la contraseña de hotmail, lo que ya de por sí puede levantar muchas sospechas. Además suele venir de un amigo (de un mensaje automático creado por el robo de su cuenta), y no de la misma interfaz de tuenti, además redirigiéndonos a un dominio que nada tiene que ver con tuenti.com
Muchísima gente ha entrado en el link (no sé cuántos habrán introducido sus datos, pero tan solo desde un bit.ly que circulaba, las estadísitcas cuentan 351k visitantes).

Es bastante preocupante la falta de cultura respecto a la seguridad y privacidad que hay por el público general a día de hoy.

Actualmente los dominios que he podido encontrar como causantes de este problema de seguridad han sido tirados por DNS (Error: NXDOMAIN), y a mi no me han mandado el enlace, yo me he enterado por twitter.

Git y svn (Tutorial básico)

Sábado, enero 8th, 2011

He aquí un post bastante técnico. Para ver el “cómo hacerlo funcionar ya”, id hasta el final ;)

Ahora están bastante de moda los sistemas de control de versiones distribuidos, como Git, Mercurial y Bazaar.

No obstante, muchos de nosotros trabajamos en proyectos que, por unas circusntancias u otras utilizan sistemas de control de versiones centralizados.

En mi caso, en la Facultad de Informática de A Coruña tenemos montado un repositorio svn para algunas asignaturas.

SVN “está bien” (según sus defensores), pero según mi humilde opinión, Git lo supera por mucho en bastantes cosas. La primera, que es descentralizado.
He comenzado utilizando Git y por tanto no sé cómo podría hacerse lo que voy a decir con Mercurial o Bazaar; pero esto va a ser, a partir de aquí, un pequeño tutorial de como utilizar git, y como utilizar git con un repositorio svn. Esto está enfocado a sistemas POSIX, aunque la mayor parte es aplicable a la instalación de Git para Windows.

Aviso: Todos los comandos de git tienen entrada en el Manual, y muy buena; a diferencia de los comandos de Subversion, que solo te dicen que si quieres algo vayas a su web.

Para ver la documentación de un comando de git, se pueden hacer dos cosas:

  • o bien preguntárselo elegantemente a git: git init --help
  • o bien acceder directamente al manual, así: man git-init (con un guión en el medio)

La documentación de Git se encuentra en la sección 1 del manual.

Update: Vistas ciertas visitas desde Google, añado lo siguiente aquí como referencia rápida

En git es muy común estar haciendo commits continuamente. Porque como son locales, así se puede tener un control más fino de lo que se está cambiando.
Pero normalmente uno no quiere subir todos esos commits como tales a SVN, sino en su lugar, subir uno con el contenido ya hecho y funcional.

Esto puede lograrse del siguiente modo:

git branch miRamaDesarrollo
# Hacemos cambios al código..
git commit -m “Cambios triviales”
# Más cambios..
git commit -m “Mi gato me ha dado una idea genial para esto”
# Más cambios..
git commit -m “Seguro que ahora ya funciona”

Y cuando todo esté finalizado, para subirlo a SVN, cambiar a la rama master (o a donde lleves tus commits de SVN) y hacer:

git checkout master
git merge –squash miRamaDesarrollo

Esto crea un estado en el INDEX equivalente a hacer un merge de miRamaDesarrollo en master, pero sin hacer el merge, ni actualizar master. En este momento, se puede hacer un git commit para realmente generar un único commit con todos los cambios conjuntos de miRamaDesarrollo.
Luego, un git svn dcommit soluciona la tarea de enviar ese único commit.

Recordad, antes de volver a trabajar en la rama de desarrollo, hacer un git rebase master, para no generar un octopus.

Comandos básicos de Git

git init [-q] [--bare] [--shared=[<permissions>]] [directory]
Crea un repositorio vacío o reinicializa uno que ya exista. Lista de parámetros:

–bare
Crea un repositorio desnudo. Es decir, sin working tree.

Con SVN no vamos a utilizar este comando.

git add [-n] [-v] [--force | -f] [--interactive | -i] [--patch | -p] [--edit | -e] [--all | [--update | -u ]] [--intent-to-add | -N] [--refresh] [--ignore-erors] [--ignore-missing] [--] [<filepattern>...]
Este comando, con la cantidad de flags opcionales que tiene, actualiza el index utilizando el contenido actual del working tree para preparar el contenido en fase de ser versionado.Podeis ver todo lo que se añade y cómo funciona en la págian de manual (puede estar en inglés).

Generalmente se utilizará como git add <files>

git commit [-a | --interactive] [-s] [-v] [-u<mode>] [--amend] [--dry-run] [(-c | -C) <commit>] [-F <file> | -m <msg>] [--reset-author] [--allow-empty] [--allow-empty-message] [--no-verify] [-e] [--author=<author>] [--date=<date>] [--cleanup=<mode>] [--status | --no-status] [--] [[-i | -o]<file>…]

Envía los contenidos del index a un nuevo commit, junto con un mensaje de log con el que el usuario describe los cambios.

El contenido a enviar puede especificarse de los siguientes modos:

  1. utilizando git add para añadir incrementalmente cambios al index antes de utilizar el comando commit (Nota: los archivos modificados deben ser añadidos explícitamente)
  2. utilizando git rm para eliminar archivos del working tree y del index, de nuevo, antes de utilizar el comando commit
  3. listando ficheros como argumentos al comando commit, en cuyo caso el commit ignorará los cambios del index y en su lugar grabará como contenido únicamente los cambios que ocurriesen en los ficheros pasados por parámetro y que ya deben ser conocidos para git (es decir, existían en el commit anterior)
  4. utilizando el switch -a con el comando commit para añadir automáticamente todos los cambios de los archivos ya conocidos (i.e., todos los archivos que están listados en el index) y para borrar automáticamente en el index todos los ficheros que hayan sido borrados del working tree, realizando inmediatamente el commit. (Este es el funcionamiento más parecido a svn commit)
  5. utilizando el switch --interactive con el comando commit para decidir uno a uno, qué archivos deberían ser parte del próximo commit, antes de finalizar la operación. Actualmente esto se implementa llamando primero a git add --interactive.

Si haces un commit y encuentras un error en lo que hiciste inmediatamente después, puedes recuperarlo utilizando git reset.

Podeis ver la lista de opciones en el manual, pero yo querría destacar --amend que nos permite editar el mensaje de log del último commit. Esto no debe hacerse jamás con un commit que haya sido subido (y posiblemente descargado por otra persona), o subido a un svn; pero mientras sean tus cambios privados, git te permite cambiar el log sin problema ninguno. Nota: Esto cambia el CommitID (un registro interno de Git que dice qué commit es padre de cuál).

git mv; git rm
Permiten mover y borrar ficheros. Lo mejor de utilizar esto en lugar de los comandos de las Coreutils, mv y rm es que el cambio se incluye automáticamente en el index. Además git rm permite opciones como [-f | --force] [-n] [-r] [--cached] [--ignore-unmatched] [--quiet]
git fetch
Probablemente no tengais que utilizar esta opción directamente. Se usa para bajarse objetos de un repositorio Git. Pero suele ser más útil que Git lo utilice dentro de comandos como git merge y git rebase
git rebase [-i | --interactive] [options] [--onto <newbase>] &lt:upstream> [<branch>]
git rebase –continue | –skip | –abort

git rebase <base> cambia el commit padre del conjunto de commits nuevos para que sea <base>. Se ve mejor en el ejemplo del manual; digamos que sirve para mantener la “raíz” de tu conjunto de cambios actualizada, si alguien hace un cambio por el medio.

Si la nueva base incluye cambios en ficheros que tú también has modificado habrá que resolver los conflictos antes de terminar. Hay un ejemplo de cómo en el manual. Cuando se haya resuelto un conflicto, git rebase --continue permite seguir con el proceso de rebase. Si uno no quiere tener que resolver conflictos, puede abortar el proceso con git rebase --abort

git merge [-n] [--stat] [--no-commit] [--squash] [-s &t;strategy>] [-X <strategy-option>] [--[no-]-rererere-autoupdate] [-m <msg>] <commit>…
git merge <msg> HAD <commit>…
Incorpora los cambios de un commit con nombre (generalmente una rama) en la rama actual. Se puede crear lo que se llama un “metacommit de mezcla” (merge commit) indicando cuáles eran los padres del commit mezclado
Son intersantes las siguientes opciones:

–commit, –no-commit
Hacer o no, directamente el commit cuando acabe de mezclar las ramas.
–ff, –no-ff
No genera un commit de mezcla si esta puede resolverse como un fast-forward (avance simple en la historia), solo actualiza el puntero de rama para que apunte al último commit. Este es el comportamiento por defecto.
Con –no–ff se genera un commit de mezcla aunque se pudiese resolver como un fast-forward.
–squash
Recrea el working tree y el estado del index como si hubiese ocurrido un merge real, pero no hace el commit, ni mueve HEAD, ni hace que el siguiente comando de git commit cree un commit de mezcla. Esto permite crear un único commit sobre la rama actual cuyo efecto es equivalente a mezclar la otra rama.
–ff-only
Evita mezclas a menos que HEAD esté actualizado o el merge se pueda resolver como un fast-forward.

Comprobaciones anteriores a la mezcla

Antes de aplicar cambios externios, deberías de comprobar que tu trabajo es correcto y se le ha hecho un commit, para que así no ocurran cosas extrañas si hay conflictos.

git log [<options>] [<since>..<until>] [[--] <path>…]
Muestra los logs de uno o más commits. Por ejemplo, git log HEAD~4 muestra todos los cambios desde hace cuatro commits hasta los cambios locales que aún no se han enviado. git log HEAD~4..HEAD muestra los cambios desde hace cuatro commits hasta el último, desechando lo que haya ocurrido ahora en el working tree.
git status [<options>...] [--] [<pathspec>...]
Muestra las rutas que tengan cambios entr el index y el HEAD, rutas que tengan cambios entre el working tree y el index, y rutas en el working tree que no están siendo seguidas por git y tampoco siendo ignoradas por gitignore.
git checkout
Actualiza los ficheros del working tree para que coincidan con la versión del index o del árbol especificado. Típicamente, git checkout actualizará HEAD para poner la rama especificada como rama actual. Tip: Utilizar git checkout -b <rama> crea una rama nueva y la especifica como rama actual. Es equivalente a hacer git branch <rama> && git checkout <rama>
git branch
Lista, crea y borra ramas.
Sin argumentos, lista las ramas del repositorio, siendo la actual la que tiene un asterisco.
Especificando un nombre de rama (que no exista) creará la rama pero no la pondrá como rama actual. Para ello hay que utilizar git checkout.
-m y -M sirven para modificar el nombre de una rama, y -d para borrarla (si ha sido integrada completamente en la rama de la que se creó, o si no hay rama upstream).
-D permite borrar una rama que no haya sido integrada (úsese con precaución!)

Comandos básicos, más o menos ya están. Ahora faltan aquellos que permiten interactuar con SVN.
Si ya habeis utilizado Git en un pasado, no podreis utilizar git push y git pull, pues estos trabajan con repositorios Git, y no está recomendado pasar datos entre repositorios git descentralizadamente, según el manual. El modo recomendado de trabajar es o bien enviar los cambios al svn centralizado o bien utilizando git format-patch y git am.

Comandos para la integración con svn

git svn init [--stdlayout] [--trunk=<trunk_subdir>] [--tags=<tags_subdir>] [--branches=<branches-subdir>] <svn-repo>
Inicializa un repositorio Git a partir de un svn remoto. –stdlayout indica que el repositorio está estructurado con la estructura típica (branches/, tags/, trunk/). Se pueden especificar varias –branches y git las seguirá a todas.
git svn fetch [--localtime] [--parent]
Se baja revisiones nuevas del Subversion remoto que estemos siguiendo.
–localtime guarda los tiempos de los commits de Git en la timezone local en lugar de UTC. Esto hace que git log muestre las mismas fechas que haría svn log para la timezone actual. Esto no interfiere con el repositorio del que has clonado, pero si quieres que tu repositorio pueda interactuar con otro repositorio Git, no deberías utilizar esta opción, o estar ambos en la misma timezone.
git svn rebase
Esto coge revisiones contra el SVN que corresponda con el HEAD actual y hace rebase sobre el contenido del trabajo actual (que aún no se haya subido al SVN) contra las revisiones nuevas.

Esto funciona como svn update o como git pull, si ya has usado git, a excepción de que preserva el historial lineal con git rebase en lugar de git merge para que sea más fácil hacer dcommit con git svn.
al igual que git rebase esto requirere que el working tree esté limpio y no haya cambios sin subir
git svn dcommit
Envía cada cambio directamente al repositorio SVN, y luego hace rebase o reset (según haya un diff entre SVN y la cabeza o no). Esto crea efectivamente una revisión en SVN por cada commit en git. Se puede especificar una revisión o rama, y esto hará que se realice el trabajo como si la cabeza fuese el argumento especificado, en lugar de HEAD.
git reset -r <n> || –revision=<n> [-p | --parent]
Deshace los efectos de fetch hasta la revisión que se especifique. Esto permite volver a hacer fetch de una revisión SVN. Generalmente los contenidos de una revisión de SVN no cambian jamás, y reset no debería ser necesario. Pero si por alguna razón es necesario reparar tu repositorio, el único modo es usar reset.

Todavía tengo que probarlo en profundidad, pero la forma de trabajar debería de ser algo así:

mkdir proyecto
cd proyecto && git svn init https://svn.fic.udc.es/… –stdlayout # tenemos una estructura tags/, branches/, trunk/
git svn fetch –all # cogemos todas las versiones para que git las conozca
git svn rebase # ponemos ‘master’ a la última revisión del svn

git checkout -b mitrabajo # creamos una rama distinta para trabajar en ella
### Trabajamos…
# hacemos incluso algún git commit en la rama mitrabajo para ir versionando cosas…

git checkout master # volvemos a la rama ‘master’ (que por defecto contiene el trunk/)
git svn rebase # comprobamos que no haya más cambios
# mezclamos los nuestros en master

git merge –ff-only –squash mitrabajo # squash mezcla todo el trabajo que hayamos hecho en un único commit
git commit # actualizamos nuestro ‘master’
git svn dcommit # subir los cambios de master al svn

#opcionalmente,
# o bien:

git branch -d mitrabajo # borramos la rama
# o bien la actualizamos con lo que tiene master
git checkout mitrabajo && git merge master
# o bien le hacemos rebase, así
git checkout mitrabajo
git reset –hard master # reseteamos la rama mitrabajo al último commit que hay en master

# Actualizamos el Trac del proyecto
bash sync.sh

LudusParty 2010

Martes, noviembre 30th, 2010

Con una página web que mea sobre la de la Arroutada, por ejemplo (y probablemente muchas más), y con una gente que son mucho más genial que la Asociación AMIGA; la LudusParty 2010 es un evento cultural y de ocio a una escala… en otro orden de magnitud respecto a eventos como la Arroutada (de la que hablo en el post anterior).

Después de un año sabático, por falta de presupuesto por parte del Concello de Lugo (en cuyo blog hubo censurados muchos comentarios), vuelve la LudusParty a hacerse realidad. Este año en la Casa do Deporte, un lugar algo más pequeño, y con una organización un poco diferente.
Por motivos que este bloguero solo sabe en parte, está la Asociación AMIGA (los de la Arroutada) manteniendo la Red, supervisados en todo momento por los organizadores reales del asunto: la compañía Inteligencia Visual.
Estos últimos son unos chicos que trabajan muy bien, aunque si estuviesen mejor rodeados podría dar todavía más de si la Party (véase hace dos años, cuando fueron los de la Euskal los que se contrataron).

Hubo un par de cosas que tal vez habría que mejorar, como que hubiese siempre una máquina de café con café cargado y cafeinado, pero un evento destacable.

La red la proporcionó Telefónica, no se cayó nunca, la LAN tampoco, no llovió, hizo una temperatura bastante agradable (la primera noche 17ºC en el interior, y desde que los cañones de calor caldearon el ambiente siempre entre 20 y 21ºC) (cosa que en la Arroutada no pasó: y que además estaba la puerta abierta para que hiciese frío).

Conocí a Sahib en persona, a quien ya seguía en Twitter, y vi a mucha gente que apenas veo habitualmente…

En resumen, fue una experiencia grata de nuevo, casi como en 2008 que, para mi, hasta ahora fue la mejor edición.

Os dejo un enlace al hilo del foro oficial de “Opinión de la Ludus 2010″, lo mejor y peor, y a la foto de familia:

Arroutada

Miércoles, noviembre 10th, 2010

Dícese de la segunda LAN party más antigua de España (dicen ellos) [Cita requerida].

Ha sido un completo desastre. Es decir, teníamos mesas, con corriente, un cable de red por persona… lo normal.

Del lado técnico, estábamos todos conectados a unos CISCO Core que repartían la salida entre (según me dijeron) “un par” de direcciones IP, sobre dos canales de Fibra Óptica proporcionada por R Cable y Telecomunicaciones Galicia. Sin backup de ningún otro proveedor.

El caso es que cuando nos empezamos a conectar todos, el nodo que alimentaba la zona del Coliseo nos detectó como si fuésemos un DDoS, y se apagó por autoprotección, no dejándonos a nosotros, sino también a toda la zona circundante sin conexión a Internet.

La organización intentó arreglarlo. Pero después de ver que era un problema externo y llamar a R, deberían de haber dejado de tocar cosas. No lo hicieron, y claro.. se cayó la LAN.

Inciso: si no habeis estado en una LAN party, es normal que el primer día pueda caerse Internet (excepto en la Campus Party, porque Telefonica es patrocinador oficial, pero eso es otro asunto); pero la LAN, la Red Local, no puede caerse nunca.

En realidad lo que ocurrió es que se cayeron los servidores que nos daban las IP locales (se llaman Servidores DHCP) y los DNS.

Tardó más de 1h30 en volver la LAN a configurarse y ponerse bien; sin embargo, se había restablecido la conexión a Internet después de tan solo unos 20 minutos (fue hablar con R y ellos reconfiguraron su nodo para que nos admitiese).

Lo sé porque aunque nadie podía conectarse a nada ni jugar ni ver nada, yo sí. Solo había que configurar el adaptador de red de una forma que lo permitiese (estaba caído todo, así que supuse que estábamos conectados más o menos de forma directa, y no había restricción por MAC/IP, porque quien generaba IPs se había caído).

Fue peor el hecho de que se fuese la luz varias veces, en mayor o menor medida (parones que podían variar entre momentáneos y de unos 20 minutos); pues aunque yo solo llevé el portátil (por motivos de transporte) y un par de discos duros externos, mucha gente no; y a un ordenador no le gusta que se le apague sin avisarle.
Del mismo modo, a un disco duro tampoco, y yo perdí más de 10GB por culpa de unos datos que se corrompieron a causa de los problemas eléctricos.

Pero lo peor ya, fue cuando empieza a granizar fuera del Coliseo, cuyo techo había sido reparado el año pasado muy rápidamente para un concierto de Shakira, y empieza a llover dentro, como si fuese fuera, encima de los ordenadores y de los cables de electricidad, de red, y de los servidores (que fueron los mismos que una semana después se utilizaron para retransmitir en Santiago al Papa.

Hubo que cortar la electricidad, pero fueron tan lentos haciéndolo que después de que amainara el temporal (y después de la supervisión del techo por parte de los bomberos) se montó una zona de prueba de equipos a donde había que llevar el ordenador antes de volver a enchufarlo, por si se hubiese cortocircuitado algo.

Volvió a llover fuera (y dentro) otra vez, pero en mucha menor medida (aunque asusta mucho), a mediodía, cuando además mucha gente se había marchado para comer.

A la altura de la lluvia en el Coliseo (en cuestión de mal, quiero decir) estaba la mala organización de la Party en general.
Había torneos oficiales de varios videojuegos, y concursos de programación (Bash Scripting, Demo de fractales y Real Time Battle), y de Hacking: Asalto al Servidor.

En los torneos, vimos el de Pro Evolution Soccer a pantalla gigante, y poco más.
El Asalto al Servidor, los que lo consiguieron no dijeron cómo lo habían hecho; el RealTimeBattle, que es algo visual: es un torneo en el que robots programados pelean entre sí en una arena, y era un concurso oficial no se emitió. Las puntuaciones aparecieron un día en la web interna, porque sí, sin explicación ninguna.

El de Bash Scripting, no se enseñó el código, ni qué hace, ninguno de los códigos.
Huele a algo muy fácil de amañar. Y no es transparente.
No me gustó nada.

Me alegro por @danielkmb2, compañero de facultad, que ganó el de RealTimeBattle, pero no aplaudo a nadie.
Y nadie debería de haberlo hecho.

Conclusiones: cuando organices un concurso, emítelo. Cuando contrates internet para un evento de esta envergadura, contrata un backup con otro proveedor. Simplemente para no quedarte sin nada si falla por algún motivo. Si eres de un sitio, y sabes que el techo de donde tenías pensado quedarte está mal, no lo hagas (lo del Coliseo, lo sabía media Coruña).
Ah y, por favor, no pongas un bar con alcohol y hora feliz como único lugar en el que conseguir un café dentro del recinto.

Porque luego la organización se emborracha, y pasan cosas que no deben.

Yo lo dejo ahí.

Si la organización no cambia, habrá un sitio libre más en la edición del año que viene. Si la hay.

Saludos!

Mi generación

Sábado, octubre 9th, 2010

En respuesta (extremadamente tardía) a RaveN en su Blog.

Yo soy de ‘la generación futura’ entonces.
La remesa de la década de los ’90, del año en que dos días antes de nacer yo, Tim Berners-Lee distribuye por EEUU documentos acerca de una futura red mundial.
El año en el que nació Sonic, mascota de SEGA; el año en el que sale a la venta el prmer ejemplar de Hobby Consolas. El año en el que se estrenó Terminator 2: Judgement Day de James Cameron. Cuando Queen publica Innuendo.

Todo estaba lleno de contenido en 1991, y nostros nos lo estábamos perdiendo, naciendo todavía.

Pero crecimos (unos más, otros un poco menos)

No he tenido la suerte, digamos así, de poder haber programado en una pantalla de fósforo verde (con lo que me habría gustado), pero fui de las primeras generaciones (y creo que de los pocos “niños”) que programó un VTech (aquellos portátiles de juguete con pantalla LCD monocromo) en BASIC.
Pero cuando nací todavía no estábamos conectados a Internet, sino a un servicio nacional que ya nadie recuerda, de nombre Infovía, con un módem de 28.8kbaud/s que hacía un ruido infernal y característico.
Comparto tiempo contigo al ver llegar la tarifa plana de datos (que ahora quieren tarificar por consumo, ¡qué retroceso!).

Con el fracaso escolar, estoy de acuerdo. Se están echando a perder muy mucho la mayor parte de las nuevas generaciones.
Todo esto comenzó con la LOGSE (esto requiere más debate), pero es que desde hace unos años, ocurrió algo antes impensable ¡se empezaban a quejar los profesores universitarios de que llegaban alumnos con faltas gravísimas de ortografía!
Y estos son los mismos que ahora generan contenido online.
Porque lo bueno de la red es que es anárquica, es libre y falta de moderación; y esto es lo que permite también que todo este contenido, que no es filtrado de ninguna forma, acabe siendo visto, lleno de errores que pasan a verse como “normales” (entrecomillado: normales no son, pero tan excesivamente comunes que acaban en mente de cualquiera como algo por lo que no alarmarse).

De todos modos, lo de que la gente lee mucho más..
Hay quien lee, y hay quien no. Quien practica lo suficiente, sabe distinguir entre algo bien escrito y algo que no, y quien no, es porque no lee lo suficiente.

Pero estos que no han distinguido entre bien y mal generarán más contenido, propenso a estar mal formado (aún con buenas ideas), con lo que es imprescindible que de una vez la Administración Pública inste a los políticos, y estos se dignen, a servir al pueblo, a ganarse el sueldo vitalicio del que disfrutan una vez se sientan en una silla del congreso, y a realizar una reforma de la Ley de Educación para mejor.. No para que ellos sigan ganando más veces, comiendo el coco a quienes no les dejan pensar, porque es algo que no se enseña. Sino para llegar al bienestar real.

De como la tecnología cambia mi estilo de vida

Lunes, mayo 10th, 2010
¿Te acuerdas de cuando el teléfono solo servía para llamar?

¿De cuando llegó el móvil, y con ello los SMS (y solo los SMS)?

¿Y de cuando no existían los blogs, o de cuando empezaron, y tú no tenías uno, ni te preocupaba que alguien desconocido te visitase en internet?

¿Y del primer móvil con cámara?

¿… Y del primer móvil que hayas tenido?

¿Te acuerdas de lo bien que suena un vinilo?

¿De cuando te pasabas las noches durmiendo en lugar de estar de madrugada programando?

¿Y de cuando ibas de viaje y no te andabas preocupando por qué fotos subirías a tu red social, foro, a DeviantArt o a Flickr?

¿Te acuerdas de cuando, si tenías música en tu ordenador, era porque la habías ripeado del CD?

Claudia Dans dice que no.

Pero yo francamente creo que esto lo dice para dar rotundidad al post.

Yo sí me acuerdo

Mi primer móvil, a su vez mi primer móvil con cámara, un Sony Ericsson T610, con un botón del infierno a la derecha, en un mundo en el que la conexión móvil a internet era algo que solo unos pocos podían permitirse.
Y hoy, con un HTC Legend, táctil, con Android, cuasi-continuamente conectado, cámara con 5 veces más resolución, WiFi…

Una conexión a Infovía, antes de la conexión a Internet: Una red creada solo para España, por Telefónica. A una velocidad de 28800bauds, que posteriormente subieron a 56k. Con un modem del que todavía recuerdo el ruido que emitía.
Hoy en día la velocidad en mi casa multiplica por 200 a esa velocidad original. Y no es solo a España. Es la Internet global.

Mi primer portátil… Hace menos de un año que tengo portátil por primera vez (quitando los VTech de juguete que eventualmente me fueron regalados, y en los que programaba en BASIC antes de los 10 años). Un MacBook Pro. Con Wifi. Con Bluetooth. Tecnologías de conexión sin cables que tienen menos de la mitad de años que yo.

Mi primera cámara de fotos…, no era mía, era de mi padre; pero yo hice un par de fotos de algún carrete. Una Ricoh SLR con un display LCD que mostraba el número de fotos que le quedaban, el nivel de las pilas y la velocidad de obturación. Y nada más. Palabras como HDR todavía no habían sido siquiera acuñadas.

Siempre he tenido algún reloj de pulsera, desde que tengo memoria. Recuerdo que siempre ha sido digital. El único reloj que me sirve y no es analógico es un Lotus de mi comunión. Los demás, Casios digitales a excepción de uno cuya marca no recuerdo y que me rompió.
Pero el reloj que tenía antes recordaba alarmas o números de teléfono. A día de hoy eso poca utilidad tiene, con tan limitado espacio y tan parca interfaz.
Mi reloj actual, un Casio PAW1500-7V tiene brújula, altímetro, barómetro, 5 alarmas, cuenta atrás, cronómetro, sincronización automática de la hora y del horario de verano, retroiluminación automática, carga solar.., vamos, funciones mucho más cómodas.

Cuando antes, para buscar información tenías que esperar a llegar a casa y buscarlo en un tomo, o ya más tarde, en el ordenador; cuando ahora simplemente dices «Espera que me conecto y te lo digo».

Siempre recordaré los vinilos que mi padre ponía los domingos para levantarnos en el equipo de música, ya hace años. Ahora ha perdido un poco esa costumbre. La calidad de su sonido era impecable, incomparable con los algoritmos con pérdida actuales como el MP3.

De lo que no me acuerdo es de no estar programando en algún momento alguna cosa. Eso sí que.. no ha cambiado nunca para mí.

Pero mi vida no ha cambiado tanto. No ha sido una revolución, ha sido evolución.
Sigo desayunando café con cereales. Cuando iba al colegio desayunaba los cereales con Cola-Cao; pero hará ya 6 años al menos que lo he sustituido por café con leche.

Pero ahora escribo en twitter, en el blog (muy de vez en cuando, pero cuando puedo lo hago), en facebook, en Tuenti.
Me he separado de alguna gente de la infancia, por diversos motivos; de alguna gente más de lo que me gustaría; pero he encontrado nuevas amistades aquí.
Compro y regalo cosas que antes deseaba que me regalasen a mi.
Ya no leo noticias en papel. O al menos, casi nunca.
Tengo portátil (esto ha sido un gran cambio).
El correo electrónico por fin tiene un sentido para mi, y me jode que la gente no sepa utilizar las conversaciones hiladas de Gmail.
Montones de cosas han pasado y experiencias se han vivido.

Y lo que queda por hacer.

Soy de la era digital. Y no volvería atrás. Desde luego, quedan muchas cosas por mejorar, y en el pasado nos podemos apoyar. Pero no para rescatarlo, sino para cambiarlo, mejorarlo, actualizarlo, volverlo más mágico de lo que fue.

Y con mi modificación de una frase de Sir Arthur C. Clarke me despido: «Cualquier tecnología lo suficientemente avanzada será indistinguible de la magia».
Hagamos del futuro algo mágico.

Connection closed.

Día de la Ciencia en la Calle: Mañana.

Sábado, mayo 8th, 2010

Mañana es el día de la Ciencia en la Calle.
Una iniciativa de la alianza de museos de A Coruña que realiza una exposición anual, que cae en el primer sábado después del primer viernes del mes de mayo. Es decir, mañana.

Es un evento en el que facultades e institutos tratan de acercar la ciencia al público general, mediante ejemplos que tratan de ser lo más claros e ilustrativos que pueden sobre algún tema científico o tecnológico.

Nosotros aquí, desde la Facultad de Informática de A Coruña (FIC) vamos a llevar varios proyectos entre los que está muy presente el software libre.

Entre ellos, un coche teledirigido, un proyecto de interfaces modernas (una mesa táctil), realidad aumentada, un stand de software libre, ‘temas’ sobre wifi y seguridad informática (incluyendo probablemente un ataque man-in-the-middle en directo), y una casa domótica.

Más tarde se dará información más particular sobre esto. Que es el día antes y no hay que adelantar acontecimientos.
Así que si no quereis perdéroslo y verlo en primicia, os invito a venir al Parque de Santa Margarita (alrededores de la Casa de las Ciencias) mañana, a cualquier hora del día.

Actualización: Estoy demasiado dormido para escribir sobre este día, así que os remito al blog de Linealibre para mayor información al respecto. Hemos estado programando toda la noche.

Manifiesto En Defensa de los Derechos Fundamentales de Internet

Viernes, diciembre 4th, 2009
En Defensa de los Deechos de Internet (CC-By / Eneko para 20minutos)

En Defensa de los Derechos de Internet (CC-By / Eneko para 20minutos)

Ante la inclusión en el Anteproyecto de Ley de Economía sostenible de modificaciones legislativas que afectan al libre ejercicio de las libertades de expresión, información y el derecho de acceso a la cultura a través de Internet, los periodistas, bloggers, usuarios, profesionales y creadores de internet manifestamos nuestra firme oposición al proyecto, y declaramos que…

1.- Los derechos de autor no pueden situarse por encima de los derechos fundamentales de los ciudadanos, como el derecho a la privacidad, a la seguridad, a la presunción de inocencia, a la tutela judicial efectiva y a la libertad de expresión.

2.- La suspensión de derechos fundamentales es y debe seguir siendo competencia exclusiva del poder judicial. Ni un cierre sin sentencia. Este anteproyecto, en contra de lo establecido en el artículo 20.5 de la Constitución, pone en manos de un órgano no judicial -un organismo dependiente del ministerio de Cultura-, la potestad de impedir a los ciudadanos españoles el acceso a cualquier página web.

3.- La nueva legislación creará inseguridad jurídica en todo el sector tecnológico español, perjudicando uno de los pocos campos de desarrollo y futuro de nuestra economía, entorpeciendo la creación de empresas, introduciendo trabas a la libre competencia y ralentizando su proyección internacional.

4.- La nueva legislación propuesta amenaza a los nuevos creadores y entorpece la creación cultural. Con Internet y los sucesivos avances tecnológicos se ha democratizado extraordinariamente la creación y emisión de contenidos de todo tipo, que ya no provienen prevalentemente de las industrias culturales tradicionales, sino de multitud de fuentes diferentes.

5.- Los autores, como todos los trabajadores, tienen derecho a vivir de su trabajo con nuevas ideas creativas, modelos de negocio y actividades asociadas a sus creaciones. Intentar sostener con cambios legislativos a una industria obsoleta que no sabe adaptarse a este nuevo entorno no es ni justo ni realista. Si su modelo de negocio se basaba en el control de las copias de las obras y en Internet no es posible sin vulnerar derechos fundamentales, deberían buscar otro modelo.

6.- Consideramos que las industrias culturales necesitan para sobrevivir alternativas modernas, eficaces, creíbles y asequibles y que se adecuen a los nuevos usos sociales, en lugar de limitaciones tan desproporcionadas como ineficaces para el fin que dicen perseguir.

7.- Internet debe funcionar de forma libre y sin interferencias políticas auspiciadas por sectores que pretenden perpetuar obsoletos modelos de negocio e imposibilitar que el saber humano siga siendo libre.

8.- Exigimos que el Gobierno garantice por ley la neutralidad de la Red en España, ante cualquier presión que pueda producirse, como marco para el desarrollo de una economía sostenible y realista de cara al futuro.

9.- Proponemos una verdadera reforma del derecho de propiedad intelectual orientada a su fin: devolver a la sociedad el conocimiento, promover el dominio público y limitar los abusos de las entidades gestoras.

10.- En democracia las leyes y sus modificaciones deben aprobarse tras el oportuno debate público y habiendo consultado previamente a todas las partes implicadas. No es de recibo que se realicen cambios legislativos que afectan a derechos fundamentales en una ley no orgánica y que versa sobre otra materia

Este texto se publica multitud de sitios web. Si estás de acuerdo, publícalo también en tu blog.
La imagen, creada por Eneko para 20minutos.es y 20 minutos, tiene licencia Creative Commons. Puedes cogerla y usarla en el medio que desees en apoyo del Manifiesto, firmándola Eneko/20minutos.es