jueves, julio 23, 2009

XKCD: Estimación


- "Estoy saliendo de la ciudad, estaré allí en quince minutos...
En realidad, parece más como seis días...
No, espera, serán treinta segundos."

El autor del cuadro de diálogo de copia de archivos de Windows va a visitar algunos amigos.

Via XKCD, por supuesto.

martes, julio 21, 2009

Modem adventures

Dispositivos soportados en esta laptop (ECS/Uniwill L41II):
Host Bridge: Intel Corporation Mobile 945GM/PM/GMS Express Memory Controller Hub... [X]
VGA compatible controller: Intel Corporation Mobile 945GM/GMS Express IGP... [X]
Display controller: Intel Corporation Mobile 945GM/GMS/GME, 943/940GML Express IGP... [X]
Audio device: Intel Corporation 82801G (ICH7 Family) HDA Controller... [X]
PCI bridge: Intel Corporation 82801G (ICH7 Family) PCI Express Port 1/2/3... [X]
USB Controller: Intel Corporation 82801G (ICH7 Family) USB UHCI Controller #1/2/3/4... [X]
IDE interface: Intel Corporation 82801G (ICH7 Family) IDE Controller... [X]
IDE interface: Intel Corporation 82801GBM/GHM (ICH7 Family) SATA IDE Controller... [X]
Network controller: Intel Corporation PRO/Wireless 3945ABG [Golan]... [X]
FireWire (IEEE 1394): O2 Micro, Inc. Firewire (IEEE 1394)... [X]
SD Host controller: O2 Micro, Inc. Integrated MMC/SD Controller... [X]
Mass storage controller: O2 Micro, Inc. Integrated MS/xD Controller... [X]
Ethernet controller: Realtek Semiconductor Co., Ltd. RTL-8139/8139C/8139C+... [X]
DVD-RAM writer: MATSHITADVD-RAM UJ-850S... [X]
y ahora también:
Welcome to minicom 2.3

OPCIONES: I18n
Compilado en Feb 24 2008, 16:35:15.
Port /dev/ttySL0

Presione CTRL-A Z para obtener ayuda sobre teclas especiales

AT S7=45 S0=0 L1 V1 X4 &c1 E1 Q0
OK
ATI0
SmartLink Soft Modem
OK
ATI1
SmartLink Soft Modem, 2.9.11
Smart Link Ltd.

OK
ATI2
SmartLink Soft Modem, 2.9.11
Smart Link Ltd.

OK
ATI3
hw:0,6
alsa modem driver

OK
ATI7
Country: ARGENTINA
OK
Efectivamente, tras una actualización de sl-modem-daemon (2.9.11~20090222-1), el modem on-board ahora funciona correctamente. No es que necesite conectarme por dial-up, pero nunca viene mal un medio de comunicación adicional.

Con esta actualización, el último dispositivo que quedaba sin funcionar en Debian ahora tiene soporte, por lo que es posible decir que, muy afortunadamente, Linux soporta ahora todos los dispositivos de esta laptop. \o/

martes, julio 14, 2009

Odiar a Microsoft

Russell Coker escribió el artículo "Hating Microsoft" y en lo que a mi respecta, creo que ha dado en el clavo. Traduzco, o mejor dicho, interpreto...
"En discusiones de listas de correo he visto varios usuarios de Windows inquietarse cuando la gente habla de "Odiar a Microsoft", usualmente afirmando que es "poco profesional" odiar un vendedor [de software]. Algunos llegan incluso a decir que es buena idea evitar contratar a alguien que dice odiar a Microsoft -- como si quisiera trabajar para alguien que rechaza un CV basándose en una discusión de lista de correos.

Lo que tienen que entender aquí es que cuando alguien dice "Yo odio a Microsoft", es normalmente en una manera similar a decir "Yo odio el brócoli". Es más una expresión de desagrado que de odio real. El sitio IHateMicrosoft.com tiene animaciones que se asemejan a explosiones nucleares, que sirven para reírse (el sitio también lista algunas razones reales para evitar MS), pero no parece haber evidencia de odio real hacia MS, incluso en los EE.UU., no parece haber nadie que desee utilizar la violencia para resolver el problema de MS.

Se odia a los doctores que practican el aborto, pero no a MS.

