Atlassian Git Essentials

Que Git está aquí para quedarse y que es mucho más que un control de versiones creo que tiene poca discusión.

Algo así ha debido pensar Atlassian, que en su nuevo producto Git Essentials ha usado Git como base de un ecosistema completo, uniendo todas sus herramientas (JIRA, Confluence, Bamboo, SourceTree,…) dentro de un mismo flujo de trabajo corporativo.

Con este enfoque en Git Essentials han conseguido una trazabilidad completa, con una visión global del proceso de desarrollo :).

Las principales funcionalidades de Git Essentials son:

· Panel central, en cada issue que indicará cada commit, branch y, en definitiva, cada progreso en el desarrollo del código y sus builds.

· Branching. Se puede generar un branch por cada tarea de desarrollo, ofrece una visión global de donde está cada parte del sprint.

· Los pull request van con mucha información. Diff, issues, resultados de los builds, comentarios de los reviewers, etc… Todo en un mismo panel para que el equipo tenga una mejor herramienta donde evaluar la calidad de código.

· Builds. Utilizando Bamboo integrado con Jira podemos hacer un seguimiento de todos los builds automatizados pasando lo tests y viendo sus resultados dentro de cada tarea.

· Automatización de tareas manuales: que permiten automatizar merdes y releases:

Leído en

FlatIcon y Freepik: Buscadores de iconos e imágenes Made In Spain

Buscando iconos y tras no encontrar lo que buscaba en mis catálogos usuales llegué a través de a FlatIcon.

Como se ve en la imagen Flaticon es el mayor directorio gratuito (licencia Creative Commons) de iconos vectoriales, con más de 20K de iconos.

Además de tener miles de iconos permite descargar los archivos en varios formatos y la capacidad para usar iconos como webfonts.

Por si fuera poco ofrece un plugin para Photoshop.

Los iconos están categorizados y pueden generarse packs a medida.

Flaticon está desarrollado por el equipo de Freepik que es un motor de búsqueda que ayuda a los diseñadores gráficos y de web a localizar fotos de alta calidad, imágenes vectoriales, ilustraciones y archivos PSD para sus proyectos creativos.

Ambos productos están desarrollados en España, lo que aún hace los proyectos más interesantes si cabe! (como poco por plantearse la competencia a algunos grandes)

Un poco de Impresoras 3D RepRap

Una impresora 3D es un dispositivo capaz de generar un objeto sólido tridimensional mediante la adición de material a partir de un diseño hecho por ordenador.

Los materiales y técnicas que actualmente pueden utilizarse para ‘imprimir’ son variados y lo cierto es que influyen bastante en el coste de la impresora. Nos encontramos impresoras capaces de trabajar mediante laser o aglomerante, con metal, fotopolímeros o resina líquida, aunque resultan prohibitivas para entornos no industriales.

Las impresoras “caseras” que encontramos son las que funcionan con materiales termoplásticos que se calientan hasta la fusión. Después se proyectan como un filamento de plástico con el que se imprimen las piezas, esto es, modelan capa a capa un volumen con una determinada geometría. Para esta proyección se utiliza una “cabeza” caliente llamada extrusor, que es movido por tres ejes en el espacio.

Parte de las piezas de una impresora 3D pueden ser generadas por otra impresora 3D. Es la familia conocida como RepRap, Replicating Rapid Prototyper, esto es, prototipador replicante rápido. Las RepRap son una iniciativa Open Hardware para la creación de máquinas manufacturadas libres y que se pueden construir en casa. Cuenta con una comunidad muy activa en España, que podemos seguir desde el proyecto clone wars:

Al ser Open Hardware, los usuarios son libres de alterar los diseños de las reprap, incorporando modificaciones a conveniencia. Entre los numerosos diseños de la comunidad incorporados en repositorios libres, son frecuentes las modificaciones a los propios modelos de impresoras.

