May 17, 2012

Fernando Gómez

Fernando Gómez
Fedoreando feed

Liberadas las versiones RC de Fedora 17

Una pequeña entrada para recordarles que cada vez estamos mas cerca de tener Fedora 17 con nosotros, restando solo 6 días apartir de hoy 16 de mayo del 2012, y en este DIA 16 de mayo fueron liberadas las RC de Fedora 17, por ahora yo creo que paso de probar las RC, digo, [...]

May 16, 2012

LogicalBricks Solutions: Configuración básica de OpenBSD como gateway con DHCP y DNS
Maurico González

Maurico González
Linux Echoes feed

Mi review de Ubuntu 12.04

Hoy con Ubuntu 12.04 liberado ya puedo oficialmente dar mi review sobre esta nueva versión; como ya les habia comentado, llevo usando esta versión desde sus inicios (alpha 2), puedo decir que ha evolucionado mucho desde la versión 11.10, y claro no creo que les haga falta que lo diga, pero hay muchos cambios.

El primer cambio interesante es la velocidad de inicio del sistema, Ubuntu 12.04 inicia en 10 seg (al menos en mi laptop), cosa que no sucede en Windows, ya que inicia en al menos 30 seg.

Ubuntu 12.04 trae consigo la versión 5.10 de Unity, esto contempla una personalización superior a la versión 4 que estaba presente en ubuntu 11.10, desafortunadamante, la gran mayoría de temas están siendo diseñados para Gnome Shell, dejando a Unity de lado.
Unity es estable, después de 5 versiones, compiz trabaja de una manera muy grata, lo cual merece un aplauso; sin embargo los de Ubuntu se centraron tanto en Unity que han dejado de lado los multiples bugs que las versiones alpha y beta presentaban justo al inicio de ubuntu. Pero regresando al tema de estabilidad, algo que me ha agradado demasiado son las listas rápidas o quicklist en ingles; estas estan desde que aparecio Unity en la versión 11.04, sin embargo lograr manejarlas a nuestro gusto era tedioso y bastante complicado, cosa que ahora es muy simple, ya que basta con tener MyUnity o Ubuntu tweak para lograr agregar listas rápidas a nuestras aplicaciones en el Dock.

Parece ser que el error se da cada que Ubuntu busca actualizaciones en segundo plano, y llega a mostrar hasta 3 veces el mismo error de una sola sentada; he tratado de buscar a que se deba, pero apt-get no muestra errores, y la ventana de error que muestra ubuntu no es de ayuda, espero esto se resuelva con futuras actualizaciones.
El nuevo login ya cambia automaticamente a nuestro fondo de escritorio actual, lo que permite una entrada al sistema muy poco notoria y agradable a la vista, hubiera sido aun mejor si el bloqueo de pantalla se hacia con LightDM, pero según parece esto se aplicara para la versión 12.10.

 


Planeta Laguna: App Center nueva tienda online de Facebook para dispositivos móviles
Planeta Laguna: Parras de la Fuente, Coahuila.

May 15, 2012

Planeta Laguna: Imagenes de nuestro mundo...
Xenode Systems: Instalar Adobe Muse en Linux [HowTo]

JavaScript debe desaparecer de la Web

script

En recientes días escribí un post sobre cómo hacer nuestra navegación más segura usando Opera (en inglés). El principio de operación es simple: deshabilitar JavaScript por defecto excepto para aquellos sitio en los que plenamente confío.

No fue capricho. En alguna ocasión mordí un anzuelo y, sin intención, mi PC participó en un ataque masivo contra Freenode. ¿Cómo ocurrió? Visité una página que tenía un código malicioso de JavaScript, el cual se ejecutó automáticamente (tal vez gracias a onMouseOver o a onLoad) y mandó spam a dicha red. Me bloquearon varias horas y tuve que contactar a los administradores para explicar el caso. Ellos lidian con este tipo de cosas todo el tiempo (¡señal!).

alvarezp-banned

No es el único tipo de problema de seguridad de JavaScript. Tampoco es el único ataque facilitado por JavaScript: como referencia les dejo XSS, X/CSRF, Clickjacking, Revestimiento de interfaz (UI redressing), fuga de datos personales, etc. No que requieran de este lenguaje, sino que con él son mucho más fáciles de implementar sin que el navegador pueda detectarlos.

Busqué formas de evitar llegar a esa conclusión; después de todo, la mayoría de los sitios Web usan JavaScript. ¿Es posible que el navegador sólo ejecute código bien intencionado? No. Una computadora es tonta. No puede distinguir código malicioso. Incluso existe una broma sobre el tema. ¿Cómo le hacen los antivirus? Se basan en firmas y bases de datos alimentadas por humanos y aún así a veces arrojan falsos positivos. Peor aún, también arrojan falsos negativos.

Sin embargo yo necesito una forma de confiar en mi PC. En el momento en que pierde mi confianza, no sé si está interceptando lo que tecleo o lo que transmito, o si las páginas que me muestra son ilegítimas, o si los programas está alterados de otro modo. No sé si mis passwords y datos de tarjetas de crédito están siendo transmitidos por la red a algún cibercriminal. Y no, no estoy exagerando. Desde el momento en que pierde mi confianza tengo que aplicarle un análisis forense, aunque, por lo general, sale más rápido reinstalar.


(Mikko Hyppönen presenta en TED un listado de datos de tarjetas de crédito, como los roba un cíbercriminal.)

Mikko Hyppönen presenta en TED un listado de datos de tarjetas de crédito, como los roba un cíbercriminal.

Lo mismo ocurre con el navegador. Yo confío en que el navegador me permite mantener el control mientras navego. Si no confío en el navegador no puedo confiar en los datos que se envían o se reciben, en el contenido de los sitios que visito o si realmente estoy yendo a los sitios que creo. Si mi navegador está comprometido ni siquiera puedo confiar en el cifrado SSL, por lo que ni con HTTPS puedo asegurar la confidencialidad o integridad de mis transacciones.

No por nada existe NoScript para FireFox.

Analogía con otro error histórico: los privilegios de administrador

No porque sea la opción más popular significa que sea la mejor o la más segura. Me recuerda a los llamados derechos de administrador. Cuando comencé a usar a Linux, en tiempos de Windows 2000 y cuando 98 era todavía lo más popular, los linuxeros me decían que nunca usara mi PC como root (”root” el usuario privilegiado en Linux, similar al “Administrator”). Yo pensaba: pero entonces no puedo instalar programas, no puedo configurar hardware, mi CD-RW no puede pedir todo el CPU y es propenso a fallas de escritura, no puedo ‘tunear’ mi sistema igual, etc. Todos esos “problemas” eran precisamente los motivos para no usar root por defecto. ¡Es bueno que no tan fácilmente se instale un programa o hardware! ¡Es bueno que no cualquier programa se adueñe del CPU! ¡Es bueno que no tan fácil se puedan hacer ajustes al sistema!

No porque sea la opción más popular significa que sea la mejor o la más segura. Windows 9x era lo más popular en ese entonces y 2000, intentando traerse el núcleo de NT, ahora multiusuario, apenas comenzaba a tomar auge. Muchos programas se rompieron por ese cambio de paradigma.

Ese pequeño cambio de pensar tenía muchísimas ventajas. En Linux y en Mac es rarísimo ver un virus. No que no los haya, pero no son tan fáciles de hacer y tenemos más líneas de defensa. Cada usuario tiene su espacio bien segmentado. Un usuario no puede ver el contenido de otro usuario. Un usuario no puede dañar el sistema, sólo su propia cuenta. Si un virus se inyecta en el sistema es porque explotó una vulnerabilidad y se reconoce como tal.

Pero seguía existiendo la necesidad de instalar programas, y no era fácil. Había que resolver el problema. Aquí es donde tenemos que hacer una pausa, quedarnos en “still” y analizar las posibles rutas:

  • Considerar que el problema es la falta de privilegios por default y cambiarse a usar root por default, como lo hacía Windows 2000. Windows 9x ni siquiera tenía el concepto de privilegios; todos eran “administradores”.
  • Considerar que el problema es el tedio, y crear métodos seguros para hacer fácil la escalación controlada de privilegios, pero manteniendo un nivel aceptable de seguridad. Habría que inventarlo de ser necesario.

Afortunadamente en Linux cuenta con su y sudo. Igual, para Windows XP SP2, Microsoft mejoró significativamente la delimitación de las facultades de los usuarios restringidos. Si en Windows 2000 muchos programas se rompieron, con este cambio hubo otra barrida; era obvio. Muchos programadores se quejaron, pero era necesario. En Windows Vista incluyeron UAC pero el plan estuvo mal ejecutado. Me han contado que en Windows 7 finalmente dieron en el clavo. Se tardaron más de 10 años, pero así se hace un cambio de esta magnitud.

