Posts Tagged ‘software libre’

Dropbox, los usuarios, y los huevos morenos

Jueves, Mayo 16th, 2013

Por Fernando Apesteguía
Developer de OpenSistemas

A veces se nos olvida que las compañías que desarrollan productos informáticos obtienen todo su poder de los usuarios. El software está escrito para que alguien lo consuma, para que lo instalen y lo disfruten. En definitiva, las empresas que escriben software (o los grupos de Software Libre de igual modo) necesitan de una base de usuarios para sobrevivir. (más…)

Explotación de datos en OpenSistemas

Jueves, Marzo 29th, 2012

por Álvaro García Hernández de Alba
Account Manager en OpenSistemas

Echando la vista atrás, ya hace dos años en los que OpenSistemas decidió apostar por el Business Intelligence, Explotación de datos y Datamining con herramientas libres. A día de hoy se confirma el éxito de nuestra compañía dentro de este área cada vez más importante para nosotros. (más…)

Ultimas charlas impartidas

Martes, Mayo 3rd, 2011

Las últimas semanas he participado en algunos eventos, realizando charlas sobre temas en los que más o menos estoy metido.

Dejo aquí las presentaciones por si alguien le apetece verlas o, incluso, reutilizarlas (que para eso llevan licencia cc-by-sa :D ).

Ambas charlas son parte de los acuerdos de colaboración de Open Sistemas con diferentes instituciones formativas.

___
Publicado simultáneamente en el Blog de DrAmor.
http://dramor.net/blog/

Blender

Viernes, Octubre 8th, 2010

Logo

En este post, he decidido hablaros de una herramienta llamada Blender, la cual ha sido el instrumento principal en la realización de mi PFC en la Universidad Politécnica de Madrid. El proyecto consistía en la simulación de efectos meteorológicos, tales como avalanchas o incendios, y a pesar de que en un principio la utilización de la herramienta es compleja y necesita mucho tiempo de investigación, finalmente me ayudo a conseguir un resultado óptimo.

Es un programa multiplataforma para modelar, animar y crear gráficos tridimensionales. Es de distribución libre y pese a que su interfaz es complicada y poco intuitiva, el programa tiene muchas ventajas sobre otros programas con la misma dedicación.

Interfaz

Entre las características mas relevantes tenemos:

* Tamaño de origen realmente pequeño comparado con otros paquetes de 3D.
* Gran variedad de primitivas geométricas, incluyendo curvas, mallas poligonales, vacíos, NURBS, metaballs.
* Incluye cinemática inversa, deformaciones por armadura o cuadrícula, vértices de carga y partículas estáticas y dinámicas.
* Edición de audio y sincronización de vídeo.
* Características interactivas para juegos.
* Renderizado interno versátil e integración externa con potentes trazadores de rayos.
* Lenguaje Python para automatizar o controlar varias tareas.
* Blender acepta formatos gráficos como TGA, JPG, Iris, SGI, o TIFF.
* Motor de juegos 3D integrado.
* Simulaciones dinámicas para softbodies, partículas y fluidos.

Actualmente, blender va por la versión 2.54 Beta, ha sido la principal herramienta usada en el largometraje “Plumíferos”, el cual es el primero realizado íntegramente con software libre, y fue usado en la producción de “Spider man 2″ para la previsualización de escenas.

Gracias.

Aplicación Jobeet de Symfony

Miércoles, Junio 16th, 2010

Quiero recomendar a los programadores de PHP el uso de Symfony desde estas líneas.

Habría mucho que hablar para explicar Symfony, pero me voy a limitar a decir que es un framework para desarrollo de aplicaciones Web en PHP, mediante el cual ya heredas arquitectura y patrones de programación adecuados.



Symfony



Digo que me voy a limitar a explicar solo eso, porque desde la página web de Symfony se tiene acceso a un ejercicio práctico llamado Jobeet que te lleva a construir una aplicación compleja tras 24 sesiones de una hora. Es decir, invirtiendo una hora diaria (siendo realista, en algún caso algo más) durante los días laborables, das un repaso a los extremos más significativos de Symfony y creo que te convierte en un programador bastante aceptable de Symfony.

Jobeet

En realidad yo no he realizado este curso práctico, realicé hace un par de años el que había colgado entonces, que se llama Askeet, y puedo asegurar que se construía una aplicación muy avanzada y realmente sorprendente.

