Video Tutoriales: Cómo compilar el kernel en Ubuntu

He preparado 3 vídeos que muestran cómo compilar el kernel en Ubuntu desde 0. En lugar de descargar el código fuente de kernel.org me baso en los paquetes .deb con el código fuente «tuneado» para una máquina Ubuntu Linux. Se muestra cómo instalar las dependencias necesarias para preparar el entorno de compilación, cómo instalar el paquete con el código fuente del kernel y módulos, cómo dar la orden de compilación y cómo instalar los paquetes .deb que se generan al compilar el código fuente del núcleo de Linux.

Ya no hay excusa para decir que «no sé cómo compilar el kernel» 🙂

Aprendiendo de las anécdotas

Bar Ostadar, Donostia. Comida/Reunión para planificar algunos aspectos de la migración de BabeliumProject a HTML5. Comprobemos a ver si tenemos acceso a la señal wifi Eduroam (las facultades quedan muy cerquita). Ooops… la primera red Wifi tiene un nombre muuuuuy curioso 🙂 ¿Le sacamos un pantallazo? Mmmhh… si pulso ImprPant se esfuma el menú del NetworkManager. ¿Cómo lo hago? Si tuviéramos Shutter instalado, it would be a piece of cake! 🙂 Pero no lo tenemos… entonces, ¿cómo? Abrimos una terminal y tecleamos:

$ sleep 5 && xwd -root > salida

La idea es esperar 5 segundos (tiempo más que suficiente para que con el ratón abramos el menú del Network Manager y lo dejemos a la vista mostrando los nombres de las redes). A los 5 segundos el comando xwd sacará un pantallazo a pantalla completa. El fichero salida es una imagen raw que podemos editar con Gimp.

¿Cuál era el nombre de red que ha provocado todo esto? Échale un vistazo al pantallazo adjunto 🙂

La Comunidad OpenDNIe se presenta con un evento internacional en la Universidad de Cádiz

Los días 26 y 27 de mayo tendrá lugar en la Universidad de Cádiz el primer HackFest destinado a la Comunidad OpenDNIe, que organizado por CENATIC (Centro Nacional de Referencia de Aplicación de las TIC basadas en Fuentes Abiertas), reunirá a los responsables de algunas de las instituciones colaboradoras del proyecto como la Dirección General de la Policía y Guardia Civil (DGPGC), la comunidad OpenSC, la Free Software Foundation Europe (FSFE), el Instituto Nacional de Tecnologías de la Comunicación (INTECO), las empresas Atos Origin y Emergya, así como muchos desarrolladores, entre los que destaca Juan Antonio Martínez.

Este primer evento asociado a la Comunidad OpenDNIe analizará el desarrollo, evolución y sostenibilidad del driver abierto y legal del DNI electrónico en España sobre el estándar de criptografía de clave pública PKCS#11. Además, se tratarán aspectos técnicos y legales del proyecto, y las líneas de actuación futuras en lo que a identidades digitales se refiere desde el punto de vista del desarrollo de software, marcando el camino conjunto entre OpenDNIe y OpenSC.

Estudio de prospectiva Soft Libre 2020 en Euskadi

El 29 de marzo hablábamos sobre movimientos relativos al soft libre en el Gobierno Vasco. Indicaba que pediría los documentos relativos a la Oficina Técnica del Software Libre -que se entregaron en CD- al señor Etxeberría y éste, amablemente, me los hizo llegar (vaya desde aquí mi agradecimiento primero por preocuparse por el soft libre – aunque sea para fiscalizar lo realizado mientras gobierna el PSE 😉 y por responder a mi petición – la verdad, me temía que mi mensaje acabara en /dev/null)

