Letsencrypt es un servicio gratuito, que permite obtener y automatizar la instalación de certificados SSL válidos (es una autorizad certificadora válida).
El servicio está patrocinado por varias marcas importantes en torno a la web.
Lo bueno es que para un administrador de sistemas, permite obtener gratuitamente los certificados, validando que la obtención se hace desde el servidor al que apunta el dominio que será protegido con el certificado (siempre y cuando sea Linux, desconozco si el script soporta otras plataformas).
Gracias a esta guía, ahora este blog y todos mis sitios ahora están con un bello candadito verde al lado de la URL.
Cabe señalar que la validez del certificado es por 90 días, así que es muy importante automatizar la revalidación del certificado, para lo cual se puede usar un script y el servicio cron.
Hace tiempo he tenido botado este espacio. Ahora vale la pena detenerme un momento y aprovecharlo.
Este semestre pasado tuve el gran deber de cumplir con el último paso para convertirme en profesional: La tesis.
Si bien al principio parecía que tenía todo el tiempo del mundo, conforme se agotaba el plazo, me vi muy limitado a mis asuntos personales. Tanto que ya en las últimas semanas debí suspender mi actividad en un trabajo, debí rechazar algunas ofertas de trabajo muy tentadoras, dejé de lado algunos proyectos personales y lo que más me dolió… limitar el contacto con mis seres queridos más allá del hogar, familiares, amistades… Llegué incluso a tener que desconectarme de todo chat, evitar redes sociales e incluso apagar mi teléfono. Fue triste, pero un sacrificio necesario, porque finalmente logré entregar mi Memoria a tiempo (si alguno está leyendo esto y por alguna razón se molestó por esto, aprovecho de disculparme, dejaré una mención al final de este post). En poco tiempo más daré mi exámen de grado y finalmente podré ser llamado Ingeniero, como mi familia soñó desde que estaba en el vientre. Pero este no es el pequeño gran sueño del que quiero hablar…
Hace varias semanas atrás, antes de desconectarme de todo, alcance a ver una oferta en twitter ( ahora no recuerdo el twit, fue un retweet, si alguna vez encuentro al autor, le daré gracias y si se puede, considérese ganador/a de una chelita creo que @cotecumplido sería la ganadora por este retweet). La oferta apuntaba acá, entonces pensé … «mmm, ya tienes trabajo, no tienes gastos, pero ¿y que pierdo con preguntar?», así que envié mi CV. Pasaron lo días en mi actividad habitual y ya no tomé en cuenta nada más, ni emails, ni twits, ni «inbox», … solo trabajar 24/7 en la Memoria.
Luego, cuando finalmente entregué todo, me dediqué a leer que pasó en el mundo mientras estuve offline, encontrándome con respuestas de Studio Pangea, querían entrevistarse conmigo. Acá es donde las casualidades, destino, fluctuaciones cósmicas o como quieran llamarle, aplicó su magia. Mis entrevistadores (y jefe) resultó ser ex-alumno de mi colegio. Egresó años antes de mí, no lo conocí, pero tenemos algunos personajes en común, por lo cual ya había tenido referencias mías antes de ir. Junto conmigo, ingresó otro compañero de mi jefe, conformando un nuevo grupo de ex-alumnos.
El sueño del que quiero hablar fue una de las motivaciones principales por las que ingresé a mi carrera: Desarrollar videojuegos. Habiéndose presentado esta oportunidad, no podía dejarla pasar. Mientras cursaba mi segundo año en la universidad, encontré de casualidad un proyecto (ahora muerto) donde unos tipos decidieron crear un framework sobre varias bibliotecas libres en C/C++, haciendo un pack instalable en el famoso IDE Dev-C++. El proyecto se llamó GDT (Game Developers Toolkit), paradógicamente con nombre en inglés, mientras el framework estaba desarrollado con clases y métodos escritos en español. Este framework estaba construído sobre Irrlicht 1.2~1.3, que hoy por más que quiera, no compila. Pero en fin, arriesgue mi carrera invirtiendo mucho tiempo en aprender los conceptos del desarrollo de videojuegos, como matemática vectorial y física, pasando también por algunas experiencias en depuración de C/C++, compilación multiplataforma, empaquetado en Linux, principalmente Debian (si… mi principal aporte fue hacer un port de GDT a Linux…), y aprender a usar herramientas de control de proyectos, como la plataforma de SourceForge, con Subversion en ese tiempo. Aunque después ya fue imposible coordinarnos (éramos muy pocos y todos ocupados), finalmente el proyecto quedó desierto. De todos modos fue una rica experiencia.
Luego, mis experiencias de trabajo se fueron orientando hacia la web, donde también encontré muy atractivos los conceptos de las redes sociales, la «web 2.0», la recolección y tratamiento de datos, y la administración de sistemas, tecnologías libres, … el 99% de estas cosas las aprendí por mi mismo, el otro 1% quizás con suerte la oí en un pasillo en la universidad (mentira… ese 1% lo aprendi de algunos ex-compañeros que estuvieron más activos en estos temas en la universidad, pero egresaron mientras cursaba mis primeros años, y el único de mi generación lamentablemente falleció, una lástima).
Mi aporte
Ahora, finalizado mi primera semana dentro de este nuevo trabajo, le tomo el valor a todas esa horas de ocio incomprendidas. Mucho del know-how adquirido por cuenta propia en cuanto a plataformas de trabajo lo compartí en los primeros días, siendo un valioso aporte para darle el kick-off a las tareas del nuevo grupo. Por otro lado, el conocimiento adquirido en mis proyectos personales es la materia prima de mi nuevo puesto. Haber aprendido algunas peculiaridades de C/C++ y Javascript me permiten ahora acostumbrarme rápidamente a los desafíos de los proyectos que hay y los que vienen.
Viéndolo de otra forma, ahora me pagaran por hacer lo mismo que hacía en todas esas horas de ocio intelectual :B, y quizás pueda vivir de ello. WIN.
Sobre Studio Pangea
Si la cosa va como esperamos todos, nos dedicaremos al desarrollo de Videojuegos Móviles (es decir, para smartphones/tablets) y Aplicaciones Interactivas para la Web (en HTML5).
Si bien mi perspectiva personal es ambiciosa (el GRAN sueño es llegar a hacer cosas en 3D para consolas), este primer paso en el mundo móvil no es algo pequeño tampoco. Seguramente, la experiencia que iremos adquiriendo nos ayudará a todos a orientar el barco hacia cosas más grandes. Espero que mis ganas y experiencia esten a la altura de este desafío, porque así como lo dijo mi jefe «si ganamos nosotros, ganamos todos», lo cual también comparto.
Ellos ya tiene 2 juegos subidos a Itunes App Store: Pewen Collector, y Kokoros. Quien sabe… en una de esas los portamos a Android o quizás vengan versiones nuevas, no lo sé aún. Lo que si se es que viene un tercer juego.
No parar de estudiar
¿Alguien creyó que por estar saliendo de la universidad dejé de estudiar? HA HA …
En estos días tuve que buscar (y sigo en ello…) varios libros sobre matemática vectorial, física, programación en distintos lenguajes, … Aprovecharé de desempolvar la colección de documentos que acumulé (recuerden… el ocio y también algo de mal de Diógenes digital) durante mis años de universidad.
Además deberé buscar nuevos libros sobre diseño de videojuegos, usabilidad y varias materias más. Ya sabe entonces que cosa puede ser un regalo útil para su humilde servidor :B
Otras de las palabras de mi jefe: «acá todos estamos aprendiendo» y así será hasta el último día.
El ambiente
En cuanto al ambiente de trabajo, realmente es envidiable. Inicialmente, funcionamos en un ambiente de co-work bastante amplio y acogedor, donde se cruzan personas de distintos proyectos, empresas, nacionalidades y culturas. El UrbanStation, con fotos acá y una nota de fayerwayer acá.
Además de tener mesas con enchufes por todas partes, salas de conferencia, wifi de 1gbps y espacios para trabajar, tener café, galletas y media-lunas a nuestra disposición es simplemente un EPIC WIN.
Otra de las gracias de Urban Station es que es un lugar utilizado como centro de eventos para emprendedores, por lo cual de vez en cuando también se ofrecen charlas y otras actividades a las que uno estando dentro puede asistir.
Igualmente, está planificado emigrar y formar un lugar propio, pero insisto… no está nada mal lo que tenemos.
Estar preparado para lo bueno
Si ha leído todo esto, aun sin comprender todo lo que escribí, se dará cuenta que realmente soy un afortunado.
Pero no todo ha sido por azar, muchas de las cosas que me pasaron para llegar a esto fueron gracias a la suma de varias decisiones (pequeñas y grandes) que fuí tomando desde hace mucho tiempo.
Por lo cual puedo sacar una importante moraleja para lo que viene en mi vida y quizás útil para la suya: Estar preparado para lo bueno.
En mi caso, cosas como haber gastado algunos meses trabajando en cosas que no me acomodaban 100% me ayudaron mucho, gracias a eso pude invertir en un computador ideal para este nuevo trabajo: Un Macbook Pro.
Además, apenas lo compré, ya tenía instaladas varias herramientas de desarrollo que «en el futuro usaría», como XCode, GitX, …
Como mencioné, junté mucho material también para cosas de desarrollo de software y matemática.
Y mi vuelta a la realidad…
Para ser honesto, aun no vuelvo 100% a lo que era mi vida habitual pre-tesis. No he recuperado completamente mis amistades y eso me tiene un poco perturbado. Por lo que he sabido, algunas de mis amistades también se han embarcado en algunas decisiones importantes, otras no lo han pasado del todo bien, así que de todo corazón les envío mi apoyo y espero nos veamos pronto.
Créanme que haberles dicho «no» a sus invitaciones o dejar de conversar por ese tiempo no fue fácil y aunque suene sentimental, realmente llegó ser doloroso. Pero bueno, «sin dolor no te haces feliz».
Por otra parte, hay una persona en particular con la cual tampoco he recuperado 100% lo que había, aun cuando si nos hemos visto algunas cuantas veces, pero en este caso hay algo especial. Mis perspectivas en ciertos asuntos personales han ido madurando, cosa que solo ahora mirando hacia atrás soy capaz de dimensionar. En este caso he sido yo el que se ha estado guardando algunas cosas y espero que pronto pueda crear un espacio adecuado para conversarlo. El tiempo es el problema, porque ni tu ni yo tenemos mucho y son mucha cosas importantes las que lo agotan, pero tarde o temprano habrá tiempo libre en común y espero lo aprovechemos. Estoy profundamente convencido de que las cosas solo pueden ser mejores de acá en adelante, pase lo que pase.
Además, la rutina de ahora adelante es otra, ya los compañeros son otros y las metas otras. Seguramente aun estaré un buen tiempo acostumbrándome. Así que mientras sigo en la tarea personal de recuperar eso que me falta con mis antiguas amistdes, ya comencé haciendo algunas nuevas y seguramente vendrán muchas más.
En Mac OS X, el sistema de archivos nativo usa más allá de simples permisos UNIX clásicos. Como utilizo 3 sistemas operativos, terminé por decidir utilizar una partición comun para documentos en un sistema de archivos que pudiera leer y escribir desde los 3. Concluí que lo mejor para mi caso, era utilizar «HFS+ (sin registro)» (es decir, sin journaling), dado que para Mac OS X es nativo, en windows se puede montar sin problemas con Macdrive y en Linux se puede montar como rw cuando tiene el journaling desactivado.
Lo malo es que para cada sistema, el tema de los permisos sigue tratandose diferente. Por ejemplo, al crear un nuevo archivo o directorio en Mac, el dueño es «gon:staff», mientras que en Linux se crea como «gon:gon». En Windows por otro lado, los nuevos archivos heredan el dueño del directorio, pero además el driver de macdrive le aplica ciertos «flags» extra a cada uno. Estos flags pueden significar «oculto», «inmutable para usuarios», «inmutable para el sistema», entre otras cosas. Esto en realidad no me interesa, me interesa que mis archivos en la particion de DOCUMENTOS sean accesibles entre los 3 sistemas, sin tener conflictos de permisos a la hora de trabajar con ellos.
Los problemas más comunes que tengo es cuando se actualizan archivos en mi Dropbox desde windows, pero luego entro a Mac OS X y no los puedo editar, mover o renombrar porque están con flag de inmutable.
Lo mismo con archivos nuevos que creo en Windows. En Linux el mayor problema que tengo es que no tengo homologados los ids de usuarios y grupos, es decir, que en Linux y Mac el usuario gon tenga el mismo uid y los grupos a los que pertenecen tengan los mismos gid.
Entonces, se me ocurrió meter mano en esto y encontré que el comando adecuado para quitarle los flags a mis archivos es chflags.
Al final agregué 2 detallitos más. En Windows cuando «veo» archivos con nombre «Icon» que terminan en un \r (retorno de carro en mac) dentro de directorios de Dropbox , entonces se confunde y crea otro archivo con nombre «Icon_». El problema es que por esta tontera vuelve a re-recrear varios «Icon_» algo así:
hope:mac gon$ ls -l /Volumes/Documentos/Dropbox/Icon*
-rw-r--r--@ 1 gon staff 0 Jan 15 18:20 /Volumes/Documentos/Dropbox/Icon?
-rw-r--r-- 1 gon staff 0 Jan 15 18:20 /Volumes/Documentos/Dropbox/Icon_
-rw-r--r-- 1 gon staff 0 Jan 15 18:20 /Volumes/Documentos/Dropbox/Icon_~2
-rw-r--r-- 1 gon staff 0 Jan 15 18:20 /Volumes/Documentos/Dropbox/Icon_~2~1
-rw-r--r-- 1 gon staff 0 Jan 15 18:20 /Volumes/Documentos/Dropbox/Icon_~2~1~1
-rw-r--r-- 1 gon staff 0 Jan 15 18:20 /Volumes/Documentos/Dropbox/Icon_~2~1~1~1
-rw-r--r-- 1 gon staff 0 Jan 15 18:20 /Volumes/Documentos/Dropbox/Icon_~2~1~1~1~1
-rw-r--r-- 1 gon staff 0 Jan 15 18:20 /Volumes/Documentos/Dropbox/Icon_~2~1~1~1~1~1
-rw-r--r-- 1 gon staff 0 Jan 15 18:20 /Volumes/Documentos/Dropbox/Icon_~2~1~1~1~1~1~1
-rw-r--r-- 1 gon staff 0 Jan 15 18:20 /Volumes/Documentos/Dropbox/Icon_~2~1~1~1~1~1~1~1
-rw-r--r-- 1 gon staff 0 Jan 15 18:20 /Volumes/Documentos/Dropbox/Icon_~2~1~1~1~1~1~1~1~1
-rw-r--r-- 1 gon staff 0 Jan 15 18:20 /Volumes/Documentos/Dropbox/Icon_~2~1~1~1~1~1~1~1~1~1
-rw-r--r-- 1 gon staff 0 Jan 15 18:20 /Volumes/Documentos/Dropbox/Icon_~2~1~1~1~1~1~1~1~1~1~1
-rw-r--r-- 1 gon staff 0 Jan 15 18:20 /Volumes/Documentos/Dropbox/Icon_~2~1~1~1~1~1~1~1~1~1~1~1
En adelante, el script solución. Lamentablemente, lo que no se es como hacer que chflags cambie varios flags en todos los archivos de una sola vez, es decir, en una sola linea Por suerte encontré como cambiar varios flags en una sola linea, acelerando un poco más la cosa (ya que es un escaneo recursivo de directorios, y harto grande que es el mío):
En el último tiempo, he acumulado algunos términos que simplemente DETESTO que me digan. ¿Soy un odioso? no se que tanto, pero todos tenemos alguna palabra o frase que nos saca del equilibrio acostumbrado.
No suelo escribir cosas como esta. Pero acá atrás no hay un robot que escribe artículos técnicos, hay un ser humano.
Mi top ten inverso (de menor a mayor odio) de las cosas que detesto que me digan o hagan a continuación:
10 «Pero si tu pasas pegado al PC»
¡Seguramente! Estudio y trabajo con ellos todo el tiempo. Dígale «pasas pegado al caballo» a un jinete o «cabeza de musculo» a un deportista y obtendrá la misma cara que le pondré yo si me argumenta «pero si tu pasas pegado al PC».
Como toda actividad que uno desarrolle, es lo que me gusta, pero no por eso estar frente al PC todo el día es algo agradable. Incluso me he dado cuenta que juego muy poco respecto a mis pares, para jugar prefiero las consolas.
Normalmente trato de estar online (chat, IM) la mayor parte del tiempo, porque por alguna razón, las amistades que he desarrollado no están muy cerca. Esto no quiere decir que este frente al PC todo el tiempo, creo que eso es facil de comprender, dado que (supongo) usted es tan ser humano como yo. El conectado es el PC y no la persona detrás.
Agravante: Si usted, así como yo, pasa pegado al messenger o facebook (ahora con lo de los smartphones es así) y me viene a decir «a pero si tu pasas pegado al PC» para tratar de ganarme para que le ayude en algo, le aviso de inmediato que ya perdió.
9 «A yo pensé que eras un <ñoño>»
Conózcame o pregúnteme primero.
Lo que más suelen decirme es «yo pensé que eras capo (inteligente)» o «yo pensé que eras más ñoño». Se supone que esto es un halago, pero me molesta por los contextos. Por alguna razón la mayoría de la gente que me trata, me suele asociar a esta idea y luego me trata como si yo supiera todo lo que ellos quieren saber. Soy persona.
Suelen tacharme de inteligente = ñoño = pasas-pegado-estudiando. Mi inteligencia no está dada en función de cuantas horas estoy leyendo, sino en función de lo que puedo comprender de cualquier cosa que enfrente (con cualquier sentido). Ojala fuese así de ñoño como me han tachado, porque me ha ido bastante mal en muchas materias. Me he salvado por poco. Confieso que soy MAL estudiante, soy impuntual y hasta ahora, me ha costado un mundo completar una tarea.
En toda esa actividad uno invierte muchos recursos (esfuerzo físico, tiempo, malos ratos, …), que son muy poco valorados en el momento.
Lo que si, nadie puede decir, es que soy un inútil, que no aporto, o no se de que estamos hablando. Cuando tengo duda pregunto, cuando me surge la duda después, investigo.
Muchas veces he tenido que decir que «no» a invitaciones por tener alguna responsabilidad impostergable. Aguantese.
8 «Oye, el otro día te vi…» o variante, «Oye el otro día dijiste …»
Si usted me vio en un lugar y me saluda por chat o teléfono días después, mejor ni salude. Si estabamos en el mismo lugar, ¿tanto le costaba acercarse y decirme «hola…»?
En su variante «el otro día dijiste» (caso presencial), usted podría haberme debatido, refutado, alabado, aplaudido o puteado en el mismo lugar ¿que sentido tiene hacerlo después con una pantalla de por medio?
Estos casos más que enojarme, me dan pena.
7 Que me manden cualquier mensaje si estoy cerca
HÁBLEME. O de pena mandándome mensajes.
Al único que se lo aguanto es a mi hermano, estando en la pieza de al lado, porque generalmente lo hace para mandarme algo que no se puede decir (por ejemplo, un link, un documento o una foto), o ya es muy tarde para andarse paseando y tocando la puerta.
6 Que asuman que por alguna razón le debo respeto
El respeto SE GANA, no se impone. Usted puede ser el mayor dictador sobre la tierra, todos le hacen caso, pero usted nunca tendrá certeza de que sus subditos le tienen respeto.
Es bastante fácil ganarse el respeto. Haga cosas que útiles, que impresionen, que hagan que personas como yo se sientan atraídas por lo que hace. Y disfrutelo.
Así como fácil viene, fácil se va también. Si usted aparece en la parada de «me debes respeto» por alguna razón que desconozco, nunca se lo ganará.
5 «Oye, tengo un problema»
Ok, nunca es agradable recibir problemas ajenos, pero depende. Si tengo el deber adquirido de atender el problema, no me puedo quejar. Pero si usted se acuerda de mi Ã?NICAMENTE cuando tiene problemas, mejor olvídese de mi.
Yo se que por mi parte, suelo hablar mucho de mis problemas y comprendo que a veces no sea lo más agradable, pero en mi favor debo decir que los problemas que suelo compartir, son triviales o graciosos en algun grado.
Si previamente acordamos que atenderé sus problemas, omita esto.
4 «Te quiero… como amigo»
Esta ya me la aguante por mucho tiempo. Dígame esto y se acabó la supuesta amistad. Si usted y yo tenemos claro que somos amigos, no hace falta decirlo, porque cuando sale la famosa frasecita, no es un lazo que nos une, es poner un muro que nos separa más.
Evítelo, no soy el único que le enferma. Lamentablemente hay muchos que se lo aguantan. Usted no aguante que le digan esto. Y si se lo dicen, reflexione porque se lo dijeron, aprenda.
Afortunadamente, puedo decir que, aunque me han dicho muchas veces esto, quienes lo han hecho han sido personas honestas y gracias a eso, hemos seguido «igual de amigos» (lo que sea que signifique). Prefiero esto a que se pasen a los siguientes puntos:
3 Que me mientan
A todos les debería molestar que le mientan. En mi caso, hay variantes que me molestan más.
Me molesta que pase mucho tiempo asumiendose una verdad «por alguna razón» y tiempo más tarde darme cuenta que «la razón» aquella nunca existió, por lo tanto la supuesta verdad ¿que tiene de verdad?
Otra es ser testigo de alguien, con quien se tiene confianza, mintiendo descaradamente. Si le miente así a cualquiera, ¿me miente a mi también?
La peor, sin duda, enterarse de algo por terceros. Suelo evitarlo siendo directo con quien trato. Si debo enfrentar algo difícil, lo enfrento a la cara (si es posible) o de inmediato por otros medio. Por lo cual difícilmente usted oirá o leerá de alguién que yo soy un cobarde, porque es mentira. Si alguién le dice que yo soy un cobarde, desconfie.
2 Que hablen a mi espalda
Por lo general no me importa. Lo encuentro penoso. Pero no puedo evitar sentir una molestia cuando me entero (soy humano) que me han bromeado conmigo por alguna razón desconocida.
Pero hay algo que debo confesar. Me levanta el ego saber que hablan de mi (sea bueno o malo lo que diga, porque por último me recordó). Si usted lo hace, debe estar conciente que el único que sale ganando algo soy yo, usted me levanta el ego gratis y usted queda de chismoso.
Por último, sobre este punto, le recuerdo que: «una vez en internet, no sale de internet».
1 Exceso de confianza
Suelo ser muy directo para hablar, pero eso no significa que no sepa cuidar límites. Suelo pedir permiso, decir «por favor» y finalmente dar las gracias. Si toco algún límite, lo respeto y me devuelvo dentro de la linea.
Pero me ha tocado gente MUY confianzuda, que me trata como si me conociera de toda la vida «Weeeeeeena weon oe, como te va loco?» para decirme «Oye, tengo un problema». Mátese.
BONUS: «Perdedor»
Este es imposible que se mueva de posición, por lo tanto lo dejo al lado del top-ten (variable). ES EL PEOR.
¿Conoce usted a Marty McFly (Regreso al futuro)? OK. ¿Recuerda su reacción cuando le dicen gallina? OK. Esa es mi reacción cuando me dicen Perdedor (o me lo insinuan). Si no quiere acabar con un camión de caca encima, evite decirme perdedor.
Yo tengo claro cuando pierdo, pero si usted me gana y me lo enrostra, el perdedor es usted. Simplemente es mucho peor ser un mal ganador que mal perdedor, por lo tanto en ambos casos trato en lo posible de ser humilde. Cuando me ganan aprendo y se admirar las cualidades de quien me ganó. Además SIEMPRE juego a ganador, aunque sepa que hay rivales mejores que yo. SIEMPRE. Conozco mis capacidades y mis límites (y se que las primeras son más que las segundas).
Ahora peor: si usted no le ha ganado a nadie y viene a tratarme de perdedor. En tal caso usted es candidato merecedor de una cirugía dental reestructuradora manual (a.k.a. combo en l’hocico).
Quizás por este motivo es que casi no tengo amigos hombres, no lo se, pero si se que es por actitudes como esta que la mayoría pierde mi respeto.
Me da lo mismo que me digan gallina o cobarde, porque se que es mentira. Eso no me enoja, me da risa.
Llevo años usando Xdebug para hacer depuración de PHP, pero últimamente estoy ocupando algo más.
FirePHP está compuesto de 2 partes, una librería PHP (puede ser usada en versión orientada a objetos o en funciones). La otra parte es una extensión para Firefox (también hay otras extensiones de terceros para otros navegadores, como Google Chrome), que a su vez extiende la funcionalidad de la ya conocida extensión Firebug.
¿Para que sirve?
Firebug añade un panel donde se puede llevar control de varios tipos de error que son detectados por el navegador, sobre todo en tiempo de ejecución como lo es con javascript de las páginas web o también de las mismas extensiones de Firefox.
FirePHP añade algo más. Por el lado de la librería, Firebug es capaz de enviar información de depuración a través de las cabeceras HTTP y no en el contenido (como lo hace el reemplazo de la gestión de errores nativa de PHP que añade Xdebug). Esto tiene varias ventajas, por ejemplo:
Evita que al desplegarse errores sobre el HTML de un sitio, este se descuadre su diseño, o debido al diseño, no pueda verse bien el error en ciertos casos.
Evitar corrupción de datos cuando PHP genera salidas que no son de texto plano, por ejemplo al generar un PDF dinámicamente o imágenes (con php_gd2).
Al hacer peticiones por ajax, donde generalmente uno «no ve» lo que está llegando (con Firebug se puede ver), y por lo tanto tampoco se ve si la salida venía con errores entremedio.
En la misma linea de los 2 puntos anteriores, evita que se corrompa una salida en json o xml al hacer peticiones ajax que vengan con errores.
Por el lado del cliente, añade un filtro a Firebug para detectar estas cabeceras y desplegarlas en la Consola de Firebug.
Además, con un pequeño «hack», se pueden redirigir TODOS los errores estándar que salen por pantalla, a las cabeceras, simplemente con un script (en PHP).
Hermoso, ¿y como lo hago funcionar?
Simple.
En el lado del cliente, instalar las extensiones Firebug y FirePHP.
En el lado del servidor, solo hace falta bajar y e instalar la librería en alguna carpeta que este dentro del include_path de PHP. Eso se puede ver en el php.ini o vía phpinfo().
Listo. Ahora cada vez que se quiera exponer una variable o dato de PHP por la consola de Firebug, es cosa de llamar una función (o método) que provee FirePHP. Al ejecutar el script se verá ese dato en la consola.
Redirigir Errores a las cabeceras
Ahora si además queremos que cualquier error (E_WARNING, E_NOTICE, por ejemplo) se vean a través de la consola de Firebug, entonces además hace falta un hack.
Primero es necesario crear un script php con el siguiente contenido:
Se debe añadir en la configuración de php.ini, en la directiva auto_prepend_file, la ruta directa a un script, llamemoslo «firephp.php». Supongamos que está en c:\www\firephp.php quedaría así:
En conformidad con la Constitución the Debian Project a elegido a Stefano Zacchiroli como nuevo Debian Project Leader para el periodo 2010/2011.
Stefano es Desarrollador Debian desde Marzo del 2001, el contribuye con varios servicios esenciales tales como, Debian’s Package Tracking System y pertenece al Quality Assurance Team. Luego de su elección el declaro: “No puedo estar mas orgulloso de ser un miembro de Debian Project. La cantidad de desarrolladores que tomaron parte de nuestro proceso de elección democrática — candidatos, votantes y participantes de campaña — me hacen muy feliz. Vale decir que estoy un poro asustado ahora, pero puedo asegurar que voy a hacer mi mejor esfuerzo para cubrir las expectativas de todos los colaboradores del Debian Project”.
El project leader saliente, Steve McIntyre, fue electo en el 2008.
Luego de liderar el proyecto por dos años, Steve prefirió no ir por la re-elección.
Steve felicito a Stefano: “Lo e pasado muy bien trabajando para Debian como DPL y estoy mas que feliz seguir trabajando bajo el mando de Stefano.
EL tiene ideas excelentes y realizara un muy buen trabajo.” El proyecto Debian también desea agradecer a Steve por su gran trabajo y sobresaliente compromiso con el proyecto.
Los candidatos de este año fueron Stefano Zacchiroli, Wouter Verhelst, Charles Plessy y Margarita Manterola. Luego de seis semanas de periodo electoral el proyecto Debian eligio a Stefano Zacchiroli para ser su nuevo Debian Project Leader.
Los detalles de las elecciones los puedes encontrar en la siguiente pagina: votación.?
Hace unas semanas gracias a la ayuda de sarah y ryan he estado trabajando solucionando bugs en el sitio Getpersonas.com (El sitio esta hecho en PHP, y el repositorio usa SVN), esto me ha traído devuelta al mundo de los sistemas de control de versiones (Lo que es genial, por que me gustaba caleta hacer commits, y tener todo ordenado, como cuando trabajaba …)
Cuando ya tenia mis permisos de commit listos para el repo SVN, ryan me recomendó git-svn (Lo que también es genial, por que tenia mas experiencia con Git que con SVN). Así que para aprovechar los bytes de este post, pondre mi setup de Git+SVN, algo del workflow diario y lo ultimo con lo que estuve jugando esta semana: ZSH (Aun estoy amando la integracion con Git).
It’s time to start
Montar el repositorio con Git-SVN
La instalación es muy simple, en Ubuntu basta con un
sudo apt-get install git-svn git-core
Ahora comenzamos a clonar el repo, por ejemplo para el repo de getpersonas en mozilla:
mkdir getpersonas && cd getpersonas
# (Donde $REVISION es la ultima revision donde se toco la direccion del repo, si le hacen un svn info http://svn.mozilla.org/projects/getpersonas.com/trunk/ veran “Revision del último cambio”. Si quieren le pueden tirar un git svn fetch a secas, pero se bajara TODAS las revisiones del repo svn, osea que si tienen miles y miles de commits, se volveran locos en pocos minutos)
# Si por algun motivo les pasa que se baja la revision, pero los ficheros no aparecen y el git status les dice que hay cambios hechos, y que son ficherros eliminados, intenten dando un
git reset && git checkout .
Con esto ya estamos listos para comenzar a trabajar
Git branchs, patches, merge y commits al server svn
Para trabajar en los bugs, ryan me recomendo usar un branch local de git, para cada bug. Easy cake.
git checkout -b sumario_bug
Y veremos las magicas palabras “Switched to a new branch ’sumario_bug’”, pueden usar cualquier nombre para la branch local, ojala uno descriptivo para acordarse.
Aquí podemos ir realizando los cambios para arreglar el bug (O meter funcionalidades nuevas, el mundo es suyo). Pueden hacer commits al branch, por ejemplo con git commit -a. Con esto listo, podemos usar format-patch y enviar parches:
git format-patch master -o ~/parches/
Este ultimo comando nos generara un parche git, en el directorio ~/parches. Cuando tengamos aprobados los cambios, podemos hacerle un merge con master (la rama principal):
git checkout master
git merge sumario_bug
git svn rebase
Con esto, cambiamos al branch master, hicimos un merge del branch local sumario_bug (Nota aqui, si hicieron mas de un commit en el branch sumario_bug, y quieren que se refleje como solo un commit en SVN, deberan aplicar el switch –squash al git merge), y con el rebase, bajamos los posibles cambios que tenga el repositorio svn y aplicamos nuestros cambios sobre eso (Atentos si hay problemas con el merge que esto provocara). Si no tuvimos ningun problema al hacer el merge y el rebase, o los solucionamos, estamos listos para hacer commit hacia SVN:
git svn dcommit
Que nos pediria los datos del server svn (En este caso, puedo hacer commit por https con mis datos LDAP)
There, estariamos listos para continuar con otro bug.
Para actualizar el repo podemos usar git svn fetch o git svn rebase (El fetch solo baja los cambios, mientras que el rebase intentara un merge si tenemos cambios en la rama local)
Cosas cools, git stash
Otra herramienta genial en git, seria stash, ponganse en este caso, estan trabajando en un branch, tienen harto trabajo hecho y aun no le dan un commit, y llega un bug feo que hay que solucionar ASAP, tendrian que hacer un commit tipo “Dejo guardado el trabajo en esta rama para trabajar en el desgraciado bug feo”; con stash pueden solucionar esto fácilmente:
git stash save "Bug #1234: Cambiar identacion para que el codigo se vea mas lindo"
git checkout master
git checkout -b bug_desgraciado_asap
[...] Terminaron de trabajar en el bug, le dieron commit y todo el cuento, ahora a trabajar en el branch que teniamos antes
git checkout mi_viejo_branch_ya_no_es_lo_que_era
git stash pop stash@\{0\}
Y aplicara los cambios que teníamos antes de trabajar en el bug feo!
Un poco mas sobre stash seria que, no es necesario pasarle un nombre al git stash save, con git stash list listaran los stash que tienen guardados, con git stash show -p stash@\{0\} u otro numero, mostraran el contenido del stash (Noten que el -p viene de git diff, asi que pueden usar cualquier switch del git diff).
Un pager mas bonito
Cuando hacen un git diff, quizas no les guste mucho, si es así pueden usar otro comando para el pager, por ejemplo most:
# ~/.gitconfig
[...]
[core]
pager = most +s +’/—’
[...]
Necesitaran tener most instalado, la otra gracia que hará, será buscar la línea que comience con — (Que es como git define cada cambio, así que automáticamente llegaran al primer cambio en un git diff por ejemplo).
Finalmente, ZSH
El otro dia netkrash nos contaba en irc que estaba usando zsh con los scripts de Oh My ZSH, que tenía completación de nombres para el kill (Onda kill -9 Adi[tab] buscaba el proceso con ese nombre y extraia el pid), completación de hostnames para ssh|scp, y lo que mas me intereso, integración con git … cuando leí eso ultimo lo instale altiro!
Bueno, la instalacion de ZSH es bien simple:
sudo apt-get install zsh
Luego pueden instalar oh my zsh, el instalador automático bastara (Nota para algunos, NECESITAN tener instalado zsh antes de oh my zsh, aviso por si las moscas …):
wget http://github.com/robbyrussell/oh-my-zsh/raw/master/tools/install.sh -O - | sh
Y ya estan listos, si quieren meter mano en los configs de oh my zsh, pueden hacerlo en .oh-my-zsh. Al momento tengo algunos cambios en mi branch local:
Desactivar el menu de zsh (Para la autocompletacion, me acostumbre al completado como en bash) (Thanks netkrash)
Completacion de hosts ssh|scp segun ~/.ssh/config en vez del known_hosts (Netkrash again)
Completacion de usuarios con uid superior a 1000 (Comunmente usuarios reales), mostrar a root y ocultar a nobody.
El atajo de oh my zsh de git diff (gd), se le pasa mate por un pipe, quite eso por que ya tengo un pager configurado.
Trackear los ficheros de custom/
Tema ‘idk’ para zsh (Para cambiar los temas de zsh basta con cambiar la variable ZSH_THEME en su ~/.zshrc), basado en macovsky y wezm (Incluidos en oh my zsh). Preview.
En fin, si les interesan los cambios, en este tar vienen todos los patches que he aplicado (Pueden crear un branch en .oh-my-zsh con git checkout -b mismods y luego aplican los parches con git am nombreparche.patch)
Me faltaron un poco de fuentes, Viget entregaba un par de tips, muy buenos.
Cuando se necesita cambiar la zona horaria en tu servidor debian (supongo que en distribuciones basadas en él, como lo es ubuntu igual sirve), basta con ejecutar el comando:
dpkg-reconfigure tzdata
Con esto aparecerá un asistente que permite realizar el cambio de forma bastante sencilla. Para el caso de Chile, este 2010 se ha optado por prolongar el cambio de horario hasta abril, de ahi la necesidad de ajustar la zona a una diferente.
Como Documentación personal dejo registro de algo que he hecho en otras oportunidades, pero de lo cual no siempre recuerdo todos los parámetros.
Para quien lea éste artículo, daré solo algunas pautas esenciales para la implementación del protocolo SSL sobre plataformas WEB y el uso de certificados auto firmados.
OBJETIVOS
Comprender la utilidad de usar SSL sobre plataformas WEB y conseguir un sitio https
Entender cuales son los requisitos para que un sitio web sea reconocido como válido por un browser
Comprender como generar y auto firmar un certificado digital.
Configurar Clientes y Servidores para un sitio https auto firmado.
UTILIDAD DE UN SITIO HTTPS
Quien no sea muy entendido, podrá desconocer que cuando son insertados datos dentro de formularios de sitios que solamente usan http, estos datos son enviados en texto claro por la red y pueden ser capturados y utilizados de manera maliciosa por cualquiera que tenga acceso a los equipos de comunicaciones por donde pasan estos datos.
REQUISITOS DE UN SITIO VÄLIDO
Para que un sitio sea reconocido como un sitio seguro válido, debe cumplir con 3 condiciones esenciales:
Contar con un certificado digital válido firmado por una entidad reconocida
El certificado debe ser emitido para el sitio específico.
El certificado del sitio debe contar con una fecha válida (los certificados cuentan con fecha de caducidad)
CERTIFICADOS AUTO FIRMADOS
Cuando se utilizan certificados, estos deberían ser firmados por una entidad reconocida ( C A ) como lo es verisign. Los navegadores tienen registrados una gran cantidad de entidades reconocidas dentro de lo que se conoce como Entidades Raiz de Confianza. Cuando un administrador de sistemas decide generar por si mismos los certificados y también firmarlos, se produce una advertencia por parte del navegador, indicando que la entidad emisora que ha firmado el certificado no es de confianza y que puede tratarse de un certificado inválido o un sitio falsificado.
La manera correcta de habilitar un sitio auto firmado consiste en generar los certificados, firmarlos y hacer que los clientes reconozcan al equipo que los firma como una CA válida dentro de los certificados raíz de confianza
EMISION Y FIRMA DE CERTIFICADOS
A continuación la forma de emitir certificados para la CA y un sitio web utilizando Linux, apache2 y openSSL. ( Fuente Original )
Generando Certificados para la CA.
En mi caso, voy generar una Entidad Emisora de Certificados Llamada zamoranelson.cl, por lo que he de generar los certificados y llaves correspondientes llenando los datos solicitados por openSSL.
Creamos un directorio llamado / etc / apache2/ssl y ejecutamos los siguientes comandos.
En esta sección ya hemos generado y firmado nuestro certificado con la CA zamoranelson.cl para el sitio rodrigo.zamoranelson.cl, el cual será valido también por 10 años.
Importante: Esta configuración es Básica y solo ilustrativa. Los espacios en el < VirtualHost > y / etc / apache2 fueron hechos a propósito para evitar problemas con el código de este artículo y deben ser suprimidos.
Apache en sus configuraciones tiene un parámetro que indica el puerto de escucha, normalmente es el 80, por lo que está definido como Listen 80. En debian está definido dentro del archivo ports.conf, pero en otras distribuciones puede estar en el mismo apache.conf. Para habilitar el puerto 443 tcp, que es el utilizado en https, debemos agregar la linea Listen 443
En este punto, luego de reiniciar apache2 e ingresar la misma contraseña que usamos al generar los certificados, ya deberíamos poder acceder al sitio.
Cada vez que se inicie el servicio, como en el paso anterior, se solicitará la clave asignada. Esta característica fue diseñada por razones de seguridad, es necesaria ya que la llave RSA privada del archivo server.key se encuentra encriptada con ella, sin embargo es posible removerla bajo consideración del administrador. Para remover esta capa de seguridad se deben ejecutar los pasos siguientes.
Enter pass phrase for server.key.orig: **************
Y luego reiniciar apache2.
Lo normal es que el navegador nos advierta que el certificado ha sido emitido y firmado por una entidad desconocida, para corregir este problema, llevaremos el archivo antes generado zamoranelson.cl-ca.crt a los clientes que accederán al sitio. Los archivos .crt son una extensión reconocida por los principales sistemas operativos como un certificado digital, por lo que es probable que baste con hacer doble click sobre él para instalarlo dentro de los certificados raíz de confianza del equipo para que los navegadores ya no desconozcan el certificado como uno auto firmado inválido.
Para evitar este paso, se usan certificados firmados por entidades oficiales como verisign, pero esto tiene un costo asociado.
Hace unos días comentaba con alguien por ahí, los distintos cambios de voz que ha tenido a lo largo de los años el líder de mi banda favorita.
Iron Maiden ha venido en varias ocasiones a Chile y en las últimas, mucho pokemón con aires de maldad joven se ha podido delietar con el tema insigne para abrir conciertos, hablamos de Aces High. Creo que los años no han pasado en vano y a pesar que la voz ya no es la misma, Bruce ha podido adaptarla usando técnicas vocales diferentes, es mas, en el presente si que parece Sirena Anti Aérea .
En el pasado, la voz era bastante distinta y creo que muchos coincidirán conmigo al decir que me hubiese gustado escuchar a Maiden tal como sonaban en la gira World Slavery Tour .
Centrándome en la interpretación de Aces High y haciendo comparaciones de todas las versiones que he oido ( y que son bastantes ), me quedo lejos con la de Polonia en 1984 .
En ningún otro concierto he oido el “Ruuuunnnnnnnn….!!! ” de aces high de esta forma ( Debería haberlo conservado así ) .
Aprovechando los días libres en Santiago, hice lo que quizás hace 6 meses jamás hubiese hecho, ir a un concierto No Metal , esta vez fui a ver a “The Cranberries”… Si, lo se, algunos conocidos me dirán mamón te perdiste el concierto de metallica, pero no me interesa, tenía muy buenas razones para ir .
No soy un seguidor de este grupo, sin embargo algunas canciones las ubicaba, al final, sea como sea, se pasó excelente.
Todo muy ordenado y salvo problemas técnicos en la mitad del concierto (Se apagaron las pantallas gigantes y la amplificación)) y el final abrupto sin despedida ( Creí que saldría a despedirse pero se fueron rápido ).
En resumen, buen concierto y sonido, no conocía el recinto y no resultó un mal lugar después de todo, ya que le tenía poca fe a la acústica de un lugar tan cerrado.
Hola, vengo a escribir el penúltimo articulo del glob del año.
En la parte del año que fue como las wifas (Como lo pronostique a fines del 2008) le lleva:
Me despidieron, el único consuelo es que no fue mi culpa (La empresa murio en mala).
Aún me estan alargando el pago de unas lucas (CTMS, mueranse)
Par de temas personales que no vale la pena mencionar.
Ah, y no pude regalarme nada fancy para navidad (Vease el fail del pago de lucas de más arriba)
Ahora, lo que si me salvo el año :
Trabaje en lo que me gusta por 8 meses.
Aprendí cosas re-entretenidas en la pega.
Me lleve genial con un par de clientes (Gabriela y Jordana, tambien Felipe). Lastima que con otros no tanto …
Conocí gente genial (Team DM, la gabi, el milton, la veny, el vicho, hasta javier; Ex-DM: el cesar ; y el equipo de egipcios, que lo nombro más abajo).
Me llevo mejor con gente que antes consideraba solo conocidos
Primero que nada, gracias a Cesar por la idea de usar git para backups de ahi me vino toda esa git mania
Cuando se trata de sistemas de control de versiones, los primeros que se me vienen a la mente son git y subversion, por motivos de laziness prefiero el primero, por que lo conozco mejor y por que puedo hacer este setup con los ojos vendados (Not really )
Bueno, me ahorrare unas lineas diciendo que este setup:
Usa llaves ssh para la autenticacion de usuarios
Usa un repositorio git para manejar los repositorios de git (Got it?)
Solo usa una cuenta de usuario para el manejo de git
Usaremos el proyecto Gitosis, desarrollado por Tommi Virtanen, como se imaginan el proyecto esta hosteado en git
Nos fuimos:
Paso 1: Instalar Gitosis
Instalamos git y setuptools de python:
apt-get install git-core python-setuptools
Ahora clonamos el codigo fuente de gitosis y lo instalamos:
cd /usr/src/
git clone git://eagain.net/gitosis.git
cd gitosis
python setup.py install
Paso 2: Crear el usuario para git
Creamos el usuario git (puede llamarse como ustedes quieran):
Notar que tiene la contraseña deshabilitada, ya que no es necesaria; y tambien que le dimos una shell valida (Que si es necesaria para que ande gitosis).
Ahora para iniciar la instancia de gitosis, necesitaremos una llave pública RSA, si no tienen una pueden crearla con este comando:
ssh-keygen -t rsa -C janitux
Con nuestra llave lista, la copiamos al server que tendra gitosis, e iniciamos finalmente la creacion de la instancia gitosis:
su -c "/usr/bin/gitosis-init < /tmp/id_rsa.pub" git
Y este comando por si tenemos un bug en python-setuptools:
Y comienza la fiesta, clonamos el repositorio de administracion de gitosis:
git clone git@SERVER:gitosis-admin.git
Y ya estamos listos para administrar nuestros repositorios con gitosis!
Paso 3: Crear Repositorios con gitosis
La administración de gitosis es muy sencilla, basta modificar el fichero gitosis.conf del directorio que clonamos en el paso anterior.
La sintaxis de este fichero se basa en directivas de grupos, se define el grupo, en que repositorios tendrán permisos de escritura o lectura; para más información sobre gitosis.conf ver el fichero example.conf
En fin, en este ejemplo crearemos el grupo ?equipo?, con ?pato? y ?pedro? como miembros del grupo y este grupo tendrá permisos de escritura en los repositorios ?mirepo? y ?repob?. (Nota: el nombre de usuario se determina mediante los ficheros en el directorio keydir, es el nombre del fichero, sin la extensión .pub)
[group equipo]
writable = mirepo repob
members = pato pedro
Tambien tenemos que agregar las llaves publicas de pato y pedro:
Con esto estariamos listos para dar un commit y que se apliquen los cambios:
git add gitosis.conf keydir/
git commit -a -m "Creado grupo equipo, con pato y pedro como miembros, y permiso de escritura en los proyectos mirepo y repob"
git push
Y finally creamos el repositorio con el commit inicial:
mkdir -p ~/Git/mirepo
cd ~/Git/mirepo
git init
git remote add origin git@SERVER:mirepo.git
## Hacer trabajos, agregas ficheros con git add, y haces un commit con git commit -a
git push origin master:refs/heads/master
FINALLY! estamos listos para seguir trabajando con nuestros repositorios git
Mi única recomendación, sean claros con los nombres de sus mensajes en el commit.
Hola, vengo a contarles una pequeña historia, incluye a un cliente puteandome por no poder enviar correos en outlook via GTD y el antispam avenger.
La historia comienza cuando me dicen que el cliente XX tiene un problema con el correo, entonces reviso los logs del server y no veo nada extraño, enviaba correos, recibia correos, todo bien! (Revise bien al pedo, por que estaba un poco ocupado en las jornadas)
Lo que siguio, es que al volver a la vida (Aproximadamente el martes o miercoles, despues de las jornadas), me llama el cliente XX a la oficina, diciendome que ha estado como dos semanas con el problema, que desde su “coso” movil movistar podia enviar correos bien, pero que desde el enlace de <no puedo decir donde estaba> no podia enviar correos. En fin, luego de 5 minutos de tratarme como idiota, me harte y pedi hablar con el encargado del enlace (Mucho más razonable, y realmente entendía lo que yo hablaba ). Despues de hacer un par de pruebas, me fije que los logs decian XXXX hostname, en las sesiones de envio SMTP, y claro, ahí saltaba avenger alegando que tenía que hacer primero un EHLO o sino era spam. Hasta ahí no entendia nada, por que diablos desde una conexión si se enviaban bien los comandos SMTP, y no desde otra; tras googlear un rato, encontre al culpable!
Según vi, los firewalls cisco tienen una función llamada “fixup protocol”, que solo permite que pasen ciertos comandos SMTP, despues de deshabilitarlo, todo volvio a la normalidad
Hoy en las noticias de Debian han anunciado que va a estar disponible un port del kernel de BSD, Squeeze será la primera rama en incluir el nuevo port.
The Debian Release Team is pleased to announce that it sees the port of the Debian system to the FreeBSD kernel fit to be handeld equal with the other release ports. The upcoming release codenamed ‘Squeeze’ is planned to be the first Debian distribution to be released with Linux and FreeBSD kernels.
El Grupo Local de GNOME – GNOME Chile – tiene el agrado de invitar a todos los entusiastas, usuarios y desarrolladores del proyecto GNOME a presentar sus trabajos dentro de la realización del evento del Día GNOME.
El Día GNOME es el evento de difusión del proyecto GNOME, más grande que se organiza a nivel nacional, y desde el año 2006 que se está realizando en diversas ciudades del país, con el objetivo de promover el uso y desarrollo de este ambiente y sus tecnologías.
Esta nueva edición del día GNOME, se desarrollará dentro del Décimo Encuentro Linux y se realizará el día Sábado 24 de Octubre en la Universidad Técnica Federico Santa María, Valparaíso, Chile
Este Sábado 26 de Septiembre se realizará en varias ciudades de chile, el Día del Software Libre.
“El Día de la Libertad del Software es un esfuerzo global de educar al público acerca de la importancia de la Libertad del Software y las virtudes y disponibilidad del Software Libre (Free Software). Los equipos locales de todo el mundo organizan eventos cada tercer sábado de septiembre. El último evento involucró más de 200 equipos de todo el mundo. En nuestro país se realizará el 26 de septiembre, debido a la cercanía de las fiestas patrias.”…
Para esta ocasión DebianChile.cl se hará presente en la sede de Curicó con un Stand, en donde tendremos algunas sorpresas para los asistentes.
El Encuentro Linux es un congreso de carácter internacional que convoca a los profesionales e interesados en el sistema operativo Linux, BSD, código abierto y tecnologías afines. Es la máxima instancia en Chile sobre estos temas, y reúne a profesionales, académicos, estudiantes y empresarios para compartir en charlas, tutoriales, debates y otras actividades.
La presencia y el uso de software basado en código abierto es cada vez mayor, hoy está presente en áreas donde antes no era de uso común. Hoy en día se puede encontrar Linux en una diversa gama de dispositivos: Desde celulares y netbooks, hasta enormes redes sociales que se construyen sobre servidores basados en software código abierto.
Este año se celebra la décima versión del evento, el cual nació como una instancia para reunir a todos los entusiastas de este sistema operativo y del código abierto. Además, permite acercar y difundir el uso de Linux y el código abierto a la comunidad en general.
Invitación
Invitamos desde ya a preparar su trabajo y enviarlo a más tardar el día viernes 03 de julio. Se aceptará el envío de trabajos destinados a charlas o tutoriales (bajo las mismas condiciones). Los trabajos enviados deberán respetar la estructura y limitaciones indicadas en este documento. El envío de los trabajos será vía web, sistema que se habilitará el día 18 de mayo.
El formato de las charlas será de 50 minutos más 10 minutos adicionales destinados a preguntas.
Estructura de la propuesta
1. Título
2. Autor(es), uno de los cuales debe ser el expositor del trabajo.
3. Abstract (Resumen): Breve resumen, de no más de 5 líneas, indicando la principal idea de la charla o tutorial.
4. Keywords (palabras clave)
5. Introducción
6. Motivación: Explicación de porqué su trabajo es de interés para el público objetivo de este congreso.
7. Desarrollo del Tema
8. Referencias
9. Área en la que se centra el trabajo (ver sección ?Áreas Temáticas?)
10. Nivel (Elegir uno de básico, medio o avanzado).
11. Indicar máximo 5 puntos en los que se enfocará la presentación (no el trabajo).
12. Foto del expositor (tamaño pasaporte), una breve reseña biográfica de los autores, y la URL de la página personal o blog (si corresponde)
Condiciones
Los documentos enviados se publicarán en la página permanente del Encuentro. Deben cumplir las siguientes condiciones:
* 3 páginas, sin portada.
* Enviar en formato PDF, independiente del formato de origen.
* Se sugiere utilizar algunos de los templates que se publicarán en nuestra página web (ODF, Latex2e).
* Imágenes u otros materiales anexos sólo como apéndice extraordinario, en un máximo de dos páginas.
* Por cada trabajo se pagará el viaje y la estadía completos para un expositor (si fueran varios autores).
* Es necesario que el expositor se encuentre presente y participe de las actividades del evento.
* El material de apoyo del expositor (típicamente diapositivas) deberá entregarse el 20 de octubre.
Áreas Temáticas
El Décimo Encuentro Linux tiene como eje transversal al sistema operativo Linux y tecnologías de código abierto. También son aceptados temas que compartan estas filosofías, como por ejemplo composiciones artísticas bajo licencia Creative Commons, sistemas operativos de la línea BSD, entre otros. Algunos temas afines son:
* Administración de Sistemas
* Aplicaciones para Celulares
* Cloud Computing
* Desarrollo de Software
* Diseño Multimedia
* Educación y E-Learning
* E-Business
* E-Government
* Computación de Alto Desempeño (Grid, Cluster, Multicore)
* Licenciamiento bajo Copyleft y Creative Commons
* Netbooks
* Open Hardware
* Redes Computacionales
* Redes Sociales y Web 2.0
* Sistemas Operativos Abiertos (Linux, BSD, y otros)
* Videojuegos
Comité de Programa
* Presidente del Comité: Horst H. von Brand, UTFSM.
* Delia Ibacache, UPLA.
* Patricia Trejo, UV.
* Miguel Ruiz, PUCV.
* Samuel Pizarro, DuocUC.
* Arturo A. Hoffstadt, UTFSM.
* Sven von Brand, UTFSM.
Fechas Importantes
La hora límite de todas las fechas, son las 18:00 horas (CLT).
* Apertura del sistema web para envío de trabajos: 18 de mayo.
* Fecha límite de entrega: viernes 03 de julio.
* Publicación de resultados: 07 de agosto.
* Confirmación de asistencia: 14 de agosto.
* Envío de diapositivas o material de presentación y versión definitiva del resumen: 20 de octubre.
* Décimo Encuentro Linux: 22 a 24 de octubre.
Organizan
El Décimo Encuentro Linux es organizado por las siguientes instituciones de educación superior:
Hace unos días tuve un pequeño drama, tenía instalado amsn en una partición con Ubuntu, y necesitaba instalarlo en otro Ubuntu; el problema es que había perdido el deb, y era un build svn de amsn con otros chiches (Ergo, no me daría la paja de bajar el código del svn, buscar plugins extras ni mucho menos instalar las librerías necesarias para compilarlo).
Aquí es cuando llega dpkg-repack a salvarme, hace exactamente lo que necesitaba.
La instalación es muy simple, lo instalan vía apt y luego lo corren como root, el único argumento que necesitan es el nombre del paquete.
Para los alumnos interesados en hacer su practica Profesional, la empresa Emelari esta solicitando un alumno en practica que apoye las funciones del área de informática de su empresa.
Dicha practica durará 3 meses y se cancelara $100.00 por cada mes.
Alumnos interesados comunicarse con la Secretaria del Área de Computación e Informática.
El viernes pasado, se realizó en nuestra dependencias del Área de Computación e Informática, la llamada OSUM Pizza Party, esta actividad fue gestionada por GDSOL ( Grupo de Difusión del Software Libre ) en la cual se tenían que juntar 100 personas en la plataforma OSUM. ( La meta se cumplió en 3 días )
Aparte de la Pizza Party, se realizó una Charla de información respecto a lo que la empresa SUN, ofrece para los universitarios, desde cursos a certificaciones tanto para el alumnado como académicos.
Hoy se recibió el siguiente correo:
==============================
Se solicita a todos los usuarios de la red informática de la Universidad
de Tarapacá tomar la debida atención a la situación que se indica a
continuación:
Gusano ataca a computadores de todo el mundo
Desde ayer 27 de noviembre a partir de las 15:30 horas se detecta un
gusano informático conocido como “conficker” o “downadup”, está atacando
a los computadores de millones de usuarios. Las consecuencias de su
ataque es el colapso en la conexión a internet de los usuarios que se
contagian al acceder a Internet.
Se sugiere la inmediata instalación de un parche disponible por
Microsoft (aquellos equipos con licencia legal).
2.- Actualice su antivirus y completa la seguridad de tu computador con
un firewall o sea activar cortafuegos local en el computador personal
3.- Apague o desconecte su computador de la red por el momento.
Ante cualquier situación contactar a dtisopor@uta.cl o al fono 205976, o
al técnico de soporte informático de su facultad o unidad.
SOLUCION:
—–BEGIN PGP SIGNED MESSAGE—–
Hash: SHA1
Hola:
A nivel central se han aplicado reglas de bloqueo ICMP (ping a cualquier
lado) y bloqueo de los servicio Microsoft para compartir archivo e
impresoras entre InterRedes. El malware se distribuye por el puerto 445.
Mantenerse alerta a cualquier evento.
Aplicar parche sugeridos, verificar que los firewall en lo clientes
estén activos, borrar todas excepciones en el cortafuegos local y
comenzar de nuevo a dar los permisos o excepciones.
Encender o conectar los equipos debido a la situación controlada
Despues de varios vasos de Leche con Chocolate, un par de Googleadas, monodoc, MSDN, tenemos una implementacion del egolatra Hunts.PVM, Implementacion de Paso de Mensajes tipo PVM/MPI en C# :
Requesting a Task from the Master Node
Got Task ID 211
Processing
Processing Task 211
Requesting a Task from the Master Node
Got Task ID 213
Processing
Processing Task 213
Requesting a Task from the Master Node
Got Task ID 215
Processing
Processing Task 215
Interesantemente, ya se desato la 3ra Guerra Mundial, con las increiblemente fundamentadas opiniones de Miguel de Icaza :
OOXML is a superb standard
No importan los trabajos de los comites ISO de los diferentes paises, ni el tremendo lobby de Microsoft para que aprueben su estandar, simplemente es "superb", porque si
Yo me quedo con el siguiente comentario, encontrado en cofradia.org:
El soporte de OOXML para Gnumeric fue escrito durante dos vuelos: Londres-Toronto (aproximadamente 6 horas cada uno). El sopore de ODF tomó muchísimo más tiempo.
A quien creer en este debate? Por un lado: Jody Golberg y yo (Jody ya no trabaja en Novell) y por otro lado un montón de talibanes hocicónes que no tiene experiencia (excepto Stephane Rodriguez, pero Stephane se caga de miedo por que los formatos XML le estropean su fuente de ingresos que era vender código proprietario para acceder a formatos binarios y proprietarios).
Claro, comparando peras y manzanas, la Pera OOXML es simplemente un dump de las estructuras de datos internas de Office (O eso parece), mientras que la Manzana ODF es un formato leible por humanos, claramente uno es mas facil de implementar que otro, pero eso tiene alguna relevancia? No
De hecho me encantaria saber como Jody Golberg implemento "uiCompat97To2003" o "Office Open XML Math" en Gnumeric, siendo que ambas dos no estan definidas en el estandar
Sigue la trifulca por el Acuerdo Microsoft-Gobierno y hay habido respuestas de parte de Microsoft y el Ministerio de Economia, y de hecho una de los peores baldes de agua que quieren echarle al fuego es http://quepasa.cl/medio/articulo/0,0,38039290_101111578_286367795,00.html, veamos :
El acuerdo vulnera el principio de neutralidad tecnológica. Antes que nada ¿existe tal cosa? Las primeras referencias a esto aparecieron en los 70 (la tecnología debe ser neutra y libre de valores. No es buena ni mala, sino lo que importa es cómo la utilizamos). Entre otros, Weizenbaum -desde la computación en 1976- y Ihde -desde la filosofía en 1979- argumentaron que no existe tal neutralidad. Uno no sólo "utiliza" la tecnología, sino que sin quererlo se decide por patrones de comportamiento. Otra cosa es la "imparcialidad tecnológica". El gobierno no debe preferir a priori un sistema o proveedor sobre otro. Se dice que el acuerdo estaría favoreciendo a Microsoft, sin embargo una de las premisas fue que debería ser agnóstico al tipo de soluciones en la administración pública, mediante la utilización de estándares de compatibilidad e interoperabilidad de sistemas. Si no es interoperable, entonces no ha lugar.
Microsoft no es interoperable, es conocido que usa los formatos de archivos y protocolos para mantener a sus usuarios en un "Lock-In" o "Cerrojo", donde Windows, Office y sus tecnologias son casi una Droga para ellos, ya que a pesar de que quieren salirse de la Plataforma, no pueden porque ningun software lee los formatos de Office, ni conocen como estan estructurados. Esto atenta contra el libre mercado, y me encantaria haberlo leido en la revista Que Pasa, en lugar de tener que decirlo yo.
¿El acuerdo obligaría al Estado a utilizar soluciones Microsoft? Tampoco es verdadero. ¿Se podría decir entonces que el Gobierno estaría obligando o incentivando a que pymes, personas y escuelas usen sistemas Microsoft? Tampoco? parte de la imparcialidad tecnológica tiene que ver con que, si una empresa viene y dice "quiero donar plata para ayudar a pymes y personas" uno no tenga por qué decirle que no a priori; igualmente no hay por qué negárselo a ninguna otra empresa ya sea Oracle, Sun, IBM, o RedHat.
¿Microsoft tomaría control de nuestros datos personales? No sólo es legalmente imposible, sino que la idea del portal del ciudadano es que la información llegue a una casilla correo. Si no quiero usar Hotmail, sólo tengo que revisar todo desde mi Gmail. Nadie obliga a nada.
Cierto en parte, pero pongamos las cosas en hechos concretos, Microsoft aca no viene a regalar dulces, nunca lo ha hecho en ningun Pais, y probablemente nunca lo hara, aca vino a expandir su mercado y ganancias, y solo esta haciendo una inversion que poco es comparado con lo que van a ganar a futuro.
El Acuerdo no dice que el Gobierno no usara Windows ni plataformas Microsoft, ni tampoco dice que lo contrario, por ende, si el dinero es de Microsoft, que Sistema Operativo usaran? Dudo que usen Linux, por inercia seguramente usaran Windows y todo lo que eso implica.
De hecho, la Plataforma Live de Microsoft esta creada con tecnologias Microsoft y los servidores solo corren Windows, y los clientes deben ser Windows tambien, ya que dichas paginas estan "Optimizadas" para Internet Explorer, software que solo corre en Windows.
Sabiendo eso, como se puede decir que no obligaran a usar productos Microsoft? No se puede, hacerlo y teniendo evidencias del comportamiento de Microsoft en el pasado, es una irresponsabilidad.
En el Acuerdo tambien se menciona becas para obtener la ICDL, y no se especifica si sera usando Microsoft Office o OpenOffice, pero siempre bajo entorno Windows, si usted le enseña a la gente a usar Windows y hasta las certifica, que productos cree que compraran? Seamos realistas.
De hecho el acuerdo es tan difuso, poco formal y ambiguo que NADIE, NADIE puede asegurarle a la ciudadania que aca no se esta vendiendo las plataformas tecnologicas del Gobierno de Chile a Microsoft. De lo contrario, en que punto del acuerdo dice eso?