Crónicas del Terremoto…
Parafraseando a un amigo (Cristián Maureira) también voy a contar mis vivencias en estos días desde poco antes del “MegaTerremoto-Tsunami” y la actualidad… (Saint.. sorry por copiar descaradamente el título… )
Era viernes y como buen viernes tenía ganas de salir, había pasado toda la semana encerrado en casa trabajando en la versión 2.0 del software que realice para mi práctica, tenía que entregar eso más nuevos requerimientos para el lunes 8 de Marzo, por lo tanto estaba algo apurado.. había llegado el Domingo 21 desde Pelluhue (Costa Región del Maule).
Por más ganas que tenía de salir o compartir con seres humanos, me obligue a quedarme y continuar trabajando, después tendría tiempo para hacer cualquier otra cosa.
Eran las 00:00 hrs y me dio flojera continuar programando, por lo que puse música y me puse a cantar, hasta las 00:30 hrs del 27 de Febrero del 2010.. Tomé mi notebook, mis cigarros y fui a acostarme, con la intención de ver alguna película.
Miré que peliculas tenía y la única que no había visto aún era The Fountain (de Darren Aronofsky), busqué insesantemente los subtítulos hasta que encontré los correctos, fui a buscar la última lata de cerveza que me quedaba (Budweiser) y pongo la película.. tan mala suerte, la imagen era de pésima calidad y tenía cortes, por lo que decidí ver algunos capítulos de The Big Bang Theory y Numb3rs. En eso estaba (viendo Numb3rs) cuando de pronto siento un ruido ensordecedor y la cama comienza a moverse… me quedé ahí, pensé y dije.. ya pasará…
Ya pasará me dije por unos instantes, pero eso no ocurría por lo que rápidamente me puse de pie y corrí al umbral de la puerta de mi pieza, todo se movía de un lado al otro, casi no podía estar de pie, la casa sonada y crujía a decibeles increíbles, la mesa del televisor en mi pieza tiene ruedas y comenzó a “pasear” por la casa..
Grité!!, como si en el Boomerang (Montaña Rusa de Fantasilandia) al cubo me encontrará, un sin fin de improperios salían de mi boca, la casa sonaba, las ventanas parecían quebrarse, gritos desde la calle y mi perro corriendo y ladrando en el patio.. todo esto debió ser al rededor de un minuto.
En mi cabeza pasaba un pensamiento.. ¡Que paré!! , pero no ocurría, por lo que rapidamente trate de calcular el tiempo que llevaba el movimiento.. según yo, esto estaba fuera de todo límite por lo que pense que no se detendría. Me apoye en el dintel ya sin sujetarme con fuerza, solo a esperar lo peor.
Finalmente se detuvo después de interminables minutos (después sabriamos que fueron al rededor de 3 minutos donde la tierra liberó 15800000 kilotones de energía). Corrí hacia mi velador, tome mi billetera, celular y el Ipod, y los puse en los bolsillo del short de mi pijama y arranqué a salir de la casa, ya no había luz.
La casa que arriendo en Talca es pequeña, pero el trayecto desde mi pieza a la puerta de callé fue interminable, ahí mi cabeza generó muchos pensamientos fatídicos y apocalípticos, imágenes de la Guerra de los Mundos se me aparecieron, pensando que al salir por la puerta encontraría muchas casas en el suelo y gente muerta, y que tendría que luchar por sobrevivir y que mi familia, en ese momento en Constitución, ya no estaba.
Llegué a la puerta e intenté salir, no pude, la puerta estaba bloqueada pensé, me demoré pero logré recordar que yo mismo le puse una vuelta de llave. Mi casa no tenía reja afuera, por lo que me sentía expuesto dejando la puerta cerrada sin llave. Recordé y corrí a la pieza nuevamente y tomé mis llaves y algo más.. Me di cuenta que no tomé mis cigarros así que los busqué y además tomé la lata de cerveza que no se cayó y volví a la puerta a abrir.
Salí y vi el panorama, no era lo que imaginé, estaba todo en pie, solo sin luz, pero en la calle había un grupo de colegialas que aguantaron (estúpidamente) el terremoto en la calle, dos de ellas estaban desmayadas y el resto histericas, tomé un sorbo de mi cerveza, prendí un cigarro y fui en su ayuda.
Las colegialas corrieron a sus casas, estaban solas, yo me quedé ahí sin saber muy bien que hacer, me di cuenta que hacía frio, volví a la casa y me abrigué. Salí a la calle a ver a mis vecinos, y a ver si alguien me proporcionaba un celular, pues yo no tenía saldo y necesitaba saber de mis padres y de mi polola (en Rengo).
Me encontré con mis vecinos y fuimos todos a una casa donde un auto prendio la radio, una sola emisora transmitiendo.. (gracias a equipos electrógenos) PalomaFM, todos en silencia escuchamos los datos del sismo, 8.8 grado, epicentro en cobquecura, hacia al mar.. Me quedé en silencio, inmediatamente supe que eso implicaba maremoto.
Fui criado en una ciudad con mar, la gente de la costa, sabemos que un movimiento en la tierra, debemos correr a la altura, pero aún así me asusté, mis padres en constitución, amigos en Pellines y otros en Pelluhue, palidecí.
Así paso la noche, sin saber nada de nadie, cuando por arte de magia a las 5:37 am suena mi telefono, raro muy raro, pues lo único que funcionaba a media era Movistar, y Entel (mi compañia) estaba en los suelos. Era mi hermana, estaba bien, pero sola en un cerro en Constitución, ella estaba carreteando cerca del río, vio todo, las 3 olas arrasando a Constitución. Pregunte por mis padres, me dijo que estaban bien, le dije que no se preocuparan por mi, que en Talca estaba todo ok, al menos eso me parecía a mi, pues en el sector donde vivia nada ocurrió, solo se cortó la luz.
Pasan las horas y la paranoia junto con la histeria hace que la gente vea cosas que no son, que la Luna está mas brillante, que hizo mucho calor el día antes y un “te lo dije”… Radio Paloma comienza a ser una fuente de información de toda la Región, pues estaban transmitiendo OverPower, comienzan los llamados de auxilio, de busqueda, de información, estamos todos estupefactos con lo que oímos.
Amanece y me invitan a tomar desayuno, en eso estoy cuando de pronto alguien se acerca a la casa, era mi amigo que estaba en Pelluhue que arrancó ileso junto a su polola y fueron a buscarme…
Continuará………………..
Ayuda a levantar Chile!!! http://www.chileayudachile.cl/
Terremoto en Chile….
Como bien deben saber ocurrió un gigantesco terrmoto en el centro de Chile.. yo lo sobreviví (como es obvio puesto que estoy escribiendo)… solo eso quería avisar que en Talca estamos medianamente bien.. pero si alguien quiere enviar ayuda hagalo a Constitución, Pelluhue, Curanipe, ILoca, Duao.
Saludos
Carta abierta a Google por parte de la FSF
Copy/Paste …
With its purchase of the On2 video compression technology company having been completed on Wednesday February 16, 2010, Google now has the opportunity to make free video formats the standard, freeing the web from both Flash and the proprietary H.264 codec.
Dear Google,
With your purchase of On2, you now own both the world’s largest video site (YouTube) and all the patents behind a new high performance video codec — VP8. Just think what you can achieve by releasing the VP8 codec under an irrevocable royalty-free license and pushing it out to users on YouTube? You can end the web’s dependence on patent-encumbered video formats and proprietary software (Flash).
To sit on this technology or merely use it as a bargaining chip would be a disservice to the free world, while bringing at best limited short-term benefits to your company. To free VP8 without recommending it to YouTube users would be a wasted opportunity and damaging to free software browsers like Firefox. We all want you to do the right thing. Free VP8, and use it on YouTube!
Why this would be amazing
The world would have a new free format unencumbered by software patents. Viewers, video creators, free software developers, hardware makers — everyone — would have another way to distribute video without patents, fees, and restrictions. The free video format Ogg Theora was already at least as good for web video (see a comparison) as its nonfree competitor H.264, and we never did agree with your objections to using it. But since you made the decision to purchase VP8, presumably you’re confident it can meet even those objections, and using it on YouTube is a no-brainer.
You have the leverage to make such free formats a global standard. YouTube is the world’s largest video site, home to nearly every digital video ever made. If YouTube merely offered a free format as an option, that alone would bring support from a slew of device makers and applications.
This ability to offer a free format on YouTube, however, is only a tiny fraction of your real leverage. The real party starts when you begin to encourage users’ browsers to support free formats. There are lots of ways to do this. Our favorite would be for YouTube to switch from Flash to free formats and HTML, offering users with obsolete browsers a plugin or a new browser (free software, of course). Apple has had the mettle to ditch Flash on the iPhone and the iPad — albeit for suspect reasons and using abhorrent methods (DRM) — and this has pushed web developers to make Flash-free alternatives of their pages. You could do the same with YouTube, for better reasons, and it would be a death-blow to Flash’s dominance in web video.
But even some smaller actions would also have an impact. You could interest users with HD videos in free formats, for example, or aggressively invite users to upgrade their browsers (instead of upgrading Flash). Steps like these on YouTube would quickly push browser support for free formats to 50% and beyond, and they would slowly increase the number of people who never bother installing Flash.
If you care about free software and the free web (a movement and medium to which you owe your success) you must take bold action to replace Flash with free standards and free formats. Patented video codecs have already done untold harm to the web and its users, and this will continue until we stop it. Because patent-encumbered formats were costly to incorporate into browsers, a bloated, ill-suited piece of proprietary software (Flash) became the de facto standard for online video. Until we move to free formats, the threat of patent lawsuits and licensing fees hangs over every software developer, video creator, hardware maker, web site and corporation — including you.
You can use your purchase of On2 merely as a bargaining chip to achieve your own private solution to the problem, but that’s both a cop-out and a strategic mistake. Without making VP8 a free format, it’s just another video codec. And what use is another video format with patent-limited browser support? You owe it to the public and to the medium that made you successful to solve this problem, for all of us, forever. Organizations like Xiph, Mozilla, Wikimedia, the FSF, and even On2 itself have recognized the need for free formats and fought hard to make it happen. Now it’s your turn. We’ll know if you do otherwise that your interest is not user freedom on the web, but Google’s dominance.
We all want you to do the right thing. Free VP8, and use it on YouTube!
Reposicionando la marca KDE
Traducción de dot.kde.org
KDE ha cambiado durante estos 13 años. El framework a crecido, madurado y se ha convertido en multiplataforma, como las aplicaciones. Un crecimiento fuerte en nuestra comunidad ha creado una gran diversidad de aplicaciones de gran comunidad.
En el proceso, la identidad de KDE a cambiado desde ser simplemente un entorno de escritorio a reprsentar una comunidad global que crea un muy rico cuerpo de software libre dirigido a todo el mundo.
KDE ya no es software creado por personas, es personas que crean software.
Para comunicar esto de manera clara en nuestro mensaje, es necesario reposicionar la marca KDE para que reflje esta realidad.
Por lo tanto tambien necesitamos distintas marcas para los productos que fabricamos.
Resumen:
- Usaremos simplemente “KDE” y retiraremos la expansión “K Desktop Environment”
- Usaremos KDE exclusivamente en dos significados:
- KDE, la comunidad, quienes crean software libre para usuarios finales
- Como la marca para la tecnología creata por la comunidad KDE
- Usaremos distintas marcas para el software que antes era referido genericamente como “KDE”
- KDE Workspaces sera separadamente referido como “KDE Plasma Desktop” y “KDE Plasma Netbook”
- La tecnología KDE usada para construir aplicaciones será conocida como “KDE Platform”
- Las aplicaciones KDE se quedaran como ahora: “the KDE Applications”
- El producto que actualmente hemos liberado como “KDE 4.3″ es esencialmente una compilación de nuestros software (Workspaces, Applications and Platform), así la siguiente liberación será llamada “KDE Software Compilation 1.4″
Para más info: http://dot.kde.org/2009/11/24/repositioning-kde-brand
Esto es bastante importante, y lo supe hoy en la reunión quincenal de la, aún en formación, comunidad KDE-Chile.
Comenzando con Android IV – Hola Mundo
Después de mucho tiempo sin postear nada… xD
Hasta ahora hemos visto la parte, digamos teórica de una aplicación para la plataforma Android de la que ya muchos se han enamorado, es por eso que ahora les mostraré lo más básico hablando de desarrollo, como hablar en Android, o visto d otro modo como hacer el típico Hola Mundo para esta plataforma.
1.- Creando nuestro proyecto Hola Mundo!!!!
Para este pequeño proyecto usaremos el IDE Eclipse con el plugin para Android como vimos en el primer post de esta serie, una vez abierto nuestro IDE vamos a File -> New -> Project al abrirse el cuadro de dialogo seleccionamos el elemento Android que nos mostrar el texto Android Project, ahora solo presionamos Next, ya en este punto ingresamos la información relevante del proyecto… por ahora solo el nombre xD….
Project Name: Nombre del directorio que contendrá los archivos fuente del proyecto
Package Name: Este es el nombre del paquete que se construirá al generar el “stub” de la “Activity”, este nombre debe ser único y distinto a los ya instalados en el sistema.
Activity Name: Este es el nombre de la clase Activty que crearemos, que será autogenerada por nuestro IDE
Application Name: Nombre de la aplicación, este es el que no hará famosos!!!!
Presionamos Finish y se nos generará el código fuente de nuestra Activity:
public class HelloWorld extends Activity{
/** Called when the activity is first created. */
@Override
public void onCreate(Bundle icicle){
super.onCreate(icicle);
setContentView(R.layout.main);
}
}
Notar que la clase se llama HelloWorld que es el nombre que le puse a la aplicación.
Este código literalmente “hace nada”, es aquí donde debemos “meter mano”
import android.widget.TextView;
public class HolaAndroide extends Activity {
/** Called when the activity is first created. */
@Override public void onCreate(Bundle icicle) {
super.onCreate(icicle);
TextView tv = new TextView(this);
tv.setText("Hola Mundo");
setContentView(tv);
}
}
Aquí hemos modificado un poco el código original agregando lo necesario para que se muestre el mensaje “Hola Mundo“
¿Que hemos hecho?
La primeria linea: “import android.widget.TextView” es la llamada necesaria para poder utilizar la clase TextView, clase que nos permite generar en la Vista un objeto de texto, si has programado aplicaciones gráficas antes con Java, GTK, Qt o algo parecido conoceras un Label, esto es los mismo pero no igual xD.
Lo otro que agregamos fue la creación del TextView: TextView tv = new TextView(this)
Aquí hemos instanciado la clase TextView dejandola en nuestro objeto tv, el argumento del constructor de TextView es una instancia del objeto “Context” que no es mas que un enlace al sistema, la clase Activity nace de Context.
Ahora le indicamos a nuestro objeto tv que texto queremos que despliegue: tv.setText(“Hola Mundo!!!!”);
Ahora conectamos el TextView a la pantalla (es como el show() de GTK o Qt): setContentView(tv);
Ahora ya podremos ejecturarlo y ver resultados, para esto seleccionamos Run > Open Run Dialog que nos mostrara un nuevo cuadro de dialogo, aquí buscamos el elemento Android Application y hacemos doble click para que nos muestre un nuevo elemento New_configuration, en el espacio de texto ingresamos algo que ayude a identificar a la aplicación, por ejemplo “Hola Mundo!!!” y seleccionamos nuestro proyecto con el botón Browse, aquí el plugin buscará todas las Activiy presentes en nuestro proyecto, selecciona del combo box la Activity principal (en este caso la única) y presionar Apply. Ahora solo queda presionar el botón RUN, para que se active el emulador de Android, una vez iniciado se verá nuestra aplicación, algo parecido a esto (puede variar dependiendo de la versión de Android SDK instalada)