Yo veo el uso de JavaScript como estar en la primera opción, atacando el problema incorrecto, y hay que pasarse a la segunda opción. Con la popularidad actual de JavaScript, el cambio tendría que ser sumamente doloroso, pero igualmente necesario.

De vuelta al tema

La única manera de estar seguros contra ataques de JavaScript es apagándolo. Si no lo hago así, cualquier persona puede ejecutar código en mi navegador con simplemente incluirlo en un sitio que yo visite. El código puede ser confiable o malicioso, y en cualquiera de los casos se ejecuta sin mi consentimiento, es decir, antes de yo validar o aceptar dicha ejecución. La única forma de prevenirlo es que yo lo habilite sólo para los dominios en los que confío.

¿Basta con deshabilitar JavaScript? No. Hay otros modos de atacar, pero JavaScript los facilita tremendamente; la mayoría de los ataques están basados y ofuscados con JavaScript.

¿Qué fue lo que salió mal?

¿Cómo es que pasamos del deseo de ser productivos, a tener corriendo en nuestras computadoras un lenguaje que permite rastrearnos, atacar otros sitios, etc.?

La escalera de la programación

Peldaño 0. Todo comienza por el principio, y en este caso, las computadoras son simples máquinas que harán lo que su operador le diga. A fin de cuentas eso son: viles, patéticas y despreciables herramientas que simplemente siguen las órdenes de un humano. El programa se hace en un lenguaje cualquiera.

Peldaño 1. No todos los humanos tienen la capacidad de hablarle a una PC en su idioma. Las instrucciones son demasiado primitivas y básicas, de modo que se vuelve una mezcla de ciencia y arte. Se requiere de tiempo y dedicación para hacer un programa medianamente complejo. Entonces, otras personas hacen programas por nosotros. Nosotros nos limitamos a instalarlos en nuestra PC. La PC sigue haciendo lo que el operador le dice… o no exactamente: hará lo que le diga el programador por medio de la autorización del operador.

Existe ahora un punto débil: el operador ahora debe confiar en el programador, pues las instrucciones pueden ser maliciosas. ¿Qué tal si el código del programador, como parte del programa, dice que tome archivos y los mande por correo o por fax? La computadora no puede distinguir la intención de esa instrucción. El código puede ser sintáctica y semánticamente válido y aún así realizar funciones maliciosas. Sólo queda, como línea de defensa, que el operador tome la decisión de instalar el programa o no, según su confianza en el programador.

Esto es crucial. Es imprescindible la libertad de autorización del operador. Esta libertad se puede ver afectada por engaños, por ejemplo, si el programador le muestra un código diferente al operador del que se va a ejecutar, o si el operador no es hecho consciente de lo que está instalando.

XKCD nos cuenta la historia de una madre que le cambió de nombre a su hijo para borrar la base de datos de la escuela de su hijo. Una PC no distingue intenciones buenas de malas.

XKCD nos cuenta la historia de una madre que le cambió de nombre a su hijo para borrar la base de datos de la escuela de su hijo. Una PC no distingue intenciones buenas de malas.

Sin embargo, se presenta una excepción cuando el programador y el operador son la misma persona. Siempre es más satisfactorio lograr que el programa haga algo que ir a instalar ese programa en la PC, ¡y desmiéntanme! Es sumamente aburrido instalar un programa. Es más aburrido cuando el programador cometió un error y hay que ir a reinstalar una versión nueva, y aún más aburrido cuando esto ocurre una y otra vez.

Peldaño 2. Hay que instalar los programas en PCs que están aquí cerca o allá en el cerro. Su instalación puede requerir cambios en el sistema, potencialmente rompiendo la configuración de la máquina misma. Entonces la industria contempla la posibilidad de ejecutar un programa sin necesidad de ser instalado. Esto simplificaría las implementaciones, ahorraría dinero significativamente y se enfocaría el esfuerzo en el desarrollo del programa, y no en su instalación. La necesidad es obvia: un lenguaje que no requiera compilación, cuyo resultado no requiera una instalación, que funcione en todos lados de forma predecible, que no padezca del infierno de las dependencias (librerías), etc. Y luego existen diferentes computadoras con diferentes características, versiones de sistema operativo, etc.

La escalera de la Web

Por otra parte, se genera otra línea de escalafones de tecnología, la de la World Wide Web:

Peldaño A. El formato de la Web es HTML, que es como hablar de un .doc, pero en lugar de binario, en texto plano. El HTML tiene la característica de que el archivo se renderiza por diferentes programas en diferentes plataformas y da resultados suficientemente similares. Se vislumbra a la Web como algo multiplataforma (vamos a dejar la discusión de los múltiples navegadores para otra ocasión).

Peldaño B. La necesidad de la interactividad de las páginas Web. Más que una necesidad por hacer páginas interactivas, es resolver necesidades de interactividad muy específicas. Por ejemplo, el HTML no incluye semántica para mostrar selectores de fecha o validar direcciones de correo electrónico. El manejo masivo de información comienza a pedir menús de árbol expandibles, tan comúnmente usados en el escritorio. Resulta natural querer poner un menú contraíble en una página. Al iniciar como un lenguaje de texto genérico, HTML no podía dar suficiente semántica para que un navegador ofrezca estas capacidades él mismo. Al final todos pecaron: los navegadores populares no ofrecieron una forma de ofrecer tablas de contenido a partir de las etiquetas H1 a H6. HTML no se extendió con nuevos tipos de elementos INPUT, por ejemplo.

Tabla de Contenido generada automáticamente por Wikipedia para sus documentos. De forma similar, un navegador podría generar automáticamente la TdC según lo indiquen los elementos H1 a H6.

Tabla de Contenido generada automáticamente por Wikipedia para sus documentos. De forma similar, un navegador podría generar automáticamente la TdC según lo indiquen los elementos H1 a H6.

Desafortunadamente para HTML, todo mundo le quiso poner diferentes funciones para hacer algo “innovador”, como las etiquetas MARQUEE, BLINK y FRAME. Tuvo que llegar el momento de estandarizar, simplificar y reencauzar el lenguaje. Esto también demoró su progreso.

Aquí entra el auge de JavaScript. Por sí misma, la interactividad no debería ser riesgosa para los usuarios. El problema es la aplicación de la misma por medio de un lenguaje de programación (es decir, de propósito general) en lugar de un lenguaje de formato, semántico, específico. Aquí es donde se rompe el peldaño 1: el código escrito en este lenguaje se ejecuta en el navegador sin intervención del usuario.

La unión de ambas escaleras

Al final, se unen las dos escaleras para crear un monstruo. En la combinación navegador-JavaScript, los desarrolladores encuentran una plataforma para resolver el problema de la difícil implementación (descrito en el peldaño 2), mientras que el boom de la interactividad (peldaño B) facilita el auge. Lo anterior, a pesar del romper la libertad de autorización del usuario u operador (descrito en el peldaño 1). JavaScript hace que la implementación de programas sea extremadamente simple, pero a costa del usuario. Ahora el usuario tiene una plataforma de propósito mezclado: por una parte la lectura de la Web y por otra la de aplicaciones Web.

Sobre este ladrillo roto se han estado construyendo más tecnologías. Al principio las aplicaciones web eran páginas cuya interactividad se extendía con JavaScript, pero cada vez se depende más de JavaScript. Ahora hay sitios que generan las páginas mismas desde el script. Esto crea un nivel extra de abstracción que los navegadores no pueden optimizar fácilmente. Al final se traduce en mayor consumo de memoria y CPU, haciendo cada vez más lento al navegador en general. Para mi gusto, es un abuso generalizado de JavaScript, pero que también devela una especie de ruta natural, una ruta de menor resistencia, que es mejor atacar por los cuernos.

¿Qué necesitamos?

Lo que deberíamos tener es:

  • Una forma de convertir las aplicaciones Web en aplicaciones de escritorio, sin esfuerzo para el programador.
  • Una forma de instalar e integrar fácilmente estas nuevas aplicaciones, sin esfuerzo para el usuario.
  • Una forma de distinguir entre la mera interactividad de documento y una aplicación hecha y derecha. La única forma que yo veo, infalible, es desaparecer JavaScript de la lectura de la Web, a favor de mejoras semánticas a HTML y CSS y dejar JavaScript para aplicaciones Web, fuera del navegador.

