domingo, 31 de enero de 2016

Introducción al Business Intelligence y al Big Data

Otro curso gratuito recomendado, que ya esta por empezar!!

Este curso pretende ser una introducción al Business Intelligence (BI). Se presenta que es un sistema de BI, cuál es la arquitectura de estos sistemas, cuáles son las metodologías principales de Business Analytics (el Clustering y la Clasificación), y cuáles son las tendencias actuales en el área del Business Intelligence.




Les dejo link:
https://miriadax.net/web/introduccion-al-business-intelligence-2-edicion-

Try Python

La gente de codescholl nos regala un curso sobre python, de la misma modalidad de "Try ruby". Sin más les dejo más info:

COURSE DESCRIPTION

​Explore the basics of Python and learn what it means to store and manipulate numbers and words as well as make decisions with your program.

COURSE OVERVIEW

  1. Level 1 Try Python Badge

    LEVEL 1 FREE LEVELBirds & Coconuts 2 Videos | 6 Challenges

    Get started with Python by calculating how many swallows it takes to carry a coconut.
  2. Level 2 Try Python Badge

    LEVEL 2 FREE LEVELSpam & Strings 2 Videos | 7 Challenges

    ​Learn how to store characters in a string to combine, dissect, and slice words.
  3. Level 3 Try Python Badge

    LEVEL 3 FREE LEVELConditional Rules of Engagement 2 Videos | 7 Challenges

    Explore conditionals in Python to see how your program can make important decisions.

martes, 12 de enero de 2016

Que es React?


Si, si voy a hablar de otra librería javascript: React.js. Lo se, hay muchas librerías javascript. Como existe gente que crea otra y como hay gente que la estudia. no lo se. Pero lo que si se es que cuando el mundo parecía solucionado con Angular, apareció Rect.js que hizo ruido y si hizo ruido algo tendrá.

React es una librería Javascript de código abierto para crear interfaces de usuario, la idea es que sea una herramienta para las webs single-page  (que en castellano serían las web que se ejecutan en una sola pagina). Es mantenido por Facebook, Instagram y una comunidad de desarrolladores independientes.

React nos ayuda a modificar datos de forma dinámica. Su objetivo es para ser sencillo, declarativo y orientado a componentes. React utiliza el patrón MVC, y puede ser utilizada conjuntamente con otras librerías Javascript como AngularJS.

En otros post voy a seguir hablando de este fabuloso framework.

Dejo link: https://facebook.github.io/react/
y en español: https://github.com/jlobos27/react-espanol

lunes, 11 de enero de 2016

Linux Mint 17.3 "Rosa" ya se encuentra en todos sus sabores



La ditro Linux Mint 17.3 "Rosa" ya se encuentra para descargar tanto para mate como para cinnamo, Xfce y kde.

El sábado se lanzo la versión xfce y kde, completando así todos los saberes de Mint. Si bien no es una versión que traiga muchos cambios, es bueno mantenerse actualizado.

Para la próxima versión mint va a tomar como base Ubuntu 16.04 LTS. Linux Mint 18 con nombre en clave ‘Sarah’ llegará posiblemente hacia finales de mayo o principios de junio. Este va a tener nuevas meta: renovar el aspecto visual del escritorio, que falta le hace.

Los usuarios de Mint estamos agradecidos y esperamos un gran año para la distro.

Dejo link:
http://blog.linuxmint.com/?p=2978
http://blog.linuxmint.com/?p=2977

jueves, 7 de enero de 2016

Swift le gano a Objective-C en el indice TIOBE.



Todos recuerdan el indice TIOBE, es un indice que muestra los lenguajes más usados y en el mes de diciembre Swift paso a Objective-C.

Que tiene de especial esta noticia?

Bueno, es la primera vez que queda claro que el publico esta más interesado en Swift, que en Objective-C y me parece natural. Por lo tanto si queres programar en la plataformas de Apple, ponete a estudiar Swift.

Dejo link:
http://www.infoq.com/news/2016/01/swift-overtakes-objective-c

Ubuntu GNOME 15.10 fue liberado


En el mundo del software libre existen muchas cosas muy buenas, pero Ubuntu y gnome son una joya.Y ahora podemos verlsa juntas.

Ubuntu GNOME trae un nuevo detalles, los cuales se pueden ver en el video:


miércoles, 6 de enero de 2016

Elixir 1.2 se viene con muchas mejoras!!


José Valim ha anunciado la versión 1.2 de Elixir, el lenguaje funcional dinámico que corre en la plataforma Erlang.

Elixir 1.2 trae mejoras, bug fixing y mejoras en la performance y necesita la versión 18 de Erlang o superior.

Entre las mejorar podemos nombrar:
Se agrega nuevas formas para lo aliases/imports/require, ahora podemos hacer multiples alias por ejemplo:  alias MyApp.{Foo, Bar, Baz}
Se agrego nuevo soporte para matas
Además, las variables también se pueden utilizar como patrones con el operador pin.
Elixir v1.2 introduce el operador "with" que permite resolver patter matching de forma más resumida.

Dejo link:
http://elixir-lang.org/blog/2016/01/03/elixir-v1-2-0-released/

martes, 5 de enero de 2016

Los Mejores Proyectos Open Source 2015

Me gustaría compartir un interesante post donde lista los mejores proyectos del 2015, esto de mejor es muy subjetivo. Pero me parece que esta bien.

Los proyectos que a mi entender son muy interesantes:

  • Spark
  • R
  • Blender
  • git
  • Vagrant
Cual falto? A mi entender faltaron muchos por ejemplo: 
  • Unity
  • Akka
  • play
  • Angular
  • etc...
Que opinan? Cual falta?


Dejo link: 


domingo, 3 de enero de 2016

GOA, a Go-based HTTP Microservice Framework


El lenguje de google no se toma respiro y sigue creciendo. Ahora tengo el agrado de presentar a GOA, que es un framework hecho en Go y que permite definir servicios a través de un DSL y luego se genera el código y la documentación.

Veamos un ejemplo:

package design

import (
        . "github.com/raphael/goa/design" // "dot" imports make the DSL easier to read.
        . "github.com/raphael/goa/design/dsl"
)

var _ = API("winecellar", func() { // The API function defines an API given its name.
        Description("The winecellar service API")
        BasePath("/cellar")        // Base path or prefix to all requests.
                                   // Can be overridden in action definitions using an
                                   // absolute path starting with //.
        Host("cellar.goa.design")  // Default API host used by clients and Swagger.
        Scheme("http")             // Supported API URL scheme used by clients and Swagger.
        Scheme("https")            // Scheme("http", "https") works too
})

var _ = Resource("Bottle", func() { // Define the Bottle resource
        DefaultMedia(BottleMedia)   // Default media type used to render the bottle resources
        BasePath("/bottles")        // Gets appended to the API base path

        Action("show", func() {              // Define the show action on the Bottle resource
                Routing(GET("/:bottleID"))   // The relative path to the show endpoint. The full path is
                                             // built concatenating the API and resource base paths with it.
                                             // Uses a wildcard to capture the requested bottle ID.
                                             // Wildcards can start with : to capture a single path segment
                                             // or with * to capture the rest of the path.
                Description("Retrieve bottle with given ID")
                Params(func() {              // Define the request parameters found in the URI (wildcards)
                                             // and the query string.
                        Param(               // Define a single parameter
                                "bottleID",  // Here it corresponds to the path segment captured by :bottleID
                                Integer,     // The JSON type of the parameter
                                "The name of the bottle to retrieve", // An optional description
                        )
                })
                Response(OK)                 // Define a potential response
                Response(NotFound)           // An action may define any number of responses.
                                             // Their content is defined through ResponseTemplates (not shown
                                             // in this simplistic example). Here we use the default response
                                             // templates defined in goa.
        })
})

var BottleMedia = MediaType("application/vnd.goa.example.bottle+json", func() {
        Description("A bottle of wine")
        Attributes(func() {
                Attribute("id", Integer, "ID of bottle") // Attribute defines a single field in
                                                         // the media type data structure given its
                                                         // name, type and description.
                Attribute("href")                        // The default type for attributes is String.
                Attribute("name", String "The bottle  name", func() { // Like with API, Resource and Action an
                                                         // attribute definition may use an anonymous function
                                                         // as last argument to define additional properties.
                        MinLength(1)                     // Here we define validation rules specifying a
                        MaxLength(255)                   // minimum and maximum number of characters in a bottle
                        // name.
                })
                Attribute("color", func() {              // Descriptions are optional.
                        Enum("red", "white", "rose", "yellow", "sparkling") // Possible field values
                })
                Attribute("sweetness", Integer, func() {
                        Minimum(1)                       // Minimum and maximum int field values.
                        Maximum(5)
                })

                View("default", func() {                 // Views are used to render a media type.
                        Attribute("id")                  // A media type can have one or more views
                        Attribute("href")                // and must define the "default" view.
                        Attribute("name")                // The view simply lists the fields to render.
                        Attribute("color")               // It can also specify the view to use to render
                        Attribute("sweetness")           // fields whose type is itself a media type
                                                         // (the "default" view by default). Not used here.
                })
        })
})

Parece cimplejo a simple vista pero pensemos que estamos codificando y documentando un servicio REST.

A la vez este framework se encuentra documentado en Go academy.

Dejo link:
https://blog.gopheracademy.com/advent-2015/goaUntanglingMicroservices/