Microsoft anuncia una iniciativa de interoperabilidad Open Source


Leo en UnixCraft que la «Open Source Interoperability Initiative», según la propia Microsoft, existe para promover un mayor acercamiento entre las comunidades open source y Microsoft. La iniciativa ofrecerá un gran rango de facilidades, eventos y recursos con soporte de interoperabilidad, y recursos que den soporte a la interoperabilidad, incluyendo laboratorios, contenido técnico y otras oportunidades para promover el desarrollo cooperativo. Microsoft planea publicar APIs y protocolos usados por Windows Vista (incluyendo el Framework .NET), Windows Server 2008, SQL Server 2008, Office 2007, Exchange Server 2007 y Office SharePoint Server 2007 — así como sus futuras versiones. Microsoft ha indicado también que no pedirá a los desarrolladores que accedan y usen estas APIs el pago de regalías por esta información. En concreto, Microsoft está implementando 4 nuevos principios de interoperabilidad y las acciones correspondiente en su gran lista de productos: (1) asegurar conexiones abiertas; (2) promover la portabilidad de datos; (3) mejorar el soporte de estándares industriales; y (4) promover un acercamiento más abierto con clientes e industria, incluyendo a las comunidades open source.Microsoft también ha mostrado su intención de no denunciar a los desarrolladores de software open source y a publicar de forma abierta gran parte del API que mantiene cerrado a día de hoy. Más información en la nota de prensa de Microsoft y en el Anuncio sobre Interoperabilidad.

Que cada cual saque sus conclusiones sobre este anuncio.

HackIt! 2007 : un repaso a las pruebas

Ayer, los miembros de diariolinux.com nos apuntamos a la Euskal Encounter 2008. Como ya comenté, este año iremos con más experiencia y ganas si cabe a participar en el HackIt! . No nos hacemos demasiadas ilusiones porque hay grupos muy, muy buenos compitiendo. El caso es que me interesaba repasar la solución a las pruebas del HackIt2007, por varias razones: para ir desempolvando mis conocimientos de ensamblador (muy oxidados ya :-), de GDB, OllyDBG…, para ahorrarle trabajo al organizador ( txipi ), y para que queden por escrito algunos apuntes sobre el tema, que usaré más adelante en mis clases de seguridad informática.

He colgado de http://hackit2.diariolinux.com el concurso del año pasado, que analizaré a lo largo de estos días, al menos hasta llegar a la prueba 11, donde nos atascamos (así, si algún lector la superó en su día o la supera ahora que está colgada en DL, pues mejor que mejor, porque podrá explicarnos al resto cómo lo hizo 🙂

Sin más dilación, pasamos con la primera prueba, que como toda «primera» , su resolución es bastante sencilla. Lo primero que se nos ocurre es analizar el código fuente de la página, centrándonos en el ćodigo Javascript que recoge los datos (login y password) y los envía al servidor:

<script src="JavaScript">
        function Login() {
          var user = document.login.username.value;
          var pass = document.login.password.value;
          if (user=="euskal" & pass=="p4rt7") {
	    location.href = 'level2-' + pass + '.html';
	  } else {
	    alert("ACCESS DENIED!");
	  };
        }
  </script>

A primera vista parece que el login(username) debería de ser euskal y el password p4rt7, pero si probamos esos datos en el formulario veremos que son incorrectos (!). ¿Dónde está el truco? En la primera línea del código anterior:

<script src="JavaScript">

Esto que a primera vista podría parecer una línea que dice «el código fuente que viene a continuación está escrito en JavaScript», resulta que no dice eso, sino «insertar aquí el código fuente de un script almacenado en un fichero que se llama… tachán, tachán, ‘JavaScript’ «. El dichoso archivo podría haber tenido otro nombre, como funcion.js o algo similar, pero no, le han llamado JavaScript, para hacerlo un poco menos trivial 😉

Si abrimos ese fichero, veremos la clave que nos lleva al nivel 2.

Euskal y Gipuzkoa Encounter: nos vemos en Tolosa y Barakaldo

Hoy miércoles 20 de Febrero se abre el período de inscripción a las partys que en Euskadi esperamos a lo largo del año, la Euskal Encounter 16 (en Barakaldo, 24-27 de Julio) y la Gipuzkoa Encounter 2 (Tolosa, del 25 al 27 de Abril) . DiarioLinux.com estará en ambas, cómo no, como cada año. En cuanto tengamos el sitio cogido, informaremos en este mismo post de los número de asiento, para que los lectores que quieran acercarse a charlar, sepan dónde encontrarnos. En la Euskal, por supuesto, competiremos de nuevo día y noche para ganar el concurso de HackIt! 😉

Matar todos los procesos de un tiro (y II)

Por aclamación popular 🙂 Estas tres líneas de comandos son equivalentes, todas ellas buscan procesos en cuyo nombre (o argumentos) contengan el string «cadena» y los mata. Para ser sinceros, no conocía pkill, y al parecer es exactamente el comando que resume todo este post. Es genial tener una base de lectores expertos que enseguida muestran la mejor solución al problema 🙂

$ kill -9 `ps -ef | grep -i cadena | awk {’print $2′}`
$ pgrep cadena | xargs kill -9
$ pkill -9 cadena

Finalmente, también se ha nombrado killall, pero para buscar los procesos a matar, sólo se basa en el nombre del ejecutable, y no puedes decirle que mate «cualquier proceso en cuyos argumentos aparezca la cadena X», por ejemplo.

Matar todos los procesos de un tiro

Apunto aquí una orden que he necesitado miles de veces y de la que nunca me acuerdo:

$ kill -9 `ps -ef | grep -i nombre | awk {‘print $2’}`

Mata todos los procesos que tengan la cadena nombre en la descripción . Si no te acuerdas de esa orden, siempre puedes hacer un ps -aww| grep nombre y luego matar los procesos copiando y pegando los identificadores en una orden kill.