Saltar al contenido

admin

Abrahan Lincoln – Frases

Coincidiendo con el estreno de la nueva película de Steven Spielberg sobre la vida del decimosexto presidente de los Estados Unidos, Abraham Lincoln, que entre otras cosas consiguió abolir la esclavitud y promovió la aprobación de la Decimotercera Enmienda a la Constitución, recopilamos algunas de sus mejores frases.

  • «Es mejor estar callado y parecer estúpido que abrir la boca y disipar las dudas.» 
  • «Puedes engañar a todo el mundo algún tiempo. Puedes engañar a algunos todo el tiempo. Pero no puedes engañar a todo el mundo todo el tiempo.»
  • «Hagas lo que hagas, hazlo bien.»
  • «Casi todos podemos soportar la adversidad; pero si queréis poner a prueba de verdad el carácter de un hombre, dadle poder. «
  • «Todos los hombres nacen iguales, pero es la última vez que lo son.»
  • «Un amigo es aquel que tiene los mismos enemigos que tú.»
  • «Al final, lo que cuenta no son los años de tu vida, sino la vida de tus años.»
  • «Casi todas las personas son tan felices como preparan sus mentes para serlo.»
  • «Las cosas que quiero saber están en los libros; mi mejor amigo es aquel que me recomienda un libro que no he leído.»

Software Libre

  • admin 

Software Libre

El Software Libre es un asunto de libertad, no de precio . Para entender el concepto, se debe pensar en «libre» como en «libertad de expresión», no como en «cerveza gratis» [N. del T.: en inglés una misma palabra ( free ) significa tanto libre como gratis, lo que ha dado lugar a cierta confusión].

Como «free» [libre] se refiere a libertad y no a precio, no existe contradicción entre la venta de copias y el software libre. La palabra comercial NO es sinónimo de «no libre», asimismo «software libre» no significa «no comercial»

«Software Libre» se refiere a la libertad de los usuarios para ejecutar, copiar, distribuir, estudiar, cambiar y mejorar el software. De modo más preciso, se refiere a cuatro libertades de los usuarios del software:

  • La libertad de usar el programa, con cualquier propósito (libertad 0).
  • La libertad de estudiar cómo funciona el programa, y adaptarlo a tus necesidades (libertad 1). El acceso al código fuente es una condición previa para esto.
  • La libertad de distribuir copias, con lo que puedes ayudar a tu vecino (libertad 2).
  • La libertad de mejorar el programa y hacer públicas las mejoras a los demás, de modo que toda la comunidad se beneficie. (libertad 3). El acceso al código fuente es un requisito previo para esto.

Un programa es software libre si los usuarios tienen todas estas libertades. Así pues, se debería tener la libertad de distribuir copias, sea con o sin modificaciones, sea gratis o cobrando una cantidad por la distribución, a cualquiera y a cualquier lugar. El ser libre de hacer esto significa (entre otras cosas) que no tienes que pedir o pagar permisos.

También se debería tener la libertad de hacer modificaciones y utilizarlas de manera privada en tu trabajo u ocio, sin ni siquiera tener que anunciar que dichas modificaciones existen. Si se publican tus cambios, no tienes por qué avisar a nadie en particular, ni de ninguna manera en particular.

Para que las libertades de hacer modificaciones y de publicar versiones mejoradas tengan sentido, se debe tener acceso al código fuente del programa (libertades 1 y 3). Por lo tanto, la posibilidad de acceder al código fuente es una condición necesaria para el software libre.

Para que estas libertades sean reales, deben ser irrevocables mientras no hagas nada incorrecto; si el desarrollador del software tiene el poder de revocar la licencia aunque no le hayas dado motivos, el software no es libre.

Son aceptables, sin embargo, ciertos tipos de reglas sobre la manera de distribuir software libre, mientras no entren en conflicto con las libertades centrales.

