Archivo de la etiqueta: Linux

Crear DVD de video en Linux

Usamos el programa DVDStyler, que incluye tanto la parte de edición de los menúes, de encoding y de grabación de DVD, es decir, es una solución completa.

Una guía de cómo usarlo, acá.

A tener en cuenta: de tener mas de 4 videos / capítulos, si se usa la vista de 4 capítulos por menú hay que programar los botones de anterior y siguiente.

Suprimir reportes de error en Ubuntu

Ubuntu viene con la utilidad Apport que tira errores cuando un programa falla. Sin embargo, a veces los programas “fallan” o fallan, pero no tenemos idea de por qué ni nos interesa, ya que es algo de Ubuntu y no hay una falla visible. Esta página sugiere que apport tiene un bug que hace que genere reportes falsos.

Apport viene con una “blacklist” que nos permite hacer que ignore los errores (y “errores”) de ciertos programas, y de esa manera nos evitamos el molesto ícono de noficicación.

sudo vim /etc/apport/blacklist.d/apport

Agregamos ahí todos los ejecutables de falsos reportes de apport para que no aparezcan más. Por ejemplo, agregamos la línea /usr/bin/lsb_release, que repetidas veces aparecía en inexplicables errores de apport.

Fast Init

Una de las cosas que siempre me dan vagancia al iniciar mi día laboral es abrir los múltiples programas que uso. Son como 5 clicks, una bestialidad, inaguantable, que inevitablemente nos terminará arrastrando a la jardinería o a cualquier otra actividad totalmente alejada de la computación, que sea repetitiva, pero por lo menos mas divertida. ¡No señor! Porque hay una solución para que sigas sufriendo como programador. Si usás Linux, todo es scripteable. Así que podés hacerte un script para levantar todas las aplicaciones que usás corrientemente.

Incluso podrías linkear el script para que se ejecute automáticamente al iniciar cierta sesión (por ejemplo, la sesión “trabajo”).

Te levantás, tomás un café, prendés la compu y ya estás trabajando. Suena genial, ¿no? ¿¿no??

Este es mi script de inicio rápido:

#!/bin/bash
geany &
google-chrome &
emacs &
skype &
thunderbird &
pidgin &

XFCE y volúmen del micrófono

Al cambiarme a XFCE una de las cosas que dejó de funcionarme fue el micrófono. Para un músico pésimo como yo eso fue inaudito, ya que no me permitia grabar mis horrores musicales. Por suerte, encontré la solución, y pude seguir atormentando a mi computadora con mis desafinaciones.

Menú / Multimedia / Control de Volúmen de Pulse Audio

XFCE

Puedo decir finalmente que he probado todos los escritorios de Linux: Gnome 2, Unity, KDE y XFCE. Es verdad, me falta la última versión de Gnome, pero su predecesor no me dejó con ganas de seguir probando upgrades.

Después de haber probado todos estos escritorios puedo decir que:

KDE es el escritorio mas completo e integrado. Por ejemplo, los Widgets ya vienen con el escritorio, mientras que en Unity hay que instalar un paquete aparte que te come el 15% de la CPU. Además, es fácilmente configurable y el más lindo visualmente (aunque esto es puramente personal). Pero…

XFCE es el escritorio mas rápido, definitivamente. La rompe en performance. Y además, dentro de todo, es bastante lindo: no soy un fanático del maquillaje. Me gustan las cosas sencillas y que cumplan con su labor. Si bien me gusta más KDE, XFCE la rompe a mi Netbook que ya pasó la adolescencia.

Lo malo de todo esto: al haber instalado inicialmente Ubuntu, no encontré la opción de borrar Unity y Gnome.

Convertir .mov a otros formatos en Linux

Convertir de Quicktime (.mov) a .avi, .ogv, .webm, .m4v. Los 3 últimos son los formatos que HTML5 usa para reproducir videos en la web.

mencoder filename.mov -ovc lavc -lavcopts vcodec=mpeg4 -oac mp3lame -o filename.avi

ffmpeg -i archivo.avi -acodec libvorbis -ac 2 -ab 96k -ar 44100 -b 345k -s 640x360 archivo.webm

