Archive

Archive for the ‘Funcionalidad’ Category

Burocracia y competitividad los demonios que sondan por las empresas de software

febrero 9, 2011 1 comentario

Antes de comenzar aclaro que no soy un experto y que me falta mucho para dar juicios mas asertivos, todo esto es basado con la poca experiencia que tengo y las investigación que he realizado.

 

Burocracia:

La burocracia es un peligro para las empresas y nace por la ansiedad de crear procesos, de imponer orden y control sobre los desarrollos que se hacen. Lastimosamente el exceso de estos procesos y seguimientos provoca una burocracia repetitiva en cada procesos de la empresa pero sobretodo en la entrega de proyectos, en la documentación y por ultimo en la revisión y/o testing.

Un ejemplo claro de este problema fue lo que le ocurrió a Microsoft con windows vista y los últimos productos que ha realizado Google, en varios artículos que le he ido algunos programadores de Micrososft decían que cada método o secuencia en el código era monitoreada hasta por 3 personas , aumentando el tiempo para cada desarrollo y creando un sistema inmenso de revisión tras revisión que nunca paraba.

pero entonces ¿ por que windows vista quedo tan mal ?   , ¿ por que los productos de Google no han sido exitosos?, No tiene sentido!!. pues puedo decir esto:

— Testing no es igual a calidad —

El testeo continuo, la revisión de código, la planeación excesiva no significan que la calidad sera mayor, los que pagan por esto son los programadores que ahora trabajan el doble y pierden la creatividad al ser cada vez mas cortos de cambios en lo que hacen.

Muchos comparan al desarrollo de software con la arquitectura, y muchos dicen que la arquitectura es el arte combinado con la ingeniería de hecho lo es y pienso que el desarrollo también lo es, pero las empresas no lo entienden.

Me ha tocado ver en mi corta experiencia proyectos que tienen en tiempos hasta un 50% de tiempo destinado a calidad, se recortan tiempos para el desarrollo y para el diseño del producto, pero el programador ya sabe algo:

Lo que empieza mal, termina mal

Por otro lado  la documentación es otro aspecto que se empieza a transformar , todo comienza cuando se exagera en el numero de documentos, se crean documentos para cada cambio, para enviar un correo, para una simple aprobación, esto hace crecer la documentación inútil y genera gasto exagerado de tiempo. por otra parte sigue la exageración en los documentos, he visto documentos de diseño de mas de 90 o 120paginas para proyectos muy pequeños, cosas que nadie se lee y que uno piensa que tienen “información detalla” pero en realidad es basura, es información exagerada que nadie leerá.

 

Competitividad:

Bueno para enfrentar el demonio de la competitividad empezare describiéndolo en un frase:

 

— Competitividad no es hacer las cosas mas baratas —

Lastimosamente las empresas de software no entienden que en este negocio no solo se debe competir con precios, los productos mas éxitos de software han sido desarrollados en múltiples plataformas, diferentes lenguajes de programación, con diferentes características, pero al final algo en común los hizo ser éxitos y es la creatividad y la innovación.

Es común que las empresas por su concepto herrado de competir con precios ganen fama de tener baja calidad y que muchas empresas los saquen de su portafolio de proveedores y otras  creen algo que llamo “Software desechable”, crean desarrollos que no son sostenibles, dificiles de actualizar y que se vuelven obsoletos rápidamente. esto no es conveniente ni para el cliente, ni para el proveedor, es un sistema que lleva al fracaso y que si genera un futuro sin competitividad.

Esta mentalidad se ha creado principalmente por la falta de experiencia de la empresas y también de los clientes, adicional se suma el sistema de capitalismo salvaje que aveces las empresas aplican indiscriminadamente y hacen estos software desechables casi que ha propósito, pienso que al final este modelo caerá entre mas las empresas utilicen las tecnología y sean mas dependientes de esta, necesitaran software de mas calidad y de mas durabilidad.

 

 


No mas discusión entre programadores – libre vs licenciado

septiembre 10, 2010 4 comentarios

Desde que estoy en industria de software he escuchado peleas constantes entre los que apoyan software libre y los que apoyan software licenciado, pero para mí esta discusión es absurda y estúpida.

