Translate

domingo, 25 de agosto de 2013

Clojure es un lenguaje funcional

Clojure es un lenguaje funcional pero no es un lenguaje funcional puro como Haskell. Es un lenguaje funcional con las siguientes características:

  • Las Funciones son first-class objects, lo que sería que podemos crearlas, pasarlas como parámetros, guardarlas en variables, retornarlas, como cualquier otro tipo de datos.
  • Los datos son inmutables
  • Las funciones son puras, lo que significa que una función siempre devuelve el mismo valor con iguales parámetros; no mantiene estados.

La programación funcional es fácil de entender, es menos propenso a errores y mucho más fácil de reutilizar. Por que?

  • Es simple, sin loops, ni variables, ni mutables estados.
  • Es thread safe.
  • Es paralelizable, como las funciones no mantienen estados se pueden resolver de forma paralela, lo que aprovecha mucho más múltiples micros. 

Por que Clojure?


Las características más importantes de Clojure son la simplicidad y la potencia. Y esto es por sus características:
  • Programación Funcional: la programación funcional es simple y además es fácil de entender, fácil de mantener, fácil de testear
  • Clojure corre sobre la plataforma Java lo que lo hace potente, los beneficios de toda la plataforma java con sus frameworks y herramientas; podemos utilizarlos en Clojure.
  • Lisp es simple, lisp tiene una sintaxis sumamente simple y fácil de aprender.
  • Lisp es también potente, gracias a las macros de lisp, podemos fácilmente hacer DSLs y modificar el lenguaje para hacer mucho escribiendo muy poco.


Por todas estas características podemos afirmar que clojure es simple y potente.

viernes, 23 de agosto de 2013

Netis, Netty en Scala

Recuerdan a nuestro amigo Netty?, Netty es un framework de Jboss que provee un manejo asíncrono en aplicaciones web, un framework ideal para hacer comet o utilizar wesocket de HTML 5.

Netty es un cliente NIO infraestructura de servidor que permite el desarrollo rápido y sencillo de aplicaciones de red, tales como servidores de protocolo y los clientes. Simplifica y agiliza la programación de la red tales como TCP y UDP socket servidor.

Cuando lo usarían? Por ejemplo si quieren hacer un chat el cliente (browser) sabe cuando enviar un texto, pero es incapaz de saber cuando le contestan. Por lo tanto lo que se hacia antes (cuando era joven XD ) era tener un javascript que cada 1 minuto o menos pregunte al servidor si alguien le estaba hablando. Obviamente esto mataba al servidor si eran muchos usuarios; pero en esa época no quedaba otra.

Por suerte evolucionamos, se inventaron técnicas de comet y también websocket con html 5. Y todo más fácil con Netty!

Netis nos brinda una capa de abstracción para utilizar Netty desde scala, pero programando scala-like. Es un framework que nos permite utilizar fácilmente Netty desde scala.


Dejo link: https://github.com/prassee/netis

Scalapeño 2013 en parleys

Scalapeño es una conferencia sobre el lenguaje Scala y han subido vídeos de esta conferencia a parleys.

Que más decir?
Ha disfrutar!!

Dejo link:
http://parleys.com/channel/52013e6ce4b0354ac31ac5f7/presentations

miércoles, 21 de agosto de 2013

Programming Principles: Functions and Objects with Professor Martin Odersky

El próximo 17 de Septiembre comienza nuevamente Programming Principles: Functions and Objects con el profesor Martin Odersky, el creador de Scala. El que no haya hecho este curso se lo recomiendo se aprende muchísimo y no solo de Scala si no de programación funcional y orientada a objetos.

Dejo link:
https://www.coursera.org/course/progfun

Dejo video:

sábado, 17 de agosto de 2013

Debian cumple 20 años

Esta noticia es vieja, el día de ayer Debian cumplió 20 añitos, no quería dejar pasar la oportunidad para felicitar a mi distro preferida, he usado Debian hace ya bastante y siempre tuve buenos resultados. Por cuestiones laborales me he pasado a las distribuciones Red Hat pero siempre extraño al apt get y todas las características de este gran sistema operativo.

En servidores sin duda es el más confiable, no hay con que darle. Y es también el papa de grandes distros como Ubuntu, Mint, Elementary OS, knoppix, etc... Que más decir?

Feliz Cumpleaños!!

jueves, 15 de agosto de 2013

Peppermint Linux OS

Si pensamos en una distribución basada en Ubuntu, pero que prioriza los servicios en la nube, estamos pensando en Peper mint.

Peper mint en una distro basada en Lubuntu por lo que utiliza  LXDE desktop environment. Pero lo más importante es que es una distro que prioriza los servicios en la nube, por lo tanto espera que utilices google doc, gmail, dropdox, etc...

Trae de forma nativa las siguientes aplicaciones:

  • Chromium Web Browser
  • Dropbox
  • Guayadeque (Music Player)
  • Ice
  • X-Chat (IRC Client)
  • Transmission (Torrent Client)
  • Gnome-Mplayer (Media Player)

Y como aplicaciones en la nube:

  • Editor by Pixlr (Image Editor)
  • Express by Pixlr (Photo Editor)
  • Pixlr-o-Matic (Photo Filter App)
  • Last.FMSSB
  • Seesmic Web
  • The Cloud Player
  • YouTube
  • eBuddy
  • Google Calendar
  • Google Docs
  • Gmail
  • Google Reader
  • Peppermint Bug Tracking
  • Peppermint Forums

Dejo link: http://peppermintos.com/

Dejo algunas pantallas:





Smalltalk en el browser con Amber

Amber es un lenguaje inspirado en smalltalk (no es smalltalk) que compila a javacript. Amber compila eficientemente a javascript porque tiene una relación uno a uno con elementos javascript.

Está diseñado para que el desarrollo del lado del cliente sea más rápido y más fácil. Amber incluye un entorno de desarrollo, un framework para prueba de unidad, inspector de objetos y depurador.

Como lo podemos utilizar, muy facil importando la librería y corriendo una función:

<script src="js/amber.js" type="text/javascript"></script>
<script type="text/javascript"> loadAmber()</script>


Dejo link:
http://amber-lang.net/

Twitter University: Building a world-class engineering organization




A la gente de twitter se le ocurrio una gran idea, compartir el conocimiento que tienen con todo el mundo y para ello van abrir Twitter University. Donde obtendremos enseñanza y entrenamiento. Va a ser una plataforma en la cual podremos tomar cursos de desarrollo, html, css, escalabilidad, etc.


Espero con ansias!!


Dejo el link del anuncio:
https://blog.twitter.com/2013/twitter-university-building-a-world-class-engineering-organization

Elementary OS Luna Review

Sigo viendo Elementary OS y me gusta bastante, ahora les dejo un vídeo:



Otra cosa, muy bueno el canal InfinitelyGalactic de you tube.

martes, 13 de agosto de 2013

Linux Shell Scripting Cookbook



Quiero compartir un libro sobre scripting en el shell de linux. Que lo disfruten!!


Dejo link:
http://www.vaqueano.com/posts/ebooksytutoriales/246/Linux-Shell-Scripting-Cookbook-Sarath-Lakshman.html

Learn to Program: The Fundamentals

Me gustaría aconsejarles que hagan el curso "Learn to Program: The Fundamentals" de Cursera, la verdad es que esta muy bueno; y comienza la próxima semana. El curso es un curso básico de programación en Python, pero los conocimientos se pueden extrapolar a cualquier lenguaje.


Dejo links:

lunes, 12 de agosto de 2013

Tomcat 8.0.0-RC1 (alpha) Released


Tengo el agrado de comunicar el primer release de Tomcat 8. Que hay de nuevo viejo??
  • Soporte para Java Servlet 3.1, JavaServer Pages 2.3, Java Unified Expression Language 3.0 y Java WebSocket 1.0.
  • Soporte para Web socket
  • HTTP protocol upgrade
  • Soporte experimental para SPDY
  • y mucho más!!

Los cambios son muchos y la espera larga, pero se viene un producto que promete.

Dejo link:
http://tomcat.apache.org/
http://tomcat.apache.org/download-80.cgi

acamica.com


Gracias al amigo del blog Matías, pude conocer la pagina acamica.com; es un proyecto similar a
Coursera.org y Edx.org pero con el foco puesto en América Latina, con clases online y gratis de universidades de la región.

Lo probé y esta muy bueno y tiene cursos muy interesantes, me anote a varios!!

Dejo link:
http://acamica.com/

domingo, 11 de agosto de 2013

PyCursos


Quiero recomendarles la pagina PyCursos donde podrán encontrar varios cursos de Python en Portugués, como mi portugués no es muy bueno no pude hacer cursos, pero espero que crezca y podamos hacer cursos en castellano.

Dejo el link:
http://beta.pycursos.com/