Linux VS Windows

Un video que seguro que lo vieron en otro lado, pero para el que no lo vio que lo vea solo son unos segundos…


Saludos..
.

10 comandos de Linux que probablemente no usas

Este es un listado de comandos de Linux muy útiles pero poco conocidos.

______________________________________________

Buscar el PID de un proceso rápidamente

pgrep, busca e imprime el PID del programa que le pasemos como argumento:

guido@zarpele ~ $ pgrep compiz

Esto listará el/los PID de compiz, si está corriendo actualmente.

______________________________________________

Ejecutar el último comando ejecutado

Valga la redundancia, ejecuta lo último que hayamos ejecutado en la línea de comandos:

guido@zarpele ~ $ !!

______________________________________________

Ejecutar el último comando ejecutado que comience con…

Es casi lo mismo que el anterior, solo que en él debemos especificar con qué letra(s) empieza un comando que hayamos ejecutado anteriormente. Supongamos que habías ejecutado el comando clear, si luego de un rato en la consola quisieras volverlo a ejecutar, podrías hacer algo como esto:

guido@zarpele ~ $ !cl

______________________________________________

Ejecutar un comando repetitivamente y mostrar su salida

Hablo del comando watch, con el cual podrás ejecutar un comando varias veces (por defecto cada 2 segundos):

guido@zarpele ~ $ watch -d ls -l

Esto sería útil para ver si se crean o eliminan archivos de una carpeta.

______________________________________________

Guardado rápido en vi/vim

Si estás usando este editor de texto y necesitas guardar y salir rápidamente, puedes salir del modo INSERT (Esc), mantener Shift y presionar la tecla Z dos veces. Mucho más sencillo que escribir…

:qw “

______________________________________________

Cerrar sesión de un terminal rapidamente

Para esto solo tienes que presionar Ctrl+D

______________________________________________

Navegar al último directorio donde estuviste

guido@zarpele ~ $ cd -

Bastante útil si necesitas hacer cosas en dos diferentes directorios, puesto que puedes iterar entre ellos con este sencillo comando.

guido@zarpele ~ $ mkdir -p /home/zarpele/juegos/shooter/quake4

Esto creará dicho árbol de directorios, incluso si ninguno de ellos existe. Es mucho más sencillo que hacer:

guido@zarpele ~ $ mkdir /home
guido@zarpele ~ $ cd /home
guido@zarpele ~ $ mkdir zarpele
guido@zarpele ~ $ mkdir juegos
guido@zarpele ~ $ cd juegos
……..

______________________________________________

Borrar el comando que estás digitando

Cuando estás editando un comando largo, o buscando uno con las flechas de dirección, tal vez quieras en algún momento borrar el comando. Puedes hacerlo con Ctrl+U

______________________________________________

Asignar el Time Stap a un archivo

guido@zarpele ~ $ touch -c -t 0806090242 fax.txt

El formato es YYMMDDhhmm.

Traducido desde | Fuente

La camiseta del Che Stallman

Stallman Che t-shirt

Richard Matthew Stallman, (n. Manhattan, Nueva York, 16 de marzo de 1953), programador y la figura más relevante del movimiento por el software libre.

Sus mayores logros como programador incluyen el editor de texto Emacs, el compilador GCC, y el depurador GDB, bajo la rúbrica del Proyecto GNU. Pero su influencia es mayor por el establecimiento de un marco de referencia moral, político y legal para el movimiento del software libre, como una alternativa al desarrollo y distribución de software privativo. Es también inventor del concepto de Copyleft (aunque no del término), un método para licenciar software de tal forma que éste permanezca siempre libre y su uso y modificación siempre reviertan en la comunidad.


El dinero de la camiseta se destina a la FSF (Free Software Foundation).

Kompozer el Dreamweaver de GNU/Linux

Aca les dejo un mini tutorial, para instalar Kompozer, visto que vi en muchos foros gente que queria emular el Dreamweaver, esta es una alternativa Libre, no tan completisima como el Dreamweaver pero esta muy bien para empezar, este tuto lo hize cuando estaba libre de tiempo…