¿Funcionaría, al menos en concepto?

CSS es un lenguaje sumamente poderoso. Sin necesidad de JavaScript se pueden efectos muy interesantes. Esta página muestra 30 efectos con CSS puro que se pueden hacer hoy por hoy.

¿Podría comprar un boleto de avión sin JavaScript? Poco a poco sería más factible hacer una compra de avión menos frustrante. El wizard estaría programado del lado del servidor y se usaría HTML5 (o tal vez sería necesario inventar algo nuevo) para mejorar la accesibilidad y la interactividad (validaciones, controles de fecha y demás). Imagino que el contenido del wizard se va acumulando en la misma página conforme se llena, alimentado por procesos del lado del servidor. De esta forma podría imprimirse todo el wizard una vez lleno. Habría que estar al pendiente del tiempo restante a la expiración de la sesión. El elemento META podría contener un atributo “session_expiration” y el elemento FORM podría contener un atributo de “partial_action” que permitiría al navegador poner un contador en segundos y un botón de “refresh” para mantener la sesión activa y refrescar el estado del wizard.

¿Podría tener validaciones arbitrarias del lado del cliente? Afortunadamente HTML5 ya permite esto con el atributo pattern, en el que se le puede poner una expresión regular a cumplir como requisito para enviar el formulario. HTML5Pattern muestra algunos ejemplos de validación arbitraria por expresión regular.

¿Funcionarían los SSO como Google Accounts, etc.? Probablemente también se necesiten extensiones semánticas, pero quisiera que que el navegador tuviera un indicador de cuentas en las que tengo sesión en este momento, principalmente basados en OpenID, BrowserID y otros protocolos abiertos. Sería responsabilidad de Facebook desarrollar su propio “provider” para Facebook Connect.

Lo que se lograría

  • Yo tendría que aceptar antes de permitir la instalación de la aplicación “Facebook”, “Twitter” o “Hangout”.
  • Al distinguir una aplicación Web de una página Web, las plataformas de aplicación web (que ya no serían los navegadores) permitirían una más fácil integración entre la aplicación y el escritorio (iconos, lectura de documentos, etc).
  • Yo podría confiar en mi navegador.
  • La sola lectura de páginas web no consumiría tantos recursos como una aplicación Web.
  • Poco a poco el HTML iría evolucionando para soportar nativamente lo que hacen las aplicaciones Web. Así ha ocurrido con HTML5, por ejemplo, con los nuevos elementos INPUT.
  • Sería más difícil que me rastrearan, como con Google Analytics y demás.
  • Funcionaría mejor el botón de Anterior.
  • Funcionaría mejor el botón de Imprimir.
  • Las páginas serían mucho más “accesibles”.
  • La barra de estado siempre diría la verdad. Hoy en día hay forma de que uno sombree una liga y lo que se muestra en la barra de estado sea diferente que el sitio al que el navegador mande (*cough* Facebook *cough*).
  • Se reduce el footprint de los lectores de páginas Web y se dedica JavaScript (o cualquier otro lenguaje) para aplicaciones especializadas.
Planeta Laguna: Los libros de Harry Potter estarán disponibles gratis en Amazon

Celebra el Día de Internet con @CositMX #DDI2012

  • En 140 caracteres, describe lo que representa para ti Internet.
  • Se regalarán 50 entradas gratuitas a #COSIT2012 a los mensajes de Twitter con mayor grado de originalidad.
  • La dinámica se realizará el 17 de Mayo en la cuenta de twitter de @CositMX.

El día de Internet y de las Telecomunicaciones es un proyecto en red que pretende dar a conocer las posibilidades que ofrecen las nuevas tecnologías para mejorar el nivel de vida de los pueblos y de sus ciudadanos.

El Día de Internet se realizará el próximo 17 de Mayo, aporta una oportunidad para dar a conocer las posibilidades que pueden ofrecer las TIC a las sociedades y economías. Internet debe ser considerado como un recurso verdaderamente público.

En el marco de este día, COSIT (@CositMX), invita a los amantes de la tecnología a que describan en 140 caracteres lo que representa Internet en su vida diaria, en su trabajo o en demás actividades.

Los tweets para ser considerados deben mencionar la cuenta de Twitter @CositMX. Los 50 comentarios más originales recibirán entradas gratuitas al Congreso de Tecnología de la Información y Comunicación (TIC) #COSIT2012 que se realizará en Agosto próximo en la ciudad de Coatzacoalcos.

Sigue a @CositMX y @Cosit_Staff para estar al pendiente de todo lo publicado con motivo del Dia Mundial de Internet.

La lista de ganadores junto con su correspondiente tweet será publicada el 18 de Mayo en el sitio de internet www.cosit.mx/2012. El comité organizador se pondrá en contacto con los participantes para el envío de boletos electrónicos para #COSIT2012.

May 14, 2012

Rafael Carrillo

Rafael Carrillo
Snake's Nest feed

Arreglar fuentes en Crunchbang Linux

Crunchbang destaca por su ausencia de wizards o asistentes lo cual permite que las tareas se hagan sumamente rapido, pero tambien al carecer de ellas tenemos que aprender a hacer las cosas.

Uno de los detalles que noté fue que las fuentes pequeñas en pantallas LCD se ven un mal, y no mal en el sentido que no se entiendan, sino que no estan suavizadas. Ésto significa que el nivel de dpi o puntos por pulgada que muestra X no es el adecuado.

Para arreglarlo tenemos que editar el archivo .Xdefaults que está en nuestra carpeta home.

Si no existe lo debemos crear..

touch Xdefaults

Luego lo abrimos y le agregamos a la ultima linea (o a la primera si lo creaste) la siguiente linea..

Xft.dpi: 96

Y lo guardamos.

Por ultimo solo resta reiniciar las X ya sea cerrando sesion o bien reiniciando la PC, no taras que las fuentes ya están más suavizadas.

El tip lo etiqueto para crunchbang, pero en realidad funciona para cualquier distribucion que no tenga forma de configurar éste aspecto de forma gráfica.

Rafael Carrillo

Rafael Carrillo
Snake's Nest feed

Sobre Crunchbang Linux

Si hay algo que me encanta de Linux es la gran variedad de sabores que existen, tambien llamadas distribuciones o distros. Y es que hay para todos gustos y necesidades.

Por ejemplo, si apenas comienzas a usar linux, la recomendacion siempre será usar Ubuntu, pero cuando vas descubriendo y picando más te das cuenta que necesitas algo más acorde a lo que haces o bien, decides quedarte con Ubuntu.

En mi caso uso Netbeans y Eclipse para programar en Java y Android, y si algunas vez has usado estos IDE's has de saber que no son nada livianos, y mucho menos en una Netbook que es lo que yo uso para éstas tareas (mi bolsillo no dá para mas jejeje).

Así que despues de usar Fedora y haber descartado a Ubuntu de ser una distro liviana (que de liviana no tiene nada), decidi probar Crunchbang Linux como SO de uso normal, anteriormente lo usaba para hacer algunos respaldos o alguna tarea que requiriera tener un live-usb.

Pero ahora que le di una oportunidad como sistema de uso regular he de decir que he quedado sorprendido, ya que a pesar de ser una distribucion ligera está bastante completa dejando un poco de lado los menus y asistentes con grán grafica a ventanas con la informacion requerida y en algunos casos Scripts de Bash que hacen las mismas tareas que los asistentes de Ubuntu y Fedora.

Crunchbang está basado en Debian y usa Openbox para el gestor de ventanas y Tint2 como panel, dando como resultado un entorno ligero pero bastante util, además de sustituir Nautilus por Thunar y dar la opcion de instalar mediante algunos scripts ya implementados las aplicaciones de uso común como Chrome, Dropbox, LibreOffice, herramientas de desarrollo, etc.

Escritorio - Clic para ampliar


He podido ejecutar Eclipse con el SDK de android y Opera juntos sin tener algun bajon de velocidad al hacer las cosas, cosa que era imposible con otras distribuciones ya que debia elegir entre tener el navegador abierto o tener eclipse funcionando.


May 13, 2012

Maurico González

Maurico González
Linux Echoes feed

Instalar MS Office 2010 en Ubuntu 12.04

Normalmente apoyo el uso de Libre Office, sin embargo debemos reconocer que este aun tiene problemas de compatibilidad al momento de abrir archivos de extensión .docx; por lo que hace unos cuantos post atrás publique como instalar MS office 2007 en cualquier versión de Ubuntu (esto incluye las versiones mas recientes como 11.10 y 12.04).

