26jul2010

[Humor geek] Redes sociales para principiantes

En este tiempo en que las redes sociales se han puesto de moda, no queda demás una explicación vía imagenes para quienes están iniciando su vida en el entorno virtual.

Redes sociales para principiantes
Fuente:

Recuperador arranque GRUB (Super Grub Disk - SGD)

Más de una ocasión nos habrá pasado que teniendo instalado en nuestro computador los sistemas operativos Linux y Windows, y hemos tenido que reinstalar el último. Luego de la reinstalación vemos que el gestor de arranque de Linux (GRUB) deja de funcionar y el computador arranca directamente con Windows.

Para solucionar este tema existe una herramienta libre que nos permite recuperar el gestor de arranque GRUB de una forma sencilla. La herramienta en cuestión se llama Super Grub Disk y su imagen ISO puede ser descargada desde aquí; ésta es una imagen híbrida que puede ser usada para bootear tanto desde discos ópticos, floppy o unidades USB; en su sitio oficial se puede encontrar también un wiki con la información necesaria para usarlo.

Al iniciar el computador con la imagen de SGD nos mostrará el menú de opciones de recuperación en donde seleccionaremos la opción según sea nuestro caso.

Booteo con imagen de SGD

Entre las acciones que se pueden realizar están:

  • Solucionar problemas de arranque de GRUB
  • Arrancar un SO Gnu/Linux
  • Arrancar directamente un SO Gnu/Linux

08jul2010

Eliminar Spyware de MSN Messenger



x
Hoy ha ocurrido que es la enésima vez que algún conocido gracias a su "inexperiencia" ejecuta archivos que son recibidos por MSN, los típicos mensajes de "mira mi foto", "escucha esta nueva canción", mismos que contienen archivos con algún tipo de malware que están hechos para molestar nuestra existencia. Para no hacer más largo el cuento está ocasión tuve resultados más satisfactorios; para cumplir con el cometido lo que hice fue, antes de nada cerrar la sesión de Messenger para evitar seguir enviando los mensajes "malignos".

Luego, buscar por procesos extraños que se estén ejecutando. Para esto no es suficiente con el Administrador de Tareas de Windows pues no nos muestra suficiente información. Entre muchas alternativas, existe una aplicación libre que se llama Process Hacker.
Process Hacker
Esta aplicación muestra todos los detalles del proceso al hacer doble clic sobre un proceso determinado; con esto podemos ubicar fácilmente a las aplicaciones que se están ejecutando y además de terminar dicho proceso, eliminar la aplicación que nos está dando problemas. (La dirección de la aplicación es mostrada en el campo Image File Name)
Detalle de procesos en Process Hacker

La aplicación puede ser descargada desde su página oficial http://processhacker.sourceforge.net/

Además de eliminar las aplicaciones no deseadas, en mi caso fueron dos, llamadas Softiwin.exe y Home.exe; debemos eliminar las entradas que se crean para que las aplicaciones se ejecuten automáticamente al inicio de Windows. Para esto abrimos la consola de administración, en Inicio seleccionamos la opción Ejecutar y ejecutamos el comando msconfig.msc.
Utilidad de configuración del sistema (msconfig)

En esta ventana podremos ver en la pestaña Inicio todas las aplicaciones que se ejecutan al inicio de Windows y podremos desactivar las entradas no deseadas. Al Aceptar los cambios se solicitará un reinicio del sistema que podemos postergarlo o realizarlo en el momento.

Estos pasos además pueden ser fortalecidos con el uso de herramientas de eliminación de spyware. Existen herramientas orientadas exclusivamente a Messenger como LiveKill o MSN Virus Cleaner que en mi caso no encontraron nada luego de haber realizado los pasos anteriores. Para más información pueden visitar la dirección de Borrar virus MSN Messenger la eliminacion completa.