Ninguno de los documentos tiene la etiqueta de confidencial, al contrario, muchos de ellos tienen una licencia Creative Commons cc-by-sa (tratándose del a Oficina del Software Libre ¡era lo suyo!). Esperaba encontrar más documentación técnica y menos «literatura», pero no ha sido así. En fin, entre los documentos más interesantes se encuentra el «Estudio de prospectiva Software Libre 2020 en Euskadi».

De él (podéis encontrar aquí el documento completo.), destacaría 2 apartados. Uno en el que se describen 3 escenarios futuros e hipotéticos con respecto al software libre en Euskadi: «Porrot» (fracaso), «Saltoka» (avance a saltos) e «Izarren hautsa» (polvo de estrellas, éxito).

Y por otro lado, subrayaría las 28 medidas concretas que se proponen para llegar al escenario «Izarren hautsa», a saber:

Formación en software libre

1. Formación, cambio de cultura y educación a funcionarios. Todavía existen un largo camino de concienciación y de educación en lo que es el software libre. Va a suponer una ardua y dura labor de educación a funcionarios, sobre todo porque los cambios siempre son costosos; pero va a ser un paso necesario.

2. Cursos y formación técnica a los responsables de las tomas de decisiones técnicas (jefes de servicio)

3. Formación estratégica a responsables políticos y personal de dirección.

4. Programas de educación y difusión del softwre libre y su utilización entre los ciudadanos.

5. Motivación y sensibilización del personal de la administración pública: exposición de razones reales para cambiar al Software Libre, desmontando los mitos existentes

Promoción – Apoyo – Difusión del software libre

6. Crear un centro de excelencia en software libre, que ofrezca “evaluación tecnológica” -donde se midan, y se comparen entre software de código abierto y software propietario, parámetros de calidad del software, y también parámetros de la calidad del servicio y atención de los proveedores de software de código abierto vs los proveedores de software propietario.

7. Fomento del trabajo con estándares que otorgue libertad al usuario para seleccionar cómo quiere interactuar con la Administración (con qué dispositivo y desde qué sistema operativo o aplicación). Dado que la conexión móvil y a distancia será una tendencia cada vez más presente en la sociedad, será de vital importancia.

8. Fomento de la Interoperabilidad entre plataformas dentro de la propia Administración al trabajar con estándares.

Gestión y desarrollo del cambio interno

9. Adopción de decisión política y directiva de migrar a Software Libre en la Administraciones. En definitiva, migración a entornos libres en la administración pública

10. Liberación del código fuente de las aplicaciones que poseen las AAPP vascas

11. Fomentar el cambio de mentalidad en la gestión de adquisiciones de software, primar la independencia tecnológica, tener en cuenta los costes derivados de licencias actuales o futuras,directas o indirectas…

12. Asegurar que los planes de cambio y migración tengan muy en cuenta la resistencia natural al cambio del personal involucrado, lo gestionen y lo prevean.

13. Evitar dispersión de esfuerzos y sobre-costes. Por ejemplo, utilizar distribuciones de Linux que sean comunes en el mercado, en vez de crar una adicional como ha hecho algunas comunidades autónomas con el coste asociado y sin un beneficio diferencial claro

14. Fijación de objetivos de ahorro derivado de la reutilización de desarrollos (será importante que las Administraciones no sólo hagan uso de software libre sino que también liberen sus desarrollos para enriquecer y fortalecer a la comunidad).

15. Elaboración de “Planes Estratégicos” de migración. Por ejemplo, plantearse objetivos como “cambiar todos los servidores Unix a Linux en un plazo de 3 años”.

Política de compras y licitaciones

16. Licitaciones que contemple la utilización de software libre. Leyes de contratación que tengan en cuenta las particularidades del software. Mesa de compras de software que prorice el uso del software libre y las inversiones en software privativo deban justificarse adecuadamente.

17. Creación de normas por las que se recomiende analizar, antes de invertir en tecnología propietaria, si no hay una alternativa válida basada en tecnología de código abierto, que no limite el futuro del Sector Público de Euskadi