Ya hemos dicho nuestras primeras palabras como Androide… algo feas pero son las primeras, todo padre debe sentirse orgulloso de este momento.
Para el proximo post (espero no espaciar tanto los tiempos entre post) veremos como modificar la UI por medio de XML para que se vea algo mejor.
Comentarios, criticas, quejas, dudas, donaciones, adulaciones, odios y otros en los comentarios xD
Saludos
Comenzando con Android III
Bueno, en el post pasado comenzamos a conocer las partes de un programa escrito para Android, hoy continuamos con esto hablando de qué es un IntentReceiver.
Un IntentReceiver puede ser usado cuando se desea que la aplicación se ejecute como respuesta a cierto evento, por ejemplo una llamada, o a cierta hora. Este tipo no crea UI, pero pueden utilizar el NotificationManager para comunicarsele al usuario que ocurre algo. Los IntentReceiver deben ser registrados en el archivo AndroidManifest.xml, pero también pueden ser registrados de manera automática por el propio programa haciendo uso de Context.registerReceiver() función que permite registrar en el archivo AndroidManifest.xml nuestro nuevo IntentReceiver. La aplicación que se diseñe no debe estar necesariamente corriendo para que los IntentReceiver puedan ser llamados, estos son llamados por el sistema inmediatamente cuando el evento dado ocurre.
Otro punto son los Service o servicios, estos son una aplicación que se mantendrá activa por un largo tiempo sin generar UI alguna, por ejemplo, una aplicación para reproducir música desde una lista. En este caso, esta aplicación podría iniciar un servicios y reproducir la música sin manipular la pantalla dejando el campo limpio para otra aplicación. Es posible comunicarse con un Service dado utilizando el método Context.bindService() que incluso “despierta” al servicio dado en caso de que no esté corriendo, la comunicación depende de la interfaz que el servicio entregue.
Y por último, Proveedor de contenidos:
Un ContentProvider es una clase que implementa un conjuto estándar de métodos para que otras aplicaciones alamacenen o recuperen cierto dato. A difierencia de una base de datos que use la aplicación el ContentProvider permite compartir esta información.
Comenzando con Android II..
( Este post es la segunda parte.. el primero lo puedes leer aqui )
Ya sabemos que para poder desarrollar para Android, debemos conocer Java, bueno, Java es un lenguaje de programación orientado a objetos, a diferencia de C++ (por ejemplo), Java tiene un modelo de objetos más simple y elimina algunos errores probocados por el uso de herramientas de bajo nivel (como los punteros).
Mas información en Wikipedia.
(Comentario propio sin anismo de pelear ni nada, solo mi opinión: A pesar de todas las bondades que se dicen de Java, a mi no logra convencerme, a pesar de ser muy usado, ya que a pesar de ser poderoso, me parece que desperdicia recursos, y es “sucio” para programar, a pesar de eso……)
Toda aplicación, consta de ciertas partes que construyen el “esqueleto” para poder entregar el funcionamiento que deseamos, en este caso, el Android SDK nos entrega algunos bloques necesarios para construir una aplicación.
Una aplicación Android se construye a partir de combinar ciertos bloques, Activity, IntentReceiver, Service y ContentProvider, pero obviamente una aplicación no necesita utilizar todos estos componentes.
Actividad:
Una actividad o activity es el bloque central de una aplicación Android, es el bloque más usado. Una actividad representa una pantalla individual de la aplicación. Cada actividad que nuestra aplicación tendrá, se crea desde una clase padre “Activity” (por medio de herencia), así cada clase que creamos despliegua una interfaz de usuario compuesta por Vistas (Views) y que responde a eventos. Lo normal es que creemos aplicaciones que consten de varias pantallas, cada una de estas pantallas debe ser implementada como una Actividad.
Android utiliza una clase especial, “Intent” que permite moverse de una pantalla a otra.
La estructura de datos de un Intent consta de dos partes importántisimas, la acción y los datos sobre los que actuará. Los típicos valores para la acción son “Main”, “View”, “Pick”, “Edit”. Los datos se representan como una URI.
Existe una clase relacionada llamada “IntentFilter“, esta es una descripción de lo que intenta hacer o recibir una Actividad. Los IntentFilter de la Actividad son declarados en el archivo AndroidManifest.xml.
Para que nuestras aplicaciones puedan navegar de pantalla en pantalla, se ejecuta una resolución de intentos. Por ejemplo, para iniciar la navegacion (o navegar hacia adelante), la Actividad correspondiente llama al método startActivity(miIntent) provocando que el sistema revise todos los IntentFilter que conoce y ejecuta aquellas Actividades que tenga como IntentFilter a miIntent. Ahora la nueva actividad es informada del Intent causando que se inicie.
Una Actividad puede reutilizar funcionalidades de otros componentes o puede ser reemplazada en cualquier momento por una nueva Actividad que tenga un IntentFilter equivalente
Eso por ahora.. corto y preciso… en los siguientes posts veremos los bloques restantes IntentReceiver, Service y ContentProvider.
Tags Technorati: Android, Programación