Volviendo a Jobeet, incluyo a continuación el programa de trabajo de estos 24 días:

  • Day 1: Starting up the Project
  • Day 2: The Project
  • Day 3: The Data Model
  • Day 4: The Controller and the View
  • Day 5: The Routing
  • Day 6: More with the Model
  • Day 7: Playing with the Category Page
  • Day 8: The Unit Tests
  • Day 9: The Functional Tests
  • Day 10: The Forms
  • Day 11: Testing your Forms
  • Day 12: The Admin Generator
  • Day 13: The User
  • Day 14: Feeds
  • Day 15: Web Services
  • Day 16: The Mailer
  • Day 17: Search
  • Day 18: AJAX
  • Day 19: Internationalization and Localization
  • Day 20: The Plugins
  • Day 21: The Cache
  • Day 22: The Deployment
  • Day 23: Another Look at symfony
  • Day 24: Appendix B – License

Realmente me parece brillante esta ídea, y hace que esta forma de aprender sea muy motivante, te engancha desde el primer día, ya que ves los avances rápidamente, y me parece que es una técnica que se debería imitar …

Si quieres tener una idea gráfica de la aplicación resultante desde aquí puedes acceder a la demo de Jobeet que Symfony pone a disposición de los visitantes.

Mercurial, explicado para usuarios de Subversion

Martes, Mayo 4th, 2010

Debido a que los repositorios de Openbravo son de Mercurial, en los últimos meses me he tenido que acostumbrar con ese sistema de control de versiones (SCV).

Para alguien que sólo ha trabajado con Subversion (o anteriores), esto significa un importante cambio de filosofía, puesto que Mercurial se engloba dentro de los más modernos sistemas de control de versiones distribuidos (como Git, Bazaar y otros). Lo que voy a contar es específico de Mercurial, pero estos cambios vienen motivados por su característica de distribuido.

El principal cambio es respecto a la redifinición de los conceptos de cliente y servidor. En SVN, la separación está muy clara: el servidor aloja las versiones y se encarga de su gestión. Por otro lado, los distintos clientes se bajan copias del servidor, realizan cambios, y envían esos cambios al servidor.

SCV tradicional

En toda esta relación está claro quién es quién. En nuestra máquina local tenemos el cliente, y en el servidor el repositorio. Con Mercurial la cosa cambia mucho, porque cada copia del repositorios es a la vez cliente y servidor. En lugar de hacer checkout, para hacerte con un repositorio cliente del servidor, haces clone, con lo que creas un nuevo repositorio cliente-servidor copia del anterior. Las operaciones de commit y update funcionan en local, mientras que se introducen nuevas operaciones (pull y push) para intercambiar cambios entre repositorios. Todo junto quedaría en el siguiente esquema:

SCV distribuido

Esta estructura es bastante más compleja que un SCV tradicional, pero ofrece una serie de ventajas que compensan el aprendizaje inicial. Se suele decir que las principales ventajas son relativas a proyectos grandes, con un montón de colaboradores y varias personas validando grupos de estos colaboradores. Sin embargo, mi experiencia es que incluso cuando hay un único desarrollador, hay beneficios importantes.

Una ventaja que puede parecer secundaria, pero que a mí me encanta, es la capacidad de realizar commits locales. Esto permite trabajar con el control de versiones aún cuando no tienes acceso al servidor princiapl (circunstancia muy frecuente). Esto permite que los desarrolladores incomunicados puedan hacer commits con cambios pequeños y atómicos, en lugar de realizar un envío masivo donde todos los cambios van a tropel y hacen inmanejables logs, control de cambios y vueltas atrás.

Hablando de vueltas atrás, con Mercurial también es posible revertir cualquier fichero a cualquier revisión sin necesidad de conexión con el servidor. Los programadores que se han visto en estas situaciones adversas (como proxies) durante largos periodos pueden valorar estas ventas.

Pero quizá la ventaja más importante está en el prácticamente nulo esfuerzo requerido para clonar repositorios. Por ejemplo, cada vez que un cliente nuevo requiere una personalización de Openbravo POS, se le puede crear un nuevo repositorio simplemente clonándolo. Luego cada desarrollador clonaría de este nuevo repositorio y compartirían los cambios a partir de él.

