DevelUY

Planeta de desarrolladores uruguayos

21 de abril de 2017

Alejandro Revilla

ReplicatedSpace – 10 years later

/by apr/

10 years ago I add an experimental ReplicatedSpace implementation to the jPOS-EE project. While it was fun to develop and test, it didn’t get too much traction (or so I thought).

It turned out that I’ve started to hear about several high-end production systems using it, so I migrated it from the old GoogleCode repo to the new Github one.

Want to give it a quick try? Here are the very simple instructions:

Clone de jPOS-Template into a test directory

git clone https://github.com/jpos/jPOS-template.git rspace && cd rspace

Edit build.gradle

Add the dependency compile "org.jpos.ee:jposee-rspace:2.0.9-SNAPSHOT", your dependencies will look like this:

dependencies {
  compile ('org.jpos:jpos:2.0.+') {
    exclude(module: 'junit')
    exclude(module: 'hamcrest-core')
  }
  testCompile 'junit:junit:4.8.2'
  compile "org.jpos.ee:jposee-rspace:2.0.9-SNAPSHOT"
}

Install resources

Call gradle installResources

This will extract the ReplicatedSpace configuration from its jar and will place it in your src/dist directory

Remove the file src/dist/deploy/01_multi_instance_prevention.xml so that you can run multiple instances on the same machine

Build a distribution

gradle dist

This will create a build/distributions/rspace-2.0.0.tar.gz that you can extract in several boxes. For a quick local run, you can gradle installApp and cd build/install/rspace to have the same effect.

Run the system

Call bin/q2 and you’ll see something like this:

<log realm="org.jpos.space.ReplicatedSpaceAdaptor" at="Thu Jun 04 15:18:17.406 UYT 2015" lifespan="1ms">
  <info>
   view-accepted
   [apr-19136|0] (1) [apr-19136]
 </info>
</log>

If you run it again, or in a different box in the same LAN, you’ll see several view-accepted messages.

At this point, you can create a little script to perform some space operations, i.e:

import org.jpos.space.*;
Space sp = SpaceFactory.getSpace("rspace:rspace");
sp.out ("TEST", "REPLICATED MESSAGE");

A nice way to run a script is to deploy something like this:

Add a file called say 90_script.xml to your deploy directory:

<script> server(6666); </script>