Una herramienta que también está orientada a la eliminación de malware es Malwarebytes e incluso en su versión libre permite realizar un escaneo profundo de nuestros discos y Registro de Windows; ésta herramienta puede ser descargada desde http://www.malwarebytes.org/.
Ventana principal de Malwarebytes
Aún con la herramienta anterior, persistía la molestia de no poder cambiar la página de inicio de los exploradores (Internet Explorer, Firefox y Chrome), que había sido cambiada a una página conocida por la distribución de spyware y aún después de establecer manualmente mi página de inicio está era cambiada en cada reinicio del computador.

Para IE no hubo mayor problema pues existe otra herramienta que nos ayuda a cambiar las entradas del registro asociadas y nos facilita la vida; esta herramienta RegUnlocker que puede ser descargada desde aquí o desde el sitio de su autor http://www.codehard.com.ar/regunlocker.
Ventana principal de RegUnlocker

En este programa lo que hacemos es chequear las opciones que deseamos se ejecuten y dar clic en Unlock.

Para los exploradores Firefox y Chrome no encontré algo automatizado y hubo que hacerlo manualmente. Para Firefox nos dirijimos en el Explorador de Windows hacia la dirección %appdata%\mozilla\firefox\profiles; dentro de esta carpeta encontramos otra carpeta a la que debemos abrir. Dentro de la última carpeta encontraremos un archivo con el nombre prefs.js,
Archivo de configuración de Firefox

Primero verificamos que este archivo no tenga chequeado la opción de Solo Lectura en sus propiedades; ésto es haciendo clic derecho en el archivo y seleccionando la opción Propiedades.

Luego abrimos el archivo con un editor de texto y buscamos la línea:


user_pref("browser.startup.homepage", "pagina_inicio");


Donde pagina_inicio corresponde a la dirección completa de nuestra página de inicio, en mi caso http://www.google.com, con lo cual la línea quedaría así:


user_pref("browser.startup.homepage", "http://www.google.com");


Finalmente guardamos los cambios y cerramos el archivo.

Para el caso de Chrome es algo parecido, pero la ubicación del archivo es:

%homedrive%\%homepath%\Configuración local\Datos de programa\Google\Chrome\user data\default\


La dirección puede cambiar a

%homedrive%\%homepath%\Local configuration\Program Data\Google\Chrome\user data\default\

dependiendo del lenguage del sistema operativo instalado.

Dentro de este directorio ubicamos el archivo Preferences
Archivo de configuración de Chrome
Igualmente verificamos los permisos de escritura de éste archivo y lo abrimos con un editor de texto. Ubicamos la línea:

"homepage": "pagina_inicio",

Donde pagina_inicio corresponde a la dirección completa de nuestra página de inicio, que nuevamente en mi caso es http://www.google.com, con lo cual la línea quedaría así:

"homepage": "http://www.google.com",


Finalmente guardamos los cambios y cerramos el archivo.

Con los pasos descritos lo que se ha hecho es eliminar las aplicaciones malware que se distribuyen usando la red de Messenger y además eliminar las restricciones que estás inyectan en ciertas opciones de Windows y de los exploradores web.

27jun2010

Monitor de carpetas

Seguramente en al menos una ocasión quisimos saber que ocurre con la información que tenemos dentro de una carpeta, justamente en estas situaciones es cuando podemos utilizar Watch for folder (W4F).

W4F es una aplicación portable para Windows, que permite monitorear los cambios que se hacen al contenido de una carpeta específica.

Aunque la aplicación permite únicamente monitorear una carpeta, la aplicación puede ser configurada para monitorear los eventos de crear, borrar, cambiar o renombrar archivos y carpetas, cambio de aplicaciones asociadas a un archivo entre otras.

Ventana de configuración de W4F
Asimismo se puede configurar la aplicación para que al ocurrir alguno de los eventos seleccionados ejecute un programa o un archivo batch, se escriba un archivo plano con los eventos ocurridos o mostrar un mensaje.

La aplicación freeware puede ser descargada desde aquí o desde el sitio de su desarrollador LeeLu Soft.

Fuente:
www.ghacks.net

04jun2010