A la hora de buscar una utilidad a una impresora 3D, tenemos la suerte de encontrarnos en un campo incipiente donde podemos echarle imaginación. Desde piezas de instrumental médico, implantes, arquitectura, aplicaciones aeroespaciales, educación, simulación y prototipado, modelismo, educación, mecánica, robótica, moda, joyería, ocio y por supuesto uso doméstico y semi profesional que abre opciones ilimitadas.

 

Algunos Tipos de Impresora RepRap


 

Prusa Mendel

Son modificaciones sobre la impresora Mendel original llevadas a cabo por Joseph Prusa, cuyo objetivo era la generación de una impresora estable, barata y muy fácil de construir. Existen dos iteraciones (la Prusa Mendel original y la Prusa Mendel Iteración II) y acaba de desarrollarse una tercera (la Prusa Mendel Iteración III). Las dos primeras iteraciones tienen forma triangular. La tercera es un diseño más recto y sencillo que los anteriores.

PrintrBot

PrintrBot es una impresora que también sigue la filosofía RepRap, y diseñada por Brook Drumm y financiada con un proyecto en Kickstarter. Es una impresora cuadrada que es completamente escalable. Esto significa que si compras barras más grandes puedes hacer una impresora capaz de imprimir piezas más grandes.

Rostock (Delta Printer)

Es una impresora también de 3 ejes (más extrusor) creada por Johann, pero con la propiedad de que los 3 ejes son verticales y están separados 120 grados cada uno, dando un sistema de coordenadas distinto, pero un resultado muy interesante. Es una impresora muy alta (pero su espacio de impresión no llega a ser tan alto), y requiere tener el mecanismo del extrusor separado del HotEnd para evitar problemas con la inercia del soporte (el motor pesa algo menos de medio kilo, y desestabilizaría la impresión).

Modelos no RepRap (Generación 0)

Son modelos construidos con una carcasa de madera contrachapada cortada con láser y que los venden las empresas MakerBot, MakeGrear. Son modelos con piezas no imprimibles y por tanto no son replicables ni pertenecen a las RepRap, pero nos permiten empezar a construir las mismas ya que nos imprimen las piezas de estas.

 

Materiales de Impresión más Comunes


 

ABS (Acrilonitrilo Butadieno eStireno)

Es un tipo de plástico que funde a 215ºC más o menos. Es flexible (hasta cierto punto) y puede venir en diferentes colores. Se fabrica a partir del del petróleo y es seguro para la manipulación de alimentos (con ellos se hacen las piezas de LEGO). Se disuelve en acetona lo que permite composición y un acabado “pulido” posterior.

PLA (PolyLactic Acid, Ácido Poliláctico)

Es otro tipo de plástico usado en las RepRap que funde a 185ºC. Es menos flexible, pero desprende menos olores. Además, su origen no es el petróleo y es biodegradable.

 

Hardware de la Impresora


 

Piezas Replicadas

Se refiere a cualquier pieza necesaria que pueda fabricarse mediante una impresora RepRap.

Las piezas no imprimibles son llamadas “vitaminas”. Esto es los motores, varillas de metal… El objetivo de RepRap es reducir al máximo las vitaminas (aunque a veces conviene añadir alguna, como los rodamientos lineales en la Prusa).

Motor Paso a Paso (Bipolar)

Es un tipo de motor eléctrico en cuyo interior existen dos bobinas eléctricas que conectadas alternativamente producen el giro de un rotor (el movimiento del eje). Tienen la propiedad de que al activar una bobina el rotor sólo gira un ángulo muy pequeño llamado paso o step. Al activar la otra bobina (desactivando la anterior) se mueve otro paso, y así avanzan. Permiten controlar la posición ya que puedes controlar el número de pasos que quieres que avancen los motores. Estos motores son usados en aparatos que requieren control de la posición, como las impresoras de inyección de tinta, o nuestras RepRap.

Adicionalmente conectando las bobinas a la vez se consigue que el rotor se quede en una posición intermedia. Si variamos la intensidad de una bobina frente a la otra podemos conseguir más posiciones intermedias. A esto se le llama microsteping.

Heatbed (Cama o base caliente)