Lo siguiente que la gente necesita saber es que una porción significativa del sentimiento "Odio a Microsoft" viene de gente que pasa alrededor de 40 horas a la semana siendo pagados para usar software de MS. Tengo la suerte de que ya han pasado algunos años desde la última vez que utilicé software de MS, y muchos años más han pasado de cuando que me vi forzado a utilizarlo seriamente (es decir, cualquier otra cosa que no sea usar Windows como un cliente de correo y SSH), así que tengo poca necesidad inmediata de enfadarme con ellos. Pero la gente que se ve forzada a utilizar o dar soporte a software de MS diariamente llega, a menudo, a ponerse descontento con la situación.

Son las pequeñas cosas como un bug en ActiveX, que expone a un compromiso remoto a los usuarios de Outlook e Internet Explorer, las que molestan realmente a la gente. Nunca hubo una necesidad de tener ActiveX, y menos la necesidad de que funcione vía email o de que esté habilitada por defecto. Pero MS publica software que funciona de esa forma y ahora todos los usuarios deben esperar pacientemente por un parche (o arreglárselas con una solución alternativa).

Otro tema que parece traer algunas quejas es el uso de términos como "M$" y "Microsloth". Si eso le molesta, ¡contrólese, por favor! ¡Es una empresa de software, no una religión! Los documentos oficiales de la compañía deben tener todas las marcas registradas correctamente escritas, pero para discusiones informales en una lista de correo creo que es una jerga apropiada. En cualquier caso, tómelo como una declaración de posible tendencia [o parcialidad].

Yo no uso esos términos pero, de nuevo, puede que sea porque soy lo suficientemente afortunado de no utilizar software de MS. Cuando alguien no puede evitar utilizar software inferior debido a las prácticas anti-competitivas de MS, es entendible que pueda descargar su frustración escribiendo incorrectamente una marca registrada.

Recuerde que el Inglés es muy diferente a cualquier otro lenguaje usado para programar computadoras. Usar "M$" en vez de "Microsoft" no le dará un error de sintaxis o un error sobre utilizar una variable no declarada. La palabra "odio" tiene distintos significados dependiendo del contexto.

Original de Russel Coker bajo licencia Creative Commons Attribution-Noncommercial-Share Alike 3.0

domingo, julio 12, 2009

100 habilidades esenciales de un geek

Anton Olsen compiló en Wired una lista de las 100 habilidades esenciales que debe tener un geek. Obviamente no es completa, pero es una aproximación interesante.