Por ejemplo, copyleft [«izquierdo de copia»] (expresado muy simplemente) es la regla que implica que, cuando se redistribuya el programa, no se pueden agregar restricciones para denegar a otras personas las libertades centrales. Esta regla no entra en conflicto con las libertades centrales, sino que más bien las protege.

Así pues, quizás hayas pagado para obtener copias de software GNU, o tal vez las hayas obtenido sin ningún coste. Pero independientemente de cómo hayas conseguido tus copias, siempre tienes la libertad de copiar y modificar el software, e incluso de vender copias.

Es aceptable que haya reglas acerca de cómo empaquetar una versión modificada, siempre que no bloqueen a consecuencia de ello tu libertad de publicar versiones modificadas. Reglas como «Si haces disponible el programa de esta manera, debes hacerlo disponible también de esta otra» pueden ser igualmente aceptables, bajo la misma condición. (Observa que una regla así todavía te deja decidir si publicar o no el programa). También es aceptable que la licencia requiera que, si has distribuido una version modificada y el desarrollador anterior te pide una copia de ella, debas enviársela.

Logo Proyecto GNU

En el proyecto GNU, se utiliza » copyleft » para proteger de modo legal estas libertades para todos. Pero el software libre sin » copyleft » también existe.

El modo más simple de hacer un programa libre es ponerlo en el dominio público, o sea, sin copyright. Esto permitirá que la gente comparta el programa y sus mejoras, si así lo desean. Pero también permitiría a quien no quiera cooperar, convertir el programa en software privativo. Pueden hacer cambios y distribuir el resultado como un producto privativo. Las personas que reciban el programa en su forma modificada no poseen la libertad que el autor original les dio debido a que el intermediario se la ha retirado.

Copyleft significa que cualquiera que redistribuya el software, con o sin cambios, no podrá restringir a nadie la libertad de copiarlo, redistribuirlo o cambiarlo. Copyleft garantiza que el usuario mantenga su libertad.

Si te interesa saber si una licencia concreta es de software libre, mira la lista de licencias de la FSF.

Otro grupo ha comenzado a usar el término «open source» [código abierto] para designar algo parecido (pero no idéntico) a «free software» [Software Libre]. Preferimos el término «software libre» porque, una vez que sabes que se refiere a libertad y no a precio, llama a pensar en la libertad.

¿Qué es entonces copyleft?

Copyleft es un concepto general. En el Proyecto GNU, las cláusulas específicas de distribución que emplean están contenidas en la Licencia Pública General de GNU, la Licencia Pública General Reducida de GNU y la Licencia de Documentación Libre de GNU.

El copyleft usa la ley de copyright, pero la da vuelta para servir a lo opuesto de su propósito usual: en lugar de ser un medio de privatizar el software, se transforma en un medio de mantener libre al software.

La idea central del copyleft es que le damos a cualquiera el permiso para correr el programa, copiar el programa, modificar el programa y redistribuir versiones modificadas–pero no le damos permiso para agregar restricciones propias.

De esta manera, las libertades cruciales que definen al «software libre» quedan garantizadas para cualquiera que tenga una copia; se transforman en derechos inalienables.

Para que el copyleft sea efectivo, las versiones modificadas deben ser también libres. Esto asegura que todo trabajo basado en el nuestro quedará disponible para nuestra comunidad si se publica. Cuando los programadores que tienen trabajo como programadores se ofrecen como voluntarios para mejorar un software GNU, es el copyleft lo que impide que sus empleadores digan: «no puede compartir esos cambios, porque los queremos usar para hacer nuestra versión propietaria del programa».

El requerimiento de que los cambios deben ser libres es esencial si queremos asegurar la libertad para cada usuario del programa.

¿Cuándo comenzó a utilizarse el término software libre?

Richard StallmanEn 1984 Richard Stallman comenzó a trabajar en el proyecto GNU (proyecto para hacer un si stema operativo totalmente libre originado en una necesidad de compartir software sin restricciones) y un año más tarde fundó la Free Software Foundation (FSF). Stallman introdujo una definición para free software y el concepto de «copyleft», el cual desarrolló para dar a los usuarios libertad y para restringir las posibilidades de apropiación del software.