Comenzado con Android en Archlinux.. Primera Parte
Bueno, este es un intento de post (y espero que sea una serie de post) con mi experiencia sobre como comenzar a desarrollar aplicaciones para Android utilizando mi distro favorita… ArchLinux..
La idea es ir poniendo aqui mis impresiones sobre el desarrollo de aplicaciones para Android (si no sabes que es Android… ¿en que mundo vives? ) a medida yo mismo voy aprendiendo… Si bien no me gusta Java (que es principalmente el lenguaje para desarrollar aplicaciones Android), me veo en la obligacion de aprender para poder desarrollar algo interesante.. y que mejor que para dispositivos móviles que tienen un S.O libre… (aunque no estaría mal desarrollar para Maemo también xD)… Se que existe el Android-NDK que permite desarrollar utilizando C/C++ (que me gusta mucho más) pero no he encontrado mucha documentación para generar un ambiente de producción, es decir, para el Android-SDK basta con instalar eclipse, el sdk y un plugin para eclipse… para el NDK no tengo indea xD.
Bueno.. al grano, lo primero es instalar el Android SDK en nuestro pc, para esto:
$ yaourt -S android-sdk
Luego tenemos que instalar eclipse (al que no le guste.. puede utilizar NetBeans aunque el plugin para android no esta tan desarrollado)…
# pacman -S eclipse
Bueno aqui es donde comenzaron mis problemas.. se supone que hay que instalar el plugin android para eclipse (en AUR eclipse-android) pero este me dio problemas, asi que tuve que instalarlo directamente desde eclipse… Para esto primero es necesario instalar otros plugins para hacer funcionar a android…
$ yaourt -S eclipse-wtp-wst
Ahora ya estamos listos… Iniciamos eclipse y vamos al menu Help->Install New Software, se nos abrirá una ventana y añadimos https://dl-ssl.google.com/android/eclipse esto nos mostrará lo que podemos instalar.. le damos a todo y seguimos las instrucciones..
Ahora que ya está todo instalado solo faltan algunas configuraciones… Menú: Window->Preferences->Android aquí debemos indicar la dirección del SDK (/opt/android-sdk ) y ya estamos listos para comenzar a trabajar…
En el siguiente post ya comenzamos con algunas cosas de programación para el dispositivo…
Saludos.
[SW] SSHMenu
SSHMenu es un applet para el panel de Gnome que permite gestionar fácilmente las conexiones SSH a todos tus servidores… con un simple par de clicks… (Para los que dicen que GNU/Linux y sus herramientas son complicadas…
)
Cada opción del menú abre una nueva sesión SSH en una terminal, se pueden organizar grupos de conexiones en diferentes submenús, incluso puedes configurar distintos perfiles de terminales…
Para instalarlo puedes descargarlo desde el sitio oficial
o descargarlo directamente (sitio oficial)
Recomendados I….
Primera entrada de esta sección…
Los destacados de esta semana:
- Manzana Mecánica nos cuenta sobre Vala: Alternativa a C# un lenguaje creado para desarrollar en la plataforma GNOME que genera librerias compatibles con C y tiene sintaxis parecida a C#.
- Python y Ruby son mas divertidos!!! según nos muestran en VivaLinux!
- En cactus digital nos cuentas datos estadísticos sobre el corazón de nuestro pinguino.
- FayerWayer nos muestra trabajo Chileno.. OhMyGeek podcast, además de mostrarnos una de las investigaciones de IBM… chips de ADN
- bit-tech (Inglés) habla sobre WebGL, la tecnología 3D que llegará a nuestros browsers.
- Y como siempre Google no deja de trabajar.. y en Genbeta nos muestran los avances de Caffeine… el nuevo motor de busqueda del gigante.










Se dice en…