domingo, 18 de octubre de 2015

Éxito total en el primer día del Software Freedom Day

Ayer estuvimos acompañando y apoyando a la comunidad del software libre en el Software Freedom Day en la Corporación Unificada Nacional de Educación Superior.
Tres auditorios con conferencias simultáneas, lleno total.

Nuestras conferencias La história de Linux en Colombia y El Software libre y los negocios fueron muy bien recibidas por la audiencia.

El miércoles las repetiremos en la Escuela Colombiana de Ingeniería, todos están invitados.

Conferencia: Historia de Linux en Colombia
Recomendamos las conferencias de nuestros amigos:
  • Cucho: Seguridad Informática y Software Libre
  • * Jaime Gómez: Por qué fracasan las comunidades en Colombia
  • * Luis Alejandro Bernal: ¿Qué es software libre? en mapas conceptuales
  • Wilfredo Pachón: Plataforma para Educación Virtual Integrada
  • * Phillipe Boland: Mediación Digital y PolDoc
  • * Luis E. Cano: Hacking o Cracking en Redes Sociales ¿Verdad o Mito?
  • * Offray Luna: Grafoscopio: Una herramienta de escritura y visualización de datos para ciencia abierta y ciudadana

Fotos y comentarios del evento encontrarán usando #SFDBogota en facebook y en Twitter.

Skina IT Solutions, Patrocinador oficial del Software Freedom Day

jueves, 15 de octubre de 2015

Software Freedom Day 2015, sábado 17 de Octubre

Ya está publicada la programación del evento. Estaremos este sábado 17 de Octubre de 2015 en la Corporación Unificada Nacional de Educación Superior CUN

Historia del Software Libre en Colombia

  • Ing.Ricardo Naranjo Faccini
  • Lugar: CUN Sede A - Calle 12 b Nº 4 - 79
  • 10:00am - 10:45am

El software libre y los negocios

  • Ing.Ricardo Naranjo Faccini
  • Lugar: CUN Sede G - Calle 17 Nº 4-95
  • 11:05am - 11:50am
Todos están invitados, el evento no tiene costo y es abierto para todos.

Agradecemos la invitación que nos hicieron para participar en el Software Freedom Day Bogotá 2015  

jueves, 3 de septiembre de 2015

¿INIT o Systemd?

En el blog de Errata Security publican un artículo llamado "About the systemd controversy..." donde explican la controversia que hay entre los desarrolladores del kernel de Linux y su userspace.

Básicamente la cuestión la describen así:

Desde su inicio el inicio del sistema operativo Linux está basado en una serie de scripts que indican la secuencia de arranque de los procesos del sistema operativo cada vez que se enciende la máquina. Estos scripts son llamados los scripts de INIT.

Debido a que INIT está basado en programas interpretados durante el arranque de Linux este inicio del sistema operativo es más lento que si estuviera fundamentado en programas compilados que estén en lenguaje de máquina.

Las grandes ventajas de INIT son:
  • El administrador del sistema puede modificar la forma de arranque del sistema operativo modificando unas pocas líneas de texto.
  • El sistema operativo puede llevar una bitácora sencilla indicando cómo fue el proceso de arranque del computador.
  • Las bitácoras pueden comprimirse y descartarse las antiguas para evitar que el disco duro se llene cuando hay errores.
Hace poco un grupo de desarrolladores propuso un reemplazo a INIT llamado SYSTEMD. Ésta propuesta está basada en un programa mucho más rápido que INIT puesto que es un binario (programa en lenguaje de máquina) pero, por serlo, no tiene las grandes ventajas que mencionamos de INIT.

La conclusión a la que llega el artículo es que ni INIT ni SYSTEMD son la mejor solución, ambas tienen problemas graves y es por esto que el mundo clama por una solución a este asunto.

viernes, 14 de agosto de 2015

Qué tan gratuito es Windows 10


Microsoft nos sorprendió con el lanzamiento de Windows 10 sin costo monetario asociado. Ciertamente es un cambio fundamental en las políticas comerciales del gigante de redmond.
Windows 10 promete ser mucho mejor que sus antecesores que han sido criticados al extremo por su mala calidad técnica. Además es una plataforma que unifica el mundo del desktop con el móvil, puesto que la misma versión de Windows funcionará en equipos de escritorio, tablets y smartphones.
Esto nos hace pensar ¿por qué Microsoft desperdicia esta oportunidad para llenar sus arcas?