GNU no es ni una licencia, ni una asociación ni una empresa, es sólo un proyecto.

Si quieres leer su historia, la encontrarás en:http://www.gnu.org/gnu/thegnuproject.es.html

¿Cómo se llama la licencia que indica que el software es libre?

La implementación específica de copyleft que se usa para la mayoría del software GNU es la Licencia Pública General de GNU (GNU General Public License) o LPG GNU para abreviar. La FSF tiene otras clases de copyleft que se usan en circunstancias específicas. Los manuales GNU también están bajo copyleft, pero se utiliza un copyleft mucho más simple, porque no es necesaria la complejidad de la LPG GNU para los manuales.

La licencia GNU GPL posibilita la modificación y redistribución del software, pero únicamente bajo esa misma licencia. Y añade que si se reutiliza en un mismo programa código «A» licenciado bajo licencia GNU GPL y código «B» licenciado bajo otro tipo de licencia libre, el código final «C», independientemente de la cantidad y calidad de cada uno de los códigos «A» y «B», debe estar bajo la licencia GNU GPL .

En la práctica esto hace que las licencias de software libre se dividan en dos grandes grupos, aquellas que pueden ser mezcladas con código licenciado bajo GNU GPL (y que inevitablemente desaparecerán en el proceso, al ser el código resultante licenciado bajo GNU GPL ) y las que no lo permiten al incluir mayores u otros requisitos que no contemplan ni admiten la GNU GPL y que por lo tanto no pueden ser enlazadas ni mezcladas con código gobernado por la licencia GNU GPL .

Esta situación de incompatibilidad, que podría ser resuelta en la próxima versión 3.0 de la licencia GNU GPL (en desarrollo), causa en estos momentos graves prejuicios a la comunidad de programadores de software libre, que muchas veces no pueden reutilizar o mezclar códigos de dos licencias distintas, pese a que las libertades teóricamente lo deberían permitir.

En el sitio web de la FSF hay una lista de licencias que cumplen las condiciones impuestas por la GNU GPL y otras que no.

En el sitio web de la OSI está la lista completa de las licencias de software libre actualmente aprobadas y tenidas como tales.

MySQL Engines: InnoDB vs. MyISAM – A Comparison of Pros and Cons

  • admin 

The 2 major types of table storage engines for MySQL databases are InnoDB and MyISAM. To summarize the differences of features and performance,

  1. InnoDB is newer while MyISAM is older.
  2. InnoDB is more complex while MyISAM is simpler.
  3. InnoDB is more strict in data integrity while MyISAM is loose.
  4. InnoDB implements row-level lock for inserting and updating while MyISAM implementstable-level lock.
  5. InnoDB has transactions while MyISAM does not.
  6. InnoDB has foreign keys and relationship contraints while MyISAM does not.
  7. InnoDB has better crash recovery while MyISAM is poor at recovering data integrity at system crashes.
  8. MyISAM has full-text search index while InnoDB has not.

In light of these differences, InnoDB and MyISAM have their unique advantages and disadvantages against each other. They each are more suitable in some scenarios than the other.

Advantages of InnoDB

  1. InnoDB should be used where data integrity comes a priority because it inherently takes care of them by the help of relationship constraints and transactions.
  2. Faster in write-intensive (inserts, updates) tables because it utilizes row-level locking and only hold up changes to the same row that’s being inserted or updated.

Disadvantages of InnoDB

  1. Because InnoDB has to take care of the different relationships between tables, database administrator and scheme creators have to take more time in designing the data models which are more complex than those of MyISAM.
  2. Consumes more system resources such as RAM. As a matter of fact, it is recommended by many that InnoDB engine be turned off if there’s no substantial need for it after installation of MySQL.
  3. No full-text indexing.