Sin embargo, con la llegada de MS office 2010 nos topamos con el problema de la “versitionitis”, que hace que queramos tener lo mas reciente siempre, dejando así un poco “inservible” el tutorial de como instalar la versión 2007; hoy para aquellos que sufrimos de esto, les presento como instalar MS Office 2010 en Ubuntu de 64 bts, así que, ¿les parece si iniciamos?

Abrimos nuestra querida terminal y ejecutamos los siguientes comandos (recuerde, uno por uno):

sudo add-apt-repository ppa:ubuntu-wine/ppa

sudo apt-get update

sudo apt-get install wine1.5

Lo anterior, agrega a nuestros repositorios las versiones más recientes de Wine, cabe aclarar que este tutorial solo se puede lograr con las versiones 1.4 en adelante de wine, nosotros instalamos la verson 1.5 por ser la mas reciente.

(Solo usuarios de Ubuntu de 64 bits)Una vez hecho lo anterior y con wine ya instalado ejecutamos el siguiente comando:

export WINEARCH=win32

El comando anterior crea una arquitectura de 32bits para wine, ya que en Ubuntu no podemos combinar arquitecturas (64 y 32 bits).

Hecho lo anterior, cerramos nuestra terminal y  procedemos a instalar MS office 2010 como siempre se ha hecho, es decir, ejecutando el instalador o colocando el CD de office.

Una vez completada la instalación no ejecuten office, debemos abrir abrimos winecfg desde el menú principal (logo de ubuntu)

Con la ventana de las configuraciones de wine abierta, accedemos a la pestaña de librerias, buscamos y seleccionamos la libreria “riched20″, una vez en la lista inferior, la volvemos a seleccionar y cambiamos su opción a “nativa”; esto con el fin de poder ejecutar MS PowerPoint sin problema alguno.

Una vez terminado lo anterior, ya podemos correr MS Office desde el menu principal, por errores en Ubuntu, el menu principal no muestra los iconos correspondientes, pero los programas funcionan.

Nota: No recomiendo su uso diario, a pesar de funcionar, debemos recordar que MS office no es nativo de Linux, dejandolos inestables; mi recomendación seria que se use solo para visualizar archivos con extensiones .docx, .pptx, y .xlsx.

Siempre es preferible usar Libreoffice para la creación y edición de este tipo de documentos.


Xenode Systems: Apps de 32 Bits en Wine de 64 sobre Ubuntu
Luis Alberto Leal Rojas

Luis Alberto Leal Rojas
Luis Alberto Leal Rojas feed

Trayectoria despues de mucho tiempo.

Que ha pasado despues de mucho tiempo de publicar algo. En este periodo de estas alejado de mis actividades, pero entre las novedades, esta que ahora estoy en el depto de Comunicación de una empresa, desarrollando soluciones tecnológicas, utilizando productos apple. Pensando en iniciar una especialidad en Marketing o Social Media Manager, proyectos afines para el puesto actual. Actualmente casado y feliz. y con mas proyectos. Esperemos seguir actualizando el contenido

May 12, 2012

LogicalBricks Solutions: Buscar y reemplazar cadenas en Ruby (I)
Rafael Carrillo

Rafael Carrillo
Snake's Nest feed

Sobre cómputo en la nube y otras trinches


El cómputo en la nube es el conjunto de técnologías que hacen posible el poder llevar desde documentos hastá centros de trabajo completos a Internet, de tal forma que todo lo que trabajemos y almacenemos estará resguardado en la red disponible en cualquier parte del mundo.

De esta forma en lugar de cargar con un disco duro portatil o una memoria usb, podrás tener desde un respaldo hasta un proyecto entero en internet sin cargar absolutamente nada.

Aunque bien, estos servicios siguen en desarrollo puesto que su aceptacion no será inmediata dadas las implicaciones relacionadas con la seguridad principalmente.

En éstos dias de trabajos finales en la universidad, hemos podido  mejorar nuestra forma de trabajar en equipo bastante.

Imaginemos que antes teníamos que juntarnos forzosamente en la biblioteca para cualquier trabajo de equipo, pasarnos el trabajo en memorias  y que cada quien trabajara en su equipo de forma independiente.

Y dado que la carrera de Ingeniería en Software exige muchisima coordinacion a la hora de trabajar en equipo es necesario que todos los miembros puedan trabajar sin tener que estar hasta altas horas de la tarde en la biblioteca sujeto a la velocidad del internet de la escuela.

Para que me entiendas me refiero, la siguiente lista ejemplifica claramente de que estoy hablando:

Google Docs: La edicion de documentos en conjunto es un reto, ya que de forma tradicional cada  persona trabajaria su propia parte de forma independiente o bien, una persona haria todo el trabajo escrito.
Ésta forma de trabajar podría optimizarse si varios miembros del equipo pudieran trabajar en conjunto editando el mismo documento, señalando correcciones o brindando sugerencias. Y Google Docs resuelve perfectamente éste punto.
Si bien Microsoft ofrece su servicio en linea de edicion de documentos e incluso ofrece una opcion de trabajo en conjunto con otras personas resulta que la aplicacion web se vuelve extremadamente lenta; cosa que nunca ocurre en Google Docs. Simplemente puedes crear un documento e invitar a los colaboradores o editores a que abran el link de tu documento para su edicion. Asimismo, el documento se guarda todo el tiempo para evitar alguna perdida por falla en la conexion o algun otro tipo de problema.

Github: Éste era mi gallo en un proyecto final de Diseño de Software, ya que nos dividiríamos el trabajo de programacion entre todos los miembros del equipo, sin embargo realizar una prueba piloto enmedio de una crisis de falta de tiempo dio como resultado que optaramos por otra opcion.
Sin embargo, para alguien que sabe usar git; Github cae de maravilla, pues cada integrante podria trabajar sobre una misma base su propio modulo, clase, subsistema o lo que sea y posteriormente unir su avance a la base para que esté disponible para todos los miembros del equipo de desarrollo.

Claro que existen otros servicios y programas para control de versiones como Mercurial y SVN, pero github se me hace perfecto para los que somos estudiantes.

Dropbox / Box.net: Otro punto importante es que los documentos de los trabajos de equipo asi como fotos, presentaciones, etc. Estén disponibles para todos los miembros a todas horas, de forma que no se tengan que rolar una memoria con los documentos requeridos cada que haya que actualizar algo.

En dropbox simplemente se crea una cuenta y se instala el cliente para Windows, Mac o Linux y se crean ahí dentro o en la pagina las carpetas a compartir, desde la pagina se pueden invitar a colaboradores para que puedan tener acceso y sincronizacion de los archivos alojados en el momento que sean actualizados, borrados o creados.

Box.net ofrece algo similar, aunque la opcion de sincronizar es únicamente para cuentas de pago y existen clientes solo para Windows y Mac. Por lo cual, aunque a mi me regalo 50GB de espacio, creo que me quedaré con Dropbox debido a la versatilidad para trabajar e incluso permite operar de forma offline.

Esos son algunos ejemplos de servicios de cómputo en la nube, una nueva etapa en la técnologias de información que esta cobrando mucha fuerza ultimamente.

Otros servicios como Google Play (Music, books movies) o mi querido OnLive ofrecen otro formato de computo en la nube para entretenimiento. Que por cierto considero OnLive como un concepto ganador, ya que permite gozar de juegos de PC recientes con graficas Medio/Altas en cualquier equipo, incluso en dispositivos Android.

May 11, 2012

Maurico González

Maurico González
Linux Echoes feed

Super Boot Manager Ubuntu 11.10 / 12.04

Usuarios con el parche de vídeo para intel este tutorial es muy riesgoso para nosotros, recomiendo la no instalación ya que pude dejar el sistema sin entorno gráfico.

Las personalizaciones a Linux siguen dejándome sorprendido, incluso lo fácil que ha llegado a ser me sorprende aun más, menciono esto ya que yo pensaba que para poder modificar el plymouth (imagen con el logo de Ubuntu antes del GDM) debía hacerse mediante puro código, cosa que me daba temor y flojera hacer, también pensaba que la instalación de Burg (interfaz gráfica para GRUB) seria complicada, pero ayer me entero que todo se puede lograr con el fantástico programa Super Boot Manager.

Super Boot Manager permite, como ya mencione, la instalación y modificación de Burg y Plymouth de manera fácil.

Para poder instalar este programa debemos ir a nuestra ya conocida terminal (Menu Dash - buscar: Terminal)  y colocar los comandos uno por uno.

sudo add-apt-repository ppa:ingalex/super-boot-manager

