jueves, 30 de septiembre de 2010

martes, 14 de septiembre de 2010

APRENDIZAJE BASADO EN PROYECTOS

El Aprendizaje Basado en Proyectos (ABP) es muy exigente para usarlo regularmente en el aula escolar.  Muchas de las objeciones sobre el NCLB [1], la presión por realizar mejores evaluaciones, la enseñanza orientada por los datos y mantener enfocados a los estudiantes para que demuestren buen desempeño y obtengan buenos puntajes en los exámenes más demandantes de competencias escolares son válidas, pero el ABP no es el remedio que cura ese mal. Esta  es una estrategia de enseñanza difícil de manejar que se ha vendido como cura mágica para todos los estudiantes etiquetados como talentosos, doblemente excepcionales o aquellos necesitados de aprendizajes más significativos. Esta es una herramienta que se está usando con los estudiantes para que generen sus propias respuestas a preguntas y para que piensen más críticamente sobre un tema; también se pretende que simultáneamente y mientras dura el proceso, hagan reflexiones con sus compañeros. En la realidad del aula, donde deben manejarse muchas dificultades y donde los estudiantes luchan por adquirir habilidades básicas, el ABP es una pérdida de tiempo.

El diseño del ABP se originó en las facultades de medicina. Cuando un paciente visita al médico, éste debe hacerle preguntas que le den respuesta al problema que lo ha llevado allí. Como pacientes decimos: "Dr. Gómez, me duele la rodilla". A lo que el doctor Gómez me responderá con una serie de preguntas como  "¿Cuándo le empezó el dolor?"  "¿Había sentido antes este dolor?, En escala de 1 a10, en la que 10 es  el máximo dolor, qué número le daría al dolor que siente? Después de esta evaluación inicial, el doctor prescribe terapia fisca o medicamentos o quizás nos remita a un especialista. En el aula este modelo no funciona así de bien. En muchos casos el problema que se plantea,  intencionalmente se describe en forma muy vaga y los estudiantes no entienden cuál es la situación.

En mi clase de historia, la mayoría de los estudiantes no han estado expuestos a las complejidades de la guerra u a otros conceptos difíciles de comprender. Como facilitador, mi trabajo consiste en guiarlos para que formulen buenas preguntas y para que investiguen respuestas a esas preguntas; pero en primer lugar, ¿qué sucede si los estudiantes no están interesados en el tema?  La mayoría de los estudiantes de secundaria no demuestran interés por hechos que ocurrieron hace más de 100 años y puede resultar difícil motivarlos por asuntos que no tienen ningún efecto directo en sus vidas.

El ABP tiene ventajas para aprendices avanzados y estudiantes mayores que están cautivados por un tema que les fascina. Nos esforzamos para que todos nuestros estudiantes se interesen en los temas que les presentamos y para que se involucren activamente en su aprendizaje. Nuestros Ministerios de Educación establecen qué deben saber los estudiantes y el NCLB [1] determina si estamos alcanzando esos objetivos. El ABP requiere más tiempo, energía y recursos y sus resultados son marginales o pequeños. Los estudiantes que luchan con el desarrollo de habilidades básicas, tienen mayores dificultades con el ABP porque las bases que tienen no son lo suficientemente sólidas para apoyarlo.

ESOL [2] y los estudiantes que requieren educación especial luchan aún más, y a pesar de nuestros mejores esfuerzos por ubicarlos en grupos de estudiantes "buenos" que les ayuden, terminan frustrados. Los estudiantes frustrados no son exitosos y tampoco culminan sus estudios con mayor conocimiento. En cambio, están menos motivados y muchas veces abatidos. No vale la pena lanzar al agua a esos estudiantes que realmente necesitan nuestra ayuda, sin un salvavidas.

Debemos concentrar nuestra atención en prácticas, ideas fundamentales y estrategias que den resultados; no en aquellas que representan las últimas tendencias educativas o que solo funcionan con estudiantes excepcionales.


Fuente:http://www.eduteka.org

Kevin Scott
Kevin Scott ha integrado las TIC en los ambientes escolares, durante los últimos siete años, para trabajar con estudiantes que tienen una amplia gama de habilidades. Presta sus servicios a equipos escolares de liderazgo y a grupos de desarrollo de currículos en el área de avances tecnológicos. Actualmente realiza una maestría en Tecnología para el aprendizaje en La Universidad Politécnica de Virginia.

lunes, 19 de julio de 2010

Alto ejecutivo de IBM obliga a sus empleados utilizar Mozilla Firefox



Algunos dirian por fin se pone orden en la empresa IBM, esta a decisido que lo más de 400,000 empleados de IBM de todo el mundo han recibido la advertencia del vicepresidente Bob Sutor para que utilicen en su trabajo el navegador Mozilla Firefox, en todas sus computadoras como navegador por defecto.

El ejecutivo de IBM recomienda este navegador de Software Libre basicamente por ser de código abierto, estable y sobre todo seguro, según escribe en su página personal. Todos las computadoras de IBM llevarán instalado Firefox y se pondrá en marcha preferentemente, a no ser que el empleado lo cambie por otro. Sutor anima a los clientes de la empresa a que hagan lo mismo por las razones expuestas, al parecer no quiere saber nada con Microsoft Internet Explorer y el navegador Google crhome, desarrollado por la Empresa Google.

"Contamos con miles de empleados que emplean Linux, Mac y computadoras portátiles y de escritorio de Windows, pero vamos a seguir añadiendo miles de usuarios a Firefox", escribe el alto ejecutivo, además vicepresidente de código abierto y Linux en IBM.

La ofensiva de Sutor a favor de Firefox coincide con las últimas estadísticas del uso de navegadores, en las que Firefox, lejos de aumentar su mercado, ha perdido fuelle, bien a favor de Chrome (Google) o, incluso de Safari (Apple). Por primera vez en casi un año, el navegador líder, el Explorer de Microsoft, ha ganado terreno a la competencia y recupera una cuota del 52% de mercado, cuando Firefox ronda el 28%, seguido de Chrome 8,9% y Safari 8,8% en Estados Unidos.

Sin embargo Sutor recuerda que gracias a Firefox, el mundo de los navegadores se renovó y evolucionó, ya que con el dominio abrumador del Explorer apenas se actualizaba. "Creo que fue Firefox y su crecimiento el que ha dado nuevas fuerzas al navegador, así como a la misma web. Firefox obligó a los competidores a responder ". Efectivamente el Explorer después de muchos años sin actualizarse, lo hizo tras la salida exitosa de Firefox, perteneciente a la fundación Mozilla.

!!Y ustedes ya han instaldo Fifrefox en su computadora !!

Fuente: http://somoslibres.org

miércoles, 14 de julio de 2010

¿Microsoft perdiendo el favor de los desarrolladores?