Advantages of MyISAM

  1. Simpler to design and create, thus better for beginners. No worries about the foreign relationships between tables.
  2. Faster than InnoDB on the whole as a result of the simpler structure thus much less costs of server resources.
  3. Full-text indexing.
  4. Especially good for read-intensive (select) tables.

Disadvantages of MyISAM

  1. No data integrity (e.g. relationship constraints) check, which then comes a responsibility and overhead of the database administrators and application developers.
  2. Doesn’t support transactions which is essential in critical data applications such as that of banking.
  3. Slower than InnoDB for tables that are frequently being inserted to or updated, because the entire table is locked for any insert or update.

The comparison is pretty straightforward. InnoDB is more suitable for data critical situations that require frequent inserts and updates. MyISAM, on the other hand, performs better with applications that don’t quite depend on the data integrity and mostly just select and display the data.

Linux Directory Structure

  • admin 

Note: Files are grouped according to purpose. Ex: commands, data files, documentation.
Parts of a Unix directory tree. See the FSSTND standard (Filesystem standard)

/			Root
|---root		The home directory for the root user
|---home		Contains the user's home directories
|    |----ftp		Users include many services as listed here
|    |----httpd
|    |----samba
|    |----user1
|    |----user2
|---bin			Commands needed during bootup that might be needed by normal users
|---sbin		Like bin but commands are not intended for normal users.  Commands run by LINUX.
|---proc		This filesystem is not on a disk.  Exists in the kernels imagination (virtual).  This directory
|    |			Holds information about kernel parameters and system configuration.
|    |----1		A directory with info about process number 1.  Each process
|				has a directory below proc.  
|---usr			Contains all commands, libraries, man pages, games and static files for normal
|    |			operation.
|    |----bin		Almost all user commands.  some commands are in /bin or /usr/local/bin.
|    |----sbin		System admin commands not needed on the root filesystem.  e.g., most server 
|    |			programs.
|    |----include	Header files for the C programming language.  Should be below /user/lib for
|    |			consistency.
|    |----lib		Unchanging data files for programs and subsystems
|    |----local		The place for locally installed software and other files.
|    |----man		Manual pages
|    |----info		Info documents
|    |----doc		Documentation for various packages
|    |----tmp
|    |----X11R6		The X windows system files.  There is a directory similar to usr below this 
|    |			directory.
|    |----X386		Like X11R6 but for X11 release 5
|---boot		Files used by the bootstrap loader, LILO.  Kernel images are often kept here.
|---lib			Shared libraries needed by the programs on the root filesystem
|    |----modules 	Loadable kernel modules, especially those needed to boot the system after
|			 disasters.
|---dev			Device files for devices such as disk drives, serial ports, etc.
|---etc			Configuration files specific to the machine.
|    |----skel		When a home directory is created it is initialized with files from this directory
|    |----sysconfig 	Files that configure the linux system for networking, keyboard, time, and more.
|---var			Contains files that change for mail, news, printers log files, man pages, temp files
|    |----file
|    |----lib		Files that change while the system is running normally
|    |----local		Variable data for programs installed in /usr/local.
|    |----lock		Lock files.  Used by a program to indicate it is using a particular device or file
|    |----log		Log files from programs such as login and syslog which logs all logins,
|    |			logouts, and other system messages.
|    |----run		Files that contain information about the system that is valid until the system is
|    |			next booted
|    |----spool		Directories for mail, printer spools, news and other spooled work.
|    |----tmp		Temporary files that are large or need to exist for longer than they should in
|    |			/tmp.
|    |----catman	A cache for man pages that are formatted on demand
|---mnt			Mount points for temporary mounts by the system administrator.
|---tmp			Temporary files.  Programs running after bootup should use /var/tmp.

CFO & CEO

  • admin 

CFO asks CEO «What happens if we invest in developing our people & then they leave us?»
CEO: “What happens if we don’t, and they stay?»

Nota: Aqui CEO se refiere a uno que realmente es CEO.