[Humor geek] Espera geek

Conozco mucha gente que ha pasado por situaciones como la de la imagen.

Espera de un geek (Clic para agrandar)

Fuente: 

02jun2010

Smokescreen - Animaciones flash sin flash player

Desde el anuncio por parte de Steve Jobs de no permitir a sus dispositivos ejecutar contenido flash, más de una persona ya estaría extrañando ese tipo de contenido; afortunadamente existen proyectos como Smokescreen.

Smokescreen es un proyecto open source liderado por Chris Smoak cuyo principal objetivo es permitir reproducir contenido flash en exploradores que no posean flash player. En primera instancia estaría orientado a dispositivos móbiles pues en estos no se necesita presentar contenido muy elaborado. La idea del proyecto es reemplazar el contenido Flash (películas swf) por contenido HTML5 y Javascript sin necesidad de cambiar el código fuente de las animaciones Flash.

Algunos ejemplos como el presentado a continuación no son muy elaborados pero permiten mostrar una aproximación de la publicidad que podría ser presentada usando este proyecto.



Los ejemplos han sido probados en:
  • Firefox 3.6 sobre Mac/Win7/Linux
  • Safari 4.0.5 sobre Mac/Win7
  • Chrome 5 beta sobre Mac/Win7
  • iPhone OS 3.x sobre iPad/iPhone/iPod Touch
Aunque Smokescreen es más lento sobretodo en iPhone OS y no funciona en Opera sobre Mac/Win7 o Internet Explorer, su creador espera hacerlo funcionar sobre dichas plataformas.

Teniendo en cuenta que el proyecto aún es joven se pueden esperar grandes avances y posibles nuevas soluciones cuando el proyecto sea liberado bajo licencia Open Source.

Mas información en http://smokescreen.us/

Mostrar escritorio de Windows vía Messenger

VH Screen Capture es una aplicación interesante que permite mostrar el entorno de Windows en la ventana de conversación de Messenger, como si estuvieramos usando una webcam. Esta aplicación tiene una versión freeware que lo que hace es emular una capturadora de video, pero mostrando toda la actividad que realizamos en nuestro entorno Windows. 

Para usar esta aplicación debemos instalarla usando el instalador que puede ser descargado desde aquí. Luego de instalarlo su configuración es sencilla.

Aplicación de configuración de VH Screen Capture

Usando la pantalla de configuración establecemos el modo de captura que puede ser de todo el escritorio, de una ventana (para lo cual debemos escoger la ventana que queremos transmitir), o de una zona del escritorio (para lo cual debemos especificar la posición inicial y el tamaño del rectángulo que deseamos transmitir).

Opciones de configuración de VH Screen Capture

En el Messenger la única configuración que se debe cambiar es en las opciones de audio y video; aquí especificamos el controlador de video VHScrCap.

Configuración de video de Messenger

Con estos pasos ya podemos transmitir en la ventana de configuración todas las actividades que realicemos sobre nuestro escritorio.


31may2010

Hydrive - Disco óptico + SSD

Hitachi y LG han creado una unidad óptica que tiene incluida una unidad SSD. Como en Engadget lo dicen, es sorprendente que esta idea haya tomado tanto tiempo en surgir. Estas unidades no difieren estéticamente de las unidades ópticas comunes, sin embargo tienen incluida una unidad SSD de 32GB o 64GB.

Unidad HyDrive 


Una de las características de estas unidades es que no se necesitan aditamentos especiales para ser instaladas en lugar de otra unidad óptica. Con la unidad SSD se puede acceder a la información entre 30% y 60% más rápido que en discos comunes, por tanto esta unidad puede ser usada para alojar al sistema operativo que usemos, aplicaciones que hagan uso intensivo de disco o incluso puede ser usada para hacer de caché y reproducir discos ópticos en mal estado.