ffmpeg -i input.mov -acodec libvorbis -ac 2 -ab 96k -ar 44100 -b 345k -s 640x360 output.ogv

ffmpeg -i trailer.avi trailer.m4v

Frases Linus Torvalds

Todos conocemos a Linus Torvalds. También sus opiniones sobre Windows, Richard Stallman, el software libre, y otras cosas. Pero menos conocidas son sus opiniones técnicas, relacionadas directamente al codeo o al diseño de software:

Linus Torvalds

Linus Torvalds, el  inventor de Linux.

Diseño de software

Nobody should start to undertake a large project. You start with a small trivial project, and you should never expect it to get large. If you do, you’ll just overdesign and generally think it is more important than it likely is at that stage. Or worse, you might be scared away by the sheer size of the work you envision. So start small, and think about the details. Don’t think about some big picture and fancy design. If it doesn’t solve some fairly immediate need, it’s almost certainly over-designed. And don’t expect people to jump in and help you. That’s not how these things work. You need to get something half-way useful first, and then others will say “hey, that almost works for me”, and they’ll get involved in the project.

Linux Times (2004-10-25).

Don’t underestimate the power of survival of the fittest. And don’t ever make the mistake that you can design something better than what you get from ruthless massively parallel trial-and-error with a feedback cycle. That’s giving your intelligence much too much credit. Quite frankly, Sun is doomed. And it has nothing to do with their engineering practices or their coding style.

Torvalds, Linus (2001-11-30). Coding style – a non-issue. Retrieved on 2010-03-25.

Why don’t we write code that just works? Or absent a “just works” set of patches, why don’t we revert to code that has years of testing? This kind of “I broke things, so now I will jiggle things randomly until they unbreak” is not acceptable. […] Don’t just make random changes. There really are only two acceptable models of development: “think and analyze” or “years and years of testing on thousands of machines”. Those two really do work.

Torvalds, Linus (2011-04-13). Linux 2.6.39-rc3. Retrieved on 2011-04-21.

“Regression testing”? What’s that? If it compiles, it is good; if it boots up, it is perfect.

Torvalds, Linus (1998-04-08). Message. linux-kernel mailing list. IU. Retrieved on 2006-08-28.

…git actually has a simple design, with stable and reasonably well-documented data structures. In fact, I’m a huge proponent of designing your code around the data, rather than the other way around, and I think it’s one of the reasons git has been fairly successful […] I will, in fact, claim that the difference between a bad programmer and a good one is whether he considers his code or his data structures more important. Bad programmers worry about the code. Good programmers worry about data structures and their relationships.

Torvalds, Linus (2006-06-27). Message to Git mailing list. Retrieved on 2006-08-28.

Sometimes “pi = 3.14” is (a) infinitely faster than the “correct” answer and (b) the difference between the “correct” and the “wrong” answer is meaningless. And this is why I get upset when somebody dismisses performance issues based on “correctness”. The thing is, some specious value of “correctness” is often irrelevant because it doesn’t matter. While performance almost always matters. And I absolutely detest the fact that people so often dismiss performance concerns so readily.

Git mailing list, Fri, 8 Aug 2008

Theory and practice sometimes clash. And when that happens, theory loses. Every single time.

Torvalds, Linus (2009-03-25). Message to Linux kernel mailing list. Retrieved on 2009-03-25.

Evidentemente, Torvalds es un pragmático, al que no le gusta la sobreingeniería. Es muy interesante su punto de vista sobre empezar proyectos chicos cuyo objetivo es específico y definido, y después ir agregándole funcionalidad sólo en la medida que lo necesite. Es decir, hacer el software a medida del problema, cosa que ya es bastante complicada, y no a medida de teorías o futuros que no están directamente relacionados con el problema.

Algunas otras frases que me dejaron pensando, esta vez relacionadas a temas mas diversos:

Emacs

“Que la maldición del Software Libre caiga sobre Linus Torvalds. Nadie habla mal de Emacs.”

Your problem has nothing to do with git, and everything to do with emacs. And then you have the gall to talk about “Unix design” and not gumming programs together, when you yourself use the most gummed-up piece of absolute sh*t there is!