Usuarios Ubuntu 12.04:

Antes de seguir, deben descargar este archivo .deb (i386)/ .deb (x86) e instalarlo en su sistema, este .deb es la versión correcta del programa buc que requiere SBM, ya que la versión que nuestra distro trae consigo es incompatible.

sudo apt-get update && sudo apt-get install super-boot-manager

Una ves echo lo anterior podremos abrir el programa desde el menú Dash y buscando super boot manager (no es necesario poner todo).

Ya abierto el programa solo damos clic en aluna de las opciones disponibles:

Aparecerá la ventana correspondiente a cada programa.

Advierto, tengan cuidado con el Burg, ya que su instalación es un poco mas compleja y requiere que recuerdes donde se ha instalado grub (normalmente es en /deb/sdb) y si se colocan mal los parámetros Ubuntu pude quedar inhabilitado.

Si se trata de Plymouth no hay mayor problema que seguir las instrucciones en su ventana para poder cambiar la animación, si tu plymouth no se llega a mostrar y en su lugar solo hay un guion bajo parpadeando descarga este scrip y sigue las instrucciones de la pagina. (contenido en ingles).

Suerte a todos.

Fuente: omgubuntu | webup8


Planeta Laguna: Peña Nieto escondido en el baño de la Ibero
José Oviedo

José Oviedo
oviedo.mx feed

Windows 7: Error explorador de windows dejo de funcionar en el panel de control

Me apacere el mensaje explorador de windows dejo de funcionar cuando abro el panel de control en cualquier opción (Desinstalar un programa, Sistema y Seguridad)

El problema radica con los iconos del panel de control que son incompatibles con windows 7, la cosa es buscar al culpable, dentro de c:/windows/system32 y buscar los que tengan extensión .cpl y ordenar por fecha, e ir cambiando la extensión a .cp- y probar hasta que desaparezca el error.

En mi caso habia instalado Firebird 1.5 y pues el archivo culpable fue: Firebird2Control.cpl

LogicalBricks Solutions: Accediendo a Máquinas Virtuales con QEmu desde el Host
Planeta Laguna: No se sabe quién dispara
Xenode Systems: Te pagamos por escribir en éste blog!!

May 10, 2012

Emerson Posadas

Emerson Posadas
toxickore BLOG feed

Sistema con filesystems corruptos fsck

oslevel -s
/usr/bin/oslevel[627]: /tmp/sh10223764.13: 0403-005 Cannot create the specified file

Tons para saber la versión del OS AIX:
lslpp -l | grep bos.mp
Planeta Laguna: La gran plaza de Torreón
Planeta Laguna: El debate

May 09, 2012

José Oviedo

José Oviedo
oviedo.mx feed

CGROUPS: Aumentar el rendimiento de Linux

Buscando en la red sobre como incrementar el rendimiento de Linux (ubuntu) encontre una página de jEsuSdA en donde habla de un script que nos ayuda a acelerar el procesador y procesos mediante CGROUPS (Grupo de Control)

Bueno las instrucciones son muy simples, y el rendimiento es algo notorio para los que utilizamos mucho la computadora, no olviden que todo como root ( sudo su - )

Editar el archivo /etc/rc.local y antes de exit 0

mkdir -p /dev/cgroup/cpu
mount -t cgroup cgroup /dev/cgroup/cpu -o cpu
mkdir -m 0777 /dev/cgroup/cpu/user
echo “/usr/local/sbin/cgroup_clean” > /dev/cgroup/cpu/release_agent

exit 0

Despues creamos, editamos el siguiente archivo: /usr/local/sbin/cgroup_clean

#!/bin/sh
rmdir /dev/cgroup/cpu/$*

Y hacemos ejecutables los 2 archivos antes mencionados

chmod +x /etc/rc.local
chmod +x /usr/local/sbin/cgroup_cle

Ahora para que funcione el truco, en cada usuario modificamos el archivo .bashrc que esta en la raiz de nuestra carpeta /home/USUARIO ó /root y al final ponemos:

if [ "$PS1" ] ; then
mkdir -p -m 0700 /dev/cgroup/cpu/user/$$ > /dev/null 2>&1
echo $$ > /dev/cgroup/cpu/user/$$/tasks
echo “1″ > /dev/cgroup/cpu/user/$$/notify_on_release
fi

Y listooo!! para que funcione ejecutamos /etc/rc.local o reiniciamos la computadora si así lo desean.

The Open Enchilada Project: Contamos MX
Emerson Posadas

Emerson Posadas
toxickore BLOG feed

Cuando el futuro orwelliano nos alcance

Muchas veces he comentado con diversos amigos o familiares de las implicaciones de introducir demasiada información personal en las redes sociales y datos sensibles como fechas de nacimiento, aniversarios, gustos, preferencias y demás.

Hoy por la madrugada leo de @wulfrano en twitter:

  • Yo que tenía ya mucho rato que no escuchaba nada de Complex Event Processing, incluso ya lo daba por muerto, y hoy vuelvo a escucharlo.
  • Y que Dios nos agarre confesados niños. Si hoy día les da miedo lo que se hace con la info que hay en twitter o en FB, con CEP se cagan.
  • Si quieren entender lo que se puede hacer con CEP, investiguen que chingados es la Psicohistoria de Asimov.
  • @wadita digamos que vas a tener un software analítico que con una serie de datos dados va a ser capaz de predecir tendencias y manipularlas
Ok, hasta aquí la explicación sin sentido y abstracta no mortal. Vamos reduciendo esto a términos del ciudadano de a pié en un ejemplo que viene en el artículo de wikipedia:
Supongamos que dentro de miles de eventos, un sistema de monitoreo podría recibir los siguientes tres de una misma fuente:
  • Sonido de campanas de una iglesia
  • Se aparece un hombre de traje con una mujer vestida de novia
  • Arroz volando por los aires
Dados esos tres eventos el sistema de monitoreo podría deducir que se trata de un evento complejo: una boda. CEP es una técnica que nos ayuda a descubrir eventos complejos mediante el análisis y correlación de otros eventos: Las campanas, el hombre y la mujer vestidos en modo especial y arroz volando por los aires.

Bien, pues el punto de @wulfrano es aplicar esas técnicas CEP a redes sociales, si uno fuera malintencionado usaría toda esa informacióna favor de particulares, digamos por ejemplo campañas publicitarias, productos que las personas no saben que quieren pero que a partir de sus publicaciones los sistemas pueden deducir, y si fuéramos un gobierno autoritario y represor nos podríamos olvidar de revoluciones organizadas vía redes sociales. Las posibilidades son infinitas.

¿Y si aparte de eso lo subimos a la nube, damos al gobierno la autorización de poner "puertas traseras" con el pretexto de salvaguardar nuestra seguridad tal y como lo pide el FBI?

Ya me lo estoy imaginando, los servidores de la nube con su backdoor y acceso directo a los sistemas CEP cosechando hexabytes de información día a día. Un momento, ¿echelon?

Pero como ciudadanos del mundo que somos, siempre habrá una mayoría que opine que "no pasa nada".

Ah y por cierto, seguro los sistemas CEP ya me tienen registrado. Gracias por participar.
Planeta Laguna: Microsoft anuncia cursos para Windows 8
Alcance Libre: Presentando Extdesk un escritorio web, basado sobre Extjs
Planeta Laguna: Repetición Completa Debate México 2012

May 08, 2012

Alcance Libre: SUSE cuenta ahora con la mayor cantidad de aplicaciones certificadas entre proveedores de Linux
Jorge Luis Hernández

Jorge Luis Hernández
codeplasticlesthack feed

Autenticación Windows con LDAP y PHP en Linux

Últimamente en el ámbito laboral he tenido que implementar algunas cosas nuevas con las que nunca me había topado, y sin duda, no he querido dejar pasar la oportunidad para documentarlo y compartirlo.

En ocasiones, puede resultar muy útil implementar sistemas de autenticación genéricos en el lugar donde trabajas, no todos lamentablemente usan Linux y por el contrario, están tan acostumbrados a usar un sistema de autenticación basado en un Windows Server sobre un dominio.

Por tal motivo, si desarrollas una aplicación web bajo un servidor linux, pero necesitas autenticación existente en un Servidor Windows tienes la posibilidad de hacerlo mediante LDAP.

Según wikipedia: LDAP son las siglas de Lightweight Directory Access Protocol (en español Protocolo Ligero de Acceso a Directorios) que hacen referencia a un protocolo a nivel de aplicación el cual permite el acceso a un servicio de directorio ordenado y distribuido para buscar diversa información en un entorno de red. Habitualmente, almacena la información de autenticación (usuario y contraseña) y es utilizado para autenticarse aunque es posible almacenar otra información.