Se tiene previsto que Hydrive salga al mercado en Corea del Sur en Agosto del 2010 y que salga a nivel mundial en Septiembre. Además se esperaría tener una segunda generación con capacidades de hasta 256GB y pasar de interfaces SATA de  3GBps a interfaces SATA de 6GBps. La primera generación medirá 12,7mm de espesor por lo que estaría orientada a PC's HTPC's y otros equipos de sobremesa, aunque se prevee sacar unidades de 9,5mm orientada a equipos de menor tamaño.

Fuente:

Engadget

25may2010

[Flex] Extensiones Cairngorm - Eventos encadenados

La ejecución de eventos en forma paralela o secuencial usando solamente las características de Flex 3 es imposible debido a la ejecución en forma asíncrona. Aquí es donde podemos usar una de las características de las extensiones para Cairngorm desarrolladas por UniversalMind que permite crear cadenas de eventos, pudiendo invocar a dichos eventos de forma secuencial o de forma paralela. Estas cadenas de eventos son creadas mediante la clase EventGenerator

Para poder encadenar eventos usando el framework Cairngorm, los eventos deben extender de la clase UMEvent, una clase de eventos deberá tener una estructura como la que se presenta a continuación.

import com.universalmind.cairngorm.events.UMEvent;
import mx.rpc.IResponder;
 
public class Event1 extends UMEvent 
{
    static public var TYPE_EVENT:String = "typeEvent";
    private var parameter:String;
  
    public function Event1t(type:String, parameter:String, handlers:IResponder=null, bubbles:Boolean=true, cancelable:Boolean=false)
    {
        this.parameter=parameter;
        super(type);
    }
}

Además los comandos deben extender de la clase Command dentro del paquete de UniversalMind com.universalmind.cairngorm.commands. Estos comandos deben sobreescribir los métodos execute, result y fault, aunque éste último puede ser obviado si se utiliza otra característica de la extensiones para Cairngorm que permite centralizar el manejo de errores mediante la clase FaultCommand, una clase de comandos debe tener una estructura como la que se presenta a continuación.

import com.adobe.cairngorm.control.CairngormEvent;
import com.universalmind.cairngorm.commands.Command;

import flash.events.IEventDispatcher;

import Event1;

public class Command1 extends Command
{
    private var event1:Event1;

    override public function execute(event:CairngormEvent):void
    {
        super.execute(event);
        event1=event as Event1;

        var delegate:Delegate=new Delegate(this);
        delegate.ExecuteEvent(event1.parameter);
    }

    override public function result(info:Object):void
    {
        //resultado de ejecucion de Event1
        notifyCaller(info);
    }

    override public function fault(info:Object):void
    {
        notifyCaller(info);
    }
}

Para notificar acerca de la ejecución de los comandos se debe llamar al método notifyCaller.

Luego usando la clase EventGenerator se puede crear cadenas de eventos que pueden ser ejecutadas en forma paralela o secuencial. El código a continuación permite despachar eventos en forma paralela. El constructor de esta clase recibe como parámetros:

  • Un arreglo con los eventos a ejecutar
  • Los handlers opcionales para el resultado de la ejecución de los comandos 
  • Un entero que representa el como se manejarán los errores
  • El tipo de ejecución de los eventos, puede ser, EventGenerator.TRIGGER_PARALLEL o EventGenerator.TRIGGER_SEQUENCE