Les he preguntado a muchos que apoyan el software libre que SO(Sistema operativo) tienen y me dicen que Windows, que software libre  tienen es su SO  instalado y me dicen que ninguno y por ultimo cuánto dinero han donado para estas empresas y me dicen que ninguno, por lo que veo algunos que apoyan el software libre solo saben hablar mal de Microsoft  y decir que Bill Gates es el anticristo en este mundo.

Los que apoyan a Microsoft o las empresas de software licenciado  parece que no entienden que los estudiantes y la gente más pobre no tiene dinero para pagar sus licencias, por ello es necesario la piratería la cual pueden prevenir sacando simplemente una versión gratuita, como lo han hecho con las versiones Express.

Esta lucha ha generado un odio tan grande y tan absurdo casi igual como el que existe hoy entra las religiones del mundo, ¿por qué nos odiamos?, ¿por qué si tenemos la libertad de escoger software libre o software licenciado no respetamos estas libertades?.

He odio la que Microsoft todo lo copia y por ello realizan ofensas y generan más odio, les pregunto ¿cuándo a Microsoft le copian algo por que no dicen nada?, los grandes avances tecnológicos se basan en mejorar cosas que ya existen, en mezclar tecnologías y Microsoft también puede hacerlo y si desea vender dicha tecnología está en derecho de hacerlo.

A todos los desarrolladores les mando un mensaje no peleemos, no discutamos, dejemos a cada quien decidir, los actos son los que quedan para la historia,  los insultos y los comentarios de mal gusto se olvidan y quedan en lo más profundo del cementerio de tiempo.

Bios de un computador

mayo 30, 2008 7 comentarios

BIOS

“Basic Input-Output System”, sistema básico de entrada-salida. Programa incorporado en un chip de la placa base que se encarga de realizar las funciones básicas de manejo y configuración del ordenador.

Resulta evidente que la BIOS debe poderse modificar para alterar los datos que la componen (al añadir un disco duro o cambiar al horario de verano, por ejemplo); por ello las BIOS se implementan en memoria. Pero además debe mantenerse cuando apaguemos el ordenador, pues no tendría sentido tener que introducir todos los datos en cada arranque; por eso se usan memorias especiales, que no se borran al apagar el ordenador: memorias tipo CMOS, por lo que muchas veces el programa que modifica la BIOS se denomina “CMOS Setup“.

En realidad, estas memorias sí se borran al faltarles la electricidad; lo que ocurre es que consumen tan poco que pueden ser mantenidas durante años con una simple pila, en ocasiones de las de botón (como las de los relojes). Esta pila (en realidad un acumulador) se recarga cuando el ordenador está encendido.

Para acceder a la bios de mi PC solo tengo que presionar suprimir antes que se inicie el sistema operativo que tengo (Windows).