Significa placa (cama) caliente. En ella reposan las piezas al ser impresas. Tiene que estar caliente (100ºC para el plástico ABS, 60ºC para el plástico PLA) para evitar que la pieza tenga un gradiente de temperaturas muy elevado durante la impresión (parte de abajo fría parte de arriba caliente) que generaría deformaciones en la pieza. Es posible que no se necesite para imprimir PLA (porque es térmicamente estable, esto es, no varía mucho su dimensión con la temperatura), pero ayuda en cualquier caso.

El heatbed posee un sensor llamado termistor que indica al software de control acerca de la temperatura alcanzada por la cama.

EndStop (Final de carrera)

En español se llaman interruptor final de carrera. Hay dos tipos principales, los mecánicos que son un interruptor con una palanquita, y los ópticos que tienes que meter una banderilla (una tirita de metal) en una ranura para indicar que hay pieza. Existe un tercer tipo que es magnético. Se usan para indicar que una pieza ha llegado al final de su recorrido (y por tanto no debería avanzar más).

En la RepRap se ponen por lo general 3 finales de carrera (aunque se pueden poner 6) para marcar el origen de los ejes X, Y y Z.

Varillas lisas y Roscadas

Se utilizan en la mayoría de impresoras RepRap como sistema de guiado lineal en los ejes (de los llamados carros) en combinación con rodamientos lineales. Pueden ser de acero inoxidable o de aluminio, pero es importante que el diámetro sea el adecuado (por lo general de 8mm) y sea constante, y que la varilla esté bien recta.

Las varillas roscadas y los "husillos" se usan el desplazamiento del eje Z (vertical). Son varillas de acero inoxidable con una rosca métrica mecanizada en su cara exterior giradas mediante los motores del eje Z.

Rodamientos Radiales de Bolas (o bearings), Rodamientos Lineales y Poleas.

Son aparatos que permiten el acoplamiento de un eje movil (que gira) con una pieza fija (un soporte) tal que se minimice el rozamiento producido. Son rodamientos lineales y radiales, evitan la fricción sobre las barras y cintas de poleas.

Las poleas transmiten el movimiento de rotación a las correas, manifestándose en forma de traslación de los brazos en los ejes.

Extrusor

Mecanismo que se encarga de expulsar el filamento de plástico con el que se imprimen las piezas. El extrusor de una RepRap se compone de un motor que mueve el llamado “cuarto eje”. Mediante unos engranajes, fuerza al filamento de 3mm (o 1.75mm) a entrar a un fusor.

La pieza hacia abajo, en la punta del extrusor, es el hotend (fusor) que derrite el plástico y, por la propia presión que ejerce, es forzado a fluir por una abertura (nozzle, o aguja) que permite que salga esa "extrusión". El extrusor, al igual que la cama caliente, posee un termistor para indicar al software de control la temperatura alcanzada.

Fuente de Alimentación

Como las que se usan en un PC. Alimentación de 12v y al menos 15A.

 

Piezas Electrónicas de la Impresora


 

Arduino Mega

Arduino es una plataforma de hardware libre, basada en una placa con un microcontrolador y un entorno de desarrollo, diseñada para facilitar el uso de la electrónica en proyectos multidisciplinares.

https://unpocodejava.wordpress.com/2013/03/05/guia-de-compra-de-arduino-versiones-de-placas-arduino-parte-1-de-2/

Ramps

Literalmente RepRap Arduino Mega Pololu Shield. Es un shield de la Arduino Mega que permite poner hasta 5 controladores Pololu de los motores paso a paso. Adicionalmente tiene la ventaja de que, como la Arduino Mega tiene muchos pines, se le pueden hacer muchas expansiones (como por ejemplo, una pantalla LCD, un lector de tarjetas SD, un panel de control con botones…).

Se ha de comprender que la RAMPS ha de ir montada sobre una Arduino Mega, y requiere de esta placa para funcionar (por tanto esta alternativa se compone de 2 placas, el shield RAMPS y la Arduino Mega).

Controlador de Motores Pololu