Esto va a terminar siendo un Meme. A ver cuantos años de tratamiento me harían falta para volver a la normalidad...
  1. Properly secure a wireless router. Check
  2. Crack the WEP key on a wireless router. Nope. Todavía no me hizo falta, todo el mundo usa wifi abierta.
  3. Leech Wifi from your neighbor. Check
  4. Screw with Wifi leeches. Check
  5. Setup and use a VPN. Check
  6. Work from home or a coffee shop as effectively as you do at the office. Check
  7. Wire your own home with Ethernet cable. Check
  8. Turn a web camera into security camera. Check
  9. Use your 3G phone as a Wi-Fi access point. Nope, tengo un celular de los viejos.
  10. Understand what “There’s no Place Like 127.0.0.1” means. Check
  11. Identify key-loggers. Check
  12. Properly connect a TV, Tivo, XBox, Wii, and Apple TV so they all work together with the one remote. Nope, demasiados aparatos que no tengo.
  13. Program a universal remote. Check, más el de la tarjeta de tv en linux.
  14. Swap out the battery on your iPod/iPhone. Nope, tengo iNothing.
  15. Benchmark Your Computer. Check
  16. Identify all computer components on sight. Check
  17. Know which parts to order from NewEgg.com, and how to assemble them into a working PC. Check
  18. Troubleshoot any computer/gadget problem, over the phone. Check
  19. Use any piece of technology intuitively, without instruction or prior knowledge. Check
  20. How to irrecoverably protect data. Yo diría, destruir datos en forma irrecuperable... Check
  21. Recover data from a dead hard drive. Check, incluso viendo girar en vivo los platos.
  22. Share a printer between a Mac and a PC on a network. Nope, no Mac.
  23. Install a Linux distribution. (Hint: Ubuntu 9.04 is easier than installing Windows). Check
  24. Remove a virus from a computer. Check
  25. Dual (or more) boot a computer. Check
  26. Boot a computer off a thumb drive. Check
  27. Boot a computer off a network drive. Check, y varias a la vez con PXE.
  28. Replace or repair a laptop keyboard. Nope, y espero que no en el corto plazo.
  29. Run more than two monitors on a single computer. Nope, máximo dos en el desktop.
  30. Successfully disassemble and reassemble a laptop. Nope, y espero que no haga falta.
  31. Know at least 10 software easter eggs off the top of your head. Nope, llego a contar cuatro.
  32. Bypass a computer password on all major operating systems. Windows, Mac, Linux. Nope, no he intentado en Mac.
  33. Carrying a computer cleaning arsenal on your USB drive. Check
  34. Bypass content filters on public computers. Check
  35. Protect your privacy when using a public computer. Check
  36. Surf the web anonymously from home. Check
  37. Buy a domain, configure bind, apache, MySQL, php, and Wordpress without Googling a how-to. Nope, aún no me decido por el dominio.
  38. Basic *nix command shell knowledge with the ability to edit and save a file with vi. Check
  39. Create a web site using vi. Check
  40. Transcode a DVD to play on a portable device. Nope
  41. Hide a file in an image using steganography. Check
  42. Knowing the answer to life, the universe and everything. Nope
  43. Share a single keyboard and mouse between multiple computers without a KVM switch. Check
  44. Google obscure facts in under 3 searches. Bonus point if you can use I Feel Lucky. Check
  45. Build amazing structures with LEGO and invent a compelling back story for the creation. Check
  46. Understand that it is LEGO, not Lego, Legos, or Lego’s. Check
  47. Build a two story house out of LEGO, in monochrome, with a balcony. Check, tuve muchos LEGO.
  48. Construct a costume for you or your kid out of scraps, duct tape, paper mâché, and imagination. Nope
  49. Be able to pick a lock. Nope
  50. Determine the combination of a Master combination padlock in under 10 minutes. Nope
  51. Assemble IKEA furniture without looking at the instructions. Bonus point if you don’t have to backtrack. Nope, al menos no de IKEA.
  52. Use a digital SLR in full manual mode. Nope, sólo la analógica en modo manual, he.
  53. Do cool things to Altoids tins. Nope
  54. Be able to construct paper craft versions of space ships. Check
  55. Origami! Bonus point for duct tape origami. (Ductigami) Check (single point)
  56. Fix anything with duct tape, chewing gum and wire. Check
  57. Knowing how to avoid being eaten by a grue. Nope. No vale el animal de Another World?
  58. Know what a grue is. Nope
  59. Understand where XYZZY came from, and have used it. Nope
  60. Play any SNES game on your computer through an emulator. Check
  61. Burn the rope. Nope
  62. Know the Konami code, and where to use it. Nope
  63. Whistle, hum, or play on an iPhone, the Cantina song. Nope
  64. Learning to play the theme songs to the kids favorite TV shows. Nope
  65. Solve a Rubik’s Cube. Check, sólo si vale despegar los colores.
  66. Calculate THAC0. Nope
  67. Know the difference between skills and traits. Check
  68. Explain special relativity in terms an eight-year-old can grasp. Check, aunque aún no hizo falta.
  69. Recite pi to 10 places or more. Nope, llego a 3.1415926.
  70. Be able to calculate tip and split the check, all in your head. Check, mas un plus por haber hecho el cálculo.
  71. Explain that the colours in a rainbow are roygbiv. Check
  72. Understand the electromagnetic spectrum - xray, uv, visible, infrared, microwave, radio. Check
  73. Know the difference between radiation and radioactive contamination. Check
  74. Understand basic electronics components like resistors, capacitors, inductors and transistors. Check
  75. Solder a circuit while bottle feeding an infant. (lead free solder please.). Nope, si lo intento quizás termine soldando un bebé y alimentando un circuito.
  76. The meaning of technical acronyms. Check
  77. The coffee dash, blindfolded (or blurry eyed). Coffee [cream] [sugar]. In under a minute. Check
  78. Build a fighting robot. Nope
  79. Program a fighting robot. Nope
  80. Build a failsafe into a fighting robot so it doesn’t kill you. Sh*t! it's coming after us!!
  81. Be able to trace the Fellowship’s journey on a map of Middle Earth. Nope
  82. Know all the names of the Dwarves in The Hobbit. Nope
  83. Understand the difference between a comic book and a graphic novel. Check
  84. Know where your towel is and why it is important. Check, towelie said it to me.
  85. Re-enact the parrot sketch. Check, poor parrot.
  86. Know the words to The Lumberjack Song. Check
  87. Reciting key scenes from Monty Python and the Holy Grail. Double check
  88. Be able to recite at least one Geek Movie word for word. Nope
  89. Know what the 8th Chevron does on a Stargate and how much power is required to get a lock. Nope
  90. Be able to explain why it’s important that Han shot first. Check
  91. Know why it is just wrong for Luke and Leia to kiss. Check, ajjjj...
  92. Stop talking Star Wars long enough to get laid. Check, al menos una vez.
  93. The ability to name actors, characters and plotlines from the majority of sci-fi movies produced since 1968. Check, pero defina bien mayoría.
  94. Cite Mythbusters when debunking a myth or urban legend. Check
  95. Sleep with a Cricket bat next to your bed. Nope
  96. Have a documented plan on what to do during a zombie or robot uprising. Nope, está todo en mi cabeza.
  97. Identify evil alternate universe versions of friends, family, co-workers or self. Nope
  98. Be able to convince TSA that the electronic parts you are carrying are really not a threat to passengers. Nope
  99. Talk about things that aren’t tech related. Check, religión y política, pero solo a veces.
  100. Get something on the front page of Digg. Nope

