lunes, 22 de octubre de 2007

Estadísticas de oro

Jorge González Herrera [jorgel.gonzalez@infomed.sld.cu]

Desde aquellos magníficos comienzos del mundo de los virus y los antivirus ha existido la polémica de quién tiene el mejor antivirus. Lo cierto es que esa es una de las tantas preguntas que ha existido y aunque sería inagotable el tiempo necesario para exponer todas las opiniones habidas y por haber sobre dicho tema, causaría infinito placer porque esa es una de las ramas más interesantes del universo de la computación.

Con estas líneas no pretendo hacerles cambiar de idea, sólo que piensen un poco más porque las “estadísticas no fallan”. Un día estaba navegando en la gran red y no lo pensé dos veces en guardar un dato que, en mi opinión, es uno de los mejores que he leído. El mismo se trata de una prueba que realizaron del 15 al 25 de agosto del 2006 para responder la grandiosa interrogante de los mejores antivirus.

La prueba se realizó en un ordenador con Windows XP Professional SP1 con P4 2800 Mhz, 512MB DDRAM para comparar 58 programas antivirus frente a más de 147000 muestras de virus. Los programas antivirus WinAntivirus, Anti-Hacker Expert, Command, Extendia AVK, GDATA AVK, BOClean, VET y Freedom no se probaron porque no había disponible una versión de prueba para estos programas. Todos los programas antivirus probados tenían las últimas versiones y actualizaciones y fueron probados usando sus capacidades máximas de exploración.

Las muestras de virus se dividieron en las siguientes categorías, en función del tipo de virus:
• File: BeOS, FreeBSD, Linux, Mac, Palm, OS2, Unix, BinaryImage, virus BAS, MenuetOS.
• MS-DOS: virus MS-DOS.
• Windows: virus Win.*.*.
• Macro: Virus Macro, Multi y Formula.
• Malware: Adware, DoS, Constructors, Exploit, Flooders, Nukers, Sniffers, SpamTools, Spoofers, Virus Construction Tools, Droppers, PolyEngines.
• Script: Gusanos ABAP, BAT, Corel, HTML, Java, Scripts, MSH, VBS, WBS, gusanos, PHP, Perl, virus Ruby.
• Troyanos / Backdoor: virus caballo de Troya y backdoor.

Estos son los resultados de la comparación de los 58 programas antivirus:
1. Kaspersky versión 6.0.0.303 - 99.62% (¡y pensar que Kaspersky es arquitecto!)
2. Active Virus Shield by AOL versión 6.0.0.299 - 99.62%
3. F-Secure 2006 versión 6.12.90 - 96.86%
4. BitDefender Professional versión 9 - 96.63%
5. CyberScrub versión 1.0 - 95.98%
6. eScan versión 8.0.671.1 - 95.82%
7. BitDefender freeware versión 8.0.202 - 95.57%
8. BullGuard versión 6.1 - 95.57%
9. AntiVir Premium versión 7.01.01.02 - 95.45%
10. Nod32 versión 2.51.30 - 95.14%
11. AntiVir Classic versión 7.01.01.02 - 94.26%
12. ViruScape 2006 versión 1.02.0935.0137 - 93.87%
13. McAfee versión 10.0.27 - 93.03%
14. McAfee Enterprise versión 8.0.0 - 91.76%
15. F-Prot versión 6.0.4.3 beta - 87.88%
16. Avast Professional versión 4.7.871 - 87.46%
17. Avast freeware versión 4.7.871 - 87.46%
18. Dr. Web versión 4.33.2 - 86.03%
19. Norman versión 5.90.23 - 85.65%
20. F-Prot versión 3.16f - 85.14%
21. ArcaVir 2006 - 83.44%
22. Norton Professional 2006 - 83.18%
23. AVG Professional versión 7.1.405 - 82.82%
24. AVG freeware versión 7.1.405 - 82.82%
25. Panda 2007 versión 2.00.01 - 82.23%
26. Virus Chaser versión 5.0a - 81.47%
27. PC-Cillin 2006 versión 14.10.1051 - 80.90%
28. VBA32 versión 3.11.0 - 79.12%
29. ViRobot Expert versión 4.0 - 76.22%
30. UNA versión 1.83 - 75.44%
31. Rising AV versión 18.41.30 - 73.60%
32. Sophos Sweep versión 6.0.2 - 69.48%
33. Ikarus versión 5.19 - 63.22%
34. Antiy Ghostbusters versión 5.1.3 - 61.55%
35. Digital Patrol versión 5.00.12 - 54.29%
36. Vexira 2006 versión 5.002.45 - 52.66%
37. V3Pro 2004 versión 6.1.1.2.640 - 52.38%
38. Ewido Premium versión 4.0.0.172 - 51.27%
39. Ewido freeware versión 4.0.0.172 - 51.27%
40. ClamWin versión 0.88.4 - 51.23%
41. E-Trust versión 7.2.0.0 - 50.36%
42. ZoneAlarm with VET Antivirus versión 6.5.722.000 - 44.65%
43. A Squared Anti-Malware versión 2.0 - 43.28%
44. A Squared Free versión 2.0 - 43.28%
45. Zondex Guard versión 5.4.2 - 41.73%
46. Comodo versión 1.0.0.4 - 41.02%
47. Solo 4.0 versión 3.1.0 - 40.83%
48. Protector Plus versión 7.2.H03 - 37.04%
49. Quick Heal versión 8.00 - 33.66%
50. PC Door Guard versión 4.2.0.35- 24.13%
51. AntiTrojan Shield versión 2.1.0.14 - 24.11%
52. VirIT versión 6.1.9 - 21.39%
53. Trojan Hunter versión 4.2.924 - 13.44%
54. Trojan Remover versión 6.5.1 - 8.00%
55. Tauscan versión 1.70.1414 - 7.70%
56. The Cleaner versión 4.2.4319 - 6.03%
57. Hacker Eliminator versión 1.2 - 1.70%
58. Abacre versión 1.4 - 0.00%