Con motivo de la debacle del teléfono inteligente Kin de Microsoft, que se retiró del mercado sólo 2 meses después de su lanzamiento y con menos de 10.000 unidades vendidas, en el sitio del prestigioso diario The New York Times se publica un artículo donde se pregunta si la empresa de Bill Gates está perdiendo el favor de las generaciones más jóvenes y tecnológicamente más obsesionadas, y, peor aún, también la preferencia de los nuevos desarrolladores que se lanzan a hacer su propia start-up, que prefieren el Open Source.

Particularmente la consecuencia de esto último podría ser desastrosa para Microsoft en el largo plazo, porque perderían su habilidad para dirigir al mercado tecnológico en la dirección que le plazca, como lo hacía cuando Windows como plataforma de desarrollo era omnipresente.

Tim O'Reilly, sí, el mismo de esos libros, lo deja claro con un ejemplo:

"Para los desarrolladores, lo móvil es lo que está de moda ahora, y (en eso) hay dos plataformas que importan: Apple y Android".

Fuente: vivalinux.com.ar

jueves, 10 de junio de 2010

Los Riesgos de las Universidades-Java

Spolsky alerta sobre la creciente tendencia de muchas universidades a sobre-simplificar la currícula de las carreras de Ciencias de la Computación (con Java como "lenguaje insignia"), con el único objetivo de producir mayor cantidad de egresados y en menos tiempo. La consecuencia es directa: cada vez más abundan programadores que poco entienden de conceptos de programación (corrección, recursión, complejidad, paralelismo, entre tantos otros) y para los cuales los mecanismos "internos" de los sistemas informáticos (gestión de memoria, interacción con el sistema operativo, comunicación entre procesos, etc.) son completamente esotéricos.

El principal impulsor de este embrutecimiento es cierto sector de la llamada "Industria del Software" que requiere de mano de obra barata y de pobre formación, y empuja a las instituciones educativas a proveerles "recursos" tan rápido y en tanta cantidad como sea posible (ni qué decir de las instituciones educativas que ceden a esta presión).

Nadie está en contra de hacer la tarea del programador más simple, ni mucho menos de la evolución de los lenguajes y las metodologías de desarrollo de software. Lo que se reprocha aquí es la negación de la realidad como forma de evasión. Esto es: la necesidad de dotar a los programadores de ciertos conceptos, aún cuando esto provoque la deserción de quienes no puedan llegar a dominarlos (y mal que le pese al referido sector de la "Industria").

¿Qué pasó con el trabajo duro?

Un seguro indicio de mi decadencia hacia la senilidad son mis continuas quejas y lamentos sobre "los chicos de hoy", y cómo ya no quieren o no pueden hacer cosas difíciles.

Cuando yo era un muchacho, aprendí a programar con tarjetas perforadas. En esos tiempos si cometías un error, no tenías ninguna de esas modernas funciones como la tecla "backspace" para corregirlo. Tenias que tirar la tarjeta y empezar todo de nuevo.

Cuando empecé a entrevistar programadores en 1991, les dejaba usar generalmente cualquier lenguaje que quisieran para resolver los problemas de programación que les planteaba. El 99% de las veces, ellos elegían C.

Ahora ellos tienden a elegir Java.

No me malinterpreten: no hay nada malo con Java como lenguaje de implementación.

Un momento, quiero rectificar eso último. No digo, en este artículo en particular, que haya algo de malo con Java como lenguaje de implementación. Hay un montón de cosas mal con Java, pero tendrán que esperar hasta otro artículo.

En cambio, lo que quiero decir es que Java no es, generalmente, un lenguaje de programación lo suficientemente difícil para que pueda ser usado para distinguir entre excelentes programadores y programadores mediocres. Puede ser un buen lenguaje para trabajar, pero ese no es el tema de hoy. Puedo ir incluso mas allá y decir que el hecho de que Java no sea lo suficientemente difícil es una característica, no un bug, pero que tiene ese problema.

Si puedo ser atrevido, diría que en mi humilde experiencia han sido dos las cosas tradicionalmente enseñadas en las universidades como parte de la carrera de Ciencias de la Computación (CS) las que mucha gente nunca llega realmente a comprender: punteros y recursión.

En aquellos tiempos lo normal era empezar la universidad con un curso de estructuras de datos, con listas enlazadas, tablas hash y, por qué no, con un uso intensivo de punteros. Esos cursos eran frecuentemente usados como filtros: eran tan difíciles que cualquiera que no pudiera soportar el desafío mental de un grado en CS se daría por vencido, lo que era bueno, porque si piensas que los punteros son difíciles, espera hasta intentar probar cosas en teoría de punto fijo.

Todos esos chicos que lo habían hecho muy bien en la secundaria escribiendo juegos de "pong" en BASIC para su Apple II, iban a la universidad, tomaban el curso CompSci 101, sobre estructuras de datos, y cuando llegaban al asunto de los punteros, sus cerebros estallaban completamente; y lo próximo de lo que tenías noticias es que estaban especializándose en Ciencias Políticas, porque la escuela de leyes parecía ser una mejor idea. He visto todo tipo de de índices de deserción en CS y usualmente están entre el 40% y el 70%. Las universidades tienden a ver esto como un derroche; yo creo que es sólo la poda necesaria de gente que no va a ser feliz o exitosa en una carrera de programación.