18. Análisis de los costes (aprendizaje, cambio cultural) y beneficios (ahorro en licencias, personalización, innovación y mejora continua) que supondrían a la Administración la utilización del SL

19. Fijación de objetivo de limitación/disminución del gasto en licencias. El alto coste de las licencias de los paquetes de software privativo así como la tendencia al acceso que tendrán estas tecnologías, hará que la Administración tenga que plantearse estrategias que no le aten a multinacionales y con las que tenga total control sobre sus datos. Un ejemplo de ello es el CRM SalesForce, que está en “la nube” y el coste de licencia por usuario es altísimo.

Estrategias y políticas de apoyo en el ámbito de la innovación (I+d, OpenGov, …)

20. Dotarse de fundamento legal que respalde la decisión política de apoyo al S.L y que institucionalice su uso.

21. Inversión en I+D+I en plataformas abiertas. No solo hay que usar y apoyar herramientas abiertas como OpenOffice.org o MySQL sino que hay que colaborar con su desarrollo, mejora y mantenimiento de forma directa. Es decir, dotar a los proyectos con software de código abierto de presupuestos adecuados para que haya empresas y comunidad tecnológica que de un servicio adecuado alrededor del software, y lo continúe desarrollando

22. Unificación de las políticas y estrategias Open: Software Libre, Open data, OpenGov, … Política de completa transparencia en el uso de software libre y su inclusion en los canales de datos de open goverment . En general, apertura de las aplicaciones de la Administración, así como de la información de la mano del open data.

23. Apuesta por el I+D+i que contemple Software Libre, fomentando proyectos de cooperación, y el conocimiento e innovación abiertos entre empresas de diferentes índoles.

24. Fomento y mayor aplicación del euskera en las TIC, que vendrá del software libre.

Apoyo al tejido empresarial y social

25. Articular herramientas de comunicación con el tejido empresarial local que desarrolla y/o da servicios de Software libre

26. Programa de reconversión / cambio de las empresas que utilizan software privativo tradicional

27. Programa de incentivación para la creación de nuevas empresas en Software Libre.

28. Programa de información y ayudas a las empresas (entornos industriales y de servicios) para la implementación de Software libre. Ayudas en formación e incentivos a las empresas locales que usen software libre. Es decir, programas que ayuden (con medidas diversas como subvenciones, gente especializada de apoyo, guías y documentación) a las migraciones de software propietario a software de código abierto.

HackIt! 2010: Level 4. Solución

Realmente una prueba que superamos en menos tiempo que la anterior. Basta con un pequeño script o programa para solucionar. Yo me he decantado por esto último, algo quick & dirty en Java: un bucle recorre el fichero, guardando en una tabla hash el número de apariciones de cada carácter que aparece en el enorme texto que nos plantea el reto 4.

import java.util.*;
import java.io.*;
 
public class Lector {
     public static void main(String[] args) throws Exception{
 
            HashMap<Character, Integer> h = new LinkedHashMap<Character,Integer>();
 
           Scanner s = new Scanner(new File("level4"));
 
           while (s.hasNext()){
 
               String line = s.next();
               for (int i= 0; i < line.length(); i++){
                    if (h.get(line.charAt(i))!=null){
                        h.put(line.charAt(i), h.get(line.charAt(i))+1);
                    }else{
                        h.put(line.charAt(i), 1);
                    }
               } 
           }
               System.out.println(h);
     }
}

Es una tabla hash especial, una LinkedHashMap en concreto. Especial dado que al recorrerla quiero hacerlo en el mismo orden en el que inserté las claves. Si compilamos y ejecutamos el programa que os muestro en la imagen, aparece en los resultados un conjunto de caracteres con una única instancia en el texto. En orden: 8675309. Buscando en Google, la primera aparición de esa cadena es un artículo de la Wikipedia, indicando que es el nombre de de una canción del cantante Tommy Tutone. Y así llegamos al level 5.