Mostrando entradas con la etiqueta Programación. Mostrar todas las entradas
Mostrando entradas con la etiqueta Programación. Mostrar todas las entradas

8 bugs famosos de la historia de la computación

Usuario: theteam
Post: 8 bugs famosos de la historia de la computacion

Copio y pego de un blog que sigo. son 8 bugs famosos que el escritor del blog selecciono. esta bueno conocerlos.

En el pasado ya hablamos de bugs especialmente complejos y complicados de depurar en Heisenbugs, Bohrbugs, Mandelbugs y Schroedinbugs. Esta vez hablaremos de bugs especialmente famosos. Y sufridos por otros, que siempre es menos estresante.


1. La polilla de Mark II

En Septiembre de 1947 los ingenieros del Laboratorio de Computaciónde Harvard se encontraban realizando los últimos ajustes a su famosaMark II cuando esta sufrió un extraño fallo. Cuando los técnicosabrieron la computadora para comprobar qué sucedía, se encontraron conuna polilla en uno de los relés.
A los ingenieros que descubrieron el problema les hizo tanta gracia(bug en inglés significa bicho) que pegaron el insecto con cintaadhesiva en un cuaderno junto con el resto de la documentación de lamáquina. Este cuaderno, polilla incluida, se puede encontrar hoy en díaen el Smithsonian.

Erróneamente, algunas personas piensan que el uso del término “bug”proviene de esta anécdota. Lo cierto es que el término ya se utilizabamucho antes para referirse a errores en el funcionamiento de aparatosmecánicos.

2. El bug de HAL 9000

¡Atención: MEGA SPOILER de “2001: Odisea en el espacio”!
En “2010: Odisea dos” Arthur C. Clarke aclaraba el por qué del malfuncionamiento de HAL 9000 en la primera novela, mal funcionamiento queacabó con la muerte de la tripulación completa de la Discovery, aexcepción de David Bowman, 9 años antes.
El Dr. Chandra, principal diseñador de HAL, explicaba en este libroque el fatídico error se había debido a las instrucciones de manteneren secreto la existencia de los monolitos, lo que había entrado enconflicto directo con la misión principal de HAL: “el procesamientoexacto de la información sin ocultamiento ni distorsión”.

3. El primer bug de Ubuntu

Si alguna vez has echado un vistazo al sistema de seguimiento deerrores de Ubuntu y se te ha ocurrido comprobar cuál fue el primer bugregistrado, te habrás llevado una simpática sorpresa.
Este bug, reportado por Mark Shuttleworth el 20 de Agosto de 2004, un par de meses antes de que se lanzara Warty Warthog reza así:
Microsoft acapara la mayoría del mercado
Este es un bug que Ubuntu ha sido diseñado para remediar.
El software propietario está retrasando la innovación en laindustria de las TI, limitando el acceso a las TI a una pequeña partede la población mundial y restringiendo la capacidad de losdesarrolladores de software para alcanzar su verdadero potencial. Estebug es fácilmente observable en la industria del PC.
Pasos para reproducir el error:
1. Visitar una tienda de informática.
Qué ocurre:
2. Observar que la mayor parte de los PCs en venta tienen software propietario pre-instalado.
3. Observar que muy pocos PCs llevan Ubuntu y otro software libre pre-instalado.
Qué debería ocurrir:
1. La mayoría de los PCs a la venta deberían incluir sólo software libre, como Ubuntu.
2. Ubuntu debería ser publicitado de forma que sus increíblescaracterísticas y sus beneficios fueran aparentes y conocidos por todos.
3. El sistema debería hacerse más y más amigable con el usuario a medida que pase el tiempo.


4. El bug del año 2000

Las noticias dedicaron horas, los periódicos miles de líneas… Sefilmaron multitud de tele films, e incluso un capítulo de Los Simpson.El bug del año 2000 iba a tener resultados catastróficos, yprácticamente acabaría con nuestra civilización. Al final lasconsecuencias no fueron tan exageradas y se quedaron en algunosproblemas menores y paradas en los servicios de empresas que no habíanadaptado sus sistemas.
El error, para los despistados, venía producido por utilizar sólo 2dígitos para representar las fechas, con objeto de ahorrar memoria.Esto provocaba que el año 2000 se interpretara como 1900, con los consiguientes problemas y confusiones.

5. Bug del 2038

Dentro de 28 años tendremos que enfrentarnos a otro problema igualde serio que el del bug del año 2000. Esta vez el fallo tiene que vercon la forma en la que se representan las fechas en POSIX: en segundosdesde el 1 de Enero de 1970 a las 00:00:00. En sistemas de 32 bits estevalor suele guardarse en variables de tipo entero con signo, siendo elvalor máximo que puede representar este tipo 2.147.483.647, valor quese alcanzará a las 03:14:07 del 19 de Enero de 2038, exactamente.

6. División en coma flotante del Intel Pentium

Un bug clásico, de 1994, que supuso un pequeño varapalo económico y publicitario para Intel y sus primeros Pentium.
Bajo ciertas circunstancias, dependiendo de los rangos de losdivisores, los bits 13º y siguientes de la mantisa podían contenervalores incorrectos en las operaciones de división en coma flotante,cálculo de tangente y resto, provocando un error de un máximo de 61unidades por millón.

7. Un bug casi mayor de edad

Un bug de candente actualidad.17 años, nada más y nada menos, es lo que ha tardado Microsoft ensolucionar un error en la máquina virtual DOS (VDM) de Windows, que seremonta hasta NT 3.51, y que podría permitir a un atacante ejecutarcódigo de forma remota.

8. Mars Climate Orbiter: problemas de unidades

Esto es lo que puede ocurrir al cometer fallos tan tontos como mezclar las unidades del sistema métrico y las anglosajonas.
La MCO, o Mars Climate Orbiter, formaba parte de una serie demisiones de la NASA para la exploración de Marte, que aprovechaban laproximidad temporal entre la Tierra y el planeta rojo. Al llegar aMarte, la sonda debía modificar su trayectoria y reducir su velocidad,de forma que se mantuviera orbitando alrededor del planeta. En sulugar, la sonda continuó acercándose a la atmósfera, lo que hizo quequedara destruida debido a la fricción.
"

me gusto el de ubuntu :), jeje. y yo pensaba que lo del nombre de bug era por lo de mark II, una descepcion xD
fuente: http://mundogeek.net/archivos/2010/02/03/8-bugs-famosos-de-la-historia-de-la-tecnologia/

Tags: ,

Go, el lenguaje de programación de Google

Usuario: RiCkY
Post: Go, el lenguaje de programación de Google

Estan con ganas de aprender un nuevo lenguaje de programación? Les traigo Go, el lenguaje de programación de google... http://golang.org/

Aca un video de promoción:



Tags: ,

[Tutorial] C/C++ en NetBeans (para Windows)

Usuario: RiCkY
Post: [Tutorial] C/C++ en NetBeans (para Windows)


Asi como lo dice el titulo, este tema es una simple guia de como poner un compilador de C/C++ en NetBeans. Hacía rato que dije que la iba a hacer pero como se que me iba a llevar tiempo y ganas esperé hasta hoy para hacerla. Como ayuda usé este post en un blog que encontré en internet... me sirvió de mucho ya que si no fuera por el tip de Windows Vista de correr la aplicación como administrador, me hubiera rendido de tanto intentar.

 Arranquemos:

 Primero, lo básico: necesitamos el entorno de desarrollo NetBeans, que tenga el respectivo paquete de soporte para C/C++. En caso de no tener alguna de estas cosas podemos hacer la descarga desde este link (http://www.netbeans.org/downloads/index.html).

 Otra de las cosas que necesitamos es el instalador de la colección de herramientas Cygwin. Pueden bajarlo desde la misma página de Cygwin, desde este link (http://www.cygwin.com/setup.exe).

 Una vez que tenemos el instalador, lo ejecutamos (en mi caso, con Windows Vista tuve que ejecutarlo como administrador para que se conecte a los mirrors a bajar archivos).

 Elegimos la primera opción: Install from Internet (instalar desde internet). Damos click a Next.

Elegimos la carpeta de instalación. Las opciones que aparecen debajo les recomiendo dejen las recomendadas (valga la redundancia) ;) Click en Next

Elegimos la carpeta local para las descargas de paquetes. Click en Next

Ahora debemos elegir la conexión, en mi caso la mas simple, Direct connection (conexión directa). Supongo que ustedes también van a necesitar esa. Click en Next

Seleccionamos cualquiera de los mirrors y le damos click a Next

Ahora se va a empezar a bajar unos archivos, y luego nos encontraremos con esta ventana:





Si se fijan bien, esos son los paquetes que trae cygwin para instalar. Si hacen click en el caracter que se parece a un reload, refresh, o un simbolo de reciclaje, o como quieran llamarlo, cambiará la acción que queremos tener sobre los paquetes. Entre ellas, Default, Install, Reinstall, Uninstall. Estas aparecerán cada vez que hagamos click. Para cada componente del paquete también tenemos lo mismo, solo que al hacer click aparecerán cosas como Keep, Skip, Reinstall, Uninstall, o el número del a versión a instalar.

Bien, ahora debemos elegir para instalar lo siguiente:
  • Paquete "Base"

Le damos click al icono del que hablabamos hasta que aparece Base (\) Install para instalar el paquete entero.

 Ahora, desplegamos el paquete "Devel" (apretamos el + a la izquierda) y elegimos instalar lo siguiente:
  • binutils: The GNU assembler, linker and binary utilities
  • gcc-core: C compiler
  • gcc-g++: C++ compiler
  • gcc-g77: Fortran compiler
  • gcc-mingw-core: Mingw32 support headers and libraries for GCC
  • gcc-mingw-g++: Mingw32 support headers and libraries for GCC C++
  • gcc-mingw-g77: Mingw32 support headers and libraries for GCC Fortran
  • gdb: The GNU Debugger
  • make: The GNU version of the 'make' utility
  • mingw-runtime: MinGW Runtime

Recuerden que estos "modulos" los encuentran bajo el paquete Devel, pueden ver los nombres de cada cosa que se van a bajar en el atributo "Package".

Una vez que se bajaron esto, hay que cambiar la variable de entorno PATH (dependiendo del sistema, vamos a Propiedades del sistema, Avanzado, Variables de Entorno... en Windows XP creo que era click derecho en Mi PC, Propiedades, y en Windows Vista es click derecho en Mi PC, Propiedades, Configuracion(es) remota(s) y ahi siguen en el camino que les dije mas arriba).

A nuestra variable PATH debemos agregarle como valor la direccion de la carpeta bin del Cygwin (en mi caso, C:\Cygwin\Bin... este depende de donde hayan instalado el Cygwin). IMPORTANTE: Si PATH ya posee un valor, entonces agreguenle un ";" (sin las comillas) al final, seguido de la ruta que hablamos mas arriba... Por ejemplo: Si tengo "C:\Sun\SDK\bin" el valor me deberia quedar "C:\Sun\SDK\bin;C:\Cygwin\Bin".

Luego de todo esto, abrimos NetBeans y vamos a Tools > Options > C/C++ (en Español, Herramientas > Opciones > C/C++). Podemos agregar manualmente los compiladores, ensamblador, etc. o podemos dejar que lo haga solo creando una nueva familia de paquetes haciendo click sobre Add (Agregar), elegimos el directorio base de los paquetes (carpeta Bin de Cygwin, en mi caso C:\cygwin\bin) y le damos click a Ok. Luego de esto se deberían haber completado todos los campos solos.

En caso de agregar manualmente los archivos, estos son los que deben completar (una vez mas, suponiendo que instalaron el cygwin en C:\cygwin):
  • Base Director: C:\cygwin\bin
  • C Compiler: C:\cygwin\bin\gcc.exe
  • C++ Compiler: C:\cygwin\bin\g++-3.exe
  • Fortran Compiler: C:\cygwin\bin\g77-3.exe
  • Make Command: C:\cygwin\bin\make.exe
  • Debugger: C:\cygwin\bin\gdb.exe


Una vez hecho todo esto, aplicamos cambios, todo a Ok, y ya podemos crear nuestro proyecto en C/C++ en NetBeans.

Espero que les sirva la guia ;)

Saludos

Tags: ,