Torvalds, Linus (2008-12-17). Message. Git mailing list. Gmane. Retrieved on 2008-12-18.

An infinite number of monkeys typing into GNU emacs would never make a good program.

Linux 1.3.53 CodingStyle documentation (1995). Retrieved on 2011-08-13.

Software Libre

For example, the GPLv2 in no way limits your use of the software. If you’re a mad scientist, you can use GPLv2’d software for your evil plans to take over the world (“Sharks with lasers on their heads!!”), and the GPLv2 just says that you have to give source code back. And that’s OK by me. I like sharks with lasers. I just want the mad scientists of the world to pay me back in kind. I made source code available to them, they have to make their changes to it available to me. After that, they can fry me with their shark-mounted lasers all they want.

Lyons, Daniel (2006-03-09). “Linux Licensing”. Forbes. Retrieved on 2006-08-28.

Al filo del peligro

…the Linux philosophy is “laugh in the face of danger”. Oops. Wrong one. “Do it yourself”. That’s it.

Torvalds, Linus (1996-10-16). Post. linux.dev.kernel newsgroup. Google Groups. Retrieved on 2006-08-28.

Is “I hope you all die a painful death” too strong?

Linus to the hardware manufacturers that refuse to release the specifications of their hardware so they could operate with the Linux kernel.

Torvalds, Linus (2007-08-22). Linus Torvalds talks future of Linux. Retrieved on 2007-08-22.

Linux y NVIDIA

¿Qué piensa de NVIDIA? Mm… mejor no le preguntes.

Controlling a laser with Linux is crazy, but everyone in this room is crazy in his own way. So if you want to use Linux to control an industrial welding laser, I have no problem with your using PREEMPT_RT.

Torvalds, Linus (2007). Kernel development..

Marketing

No. That’s it. The cool name, that is. We worked very hard on creating a name that would appeal to the majority of people, and it certainly paid off: thousands of people are using linux just to be able to say “OS/2? Hah. I’ve got Linux. What a cool name”. 386BSD made the mistake of putting a lot of numbers and weird abbreviations into the name, and is scaring away a lot of people just because it sounds too technical.

Torvalds, Linus (1993-03-16). Post. comp.unix.pc-clone.32bit. Google Groups. Retrieved on 2011-02-19.

Moral

Let’s put it this way: if you need to ask a lawyer whether what you do is “right” or not, you are morally corrupt. Let’s not go there. We don’t base our morality on law.

Lifestyle

First off, I’m actually perfectly well off. I live in a good-sized house, with a nice yard, with deer occasionally showing up and eating the roses (my wife likes the roses more, I like the deer more, so we don’t really mind). I’ve got three kids, and I know I can pay for their education. What more do I need? The thing is, being a good programmer actually pays pretty well; being acknowledged as being world-class pays even better. I simply didn’t need to start a commercial company. And it’s just about the least interesting thing I can even imagine. I absolutely hate paperwork. I couldn’t take care of employees if I tried. A company that I started would never have succeeded – it’s simply not what I’m interested in! So instead, I have a very good life, doing something that I think is really interesting, and something that I think actually matters for people, not just me. And that makes me feel good.

— 8/15/07 — http://www.itbusiness.ca/it/client/en/TechGovernment/News.asp?id=44682&PageMem=2

…you might as well skip the Xmas celebration completely, and instead sit in front of your linux computer playing with the all-new-and-improved linux kernel version.

En definitiva, un nerd mas que se hizo popular programando.

Lista completa de frases de Linux.

Backuper

Backuper es una herramienta para hacer backups en Linux y está programada en Ruby. Se ejecuta por consola. Consta de dos partes, una para el servidor local y otra para el cliente. Soporta:

1) Compresión de los archivos con tar.

2) Posibilidad de limitar el número de backups a un número configurable.

3) Backup de carpetas y bases de datos MySQL, pero extensible a cualquier otra cosa. Es fácil agregar una clase y permitir que, por ejemplo, haga también backups de MongoDB, Postgre o, incluso, que ejecute algunas acciones antes o después de hacer los backups.

4) Posibilidad de sincronizar la configuración desde el cliente.

¡A hacer backups que se acaba el mundo!