Bash is a very common *nix shell, and it's programming language is purely procedural and focused on command execution. Object Oriented Programming (OOP) is a programming paradigm that represents the elements of a problem as entities with a set of properties and actions that it can execute. If you use Bash to write very simple and short scripts, procedural programming is just fine, you don't need more. But if your program becomes more and more bigger, a monster program (> 1000 lines), then you need a better way to structure your program to make it easy to maintain and read. Of course, Bash lacks OOP features, but with some tricks you can simulate it with a few lines added, and I'll show you how.
Dec 22, 2012
Nov 5, 2012
About Webcamoid and the transition to Carnival-LiveCam
As (may be) you know, I have two main projects: Carnival-LiveCam and Webcamoid, both are brother projects, both focussed on filling the gap of a good Free open source webcam software.
This should be Webcamoid 4.0.0 |
Publicado por
hipersayan_x
No comments:
Etiquetas:
My Projects
Oct 13, 2012
Qt5 in ArchLinux
If you are a Qt developer and an ArchLinux user, and you want to give a try to the new Qt5 this post is for you. I will show you how to setup the Qt5 development environmet correctly.
Publicado por
hipersayan_x
3 comments:
Etiquetas:
Programming
Aug 10, 2012
Longest Common Subsequence in Python (version 3.0)
This is my new implementation of the Longest Common Subsequence algorithm, and it's far better than my two previous attempts. This algorithm has less memory usage and is faster than the others because it just compares the common elements.
Publicado por
hipersayan_x
1 comment:
Etiquetas:
Programming
Aug 3, 2012
Multiple Sequences Alignment in Python
In my previous post, I was created a funtion for align two single sequences. The following code will align several input sequences with several output sequences, based on their align score.
Publicado por
hipersayan_x
3 comments:
Etiquetas:
Programming
Jul 26, 2012
Sequences alignment in Python
One of the uses of the LCS algorithm is the Sequences Alignment algorithm (SAA). The SAA is useful for comparing the evolution of a sequence (a list of characteristic elements) from one state to another, and is widely used by biomedics for comparing DNA, RNA and proteins; SAA is also used for comparing two text and finding their differences, like the *nix's diff tool.
Publicado por
hipersayan_x
No comments:
Etiquetas:
Programming
Longest Common Subsequence in Python (version 2.0)
In one of my previous posts I was implemented the Longest Common Subsequence algorithm using string shifting. Now I was enhanced the algorithm, simplified the code, and fixed some issues. Following the SC:
Publicado por
hipersayan_x
No comments:
Etiquetas:
Programming
Jul 9, 2012
Carnival LiveCam & the mockups 3
Finally, after several weeks of hard work in my other proyects, I pleased to show you the new Carnival LiveCam mockup for videoconferences with a modern, intuitive and very simple touch design.
Publicado por
hipersayan_x
No comments:
Etiquetas:
My Projects
Jun 23, 2012
Simple video call example program using QXmpp
In my previous post I had shown you how to compile QXmmp in ArchLinux, now I'll show you a minimal videoconference example using QXmpp.
Publicado por
hipersayan_x
13 comments:
Etiquetas:
Programming
May 12, 2012
Installing QXmpp in ArchLinux
In this post I will show you how to install the lastest version of QXmpp (0.4.0) and enable full support for Speex, Vpx and Theora codecs support.
Publicado por
hipersayan_x
No comments:
Etiquetas:
Programming
List to tree conversion algorithm in Python
The following algorithm can be very useful if you want to create a tree from a list of ordered elements. For example you can parse a XML file and create a list of tags and values, where you had calculated the level of each element.
Publicado por
hipersayan_x
No comments:
Etiquetas:
Programming
Mar 6, 2012
Configurar Mozplugger para incrustar SMPlayer en Firefox
Resulta que a día de hoy todavía existen algunas paginas web que incrustan videos usando las etiquetas <object> y <embed>, así como también existen complementos para Firefox que nos permiten reemplazar objetos Flash de audio y video por un objeto incrustado en una etiqueta <object> o <embed>.
Los usuarios de GNU/Linux y de Firefox utilizan Mozplugger para poder reproducir este tipo de contenidos.
El problema con Mozplugger es que en muchos sistemas está configurado para usar MPlayer como reproductor por defecto, y el problema que esto acarrea es que MPlayer no trae controles para manipular la reproducción de video, como pausar, avanzar y retroceder, controlar el volumen, etc.. En otras palabras, MPlayer incrustado en Firefox, sólo se limita a reproducir el video y nada más.
Yo desde hace un tiempo atras, he adoptado a SMPlayer como mi reproductor por defecto, y ahora quiero usarlo para reproducir contenido incrustado en la web en lugar de MPlayer. Y en este tutorial veremos como se hace.
Los usuarios de GNU/Linux y de Firefox utilizan Mozplugger para poder reproducir este tipo de contenidos.
El problema con Mozplugger es que en muchos sistemas está configurado para usar MPlayer como reproductor por defecto, y el problema que esto acarrea es que MPlayer no trae controles para manipular la reproducción de video, como pausar, avanzar y retroceder, controlar el volumen, etc.. En otras palabras, MPlayer incrustado en Firefox, sólo se limita a reproducir el video y nada más.
Yo desde hace un tiempo atras, he adoptado a SMPlayer como mi reproductor por defecto, y ahora quiero usarlo para reproducir contenido incrustado en la web en lugar de MPlayer. Y en este tutorial veremos como se hace.
Publicado por
hipersayan_x
No comments:
Etiquetas:
System
Feb 16, 2012
Carnival LiveCam y los mockups 2
Después de estar diseñando y rediseñando, durante unas cuantas semanas, por fin puedo presentar una parte del concepto de "Espacios". El concepto de Espacios es básicamente muy similar al de escritorio y ventanas. Las capturas que se toman de cada uno de los dispositivos (webcam, imágenes, videos, tarjetas de TV, etc.) se renderizan todos juntos (los que están activados por supuesto) sobre un espacio principal de dimensión variable, permitiendo también redimensionar, rotar y mover cada espacio de forma independiente, pudiendo también realizar tiling y snapping con el fin de tener todo más ordenado.
Publicado por
hipersayan_x
No comments:
Etiquetas:
My Projects
Subscribe to:
Posts (Atom)