KompoZer es un editor HTML WYSIWYG basado en Nvu similar a Dreamweaver con la diferencia de que es un proyecto Open Source de licencia GNU/GPL 2.0

Pasos

1. Descargando Kompozer

Descargar el paquete necesario de la web http://kompozer.net

Tienen varias opciones, bajar el .dev el .rpm y el tar,gz para compilar, bajaremos este ultimo, si usas Ubuntu con el .deb basta…

Fichero Descargado: kompozer-0.7.10-gcc4.0.3-i486.tar.gz

2. Descomprimiendo el fichero

Ubicado el fichero /home/zarpele (podemos ponerlo donde sea, pero aca esta bien para mantener un orden) descomprimir el fichero descargado…

Desde Consola:

guido@zarpele ~ $ tar -xvzf kompozer-0.7.10-gcc4.0.3-i486.tar.gz

3. Ejecutando Kompozer

cd /kompozer
sudo ./kompozer

y si todo salio bien obtener acto seguido la interfaz gráfica de Kompozer.

4. Cambiando el Idioma

Como podran ver el idioma por default es en ingles asi que desde este link http://kompozer.net/l10n/ y bajaremos el archivo en Español (es-ES)

Fichero Descargado: kpz-langpack-esES.xpi

Lo movemos aca /home/zarpele/kompozer/extensions (en nuestro ejemplo)

Ahora para cada extension que queramos instalar debemos hacerlo desde el menu Tools (herramientas) -> Extensions (extensiones) -> Install (instalar) y seleccionar la extensión (kpz-langpack-esES.xpi es la extensión que me cambia al idioma español todo el programa) y clicar Install now (instalar ahora). Para que los cambios tengan efecto tenes que cerrar y volver a abrir el kompozer.

Y listo, ya solo es cuestion de usarlo un poco…
Les dejo 2 capturas

Saludos…

Instalar fácilmente Google Gadgets en Ubuntu

Google ha anunciado el lanzamiento de Desktop Gadgets para Linux.

Estos Gadgets son mini-aplicaciones que pueden ser colocadas en cualquier lugar del escritorio y al igual que los Screenlets que comentamos hace poco, además de lucir y embellecer el escritorio pueden ser útiles para mostrar información.

Existen una gran cantidad de gadgets para diversas tareas, pasando por entretenimiento, noticias, útiles, herramientas, finanzas, tecnología, comunicación, etc.

Ya podemos instalar Google Gadgets fácilmente en Ubuntu a partir de su repositorio en launchpad.

Bueno, basta de palabras y empecemos.

Lo primero que tenemos que hacer es agregar los repositorios. Para eso vamos a Sistema> Administración> Orígenes del Software y en la pestaña Software de Terceros añadimos las siguientes dos líneas apt:

deb http://ppa.launchpad.net/googlegadgets/ubuntu hardy main

deb-src http://ppa.launchpad.net/googlegadgets/ubuntu hardy main

Cerramos la ventana actualizando los repositorios y luego abrimos una Terminal y procedemos a instalar la aplicación:

sudo apt-get install google-gadgets

Una vez instalada para poder ejecutarla hacemos Alt+F2 y en la ventana que se abre escribimos: ggl-gtk

Para poder arrancar Google Gadgets cada vez que abrimos una sesión nos vamps a Sistema> Preferencias> Sesiones y en la pestaña Opciones de Inicio le damos al botón Añadir y llenamos los campos de esta manera:

Nombre: Google gadgets

Orden: ggl-gtk

Comentario: Lo que se te ocurra.

Página del Proyecto


Visto en | Ubuntips

60 optimizaciones para tus programas PHP


En mis ratos libres estoy estudiando programacion en PHP y sin querer me tope con este articulo intersante para optimizar tus programas en PHP, es interesante ya que no solo hay que ver que el programe funcione sino que este sea eficiente y cumpla con lo cometido…