Bueno como ejemplo decidí investigar sobre las configuraciones que brinda la BIOS de mí computar:

  • CPU Internal cache: el habilitado o deshabilitado de la caché interna del microprocesador. Debe habilitarse (poner en Enabled) para cualquier chip con caché interna (todos desde el 486). Si la deshabilitamos, podemos hacer que nuestro Pentium 75 vaya como un 386 rápido, lo cual no sirve para nada como no sea jugar a un juego muy antiguo que va demasiado rápido en nuestro ordenador.
  • External Caché: lo mismo pero con la caché externa o de segundo nivel. No tiene tanta trascendencia como la interna, pero influye bastante en el rendimiento.
  • Quick Power On Self Test: que el test de comprobación al arrancar se haga más rápido. Si estamos seguros de que todo funciona bien, merece la pena hacerlo para ganar unos cuantos segundos al arrancar.
  • Boot Sequence: para que el ordenador busque primero el sistema operativo en un disquete y luego en el disco duro si es “A,C” o al revés si es “C,A”. Útil para arrancar o no desde disquetes, o en BIOS modernas incluso desde una unidad Zip o SuperDisk internas.
  • Swap Floppy Drive: si tenemos dos disqueteras (A y B), las intercambia el orden temporalmente.
  • Boot Up NumLock Status: para los que prefieran arrancar con el teclado numérico configurado como cursores en vez de cómo números.
  • IDE HDD Block Mode: un tipo de transferencia “por bloques” de la información del disco duro. Casi todos los discos duros de 100 MB en adelante lo soportan.
  • Gate A20 Option: un tecnicismo de la RAM; mejor conectado.
  • Above 1 MB Memory Test: por si queremos que verifique sólo el primer MB de RAM o toda (above = “por encima de”). Lo primero es más rápido pero menos seguro, evidentemente, aunque si no ha fallado nunca ¿por qué debería hacerlo ahora?
  • Memory Parity Check: verifica el bit de paridad de la memoria RAM. Sólo debe usarse si la RAM es con paridad, lo que en la actualidad es muy raro, tanto en FPM como EDO o SDRAM. Las únicas memorias con paridad suelen estar en 486s o Pentium de marca, como algunos IBM.
  • Typematic Rate: para fijar el número de caracteres por segundo que aparecen cuando pulsamos una tecla durante unos instantes sin soltarla. Sólo útil para maniáticos; alguna vez se dice que está para discapacitados, pero me temo que su utilidad en ese sentido es desgraciadamente muy escasa.
  • Numeric Processor: para indicar al ordenador que existe un coprocesador matemático. Puesto que desde la aparición del 486 DX esto se da por supuesto, está en proceso de extinción.
  • Security Option: aunque a veces viene en otro menú, esta opción permite elegir si queremos usar una contraseña o password cada vez que arranquemos el equipo (System), sólo para modificar la BIOS (Setup o BIOS) o bien nunca (Disabled).
  • IDE Second Channel Option: indica si vamos a usar o no el segundo canal IDE (sólo en controladoras EIDE, claro), en cuyo caso le reserva una IRQ, generalmente la 15.
  • PCI/VGA Palette Snoop: esto es demasiado complejo y arriesgado para atreverme a liarle, aunque si quiere una respuesta le diré que se suele utilizar cuando tenemos dos tarjetas de vídeo (o una tarjeta añadida sintonizadora de televisión) y los colores no aparecen correctamente. Remítase al manual de su tarjeta gráfica para ver si debe habilitarlo.
  • Video Bios ROM Shadow: si se habilita, copiará la BIOS de la tarjeta gráfica desde la lenta ROM en la que está a la rápida RAM del sistema, lo que acelera el rendimiento. Suele estar habilitada sin dar problemas, salvo quizá en Linux.
  • (Adaptor) ROM Shadow: lo mismo pero para otras zonas de la BIOS. En este caso se suelen deshabilitar, para evitar problemas innecesarios, aunque puede probar y ver si aumenta la velocidad.
  • Auto Configuration: pues eso, configuración automática; la tabla de salvación cuando no se consigue hacer a mano. Los valores que da tras una primera autoconfiguración pueden ser válidos como punto de partida, así que como siempre, apúntelos antes de modificarlos.
  • ISA Bus Clock: la velocidad del bus ISA, que en teoría debe ser unos 8 MHz. A veces se introduce como una cifra en MHz y otras veces en función del bus del sistema (el PCLK), por ejemplo como 1/3 cuando éste es a 33 MHz, como en los 386 y 486 a 33 MHz o 486 a 66 y 100 (que van a 33 externamente). Cuanto más rápido sea el bus, mejor, pero no se pase: 10 ó 12 MHz ya está bien, más puede ser arriesgado y se supone que las tarjetas ISA no están preparadas para nada por encima de 8.
  • Velocidad de la RAM: en esto existen múltiples formas de proceder. Evidentemente, cuanto mayor le indiquemos que es la velocidad de la RAM más rápido irá el sistema, pero en muchas ocasiones la RAM no es tan rápida o de calidad como sería deseable y la estabilidad del sistema se resiente, sobre todo al cargarlo de trabajo. Los valores que indican esta velocidad son los ciclos de acceso a RAM, los ciclos de espera (Clock Cycles o, a veces, Wait States) que el rápido microprocesador concede a la lenta RAM antes de mandarle o leer de ella la información.
    En casi todas las BIOS existen opciones para configurar automáticamente estos valores; en algunas BIOS basta con introducir la velocidad en nanosegundos de la memoria, así como su tipo (normal -FPM-, EDO o SDRAM); en otras se debe poner la cifra más baja en ciclos. Por ejemplo, una ráfaga habitual en lectura (Read) puede ser 7-3-3-3, y se suele solicitar ese 3 como valor de DRAM Read Timing o DRAM Read Wait State (o Write para escritura). Para EDO o FPM rápida ese 3 puede ser un 2 y para SDRAM suele ser un 1. El 7 puede ser menor, incluso un 5 si tenemos un buen chipset y memoria rápida. Otras veces se indica la velocidad de la memoria simplemente describiéndola como Slowest, Slower, Faster y Fastest, de menos a más rápida.
    Así que mire los valores por defecto y vaya subiéndolos (o bajándolos, si son ciclos de espera) de uno en uno, tras lo cual reinicie y observe el rendimiento y la estabilidad del ordenador. Pruebe con Windows 9x, NT o similar, así como con algún juego exigente (mismamente Quake), no con el viejo DOS, que lo soporta casi todo. En cuanto note inestabilidad, vuelva al valor anterior y ya está.
  • Ajustes de la caché: similares a los de la RAM. Algunos consisten en modificar los tiempos de acceso, otros en modificar la forma de acceder a la caché. De cualquier forma, esto depende enteramente de las capacidades de la caché misma, así que juegue poco con estos valores. Para los arriesgados o curiosos, el modo Write Back es mejor que el Write Thru (o Through), aunque no puede usarse siempre.
  • Vídeo y System Cacheable (Shadow): como se comentó en el apartado de opciones de la BIOS, copiar la BIOS de la tarjeta de vídeo o del sistema de la lenta ROM a la rápida RAM o, en este caso, usar la caché para lo mismo. Se supone que debería aumentar el rendimiento, pero puede dar problemas con sistemas operativos de 32 bits modernos.
  • Manejo de dispositivos: hoy en día los chipsets deben manejar las controladoras de dispositivos tales como discos duros, puertos serie, etc., que suelen estar incorporadas a la placa base. No lo explicaremos por ahora, puesto que muchas veces existe un menú dedicado en exclusiva a este apartado, denominado generalmente Integrated Peripherals.
  • Configuración por software de la CPU: en la actualidad, bastantes placas base han dejado de lado el método clásico para configurar la CPU y han optado por soluciones jumperless (literalmente, “sin jumpers”), autodetectando los valores correctos de velocidad de bus, multiplicador y voltaje y/o permitiendo que el usuario los seleccione mediante un sencillo menú en la BIOS.
  • Power Management: literalmente, administración de energía. Es donde se selecciona si queremos habilitar el ahorro de energía y de qué forma; generalmente se ofrecen Disable (deshabilitado), User define (definido por el usuario) y algunas opciones predeterminadas para un ahorro mínimo o máximo.
  • PM Control by APM: una opción muy importante; determina si el control de energía deberá hacerse según el estándar APM (Advanced Power Management, administración avanzada de energía), lo que entre otras cosas permite que Windows sea capaz de suspender el equipo a voluntad o, si utilizamos una fuente ATX, que el sistema efectivamente se apague al pulsar “Apagar el sistema” en el menú Inicio.
  • Video Off Method: ofrece diversas opciones para reducir el consumo del sistema de vídeo, de las cuales la más interesante es DPMS, aunque no todos los monitores y tarjetas gráficas la soportan; lea el manual de estos aparatos para estar seguro, aunque si son modernos y de cierta calidad es muy probable que la incorporen. La opción Blank Screen es simplemente un salvapantallas negro, lo que puede ser útil en DOS.
  • PM Timers: para controlar el tiempo que debe permanecer inactivo el ordenador (System) o el disco duro (HDD) antes de que se active el ahorro de energía. Existen 3 grados de ahorro de energía:
  • Doze: reduce la velocidad de la CPU (el microprocesador).
  • Standby: reduce la actividad de todo el ordenador.
  • Suspend: reduce al mínimo la actividad del ordenador; sólo debe utilizarse con CPUs tipo SL, como son la mayoría de los 486 rápidos y superiores.
  • PM Events: una larga serie de eventos o sucesos que deben ser controlados para saber si el ordenador está inactivo o trabajando. Es habitual no controlar (Disable) la actividad de la IRQ8 (reloj de la BIOS), ya que rara vez se la puede considerar como totalmente inactiva.
  • CPU Fan Off in Suspend: si el ventilador de la CPU va conectado a la placa base, lo apaga cuando el equipo está en suspenso, ya que en ese momento la CPU está prácticamente parada.
  • Modem Wake Up: activa el equipo cuando se detecta una llamada entrante en el módem. Necesita que el módem soporte esta característica y que esté conectado a la placa base mediante un cable especial.
  • LAN Wake Up: igual que la anterior, pero para la tarjeta de red. También necesita estar conectado a la placa base mediante un cable.

Configuración de PNP y slots PCI

  • PNP OS Installed: informa al sistema de si hay un sistema operativo PNP instalado, es decir, uno que soporta Plug&Play, como Windows 95, en cuyo caso pasa a éste el control de los dispositivos PNP.
  • Resources Controlled by: recursos controlados bien manual, bien automáticamente. Es indiferente una u otra opción… siempre que no haya problemas, claro.
  • IRQx/DMAx assigned to: una lista de las interrupciones (IRQs) y canales DMA que podemos asignar manualmente, bien a tarjetas PCI/ISA PnP (compatibles con PNP), bien a tarjetas Legacy ISA (tarjetas ISA no PNP, que son las más conflictivas). Necesitaremos conocer los valores de IRQ y/o DMA a reservar, que vendrán en la documentación del dispositivo problemático.
  • PCI IDE IRQ Map to: algo que muy probablemente no necesite cambiar nunca, ya que sólo afecta a controladoras IDE no integradas en la placa base, sino en forma de tarjeta, que no sean PNP.
  • Assign IRQ to USB: pues eso, si el puerto USB debe tener una interrupción asignada o no. Si no tiene ningún dispositivo USB conectado, puede liberar esa IRQ para otros usos; suele ser la misma interrupción que para uno de los slots PCI o ISA
  • Autodetección de discos duros IDE: Esta opción permite detectar los discos duros que están conectados al sistema, así como su configuración. Resulta muy útil para simplificar la tarea de instalar un disco nuevo, así como cuando los datos del disco no están completos o no parecen funcionar en nuestra BIOS.
  • Control por password: Es decir, por una clave de acceso en forma de palabra secreta que sólo conozca usted. Tenga en cuenta que si la olvida se verá en graves problemas, hasta el punto de tener que borrar toda la BIOS para poder volver a usar el ordenador, así que apúntela en algún lugar seguro.
  • HDD Low Level Format. Se trata de un formateo mucho más intenso que el normal; no sólo elimina los datos, sino que reorganiza la propia estructura del disco. Generalmente sólo debe usarse cuando el disco está fallando muy a menudo o ha sido infectado por un virus tremendamente resistente, y aun así no resulta recomendable.

Autoconfiguración de la BIOS

Este apartado comprende diversas opciones que se proporcionan para facilitar la configuración de la BIOS, de las cuales las más comunes son:

  • LOAD BIOS DEFAULTS: carga una serie de valores por defecto con poca o nula optimización, generalmente útiles para volver a una posición de partida segura y resolver problemas observados al arrancar.
  • LOAD SYSTEM DEFAULTS: una opción cuyos efectos varían de unas BIOS a otras. En unos casos carga unos valores por defecto seguros (como LOAD BIOS DEFAULTS), en otros carga unos valores ya optimizados para conseguir un rendimiento adecuado, o incluso puede servir para cargar la última serie de valores guardados por el usuario.
  • LOAD TURBO DEFAULTS: carga los valores que estima óptimos para incrementar el rendimiento.

En conclusión la bios es un  componente lógico que contiene todo tipo de instrucciones modificables y no modificables que nos permiten administrar rápidamente y fácilmente las configuraciones presentes en el computador.

Referencias:

http://www.monografias.com/trabajos37/la-bios/la-bios.shtml