Si es el caso de OpenTPV, la versión de Opensistemas de Openbravo POS para negocios de restauración, la estructura sería Openbravo POS -> OpenTPV -> versión del cliente . Si hay cambios en el repositorio principal de Openbravo POS, es trivial irla bajando a OpenTPV y a sus modificaciones. Si arreglamos un bug, dependiendo de la raíz del problema, podemos corregir Openbravo POS, OpenTPV o la versión del cliente, y luego difundir esos cambios a los que corresponda.

La única desventaja que le encuentro a Mercurial es que requiere algo más de control y pensar bien cómo organizar estos repositorios. En otras entradas planeo contar un poco más de esto ya que, por si no se ha notado, Mercurial me ha encantado.

Por todo esto, yo recomendaría su uso, o al menos probarlo. Quizá algún día merezca implantarlo a nivel oficial en la empresa, como alternativa al madurito Subversion.

Es legítimo favorecer al Software Libre

Miércoles, Marzo 31st, 2010

La Corte Constitucional italiana ha dictaminado que favorecer la preferencia por el Sofware Libre es legal, y que no afecta a la libre competencia.

Esta sentencia viene a ratificar la ley aprobada por el Consejo Regional de Piemonte que favorece a los programas pertenecientes a la categoría de software libre y a los programas en los que el código es inspeccionable por el licenciatario.

La Presidencia del Consejo de Ministros impugnaba esta norma, pidiendo al Tribunal Constitucional que la declarara ilegal, bajo las presiones de los lobbies del software privativo en Italia.

Esta sentencia es histórica y muy importante, porque viene a demostrar que los argumentos en contra de la prioridad del software libre por supuestamente atentar contra la libre competencia son una falacia:

Los conceptos de software libre y software de código abierto, no son nociones relativas a una tecnología determinada, marca o producto, sino que expresan una característica jurídica.

Lo que viene a decir que nada impide que un fabricante cualquiera utilice una licencia libre y, por lo tanto, Software Libre.

Es un debate importante para la ciudadanía de cualquier país: ¿debe favorecer la administración el uso de Software Libre? Ahora hay un nuevo argumento para desmontar la falacia de la libre competencia, que en ningún momento defiende los intereses de los ciudadanos, solo de las empresas de software privativo.

Vía: Histórica sentencia de la Corte Constitucional: es legítimo favorecer el software libre.

GobForge – Estrategia digital Chile

Miércoles, Diciembre 2nd, 2009

Existe una oportunidad importante en Chile para las empresas que vendemos servicios informáticos basados en FLOSS, se llama GobForge.

GobForge es un repositorio de software iniciativa de Estrategia Digital en Chile cuyo objetivo es lograr la transferencia tecnologica entre las organizaciones del estado – en lo práctico se busca que si dos organizaciones del estado de Chile buscan satisfacer una misma necesidad no hagan dos licitaciones distintas para conseguir el mismo productos, simplemente deban buscarlo en el GobForge y acceder a una serie de empresas que brindan servicios informáticos.

Para responder a la pregunta de ¿Quién pone el código en el GobForge? podría ser – en mi opinión – que los productos software licitados deban disponibilizarse en el repositorio al terminar y que existan productos catalogados en él, tal como algunos gestores documentales de libre disposición. Además por la naturaleza de Internet es muy probable que las Universidades o incluso personas naturales disponga su código en el repositorio GobForge.

Para aprovechar esta oportunidad es fundamental que las empresas que tengan la capacidad de especializarse en dar servicios a los productos del catálogo del GobForge nos organizemos y establezcamos formas de certificación en los servicios necesarios, si que es imperativo que las empresas cumplan ciertas condiciones a acordar. Para lograr esta organización mi idea es que nos reunamos en alguna fecha un grupo de empresas que ofrezcamos servicios informáticos basados en productos FLOSS.

Espero que en los comentarios de este post surgan ideas para las condiciones de entrada como empresa para dar servicios en el GobForge y acordemos una fecha de reunión, creo que de parte de Estrategia Digital tendrán toda la disponibilidad para prestarnos una sala – si lo pedimos con tiempo y sentido.

CISL – Cáceres 2009

Miércoles, Noviembre 4th, 2009

Mañana Miercoles a las 11:00 horas en el auditiorio de RED.ES se presentara la Conferencia Internacional de Software Libre.

Ya podeis registraros aqui:

http://www.freesoftwareworldconference.com/index.php?option=com_wrapper&view=wrapper&Itemid=66&lang=es