Es un controlador (también llamado driver) en forma de chip pequeñito que controla el funcionamiento de los motores paso a paso. Utiliza un chip Allegro A4988, que permite controlar el paso de los motores (paso a paso) y también permite un microstepping de 1/2, 1/4, 1/8 o 1/16.

Sanguinololu

Es una electrónica basada en la Sanguino (un clon de Arduino) que proporciona una alternativa compuesta de una sola placa a diferencia de la RAMPS. En esta placa se incluyen los controladores de los motores sólo pudiéndose conectar 4. El precio de la Sanguinololu es más barato que el precio conjunto de una RAMPS con su correspondiente Arduino Mega.

Sav Mki

Esta placa se ha diseñado y desarrollado usando las contribuciones y comentarios del Grupo Clone Wars de RepRap España. Se han intentado eliminar los defectos de placas similares intentando mantener un precio asequible pero con muchas características. La mejor placa diseñada en España (hasta la fecha) y todo de la mano de la comunidad Clone Wars

 

Software y Proceso de Impresión


 

1 – Modelado 3D

Lo primero es diseñar un volumen con una herramienta de modelado 3d mediante un PC. Servirá cualquier software de modelado 3D que permita generar archivos .STL

Software libre:

Software Privativo:

  • Sketchup (Gratuito)
  • Catia
  • Solid Works
  • Tinkercad

Durante el diseño hay que tener en cuenta que no todas las figuras son “imprimibles” tal cual, y puede ser necesario partirlas en diversas piezas.

2 – Sliceing o Laminado

Por el momento es un paso previo a la impresión que todas las impresoras 3D siguen, que consiste en laminar la pieza las cuales, apiladas, formarán la pieza impresa final.

Para hacer el laminado hay dos programas: Skeinforge y Slic3r. Cortan el .STL rodajas (laminación) y para cada rodaja se calculan las trayectorias que deben seguir la aguja para depositar el plástico. Por último estas trayectorias se exportan a ficheros con los G-codes. Son comandos guardados en ficheros ASCII (que podemos abrir con cualquier editor de texto), con las trayectorias de los ejes para una máquina de control numérico.

3 – Carga del modelo en el firmware del Controlador

Cuando tenemos troceado el modelo, utilizamos un programa específico de impresión.

El pronterface es una aplicación opensource de PC que permite el calibrado de la impresora, envío de ordenes gcode, utilizar programas para el laminado (como el skeinforge) y comunicar los gcodes al firmware del arduino.

(En el arduino hay que haber instalado un programa controlador, por ejemplo, Sprinter o Marlin, que son firmwares opensource).

4 – Impresión

Si la impresora está bien calibrada empezará la impresión. Aquí debemos ser pacientes. Las primeras capas se realizan muy despacio para permitir la adherencia del objeto a la base, después irá más rápido.

La calidad del resultado dependerá de numerosos factores. Si todo va bien, entre los más visibles -en una impresora bien calibrada- están la velocidad de impresión (más lento, mas calidad) y la abertura del hotend (menor abertura, mayor “resolución”).

5 – Postprocesado

Dependiendo del material utilizado podemos componer, pegar o pulir los resultados.

Además de los tratamientos “físicos” como lijar o pegar, existen diversas técnicas, como el baño en vapor de acetona para el ABS que ofrece un aspecto final pulido.

 

Referencias


 
El mejor referente en impresoras 3D en español
http://www.reprap.org/wiki/Proyecto_Clone_Wars

Una buena colección de objetos para imprimir
http://www.thingiverse.com/

Usos futuros

¿Qué es SonarQube?

SonarQube es una herramienta para gestionar la calidad del código, la herramienta controla la calidad en 7 ejes:

La plataforma soporta actualmente más de 20 lenguajes incluyendo Java, Javascript, Cobol, PL, C#…

La herramienta puede extenderse a través de plugins, tanto para soportar más lenguajes como para soportar nuevos lenguajes.

Hay plugins para Eclipse, para Hudson y Jenkins, Maven, Reportes,…. Métricas adicionales,…