Por ello, es posible utilizarlo de intermediario entre nuestra aplicación y el sistema de autenticación de Windows. En mi caso especifico, desarrolle algunas aplicaciones web’s basadas en PHP y Apache2 corriendo bajo un Ubuntu Server, así que, mostraré solo el pedazo de código que me permite autenticar.

    function authLDAP($username, $password){
        $ldap_domain = 'midominio';
 
        $adServer = "miservidor";
        $ldapconn = ldap_connect($adServer) or die("Could not connect to LDAP server.");
 
        $ldaprdn = $username;    
 
        # Descomentar si la App corre bajo Apache2 sobre Windows Server
        #ldap_set_option($ldapconn, LDAP_OPT_PROTOCOL_VERSION, 3)

        $ldapbind = ldap_bind($ldapconn, "$ldaprdn@$ldap_domain", $password);
 
        if($ldapbind)
            return true;
        else
            return false;
    }

Fácil, sencillo y útil. Si necesitas mas información o detalles técnicos del modulo LDAP para PHP puedes consultarlo en http://php.net/manual/en/book.ldap.php.

Como punto importante, hay que tener el módulo LDAP para PHP activado. Así que si estas en un servidor Debian/Ubuntu, solo basta con instalar los siguientes paquetes.

$ sudo apt-get install php5-ldap php-net-ldap php-net-ldap2 php-auth

Y confirmar que esté realmente activo el modulo en el archivo /etc/php5/conf.d/ldap.ini de la siguiente manera.

; configuration for php LDAP module
extension=ldap.so

Reiniciamos Apache.

$ sudo /etc/init.d/apache2 restart

Y ya tendremos el modulo activado.

Notas adicionales:

Si tu aplicación web esta corriendo sobre un Apache2 instalado en un Windows Server, activar el modulo basta con descomentar la linea en el archivo php.ini quitando el punto y coma “;”.

extension=php_ldap.dll

Y añadir los módulos al iniciar Apache2 en el archivo httpd.conf

LoadModule authnz_ldap_module modules/mod_authnz_ldap.so
LoadModule ldap_module modules/mod_ldap.so

May 07, 2012

Max Valdez

Max Valdez
GaRaGeD Style feed

Introvertido es lo de hoy

El buen ebboby frecuentemente comenta en #linux_mx que todos tenemos la tendencia a buscar las opiniones que coinciden con las nuestras, este es uno de esos casos :D

En mi cruzada de hoy en busca de matar el tiempo me puse a ver un video en TED, y el que me llamó la atención rápidamente fue este que publico arriba, donde Susan Cain nos habla de su experiencia como introvertida y como el mundo debería ser mucho más tolerante con este tipo de personas, no porque deban ser venerados, sino porque cada quien tiene un espacio y una aportación, sin embargo la sociedad actual tiende mucho a despreciar el pensamiento interno, y el análisis solitario para privilegiar a el trabajo en equipo y la sociabilización.

Este tema como muchos es complicado, Susan bien dice que esto no se trata de absolutos, todos tenemos algo de introvertidos y de extrovertidos, pero actualmente la popularidad se basa en gran medida en la “extrovertividad”, en el ser explícito y carismático, y la gente se olvida de que muchas aportaciones valiosas se dan por parte de ese grupo (que puede ser la mitad de la población) que no adora ser el foco de atención, o que no necesita estar rodeado de personas para ser feliz o siquiera productivo.

Un punto clave de este tema es la educación (de los niños y jóvenes), por ejemplo mis hijas caen perfectamente en ambos extremos, y prácticamente podríamos decir que Carmen y yo también, pero sin absolutos, para unas cosas parecemos todo lo contrario, a Carmen se le facilita mucho sociabilizar, sin embargo no le gustan los lugares demasiado concurridos, y a mi se me dificulta un poco sociabilizar, pero adoro los lugares concurridos, yo nunca me engento.

Pero volviendo al punto de la educación, varias veces hemos considerado el “educar desde casa” a nuestras hijas, en gran medida por los problemas sociales que existen en el país actualmente, nunca hemos vivido nada super complicado, pero a veces suena a mejor idea simplemente no salir a correr el riesgo. Una de las razones principales por la que no lo hemos hecho es que consideramos que sociabilizar es una habilidad importante, y la escuela es una excelente forma de enseñarles a sociabilizar a tus hijos.

Ahora, parte de el problema expuesto por Susan es que las escuelas actualmente tienden mucho a despreciar las actitudes solitarias, siempre se nos pide que seamos cooperativos, que trabajemos juntos, etc. y no solo en las escuelas, muchos de nosotros hemos tenido que trabajar, o de plano trabajamos actualmente, en lugares donde la privacidad es prácticamente una leyenda urbana, en galerones repletos de cubículos de 1×0.5 mts, forzados a escuchar a los compañeros de trabajo más verbales.

No por nada es tan popular aislarte con unos buenos audífonos que cancelan sonido ambiental, hemos llegado a una situacion en la que de plano se ignoran por completo las necesidades del sector de población que se considera menos productivo, a pesar de que probablemente contribuya con el 50% del trabajo, o más.

Ahora, no es una gran tragedia, los introvertidos aprendemos a vivir entre extrovertidos, y desarrollamos el clásico filtro mental y auditivo que nos permite simplemente ignorar a los demas en los momentos en los que no necesitamos saber de ellos. Por otro lado, el trabajo en equipo es algo valioso, y debemos seguir promoviéndolo, tanto como la creatividad solitaria, ambas cosas son valiosas.

Te invito a pensar con más detalle cuando intentes forzar a tu hijo a ser más sociable, quizá ya es lo suficientemente sociable y lo que necesita es más apoyo en sus actividades solitarias, quiza no lo estás dejando desarrollarlas suficiente… O quizá si :D , el chiste es no perder el contexto.

De igual manera en las relaciones laborales, necesitamos aprender a valorar más el trabajo productivo (en equipo o no) que las personalidades atractivas, recuerda que muchos de los grandes líderes no eran el estereotipo clásico del carismático actor de hollywood.

En fin, ya hay que empezar las actividades de la semana ! :D buena semana para todos o/

Share

The Open Enchilada Project: The Open Enchilada Project S05E03 – Paatentes y otros mounstros
The Open Enchilada Project: The Open Enchilada Project S05.Especial – Flisol 2012

May 06, 2012

Daniel Bahena

Daniel Bahena
Kwames' Blog feed

Screencast’s nueva temporada – Vim tips

Esta nueva temporada de screencasts va a estar dedicada a Vim. Vim (del inglés Vi IMproved) es una versión mejorada del editor de texto vi, presente en todos los sistemas UNIX.
Su autor, Bram Moolenaar, presentó la primera versión en 1991, fecha desde la que ha experimentado muchas mejoras. La principal característica tanto de Vim como de Vi consiste en que disponen de diferentes modos entre los que se alterna para realizar ciertas operaciones, lo que los diferencia de la mayoría de editores comunes, que tienen un sólo modo en el que se introducen los órdenes mediante combinaciones de teclas o interfaces gráficas.

Vim es uno de los mejores amigos no solamente de un sysadim sino también de developers. Estén atentos a estos screencasts de vim.

Post to Twitter

GNU/Linux - UPN: Reporte de actividades marzo 2012

May 04, 2012

Tony García

Tony García
Ñu feed

FLISOL 2012 (Morelos/Aguascalientes)

Durante el sabado 28 de Abril de 2012, se celebro el Festival Latinoamericano de Instalación de Sofware Libre, tuve la oportunidad de presentar una platica en la ciudad de Cuernavaca en Morelos, gracias al apoyo general del Grupo de Software Libre de Morelos y en particular de varias personas entre ellas alemani, GaRaGeD (Hasta que por fin nos conocimos) y el kwame quien nos dio asilo por un par de días y hasta la hizo de guía de turista(Gracias!).

Decidí hacer una platica NO técnica, pero el resultado fue una plática con un efoque muy particular sobre un tema muy polemico, nada más y nada menos que de Vi y Emacs, lo cual pudo ser de poco interés para los participantes si no estaban familiarizados con dichos temas.

En Aguascalientes por cuestiones de logística se llevará acabo el Sabado 5 de Mayo de 2012, la organización va por cuenta del Grupo de Usuarios de Linux en Aguascalientes (Los Pingüinos en el Alambre), aquí estaré dando la misma plática y la presentación la dejo aquí abajo, quiero agradecer en particular por el espacio y sobre todo el gran entusiasmo al buen betiux.