¿Qué es heurística?

La heurística analiza el código de cada archivo con métodos genéricos y detectan virus nuevos que todavía no se han incluido en la base de datos de virus del programa antivirus.
Porqué son importantes los heurísticos
Los heurísticos son importantes porque ayudan al programa antivirus a descubrir nuevos virus desconocidos y proteger así al ordenador frente a la infección, aunque el virus específico no se haya incluido todavía en la base de datos de virus del programa antivirus.

Clasificación de programas antivirus utilizando solamente heurísticos
1. Nod32 2.51.30
2. Vba32 3.11.0
3. VirIT 6.1.9
4. AVG 7.1.405 Professional
5. AVG 7.1.405 freeware
6. Rising AV 18.41.30
7. McAfee 10.0.27
8. Ikarus 5.19
9. F-Prot 6.0.4.3 beta
10. Ukrainian National Antivirus 1.83

¿Interesante verdad? Bueno…, después de revisar estas estadísticas espero que nadie más se lance a hablar de los antivirus, aunque se haya hecho ya en ediciones anteriores. Antes de terminar quisiera decir que no tengo conocimiento de que en otros años se haya hecho alguna prueba de este tipo.

Continuar leyendo

Hojas de estilo (CSS)

Alien [blackhat4all@gmail.com]

Resulta ya casi imposible encontrar en la web una página que no esté confeccionada utilizando hojas de estilo. Quizás la mayoría de ustedes las conozcan, pero para el resto, les cuento que es una de las herramientas más cómodas a la hora de crear una página web.

Las siglas que conforman la extensión de una hoja de estilo, vienen dadas por la expresión Cascading Styles Sheets, que traducido al español vendría siendo algo como hojas de estilo en cascada. Las hojas de estilo están creadas para ayudar a representar un contenido HTML y por lo tanto deben ser leídas por los navegadores. Como la mayoría de los elementos que es capaz de leer un explorador web, las hojas de estilo también están escritas en un lenguaje interpretado, lo que quiere decir, que para su ejecución no necesita de un compilador, sino que el software para el que ha sido creada irá leyendo línea por línea del contenido y a su vez llevando a cabo una serie de acciones. Este tipo de construcción es en especial factible para los programadores, ya que no requieren de la instalación de un lenguaje para hacer gala de sus habilidades: bastaría con abrir un editor de texto cualquiera, escribir una serie de instrucciones y luego guardarlo con la extensión adecuada.

Primero lo primero

Como habíamos dicho anteriormente, las hojas de estilo ayudan a mostrar en pantalla el contenido de una página web, y como una complementa a la otra, pienso que lo primero es crear una página web convencional, explicando cada uno de los elementos por los que está conformada.

Como lenguaje script, las páginas web tampoco requieren de la presencia de un compilador para ejecutarse, y pueden estar escritas tanto en un programa profesional como el DreamWeaver o en un magnífico editor de texto como es el caso del bloc de notas; siendo la programación en este último más compleja por la carencia de menús y ayudas contextuales.

Básicamente una página web está formada por etiquetas que agrupan dentro de ellas otras etiquetas o el propio contenido de la página. Para crear una etiqueta se debe encerrar el nombre de la misma dentro de unos signos de menor que y mayor que respetivamente: <Etiqueta>. Y para cerrarla se debe hacer lo mismo, pero situando antes del nombre de la etiqueta que se quiera cerrar un slash [/]: </Etiqueta>. La primera etiqueta que se debe colocar es html, ya que esta es la que indica al navegador que es una página web y que el contenido que el navegador tiene que interpretar está por debajo de esta. Luego, dentro de esta colocaremos la etiqueta head [cabeza]. Dentro de ella se colocarán entre otras cosas el título de la página y la hoja de estilo…. Pero eso lo veremos más adelante.