Para ver de un vistazo el control de calidad que ofrece lo más práctico es echar un vistazo a at Nemo, una instancia pública de SonarQube:

¿Qué es JavE (Java Ascii Versatile Editor)?

Java Ascii Versatile Editor es un editor Ascii pensado para crear diagramas o imágenes usando caracteres Ascii, o dicho de otra forma en un editor de gráficos para editar textos en lugar de imágenes.

Está hecho en Java y ofrece funcionalidades como:

· Crear gráficos Ascii pintando a mano

  • Soporte FIGlet (conversor textos a Ascii):

  • Conversor de imagines GIF/JPG/BMP a Ascii con multiples opciones

  • Export a diferentes formatos: HTML, Java, C, comentarios, …
  • Editor de vídeos:

Podéis descargarlo desde aquí.

NetBeans IDE 7.4 is available for download.

NetBeans IDE 7.4

The Smarter and Faster Way to Code

Download NetBeans IDE 7.4

Release Highlights

  • HTML5 features available in Java EE and PHP projects
  • Cordova application development
  • Support for Android and iOS devices and emulators
  • Preview support for JDK 8 features
  • Initial editing support for Knockout, AngularJS and ExtJS frameworks
Learn More | Videos | Tutorials | Plugins Join the NetBeans Community Twitter Facebook Youtube Google Plus

HTTP4e: un cliente HTTP REST para Eclipse

Hace más de 2 años que publicábamos este post sobre HTTP4e que es un plugin de Eclipse que permite hacer llamadas a Servicios REST y Web Services desde Eclipse de forma muy sencilla.

Funciona en cualquier Eclipse >3.2. y su precio es bastante asequible:

En estos 2 años este producto ha ido incorporando un gran número de nuevas funcionalidades y actualmente es un producto muy completo!:

Generación de código para diferentes plataformas como Java, Javascript, Flex, jQuery, C#, Python, PHP, JMeter, Ruby, Visual Basic,…

Exportar petición como un script JMeter:

Soporte SSL y Unicode

Soporte Autenticación Basic/Digest:

Editor de parámetros y de cabeceras:

Soporte Proxy

Diferentes vistas de las resultados:

En este vídeo podéis ver todo lo que ofrece:

http://www.nextinterfaces.com/eclipse-restful-http-client-plugin-http4e/http4e-video/

KanbanFlow: ¿la herramienta de gestión de tareas que necesitaba?

Meses no, años llevo buscando, probando y desistiendo con las herramientas para la gestión de tareas diarias y tras un día jugando con KanbanFlow creo que esta me durará más que otras (Gubb sin ir más lejos :)).

KanbanFlow es realmente una herramienta para el trabajo según el modelo ágil Kanban aunque en mi caso la estoy usando más como una herramienta GTD (Getting Things Done)

KanbanFlow tiene 2 versiones, una gratuita más que suficiente para la mayoría de las personas y una versión Premium con funcionalidades más avanzadas.

La versión gratuita de KanbanFlow ofrece características tan interesantes como:

· Creación de múltiples tableros