Then telnet localhost 6667 (please note the server says ‘6666’ but you connect to 6666+1, this is BeanShell stuff.

At the bsh% prompt, you can type your space operations.

por apr, el 21 de abril de 2017 a las 22:06

20 de abril de 2017

Fernando Briano

System76 – fabricante de computadoras con Ubuntu apunta a fabricar también el hardware

System76 es una empresa fabricante de computadoras especializada en notebooks, computadoras de escritorio y servidores. Tienen la particularidad que soportan al software libre y sus computadoras ofrecen Ubuntu como única opción de sistema operativo instalado.

System76

En su oferta de laptops cuentan con modelos livianos como el Lemur de 14 pulgadas y la Galaga Pro de 13, así como máquinas de gama alta (sacrificando portabilidad) como la Serval WS de 15 y 17 y el Bonobo WS de 17. En escritorio la oferta arranca con Meerkat, una computadora de 10 cm de tamaño pero bastante potente. También ofrecen equipos de gama alta terminando con la monstruosa Silverback WS.

El número 76 en el nombre alude al año de la Revolución de Estados Unidos: 1776. Los fundadores esperan de la misma manera comenzar una revolución open source, llevando a una situación en que los consumidores no necesiten software privativo. La compañía promueve activamente a Ubuntu, enviando stickers, patrocinando el Ubuntu Developer Summit, y apoyando reuniones y grupos de usuarios locales.

En un post titulado “Entering Phase Three” en su blog, describen un poco las fases por las que fue pasando la empresa, hasta llegar a lo que esperan cambiar actualmente en su modelo de fabricación:

Fase uno – tomar cerveza y hablar sobre código abierto. Armar una empresa haciendo computadoras con Linux. Ver si a alguien le interesa. He aquí, ¡la gente quiere computadoras con Linux! Mucho esfuerzo. Ocho años después, ¡perseverar!

Fase dos – ¿Quiénes somos? Tenemos principios. ¿Nuestra marca retrata nuestros principios? No muy bien. Corrijamos eso. Re-marca y definirnos claramente. “Hacemos computadoras potentes para ayudarte a hacer más, ir más lejos, y liberar tu potencial”.

Hasta ese punto la empresa tomaba todas las decisiones del stack de software desde el firmware hasta Ubuntu, entregando hardware de última generación y asegurándose que funcione con los lanzamientos de Ubuntu. Lo que no puede hacer es diseñar y fabricar sus productos, lo hace a través del outsourcing. Y esto cambiaría a partir de la próxima fase:

Fase tres – Mover el diseño y fabricación del producto a la empresa. Esto empezaría con las computadoras Model S. Los principios de diseño, al ser System76, son el polo opuesto del resto de la industria:

  • Representar el carácter de la empresa – Una empresa abierta, cálida, amigable, de alta calidad. Sus diseños reflejan estas características.
  • Representar a la comunidad Open Source – Su trabajo CAD será de código abierto y su diseño rendirá tributo a la ciencia de la computación.
  • Fácil de trabajar y expandir – El producto será flexible, para abrirlo, cambiarlo y expandirlo.
  • Eficiente de fabricar – En este aspecto mencionan robots y automatización, eficiencia para mantener costos competitivos. Al igual que el desarrollo de software, integrarán mejoras en el diseño del producto y la producción contínuamente.

Esta nueva etapa comenzará con las computadoras de escritorio. Tanto el diseño como el CAD están encaminados, y están prototipando con acrílico y pasando a metal pronto. Las primeras computadoras diseñadas y fabricadas en la empresa estarán listas el año que viene. Las laptops son más complejas y seguirán más adelante.

Si bien las System76 se entregan con Ubuntu, sabemos que cuentan con la compatibilidad de hardware en Linux, por lo que cambiar a nuestra distribución preferida no debería traer problemas. Por mi parte me gustaría ir teniendo una de esas Meerkat con Debian como Media Center en mi tele…

Es una apuesta arriesgada pero esperemos que la empresa tenga éxito. Que mantengan planes así de ambiciosos después de varios años de producción es una buena señal. Necesitamos más empresas que ofrezcan una solución integral de computadoras con Linux, y productos que respeten la libertad del usuario y su poder sobre los dispositivos que compra.

por Fernando, el 20 de abril de 2017 a las 18:30

19 de abril de 2017

Fernando Briano

StarCraft original es ahora gratuito

Con motivo del próximo lanzamiento de StarCraft: Remastered, Blizzard publicó para descargar e instalar StarCraft clásico totalmente gratis. Esto incluye StarCraft y su expansión StarCraft: Brood War.

StarCraft

En 2008 comentaba cómo parchear una nueva versión de StarCraft en Wine. Seguramente jugué mucho más tiempo StarCraft en Wine que con mi vieja laptop con Windows 2000. En esos momentos nos preocupábamos por poder jugar sin tener que andar con el CD del juego arriba, hoy mi laptop no tiene lectora de CD’s. También hacía un comentario interesante sobre los juegos en Linux:

(…) que comiencen a migrar sus juegos a GNU/Linux!! Una compañía grande, que una sola de las compañías grandes dé el primer paso, el resto no se va a quedar afuera…

Gracias Valve, larga vida a Gabe Newell.

Con la versión el parche 1.18, se hacen gratis ambos juegos y se ponen a disposición versiones para Mac y Windows. También hay varias correcciones más que pueden ver en detalle en la publicación oficial.

Si bien versiones anteriores de StarCraft para Windows funcionaban casi perfectamente con Wine, no es el caso de esta versión gratuita. La instalación sí funciona, y el juego queda instalado en nuestro directorio de Wine:

Instalando StarCraft

Pero un error no permite la ejecución del juego una vez instalado. Por suerte el bug en cuestión ya fue reportado en la AppDB de Wine, así que supongo que será cuestión de tiempo que una versión más nueva de Wine implemente los cambios para que el juego funcione.

En los comentarios del bug hay usuarios que confirman haber logrado hacer funcionar el juego usando wine-overwatch. Sin embargo, después de compilar e instalar esta versión de Wine no funcionó para mí. Con un poco más de paciencia posiblemente se logre.

Estaría genial una versión nativa de StarCraft para Linux, pero dudo que pase. Por lo pronto a esperar esa nueva versión de Wine que arregle el asunto, que los juegos de Blizzard han funcionado bastante bien así en el pasado.

por Fernando, el 19 de abril de 2017 a las 12:45

18 de abril de 2017

Fernando Briano

Firefox simplifica sus canales de lanzamiento: No más Aurora

Firefox Aurora Nightly

A partir del 18 de Abril, el canal de Firefox Aurora dejará de ser actualizado. Hasta ahora, Aurora era la versión de Firefox donde se probaban nuevas funcionalidades para ser integradas en la versión estable. Era un paso intermedio entre Nightly y Beta.

Eventualmente el build de Aurora será eliminado del ciclo de lanzamientos. La versión Developer Edition estará basada en el build Beta. Aquellos que vengan usando la Developer Edition mantendrán sus temas, herramientas y preferencias, manteniendo sus perfiles existentes y no deberían experimentar nada raro.

Con este cambio, los canales de pre-lanzamiento quedan más claros:

Nightly – Canal experimental, para probar características nuevas a diario, cambios en el código todos los días.

Developer Edition/Beta – Canal estable, con características cerca de ser integradas a la versión estable. A partir de la desaparición de Aurora, calidad y estabilidad mayor.

El cambio también ayuda a que los ciclos de lanzamiento sean más ágiles.

A partir del 18 de abril, el código de Firefox 54 se mueve de Aurora a Beta, como sucede usualmente, mientras que Firefox 55 se mantendrá en Nightly para un segundo ciclo seguido (un total de 14 semanas). Para el próximo día de merge, 12 de junio, Firefox 55 se moverá directamente de Nightly a Beta. Entre Abril y Junio, Firefox Aurora para Escritorio (54) seguirá recibiendo actualizaciones para problemas críticos de seguridad y las poblaciones de Aurora y Developer Edition serán migradas al canal de actualización Beta. En Android, los usuarios de Aurora serán migrados a Nightly.

Aurora fue creado originalmente en 2011 para proveer más feedback de los usuarios cuando Firefox se movió de la versión 5 a un ciclo de lanzamiento de alta velocidad. ¿Se acuerdan cuando celebrábamos las salidas de nuevas versiones de Firefox con records mundiales? Ahora salen demasiado seguido… En 2017 Mozilla considera que cuenta con procesos más modernos en su modelo, y cree que puede entregar productos llenos de características y estables sin las 6 a 8 semanas que sumaba la fase Aurora.

El mecanismo de lanzamiento de cada versión continuará teniendo chequeos adicionales para asegurar versiones de alta calidad. Las nuevas características pasarán de Nightly a Beta únicamente cuando se las considere listas, basado en criterios pre-establecidos determinados por los equipos de ingeniería, producto e integridad de producto. Si algo no está listo, no pasará de Nightly a Beta.

Pueden leer más información en el blog de Release Management de Mozilla.

Personalmente vengo usando Nightly como navegador por defecto desde hace mucho tiempo y se nota una mejora gigante en la estabilidad respecto a tiempos anteriores. De todas formas, como dice el post enlazado más arriba, se está trabajando en mejorar la estabilidad general de esta versión. Existen nuevas condiciones para que una característica entre a los builds de Nighlty, se integrarán analizadores estáticos para identificar potenciales problemas, se analizará cobertura de código y más. Se vienen buenos tiempos para los usuarios de Nightly y Firefox en general 🙂

Más info:
Simplifying Firefox Release Channels and Improving Developer Edition’s Stability

 

por Fernando, el 18 de abril de 2017 a las 15:00

GNU IceCat 52 – Nueva versión del navegador web orientado a la libertad y privacidad

¿Se acuerdan de GNU IceCat? Es la versión GNU del navegador web Firefox, orientada a proteger la libertad y privacidad de sus usuarios.
GNU IceCat

El código está basado en la versión oficial de Firefox ESR (versión de soporte extendido), quitando el arte registrado y los componentes privativos. No se trata simplemente de un fork de Firefox ESR, es un esfuerzo en paralelo que trabaja cerca y en sincronía con Firefox, elevando parches cuando es posible. Notar que algunas actualizaciones de seguridad adicionales son personalizadas para IceCat ocasionalmente.

Con un foco en la privacidad del usuario, incluye algunas funcionalidades extra. Está diseñado para que resulte fácil bloquear la ejecución de JavaScript no-libre con GNU LibreJS o deshabilitar todo el JS, bloquear rastreadores de privacidad con SpyBlock (fork de Adblock Plus), redirigir a HTTPS cuando es posible con HTTPS Everywhere. También cuenta con contramedidas para fingerprinting, una serie de técnicas que permiten identificar singularmente a un navegador basado en características específicas de esa instancia en particular (como qué fuentes están disponibles en el sistema). A diferencia de las cookies el usuario no puede optar por no ser rastreado de esta manera, así que el navegador tiene que evitar dar esa información.

Por último, a diferencia de nuevas versiones de Firefox que brindan soporte para DRM (Gestión de restricciones digitales) mediante su implementación de EME (Encrypted Media Extension), GNU IceCat no lo incluye ya que se opone completamente a la tecnología DRM.

Recientemente se lanzó la versión 52 de GNU IceCat. Hubo un gran cambio ya que la versión estable que se venía manteniendo era la 45 (basado en la versión de Firefox con ese número de versión). Entre los cambios notables, se incluyen:

  • Detección y manejo de portales cautivos
  • Soporte nativo para FLAC
  • Muchas mejoras de rendimiento y seguridad
  • Ventanas multi proceso (Electrolysis). Esto está deshabilitado por defecto ya que no es compatible con LibreJS.

Pueden descargar GNU IceCat y leer más sobre el navegador en el sitio web de GNU.

La versión móvil del navegador está siendo considerado para ser incluida en F-Droid, el catálogo de aplicaciones software libre para dispositivos Android.

por Fernando, el 18 de abril de 2017 a las 14:40

17 de abril de 2017

Alejandro Revilla

Investor’s Dilemma : How do I Handle Unlicensed Copies of AGPL Software in a Portfolio Company

Every once in a while we receive a request from an investor or private equity firm who, in the process of conducting due-diligence on an existing or established potential portfolio company, encounters an unlicensed copy of jPOS. Often the company has released a commercial product which incorporates this unlicensed software. Investors want to know, how should we proceed and what are the responsibilities of the company vis-à-vis the license and source code?

The easiest and first answer is of course, the company should purchase a license and not rely on pirated software to conduct their business. The more subtle question is what does it imply when a start-up is willing to pirate software which is intended to be reasonably priced and positioned to benefit the authors and the overall Fintech software community as a whole?

Isn’t it risky to partner with a company that disregards good business practices, either because of bad faith or negligence?

If it were me, I’d invest somewhere else!

por apr, el 17 de abril de 2017 a las 18:20

13 de abril de 2017

Fernando Briano

My Moon – Corto de ciencia ficción hecho completamente con Software Libre

El siguiente corto fue producido por Nikolay Prodanov con herramientas 100% libres: Blender, Krita, Inkscape, y OpenMPT. Usó Blender para la animación 3D, Krita para los gráficos en mapa de bits, Inkscape para los gráficos vectoriales y OpenMPT para la música. El trabajo además es publicado bajo licencia Creative Commons:

Un excelente ejemplo de que no es necesario pagar miles de dólares en licencias de software privativo para producir arte de calidad.

por Fernando, el 13 de abril de 2017 a las 17:03