Cómo funciona el asunto

Todo aquel que instale el último Windows 10 beta, build 10130 será actualizado automáticamente a la versión gratuita y completa de Windows 10 home retail version. Esta versión está publicada en el sitio web de Windows Insider.
El beneficiario obtendrá una copia completa de Windows 10 gratuitamente sin costos futuros durante el tiempo de vida de la plataforma.
Todo esto, únicamente si acepta estar dentro del programa de Windows Insider, esto quiere decir, en otras palabras, que todo aquel que utilice Windows 10 se convertirá en beta-tester (usuario que prueba un software) de la plataforma.
Para mantener este estatus es necesario que, en la medida en que Windows libere actualizaciones de la herramienta, el usuario las instale.
Hasta ahí, el asunto no tiene misterios y es bastante benéfico. ¡Aquellos piratas asérrimos desde hace muchos años podrán legalizar su sistema operativo! (por supuesto no están contemplados otros programas como Office, Photoshop, Autocad y el resto de programas y paquetes que usualmente piratean).

Las razones legítimas para el cambio

Microsoft está renovando su imagen bajo el mando de su nuevo CEO Satya Nadella quien recibe la empresa con el lastre de la mala imagen generada por Windows 8, inmerso en un mar de críticas. De esta forma, regalar Windows 10 es un movimiento inteligente para “pasar la página”.
Adicionalmente Microsoft tendrá a su disposición un ejército masivo de beta-testers que reportarán errores y ayudarán a verificar la seguridad de la versión de pruebas de Windows 10 en gran cantidad de diversos dispositivos, un proceso que la comunidad de software libre ha implementado desde sus inicios.
La gran ventaja que da alta calidad al Opensource es que además del programa permite ver el código fuente a su comunidad, con esto, se encuentran mayor cantidad de errores y la comunidad no solo detecta sino que también ayuda a reparar y mejorar.
Al entregarlo gratuitamente Microsoft no solo va a congregar a los usuarios normales de Windows sino que va a legitimar el universo de piratas que siempre ha estado conviviendo a su alrededor en una simbiosis peculiar puesto que su existencia beneficia la masificación del uso de su sistema operativo.

Dónde está la trampa

En realidad no hay trampa, Microsoft es bastante claro en su página web cuando explica: “Cuando se utiliza Cortana, Microsoft recopila y utiliza la información, incluyendo la información de su dispositivo de ubicación y el historial de ubicaciones, contactos (personas), la entrada de voz, búsqueda de historial, los detalles de calendario, el contenido y la historia de la comunicación de mensajes y aplicaciones, y otra información en su dispositivo. En Microsoft Edge, Cortana colecciona y utiliza su historial de navegación”.

Y esto ¿en qué beneficia a Microsoft?

Una de las grandes luchas del momento entre las grandes megacorporaciones relacionadas con la informática y telecomunicaciones se llama “búsquedas sociales”.
Cuando usted hacía una búsqueda en google.com de alguna frase en cualquier computador el resultado siempre iba a ser el mismo. Usted podía saber en qué puesto de un resultado de búsquedas se encontraba su página.
Ahora, dependiendo del perfil del usuario que esté realizando la búsqueda podrán aparecer diferentes resultados, debido a que Google obtiene, a partir de gmail, google+, waze y las demás herramientas gratuitas (provistas por google) que usted haya utilizado, un perfil de su comportamiento, quienes son sus amigos, cuales son sus intereses, cual es su edad, sexo, ubicación. Con base en este perfil, le presenta el listado con los resultados de búsqueda, también le presenta publicidad dirigida a usted.
Por supuesto Microsoft desea hacer lo mismo con bing y yahoo! tener resultados de búsquedas personalizados para cada persona, con publicidad dirigida a ella. Con ello podrá ser más acertado con su publicidad, vender más de ella y cobrar una mejor tarifa. Es decir que Microsoft no llenará sus arcas con su modelo tradicional de venta de licencias sino con la venta de publicidad, cambió su modelo de negocios.

Siendo accionista de facebook, Microsoft tiene acceso a mucha información de este estilo, pero brindando en forma gratuita Windows 10 Microsoft podrá tener acceso legal a toda esta información de TODOS los usuarios de Windows 10.
Esta es una de las formas de sacar provecho a esta nueva gran base de datos permanentemente actualizada que va a tener Microsoft de aquí en adelante.