· Los tableros pueden personalizarse con las columnas que se deseen (

· Permite añadir personas del equipo para colaborar

· Permite definir para cada Tarea:

Fechas de Fin

Subtareas que pueden verse dentro de cada tarea:

· Aplicación para dispositivos móviles

· Y lo que la hace la herramienta definitiva, tiene integrado un Pomodoro Timer!!!

Que además ofrece una gestión completa de interrupciones!!! (Y te da puntos cuando acabas las tareas antes de lo previsto :D)

Consultas HIVE vía Web

Siguiendo con los posts dedicados a HIVE hoy nos enfocamos en las posibilidades de ejecutar consultas HIVE desde una aplicación Web.

Más allá de crearnos nuestra propia consola por ejemplo usando el driver JDBC que ofrece HIVE hay varias alternativas.

Las principales serían:

HiveWebInterface: (HWI)

· Permite desde una consola Web navegar por el esquema y ejecutar queries

· Para arrancarla basta lanzar Hive con esta opción:

Beeswax:

· Si necesitáis algo más sofisticado que HWI, Beeswax es una buena opción, ya que tiene más opciones:

· También permite guardar queries, crear Tablas:

· Beeswax es un plugin de Cloudera HUE

Otra opción podría ser el API REST WebHCAT quer permite hacer peticiones HTTP para acceder al metastore HIVE (HCatalog DDL) o crear queries HIVE.

Un poco de OpenTSDB (y de StatusWolf)

Tengo que publicar esto ya, que tengo a Luis dejándome a traición presentaciones como esta en mi mesa :D

OpenTSDB se define como una Base de Datos de Series Temporales (TSDB de Time Series DataBase) distribuida y escalable montada sobre HBase.

OpenTSBD es un producto Open Source (LGPL) y está pensada para almacenar y servir métricas recopiladas de aplicaciones, sistemas operativos, base de datos, firewalls,… a gran escala y pensando en hacer estos datos accesibles y gráficos.

Entre sus principales características

· Al basarse en HBase OpenTSDB permite recolectar miles de métricas de miles de aplicaciones a una alta frecuencia.

· Nunca base y hacer downsample de los datos

· Puede almacenar billones de puntos

Y tiene aplicación en escenarios como:

· Recuperar información de estado en tiempo real sobre nuestros servicios o infraestructura

· Entender como sistemas complejos interactúan entre ellos (je,je! mira Mario, para poder sacar las dependencias de tu gráfico :D)

· Medir SLAS como disponibilidad, latencia,…

· Hacer tuning de aplicaciones y base de datos

Se usa en sitios como:

· StumbleUpon para hacer tracking de cientos de miles de series temporales (1 billón de data points por día)

· En Box o Tumblr con decenes de billones de datos por día.

En OpenTSDB, un data point se compone de:

  • Un nombre de métrica
  • Un timestamp UNIX (segundos): sí, no soporta precision de milisegundos :)
  • Un valor (64 bit integer o double-precision floating point value).
  • Un conjunto de tags (pares clave-valor) que anotan el data point

Para trabajar con OpenTSDB se escriben pequeños scripts que recolectan datos de tus sistemas (por ejemplo de base de datos MySQL, de SNMP, de JMS,…) y hacen push a uno de los TSDs (Time Series Daemon) cada pocos segundos:

· El script más sencillo sería este:

Donde "1234567890" es el timpo actual epoch (date +%s) en segundos (resolución de OpenTSDB es de 1 segundo)

El siguiente número es el valor de la métrica en ese momento

Ese valor es para el dato del host A, de modo que se tagea como host=A

· Ofrece una línea de comandos para crear queries, métricas, escanear datos, arrancar TDS,…

· Existe un API HTTP que permite cosas como:

· API Java

· En StumbleUpon tienen un framework Python (tcollector) que recolecta miles de métricas (Linux 2.6, Apache’s HTTPd, MySQL, HBase, memcached, Varnish,…)

· Integración con Nagios

La versión actual es la 1.1, si os ha interesado lo que ofrece os recomiendo seguir por su Manual, que ofrece muchos conceptos que hay que asimilar :D

El equipo ya está trabajando en la versión 2 que incorpora muchas novedades, como podemos ver en su documentación, entre otras muchas:

· Un GUI:

Que permite construir queries:

· Plugins para personalizar los TSDs (plugins son JARs)

· Métricas predefinidas

Además alrededor de OpenTSDB existe una herramienta muy interesante: StatusWolf:

StatusWorlf es un dashboard hecho en PHP, muy configurable que integra OpenTSDB como data-source:

· permite buscar métricas

· Mostrar gráficos

· Hacer displays personalizados

· Detectar anomalías:

· Guardar y compartir gráficos:

Venga Luis, me has convencido, lo probamos!!!

Seguir

Recibe cada nueva publicación en tu buzón de correo electrónico.

Únete a otros 413 seguidores

%d personas les gusta esto: