Suscribete en nuestro Newsletter

Regístrate en nuestro Newsletter para estar al tanto de las noticias, talleres y podcast que tendremos próximamente
Suscríbete aqui

Foto del autor Rafael Becerra

ChucK, un lenguaje de programación para músicos

Para quien no lo conoce, ChucK es un lenguaje de programación, multiparadigma, concurrente, “on the fly” orientado a la ejecución, sintetización y manipulación de audio, mediante diferentes ondas y osciladores predefinidas para ello.

Fue desarrollado por Ge Wang, y es ampliamente usado en diferentes dispositivos y aplicaciones enfocadas en sonido. La sintaxis es bastante simple, con una similitud bastante considerable (cómo no) a la de C, y con la inclusión de un operador de asignación conocido como Chuck (=>). En su sitio oficial, pueden encontrar diferentes paquetes para la instalación/compilación del lenguaje y un pequeño IDE llamado MiniAudicle para diferente plataformas. En Mac y en Windows la cosa es bastante sencilla de instalar, pero en Linux, hay que realizar la compilación desde el código fuente mismo.

La documentación es bastante amplia y actualmente, el sitio web de coursera ofrece un curso online (Aquí)., teniendo como tutor al mismo Ge Wang y a Ajay Kapour, un programador bastante experimentado en la música y en la sintetización de sonido, e inclusive ha trabajado en orquestas integradas con robots programados para producir sonido.

Es bastante interesante, y no tan complicado. Para quien le guste la música y sea programador es un proyecto interesante para revisar. Les dejo un video con un review del lenguaje por el mismo Ge Wang:


Demostración Ajay Kapour

Foto del autor Rafael Becerra

Aprendiendo Python: Ejecuta tus aplicaciones web en el escritorio (Python + WebKit + GTK)

La idea es simple, el script es simplemente un mini navegador, con la URL de la aplicación asignada como parametro al instanciar la clase principal. Todo esto ejecutado en un webview del motor de renderizado WebKit(Usado por Chrome, Safari y más recientemente Opera) sobre un ScrolledWindow en un frame sencillo programado con GTK. Debo decir que si bien empiezo el estudio de este lenguaje de programación, no es para nadie un secreto de la potencia increíble que ofrece, además de todas las implementaciones sencillas que definen claramente este lenguaje de alto nivel. En la página oficial de pywebkitgtk,  se deja un ejemplo del desarrollo de un navegador completo, haciendo uso de estas mismas herramientas (Descárguenlo antes de que google code cierre las descargas). Habría que estudiar la documentación a fondo o descargar aplicaciones con estas implementaciones para realmente sacarle el jugo a WebKit. Sin más, les dejo el código:
 
                #!usr/bin/env python
                
                import gtk
                import webkit
                
                class AppWeb2Desktop():
                
                        def __init__(self, initURL, titulo):
                            self.window = gtk.Window(gtk.WINDOW_TOPLEVEL)
                            self.window.set_position(gtk.WIN_POS_CENTER_ALWAYS)
                            self.window.set_default_size(1024, 768)
                            self.window.set_title(titulo)
                            self.window.connect('delete_event', self.cerrar)
                            vbox = gtk.VBox(spacing=5)
                            vbox.set_border_width(5)
                            self.webpanel = webkit.WebView()
                            self.Panel = gtk.ScrolledWindow()
                            self.Panel.add(self.webpanel)
                            vbox.pack_start(self.Panel, fill=True, expand=True)
                            self.window.add(vbox)
                            self.url = initURL
                
                        def mostrar(self):
                            self.window.show_all()
                
                        def abrirURL(self):
                            self.webpanel.open(self.url)
                
                        def cerrar(self, widget, event, data=None):
                            gtk.main_quit()
                
                gtk.gdk.threads_init()
                obj = AppWeb2Desktop('http://127.0.0.1/SCE/',
                    'Sistema de Inscripcion Estudiantil')
                obj.mostrar()
                obj.abrirURL()
                gtk.main()
                
                 
Como ven, es una clase simple,los dos parámetros para la creación del objeto son la URL de la aplicación y el título de la ventana GTK. Para los imports descarguen las librerías correspondientes, aunque no debería existir ningún problema en cualquier distribución linux. ¿Cuál es la utilidad de esto?, pues, a mi parecer, es una buena idea para presentar la aplicación al usuario final, aparte de ser excelente si la aplicación corre de manera local. Además es posible aprovechar para inicializar otro proceso antes de ejecutar la aplicación web. Capturas de una aplicación sencilla corriendo usando el script: Captura de pantalla - 260513 - 17:06:22
Captura de pantalla - 260513 - 17:06:42 Acá el código para descargar Acá un ejemplo más completo
Foto del autor Rafael Becerra

Canonical presenta Ubuntu On Tablets

Hace poco, Canonical, la empresa responsable de la distribución Linux Ubuntu, y ahora Ubuntu TV y Ubuntu Phone, ha dado el salto hacia las tecnologías táctiles, esto es, presentando su famosa distribución, pero esta vez para tablets. Lo definen como "más elegante que Android, y más funcional que Windows 8", y por supuesto, tras ver el video de su presentación no queda duda alguna de ello. Citando al blog www.xakatamovil.com
"Al igual que sucedía con Ubuntu for phones, Canonical ha confirmado que en Ubuntu on tablets podremos ejecutar tanto aplicaciones HTML5 como aplicaciones nativas, con un SDK que está precisamente dirigido a desarrolladores que quieran comenzar a probar sus ideas en esta plataforma. El problema, se preguntarán algunos, es si sería necesario desarrollar una misma aplicación para distintos formatos de dispositivo. Afortunadamente Canonical tenía esto previsto, y esa será uno de los atractivos para los desarrolladores."
No cabe duda entonces que la gran gama de aplicaciones será sorprendente tomando en cuenta los avances del HTML5, además de la portabilidad en el desarrollo de aplicaciones, que ha sido siempre un punto a favor para esta distribución. Mark Shuttleworth la define como una experiencia única en tablets. Los dejo entonces con el video de presentación del SO y con una entrada bastante completa sobre el tema en el blog ya citado, donde se toca de manera amplia el tema en relación al desarrollo y a las implicaciones del hardware de esta nueva apuesta de Canonical.

Toda la información: http://www.xatakamovil.com/sistemas-operativos/ubuntu-on-tablets-toda-la-informacion  

Foto del autor Rafael Becerra

Instala android en tu pc, con el proyecto Android-x86

Android x86, es un proyecto de software libre, que se encarga de migrar este famoso sistema operativo móvil a la arquitectura x86, esto es, puede ser instalada en cualquier pc como si estuviesemos instalando cualquier distribución Linux, ya que puedes encontrar en la página oficial los archivos .iso de cada versión de android para determinados dispositvos.

Seguir leyendo...

Foto del autor Rafael Becerra

GUI en Java para el Script youtube-dl

Si usas o alguna vez has usado una distribución Linux habrás usado o leído sobre el script youtube-dl. Es un script escrito en python (http://rg3.github.com/youtube-dl/) que permite descargar contenido multimedia de diferentes páginas (youtube, vimeo, google video, metacafe, soundcloud,etc.) mediante un comando por la terminal. A mi parecer es excelente por la sencillez y la variada gama de opciones que ofrece, además de la rapidez de descarga por el hecho de ejecutarse en la terminal.

Aquí está una pequeña GUI para este script, escrita en Java, y usando Threads (Hilos).

Seguir leyendo...