Leanselo vale la pena…

  1. Si un método puede ser static, decláralo estático. La velocidad se incrementa en un factor de 4.
  2. echo es más rápido que print, aunque la diferencia es despreciable.
  3. Inicializa el contador de tus bucles for antes y no en el propio bucle.
  4. Si tienes que iterar un objeto o un array, utiliza SPL en lugar de bucles recursivos.
  5. Destruye las variables que ya no utilices con unset() para liberar memoria, especialmente si son objetos o arrays pesados. Si utilizas OOP, revisa el destructor __destruct() en este sentido.
  6. Si tienes que recorrer un array enorme y no te interesa guardarlo, considera utilizar array_shift() para ir leyendo y borrando a la vez.
  7. No abuses de __get(), __set() y __autoload().
  8. require_once() es pesado. Muy pesado en PHP
  9. Utiliza paths absolutos a los ficheros en los include() y require(), el SO tarda menos en resolver las rutas al fichero.
  10. Si necesitas saber el timestamp de acceso a un script, considera utilizar $_SERVER['REQUEST_TIME'] en lugar de time()
  11. Comprueba si puedes usar strncasecmp(), strpbrk() y stripos() en lugar de expresiones regulares.
  12. str_replace() es más rápido que preg_replace(), pero strtr() es hasta 4 veces más rápido que str_replace().
  13. Si la función, como la función de reemplazo de cadenas, acepta dos arrays y un carácter como argumentos, y tu lista de argumentos no es muy larga, considera escribir varias sentencias de reemplazo redundantes, pasando un carácter cada vez, en lugar de una linea de código que acepte arrays como búsqueda y reemplazo.
  14. La supresión de errores con @ es bastante ineficiente a la par que desaconsejable.
  15. eval() is evil (y además horrorosamente lento).
  16. $row['id'] es hasta 7 veces más rápido que $row[id]
  17. Si una variable de clase es constante, utiliza const.
  18. Los mensajes de error son ineficientes, utilizalos sólo cuando sea necesario.
  19. No uses funciones dentro de los bucles, como for ($x=0; $x . La función count() se ejecuta cada vez que se repita el bucle.
  20. Incrementar una variable local en un método es lo más rápido. Casi lo mismo que llamar a una variable local en una función.
  21. Incrementar una variable global es dos veces más lento que hacerlo con una variable local.
  22. Incrementar una propiedad de un objeto (por ejemplo $this->prop++) es 3 veces más lento que hacerlo sobre una variable local.
  23. Incrementar una variable indefinida es hasta 10 veces más lento que hacerlo en una ya inicializada.
  24. Declarar una variable global sin utilizarla también enlentece la ejecución. PHP comprueba si existe.
  25. La cantidad de métodos definidos en una clase no afecta al rendimiento.
  26. Los métodos de la clase concreta se ejecutan más rápidos que los de la clase base.
  27. $localvar++ es hasta 15 veces más rápido que function inc(){ $localvar++; }.
  28. Las cadenas encerradas entre comillas simples son más rápidas que las que lo están con comillas dobles porque PHP no expande las variables que puedan contener. Si usas PHP 5+, la diferencia es mínima.
  29. Cuando se aplica echo a una lista de cadenas por argumento, es más rápido separarlas con una coma (,) en lugar del operador de concatenación (.). Esto sólo funciona con echo por ser una construcción del lenguaje y no una función.
  30. Un script PHP es servido por Apache entre 2 y 10 veces más lento que una página estática. Cachea resultados cuando sea posible.
  31. Los scripts PHP se “compilan” cada vez que son ejecutados a menos que se guarde el código objeto en un cache. Las diferentes herramientas de compilación de PHP incrementan el rendimiento hasta un 100%.
  32. Puestos a cachear, Memcached es mucho más rápido y versátil que un cache a disco. APC también da buen resultado pero es menos escalable.
  33. Usa ip2long() y long2ip() para almacenar direcciones IP como números en lugar de como cadenas. Reduce el espaco en un factor de 4 y los cálculos de rango, máscara y ordenaciones son más sencillos y rápidos.
  34. Usa la extensión SOAP nativa en lugar de NuSOAP.
  35. Valida las direcciones de correo electrónico con checkdnsrr().
  36. php_filter() mejor y más rápido que tu sistema home made de validación.
  37. Las funciones mysql_* son más lentas que mysqli_*, pero no tan eficientes como el driver mysqlnd para PDO (disponible en el inminente PHP 5.3)
  38. Usa sentencias preparadas, en lugar de concatenar las consultas a mano, para mejorar el rendimiento y frenar significativamente las SQL-Injections.
  39. No reinventes la rueda, mira a ver si puedes aprovechar algo de PEAR, PECL, SourceForge, CakePHP, CodeIgniter, Zend Framework, …
  40. Utiliza highlight_file() para postear código formateado y bonito en los foros (por favor!!).
  41. Si guardas un objeto o array serializado en la base de datos, considera usar gzcompress() y gzuncompress() para ahorrar espacio. GZip puede reducir el tamaño de un texto plano hasta en un 90%.
  42. El operador ternario no es más rápido que un if-else.
  43. empty() es más rápido que $var == '', pero es más rápido el operador identidad $var === ''. En general la identidad es más rápida en cualquier situación.
  44. do-while es más rápido que while, pero más lento que for. Lo primero a optimizar de un programa son los bucles
  45. Si necesitas determinar si una cadena tiene un cierto tamaño, es más rápido utilizar la construcción del lenguaje !isset($str{5}) que la función strlen($str)
  46. el preincremento ++$i es más rápido que el postincremento $i++ debido a interioridades del interprete de Zend, de echo es una de las optimizaciones a nivel de OPCODE más utilizadas por los compiladores de PHP.
  47. Usa preg_* en lugar de ereg_*, está a punto de desaparecer y es mucho más lento.
  48. Usa direcciones IP en lugar de nombres de dominio.
  49. El manejador de flujos ob_start() puede aumentar el rendimiento hasta en un 25%.
  50. El paso de argumentos por referencia en PHP no es igual al paso de una referencia en C mediante un puntero. En PHP una referencia sirve para acceder a una variable mediante dos nombres distintos (nombre de variable y valor de la variable son cosas distintas en PHP). Por tanto pasar arrays por referencia como en C, en realidad, es más lento que hacerlo por valor. En PHP 5+ los objetos se pasan explícitamente por referencia.
  51. Un uso apropiado de las referencias como alias de nombre de variable:
    PHP:
    $a[‘b’][‘c’] = array();
    // 2 accesos por iteración a la tabla hash
    // donde PHP almacena las variables
    for($i = 0; $i <5; $i++)
    $a[‘b’][‘c’][$i] = $i;
    // con un alias por referencia es mas rápido
    $ref =& $a[‘b’][‘c’];
    for($i = 0; $i <5; $i++)
    $ref[$i] = $i;

  52. La manera más rápida a este lado de Rio Grande para detectar si el SO es Unix o no es utilizar la constante DIRECTORY_SEPARATOR.
  53. La manera más rápida de concatenar muchas cadenas de poco tamaño es abrir un flujo de salida con ob_start() y hacer un echo de todas ellas para despues recoger la cedena final con ob_get_contents(). Esto es así porque en el tratamiento de cadenas el factor limitante es la reserva de memoria y al crear un flujo se reservan de golpe 40K, aumentando en pedazos de 10K cuando hace falta más.
  54. En las sentencias switch() ordena los casos empezando por los más frecuentes.
  55. Procesar ficheros XML con expresiones regulares es más rápido que hacerlo con SAX o DOM. Atención: el uso de expresiones regulares para procesar XMl puede acortar significativamente su esperanza de vida.
  56. Eliminar los comentarios o escribir en una sola linea no hace que se ejecute más rápido, lo único que consigues es que los demás te odien a muerte.
  57. Usar objetos no hace que todo sea más rápido, más bien al contrario, pero utilizarlos mejora otras muchas cosas.
  58. Cuanto menos (x)HTML en la salida del script, más rápido renderiza la pagina.
  59. Utiliza constantes en lugar de funciones: PHP_VERSION vs. php_version(), PHP_OS vs. php_uname(), PHP_SAPI vs. php_sapi_name(), etc.
  60. Si todo lo demás falla … escribe una extensión en C.

Saludos…

Fuente

 
Follow Me Hazte Fan Subscribe