Más abajo, crearemos una etiqueta llamada body. Dentro de esta agruparemos todo el contenido de la página (me refiero a tablas, imágenes, etc.). Como no todo el mundo tiene instalado Dreamweaver y sí el bloc de notas, escribamos en el entonces el código básico de una página web cualquiera, y guardémoslo como Pag.html.
<html>
<head>
</head>
<body>
</body>
</html>

Nota: Fíjense que cada etiqueta que se abre deberá cerrarse posteriormente.

Hasta ahora lo que debería salir al ejecutar este código en un navegador, debería ser algo como: NADA... Exactamente, no hemos escrito nada hasta el momento, sólo hemos dado a un archivo de testo la estructura y la extensión de un archivo html, pero hasta el momento no hemos colocado dentro de el contenido alguno. Para hacerlo, debemos escribir dentro de la etiqueta body.


<body>
BlackHat, un proyecto para todos.
</body>

Bien, con esto lo que hemos hecho es escribir el texto “BlackHat, un proyecto para todos” dentro de la página, pero… ¿eso es todo lo que hace html?
Para nada, html va mucho más allá. Tratemos ahora de escribir un texto simple que tenga sólo dos encabezados y dos cortas oraciones dentro de ellos.

<html>
<head>
</head>
<body>
<strong>Encabezado 1.</strong><p>
Aquí se colocaría el texto del primer encabezado, que podría ser algo así como un párrafo.</p>
<strong>Encabezado 2.</strong></p>
Esta parte sería para el segundo párrafo</p>
</body>
</html>

Nota: La palabra strong, dentro de los signos de mayor y menor que, es interpretada por los navegadores como que empieza y termina una palabra u oración marcada en negrita.

Copiando este código dentro del archivo con extensión html, el navegador lo interpretaría como oraciones, donde la primera y tercera estarían en letra negritas y las demás en formato normal.

Aunque la programación Script es mucho más abarcadora, pudiendo insertar en esa misma página otros elementos como tablas, imágenes, colores de fondo, etc., por el momento la hemos creado solo con la idea de demostrar la utilidad del CSS.

Supongamos que vamos a presentar esa página en algún lugar, y que después de estar allí por un tiempo determinado, alguien nos dice que debemos actualizarla, y que ya los encabezados no deben ir en negrita.
La acción lógica que nos viene a la mente es quitar todas las frases que digan strong, y aunque esto no es una idea tan descabellada, les recuerdo que esta página tiene sólo líneas; ¿Qué haría si fuera un sitio?, ¿O si en vez de cambiar sólo eso, tuviesen que cambiar el color del texto?, ¿o del fondo?, ¿o …?
Esto, visto así en un ejemplo pequeño quizás no es problema, pero cuando se debe modificar un sitio por completo para ajustarlo a ciertas normas, la tarea se vuelve compleja, y más si se dispone de poco tiempo. Es aquí donde entra a jugar un papel clave las hojas de estilo.

Trabajo en equipo

Crear una hoja de estilo no es nada complejo. Como habíamos dicho antes, es un lenguaje interpretado y su función es la de ayudar al HTML a ser más limpio. Darle vida a un archivo CSS es mucho más sencillo que a uno con extensión HTML, ya que al CSS no hay que hacerle un encabezado específico o algo por el estilo, dejando sólo en el código puro que será leído por el navegador, basta con crear un archivo de texto y renombrarlo con extensión .CSS.

Pero de nada vale crear la hoja de estilo si el archivo HTML no sabe ni donde está ni como se llama. Así que luego de crear el archivo CSS, debemos pasarle algunos datos al HTML.

Tomando como ejemplo los archivos del boletín de la comunidad, colocaremos entre las etiquetas <head> y </head> una línea con el texto siguiente:

<link href="Files/Blackhat.css" rel="stylesheet" type="text/css" title="BlackHat styles">

Con esto le estamos diciendo, entre otras cosas, que el archivo que va a contener la hoja de estilo se va a encontrar dentro de la carpeta Files, y se va a llamar BlackHat.css. En caso de que el archivo no esté un nivel de carpetas más abajo, sino que se encuentre junto con el HTML, simplemente remplazaríamos “Files/BlackHat.css” por “BlackHat.css”.

Nótese que para navegar por la carpetas no se utiliza un backslash(\) sino un slash(/).