martes, julio 07, 2009

(Mayormente) útiles reglas de desarrollo de software

Se fue junio como por un tubo, y si bien han habido varias noticias en el entorno open source, muchos ya se han encargado de ellas. La salida de Mozilla Firefox 3.5, VirtualBox 3.0, y recientemente VLC 1.0 y algunas más que no recuerdo.

Aviso, de paso, que si alguno quiere tener Firefox 3.5 en Debian amd64, puede obtener el fuente y compilarlo, o bien aprovechar los paquetes pre-release de Iceweasel 3.5 que Mike Hommey tuvo la delicadeza de poner a nuestra disposición.

Pero lo de hoy es una breve traducción de un post que ayer publicaron en Pingdom titulado "Quirky but (mostly) useful software development rules", recordando reglas con las cuales adhiero bastante.

Regla del noventa-noventa
El primer 90% del código ocupa el 90% del tiempo de desarrollo. El 10% restante del código ocupa el otro 90% de tiempo de desarrollo.

(puede parecer equivocada, pero es así)

Ley de Hofstadter
Siempre lleva más tiempo del que uno espera, incluso si se tiene en cuenta la Ley de Hofstadter.

Ley de Brooks
Agregar gente a un proyecto atrasado, lo atrasa aún más.

Ley de Lister
La gente, presionada por el tiempo, no piensa más rapido.

Método MoSCoW
Una técnica para priorizar la entrega de requerimientos durante el desarrollo. MoSCoW significa:

[M]UST have this. -- DEBE tener esto.
[S]HOULD have this if at all possible. -- DEBERÍA tener esto si es posible.
[C]OULD have this if it does not affect anything else. -- PODRÍA tener esto si no afecta otra cosa.
[W]ON’T have this time but WOULD like in the future. -- NO tendrá esto ahora pero PODRÍA tenerlo en el futuro.

Principio KISS
«Manténgalo breve y simple» («Keep It Short and Simple»), en la forma más educada.

Ley de Gall
Un sistema complejo que funciona es siempre una evolución de un sistema simple que funcionó.

Peor es mejor, o estilo Nueva Jersey
Describe como un producto "inferior" puede ser mejor desde la perspectiva del usuario. Un software limitado pero fácil de usar puede ser más popular entre los usuarios que un software "mejor", pero más abarcativo.

Décima regla de Greenspun
Cualquier programa C o Fortran lo suficientemente complicado contiene una implementación ad-hoc, informalmente especificada, lenta y llena de errores de la mitad de Common Lisp.

Ley de Zawinski
Cada programa intenta expandirse hasta que puede leer mail. Aquellos programas que no pueden expandirse de esta manera se reemplazan por otros que sí pueden.

Ley de Linus
Dado un número suficientemente elevado de ojos, todos los errores se convierten en obvios.

Ley de Murphy
Clásica: Si algo puede salir mal, saldrá mal.

Ley de Sutton
Ve a donde está el dinero.

Es decir, al diagnosticar un problema, uno debería confirmar primero si se trata del diagnóstico mas común, p.ej. probando la solución más evidente. Toma su nombre del ladrón Willie Sutton, que atracaba bancos "porque ahí es donde está el dinero."

Ley de Wirth
El software se ralentiza más deprisa de lo que se acelera el hardware.

Ley de Conway
Una pieza de software refleja la estructura organizacional de la organización donde se produjo.

Principio de Hollywood
No nos llame, nosotros lo llamaremos.

En vez de que el programa ejecute al sistema, el sistema ejecuta su programa.

Principio de Dilbert
Los trabajadores más incompetentes son promovidos sistemáticamente al lugar donde pueden hacer menos daño: la administración.

Fuente: Quirky but (mostly) useful software development rules (Pingdom) y Wikipedia