Editores de Texto en Linux

May 03, 2012

José Oviedo

José Oviedo
oviedo.mx feed

SQLite: Como acelerar firefox en Linux

Ahora le toca el turno a Linux, ya había puesto un post para acelerar Firefox, específicamente desfragmentando la base de datos de SQLite3 pero para MAC

Bueno los pasos son muy similares, primero instalar SQLite3

sudo apt-get install sqlite3

Y después buscar nuestra carpeta de profiles de Firefox, probamos con:

cd .mozilla/firefox/
ls

y la carpeta que aparezca será nuestro profile, en mi caso se llama: ddwnau8t.default

cd ddwnau8t.default
ls -lh places*
sqlite3 places.sqlite “vacuum”
ls -lh places*

El comando ls -lh es para ver el tamaño de los archivos, vemos que han sido modificado, y listoo!! :) ya esta desfragmentada la base de datos de Firefox

Planeta Laguna: Configurando BAM de Iusacell en OSX Lion.
Héctor Daniel Cortés

Héctor Daniel Cortés
'Aztec Eagle' Turbo feed

RHCE


RHCE110903861, originalmente cargada por hdaniel.

Misión Cumplida :-P

Gunnar Wolf

Gunnar Wolf
Gunnar Wolf feed

Co-starring: Debian Tour Managua 2012!

As stated in the 2012-04-30 edition of the Debian Project News, this weekend I will be meeting Holger Levsen (who has been there for over a week now) in Managua, Nicaragua, as part of the Debian Tour 2012, a set of talks meant to raise awareness and interest on Debian between the Nicaraguan (+Central American) user groups, university students, companies and government.

Not all of the planned activities are present in the Debian Tour webpage. I know I will be giving my talk on Debian in the Free Software projects' universe, this Saturday at Universidad Centro Americana (UCA). Besides this, we will be meeting on Monday with the UCA staff to discuss some DebConf-specific issues. Sunday? Well, I hope^Wfully trust we will have interesting activities as well :)

May 02, 2012

Fernando Gómez

Fernando Gómez
Fedoreando feed

¡Fedora 18 ya tiene nombre!

Hace algunos días termino la elección para el nombre de Fedora 18 pero no se había dado a conocer, y hace apenas algunas horas los resultados ya están visibles, el nombre que llevara Fedora en su próxima versión será Spherical Cow, un nombre un poco extraño si me preguntan, al igual que Beefy Miracle. Otra [...]
Planeta Laguna: Aún le queda vida al N900.
Planeta Laguna: ¡¡Ah que suerte tengo!! :(

May 01, 2012

Los Mejores Sitios de Web para Escuchar Música

El escuchar la música es mi pasatiempo favorito.  Desde mi niñez pasaba mucho tiempo disfrutando todos los tipos de música.  Recientemente hay mas y mas sitios en el internet en que puedo escuchar mis grupos favoritos.  A mi me gusta usar el pandora.com y el grooveshark.com.  Las altavoces de los Dell computadoras de escritorio son los mejores para escuchar y disfrutar la música.  ¡Lo mío tiene las mejores altavoces que hay!

Cada día yo escucho la estación del grupo Two Door Cinema Club por pandora.com antes de que yo vaya para la escuela.  En la escuela hay Dell computadoras touch screen y por eso no necesito dejar de escuchar mi música cuando llegue.  Lo mejor es que el Dell computadora touch screen tiene las altavoces como mi computadora y no hay sacrificio de sonido.  A veces los maestros y profesores no les gusta que yo escuche en clase, pero es bien difícil obedecerles porque me encanta la música.

Yo creo que las altavoces de mi computadora son tan buenas porque un ángel descendió y  las hizo.  Yo uso las altavoces para escuchar música, jugar video juegos, y ver videos del YouTube, pero el mejor uso es el música.  Hoy estaba usando pandora.com y un grupo nuevo se apareció en mi lista discográfica de Two Door Cinema Club.  El grupo se llama Silversun Pickups y suena muy bien.  Puedo hablar de mis grupos favoritos por un mil paginas, pero no tengo tanto tiempo para escribir.  Solo quiero decir que yo gasto horas y horas escuchando la música mía.  Para mi los sitios sean importantes, pero si no tengo altavoces excelentes no vale nada.  Es similar a ver un Blu-Ray video en una televisión horrible.  No es posible disfrutarlo completamente.

Bueno, quiero hablar mas de mis sitios favoritos.  He usado grooveshark.com para compilar una lista discográfica para mi baile es bien fácil porque hay miles y miles de canciones y cuando descubres una que te gusta solo necesitas guardarla en tu lista de canciones favoritas.  ¡Es tan fácil!  A mis amigos y yo nos gustan bailar a los Dubstep canciones.  Especialmente las del Skrillex.  Esta semana pasada mi amigo se compilo el mejor lista de canciones que hay, y todos nosotros bailamos con mucha fuerza.  Fue un evento inolvidable.  Me gusta usar los sitios pandora.com y grooveshark.com al mismo tiempo porque si a mi me gusta un artista o un grupo puedo hacer una estación en pandora y descubrir otros artistas y grupos que son similares.  Si me gusta una canción solo puedo escucharla una vez en pandora.com y esperar a escucharla otra vez a otro tiempo.  Pero, si uso grooveshark.com también, puedo disfrutar esta canción cuandoquiera.  ¡Que combinación!

Por eso mis sitios favoritos son el pandora.com y el grooveshark.com para escuchar la música mía.  Si tienes tiempo para escuchar la música tuya, necesitas usar estos sitios.  No hay otra manera mejor.  ¡Son tan importantes que aun tengo pandora en mi Smartphone!  ¡Las única cosas que le faltan mi Smartphone son las altavoces increíbles de mi computadora!

Apr 30, 2012

Planeta Laguna: Grave 0-Day en Hotmail, AOL y Yahoo permite cambio de contraseñas

Apr 29, 2012

Fernando Gómez

Fernando Gómez
Fedoreando feed

Cómo instalar Mate en Fedora 16/17

Saludos de nuevo, pues bien, he visto a un usuario llamado Carlos que escribió si Fedora incluia un fork de Gnome 2, respondiendo a su pregunta, la respuesta es no, no incluye un fork de Gnome 2 (no metamos en esto el fallback mode de Gnome 3) ni existe un spin con gnome 2, pero [...]
Carlos Augusto Lozano

Carlos Augusto Lozano
tail -f /dev/mind > blog feed

Get a dynamic function pointer with GDB

In order to use the “Return to libc” technique; you need to get the address memory of some fuctions that are into libc.

Taking advantage that all C programs include libc library, we can get the addresses using whatever program that you want. As a example:

// program.c
main(){}

Then‌

(gdb) break main
Breakpoint 1 at 0x804834a
(gdb) run

Breakpoint 1, 0x0804834a in main ()

(gdb) p system
$1 = {<text variable, no debug info>} 0xb7ecfd80 <system>
(gdb) p exit
$2 = {<text variable, no debug info>} 0xb7ec58f0 <exit>

Apr 27, 2012

Planeta Laguna: Convertir archivos de audio en OSX usando Audacity.
Jorge Luis Hernández

Jorge Luis Hernández
codeplasticlesthack feed

FLISOL Celaya 2012: Plática “Python + WebKit”

Es el 4to año consecutivo que este evento se lleva a cabo en Celaya, única sede del estado de Guanajuato por desgracia. Evento que es realizado dentro del Instituto Tecnológico de Celaya y en el que estuve involucrado en organización y coordinación durante 2 años (2009, 2010).

Este año (como el pasado) estuve de invitado para impartir una plática, y en este caso, con la temática de algunos experimentos que durante mis ratos libres (ya realmente son pocos) he estado probando con python y webkit.

Webkit ya es considerada como una plataforma para aplicaciones, podemos embeberla sencillamente con python para transportar una aplicación web a una aplicación de escritorio, y aprovechar toda la tecnología que Apple, Google y la comunidad ha venido desarrollando.

Los a credos a Python como yo, sabemos que este lenguaje es hermoso, pero mas allá de la estética en sintaxis, encontramos una infinidad de librearías para casi todo, y es por ello que juega un papel importante.

Dejo la presentación para aquellos que quisieran darle una simple vista, y en breve subiré los pocos códigos de ejemplo que presenté.

Apr 26, 2012

Planeta Laguna: Descargar Ubuntu 12.04 LTS Precise Pangolin por bittorrent

Apr 24, 2012

Max Valdez

Max Valdez
GaRaGeD Style feed

Redescubriendo Dojo (sin mucha alegría)

En estas últimas semanas ha habido muchos cambios, excepto en la publicación de notas en mi blog :D

Ya migramos de vuelta a Cuernavaca, y la estamos pasando muy bien :D , si fue un show, y va a seguir siendolo por un rato, el migrar en medio del ciclo escolar, y todo eso, pero la familia entera quería este cambio.

Entre las cosas nuevas de mi nuevo trabajo (en el CIE) está el ayudar a quien solicite ayuda en cuestiones de “cómputo”, y recientemente me preguntaron cómo hacer un script que haga una consulta asíncrona para determinar si un proceso ejecutado en “background” ya finalizó para posteriormente cargar la página de resultados.

La parte platicada fue fácil, todavía me acuerdo de los trucos de dojo, aunque y hace exactamente 2 años que no lo uso para nada.

Los conceptos son los mismos todavía, hay que ejecutar los siguientes pasos:

  1. hacer una consúlta asíncrona (AJAX)
  2. determinar por las respuesta si ya es posible o no ir a la página de resultados
  3. meter eso en un ciclo que mande la consulta cada X cantidad de tiempo

Para ello me puse a escribir un PoC que hiciera casi todo eso, lo que me falta es un “if” que discierna entre las respuestas posibles para hacer lo correcto, pero eso no tiene ciencia, realmente el chiste está en la consulta asíncrona que se ejecuta cada cierto tiempo.

al final quedó de esta manera:

<!DOCTYPE html>
<html>
<head>
	<meta charset="utf-8">
	<title>Tutorial: Hello Dojo!</title>
  <script>
    dojoConfig= {
      has: {
        "dojo-firebug": true
      },
      parseOnLoad: false,
      foo: "bar",
      async: true
    };
  </script>
	<!-- load Dojo -->
	<script src="//ajax.googleapis.com/ajax/libs/dojo/1.7.2/dojo/dojo.js"
	           data-dojo-config="async: true"></script>
  <script>
  require(["dojox/timing", "dojo/_base/xhr", "dojo/dom", "dojo/domReady!"], function(timing, xhr, dom){
    function setText(){

      // Execute a HTTP GET request
      xhr.get({
        handleAs: "text",
        // The URL to request
        url: "get-date.php",
        // The method that handles the request's successful result
        // Handle the response any way you'd like!
        load: function(result) {
          //alert("The message is: " + result);
          dom.byId("somediv").innerText=result;

        }
      });
    }
    var t = new dojox.timing.Timer(10000);
    t.onTick = function(){
      console.info("Ten seconds elapsed");
      // Call the asynchronous function
      setText();
    };
    // start the timer
    t.start();
  });

  </script>
</head>
<body>
  <h1 id="test">test: <a href="#" id="somelink">click here</a></h1>
  <div id="somediv">default</div>
</body>
</html>

Ahora, para llegar a esto me tomó como 4 horas en total, en gran medida por los cambios tan radicales que han hecho en la sintaxis de Dojo en la versión 1.7, ahora hay algo llamado AMD( asynchronous module definition ) que modifica mucho la forma en la que se cargan los módulos, y no es totalmente intuitiva la forma en la que se hace todo, estuve un buen rato experimentando con formas de cargar todo lo necesario, hasta que terminé con lo que se ve arriba, que se ejecuta automáticamente con el “dojo/domReady!”, creando el timer que ejecuta una función que hace la llamada asíncrona y actualiza un div con la respuesta.

A partir de ahí, todo debería ser miel y dulzura…

Es todo por el momento, ahi se ven

P.D. El get-date.php solo tiene 2 lineas:

<?php
echo date("D, d M Y H:i:s");

Share

Ernesto Cobos

Ernesto Cobos
Avenegra » Linux feed

Ubuntu 12.10 ya tiene nombre: Quantal Quetzal

 

El día de hoy  Canonical ha hecho oficial el nombre que tendrá la próxima versión 12.10 de  , una de las distros de  más utilizadas en el mundo, y el nombre de esta será Quantal Quetzal, el nombre de un ave hermosa y común en y México, por lo que Canonical sigue con su tradición de utilizar nombres de animales para nombrar sus versiones de .

La parte de “Quantal” derivaría de la nueva red de virtualización Quantum, que haría su estreno en la versión 12.10. Haciendo referencia al Quetzal, Mark Shuttleworth también hizo mención de que “el café está fuera y se necesita algo colorido y ligero”, por lo que podríamos esperar algunos cambios en el diseño de la nueva versión también.

Este anuncio llega como sorpresa ya que los usuarios y fanáticos de esta distro esperan con ansias a que llegue el próximo día jueves 26 de abril, en el cual será lanzada la Canonical sigue bautizando a Ubuntu con nombres de animalesversión 12.04 LTS llamada Precise Pangolin.

Mientras Precise Pangolin (12.04) debería estar lanzándose este mes, Quantal Quetzal vería la luz en octubre

En la versión Quantal Quetzal llegarán muchas novedades, aunque  han mencionado que Unity seguirá siendo mejorado, además de que habrán “Drasticos cambios y mejoras en el entorno Grafico”. Ubuntu 12.10 llegará en su fase definitiva el  18 de octubre, pero antes estará disponible desde el 7 de junio una versión en fase Alpha, eso sí, estas fechas pueden variar como lo han hecho en ocasiones anteriores.

Fuentes :

Quality has a new name (Mark Shuttleworth)

Calendario de Lanzamiento de Ubuntu 12.10 | Anuncio en el blog de Mark

 

Apr 23, 2012

David Moreno

David Moreno
Stereonaut! feed

Ruby and libv8: Exactly my feelings

Thanks to my coworker Dan for making a whole bunch of these based on our day job adventures :)