El otro curso difícil para muchos jóvenes estudiantes de CS era el curso donde aprendías programación funcional, incluyendo programación recursiva. MIT puso una barrera muy alta en esos cursos, creando un curso obligatorio (6.001) y un libro de texto (Estructura e Interpretación de Programas de Computadora de Abelson y Sussman, el cual era usado en docenas o quizás cientos de carreras de CS prestigiosas como el estándar de facto para la introducción a las Ciencias de la Computación. (Puedes, y deberías echarle una ojeada a la antigua versión de las clases en línea).

La dificultad de esos cursos es asombrosa. En la primera clase has aprendido casi todo Scheme, y ya has sido introducido a la función de punto fijo que toma otra función como parámetro. Cuando me esforzaba en pasar un curso similar, CSE121 en Penn, observaba cómo muchos sino la mayoría de los estudiantes simplemente no lo lograba. La materia era muy difícil. Inclusive escribí un largo email de lloriqueando a mi profesor diciendo que "simplemente no era justo". Alguien en Penn debe haberme escuchado (o a alguno de los otros llorones), porque ese curso se dicta ahora con Java.

Desearía que no hubiesen escuchado.

Aquí radica el quid del debate. Años de lloriqueo de estudiantes perezosos como yo, combinados con quejas de la industria acerca de cuan pocos graduados en CS salen de las universidades americanas, han pagado su precio, y en la ultima década un gran numero de otrora perfectamente buenas universidades se han vuelto 100% Java. Esta de moda, a los reclutadores que usan "grep" parece gustarles, y, lo mejor de todo, no hay nada lo suficientemente difícil en Java como para filtrar aquellos programadores sin la parte del cerebro que entiende punteros y recursión. Así es que la deserción es menor, y los departamentos de ciencias de la computación tienen mas alumnos y mayores presupuestos y todo está bien.

Los afortunados chicos de esas Universidades-Java nunca van a toparse con raros fallos de segmentación tratando de implementar tablas hash basadas en punteros. Nunca se van a volver locos tratando de empaquetar cosas en bits. Nunca tendrán que ocupar sus cabezas en cómo en un lenguaje puramente funcional, el valor de una variable nunca cambia, y aun así, ¡cambia todo el tiempo! ¡Una paradoja!

Ellos no necesitan esa parte del cerebro para obtener un 4 en la materia.

¿Soy sólo uno de esos viejos cascarrabias anticuados, vanagloriándose acerca de cuán duro era sobrevivir a todas esas dificultades?

Rayos, en 1900, el Latín y el Griego eran asignaturas requeridas en la universidad, no porque sirvieran de algún propósito, sino porque de alguna manera eran considerados un requisito obvio de la gente educada. De cierta manera mi argumento no es diferente del argumento expuesto por la gente pro-Latín: "[El Latín] entrena tu mente. Entrena tu memoria. Desembrollar una sentencia en Latín es un excelente ejercicio del pensamiento, un verdadero acertijo intelectual y una buena introducción al pensamiento lógico", escribe Scout Barrer. Pero ya no puedo encontrar una sola universidad que requiera Latín. ¿Son los punteros y la recursión el Latín y el Griego de las ciencias de la computación?

Ahora, admito que programar con punteros no es necesario en el 90% del código escrito en la actualidad, y de hecho es totalmente peligroso en el código de producción. OK. Está bien. Y que la programación funcional no es muy empleada en la práctica. De acuerdo.

Pero todavía sigue siendo importante para algunos de las tareas más excitantes en programación. Sin punteros, por ejemplo, nunca serías capaz de trabajar en el Kernel de Linux. No puedes entender una sola línea del código de Linux, o de hecho, de cualquier sistema operativo, sin realmente entender punteros.

Sin entender programación funcional, no podrás inventar MapReduce, el algoritmo que hace Google tan masivamente escalable. Los términos Map y Reduce vienen de Lisp y la programación funcional. MapReduce es, en retrospectiva, obvio para cualquiera que recuerde de su clase equivalente a 6.001 que los programas puramente funcionales no tienen efectos colaterales y por ende son trivialmente paralelizables. El simple hecho que Google inventara MapReduce, y no Microsoft, dice algo del por qué Microsoft está aun jugando a lograr que funcionen algunas características básicas de búsqueda, mientras Google se ha movido ya al siguiente problema: construir Skynet^H^H^H^H^H^H, la mayor supercomputadora masivamente paralela del mundo. Simplemente no creo que Microsoft entienda completamente cuan retrasados están en ese campo.

Pero mas allá de la importancia a simple vista de los punteros y la recursión, su valor real radica en que construir grandes sistemas requiere del tipo de flexibilidad mental que adquieres aprendiéndolos, y de la actitud mental que necesitas para no huir de los cursos en donde son enseñados. Punteros y recursión requieren cierta habilidad para razonar, para pensar en abstracciones, y más importante, para ver un problema en diversos niveles de abstracción simultáneamente. Por lo tanto, la habilidad para entender punteros y recursión esta directamente correlacionada con la habilidad de ser un gran programador.

No hay nada en grado académico 100% Java que realmente descarte a los estudiantes que carecen de la agilidad mental para tratar con esos conceptos. Como empleador, he visto que las Universidades 100% Java han empezado a producir en serie una buena cantidad de graduados quienes simplemente no son lo suficientemente listos para trabajar como programadores en nada mas sofisticado que "Sólo Otra Aplicación Contable en Java", aunque se las han arreglado para colarse a través de la (ahora simplificada) carrera. Esos estudiantes nunca sobrevivirían al 6.001 del MIT o al CS 323 en Yale y, francamente, esa es una razón por la cual, como empleador, un título en CS del MIT o Yale tiene más peso que uno de Duke, que recientemente se hizo 100%-Java, o de Penn, donde remplazaron Scheme y ML por Java tratando de enseñar la materia que casi nos mata a mis compañeros y a mi, CSE121. No es que no quiera contratar chicos listos de Duke o Penn, lo hago, es sólo que es mucho más difícil para mí darme cuenta de cuáles son. Yo estaba acostumbrado a decir que los chicos listos eran aquellos que podían desmenuzar un algoritmo recursivo en segundos, o implementar funciones de manipulación de listas enlazadas usando punteros tan rápido como podían escribir en la pizarra. Pero con graduado sde Universidades-Java, no puedo saber si padecen esos problemas a causa de haber sido mal educados o si los padecen porque realmente carecen de esa parte del cerebro que van a necesitar para ser buenos programadores en el trabajo. Paul Graham los llama "Blub Programmers".

Ya es bastante malo que las Universidades-Java fallen en filtrar los chicos que nunca van a ser buenos programadores, algo que las universidades podrían justificablemente decir que no es su problema. Después de todo es la industria, o al menos los reclutadores-que-usan-grep, quien está pidiendo a gritos que se enseñe Java.

Pero las Universidades-Java fallan también en entrenar las mente de los chicos para ser hábiles, ágiles y lo suficientemente flexibles para lograr buen diseño de software (y no me refiero al "diseño" OO, donde gastas incontables horas acomodando tu jerarquía de objetos, o preocupándote de "problemas" superfluos como "tiene-un" vs. "es-un"). Necesitas entrenamiento para pensar en las cosas a varios niveles de abstracción simultáneamente, y ese tipo de pensamiento es exactamente lo que necesitas para diseñar excelentes arquitecturas de software.

Puedes estar preguntándote si la enseñanza de programación orientada a objetos (OOP) es un buen sustituto de los punteros y la recursión para el filtrado. La respuesta rápida: no. Sin debatir acerca de los meritos de la OOP, simplemente no es lo suficientemente difícil para filtrar a los programadores mediocres. OOP en las universidades consiste básicamente en memorizar un puñado de términos de vocabulario como "encapsulacion" y "herencia" y tomar exámenes del tipo "multiple-choice" acerca de las diferencias entre polimorfismo y sobrecarga. No más difícil que memorizar fechas destacadas y nombres en una clase de historia, la OOP tiene desafíos mentales inadecuados para espantar a los estudiantes de primer año. Cuando te enfrentas con un problema de OOP, tu programa aun funciona, sólo que es algo difícil de mantener. Supuestamente. Pero cuando te enfrentas a un problema con punteros, tu programa produce línea Fallo de segmentación y no tienes ni la menor idea de lo que está pasando, hasta que te paras, tomas una fuerte bocanada de aire y tratas de forzar tu mente a trabajar en dos diferentes niveles de abstracción simultáneamente.

Los reclutadores-que-usan-grep, de hecho, son ridiculizados aquí, y por un buen motivo. Nunca he conocido alguien que pueda usar Scheme, Haskell y punteros en C, que no pueda entender Java en dos días, y crear mejor código en Java que gente con cinco años de experiencia en Java. Pero trata de explicar eso al zombie de Recursos Humanos.

¿Pero que hay de la misión del compromiso con las CS de las facultades de CS? ¡Ellas no son escuelas vocacionales! No debería ser su trabajo entrenar gente para trabajar en la industria. Eso queda para los terciarios y los programas de capacitación del gobierno para trabajadores desplazados, dirán. Ellas se suponen que están para dar a los estudiantes las herramientas fundamentales para vivir sus vidas, no para prepararlos para sus primeras semanas de trabajo. ¿No es cierto?

Aun así, las CS son demostraciones (recursión), algoritmos (recursión), lenguajes (cálculo lambda), sistemas operativos (punteros), compiladores (cálculo lambda), y entonces la conclusión es que la Universidad-Java que no enseña C y no enseña Scheme, tampoco está enseñando realmente ciencias de la computación. Tan inútil como el concepto de currificación de funciones puede serle al mundo real, es un obvio prerrequisito para un graduado en CS. No puedo entender por qué los profesores en las comisiones curriculares de las facultades de CS han permitido que sus programas sean embrutecidos a tal punto que no sólo no pueden producir programadores operativos, sino que ya ni siquiera pueden producir graduados en CS que puedan obtener PhDs y puedan competir por sus puestos de trabajo. Oh, esperen. No importa. Quizás entienda.

Si volvemos en el tiempo y analizamos las discusiones que tomaron lugar en el mundo académico durante el "Gran Levantamiento Java", encontraremos que la mayor preocupación fue que Java no era lo suficientemente simple para ser usado como un lenguaje de enseñanza.

Mi Dios, pensé, ¡están tratando de embrutecer la curricula aun mas! ¿Por que mejor no le llevamos la comida a la boca a los estudiantes? Dejemos que los ayudantes de cátedra den los exámenes por ellos también, entonces nadie se cambiara a Estudios Americanos. ¿Cómo se supone que alguien aprenderá algo si la curricula ha sido cuidadosamente diseñada para hacer todo más fácil de lo que ya es? Parece haber una comisión de trabajo (PDF) intentando idear un subconjunto simple de Java que pueda ser enseñado a estudiantes, produciendo documentación simplificada que esconde cuidadosamente toda esa basura EJB/J2EE de sus tiernas mentes, de manera tal que no tengan que preocupar sus cabecitas con otras clases que no necesiten para resolver sus aun más fáciles problemas de CS.

La interpretación mas compasiva de por qué las facultades CS son tan entusiastas en embrutecer sus clases es porque ello les dará más tiempo para enseñar verdaderos conceptos de CS, así no necesitaran dos clases enteras para esclarecer a los alumnos las diferencias entre, digamos, un int y un Integer en Java. Bueno pero si ese fuera el caso, 6.001 tiene la respuesta perfecta: Scheme, un lenguaje de enseñanza tan simple que el lenguaje entero puede enseñarse a estudiantes brillantes en unos 10 minutos; entonces puedes gastar el resto del semestre enseñando puntos fijos.

Esta traducción está basada en la versión disponible en el Wiki de Joel Spolsky, corregida y adaptada por http://blog.smaldone.com.ar.

miércoles, 19 de mayo de 2010

Probando Ubuntu Unity

No podíamos esperar seis meses a probarlo. Así gracias a que Canonical nos ofrece la posibilidad de probar Ubuntu Unity en nuestros equipos con Lucid Lynx instalado no ibamos a perder más tiempo ¿No?

Lo primero es agregar el repositorio e instalar Unity en nuestro sistema.

sudo add-apt-repository ppa:canonical-dx-team/une
sudo apt-get update && sudo apt-get install unity

Una vez instalado salimos de nuestra sesión y antes de acceder de nuevo seleccionamos iniciar con "Ubuntu Unity Netbook Edition" y el resultado es como el que se muestra en la siguiente captura.


Tendremos que estar atentos al desarrollo de Unity en los próximos meses.


Via Ubuntizando el Planeta

Arrancando desde Usb-Live en un Pc que no lo soporte

Ya puestos a tratar temas de luchar con equipos del Jurásico ya salta la pregunta. Como puedo arrancar un Usb-Live con Linux en un Pc tan antiguo que no soporta su Bios el inicio mediante Usb.


Plop! Plop es la respuesta. Se trata de una herramienta que crea una capa intermedia sobre la Bios permitiendo el arranque desde un Usb-Live de nuestra distro preferida.

lunes, 3 de mayo de 2010

Ubuntu Party Caaguazu Para La 1ª Vez Super!

El viernes 30 de abril de 2010, nos hemos reunido los seguidores de Ubuntu en el local de Hamburgueseria & Pizzeria el Descanso, para festejar el lanzamiento de la ultima versión Lucid Lynx 10.04 LTS.
Estuvieron alumnos, amigos y colegas profesores, en lo personal estoy muy contento con el evento, que en ediciones siguientes iremos mejorando en su organización,
Agradecimientos especiales a los sponsor que acompañaron el party Yván Zablosky, Ariel Martinez quienes me ayudaron a costear los stickers y los CDs.




lunes, 19 de abril de 2010

Ubuntu Lucid Lynx Party Caaguazú 10.04



















El 29 de abril tendremos entre nosotros a Ubuntu 10.04 Lucid Lynx. Los cambios que se esperan son muchos. Por dicha razón organizar una fiesta parte de este magnifico evento es una idea nueva, dicha fiesta se denominará Ubuntu Lucid Lynx Party Caaguazú 10.04.

Fecha: 30 de abril de 2010

Lugar: EL DESCANSO - Hamburguesería & Pizzería
Av. Pedro Juan Caballero c/ Eugenio A. Garay

Hora: 07:00PM hasta 10:00PM

Precio: El costo total de la consumisión será dividido entre los que asistamos.

Sorpresas: Habran regalos para las personas que asistan como stickers, CD de UBUNTU 10.04, se hablara sobre problemas comunes que nos podemos enfrentar al momento de empezar a trabajar con Ubuntu y como superarlos. En donde podemos encontrar la documentación oficial que nos permita solucionar nuestros problemas.





SI DESEA ASISTIR SIRVASE ENVIAR UN MAIL DE ADHESION AL CORREO: ubuntupartyczu@gmail.com, con su Nombre, Apellido, Teléfono y Organización y/o Institución.

martes, 30 de marzo de 2010

Jerarquizar la Profesión Informática

Dicen que la “profesión informática” (entendiéndose por esto el conjunto de profesiones ligadas a la informatica) está desvalorizada y desprestigiada. Dicen que la sociedad no reconoce al “informático” como profesional de la misma manera que lo hace con el médico, el abogado, el ingeniero y el contador. Dicen que al “informático” se le paga poco y se lo trata mal, que se le piden cosas que a ningún otro profesional (de una profesión “reconocida”) siquiera se le sugiere. Y dicen, también, que todo esto se debe a que “está lleno de truchos”, personas no calificadas (y cuando no, faltas de escrúpulos) que entregan soluciones de baja calidad y cobran menos de lo razonable; en definitiva, que bastardean la “profesión informática“.

Dicen que hay que exigir la tenencia de un título. Y luego formar un organismo regulador (en realidad, autorregulador) que decida quienes pueden o no “ser informáticos”. Que de esta manera, los usuarios tendrán mejores sistemas informáticos y, de paso, los profesionales serán mejor reconocidos (incluso en lo económico). Dicen que así se soluciona este asunto.

Declamaciones

Pero… ¿quiénes dicen?

Los propios informáticos (por un momento, vamos a agrupar bajo este término a programadores de distinto tipo, analistas de sistemas y profesionales de otras tareas afines). Bueno, en rigor, no todos los informáticos. De hecho, parece ser un grupo bastante bien diferenciado el que levanta la voz para pedir la regulación por parte del Estado, de las tareas profesionales que desempeñan. Más adelante volveremos sobre este punto, tratando de indentificar las características comunes entre ellos.

Y… ¿qué es lo que dicen?

Dicen que la razón del desprestigio de la profesión (por la cual no son considerados por la sociedad de la misma manera que los médicos, arquitectos, abogados, etc.) es que hay mucho improvisado ejerciéndola. Que hay gente sin los conocimientos técnicos necesarios (y, más de una vez, sin la menor noción de la ética) que anda por ahí haciendo las cosas bastante mal (o sea, que no ofrecen soluciones de acuerdo al “estado del arte” y las “mejores prácticas” de la profesión).

Dicen también que no sólo es injusto para la sociedad, sino también para “ellos”. Ellos (que poseen algún título relacionado con la informática) se “quemaron las pestañas” y se “rompieron la cabeza” leyendo libros, asistiendo a clases, resolviendo ejercicios. En tanto que “los otros” entran por la ventana, provienen de otras disciplinas (cual invasores), poseen estudios incompletos (no hicieron el esfuerzo) o son directamente autodidactas.

¿Y qué proponen?

La solución propuesta es simple: que el Estado regule o limite el ejercicio de la informática (que, como ya dijimos, engloba a cosas bastante diferentes). La forma de implementar esta restricción sería mediante la creación de Consejos Profesionales (uno por cada provincia, en el caso de la Argentina) en los cuales deban matricularse obligatoriamente todos aquellos que deseen desempeñar profesionalmente alguna tarea relacionada con la informática. Por supuesto, la condición principal para poder pertenecer a tal entidad, sería la tenencia de un “título habilitante”.

En definitiva, proponen que la informática sólo pueda ser “ejercida” por los informáticos titulados. (De la misma manera que la medicina es ejercida por médicos, la arquitectura por arquitectos, el derecho por abogados, etc.)

Del dicho al hecho

¿Es necesario regular?

Todos sabemos que en el mundo de la informática se mueven muchas personas de dudosa calidad profesional, por lo cual los argumentos precedentes parecen tener cierto sustento. Cualquiera con experiencia previa, sabe que a la hora de contratar un desarrollo de software puede estar iniciando un camino más que tortuoso y de resultado incierto. La mayoría de los clientes de informáticos no están nada conformes con su proveedor. De manera que parece buena idea hacer algo al respecto, ¿no?

Un buen ejemplo

En la Provincia de Córdoba (Argentina) existe desde hace 23 años una ley que restringe el ejercicio profesional de la informática, mediante la creación del Consejo Provincial de Ciencias Informáticas. Sin embargo, nadie podrá decir que en esta provincia el nivel de los profesionales o la satisfacción de los clientes sea mayor que en otros lugares, en donde no se ha ensayado esta solución.

Claro que un único ejemplo no basta para sacar demasiadas conclusiones (el consejo cordobés bien podría ser un desastre de implementación o haber estado muy mal manejado durante todo este tiempo). Pero que la segunda provincia de la Argentina, contando con un marco regulatorio desde hace más de dos décadas, no haya logrado ni siquiera una mínima mejora cualitativa de la disciplina es, cuando menos, sugestivo.

¿Y en el resto del mundo?

En casi todos los países del mundo (excepto, por ejemplo, algunas comunas españolas) el ejercicio profesional de actividades relacionadas con la informática no tiene ningún tipo de restricción o regulación por parte del estado. Ejemplos notables de esto son países con un altísimo ingreso por exportación de software y servicios informáticos, como Irlanda y la India.

Hay de todo, como en botica

Muchos de los grandes gurús de la informática no han tenido título alguno, en tanto que muchos otros lo han tenido pero de disciplinas en algunos casos bastante lejanas a la computación (lingüística, física, etc.). Como bien sabemos, la informática es una actividad transversal a muchas áreas del conocimiento. Es ridículo, entonces, pensar en limitar la posibilidad de ejercerla exclusivamente a quienes tienen un título específico.

Esta situación se ha presentado desde el preciso instante del nacimiento de la informática y se ha acrecentado aún más con el tiempo, en tanto la programación de computadoras se ha simplificado y masificado (quien diseña una planilla de cálculo, de alguna manera está programando).

Nadie niega la utilidad y el valor de un título (aunque, como siempre, hay algunos que son casi una garantía de conocimiento, otros que nada dicen de las aptitudes de su poseedor y una amplia y variada escala de grises). Muy probablemente entre los “titulados” se encuentre la mayoría de los buenos profesionales, pero los hay muchos y de gran calidad fuera de esta categoría, así como también hay improvisados e ignorantes en ambos lados.

Claramente, establecer el punto de corte en la simple condición de poseer un “título habilitante” nada aporta a la hora de separar la paja del trigo.

Que poseer un título formal en informática no haya logrado hasta la fecha establecer una diferencia marcada y notoria respecto de quienes no lo tienen, no es más que una muestra evidente del estado actual de la disciplina. (Quienes se comparan con médicos, arquitectos y abogados bien podrían analizar este ejemplo.)

¿Y la libertad de elección?

El exigir condiciones (como la tenencia de determinado título) para el ejercicio de la informática tiene una consecuencia no siempre analizada por quienes impulsan este tipo de iniciativa: limita la capacidad de elección de las personas.

Esto significa que alguien que quiera contratar, por ejemplo, a un programador, sólo podrá escoger entre los “habilitados” por la ley (normalmente, los matriculados en el Consejo Profesional). Esta situación es aceptable cuando está en juego la vida humana pero, ¿por qué no puede elegir un empresario a quién contratar para que diriga la informática en su empresa o a quién encargar el desarollo de un programa que necesita? En tanto el informático no se atribuya títulos o afiliaciones que no tiene, no hay motivo (razonable) para impedir tal trato entre particulares.

En Argentina tenemos la costumbre a ver este tipo de limitaciones como naturales, pero debemos tener en cuenta que aún regulaciones como la exigencia del título de Abogado o Contador Público Nacional para la realización de ciertas tareas, no son universales. En algunos estados de los EE.UU, por ejemplo, basta con ser “ciudadano estadounidense” para firmar un balance, y en muchas jurisdicciones se permite a una persona actuar en un proceso judicial sin requerir de un abogado. (Será el ciudadano quien libremente opte por recurrir al profesional titulado si es que realmente encuentra valor en él.)

¿Por qué no son reconocidos?

La gran mayoría de quienes se quejan de no contar con el reconocimiento de otros (abogados, médicos, arquitectos, etc.) parecen no darse cuenta de que tales profesiones están bien establecidas en la sociedad por varios motivos.

Quizás el primero de ellos sea que se trata en general de disciplinas bastante bien definidas y delimitadas. Como contraejemplo, basta ver la definición que intentan de la informática las leyes (o proyectos) de regulación, por ejemplo la ley 7642/87 de la Provincia de Córdoba (la misma contiene solo una enumeración, a modo de ejemplo, de lo que se consideran “profesiones en Ciencias Informáticas“).

Habría que preguntar a quienes reclaman el reconocimiento social si ellos ofrecen el mismo nivel de garantía a sus clientes que los profesionales con los que se comparan. En la informática no sólo no hay métricas bien establecidas (y confiables) para evaluar costos, riesgos ni calidad; sino que ni siquiera se dispone de un método serio para evaluar la productividad de un programador. (Si usted es un lego en la materia seguramente se sorprenderá al saber que la principal métrica utilizada es la “cantidad de líneas de código” producidas, sin poder decir demasiado de la calidad de las mismas.)

Profesionales e improvisados

Si observamos el perfil de quienes demandan regulaciones y la expulsión de los (según ellos dicen) usurpadores, en la mayoría de los casos podemos observar ciertas características comunes:

  • Título mediocre. Salvo pocas excepciones, el profesional posee un título mediocre u otorgado por una institución mediocre (es casi imposible encontrarse con un título de Doctor de una universidad reconocida). Muchas veces puede observarse la asistencia a cursos de dudosa necesidad, denotando la incapacidad de aprender por si mismo.

  • Conocimientos limitados de lenguajes de programación. Conocimiento de, a lo sumo, un par de lenguajes, por lo general obsoletos o en vías de obsolescencia.

  • Ignorancia de conceptos. Pobre entendimiento, si acaso, de cuestiones relacionadas con el software de base (sistemas operativos, compiladores, etc.), fundamentos de las ciencias de la computación (matemática discreta, teoría de autómatas, complejidad y computabilidad, etc.), entre otras.

  • Desconocimiento del idioma inglés, lengua franca de la informática.

  • Aportes nulos o ínfimos a la disciplina, como la producción de textos técnicos, aportes en investigación, participación de desarrollos comunitarios, etc.

La experiencia del autor es que la mayoría de quienes reclaman “sacar a los improvisados” del campo profesional, generalmente reúnen al menos tres de las condiciones anteriores (sin duda, hay excepciones). La pregunta es, ¿qué es un “improvisado”, sino alguien con conocimientos endebles (más allá de un título que los refrende) y desactualizados, que ni siquiera posee los medios técnicos (formación de base y conocimiento del idioma) para mantenerse a sí mismo al corriente de la evolución tecnológica?

Aclarando, que hace falta…

Algunas aclaraciones que a esta hora suelen, por lo general, ser necesarias:

  • Un título en informática es una característica deseable pero no necesaria en un informático.

  • Atribuirse un título o una condición que no se posee, es una actitud censurable (como también lo es, por ejemplo, no pagar impuestos).

  • No tener un título no implica no haber estudiado. Por otra parte, el sí tenerlo no es garantía de conocimientos (ni, mucho menos, de la vigencia de los mismos).

  • Las asociaciones profesionales (como ACM a nivel internacional, o SADIO en la Argentina), de afiliación voluntaria (y que, a su vez, no tienen la obligación de aceptar a cualquier persona, en contraste con los Consejos de matriculación obligatoria) son altamente positivas. Es notable que dichas organizaciones en general son contrarias a la regulación de la profesión.

  • No debe confundirse “matriculación obligatoria” con “certificación”. Muchas empresas (en ejercicio de su derecho) exigen determinadas certificaciones profesionales a sus proveedores. Es notable que en casi todos los casos, la certificación es provista por otra empresa.

Conclusiones

Una profesión no se “jerarquiza” mediante el simple dispositivo de una ley que obligue a la creación de un Consejo Profesional de matriculación obligatoria. La informática es suficientemente amplia y dinámica como para creer que la conditio sine qua non para ejercer una actividad relacionada con ella (con el debido nivel profesional) es poseer un título de tres años otorgado por una institución de nivel terciario.

Quienes intentan negar a otros derecho a ejercer actividades informáticas por creer que esto les quita oportunidades deberían mirarse introspectivamente y reconocer la amplitud de la disciplina, y que la diversidad de habilidades y conocimientos requeridos en cada una de sus áreas, no pueden ser englobados bajo el título de “informático”. Tampoco es exigible el reconocimiento de la comunidad a practicantes de una disciplina que ni siquiera dominan el cuerpo de conocimientos básicos de la misma (que, además, lejos está de establecerse por completo).

Tampoco debemos olvidar que muchos aspectos de la informática se han extendido a diversas disciplinas, de forma similar a lo ocurrido con la matemática. Esta expansión (que es una especie de democratización) es altamente deseable y beneficiosa, y las iniciativas de regulación conspiran en su contra.

La informática es una disciplina joven y endeble. Es el deber de los que nos dedicamos a ella lograr posicionarla como una disciplina confiable y reconocida. ¿La forma de lograrlo? No soy quién para conocerla, pero seguramente se basa en esfuerzo, dedicación y honestidad. La discriminación arbitraria lejos está de aportar a la solución.

Por lo pronto, la “profesión informática” tiene exactamente el reconocimiento que se ha sabido ganar. No se pondrá los “pantalones largos” por ley.

Fuente: http://blog.smaldone.com.ar

MongoDB Paso a Paso para Principiantes

Introducción

MongoDB es una base de datos opensource que está teniendo mucha aceptación por las prestaciones que ofrece en entorno Web 2.0, aunque puede ser utilizada en cualquier tipo de situaciones. MongoDB acerca el sistema de almacenamiento y gestión de datos tipo clave/valor, puliendo la diferencia con respecto a los sistemas de bases de datos relacionales. Este sistema permite una tremenda rapidez y escalabilidad, frente a la funcionalidad de los sistemas de bases de datos tradicionales.

Las principales características de MongoDB son las siguientes:
- Software abierto
- Escalable
- Alto rendimiento
- Alta disponibilidad (puede trabajar en modo maestro-esclavo)
- Orientado a documentos (no es relacional)
- Simplicidad basada en esquemas de tipo JSON
- Consultas dinámicas
- Completo soporte de índices, incluyendo índices secundarios, objetos internos, arrays (cadenas) embebidos, geospacial
- Rápido, actualizaciones in situ.
- Perfilado de consultas
- Almacenamiento eficiente de datos binarios en objetos largos, tales como vídeos o fotografías
- Replicación y soporte a prueba de fallos
- Auto fragmentación para escalabilidad a nivel de nube.
- Agregación compleja mediante MapReduce
- Acceso y gestión mediante drivers en multitud de lenguajes de programación: C, C++, C#, .NET, Java, JavaScript, PHP, Phyton, Ruby, Perl, etc.
- Soporte, formación y consultoría.

En este artículo (que espero sea el primero de muchos), se realiza una pequeña introducción a MongoDB.

Orientación a documentos
La información en MongoDB no se almacena en tablas (con sus correspondiente filas y columnas), si no en colecciones (estructuradas o no) cuyos datos forman parejas de clave y valor. Estos datos se almacenan con un estilo JSON, en formato binario llamado BSON. Un ejemplo de este estilo se puede apreciar en el siguiente documento:

{ nombre: ‘Rafael’,
apellidos: ‘Hernamperez Martin’,
fechaingreso: Date(’03-22-2010’),
seleccion: [‘Aprenda MongoDB’,’Flex 4 en una semana’,’AJAX para Dummies’],
comentarios: [{autor: ‘adan3000’, comentario: ‘Buena eleccion’},
{autor: ‘majopero’, comentario: ‘Te has pasado’, puntuacion:5}
]
}


Una colección sería similar a una tabla, y un documento sería similar a una fila. Habría que distinguir claramente, pues la colección puede tener documentos con estructura similar pero no igual (algunos documentos podrían tener más o menos claves). Asimismo, una única clave podría tener una colección de valores (array o cadena, como en el caso de la clave “seleccion"), o bien podría ser también una sub-colección con sus respectivos documentos (como en el caso de la clave “comentarios”).

La sintaxis en formato JSON es muy fácil de entender, eliminando los problemas de errores que pueden ocurrir en el formato XML (ambos son muy sinérgicos), además de reducir el tamaño de la información a transportar.

Este formato es utilizado no sólo para entenderlos, sino también para gestionarlos y realizar consultas en sus campos internos. Por ejemplo:

db.compras.find({'nombre':'Rafael'})

Nota: si falla, probar con comillas dobles

Esta consulta localizaría todos los documentos dentro de la colección “compras” cuya clave “nombre” tenga el valor “Rafael”.

Otro ejemplo:

db.compras.find({'comentarios.autor':'adan3000'})

Esta consulta localizaría todos los documentos dentro de la colección “compras” cuyo comentario haya sido realizado por el “autor” llamado “adan3000”.


Instalación
Para nuestros propósitos utilizaremos Windows como plataforma de operaciones. También puede instalarse en sistemas operativos OS X, Linux y Solaris (ver instrucciones en http://www.mongodb.org/display/DOCS/Quickstart)

En primer lugar hay que crear la siguiente ruta de directorio: “c:\data\db”. Esta ruta es la ruta por defecto para los archivos de bases de datos.

A continuación descargar el archivo zip (ocupa apenas 13MB) de la siguiente URL:
http://www.mongodb.org/display/DOCS/Downloads
y descomprimirlo en la ruta que deseemos (por ejemplo en C:\ donde creará un subdirectorio llamado “mongodb-winxx-xxxx”).


Arrancar un servidor MongoDB
MongoDB se ejecuta principalmente en su consola. Para ello se accede al modo consola DOS de Windows (pulsar AltGr+R, escribir “cmd” (sin las comillas) y Aceptar).

Acceder al directorio “bin” de donde se descomprimió el fichero zip (ejemplo):

cd c:\mongodb-win32-i386-1.2.4\bin

Ahora, para lanza MongoDB por defecto, ejecutar el ejecutable:

mongod

Con esto, MongoDB accederá a las bases de datos almacenadas en el directorio
c:\data\db y usando el puerto 27017. Si se desea cambiar el directorio de ficheros de bases de datos o el puerto, usar los siguientes parámetros:

mongod --dbpath [rutadirectorio] --port [puerto]

Si acaso saltase el cortafuegos, desbloquear el acceso para poder usarlo.

Para parar la base de datos, pulsar Ctrl+C. Con ello, MongoDB esperará hasta que todas las operaciones se hayan completado, guardando las últimas transacciones y cerrando los ficheros.

Existen otros parámetros que pueden ser usados por el motor de MongoDB:
-h (--help): Muestra información sobre los parámetros permitidos
--logpath rutafichero: Especifica fichero de log
--logappend: añade al log, en lugar de sobreescribirlo
--cpu: log periódico de la CPU y de los tiempos de entrada/salida
--fork: ejecución como demonio
--auth: Activa la seguridad
--noauth: Desactiva la seguridad (por defecto)
--nohttpinterface: Desactiva la interfaz http (localhost:27018)
--master: Designa este servidor como maestro (entorno de alta disponibilidad)
--slave: Designa este servidor como esclavo (entorno de alta disponibilidad)
--autoresync: Resincronización automática del servidor esclavo.
--source servidor:puerto: Para un servidor esclavo especifica dónde está el servidor maestro para la replicación

Una forma sencilla de arrancar el servidor MongoDB sin repetir los parámetros, es añadiendo éstos a un fichero de configuración. El formato del fichero sería el siguiente:

#comentario
parametro1 = valor1
parametro2 = valor 2


Para lanzar el servidor usando este fichero, ejecutar:

mongod –config ficheroconfiguración
mongod –f ficheroconfiguración


Consola de MongoDB
Una vez arrancado el servidor, podemos utilizar la consola de MongoDB para interactuar con las bases de datos. Para ello, acceder al modo consola DOS de Windows (pulsar AltGr+R, escribir “cmd” (sin las comillas) y Aceptar).

Acceder al directorio “bin” de donde se descomprimió el fichero zip (ejemplo):

cd c:\mongodb-win32-i386-1.2.4\bin

Ahora, lanzar la consola de MongoDB:

mongo

(nótese que no tiene la "d" final).

En esta nueva consola, nos permitirá escribir los comandos necesarios para interactuar con el servidor (mongod), de tal forma que podamos gestionar documentos y estructuras o acceder a la información (entre muchas acciones). Cada comando ha de estar acompañado por un “Enter” para su ejecución.

Por defecto se conecta a una base de datos llamada “test” (por defecto).

Para mostrar la base de datos en uso:
db

Para autentificar un usuario (sólo cuando se ejecuta el servidor en modo seguridad):
db.auth(usuario,contraseña)

Para salir de la consola MongoDB, escribir el comando
exit

Para conseguir ayuda sobre los comandos disponibles, escribir el comando
help

Para mostrar las bases de datos disponibles:
show dbs

Para mostrar las colecciones de la base de datos actual:
show collections

Para mostrar los usuarios de la base de datos actual:
show users

Para utilizar una base de datos:
use nombrebasedatos

Para mostrar ayuda sobre los métodos de base de datos:
db.help()

Para mostrar ayuda sobre los métodos para la colección foo:
db.foo.help()

Para mostrar los objetos en una colección foo:
db.foo.find()

Referencias
Fuente: http://mongospanish.blogspot.com
Sitio oficial de MongoDB: http://www.mongodb.org

lunes, 1 de marzo de 2010

Disponible la 4ª versión del libro "GNU/Fácil"

Se encuentra disponible la cuarta versión del libro 'GNU/Fácil', el cual es una guía completa para introducir a los usuarios nuevos al sistema GNU/Linux y en particular a la distribución más usada Ubuntu Linux.

Este libro esta editado por Antonio Perpiñan Díaz, que por sus aportes a la comunidad del Software Libre y por sus reconocidos libros (ya casi una docena), es muy reconocido en toda América Latina y este autor se siente orgulloso de la puesta en circulación digital de la cuarta versión de este libro que viene desarrollándose desde que UBUNTU estaba en la versión 5.10.

El libro "GNU/Fácil" es una guía completa que debe servir de mucha ayuda para los usuarios nuevos al entorno gráfico de GNOME. Este libro se encuentra escrito con la intensión de educar y bajo condiciones pedagógicas para estudiantes de Preparatoria y/o Universidad.

Sin importar si el usuario introduciéndose al sistema operativo GNU, el libro debe poder asistir para que la introducción sea conducida sin trastornos. El instructor que conduce la cátedra no tiene que ser un profesional informático, solo debe ser diestro con una computadora a nivel de usuario avanzado y el manual lo ayudará a completar el programa presentado en el. Este libro, desde sus inicios que solo se concentraba en el escritorio GNOME, y luego pasó a cubrir el sistema completo GNU, incluyendo la parte de mantenimiento Fundamental, Administrativa y de Redes, claro está a los niveles mas introductorio tomando en cuenta la audiencia a la cual el libro está dirigido. El libro de Antonio Perpiñan, persona dedicada a no solo a educar en asuntos informáticos, sino a la cultura general de los sistemas Unix y la cultura ética de los Hackers, el libro puede servir de introducción para los usuarios a los principios, teorías y practicas necesarias para empoderar a los potenciales nuevos usuarios y futuros administradores de sistemas.

La descargar de este nuevo libro se encuentra disponible desde los servidores FTPs de sourceforge.net. El libro presenta toda una introducción al sistema operativo GNU desde la instalación y nunca se separa del usuario, hasta llevarlo a niveles de usuario avanzado o un "Power User". El contenido del curso es utilizado para la Certificación Propuesta por la Fundación Código Libre Dominicano "GNU Certified Professional" o "Profesional Certificado de Sistemas GNU".

Este libro se encuentra bajo la licencia GNU FDL 2009 (GDFL 2009), la cual la usan todos los libros publicados por la Fundación Código Libre Dominicano (FCLD).

CARACTERISTICAS:

FORMATO: PDF
AUTOR: Antonio Perpiñan Díaz
IDIOMA: Español
TAMAÑO: 31 MB
ISBN: NO ISBN
PAGINAS: 181 Páginas
PAIS: Santo Domingo, República Dominicana
EDITORIAL: Fundación Código Libre Dominicano

La descarga de este libro se localiza desde este enlace.

http://www.codigolibre.org/images/stories/fcld/fcld-nuevo.png

FUENTE: El Rincón de Tux

El núcleo Linux valorado en más de mil millones de euros

Desarrollar el núcleo Linux en Europa y desde cero costaría algo más de 1000 millones de euros si se realizara por una sola organización. Esta es la estimación realizada por profesores de la Universidad de Oviedo, según la cual el valor incorporado anualmente a este producto fue de cerca de 100 millones de euros en 2005 a 2007 ascendiendo a algo más de 200 millones de euros en 2008. Este valor es equivalente a un 4% y 12% de las cifras reconocidas en las cuentas anuales del mismo año de Microsoft y Google, respectivamente, como gastos en I+D para el desarrollo de nuevos productos.


El cálculo aplica un modelo de costes COCOMO81-Intermedio en base a las estimaciones de parámetros ya realizadas en 2004 por David Wheeler para un estudio similar. Se ha empleado como coste medio anual de un desarrollador la cifra de 31.040 , calculada en base a los datos del sector facilitados por EUROSTAT para los países miembros en 2006 y ponderados en función de la población nacional. Con distintas variaciones, estimaciones con base en un modelo similar fueron realizadas ya con anterioridad por diversos autores para las distribuciones Red Hat, Debian y Fedora.



La importancia de la estimación no reside tanto en sí misma sino en la indicación del esfuerzo económico que existe tras un modelo de licencia libre con éxito probado en el mercado tecnológico. Este esfuerzo merecería un mayor reconocimiento institucional mediante un marco regulatorio que permitiera la generación de activos intangibles por la contribución a proyectos exitosos o un tratamiento fiscal de estas aportaciones similar a las desgravaciones existentes para el mecenazgo y patrocinio de actividades de interés público.

Fuente: http://softlibre.barrapunto.com

MI PRÓXIMO COLECTIVO


La idea es tan simple como brillante. Poner GPSs en los bondis y levantar esa info en internet.

De esta forma, sabés dónde está el cole que te tenés que tomar y cuando va a tardar en llegar a tu parada. Además aporta datos como la velocidad, la ruta y el tiempo estimado de llegada a la próxima parada.


Por ahora es una prueba piloto con solo unos 5 colectivos interurbanos, pero funciona a la perfección (lo testeamos y todo!)

Ahora estaría genial tener una web mobile friendly para poder acceder a la misma desde la propia parada con un celular.

Web | Mi Próximo Colectivo

jueves, 7 de enero de 2010

POR FIN VACACION, VUELVO EN FEBRERO!



Después de una abrumadora jornada academica anual, donde el estrés se ha convertido en el jefe más tirano, lo que más ansiamos es llegar a casa y dejarnos llevar por un sueño profundo, arrojarnos en piscinas con aguas ultra frescas por el calor de nuestros clima. Sin embargo, puede ocurrir que estemos tan cansados que nos sea muy difícil conciliar el sueño o un descando placentero.
El descanso es la fuente vital por excelencia a causa de varias razones. Primero, porque hace que se reparen los tejidos, las encimas se reacumulen y se restaure la energía. En segundo lugar, fortalece el sistema inmunológico, contribuyendo a la protección contra las enfermedades. También ayuda a la curación de las heridas, infecciones, estrés y traumas emocionales. Y, sobre todo, puede prolongar una vida sana y activa.
Lo mejor para dormir mejor es mantener un programa regular de sueño. Este debe ser complementado con ejercicio diario por espacio de ½ a 1 hora, conjuntamente con caminatas, bebiendo agua y respirando lenta y profundamente. Así mismo, es recomendable cenar al menos 4 horas antes de acostarse y tomar baños relajantes. A descansar se ha dicho.
FELICES VACACIONES, A QUIEN PUEDA!

Fuente: Diehl, Hans y Ludington, Aileen. Vida dinámica