Translate

jueves, 2 de mayo de 2013

Cambiamos a linux?

Si te preocupan tus aplicaciones windows, no te preocupes vas a encontrar mejores:

miércoles, 1 de mayo de 2013

Entendiendo a Debian

Se viene una nueva versión de Debian y es bueno entender un poco más para ello una infografía:


FoundationDB. NoSQL. YesACID.


Leyendo InfoQ me encuentro con esta base NoSQL llamada FoundationDB, que tiene de especial? es que nos promete transacciones! Es decir cumple con el conjunto de características ACID (Atomicity, Consistency, Isolation and Durability).  Como sabemos NoSQL normalmente no soporta ACID pero como beneficio nos brinda la posibilidad de escalar a muchos datos.

Como trabaja FoundationDB para ser NoSQL y ACID? Es por medio de lo que ellos llaman Layers (capas) Una capa puede proporcionar un modelo de datos nuevo, la compatibilidad con los sistemas existentes, o incluso servir como un marco completo.

Varias capas se pueden utilizar al mismo tiempo, lo que permite una base de datos única para consolidar varios almacenes de datos. FoundationDB soporta diferentes maneras de guardar datos o modelo de datos, pero todo termina siendo objetos clave valor.

Luego de buscar como una hora el licenciamiento, porque es su pagina no esta muy claro. Les dejo el link: http://foundationdb.com/BetaLicenseAgreement.pdf pero lejos de ser open source.

Dejo link:
http://www.infoq.com/news/2013/04/foundationdb-nosql-database
http://www.foundationdb.com/

Javascript y java un solo corazón



Leyendo InfoQ me tope con una interesante noticia, sobre javascript y java. Se ha anunciado una nueva implementación de javascript a la plataforma Java que utiliza la potencia de InvokeDynamic. Esta implementación se llama Dynjs.


Mientras tanto Oracle anuncio otra implementación llamada Nashorn y con la implementación ya conocida Rhino suman 3 y como se puede ver javascript se viene con todo y la plataforma java no quiere quedarse afuera. InvokeDynamic permite que se ejecute javascript con mayor performance utilizando closures de forma nativa.



Dejo links:
http://www.infoq.com/news/2011/10/dynjs
http://openjdk.java.net/projects/nashorn/
https://developer.mozilla.org/es/docs/Rhino
http://dynjs.org/

SLICK, accediendo a almacenes de datos con scala


Seguimos recorriendo el stack tecnológico de typesafe, y es hora de presentarles a Slick. Que es Slick? The Scala Language Integrated Connection Kit (Slick). Queda clarisimo, y para que sirve?  Bueno Slick sirve para conectarnos a bases de datos relacionales o NoSQL de forma fácil desde scala. Slick integra bases de datos en Scala, lo que permite almacenar, datos remotos consultados y procesados ​​de la misma manera que los datos en memoria.

Esto da la sensación de que trabajamos con colecciones, pero en realidad estamos trabajando con base de datos. Por lo tanto tenemos un mayor control de lo que sucede en la base de datos y no necesitamos escribir sql, sino que todo lo hacemos en scala.

Como Slick genera sql debe generarlo para una base en particular, es similar a lo que sucede en hibernate con los dialectos. Slick soporta actualmente las siguientes bases de datos:


  • DB/2
  • Derby/JavaDB
  • H2
  • HSQLDB/HyperSQL
  • Microsoft Access
  • Microsoft SQL Server
  • MySQL
  • Oracle
  • PostgreSQL
  • SQLite
Debido Slick proporciona una capa frontal que integra las consultas de manera transparente utilizando tipos Scala ordinarias, las consultas pueden ser procesadas ​​y validadas en tiempo de compilación. Usando Slick, los programadores pueden escribir directamente las consultas de base de datos en Scala, beneficiándose de la comprobación estática, seguridad en tiempo de compilación y composicionalidad de Scala. Slick también permite escribir consultas SQL y ejecutarlas con un API optimizado para Scala en lugar de utilizar JDBC.

Veamos un pequeño ejemplo:

object Coffees extends Table[(String, Int, Double)]("COFFEES") {
    def name = column[String]("COF_NAME", O.PrimaryKey)
    def supID = column[Int]("SUP_ID")
    def price = column[Double]("PRICE")
    def * = name ~ supID ~ price
  }
 
  Coffees.insertAll(
    ("Colombian",         101, 7.99),
    ("Colombian_Decaf",   101, 8.99),
    ("French_Roast_Decaf", 49, 9.99)
  )
 
  val q = for {
    c <- Coffees if c.supID === 101
    //                       ^ comparing Rep[Int] to Rep[Int]!
  } yield (c.name, c.price)
 
  println(q.selectStatement)
 
  q.foreach { case (n, p) => println(n + ": " + p) }

Se ve genial!!

Dejo link:

SBT, haciendo fácil la construcción de proyectos en scala


SBT es Simple Build Tool, una herramienta que permite crear proyectos Scala o java. Seria como el querido Maven. Es necesario para utilizarlo java 1.6 o superior entre sus características podemos destacar:


  • Creación fácil de proyectos simples
  •  .sbt que es como el pom.xml de maven, es el archivo de definición del proyecto y esta basado en DSL
  • Compilación continua y testing con triggered execution
  • Genera documentación con scaladoc
  • Genera y publica jars
  • Soporta proyectos que mezclan java y scala
  • Soporta subproyectos
  • Soporta correr tareas en diferentes hilos al mismo tiempo. Esto es genial!
  • Soporta diferentes administradores de librerías, se puede configurar con Apache Ivy o maven, etc.

Si hicieron el curso de programación funcional en scala seguro lo utilizaron. Y se puede ver que es muy fácil de usar.

Dejo link:
http://www.scala-sbt.org/#features

sábado, 27 de abril de 2013

OpenIndiana, la evolución de open Solaris


Cuando Open solaris murió en manos de Oracle, la comunidad no se quedo de brazos cruzados y creo Open Indiana con el código de Open Solaris. Open Indiana es un sistema operativo robusto que utiliza gnome 2 para su interfaz gráfica  A la vez utiliza un núcleo open source llamado Illumos que también es producto de la muerte de Open Solaris.

Se ve bien! Es una buena opción para que usa Solaris.

Dejo link:
http://openindiana.org/
http://wiki.illumos.org/

jueves, 25 de abril de 2013

Tutorial de Python en Español Por Python Argentina

Python Argentina nos regala un tutorial de python totalmente en castellano y para python 3.0 y 2.7.3. Esta  un kilo y 3 pancitos!

Dejo link:
http://docs.python.org.ar/tutorial/index.html

domingo, 21 de abril de 2013

Pude probar OpenSusse 12.3

Me saque las ganas y probé OpenSusse 12.3 y quede muy contento, se ve genial! Instalación limpia, muy intuitiva y un escritorio muy solido. Yo instale KDE y me pareció muy bien integrado, tendría que probar con gnome.

Dejo las novedades de esta versión:

Ya que este ha sido un ciclo más corto de lo normal, se ha prestado gran atención a los detalles.
Icon-distribution.png
Toques finales
openSUSE 12.3 completa la integración de systemd y proporciona una mejor experiencia para los registros del sistema con journald. Se ha trabajado en la gestión de paquetes para hacer que las interfaces gráficas funcionen de un modo más fiable y un nuevo tema que aporta consistencia desde el arranque hasta el escritorio. openSUSE ha cambiado a imágenes autoejecutables (Live) de 1 GB y el equipo ARM espera ser capaz de proporcionar un openSUSE 12.3 estable para esta arquitectura en pocas semanas.
Icon-cleanup.png
Refinamiento
Lo último en escritorios llega con un refinado adicional para los usuarios con un manejo de metadatos mucho más rápido, un nuevo gestor de impresión y una integración mejor de bluetooth en el escritorio Plasma de KDE. GNOME Shell ha mejorado las notificaciones, la gestión de archivos y la integración con cuentas de MS Exchange y Windows Live.
Icon-feature.png
Novedades
openSUSE 12.3 incorpora nuevas tecnologías para usuarios con la inclusión de PostgreSQL 9.2, que tiene soporte nativo para JSON (estilo noSQL). Hemos pasado a usar MariaDB por defecto en vez de MySQL. Ésta será la primera publicación de openSUSE con OpenStack "Folsom" completo para los amantes de la nube, y también debuta el escritorio E17 y los gestores de ventana awesome y Sawfish.
Preferences-system-performance.png
Nos movemos hacia delante
openSUSE avanza incluyendo aplicaciones actualizadas. DigiKam 3.0 llega con unas capacidades muy ampliadas para el procesamiento en lote de imágenes además de filtros y complementos tanto nuevos como actualizados. Las principales aplicaciones de gestión de información personal han recibido actualizaciones. Ahora Evolution tiene búsquedas en carpetas actualizadas automáticamente y corrección ortográfica completa, mientras que el filtro rápido de Kontact busca en el cuerpo entero de los correos y tiene una composición mejorada. Herramientas de desarrollo como KDevelop, monodevelop y valgrind han adquirido soporte preliminar para Android. Las bibliotecas de desarrollo como GTK3 y la plataforma de desarrollo de KDE se han incluido con nuevas versiones.

Dejo links:
https://es.opensuse.org/openSUSE:Anuncio_de_la_publicaci%C3%B3n_de_la_versi%C3%B3n_12.3
https://es.opensuse.org/Bienvenidos_a_openSUSE.org

Cual es tu escritorio favorito?


Interesante iniciativa de hacer una encuesta general de que escritorio es el que más nos gusta, si preguntan por el ganador parcial, Unity, me parece increíble. El escritorio que me sugirió abandonar Ubuntu, luego viene KDE y esto es entendible dado que no tiene tanta fragmentación como gnome.

Si preguntan mi opinión sin lugar a duda fui muy feliz con Mate, luego pondría a KDE que me estoy acostumbrando y la verdad viene bien y en tercer puesto pondría a Cinnamon.

Cual sería su voto? Si tienen que hacer un top 3?

Dejo links:
https://docs.google.com/forms/d/1okkJ82jEhdIJ4P8vghf2kdAkkRWHrov5cbFoR570Nz0/viewform?usp=sharing&edit_requested=true
https://docs.google.com/forms/d/1okkJ82jEhdIJ4P8vghf2kdAkkRWHrov5cbFoR570Nz0/viewanalytics