¿Hay alternativas que no invadan la intimidad?

Si, el software libre ofrece múltiples opciones y muy buenas. La principal se llama GNU/Linux, un sistema operativo de alta calidad probado y utilizado por múltiples corporaciones, organizaciones y personas. Portado a casi todos los dispositivos en los que pueda correr un sistema operativo. Con una interfaz gráfica muy amigable para los usuarios y multiplicidad de aplicaciones para el trabajo de la vida diaria.
Es la base sobre la que se construye Android, el sistema operativo de la mayoría de los smartphones. Lo utilizan en la estación espacial internacional y en los rovers que están en marte y, como si fuera poco, no comparte tus datos personales con nadie.

Referencias bibliográficas y en internet

viernes, 24 de julio de 2015

Los motivos de Facebook para involucrarse con el OpenSource

Tras la presentación de James Pearse en OSCON Nicole Engard publica este artículo donde resume las respuestas encontradas a la gran pregunta ¿Por qué Facebook hace OpenSource?

Se sabe que Facebook permanentemente ha lanzado proyectos OpenSource, por lo menos uno al mes, y se involucra con comunidades alrededor del mundo para mejorarlas. Es más, la infraestructura de Facebook desde sus inicios es LAMP (Linux Apache MySQL y Php).

Pero más allá de las comunidades hacker alrededor de Facebook y su "deuda social" con el software libre; Facebook, simplemente, tiene claro que el OpenSource "es bueno para su empresa".
Las razones se resumen así:
  • Al compartir el código fuente de Facebook se acelera la innovación en el mundo y "no le duele", pues Facebook no es una fábrica de software así que no compartiendo sus secretos con la competencia. Por el contrario, las mejoras obtenidas gratuitamente, generadas por la comunidad, y las apps que construyen son reflejadas en mejores y más variados servicios de Facebook para sus clientes y usuarios.
  • Compartir su código fuente los obliga a escribirlo bien, de lo contrario la comunidad no lo entendería. Si la comunidad no lo entiende el anterior punto quedaría desvirtuado. Esto tiene un gran impacto en la buena calidad de su software, es más fácil de actualizar, mejorar y encontrar errores.
  • El OpenSource permite compartir los retos. Un problema interesante y dificil de resolver atraerá la atención de los miembros de la comunidad que les gusta solucionarlos. Como resultado no solo se soluciona el inconveniente sino que también se mejoran las competencias de su recurso humano, no solo porque aprenden de la forma como se solucionó el problema, sino porque identifican posibles candidatos para ser contratados.

Los repositorios de Facebook en Github, donde está disponible el código fuente, tiene 39000 forks y 240000 seguidores. Ahí no solo se encuentran ideas y proyectos, ahí se encuentran herramientas que Facebook utiliza en la vida real.

Los invito a leer el artículo completo y explorar los enlaces que tiene este artículo, allí encontrarán más información.

Tras leerlo me quedan varias inquietudes que me gustaría compartir con ustedes:
  • ¿no creen que cualquier empresa, que no sea fábrica de software, podría beneficiarse del software libre de la misma forma que lo hace Facebook?
  • ¿Cuales sectores piensan que se beneficiarían mejor al adoptar estos tres simples puntos?

sábado, 11 de julio de 2015

Manual del editor de texto VI

Este documento pretende ser una guía para el novato en vi, al final se muestran las funcionalidades y la potencia de gvim, el cual puede ser utilizado apoyándose en el uso del ratón.

1. COMO SE INVOCA

La forma normal de invocarlo es:
vi <archivo_texto>
en donde <archivo_texto> puede incluir el path necesario para ubicarlo.
Si <archivo_texto> existe, se carga para ser editado, de lo contrario inicia un archivo vacío con ese nombre.

2. MODOS

Existen 3 modos de edición en vi
  • ESTÁNDAR Es el modo de arranque por defecto, en él se pueden ingresar comandos de movimiento, borrado, búsqueda...
  • EDICIÓN Inserta o reemplaza caracteres en el texto.
  • COMANDO Es el modo que permite entrar y salir del programa, almacenar archivos y modificar las opciones de despliegue
En las versiones antiguas de vi no es posible realizar movimientos alrededor del texto en modo de EDICIÓN.
En las versiones recientes de vi como gvim, el modo de EDICIÓN permite el movimiento entre renglones y caracteres e incluso resaltan las palabras reservadas de varios lenguajes de programación.
En Gnu/Linux es extremadamente útil el uso del botón de la mitad del ratón que permite copiar los textos seleccionados, no solo para la digitación de textos sino para el envío de comandos o la realización de búsquedas.

3. MODO DE COMANDO

Para ingresar al modo de COMANDO debe encontrarse en modo de ESTÁNDAR y presionar la tecla [:], luego se ingresa el comando que se desea y la tecla [Enter] inmediatamente volverá al modo ESTÁNDAR.
Si desea cancelar el comando presione la tecla [Esc] y volverá al modo ESTÁNDAR

3.1. COMANDOS DE USO FRECUENTE

:q  Salir de vi.
:q! Salir de vi descartando los cambios
:x  Guardar los cambios y salir de vi. cambios realizados
:wq Guardar los cambios y salir de vi. :w Almacenar el archivo.
:e! Descartar los cambios y abrir de nuevo la última versión almacenada.

:set ts <#> establece el tamaño de los tabuladores.
:colors <esquema> se utiliza en gvim, el esquema de colores puede ser personalizado o utilizar uno de los estándares: koehler, pablo, evening, elflord y otros que se pueden encontrar en el manual o presionando el tabulador.
:set ruler Se utiliza para que en la última línea aparezca el número de línea, su valor porcentual y el número de carácter en que se encuentra ubicado el cursor.

4. MODO ESTÁNDAR

En este modo es bien útil saber que el caracter ^ se refiere al principio de la línea y $ al final de ella.

4.1. MOVIMIENTOS

Los movimientos se pueden realizar con las flechas del teclado o con los caracteres:
  • k Subir.
  • j Bajar.
  • h Izquierda.
  • l Derecha.
  • ^,0 Inicio de línea.
  • $ Fin de línea.
  • w,W Siguiente palabra (word).
  • b,B Anterior palabra (back).
  • <#>| Ir al caracter <#> de la línea.
  • t<c> Ir a la siguiente ocurrencia del caracter <c> en la línea.
  • T<c> Ir a la anterior ocurrencia del caracter <c> en la línea.

  • :<#> Ir a la línea <#>.
  • G Final del archivo.
  • <#>G Ir a la línea <#>.
  • H Cursor al principio de la pantalla.
  • M Cursor en la mitad de la pantalla.
  • L Cursor al final de la pantalla.

  • [Ctrl] B Página anterior (Backward).
  • [Ctrl] F Página siguiente (Forward).

  • % Sobre un corchete o paréntesis busca al compañero.

  • } Avanzar un párrafo.
  • { Retroceder un párrafo.

4.2. BÚSQUEDAS

  • /<cadena> Avanza hasta la siguiente ocurrencia de <cadena>
  • ?<cadena> Avanza hasta la anterior ocurrencia de <cadena>
  • n Repite la última búsqueda de cadena en el sentido especificado.
  • N Repite la última búsqueda de cadena en el sentido contrario.
  • `` Vuelve a la posición del cursor antes de la búsqueda.
  • /<cadena>/<#> Avanza hasta <#> líneas después de la siguiente ocurrencia de <cadena> (<#> puede ser negativo, muy útil para indentación y sustituciones)

cadena, por supuesto, es una expresión regular

4.3. MULTIPLICACIÓN DE MOVIMIENTOS

Si se antepone un número a un movimiento se multiplica éste
  • <#>w, <#>W Avanzar <#> palabras
  • <#>b, <#>B Retroceder <#> palabras
  • <#>[Ctrl] F Avanzar <#> páginas
  • <#>[Ctrl] B Retroceder <#> páginas
  • <#>} Avanzar <#> párrafos
  • <#>{ Retroceder <#> párrafos
  • <#>l Avanzar <#> caracteres
  • <#>h Retroceder <#> caracteres
  • <#>k Subir <#> líneas
  • <#>j Bajar <#> líneas
Igual con las flechas del teclado.

5. MODO DE EDICIÓN

Al ingresar uno de los siguientes caracteres estando en el modo ESTÁNDAR se ingresa al modo de EDICIÓN hasta el momento en que se presione la tecla [Esc].

5.1. INSERCIÓN

  • a Empieza a insertar justo después del cursor (se puede multiplicar con <#>)
  • i Empieza a insertar justo antes del cursor (se puede multiplicar con <#>)
  • A Empieza a insertar al final de la línea (se puede multiplicar con <#>)
  • I Empieza a insertar al inicio de la línea (se puede multiplicar con <#>)
  • o Nueva línea debajo de la línea actual (se puede multiplicar con <#>)
  • O Nueva línea arriba de la línea actual (se puede multiplicar con <#>)

5.2. SUBSTITUCIÓN

  • r Reemplaza el caracter después del cursor por el siguiente caracter quese digite y queda en modo estándar (se puede multiplicar con <#>).
  • R Reemplaza los caracteres de la línea por los que se digiten.
  • s Elimina un caracter y queda en modo de EDICIÓN (se puede multiplicar con <#>s).
  • S Elimina la línea actual y queda en modo de EDICIÓN.

6. MODO ESTÁNDAR

6.1. BORRADO

  • x Elimina el caracter bajo el cursor (se puede multiplicar con <#>x).
  • X Elimina el caracter anterior al cursor (se puede multiplicar con <#>X).
  • dd Elimina la línea actual. (se puede multiplicar con <#>dd).
Si se utiliza la secuencia:
d<comando de movimiento>
se puede obtener el efecto del borrado hasta el final del movimiento (incluso si se está multiplicando el comando de movimiento):
  • dw Elimina la siguiente palabra.
  • d<#>w Elimina las siguientes <#> palabras.
  • db Elimina la anterior palabra.
  • d$ Elimina hasta el final de la línea.
  • d<#>b Elimina las anteriores <#> palabras.
  • d<#>G Elimina desde la posición actual hasta la línea <#>
  • d/<cadena> Elimina hasta la siguiente ocurrencia de <cadena>
  • ... ...

6.2. CAMBIOS

cc Cambiar la línea actual (se puede multiplicar con <#>).
~ Cambiar entre mayúsculas y minúsculas (se puede multiplicar con <#>).

Igual que con el comando de borrado "d" el comando de cambio "c" puede
utilizarse combinado con comandos de movimiento.

6.3. INDENTACIÓN

  • >> Indentar la línea actual (se puede multiplicar con <#>).
  • << Desindentar la línea actual (se puede multiplicar con <#>).
Igual que con el comando de borrado d el comando de indentación > y < puede utilizarse combinado con comandos de movimiento.

6.4. REPETICIÓN DE COMANDOS

Tanto los movimientos como inserciones, eliminados, cambios e indentanciones pueden repetirse utilizando el comando ".", igualmente el comando "." puede multiplicarse utilizando un <#> precediéndolo.

6.5. DESHACER

u Deshace el último comando de edición.
U Deshace todos los comandos de edición sobre la línea actual.
[Ctrl] R Rehace los cambios deshechos con los comandos "u" o "U" (solo
implementado en nuevas versiones de vi).

6.6. MOVER Y COPIAR TEXTO

Siempre que se elimina un texto vi lo almacena en la memoria en un "buffer especial", adicionalmente con las teclas "y" e "Y" se puede enviar un pedazo de texto a la memoria para ser copiado en otro lugar del texto, igual que otros comandos puede multiplicarse anteponiéndole un <#> o combinarlo utilizando comandos de movimiento.
yy, Y Copiar a memoria la línea actual (Yank).
p Pegar el contenido de la memoria justo antes del cursor/línea.
P Pegar el contenido de la memoria justo después del cursor/línea.

7. SUBSTITUCIONES

Adicionalmente, en el modo de COMANDO, es posible indicarle a vi que realice sustituciones utilizando expresiones regulares.

7.1. SINTAXIS

:<región>s/<exp_reg>/<cadena>/<opción>
Significado: substituya en la <región> las ocurrencias de la <exp_reg> por la <cadena> de acuerdo a la <opción> especificada.
<región> puede ser:
  • % todo el archivo
  • <#1>,<#2> entre la línea <#1> y la <#2>
  • . solo la línea actual
  • $ solo la última línea
  • .+<#> desde la línea actual hasta <#> líneas después.
  • .-<#> desde la línea actual hasta <#> líneas antes.
  • $-<#> desde la última línea hasta <#> líneas antes.
  • g/<exp_reg1>/ todas aquellas líneas que contengan la expresión regular
  • <exp_reg> es una cadena de caracteres que puede contener los siguientes caracteres especiales:
  • ^ Indica el principio de la línea.
  • $ Indica el final de la línea.
  • \ Se utiliza para proteger el siguiente caracter (útil para indicar caracteres / en las expresiones regulares).
  • . Un caracter cualquiera.
  • * Uno o mas caracteres cualquiera.
  • \< Utilizado al principio de la expresión regular indica que es el inicio de la palabra
  • \> Utilizado al principio de la expresión regular indica que es el final de la palabra
  • [<conjunto de caracteres>] Indica que el caracter puede coincidir con cualquiera del conjunto de caracteres, el cual puede ser de las siguientes formas:
    • <c1><c2>...<cn>: Todos los caracteres indicados en la lista.
    • <c1>-<c2> : Los caracteres en orden alfabetico/ascii entre
    • <c1> y <c2>.
    • ^<c> : Todos los caracteres menos <c>.
<cadena> cadena por la cual se substituirá la expresión regular

<opción>
  • Sin opción solo reemplaza la primera ocurrencia en cada línea.
  • g Todas las ocurrencias en cada línea.
  • c Pide confirmación de la substitución.

7.2. EJEMPLOS

  • :.s/gat[oa]//g elimina cualquier ocurrencia de gato y gata en la línea actual.
  • :%s/199[0-9]//g elimina cualquier ocurrencia de 1990, 1991, ..., 1999
  • :.,$s/p[aeiou]s[oe]//g elimina cualquier ocurrencia de paso, peso, piso, poso, puso, pase, pese, pise, pose, puse entre la línea actual y el final del archivo
  • :1,.s/sex[^o]//g elimina cualquier ocurrencia de sex y un caracter que no sea "o" desde el principio y la línea actual.
  • :15,50s/casa/choza/g substituye las ocurrencias de casa por choza entre las líneas 15 y 50.

8. Utilidades adicionales

  • J Junta en una sola línea la actual y la siguiente (se puede multiplicar con <#>).
  • [Ctrl] G Información de la posición actual y del archivo en edición.
  • [Ctrl] L Refresca la pantalla (cuando un mensaje del sistema interrumpe el programa)

8.1. OPCIONES DE DESPLIEGUE

  • :set nu Muestra el número de línea de cada una.
  • :set nonu Oculta los números de línea.
  • :set wrap Muestra las líneas completas en la pantalla.
  • :set nowrap Muestra únicamente la porción de cada línea que cabe en la pantalla.
  • :set ai Habilita la autoindentación
  • :set noai Deshabilita la autoindentación
  • :set eb "error bell"
  • :set noeb ...
  • :set ic "ignore case" no distingue mayúsculas/minúsculas en las búsquedas
  • :set noic ...
  • :set sm "show matc" cuando se digita un corchete/parentesis indica el compañero.
  • :set nosm ...
  • :set all informa las opciones habilitadas.

8.2. CARACTERES ESPECIALES

En algunos archivos texto es importante insertar caracteres del estilo [Ctrl] M los cuales se pueden insertar utilizando la secuencia:
  • [Ctrl] V <Letra>

8.3. EJECUCIÓN DE COMANDOS DEL SISTEMA

  • :!<comando> Ejecuta el comando especificado en UNIX.
  • :!!<comando> Ejecuta el comando especificado en UNIX con la línea actual como entrada estándar (!<movimiento> envía al programa por la entrada estándar la región de texto que cubre el movimiento).

8.4. ESPAÑOL

Al realizar documentos en español es importante saber que si el ambiente opone resistencia para colocar las tíldes la secuencia: [Ctrl] K ' <vocal> genera la <vocal> tildada.

8.5. OPCIONES POR DEFECTO

En el archivo ~/.exrc se deben colocar las opciones que el usuario desee tener por defecto, adicionalmente el comando:
  • :source <archivo_texto>
permite cargar un archivo de texto predefinido con los comandos que se desee aplicar al archivo.

8.6. MANEJO DE ARCHIVOS

El comando para leer e insertar un archivo insertándolo en la línea actual es
  • :r <archivo_texto>
Para generar nuevos archivos se utiliza
  • :<región> w <archivo_texto>
Si el archivo destino ya existe hay que utilizar:
  • :<región> w! <archivo_texto> para sobreescribirlo.
  • :<región> w >> <archivo_texto> para escrbir al final del archivo.

9. GVIM o vim-X11

Esta es una versión de vim optimizada para Xwindows que soporta el manejo del ratón, permite seleccionar con el puntero las áreas que se desean repetir o manipular. (cuando hablemos de puntero nos referiremos al puntero del mouse y cuando hablemos de cursor nos referiremos al cursor de texto que titila).
  • Para seleccionar un área puedo hacer click y arrastrar el puntero, con ello selecciono el texto.
  • Si hago doble-ckick se selecciona toda la palabra bajo el puntero y si arrastro el puntero tras el doble-click va seleccionando de palabra en palabra.
  • Si hago triple-click: se selecciona toda la línea bajo el puntero y si arrastro el puntero tras el triple-click va seleccionando de línea en línea
  • Si hago cuadruple-click y arrastro el puntero, puedo seleccionar un bloque de caracteres, es la opción más útil cuando se está codificando software.
Una vez seleccionado el bloque se pueden hacer muchas cosas, por ejemplo: 
  • botón medio del ratón pega bajo el puntero lo seleccionado (no importa si es en otra ventana de gvim)
  • y copia la selección para pegarla en otro sitio (se usa cuando no es visible el sitio donde se desea pegar la selección, de lo contrario se hace presionando el botón medio del ratón)
  • p pega el contenido seleccionado a partir de la posición del cursor.
Esto funciona incluso cuando se selecciona un bloque de caracteres con el cuadruple-click. Igualmente, al seleccionar con el cuadruple-click un bloque de texto se pueden hacer cosas como:
  • c cambia todo el bloque por el texto que se digite hasta que se presione [ESC]
  • r reemplaza el bloque por el caracter que se digite a continuación.
  • >> indenta el bloque seleccionado
  • << desindenta el bloque seleccionado
Con estas guías, y conociendo las otras funcionalidades de gvim, uno se puede poner creativo e intentar nuevas cosas, es bastante intuitivo y generalmente funciona lo que a uno se le ocurre.

Espero haya sido de utilidad esta guía, cualquier comentario que tengan o si desean que se agregue un capítulo que crean que hace falta y es de utilidad, háganmelo saber y con gusto lo añadiré.

martes, 14 de abril de 2015

Por qué es importante Linux 4.0

En el mundo del software libre son permanentes y frecuentes los cambios de versión de los diversos paquetes, sin embargo, desde que fue lanzado Linux 3.0 en el 2011, no se había cambiado este número de versión.

En 2012 se lanzaron las subversiones 3.2 y 3.4 y, como es natural, múchísimos releases han sido publicados (una especie de versión que no cambia radicalmente respecto de la anterior). Pero hacer un cambio de número en la versión del kernel de Linux, no es algo frecuente y es el resultado de un cambio importante.

En resumen, los cambios de versión registrados, en estos 24 años de vida de Linux, han sucedido así:
  • 0.01, la primera publicada, 17 de septiembre de 1991
    (a pesar de que desde agosto 25, ya existía; fecha que se asocia con su nacimiento)
  • 1.0.0, la primera versión estable: 13 de marzo de 1994
  • 2.0.0, 9 de junio de 1996
  • 3.0, 22 de julio de 2011
  • 4.0, 12 de abril de 2015

 

Cómo se tomó la decisión

Linus Torvalds no es dictatorial en este las modificaciones de Linux, ni siquiera en el cambio de número de versión. En noviembre de 2013 se había propuesto el cambio de este número a 4 pero la comunidad no estuvo de acuerdo.

Para hacerlo Linus publicó en su cuenta de Google+ una encuesta preguntando a sus seguidores la opinión que tenían al respecto, recibiendo 31,581 votos y una opinión favorable del 56%. Como pueden ver, no todo el mundo está de acuerdo y fue una decisión bien dificil.

 

Cuales son las novedades

Son muchísimas las novedades que se han implementado en estos últimos 4 años, pero lo más importante es que ahora se puede hacer live kernel patching.

Antes del kernel 4.0, cuando se publicaba una versión nueva de Linux era necesario reiniciar el computador para que la nueva versión pudiera entrar en funcionamiento. Con el kernel 4.0 de Linux, ya no es necesario apagar el equipo, para disfrutar de las mejoras, se pueden activar con el computador en funcionamiento y sin interrumpir su servicio.

 

Por qué es importante el Live Kernel Patching

Probablemente para el usuario de escritorio esta mejora no signifique mucho, tampoco para muchos administradores de áreas de IT, pero para aquellos que requieren tener alta disponibilidad en sus servidores esta característica es fundamental.

High availability significa que un computador permanece brindando servicios ininterrumpidos y, si es necesario apagarlo para cambiar de versión de Linux, pues no hay tal.

Para los beneficiarios de la versión 4.0 de Linux se acabaron los mensajes que anunciaban "Cese de funciones por mantenimiento de equipo programada para el AAAA-MM-DD entre las HH:MM y las HH:MM". (bueno, a menos que sea por otra causa).


¿Cual versión de Linux tengo yo?

Cómo averiguar la versión de kernel de Linux que tengo en mi equipo: símplemente abra una terminal y ejecute el comando:

uname -r


martes, 3 de marzo de 2015

Ubuntu y Dell apuestan en la masificación

La noticia con la que nos sorprendieron este Febrero de 2015 es que a partir de ahora tendremos la disponibilidad, en 500 tiendas latinoamericanas, de portátiles y computadores Dell preinstalados con GNU/Linux en su distribución Ubuntu.

Ubuntu es la distribución más popular para computadores de escritorio, viene con Unity, Gnome shell o KDE como gestores de escritorio, los cuales brindan una experiencia bastante amigable al usuario.

Denota un cambio en las estrategias de Dell que anteriormente se enfocaban en tener el mínimo de inventario en puntos de venta, preínstalar sólo el sistema operativo de Microsoft y montar las protecciones UEFI que dificultan a los amantes de GNU/Linux cambiar el sistema operativo del equipo.

Seguramente nos enteraremos más adelante de las razones ocultas para este cambio de estrategia, las cuales probablemente están orientadas en mejorar la capacidad de negociación de Dell frente a Microsoft (no es la primera empresa que lo hace).

Pero, por lo pronto, podremos disfrutar de una oferta bien atractiva que potenciará la masificación del uso del sistema operativo libre más difundido en el mundo.

miércoles, 4 de febrero de 2015

Curso: "eMarketing apoyado en redes sociales"

Asociación Colombiana de Ingenieros de Sistemas - Skina IT Solutions

Fecha:  Marzo 3 a 14 de 2015

Introducción:

Las redes sociales como Google+, facebook y twitter; los buscadores como google, bing y yahoo; y el tradicional correo electrónico ofrecen un gran número de funcionalidades para que las empresas realicen su mercadeo en línea apoyándos en ellas.

Sin embargo muchas organizaciones desconocen estas funcionalidades o no dimensionan su poder de venta, otras hacen uso de ellas sin tener claro los resultados de sus esfuerzos pues no utilizan herramientas para la medición.

Este curso pretende alinear los esfuerzos de los directores de mercadeo con las habilidades del equipo de IT para implementar estrategias enmarcadas en un plan de mercadeo claro, específico, enfocado y medible, con metas retadoras pero alcanzables.

Orientado a:

  • Directores Comerciales y de Mercadeo.
  • Directores de IT.
  • Webmasters.


Fecha: Marzo 3 al 14 de 2015
Fecha limite de Inscripción: Lunes 2 de Marzo del 2015
Valor:
Miembros de ACIS: $710.000 + IVA
Particulares: $892.500 + IVA
Lugar Curso: Instalaciones de ACIS, Calle 93 # 13-32. Salon Royal.
NOTA: No disponemos de parqueadero en ACIS.
PARQUEADERO SUGERIDO: Tarifa $70 minuto.
Dirección Parqueadero: calle 93 nº13a-88

Duración: 25 Horas
NOTA: El estudiante debe traer portatil con capacidad de conexión wifi y se acepta un portatil por dos personas.

Descuentos adicionales por grupos de la misma empresa, entre 3 y 6 participantes se otorga el 5% de descuento y 7 o más tendrán un descuento del 10%, quienes se encuentren interesados pueden diligenciar y enviar la siguiente información vía email a: ó al Tel- fax 6161407,6161409, 6350745, 6350747, ó enviarla a la Calle 93 No.13-32 Oficina 102: Nombres, E-mail, Empresa, Cargo, Dirección, Teléfono, indicar si es miembro de ACIS.

jueves, 22 de enero de 2015

Open source en dispositivos móviles

Generalmente cuando se piensa en open-source, no se piensa en los dispositivos móviles, sin embargo, Android, per-se, el sistema operativo más difundido para móviles, es, nada más y nada menos: software libre. (Bueno,  Richard Stalman, dice que en el estricto sentido de la palabra, no lo es)

En este artículo de Datamation se presentan 50 aplicaciones OpenSource que abarcan desde aplicaciones para la vida diaria, hasta herramientas para desarrollar software para dispositivos móviles: