Translate
sábado, 17 de noviembre de 2012
Elementary Os, Linux con sabor a Mac OS X
En un post anterior hablamos de Linux Pear que era un linux que seguía el lineamiento de Mac OS X el sistema operativo de apple, ahora les presento Elementary OS. Que sigue el mismo concepto.
La principal diferencia de elementary OS en relación a la multitud de distribuciones derivadas de Ubuntu, más allá de su apariencia visual o configuraciones de escritorio, son las aplicaciones propias que se han creado: cliente de correo electrónico, gestor de archivos, calendario, reproductor de música… y unas cuantas más.
A grandes rasgos, elementary OS es una clon de Mac OS X a nivel de diseño, gratuito y libre.
Dejo un video:
Dejo link:
http://elementaryos.org/
miércoles, 14 de noviembre de 2012
Apache se sube a la nube con CloudStack
Apache CloudStack es el caballito de batalla de Apache, como producto para hacer clouds privadas o publicas. Apache no tenia ningún producto de este tipo; me parece que esta llegando tarde dado que productos como Nebula o OpenStack, ya tienen un nicho en el mercado. Pero Apache es un sello de calidad.
Este proyecto es resultado de código que Citrix donó a Apache en abril de este año. Aunque se encuentre en la incubadora imagino que Apache le va a dar mucha fuerza; dado que la tecnologías relacionadas con la nube tienen mucho futuro.
Apache CloudStack es un software diseñado para implementar y administrar grandes redes de máquinas virtuales, como una alta disponibilidad, infraestructura altamente escalable como Servicio (IaaS). CloudStack es utilizado por un número de proveedores de servicios publicos y por muchas empresas para proporcionar un control sobre sobre servidores locales como una nube privada o como una solución híbrida.
CloudStack es una solución que incluye toda la "stack" de las características que esperan las organizaciones de una solución IaaS: compute orchestration, Network-as-a-Service, usuario y cuentas administradas, una API nativa completa y abierta, contabilidad de los recursos, y una interfaz de usuario (UI).
CloudStack es compatible actualmente con los hipervisores más populares: VMware, KVM, XenServer y Xen Cloud Platform (XCP).
Los usuarios pueden gestionar su nube con una interfaz Web fácil de usar, herramientas de línea de comandos, y / o una API RESTful con todas las funciones. Además, CloudStack proporciona una API que es compatible con AWS EC2 y S3 para las organizaciones que desean implementar nubes híbridas.
Dejo link:
http://incubator.apache.org/cloudstack/
Oracle quiere saber tu opinión sobre qué hacer con Java EE 7
Leyendo javahispano y también en infoQ me entere sobre la encuesta que realiza Oracle sobre JEE 7 Me parece un paso importante de Oracle para motivar a la comunidad, dejo el link de la encuesta y las noticias:
https://www.surveymonkey.com/s/javaee7
http://www.infoq.com/news/2012/11/ee7-early-draft-review
http://www.javahispano.org/portada/2012/11/14/oracle-quiere-saber-tu-opinion-sobre-que-hacer-con-java-ee-7.html
FlashBack en Oracle
Todos los días se aprende algo nuevo y hoy aprendí algo muy útil! FlashBack en oracle, que en resumen es como una papelera de reciclaje de nuestras tablas.
La idea es que con el lenguaje DDL puedo destruir o crear tablas; cuando borro una tabla, indice o secuencia no tengo rollback, es decir no puedo volver atrás; por suerte existe FlashBack que permite recuperar los objetos como si fueran de una papelera. También Oracle Flashback Technology provee varias alternativas para ver el estado pasado de los datos, “rebobinando” los datos hacia atrás y adelante sin necesidad de un restore de la base desde un backup.
En este articulo voy a mostrar como deshacer borrados de tablas, veamos un ejemplo. Supongamos que hago un drop de una tabla y me doy cuenta que me equivoque, esto queda en la papelera de reciclaje.
drop table prueba;
select * from recyclebin;
Con este select nos mostrara la tabla que borramos, ahora vamos a restaurarla:
flashback table prueba to before drop;
Con flashback table le decimos que queremos recuperar la tabla y con to before drop que la queremos recuperar después que la borramos.
Si borramos con purge no la envía a la papelera de reciclaje y se borra totalmente.
drop table prueba purge;
Cuando un usuario lanza la orden DROP sobre una tabla, en realidad, lo que hace Oracle es renombrar ese objeto y todas sus dependencias, tales como triggers, índices, constraints etc. El nombre que recibe el objeto es generado automáticamente por Oracle pero siempre está prefijado por BIN$. Como sólo se produce un renombrado, los objetos siguen existiendo y ocupando espacio sus correspondientes tablespaces. El objeto sólo se borra definitavemente si el usuario o el administrador usan el comando PURGE o el espacioocupado por ese objeto es necesario para acomodar una nueva extensión de un objeto vivo (por esto último, se dice que FLASHBACK DROP no es intrusivo ya que si el espacio ocupado por la papelera es necesario se libera automáticamente).Por el contrario, cuando se borra un tablespace sus objetos no son pasados a la papelera sino que son borrados definitivamente, incluyendo los objetos que estén en la papelera de ese tablespace. Lo mismo ocurre cuando se borra un usuario con opción CASCADE.
Dejo link:
http://docs.oracle.com/cd/B28359_01/server.111/b28310/tables011.htm
domingo, 11 de noviembre de 2012
Código fuente más legible con Interfaces Fluent
Cuando hablamos de interfaces fluent (nombre acuñado por el propio Eric Evans y Martin Fowler), es hablar de un tipo de implementación de la programación orientada a objetos que nos ayuda a crear código fuente más legible. Se basa en crear métodos dentro de objetos que nos devuelven al propio objeto que las usa. De esta forma podemos encadenar varias llamadas encadenadas por puntos. Pero mejor vamos a ver un ejemplo en C# :
En la wikipedia existen ejemplos en Ruby, java, scala y c++.
Dejo link:
http://en.wikipedia.org/wiki/Fluent_interface
public class FluentClass { private int value; public FluentClass WithValue(int value) { this.value = value; return this; } public FluentClass AddOne() { this.value += 1; return this; } public FluentClass SubstractTwo() { this.value -= 2; return this; } public FluentClass MultiplyThree() { this.value *= 3; return this; } public FluentClass DrawValue() { Console.WriteLine(this.value); return this; } } static void Main(string[] args) { var fluent = new FluentClass() .WithValue(9) .DrawValue() .AddOne() .DrawValue() .SubstractTwo() .DrawValue() .MultiplyThree() .DrawValue(); Console.ReadLine(); }
En la wikipedia existen ejemplos en Ruby, java, scala y c++.
Dejo link:
http://en.wikipedia.org/wiki/Fluent_interface
Microsoft Open Sources Reactive Extensions
Para ser sincero no tengo idea de Reactive Extensions de Microsoft, lo interesante de la noticia es como Microsoft entendió para donde va el mercado y tiene cada vez más productos open sources.
Reactive Extensions (Rx) es una tecnología de Microsoft Open Technologies. Esto aumenta las posibilidades de que este framework este disponibles con Mono pronto.
Rx es un framework que permite componer programas de forma asíncrona y basados eventos usando Secuencias y consultas el estilo LINQ.
Dejo links:
http://www.infoq.com/news/2012/11/rx-net-open-source
http://www.microsoft.com/en-us/openness/default.aspx
https://rx.codeplex.com/
viernes, 9 de noviembre de 2012
Firefox, el navegador “open source” de Mozilla, cumple 8 años
Aunque nació en 2003 como una rama experimental del proyecto Mozilla, con el objetivo de encontrar una alternativa viable a Mozilla Application Suite, y a pesar también de que hubo una primera tentativa con Phoenix, no fue hasta el 9 de noviembre de 2004 que la primera versión del navegador Firefox vio la luz.
Feliz Cumpleaños Firefox!!
miércoles, 7 de noviembre de 2012
Sinatra, rápida creación de aplicaciones web en Ruby con el mínimo esfuerzo
Sinatra es un framework para aplicaciones web de software libre y código abierto. La idea es interesante es un dsl para hacer paginas webs. Utilizando Ruby se puede hacer paginas webs muy rápidamente. Sinatra es pequeño y flexible. Sinatra no sigue el típico patrón modelo vista controlador que se ve en otros frameworks, como Ruby on Rails. En su lugar, Sinatra se enfoca en la "rápida creación de aplicaciones web en Ruby con el mínimo esfuerzo."
Me imagino que se puede utilizar en prototipos desechables o en hacer sitios poco complejos.
Veamos un ejemplo de una pagina simple:
#!/usr/bin/env ruby -I ../lib -I librequire 'sinatra'get('/') { 'this is a simple app' }
Y ya esta una pagina simple pero completa con 2 lineas de código. Esta filosofia se extendio a otras tecnologias y se puede usar framework similares a Sinatra en muchos lenguajes; saco la lista de la wikipedia:
PHP
JavaScript
Python
- Bottle
- Denied (was an April Fools joke.6 See Flask for a serious effort by the same author.)
- itty
- Juno
Erlang
Groovy
Scala
.NET
Perl
Java
Tengo muchas ganas de probar la version de scala, scalatra.Dejo link:
http://es.wikipedia.org/wiki/Sinatra_(software)
http://www.sinatrarb.com
martes, 6 de noviembre de 2012
Que escala más Scala o Java?
Este post me dio mucha sorpresa, les recomiendo que lo lean:
http://jazzy.id.au/default/2012/11/02/scaling_scala_vs_java.html
http://jazzy.id.au/default/2012/11/02/scaling_scala_vs_java.html
Codecrap
Leyendo Javahispano me encontré con este sitio y créanme me reí mucho...
Lo mejor son los votados: http://codecrap.com/content/best/
También lean los comentarios de Javahispano que están buenos.
Dejo links:
http://www.javahispano.org/portada/2012/11/6/codecrapcom-los-peores-ejemplos-de-codigo-de-toda-la-web.html
http://codecrap.com/
Suscribirse a:
Entradas (Atom)