Apr 22, 2012

Héctor Reyes

Héctor Reyes
Héctor feed

PROGRAMACIÓN Y NIÑOS

Que opinan sobre el enseñar fundamentos de programación a niños y jóvenes y dejar de enseñarles a usar Office ya que su interes por la informática va mas alla que el solo aprender a hacer documentos.



Al menos mis alumnos de 5to grado quieren aprender a desarrollar video juegos o saber los fundamentos para el desarrollo web y estoy pensando que es lo que puedo enseñarles :spock:
José Carlos Nieto

José Carlos Nieto
log.hckr.org feed

GO: Using "import C"

Here's a really simple C code example of ImageMagick's MagickWand:

// Borrowed from http://members.shaw.ca/el.supremo/MagickWand/
// Last updated 2008/11/04 10:53

// A simple example equivalent to
// convert logo: logo.jpg

#include <stdio.h>
#include <wand/magick_wand.h>

int main(int argc, char **argv) {
  MagickWand *mw = NULL;

  MagickWandGenesis();

  /* Create a wand */
  mw = NewMagickWand();

  /* Read the input image */
  MagickReadImage(mw,"example.jpg");

  /* write it */
  MagickWriteImage(mw,"example-c.png");

  /* Tidy up */
  if(mw) mw = DestroyMagickWand(mw);

  MagickWandTerminus();

  return 0;
}

Compilation goes like this:

$ gcc wand.c -lMagickWand -lMagickCore -I/usr/include/ImageMagick

Here's the same code using the amazing GO's import "C"

/*
  Small example for using ImageMagick's Wand C interface in GO
  Based on http://members.shaw.ca/el.supremo/MagickWand/ 
  Written by xiam@menteslibres.org
*/

package main

/*
#cgo LDFLAGS: -lMagickWand -lMagickCore 
#cgo CFLAGS: -fopenmp -I/usr/include/ImageMagick  
#include <stdlib.h>
#include <wand/magick_wand.h>
*/
import "C"

func main() {

  var mw *C.MagickWand = nil

  C.MagickWandGenesis()

  mw = C.NewMagickWand()

  C.MagickReadImage(mw, C.CString("example.jpg"))

  C.MagickWriteImage(mw, C.CString("example-go.png"))

  if mw != nil {
    mw = C.DestroyMagickWand(mw)
  }

  C.MagickWandTerminus()

}

And compiling:

$ go build wand.go

Go's ability of importing C like a boss is just impressive!

José Carlos Nieto

José Carlos Nieto
log.hckr.org feed

Linux: reload your groups without closing session

$ gpasswd -a user group
$ ./group-requiring-app
$ Error: 'user' is not in 'group'.
$ su -l user
$ Password: 
$ ./group-requiring-app
$ Nice, you're in the appropriate group :-).

You can also try:

$ exec su -l user