var paralellLocaleEvents:Array=[new Event1(Event1.TYPE_EVENT, "parameter"), new Event2(Event2.TYPE_EVENT), new Event3(Event3(Event3.TYPE_EVENT)];
var eventLocaleGenerator:EventGenerator=new EventGenerator(paralellLocaleEvents, null, 0, EventGenerator.TRIGGER_PARALLEL);

eventLocaleGenerator.dispatch();

También pueden ser encadenados eventos en forma paralela y secuencial en conjunto, por ejemplo el ejemplo a continuación ejecutará en paralelo Event1 con los eventos Event2 y Event3 que se ejecutarán ambos en secuencia.

var sequenceEvents:Array=[new Event2(Event2.TYPE_Event), new Event3(Event3.TYPE_EVENT)];
    var sequenceEventGenerator:EventGenerator=new EventGenerator(sequenceEvents, null, 0, EventGenerator.TRIGGER_SEQUENCE);

    var parallelEvents:Array=[new Event1(Event1.TYPE_EVENT, "parameter"), sequenceEventGenerator];
    var parallelEventGenerator:EventGenerator=new EventGenerator(parallelEvents, null, 0, EventGenerator.TRIGGER_PARALLEL);
    parallelEventGenerator.dispatch();

Disco duro híbrido

Seagate uno de los líderes en fabricación de dispositivos de almacenamiento ha creado el Seagate Momentus XT. Éste modelo de disco puede ser considerado como el primer disco duro híbrido pues integra partes mecánicas y una memoria flash.

Este modelo ha sido lanzado en un tamaño de 2.5 pulgadas pensado para computadores portátiles aunque puede ser utilizado en equipos de escritorio mediante adaptadores.

La interfaz de este disco es SATA2 y tiene capacidades de 250 GB, 320 GB y 500GB, todos con una memoria flash de 4 GB.

Todo el mecanismo de integración de la memoria flash con la parte mecánica es completamente interno por lo tanto éste disco puede ser en cualquier plataforma. El mecanismo de integración interno además verifica cuales son los sectores del disco mecánico que se usan con mayor frecuencia y los saca hacia la memoria flash que tiene velocidades de transferencia mucho mayores. De esta manera la velocidad de éste disco puede compararse con discos mecánicos de 7200 rpm y en teoría ofreciendo el doble de velocidad de discos mecánicos de 5400 rpm.

En cuanto al precio de éste disco es de 156 USD el disco de 500 GB.

21may2010

[Humor Geek] Jobs vs Gates

Después de que Gates predijera el éxito del iPad antes que el mismo Jobs, estas bromas entre los millonarios muestra su buen sentido del humor.

Clic en las imágenes para agrandar.



19may2010

[Humor geek] Psicología

Esperemos no terminar así por culpa de los blogs

[Humor geek] No utilizo Windows

Un día un profesor de Desarrollo de Software explicaba en clase que los buenos programadores sólo usan Windows XP y pide que levante la mano todo el que también sea seguidor de la empresa de Bill Gates. Todos en clase, por temor a represalias por parte del profesor, levantan la mano, excepto uno con pinta de geek que estaba sentado al fondo del aula. El profesor le miró y empezó el dialogo:


- Profesor: Oiga, usted. ¿Por qué no ha levantado la mano?.
- Alumno: Porque yo no utilizo Windows.
- Profesor: Vaya, y si no utilizas Windows. ¿Qué sistema operativo utilizas?
- Alumno: GNU/Linux. (Respondió orgulloso)

El profesor, cuyos fanáticos oídos no podían dar crédito a algo así, exclamó:

- Pero, hijo mío, ¿qué pecado has cometido para utilizar tal tontería?

El alumno, muy tranquilo, le respondió:

- Mi padre es informático y usa SUSE Linux, mi madre es asesora en seguridad y usa Debian Linux y mi hermano estudia Física y utiliza Quantian Linux, por eso !yo también utilizo GNU/Linux! -remató orgulloso y convencido-.

- Bueno, -replicó irritado el profesor-, pero ese no es motivo para utilizar Linux. Tú no tienes porqué hacer lo que hacen tus padres… Por ejemplo, si tu madre se prostituyese y se drogase todo el día, tu padre bebiese como un cabrón y traficase con drogas y tu hermano atracase comercios y robase a abuelitas, entonces, ¿tú qué harías?

- Seguramente instalaría Windows.

Mensajes de texto SMS internacionales

De todas las cosas que se pueden encontrar en la red hay una que me llamó la atención.

Mediante el uso del "Cloud Computing" o en otras palabras el acceso a servicios a través de Internet se pueden obtener aplicaciones interesantes como la que se presenta en http://for-ever.us/

Clic para agrandar la imagen
Formulario para envío de SMS (Clic para agrandar)
Para el envío de mensajes SMS a nivel global lo que se debe hacer es ingresar el número telefónico incluido el código del país.

El mensaje a ser enviado puede tener hasta 160 caracteres.

Antes de enviar el mensaje se deben ingresar los caracteres presentados en el captcha de la parte inferior derecha.

Personalmente lo he probado con números telefónicos de las tres operadoras ecuatorianas (Alegro, Movistar , Porta) y los mensajes fueron recibidos sin retardos.


18may2010

Screengrab para Chrome

Firefox posee una extensión que permite realizar capturas de la página web que estamos visitando. La misma funcionalidad ha sido trasladada hacia Chrome.

Screengrab para Chrome (Clic para agrandar)
Aunque existan varias extensiones con funcionalidad parecida, el punto fuerte de ésta extensión es que permite hacer capturas de toda la página web sin necesidad de hacer scroll manualmente, además de realizar capturas de la parte visible o de partes específicas de una página.

La extensión puede ser descargada desde aquí

17may2010

Publicar código fuente

  1. Más que una entrada novedosa, ésta entrada servirá como referencia propia al momento de publicar código fuente. Espero también sea de ayuda para otras personas que busquen la misma solución para su Blog.Para agregar el script de resaltado de código fuente (SyntaxHighlighter) en nuestro Blog seguimos los siguientes pasos:
  2. Ir a la dirección de GoogleCode de SyntaxHighlighter. Copiar todo el código mostrado.
  3. Pegar la información al final de la sección de estilos CSS de la plantilla de nuestro blog (entre la etiqueta <b:skin><!--[CDATA[/* y la etiqueta ]]--></b:skin>).
  4. Antes de la etiqueta </head>, pegue lo siguiente:
  5. <!-- Add-in CSS for syntax highlighting -->
    <script src='http://syntaxhighlighter.googlecode.com/svn/trunk/Scripts/shCore.js' type='text/javascript'></script>
    <script src='http://syntaxhighlighter.googlecode.com/svn/trunk/Scripts/shBrushCpp.js' type='text/javascript'></script>
    <script src='http://syntaxhighlighter.googlecode.com/svn/trunk/Scripts/shBrushCSharp.js' type='text/javascript'></script>
    <script src='http://syntaxhighlighter.googlecode.com/svn/trunk/Scripts/shBrushCss.js' type='text/javascript'></script>
    <script src='http://syntaxhighlighter.googlecode.com/svn/trunk/Scripts/shBrushDelphi.js' type='text/javascript'></script>
    <script src='http://syntaxhighlighter.googlecode.com/svn/trunk/Scripts/shBrushJava.js' type='text/javascript'></script>
    <script src='http://syntaxhighlighter.googlecode.com/svn/trunk/Scripts/shBrushJScript.js' type='text/javascript'></script>
    <script src='http://syntaxhighlighter.googlecode.com/svn/trunk/Scripts/shBrushPhp.js' type='text/javascript'></script>
    <script src='http://syntaxhighlighter.googlecode.com/svn/trunk/Scripts/shBrushPython.js' type='text/javascript'></script>
    <script src='http://syntaxhighlighter.googlecode.com/svn/trunk/Scripts/shBrushRuby.js' type='text/javascript'></script>
    <script src='http://syntaxhighlighter.googlecode.com/svn/trunk/Scripts/shBrushSql.js' type='text/javascript'></script>
    <script src='http://syntaxhighlighter.googlecode.com/svn/trunk/Scripts/shBrushVb.js' type='text/javascript'></script>
    <script src='http://syntaxhighlighter.googlecode.com/svn/trunk/Scripts/shBrushXml.js' type='text/javascript'></script>
    Puede eliminar las líneas que hagan referencia a los lenguajes que no usará; esto permitirá una carga más rápida.

  6. Antes de la etiqueta </body>, pegue lo siguiente:
  7. <!-- Add-in Script for syntax highlighting -->
    <script language='javascript'>
    dp.SyntaxHighlighter.BloggerMode();
    dp.SyntaxHighlighter.HighlightAll('code');
    </script>
  8. Use el botón "Vista previa" para asegurarse de que el Blog se ve correctamente. Si la previsualización es correcta guarde la plantilla.
  9. Para publicar código fuente, seleccione la pestaña "Edición de HTML" e inserte lo siguiente:
  10. <pre name="code" class="nombre_lenguaje">
    ...Código fuente a ser publicado en código "escaped HTML" ...
    </pre>
    Puede verificar la lista de "nombre_lenguaje" disponibles aquí .
    El código "escaped HTML" puede ser generado por varias herramientas disponibles en la red que pueden ser ubicadas al realizar la búsqueda de "html escaper", o se puede usar la herramienta Quick Escape usada en la publicación de este blog.
    Fuente:
    Adding Syntax Highlighting to Blogger

Frases informáticas

A continuación una recopilación de algunas célebres y no tan célebres frases que han pasado por la historia de la informática

Todo lo que no tiene solución no se soluciona, y lo que la tiene tampoco.
Bill Gates

El ordenador ha sido hasta ahora el producto más genial de la vagancia humana.
Slogan de IBM

Todavía hay mucha gente que ofrece contenidos por el mero placer de saber que la información puede resultar útil a otras personas.
Vinton Cerf

No pensábamos en el negocio, sino en Internet como una forma de comunicación global.
Jerry Yang
Si debbuging es el proceso de eliminar errores, entonces la programación debe ser el proceso de ponerlos.
PC Users

Primero resuelve el problema. Entonces, escribe el código.
John Johnson

Hay dos formas de escribir programas sin errores. Sólo la tercera funciona.
PC Users

No confíes en una PC que no puedas tirar por la ventana.
Steve Wozniak

S pd lr sto, usd pd btnr n ben trbjo cm prgdor
PC Users

Todo programa hace algo perfectamente bien, aunque no sea exactamente lo que nosotros queremos que haga.
R.S. Pressmann

El programa es totalmente perfecto, por lo tanto la PC es que debe andar mal.
Cualquier programador

Ahora ya no se pregunta si tenés email, te lo piden directamente.
Matt Stein

Iterar es humano, recursivar es divino.
LPeter Deutsch

Lo mejor de los booleanos es que si te equivocas estás a un sólo bit de la solución correcta.
Anónimo

Pienso que Microsoft eligió el nombre .Net para que no pudiera ser mostrado en un listado de directorio de Unix.
Oktal

No hay lenguaje de programación, no importa su estructura, que impida que los programadores hagan malos programas.
Larry Flon

C++ : Donde los amigos tienen acceso a tus miembros privados.
Gavin Russell Baker

Decir que Java es estupendo porque funciona con todos los sistemas operativos es como decir que el sexo anal es estupendo porque funciona con todos los géneros.
Alanna

El software es como el sexo: mejor si es libre y gratis.
Linus Torvalds

Una de las causas principales de la caída del imperio romano fue que, como no usaban el cero, no tenían forma de saber cuándo sus programas en C terminaban correctamente.
Robert Firth

El problema de los virus es pasajero y durará un par de años
John McAfee


Realmente, no estoy tratando de destruir a Microsoft. Ese será tan solo un efecto colateral no intencionado.
Linus Torvalds

Sabes que eres brillante, pero querrás comprender lo que has hecho dentro de dos semanas
Linus Torvalds


Si compila esta bien, si arranca es perfecto.
Linus Torvalds

En dos años el problema del spam estará resuelto.
Bill Gates

El ordenador nació para resolver problemas que antes no existían.
Bill Gates

El mercado para los ordenadores personales está muerto. La innovación ha cesado, virtualmente. Microsoft domina con muy poca innovación. Se acabó. Apple perdió. Ese mercado ha entrado en la Edad Oscura, y va a estar en esa Edad Oscura durante los próximos diez años.
Steve Jobs