Después que el HTML “sabe” donde está el CSS, sólo nos restaría ir a la parte de la programación de este.
Lo primero que se debe hacer es crearle una apariencia al HTML, asegurándose de darle todos los datos posibles para que este pueda presentarse de la forma más agradable.

Para esto se crea una etiqueta a la que llamaremos body, y donde irán los datos fundamentales.

body{margin:0px; background-color:#000000; color:#77AA77; font-family:Verdana, Arial, Helvetica, sans-serif; font-size:small; text-align:left;}

Para este ejemplo hemos tomado el body que utilizamos en el boletín de BlackHat, y en el que no hacemos más que darle un margen, color de fondo, tipo y tamaño de letra y alineación del texto. Aunque con esto puede bastar, se puede incluir o suprimir más valores, tómese en cuenta que mientras más exacto se defina el body, es decir, mientras más parámetros se le pasen, será más fácil trabajar con la página como tal, aunque eso depende de la variedad que se piensa va a tener la página web como punto final.

Si ya tenemos hecho todo de forma correcta hasta este momento, veremos como la página ya ha tomado un color de fondo y de fuente. El margen se ha puesto a 0, pero si son curiosos, quizás quieran ver como va cambiando la página cada vez que la recarguen luego de cambiar el valor del margen.

Ahora bien, si ya terminaron de jugar con los márgenes, vayamos a una de los asuntos que a mi entender, es lo que más nos hace preferir las hojas de estilo.

HTML es un lenguaje interpretado, lo que quiere decir que el navegador, a medida que va leyendo el código, va poniendo las letras o imágenes o cualquier cosa que se intente visualizar. Pero lamentablemente carece de un goto o algo que nos remita a una línea determinada para colocar un texto que se nos olvidó. Y es ahí donde juega un papel fundamental la hoja de estilo, ya que permite hacer dentro de la página una especie de subpáginas, y luego de identificar a cada una, se puede escribir dentro de esta. No es mi objetivo engañar a nadie, es cierto que aún se continúa leyendo en línea recta, pero esto da un mayor control de la página, pues permite dividir la página en tantas columnas se desee, y cada una con un formato específico.

div.Col_Izq {float:left; width:33%; margin-left:5%;}
div.Col_Der {float:right; width:33%; margin-right:5%;}

Estos dos ejemplos son para crear dos columnas en las cuales posteriormente podremos escribir.
El “div.” Es algo que siempre debemos escribir para crear una etiqueta div, y seguido de esto el nombre que le asignaremos, y que será el que el navegador reconocerá.
Luego de esto, entre las llaves colocaremos los parámetros que definirán como se comportará la etiqueta. Podemos ser tan exquisitos o tan escuetos como queramos.
Float:left -> Le estamos diciendo que es una etiqueta div flotante y que su posición va a ser a la izquierda.
Width:33% -> El ancho que abarcará será el 33% del ancho total de la página.
Margin-right:5% -> el margen derecho va a ser de … (no es tan difícil, ¿verdad?)

Aunque se han implementado solo tres propiedades, se le puede poner muchas más, pero no me corresponde a mi decir todas las características, ya que se cumplirían 3 años de BlackHat y aún no terminaría de explicarlas. Para un mayor entendimiento, use la ayuda de Dreamweaver.

¿Cómo utilizar el div del CSS en el HTML?

Sencillo, simplemente escribimos en el body:
<div class=”Col_Izq”>Hola mundo</div>
Con esto, no hemos hecho más que llamar a la clase Col_Izq, que ya el navegador sabe que está en el CSS, y dentro de esta clase escribir “Hola mundo”. Pero esto no se presentará como un texto normal, sino que aparecerá a la parte izquierda de la página.

De esta forma, se pueden crear todas las etiquetas div que se quiera, dándole a cada una un diseño especial, haciendo que la página tenga una mayor variedad (si es ese el objetivo), y sin tener que requerir de imágenes u objetos que demoren más la descarga de la página.

The end

Las hojas de estilo ofrecen muchas ventajas a los programadores, una de ellas, es la rapidez con que puede ser modificada una página. Supongamos que tenemos bajo nuestra tutela un sitio de 10 páginas, y por x o y nuestro superior nos dice que debemos cambiar el color de fondo de todas las páginas, en ese caso, si tuviésemos creada una hoja de estilo, en lugar de ir página por página cambiándole el color de fondo al HTML, simplemente cambiaríamos la propiedad color que declaramos en el body y listo, todas las páginas que hacen referencia a esta hoja de estilo cambiarán automáticamente su color. Pero no es solo la facilidad de cambiar las cosas lo que nos aporta el CSS, sino que utilizándolo de forma apropiada se puede crear ciertas similitudes con las imágenes, haciendo que estas en ocasiones jueguen un papel menos significativo, dándonos la posibilidad de prescindir de estas y disminuir el tiempo de descarga de la página.

Por otra parte, no es aconsejable generar una hoja de estilo para un sitio de x páginas y que entre ellas no tengan mucho que ver. La utilidad de la hoja de estilo está en poder utilizar una etiqueta div en varias páginas, y si esto no se hace, pues no tiene ningún sentido perder tiempo creando el CSS.

Continuar leyendo

Trusted Computing

Marcos Antonio Acosta Mauri

Es una nueva política bajo un nombre fácil de traducir como cómputo seguro. Es la estrategia neoliberal que plantean las grandes compañías para el futuro de un mundo que no puede verse con visión futurista sin tener en cuenta la presencia innegable de la I2 (Internet 2). Consiste en la instalación masiva de un chip con conexión satelital a cada medio de comunicación o de cómputo que pueda existir en el móvil, el PC en el trabajo y que también se extenderá con la aparición de la I2 a los equipos electrodomésticos. En todas partes estará este microchip que garantizará a los productoires de Software y Hardware la integridad de sus productos y, supuestamente, la seguridad de nuestra información. De esta forma las grandes compañías de la información y las comunicaciones tendrán control total de la información mundial. Serán los espias autorizados que tú mismo dejarás entrar en tu casa y que podrán saber lo que conversas lo que escribes y lo que piensas.

¿Quiénes están tras este sugerente nombre?

De más esta decirlo: Microsoft, Intel e IBM encabezan la cruzada junto a General Electric y las oficinas de seguridad norteamericanas que no pueden negarse a tan tentativa propuesta.

Pero haciendo un análisis, confianza es convicción profunda de que la información puede fluir en ambas direcciones sin necesidad de ocultar detalle alguno para alguna de las partes. Si Microsoft oculta el código fuente de Windows, ¿Por qué no puede alguien proteger su información? ¿O es que acaso es menos importante? Si ellos no confían en nosotros, ¿Por qué tenemos nosotros que confiar en ellos?

Trusted computing es algo que suena bien pero... ¿es en realidad el futuro que quiere el mundo?

En el mundo se ha creado un movimiento en contra y no es presisamente al cambio. Es el sentir de personas con los pies en la tierra que una vez más han decidido alinearse a la izquierda de los poderosos. No es cuestión de política, es simplemente defender el derecho a la privacidad de cada cual.

Sé que no estás de acuerdo, se que no te gusta la idea… confía… no es un proyecto consumado, es una idea parecida al ALCA.

¿Cómo lo combatimos?

Fácil, debatiendo en el aula, explicándole a los demás y por supuesto, dándole riendas sueltas al FreeSoftware

…Seguro pensarás que soy un soñador, pero no soy el único…
…Espero que un día te nos unas

John Lennon

Continuar leyendo

La tarjeta de sonido

Lic. Zeidy Lopez Collazo [ilinur@infomed.sld.cu]

Este componente es el que va a permitir que escuchemos música y sonidos cuando ejecutemos nuestros juegos o aplicaciones. Con una tarjeta de sonido, podremos conectar a ella nuestro lector de CD-ROM y oír la música a través de los altavoces de la tarjeta. Hoy en día es un periférico prácticamente imprescindible debido al auge que han cobrado las conversaciones telefónicas vía Internet, el reconocimiento de voz o los programas multimedia.

La reproducción de música en una tarjeta de sonido se puede llevar a cabo de dos maneras: Síntesis FM o Tabla de ondas.

El sonido, igual que los elementos visuales, tiene que ser grabado y formateado de manera que la computadora pueda manipularlo y usarlo en presentaciones. Dos tipos frecuentes de formato audio son los ficheros de forma de onda (WAV) y el Musical Instrument Digital Interfaces (MIDI). Los ficheros WAV almacenan los sonidos propiamente dichos, como hacen los CD musicales o las cintas de audio. Los ficheros WAV pueden ser muy grandes y requerir compresión. Los ficheros MIDI no almacenan sonidos, sino instrucciones que permiten a unos dispositivos llamados sintetizadores reproducir los sonidos o la música. Los ficheros MIDI son mucho más pequeños que los ficheros WAV, pero su calidad de la reproducción del sonido e Recientemente se han incorporado formatos de audio con una gran capacidad de compresión, lo que ha permitido incluir elementos de sonido importantes, tanto en los productos multimedia que se comercializan en soporte de CD-ROM como en los que se alojan en la Web. En concreto, el formato MPEG Audio Layer 3 (MP3), desarrollado en Alemania por el Instituto Fraunhofer, o el Windows Media Audio (WMA), de Microsoft; sus algoritmos actúan eliminando las frecuencias de sonido que no son perceptibles para el oído humano, lo que permite reducir el tamaño del archivo de audio a menos de su décima parte, sin apenas pérdida de fidelidad.

La Tarjeta de Sonido

La utilidad de una tarjeta de sonido es conseguir que la computadora sea capaz de producir y reproducir sonido con la mejor calidad posible. Esto que hoy en día puede parecer obvio no hace mucho era una utopía, eran los tiempos en que las computadoras sólo eran capaces de producir ciertos piticos o beeps.

¿Por qué es necesaria una tarjeta digitalizadora para producir sonido en una computadora? La respuesta hay que buscarla en la propia naturaleza del sonido y en la forma que tiene la computadora de tratar la información. El sonido es una variación de presión que se propaga por el aire y que se puede representar mediante una onda, por lo que se trata de información analógica. Sin embargo la computadora sólo puede tratar la información en forma digital (ceros y unos). Por esto hay que convertir la señal analógica en señal digital para que pueda ser comprendida por la computadora. Esa es justo la misión que la tarjeta digitalizadora de sonido desempeña.

A la hora de adquirir una tarjeta de sonido debemos tener en cuenta el uso que va a hacer de ella, es decir, si sólo la quieres para reproducir el sonido que la aplicaciones multimedia o los juegos proporcionan, o si bien la vas a utilizar de una forma más profesional, es decir, para generar y digitalizar sonido y utilizarlo en tus aplicaciones. El el primer caso la tarjeta puede ser más limitada y económica, pudiendo servir una que cumpla con las siguientes características: frecuencia de muestreo a 11,025 Hz con 8 bits por muestra, en modo mono. Si estás en el segundo caso y tus exigencias son mayores debes disponer de una tarjeta que sea capaz de muestrear a 44,1 KHz con 16 bits por muestra en modo estéreo, que es actualmente el estándar para multimedia . Otros elementos a tener en cuenta son las entradas y salidas que debe tener la tarjeta, ya que al menos debe disponer de una salida para parlantes o bocinas, una entrada de micrófono, una entrada y una salida de línea y un sintetizador MIDI interno.

Continuar leyendo

Cuál es máj mejol (I)

Ariel-NM [blackhat4all@gmail.com]

¿Cuál es mejor? ¿El Volvo o el Audi…? Ese es el tipo de pregunta que da inicio a lo que yo denomino "discusiones de contén", tan frecuentes entre los adolescentes. Y donde van las marcas de auto pueden colocar los duetos Polito/Varela, PinkFloyd/Queen, Industriales/Santiago... El caso es discutir. Y el apelativo de "discusiones de contén" lo extraje de mi propia experiencia (vamos, que yo también fui adolescente ;). Recuerdo que, luego de regresar temprano de un tour por los cines de La Habana, y teniendo permiso para trasnochar un poco más allá de la medianoche, matábamos el aburrimiento del suburbio sentados en el contén, debatiendo acaloradamente lo que se presentara en mesa.

Algo similar sucede con los programas 3D: ¿Cuál es el mejor?

Puedo enviarles una imagen de mi escritorio y verán allí un montón iconos de software 3D: Maya, 3D Studio Max, Vue… por solo citar algunos entre los de "pegada fuerte". También encontrarán el Poser, el Z-Brush, y hasta el obsoleto Bryce, sin contar un hatajo de programas auxiliares para crear texturas, capturas de movimiento, simulaciones de fluido etc., etc. Trabajo prácticamente con todos ellos en un mismo proyecto y les hablo desde una óptica profesional.

Y ¿cuál es el mejor?

Hace tiempo leí que la más inteligente de las respuestas era: Depende...

Si estamos enfocando la pregunta con sentido ecuménico, universal, "con los pobres de la tierra"... es evidente que todo cuanto provenga del llamado software libre es bienvenido, ¡no faltaba más! En el caso que nos ocupa, el Blender "es el tipo".

He seguido de cerca el Blender puesto que tengo un amigo "blenderista" que me mantiene al tanto. Se acogió a este programa por varias razones: es linuxero de "impura cepa" (impura, porque no llega a cometer la tontería de odiar a muerte a Windows), es programador, tiene una máquina de pocos alcances, disfruta de una conexión a Internet (lo cual le permite mantenerse al tanto de cada compilación) y finalmente, porque fue el primer software 3D con que tropezó y le da un miedo terrible enfrentarse a otro.

Ciertamente, el Blender es un típico representante de la vertiginosa dialéctica del software libre y es sorprendente cuánto ha avanzado en estos cinco años en que le he seguido las huellas. Ahora bien, ¿por qué no lo empleo?

Cuando se trata de hacer una cosilla para uso personal o de ejercitarse para algún día lanzarse en grande, da lo mismo tener a la mano ese utópico botón "hace-de-todo" que escribir una kilométrica ristra de comandos; da lo mismo tener todos los iconos, casillas y botones a la vista que enredarse en una madeja jerárquica de menús y submenús. Pero otros gallos cantan el aria cuando se tiene encima un director perfeccionista y, para colmo, apremiado por los de más arriba, diciéndote: “Necesito las imágenes para ayer, porque ya anteayer comenzaremos a editar”.

Ese es el momento de acordarse, y no para bien, de los que hicieron de la interfaz de usuario un laberinto.

Por ejemplo, los atajos de teclado (shortcuts, en inglés) se crearon para facilitar las cosas, reducir la cantidad de operaciones que requerirían ciertos comandos y agilizar de este modo un conjunto de operaciones de uso frecuente. En Blender encontramos “atajos” al estilo de CTRL + NUM X, esto es, oprimir la tecla Control y, a la vez, un número X del teclado numérico. No me parece muy “short” que digamos semejante “cut”… Y estamos hablando de operaciones tan rutinarias como cambiar la vista en el área de trabajo.

Por otra parte, Blender tiene una interfaz de usuario que recuerda esos aparatos de ciencia ficción que con un botón se transforman en automóvil, cafetera o cama con televisor, o aquellas habitaciones de comedia que con accionar una palanca pasan de dormitorio a sala de estar. Muchas veces, sin embargo, la dinámica de trabajo exige el cuarto, la sala y el auto… todo a la vista. 

Otros fenómenos, adversos a quien precise trabajar con fluidez, ocurren en otras plataformas más antiguas, con más “kilometraje” y más usuarios. Comparemos qué sucede con las interfaces de usuario de los dos “grandes” que se cobijan bajo el techo de Autodesk: Maya y 3D Studio.

Por ejemplo, es muy común tener que seleccionar por región (lazo o como se le llame) un conjunto de vértices, aristas o polígonos sin seleccionar los de la cara opuesta del objeto. Y es muy común también que, al medio-minuto siguiente, se precise justamente lo contrario: seleccionar los vértices, aristas o polígonos de ambas caras. En 3D Studio esto se resuelve haciendo un clic sobre una casilla ubicada justo a la derecha de la interfaz, totalmente a la vista:

En Maya es necesario subir primeramente al menú Windows, desplegarlo, bajar a Settings/Preferences, y de allí pasar a Preferences:

Pero ahí no termina todo: Ahora se abrirá una ventana y habrá que localizar y hacer clic en Selection para, ¡por fin!, dar con la casilla en cuestión:

Les pregunto: ¿tienen idea de cuántas veces hay que conmutar de un estado a otro durante el modelado con polígonos? Para un aficionado que está en etapa de aprendizaje, este engorroso algoritmo del Maya no se echa a ver: más se tarda el novato analizando y pensando qué hará en el próximo paso. Pero para aquellos que ya han alcanzado cierta experiencia y trabajan “en caja quinta y con doble diferencial”, ¡es una verdadera agonía!

Y lo mejor de todo es que este cambio de estado fue introducido ¡en la versión 8! Podrán imaginarse cuán divertido resultaba –antes de la salida de esta versión– pasarse la madrugada haciendo clics por un lado y deseleccionando por el otro. Sumémosle a eso que, mientras en 3D Studio se puede seleccionar un polígono haciendo clic en cualquier lugar dentro del área del mismo, en Maya hay que acertar al punto que está ubicado en el mismo centro.

Por otra parte, la inmensa mayoría de las operaciones con polígonos son interactivas en 3D Studio. Por ejemplo, puede monitorearse en los visores qué sucede mientras se aplica una extrusión, un biselado o un giro en bisagra cuando estas operaciones se hacen desde un contador numérico. Tanto en Maya como en 3D Studio se pueden llevar a cabo estas operaciones de forma intuitiva, directamente sobre los visores, pero hacerlo desde un contador numérico permite controlar el resultado con cifras, esto es, con alta precisión. Sin embargo, cuando se pretende hacer estas operaciones desde contador, en Maya hay que acertar a la primera o hacer uso profuso de Ctrl + Z (deshacer, undo) porque solo veremos el resultado cuando se active el OK.

Por otro lado, como digno representante de los programas provenientes de abuelito Unix, tío Irix, papá Linux y otrox, Maya hace uso profuso del clic derecho para cualquier cosa. No voy a explicar aquí cuán engorroso resulta sobrecargar el accionar por clic derecho. Hace tiempo que eso está demostrado por los especialistas y no por gusto en la inmensa mayoría de los programas se reserva el botón derecho del mouse solo para operaciones secundarias (preferencias, menús contextuales y otras de menor importancia). Lo peor aquí es que el menú de clic derecho no se mantiene en pantalla como sucede en 3D Studio o en XSI, por solo citar, sino que se hace necesario oprimir el botón todo el tiempo (arrastrar) para llegar a un ítem, muchas veces por trayectorias enrevesadas, y si equivocamos el camino, iremos a parar a otro comando o se cierran todos los submenús.

Estos son solo un par de botones de muestra de cuánto puede disminuir la productividad una mala planificación de la interfaz de usuario. Y alguien podría ripostar: “¡Psst! Hasta ahora solo me has hablado de la interfaz…”

Sí, pero la interfaz de usuario no es meramente poner ahí, en pantalla, las cosas más bonitas, con iconos vistosos o los botones más grandes: la interfaz de usuario es condición sine qua non de un eficiente work-flow. Repito, para los que están dando los primeros pasos y dan un clic ahora y el siguiente a los diez minutos, cualquier interfaz les va bien por enrevesada, barroca o ineficiente que esta sea, pero los que trabajan en varios proyectos a la vez y contrarreloj necesitan la menor cantidad posible de clics o arrastres de clic derecho para localizar los comandos. Y recalco: “para localizar los comandos”; en ningún momento se pretende el (por muchos añorado) botón “all-in-one” o “hace-de-todo”.

Nada…, cuestión de orgullo personal ;)

Continuar leyendo

¿Qué es la ética informática?

Eddy [edelvalle@hab.uci.cu]

Para empezar a hablar de ética informática, veremos qué es ética según varios criterios universales.

Según la Real Academia de la Lengua Española:

"Ética es la parte de la filosofía que trata de la moral y de las obligaciones del hombre" y el "conjunto de normas morales que rigen la conducta humana"


La ética es una disciplina filosófica que se define como principios directivos que orientan a las personas en cuanto a la concepción de la vida, el hombre, los juicios, los hechos, y la moral.

La ética es la ciencia que trata sobre la moral, investiga aquello que es específico al comportamiento humano y enuncia principios generales y universales inspiradores de toda conducta, regulado mediante normas o códigos que prescriben el buen comportamiento, las mejores prácticas y prohibiciones que definen su actuación.

Ahora, la ética informática es la disciplina que analiza los problemas éticos que son creados por la tecnología de los ordenadores o también los que son transformados o agravados por la misma. Identifica y analiza los impactos de estas tecnologías en los valores humanos y sociales.

Mandamientos de la ética informática:
No usarás una computadora para dañar a otros u a otra computadora.
No interferirás con el trabajo ajeno.
No indagarás en los archivos ajenos.
No utilizarás una computadora para robar.
No utilizarás la informática para realizar fraude.
*No copiarás o utilizarás software que no hayas comprado.
No utilizarás los recursos informáticos ajenos sin la debida autorización.
No te apropiarás de los derechos intelectuales de otros.
Deberás evaluar las consecuencias sociales  de cualquier código que desarrolles.
Siempre utilizarás las computadoras de manera que respetes los derechos de los demás.

*Este asterisco está ahí porque en nuestro país como todos sabemos se pueden contar con los dedos de una mano los usuarios que usamos programas con licencia (comprándola). Pero estamos de acuerdo con los demás. Yo mismo he incumplido algunos de ellos. Para los hackers quedarían tan sólo los siguientes.

No usarás una computadora para dañar a otros u a otra computadora
No interferirás con el trabajo ajeno
No utilizarás una computadora para robar
No utilizarás la informática para realizar fraude
No te apropiarás de los derechos intelectuales de otros
Deberás evaluar las consecuencias sociales  de cualquier código que desarrolles
Siempre utilizarás las computadoras de manera que respetes los derechos de los demás

No tenemos que hacerle daño a nadie, ni a la sociedad. Nuestro único objetivo es investigar, aprender del cacharreo, de el error y ensayo. Es verdad que a veces en los inventos se nos van la mano y acabamos con alguna máquina o con información vital para los otros. Pero ese no debe ser el fin.

Espero que este pequeño artículo sirva para que nos concienticemos más. Porque una socidad informatizada, como la que se desea formar en nuestro país, depende de estos equipos. Y ¿qué pudiera pasar si una persona sin escrúpolos metiera las manos donde no debe, como en bases de datos con los registros médicos de las personas o algo parecido? Eso podría ser catastrófico.

Yo conozco a alguien muy cercano a mí que me dice: "No vale la pena aumentar nuestra autoestima destruyendo". Destruir es de bárbaros y además es muy fácil. Crear es realmente difícil, crear sistemas seguros donde no entren ni las balas. Eso sí es tarea para enorgullecerse, para superarse.


“A veces sentimos que lo que hacemos es tan solo una gota
en el mar, pero el mar sería menor si le faltara esa gota”
Madre Teresa de Calcuta, Misionera de Yugoslavia

Continuar leyendo