domingo, septiembre 25, 2011

El juego de la vida de Conway (parte 2):


En la parte 1 de este tema, comentaba que Alan Turing siguiendo su propia intuición descubrió y demostró matemáticamente la AUTOORGANIZACIÓN.

Posiblemente las células de los seres vivos evolucionen de forma similar. No tienen una comunicación clara con el resto de células, y tampoco hay nada que controle todas la células, pero cada una de ellas termina teniendo una función diferenciada.

Turing abrió el camino, pero luego otros se dedicaron a "diseñar" sus propios "autómatas celulares". En 1970 John Horton Conway publicó su autómata en Scientific American en la sección dedicada a juegos matemáticos.

Hoy en día es el autómata celular más conocido y se llama "JUEGO DE LA VIDA". Las reglas son muy sencillas:

Es un juego en el que tenemos un tablero dónde inicialmente colocamos una serie de células vivas.

Generación a generación las células del tablero irán naciendo o muriendo siguiente estas reglas:

1.-Si una célula viva tiene a su alrededor menos de 2 células vivas se muere por "soledad".
2.-Si una célula viva tiene a su alrededor más de 3 células vivas se muere por "superpoblación".
3.-En una celda que esté rodeada por exactamente 3 células vivas surgirá vida en forma de una célula viva.

Este es el programa que he hecho en VB.NET.

Muestra un tablero de 20 x 20, dónde podemos marcar las celdas con células vivas.
Hay tres botones:
  1. Haciendo clic en "Una hora más" aplicamos las reglas para pasar a ver cómo queda la siguiente generación de células.
  2. Pinchando "Lanzar hasta el final" vemos como evolucionan las células hasta el infinito.
  3. Para terminar la simulación clic en "FIN".
En el próximo post publicaré en algún sitio el ejecutable (se aceptan sugerencias), y algunas de las figuras más conocidas que se crean, y que reciben un nombre que describe su comportamiento.

El código fuente:




Option Explicit On
Option Strict On

Imports System.Drawing.Drawing2D
Imports System.Math 'para truncate()
Imports System.Threading.Thread 'para usar sleep()

Public Class Form1

Dim oPen As Pen
Dim oGrafico As Graphics
Dim cuadro(20, 20) As Boolean

Private Sub Form1_Load(ByVal sender As System.Object, _
ByVal e As System.EventArgs) Handles MyBase.Load
Me.BackColor = Color.Gray
Dim i, j As Integer
For i = 1 To 20
For j = 1 To 20
cuadro(i, j) = False
Next
Next
End Sub

Private Sub Form1_MouseClick(ByVal sender As Object, ByVal e As System.Windows.Forms.MouseEventArgs) Handles Me.MouseClick
Dim punto As Point
Dim cuadroX As Integer
Dim cuadroY As Integer
If e.Location.X > 30 And e.Location.X < 630 And e.Location.Y > 30 And e.Location.Y < 630 Then
cuadroX = CInt(Truncate(e.Location.X / 30))
cuadroY = CInt(Truncate(e.Location.Y / 30))
cuadro(cuadroX, cuadroY) = True
punto.X = cuadroX * 30
punto.Y = cuadroY * 30
'Dibujamos un círculo negro...
oGrafico.FillEllipse(New SolidBrush(Color.Black), New Rectangle(punto, New Size(30, 30)))
End If
End Sub
Private Sub Form1_Paint(ByVal sender As Object, ByVal e As System.Windows.Forms.PaintEventArgs) Handles Me.Paint

Dim x, y As Integer
oGrafico = Me.CreateGraphics
oPen = New Pen(Color.White, 1)

For x = 1 To 21
'Ponemos 21 columnas:
Dim pt1 As New Point(30 * x, 30)
Dim pt2 As New Point(30 * x, 630)
oGrafico.DrawLine(oPen, pt1, pt2)

Next
For y = 1 To 21
'Ponemos 21 filas:
Dim pt1 As New Point(30, 30 * y)
Dim pt2 As New Point(630, 30 * y)
oGrafico.DrawLine(oPen, pt1, pt2)
Next
dibujarCelulas()
End Sub

Private Sub btnUnaHoraMas_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnUnaHoraMas.Click
nuevaGeneracion()
End Sub

Private Sub btnLanzarHastaElFinal_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnLanzarHastaElFinal.Click
Timer1.Enabled = True
End Sub

Private Sub nuevaGeneracion()
Dim i, j, numVecinos As Integer
Dim cuadroNuevo(20, 20) As Boolean
For i = 1 To 20
For j = 1 To 20
cuadroNuevo(i, j) = cuadro(i, j)
numVecinos = vecinos(i, j)
If cuadro(i, j) Then 'si la célula está viva...
If numVecinos <> 2 And numVecinos <> 3 Then
cuadroNuevo(i, j) = False
End If
Else 'si la célula está muerta...
If numVecinos = 3 Then cuadroNuevo(i, j) = True
End If
Next
Next
cuadro = cuadroNuevo
dibujarCelulas()
End Sub

Private Sub dibujarCelulas()
Dim punto As Point
'dibujar la nueva situación:
For i = 1 To 20
For j = 1 To 20
punto.X = i * 30
punto.Y = j * 30
If cuadro(i, j) Then
'Dibujamos círculo negro
oGrafico.FillEllipse(New SolidBrush(Color.Black), New Rectangle(punto, New Size(30, 30)))
Else 'Dibujamos círculo gris que es como borra ya que el fondo es gris.
oGrafico.FillEllipse(New SolidBrush(Color.Gray), New Rectangle(punto, New Size(30, 30)))
End If
Next
Next
End Sub

Private Function vecinos(ByVal i As Integer, ByVal j As Integer) As Integer
Dim numero As Integer = 0
If i > 1 And j > 1 Then
If cuadro(i - 1, j - 1) Then numero = numero + 1
End If
If i > 1 Then
If cuadro(i - 1, j) Then numero = numero + 1
End If
If i > 1 And j < 20 Then
If cuadro(i - 1, j + 1) Then numero = numero + 1
End If
If j > 1 Then
If cuadro(i, j - 1) Then numero = numero + 1
End If
If j < 20 Then
If cuadro(i, j + 1) Then numero = numero + 1
End If
If i < 20 And j > 1 Then
If cuadro(i + 1, j - 1) Then numero = numero + 1
End If
If i < 20 Then
If cuadro(i + 1, j) Then numero = numero + 1
End If
If i < 20 And j < 20 Then
If cuadro(i + 1, j + 1) Then numero = numero + 1
End If
Return numero
End Function

Private Sub btnFin_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnFin.Click
Timer1.Enabled = False
Application.Exit()
End Sub

Private Sub Timer1_Tick(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Timer1.Tick
nuevaGeneracion()
End Sub
End Class

miércoles, septiembre 21, 2011

Cómo surge la vida? Qué tiene que ver con la matemática/informática esto? Parte 1






Bueno, empezamos una serie de posts algo filosóficos, algo matemáticos, algo informáticos, algo místicos. Cada uno que reflexione y decida por sí mismo.


Me gusta decir que Alan Turing fue el primer informático. Desde luego es uno de los más grandes matemáticos, y el teórico más importante en la creación del computador moderno. Aunque la gente no lo sepa fue además un gran corredor de larga distancia.



El caso es que, antes de morir en extrañas circunstancias (envenenado al comer una manzana), hizo un trabajo inédito que tenía mucho que ver con un misterio de la biología (todavía hoy en día sigue en estudio), y consiguió probar matemáticamente lo que intuitivamente parece imposible.



Echarle un vistazo al reportaje de la BBC (La vida secreta del caos), que merece la pena (más teniendo en cuenta lo mal que está la TV hoy en día). Arriba he puesto la parte 1 de 7 que es la que se centra en el trabajo de Turing.



Más o menos recuerdo esto (el video lo vi en vacaciones):



Hay una célula. La célula se divide en dos células iguales. Es la multiplicación celular. El proceso sigue y sigue, hasta que las células van agrupándose según la función que van a desempeñar (se especializan). De esa especialización surgirán los órganos.



Ahora bien, si las células son exactamente iguales, ¿cómo es posible que sepan cómo agruparse, y cual es su "misión"?. En principio no hay comunicación entre ellas y no hay un ente central que las maneje.



Turing en su estudio explica como funciona la Autoorganización, y es curioso que tenga que ser un informático el que inicio el camino para aclarar este misterio.



En cuanto tenga un par de horas programamos el más famoso de los autómatas celulares, pero se disfruta más sabiendo el origen de todo esto, así que si tienes unos minutos echa un vistazo al documental.



Saludos.

martes, septiembre 13, 2011

Microsoft, parte 4. El nacimiento de un imperio


Parte 1: Los inicios de Bill Gates.

Resumen de la parte 3: Microsoft contrata a buenos programadores, hace dinero con BASIC y piensa en FORTRAN como forma de crecer. Vuelta a Seattle.

En julio de 1979, Microsoft contrata un Director de Marketing (Steve Smith) mucho mayor que Bill Gates (Bill tenía 23 y Steve 34). Querían dar imagen de seriedad.

IBM estaba invirtiendo mucho dinero en crear un minicomputadora. No querían ser una más. Querían hacer la mejor de todas. Decidieron contratar la programación de un sistema operativo para los PC-s (Personal Computer) que iban a lanzar en 1981.

Como hemos visto, Microsoft se había iniciado con BASIC y estaba probando suerte con FORTRAN. Cada fabricante tenía su propio sistema y eso suponía que el interprete fuera diferente en cada máquina.

Cada vez que visitaban un cliente para venderle el BASIC le recomendaban que hablaran con un antiguo amigo de Gates de la época de la compañía "Computer Center Corporation" (ver parte 1, los inicios de Bill Gates).

Ese amigo recomendado era Gary Kildall que había desarrollado un sistema operativo llamado CP/M. La empresa de Kildall era Digital Research y merece también una entrada en la historia de la informática, pero esto será en otro momento.

Si los clientes de Microsoft adoptaran ese sistema operativo común, facilitaría el trabajo de Microsoft. Por reciprocidad Gary debía recomendar el BASIC de Microsoft.

El caso es que IBM decide incorporar el lenguaje BASIC de Microsoft y sus aplicaciones derivadas. Además de ello IBM quiere que desarrollen COBOL, FORTRAN y PASCAL.

El septiembre de 1980, Bill le dice a IBM que para que funcionen el resto de lenguajes debería hablar con Kildall para incorporar su Sistema Operativo.

ESTA PARTE DE LA HISTORIA ES MUY CONFUSA E INTERPRETABLE:

El máximo negociador de IBM, Jack Sams, según dijo él mismo, fue a la cita con Kildall pero no estaba. En otros sitios he leído que el matrimonio Kildall (la mujer de Gary también era de la empresa) no aceptó las claúsulas de confidencialidad y por eso no fueron. Una interpretación mía (sin ninguna base por cierto, pero la más lógica), es que tal vez la confidencialidad suponía que no supieran con quien iban a reunirse, y que por ese motivo decidieron no ir a la cita.

El caso es que IBM volvió a contactar con Microsoft. Microsoft tenía miedo de no poder cumplir en la implementación de todos esos lenguajes, y al final IBM, después de algunas reuniones, le encargó el desarrollo del sistema operativo a Microsoft.

Bill Gates se comprometió a proporcionar el S.O. en un año, pero empezaba de cero y era mucho trabajo. Se enteró de que Tim Paterson de la empresa Seattle Computer Products tenía un sistema operativo que llamaba 86-QDOS (Quick and Dirty Operating System). Bill Gates compró los derechos de uso del QDOS por 25.000 dólares. Antes del contrato con IBM adquirieron los derechos exclusivos por 50.000 dólares (esto me recuerda la película el ROBOBO DE LA JOJOYA).

En las negociaciones entre Microsoft e IBM, Microsoft se comprometió al desarrollo del BASIC, FORTRAN, COBOL y PASCAL, y para ello les ofrecía su sistema operativo.

IBM se comprometió a abonar un porcentaje a Microsoft incluyera o no su sistema operativo.

Luego ocurrió que el PC de IBM se desarrollo en la mayor parte por componentes de otros fabricantes (menos la BIOS que era propiedad exclusiva de IBM). Otros fabricantes empezaron a fabricar su computadoras compatibles sin tener que pagar nada a IBM.

En cuanto al software (sistema operativo, interpretes, etc.) eran propiedad de Microsoft que se hizo de oro vendiendo su MS/DOS a todos los fabricantes.

En 1980 IBM tenía 340.000 empleados y beneficios de 3.600.000.000 dólares.
Microsoft tenía 32 empleados.

Microsoft empezó en ese momento a hacer desarrollos propios para el PC. En la primavera de 1983 lanza Microsoft Word (entonces Multi-tool Word), pero esto es otra historia.

Saludos.

viernes, septiembre 09, 2011

Microsoft, parte 3. Trabajo a todo ritmo


Parte 1: Los inicios de Bill Gates.

Resumen de la parte 2: Microsoft desarrolla un interprete BASIC para un minicomputador (ALTAIR), y espera poder hacerlo para el resto del mercado a medida que surjan otros fabricantes.

Enseguida vieron que los aficionados al BASIC copiaban el programa. Hubo algunas entrevistas a Gates en las que se quejaba del "robo" del trabajo de Microsoft. Decía que estas copias ilegales afectarían a su trabajo impidiendo hacer software nuevo. Bill Gates cogió mala fama.

El grupo de desarrollo formado por Allen, Bill y otros se denominó Mikrokids. Trabajaban en Albuquerque menos Bill que seguía en Harvard. En 1976 se incorpora Marc McDonald al que conocían de la etapa del colegio de Lakeside.

Hicieron grandes clientes como el "National Cash Register Company" y "General Electrics".

Allen dejó el trabajo en MITS y empezó a trabajar en Microsoft a tiempo completo. Se incorporaron programadores muy conocidos como Albert Chu y Steve Woods para desarrollar FORTRAN. Bill y Allen pensaban que la programación derivaría hacia este lenguaje.

Así las cosas, Microsoft abrío su primera oficina cerca del aeropuerto de Albuquerque.

En 1977 Bill Gates deja definitivamente la Universidad. Veía que aquello iba a despuntar en los siguientes años.

Ese mismo año Commodore lanza el PET, Tandy el TRS-80 y Apple el AppleII. Necesitaban un lenguaje comun y Microsoft lo podía proporcionar, pero todavía tenían un contrato con MITS.

El propietario de MITS vende la compañía a la empresa Pertec, y los abogados de Pertec comunican a Bill Gates que no van a seguir comercializando BASIC y que tampoco pueden vendérselo a los que son competencia suya.

Los tribunales dieron la razón a Microsoft y de esta forma ya podían vendérselo a quien quisieran. No tenían ninguna competencia y venían versiones de BASIC por 50.000 dólares de la época. Sus clientes eran Commodore, Apple, Radio Shack, NCR, General Electric, Texas Instruments, Intel, etc. etc.

Se dice que trabajaban muchísimas horas, que incluso Bill se quedaba a veces a dormir en la oficina. El ambiente de trabajo era informal para los tiempos que eran. Nada de trajes, todo ropa cómoda, despachos decorados,...

A finales de 1978 la empresa ganaba dinero. Tenían 13 empleados y habían ganado un millón de dólares. Decidieron volver a Seattle y la mayoría de los empleados fueron con ellos.

No todo era perfecto. Al parecer Bill tenía un trato duro con los programadores. Les increpaba para que trabajaran más y más. Les decía que él lo haría mejor y más rápido...

La compañía creía, y Bill tampoco apreciaba a las secretarias que en su opinión no tenían conocimientos técnicos.

Luego tuvo problemas con el personal que le pedía el pago de las horas extra. Le denunciaron y tuvo que pagarlas. Es después de estos líos cuando llama a su amigo de Harvard, Steve Ballmer, para que le ayude en la dirección de Microsoft.

Se contrataba a gente joven de unas 20 universidades conocidas, y con buenas notas. No pagaban demasiado pero el ambiente era muy adecuado para la programación (horarios flexibles, horario nocturno para el que quisiera, ropa informal, etc. etc.). Los empleados también tenían opciones de compra de acciones.

Bueno, y mañana a ver si explico ya cómo le robaron la tostada a IBM.

Saludos.

miércoles, septiembre 07, 2011

Microsoft, parte 2. El nacimiento de Microsoft



Según dicen, Bill Gates metía todas las horas que podía en el centro de cálculo. Steve Ballmer debía ser parecido.

En noviembre de 1974 Paul Allen va a Harvard de visita. Había leído el último número de la revista "Popular Electronics" y en la portada aparecía un Altair 8800. Según Allen podía ser una computadora que todo el mundo podría utilizar. Le dijo a Bill (con 19 años) que esta máquina debería ofrecer un lenguaje sencillo como BASIC.

Bill y Allen ofrecieron al fabricante del Altair (MITS) desarrollar BASIC para su hardware, y se lo enseñaron en 8 semanas.

Los dos crearon Microsoft y firmaron su primer contrato con MITS. El objetivo era desarrollar el BASIC para las demás minicomputadoras que surgieran en el mercado.

Claro que Bill Gates tenía un gran asesor en casa (su padre), y ya había aprendido de sus experiencias anteriores. Eso hizo que se asegurara de que a pesar de vender los derechos de uso del BASIC a MITS, mantuviera la propiedad sobre el lenguaje.

Allen se desplazó a Albuquerque como Director de software de MITS.

Saludos.

viernes, septiembre 02, 2011

Microsoft, parte 1. Los inicios de Bill Gates


En la foto Bill Gates (nacido en 1955) y Paul Allen (del 1953). Bill es el que está de pie. Allen tiene dos años más que Bill. La foto es de 1970 en el colegio Lakeside. Allen está utilizando una consola de teletipo.

Normalmente, la gente cree que Bill Gates empezó en un mundo como el nuestro, y como la mayoría de nosotros. Vamos, pensamos que pertenecía a una familia de clase media y que las computadoras estaban extendidas. Por lo que he podido leer la familia de Bill en la época era de clase media-alta, y con gran influencia en su Seattle natal. Respecto a las computadoras, en la década de los 60 eran un bien valioso y de utilización limitada incluso para Bill Gates.


La familia de Bill


Hay gente que se ha molestado en obtener el árbol genealógico de Bill Gates. Lo podemos ver aquí. El autor ya dice que es un borrador, pero de lo que no hay duda, porque coincide con todas las fuentes, es que su bisabuelo era James Willard Maxwell (senior) un rico banquero, fundador del National City bank de Seattle en 1906. El hijo de este banquero fue James Willard Maxwell (junior), abuelo de Bill Gates por parte de su madre, y también banquero.


La madre de Bill Gates se llamaba Mary Maxwell (hija del banquero), y es muy importantes en esta historia. Fue muy importante para el imperio Microsoft, según se publicó en su obituario el 11 de Junio de 1994 en el New York Times: "Mary Maxwell ayudó a su hijo a crear Microsoft".


Los padres de Bill, Mary y William H. Gates (senior) eran dos figuras muy importantes en Seattle. Ella profesora en la Universidad de Washington y él un conocido abogado. Mary formó parte de varias ONG-s y por ejemplo fue la primera Presidenta de una ONG denominada "National United Way".


Y ahora empiezan las casualidades, porque mira por donde que el CEO de IBM, John Opel también pertenecía a esa organización que presidía la madre de Bill Gates.


Volvamos un poco atrás en el tiempo:


La adolescencia de Bill Gates y las computadoras:


Bill Gates y Paul Allen se conocieron en "Lakeside school". En su web podemos ver cosas tan curiosas como que hay un profesor por cada nueve alumnos, imaginaros lo que tiene que costar esto.


En 1968 el colegio con la ayuda económica de la asociación de padres, alquila un DEC PDP-10 (minicomputadora de última generación cuya primera unidad se vendió en 1966), a General Electric. Estas minicomputadoras se pagaban por uso. Lógicamente hubo chavales que en seguida se engancharon a la máquina (Bill Gates, Paul Allen y Kent Evans por ejemplo) y en pocos meses gastaron el dinero que tenían para todo el año, quedándose sin minicomputadora.


El caso es que con 14 años, Bill programaba el Tik-Tak-Toe (el tres en raya) con BASIC en un host que valía entonces varios miles de dólares.


Bill Gates el hacker:


El libro de David Marshall nos cuenta algunas anécdotas como estas:


Una empresa llamada "Computer Centre Corporation" ofreció al colegio la posibilidad de utilizar su PDP. Se contabilizaba el tiempo de uso y en función de ello se facturaba al colegio. Bill y un par de amigos encontraron la forma de aminorar la cuenta reduciendo la factura. El caso es que la empresa se dio cuenta y tras informar al colegio fueron castigados con seis semanas sin computadora. Vaya con Bill, ¡un hacker!


Bill Gates, el implacable joven de los negocios:


En 1970 la empresa "Computer Centre Corporation" quebró, y Bill y Kent Evans compraron algunas cintas de la misma. ¡Con 15 años ya pensando en negocios! Allen se enteró y se enfadó mucho, llegando a coger aquellas cintas. Bill le amenazó con denunciarle en los tribunales.


Bill Gates, el programador:


En 1971 una empresa llamada "Information Science, Inc." solicita al grupo de programadores del colegio que desarrolle un programa de nóminas. Ante las dificultades que tenían pidieron a Bill que se incorporara, haciendo un buen trabajo (siempre según David Marshall). Como pago a este trabajo consiguieron tiempo de proceso en otra computadora (en el libro no se detalla cual). El padre de Bill (el abogado) les ayudó a cumplir los trámites legales y se convirtió en su consejero jurídico.


Bill y Allen ganando dinero con la programación:


Luego a Bill y Allen se les ocurrió un programa para facilitar la lectura de los registro de pasos de vehículos en el tráfico de la ciudad. En aquella época (y ahora creo que también), se ponían unos tubitos de goma en las calles de grandes y pequeñas ciudades. Esas lecturas se recogían marcando papel continuo. Bill y Allen programaron un programa llamado Traf-O-Data con el que ganaron dinero.


Siguiendo el interés por los negocios Kent Evans y Bill Gates crean "Logic Simulation Company".


En mayo de 1972 el consejo escolar pide a Gates y Evans que hagan un programa para planificar las horas lectivas. Kent Evans falleció en esta época por un accidente en la montaña, causando una gran conmoción.


Con 17 años va a Harvard y se da cuenta de que no tan bueno en matemáticas como programando, por lo que pierde interés. Allí conocerá a Steve Ballmer.


Continuará...

viernes, agosto 26, 2011

30 aniversario del IBM PC

Imagen recogida de Wikipedia.

Actualizado el 30 de Agosto de 2011.


El 12 de agosto fue el 30 aniversario del IBM PC. En la prensa escrita ha pasado desapercibido (salvo en el diario Gara dónde lo leí yo).


En Internet hay múltiples referencias al aniversario. Algunos hacen referencia a la próxima muerte del PC (realmente el IBM PC hace tiempo que dejó de ser utilizado salvo por nostálgicos, y IBM vendió su sección de informática personal a LENOVO en 2005).


PC hacía referencia a PERSONAL COMPUTER en un inicio, pero luego, debido en mi opinión a ciertos errores, a IBM se le escaparon los PC-s de la mano:


1.-Utilizaron un microprocesador de otro fabricante (INTEL). La única propiedad de IBM era la BIOS (Basic Input Output System). IBM pensaría cobrar royalties por ello, pero por técnicas de ingeniería inversa, el resto de fabricantes no tardaron en fabricar sus propios PC-s que ahora significarían PERSONAL COMPATIBLE (esto de PERSONAL COMPATIBLE es de las primeras cosas que aprendí en informática y puede que sea una interpretación de las siglas que no estuviera demasiado extendida. Creo que otros lo identifican con las siglas de PC COMPATIBLE).


Esto puede que no fuera un error. En un post del 2008, hablando sobre MONOPOLIOS, expliqué que en 1969 se empieza un juicio por monopolio contra IBM que no terminará hasta 1983. Es probable que ahí esté el motivo de la utilización de una arquitectura abierta. No podían echar más leña al fuego con un sistema totalmente propietario en cuanto al hardware y al software.


2.-EL SEGUNDO GRAN ERROR DE IBM:

Aquí empieza la historia de Bill Gates y Microsoft. En un principio iba a ponerlo en este mismo post, pero es demasiado extenso. Lo escribiré en los siguientes post.

Saludos.

miércoles, agosto 24, 2011

Agotadas las tabletas de HP



Noticia en la edición digital de El Mundo.


Se conoce que ante el anuncio de HP de hace unos días, se han puesto a precio de saldo.


Pone que se han agotado, pero seguro que todavía quedan en algún sitio.


Saludos.


sábado, agosto 20, 2011

HP se deshace de los PC-s?

Actualizado el 21/08/2011 con las fuentes oficiales de HP y un pequeño resumen de las mismas.

Esta fue la primera "fábrica" de Hewlett Packard en Palo Alto (California):
Fuente: Wikipedia.






Leí ayer la noticia en elpaís.com (aquí), dónde se aseguran cosas que se han adelantado por parte de HP, pero que no se ha concretado todavía.


El caso es que mientras otros como Google compran hardware, HP está decidiendo qué hacer con los PC-s.


Hagamos primero una pequeña corrección al artículo de "El País":


Todavía no estamos en la era post-PC como aseguran. Esto es evidente. Yo también tengo un iPad, pero estoy seguro que en su redacción sigue habiendo ordenadores de sobremesa en los puestos de trabajo. No digo que no esté cerca, pero lo que no es, no es.


Por lo demás el resto del artículo está muy bien. Merece la pena leerlo.


Falta tal vez una referencia a la historía que convirtió a HP en el primer fabricante de PC-s:


Compaq había adquirido DEC (Digital Equipment Corporation) en 1998.


En el 2002, HP compró la gran Compaq por 25 billones de dólares.



Además de los servidores compró también la división de portátiles y PC-s de la que ahora se va a desprender (en el mercado se venden todavía como Compaq pero lo marca es propiedad de HP).


Más dudas respecto al futuro cercano:


El sistema operativo WebOS que dice el artículo que lo tiran a la basura (ya veremos), lo desarrolló Palm para sus dispositivos móviles. El caso es que en Abril de 2010 HP compra Palm. ¿Qué va a pasar con WebOS y los dispositivos estos? No lo sabemos.


Por último decir que como suele ser habitual en la prensa profesional, falta alguna referencia a documentación oficial en la que se basa la noticia.

DOCUMENTO 1:



Anuncio de la compra de la empresa de servicios informáticos Autonomy por 6.000 millones de euros por parte de HP: http://www.hp.com/hpinfo/newsroom/press/2011/110818xc.html


DOCUMENTO 2:



Evaluación de nuevas estratégias de HP para la informática personal:
http://h30261.www3.hp.com/phoenix.zhtml?c=71087&p=irol-newsArticle&ID=1598005&highlight=



Aquí resaltaría el párrafo dónde exponen los motivos:



HP is implementing a plan to fundamentally transform the company. An important component of the plan is focusing its investments, resources and management attention to drive higher value solutions to enterprise, small and midsize business and public sector customers.


HP believes that the exploration of alternatives for PSG (Personal Systems Group) will help the company accomplish its strategic goals and pursue profitable growth and enhanced shareholder value. A post-transaction HP would continue to help its customers manage the information explosion and address their most critical needs through a portfolio that spans printing, software, services, servers, storage and networking.


"In March we outlined a strategy for HP, built on cloud, solutions and software to address the changing requirements of our customers, shaped heavily by secular market trends that are redefining how technology is consumed and deployed. Since then, we have observed the acceleration of these market trends, which has led us to evaluate additional steps to transform HP to meet emerging opportunities. We believe the acquisition of Autonomy, combined with the exploration of alternatives for PSG, would allow HP to more effectively compete and better execute its focused strategy."


Yo resaltaría que mencionan la nube (cloud computing) y no el iPad del artículo de ElPaís.


La nube es un concepto más general que puede implementarse de muchísimas formas diferentes, algunas con tableta, y otras muchas más sin ella.


Lo que está claro es que tienen que estar realmente convencidos de que no es bueno para ellos seguir produciendo PC-s.


DOCUMENTO 3:


Resultados de negocio de HP y anuncio de la transformación de la compañía:
http://h30261.www3.hp.com/phoenix.zhtml?c=71087&p=irol-newsArticle&ID=1598003&highlight=




Sobre la transformación de la compañía extraigo:


HP unveiled the details of a plan to accelerate the strategy introduced in March. The plan introduced today will:



  • Move HP into higher value, higher margin growth categories

  • Sharpen HP's focus on its strategic priorities of cloud, solutions and software with an emphasis on enterprise, commercial and government markets

  • Increase investment in innovation to drive differentiation

As part of the transformation, HP announced that its board of directors has authorized the exploration of strategic alternatives for the company's Personal Systems Group. HP will consider a broad range of options that may include, among others, a full or partial separation of PSG from HP through a spin-off or other transaction.


HP will discontinue operations for webOS devices, specifically the TouchPad and webOS phones. The devices have not met internal milestones and financial targets. HP will continue to explore options to optimize the value of webOS software going forward.


En el último párrafo es dónde vemos que se cargan los dispositivos webOS, pero explorarán alternativas para el software webOS, contradiciendo en parte por tanto la afirmación de ElPaís: "elimina el sistema operativo WebOs para tabletas y móviles".


Una curiosidad:


En el artículo se dice que HP "ha sobrevivido al enrevesado nombre de sus creadores Bill Hewlett y David Packard". Bueno, esto da pie a comentar, que para poner el nombre a la compañía, Bill y David echaron una moneda al aire. Ganó Bill y por eso se llamó Hewlett Packard. Si hubiera ganado David habría sido Packard Hewlett.


Saludos.

lunes, agosto 15, 2011

Google compra Motorola



A estas horas la noticia ha dado varias vueltas al mundo.


Google compra Motorola por 12.500 millones de dólares (si las autoridades antimonopolio lo permiten), y eso quiere decir que entra en el negocio del hardware.


No hay que olvidar que es Google quien suministra el sistema operativo para dispositivos móviles Android, y que Motorola ya funcionaba con Android.


Ahora la pregunta es si Google hará como ha hecho ORACLE: Comprar una compañía hardware, y un año más tarde, dejar de desarrollar nuevas bases de datos para hardware de la competencia (de algunos sí, y de otros no).


En la nota de prensa al menos Google comunica que Android seguirá siendo OPEN.


Saludos,


viernes, agosto 12, 2011

La isla del día de antes



Hola amig@s,
Son las 22:07. Estoy de vacaciones en una caravana. Me he traído un libro de Umberto Eco: "La isla del día de antes". Muy interesante.

Página 91: El padre Emanuel dijo que disponíase precisamente a enseñar a sus visitantes su Máquina Aristotélica".

El resto del capítulo (5 páginas) se dedican a la descripción de tal máquina.

El señor Umberto acostumbra a comunicar lo justo y con un lenguaje enrevesado. Me refiero a que no abundan las aclaraciones y que las oraciones que utiliza no tienen como misión principal facilitar la comprensión. Si a esto se le añade que la traducción que leo está en castellano antiguo (o pseudo-antiguo), pues uff!, vamos a intentar entender y explicar cómo funciona la Máquina Aristotélica de Umberto Eco???

Nota: me parece bien que el personaje hable en castellano antiguo teniendo en cuenta que describe un hecho del siglo XVII, pero ¿seguro que hablaban con frases tan artificialmente largas en aquellos tiempos?

Nota2: cuando las palabras no son suficientes se puede meter una ilustración en la novela, que no pasa nada y además Umberto lo ha hecho antes (por lo menos en el péndulo de Foucault).

El texto que describe la máquina dice así:

Conque estaba la base inferior formada por un cajón o alhacena en cuyo frente abríanse como en un tablero de ajedrez ochenta y una gavetas: nueve filas horizontales por nueve verticales, cada fila por sendas dimensiones caracterizada por una letra grabada (B C D E F G H I K).


Nota3: Sí, yo también me he fijado en que falta la J. He buscado la "Letra J" en wikipedia y pone lo siguiente:

Hasta el siglo XVII, muchas de las palabras que en castellano moderno contienen la letra "j" tenían en su lugar la letra "x", pronunciada /ʃ/ (como la "sh" inglesa o la "ch" francesa): así, el Quijote apareció originalmente publicado como Don Quixote y se pronunciaba Don Quishote. Sin embargo, durante ese siglo el sonido evolucionó hacia el de la jota actual, y tras las reformas ortográficas del siglo XVIII se cambió la grafía de la "x" por la de "j". Se han mantenido algunas excepciones, como México, Texas o Axarquía y sus derivados, que se pronuncian como si tuviesen una "j" y que pueden también escribirse como Méjico, Tejas o Ajarquía.


En la repisa de la alhacena levantábase a la izquierda un atril, sobre el que estaba posado un gran libro, manuscrito y con letras capitales de colores. A la derecha del atril había tres rodillos de longitud decreciente y creciente amplitud (siendo el más corto el más capaz, apto para contener los dos más largos), tales que una cigüeña a un lado podía luego por inercia hacerlos girar el uno dentro del otro a velocidades diferentes según el peso.

Cada rodillo llevaba grabadas en el borde izquierdo las mismas nueve letras que contramarcaban los cajones.

Bastaba dar una vuelta de cigüeña para que los rodillos se movieran independientes el uno del otro, y cuando se detenían podíanse leer tríades de letras reunidas por el azar, ya fuere CBD, KFE o BGH."

Esto es lo que yo me imagino:

Yo me imagino los tres rodillos cada uno dentro del otro en posición horizontal.

El más externo es más corto por lo que deja un hueco grande por la izquierda. El del medio también deja hueco pero menos. El que no deja ningún hueco es el que está dentro del todo. Por lo tanto, y ya que las letras las muestran en el extremo izquierdo:




  1. El rodillo interior muestra la primera letra.



  2. El rodillo del medio muestra la segunda.


  3. El rodillo externo muestra la tercera letra.
Es importante que se "movieran independientes el uno del otro". O sea, que los rodillos no están conectados entre sí más que por el cigüeñal que les da impulso y luego se desentiende.

La última frase nos aclara que se ponen en movimiento y se detienen por azar.

O sea que todo este jaleo para un máquina que selecciona tres letras al azar.

Pensaba que tenía un ingenio similar a la máquina enigma... que decepción... por favor, sería mucho más brillante algo así como...



[Umberto Eco mode ON]


Los tres cilindros albergaban en su interior un secreto extraído por el hombre a la naturaleza. Su conocimiento es la base de formas naturales y de la razón humana. Se trata de la razón áurea. Esa era la proporción en la que aumentaba la amplitud y disminuía la longitud.


[Umberto Eco mode OFF]


De esta forma, sería un resultado "azaroso", pero imponiendo cierto límite al azar, lo cual encierra mucha más inteligencia y sería un "ingenio" en sí mismo, mientras que la máquina Aristotélica de Umberto Eco es una mesa de ruleta con tres ruletas.


[Modo informático ON]


Bueno, y ahora viene el desafío.


Hacer un programa que simule la máquina Aristocrática (de Aitoreus, no la de Umberto) que es la que incorpora la razón aurea.


Piensa un poco antes de leer el siguiente párrafo...





Venga, recordad aquellos estudios de física. Sólo hay que trasladar la velocidad angular (que es la misma en los tres cilindros) a velocidad lineal. Luego se calcula el espacio recorrido en cada cilindro ¡y a correr! (tener en cuenta que el tiempo de parada de los cilindros va a ser el mismo). Una vez que tengamos tiempo y velocidad lineal sacamos el espacio recorrido y según ese espacio la letra que saldría en cada cilindro.


[Modo informático OFF]



Saludos.



miércoles, agosto 10, 2011

Tiburón II




Acaban de echar Tiburón II en la TV.


En inglés la película era JAWS II que significa mandíbula, jauces.


Calificación (del 1 al 5): ***


Es la entretenida secuela del clásico de Spielberg. No aporta prácticamente nada nuevo respecto a la anterior por eso le he puesto ***.


El guión resulta más flojo. No hay una gran cacería que sale mal, sino que todo se reduce a que nadie cree al policía hasta que pasa lo que pasa.



Verás buceadores sobre el coral, barquitos veraniegos (veleros y pequeños catamaranes), coches que ahora son clásicos americanos como estos dos:

1.-Una ambulancia GMC - G Series que recoge al submarinista con la embolia:








2.-Un todoterreno GMC Jimmy que lleva el protagonista:




¿La ambulacia os suena de otra cosa, verdad?

Si, esta también es una GMC G series:



Saludos.


martes, agosto 02, 2011

Denuncia admitida contra Oracle II



Nota de prensa de la Comisión Nacional de la Competencia:



¿De qué le acusan? Del Artº 2 de la Ley 15/2007: ABUSO DE POSICIÓN DOMINANTE.


1. Queda prohibida la explotación abusiva por una o varias empresas de su posición de dominio en todo o en parte del mercado nacional.

2. El abuso podrá consistir, en particular, en:

La imposición, de forma directa o indirecta, de precios u otras condiciones comerciales o de servicios no equitativos.

La limitación de la producción, la distribución o el desarrollo técnico en perjuicio injustificado de las empresas o de los consumidores.

La negativa injustificada a satisfacer las demandas de compra de productos o de prestación de servicios.

La aplicación, en las relaciones comerciales o de servicios, de condiciones desiguales para prestaciones equivalentes, que coloque a unos competidores en situación desventajosa frente a otros.

La subordinación de la celebración de contratos a la aceptación de prestaciones suplementarias que, por su naturaleza o con arreglo a los usos de comercio no guarden relación con el objeto de dichos contratos.

3. La prohibición prevista en el presente artículo se aplicará en los casos en los que la posición de dominio en el mercado de una o varias empresas haya sido establecida por disposición legal.

Saludos.

lunes, agosto 01, 2011

Denuncia admitida contra ORACLE


Ya adelantaba el pasado 5 de abril que "Empieza la siguiente guerra informática".

La noticia es que la Comisión Nacional de la Competencia (CNC) ha decidido incoar la denuncia contra ORACLE por posibles prácticas abusivas.

Podéis leer más detalles en el diario económico "cinco días": http://www.cincodias.com/articulo/empresas/cnc-abre-expediente-oracle-posibles-practicas-abusivas/20110730cdscdiemp_2/

Saludos.

jueves, julio 28, 2011

Numeros de Markov

Hola amig@s,
Si os gustan los números de Fibonacci esto lo tenéis que ver.

Los números de Markov son más complicados y la verdad, no he encontrado más que una referencia en inglés en la red (sin el algoritmo además), así que esta entrada puede ser útil para alguien.

Los números se obtienen a partir de la ecuación de Markov:

x^2 + y^2 + z^2 = 3 x y z

Queremos hacer un programa que muestre los trios de números naturales que cumplen la ecuación.

La forma de obtenerlos que he leído en el libro dónde he sabido de los números de Markov está mal enunciada, y ha sido en la wikipedia inglesa dónde he encontrado estas pistas:

1.-Empezamos por el trío (1, 1, 1) que son números de Markov.
2.-Si (x, y, z) es un trío que satisface la ecuación, entonces (x, y, 3xy-z) también lo cumple.

Hay complicaciones adicionales cuando queremos trasladar esto a un lenguaje de programación:

1.-Cuando aplicas dos veces a un trío la equivalencia (x, y, 3xy-z), vuelves atrás ya que en el tercer elemento ocurre que... 3xy-(3xy-z)=z,... o sea que la cosa vuelve a (x, y, z).

2.-En principio en el trío no hay un orden establecido. (x, y, z) = (y, x, z) = (z, x, y)...
Pero si queremos visualizar cómo evolucionan los números, conviene ordenar de alguna forma el trío en el algoritmo.

3.-El árbol binario (no es exactamente un árbol binario, pero casi) que encontramos en wikipedia nos ayuda a comprobar si los resultados están bien:


El programa que utiliza una función recursiva sería este:


#include <iostream>
#include <string>
#include <sstream>
using namespace std;

int cambiar(int *a, int *b)
{
int comodin=*b;
*b=*a;
*a=comodin;
}

int recursiva(int num, int x, int y, int z)
{
int a;
num--;
if (num!=0){
if(x>y) cambiar(&x,&y);
if(y>z) cambiar(&y,&z);
if(x>y) cambiar(&x,&y);
cout<<x<<" "<<y<<" "<<z<<"\n";
recursiva(num,x,z,(3*x*z)-y);
recursiva(num,y,z,(3*y*z)-x);
}
}

int main()
{
int x=1,y=1,z=1;
int x1=1,y1=1,z1=1;
int numeros;
string entrada="";
cout<<"\n\nNumeros de Markov:\n";
cout<<"------------------\n";
cout<<"Cuantas niveles quieres? ";
getline(cin,entrada);
stringstream myStream(entrada);
if (myStream >> numeros)
recursiva(numeros,x,y,z);
}



Y el resultado:

lunes, julio 18, 2011

Euskal Encounter 2011

Y este fin de semana es la Euskal Encounter en el BEC de Barakaldo.

Sorprende el gran número de actividades de todo tipo, desde competiciones software, hardware a otras colaterales como la carrera de sacos.

He encontrado este sitio dónde aparte de aclararte todas las dudas sobre demos, intros y demás, también te indica los sitios más importantes relacionados con el mundillo de la demoscene: http://tomaes.32x.de/text/faq.php

Saludos.

domingo, julio 17, 2011

Esperando las fotos

El jueves estuve en el tour subiendo puertos (tourmalet y Luz Ardiden), sufriendo y disfrutando, difícil de explicar... pero aaah! siempre me pasa lo mismo, como saques las fotos con la cámara de otro, adiós muy buenas, habrá que esperar un par de días más.

Aprovecho para poner este texto que he leído de Lutero (1483-1546), tan actual en pleno siglo XXI:

Ellos tienen bajo su vigilancia todos los bienes y practican sin disimulo todos los engaños que han sido mencionados; suben y bajan los precios según su gusto, y oprimen y arruinan a todos los pequeños comerciantes, al modo como el lucio come los pececillos, justamente como si fueran señores de las criaturas de Dios y no tuvieran obligación de prestar obediencia a todas las leyes de la fe y el amor.

Iba dedicado a los ricos monopolistas que controlaban a su antojo la oferta y la demanda controlando los precios a placer y sometiendo a los comerciantes.

Hoy en día ocurre lo mismo en los mercados de valores, de futuros, de deuda pública, etc. etc. El gran capital se encuentra cada vez más concentrado y sus propietarios juegan con las cartas marcadas.

Saludos.

pd: texto recogido del libro "El miedo a la libertad", página 77 (colección Paidós contextos) de Erich Fromm.

miércoles, julio 13, 2011

Error ORA-00059. Maximum number of DB_FILES exceeded

Este error es un engorro porque no queda más remedio que parar la base de datos si queremos ampliar el parámetro DB_FILES (al menos en Oracle10g).

El error suele salir cuando creamos un datafile nuevo y hemos llegado al límite establecido.

Podemos ver a cuánto está establecido iniciando sesión "as sysdba" en sqlplus y...

SQL>show parameter db_files;

Intentamos la modificación tanto en el spfile como en memoria:

SQL>alter system set db_files=250 scope=both;

Nos dará el siguiente error: ORA-02095: specified initialization parameter cannot be modified.

Entonces lo que nos queda es hacer el cambio sólo en el spfile y que se tenga en cuenta en el siguiente reinicio de Oracle:

SQL>alter system set db_files=250 scope=spfile;

Saludos.

sábado, julio 09, 2011

La SGAE, diseño de la corrupción


¿Por qué sólo hay una Sociedad General de Autores? ¿Por qué un Autor no puede reclamar su parte de la tarta de forma individual?

Si hubiera varias Sociedades, o incluso Autores independientes, ellos no podrían recaudar directamente el impuesto. El Estado tendría que recaudar y asignar a cada uno según criterios objetivos.

Desde luego, a los que están viviendo a cuerpo de rey a cuenta de la SGAE no les interesa cambiar nada. Recordad que de los 96.000 socios de la SGAE unos 8.000 pueden votar. Además una persona no significa un voto. Siendo así las cosas, es normal que una élite se haya hecho con el poder perpetuo y controlen a su antojo toda la pasta.

Sí, esto parece "Coge la pasta y corre", pero sin necesidad de correr para nada.

¿Por qué ha ocurrido esto?

No hay que ser un lumbreras de la condición humana y las estructuras podridas. Si dejas que una entidad privada recaude lo que lé de la gana (sí, digo lo que le dé la gana porque recaudan a peluquerías, conciertos benéficos, teatro popular, residencias de ancianos, nuestros portátiles, nuestros cd-s, nuestros USBs, y todo lo que se ponga a tiro)... decía que si dejas a alguien coger el dinero que le dé la gana, y tiene permitido contratar por servicios a quien le dé la gana, se realicen los servicios o no, no tardará mucho en darse cuenta de que tiene la gallina de los huevos de oro.

¿Alguien ha avisado antes?

Sí, es un clamor de la Sociedad, lo que ocurre es que los políticos no han querido atender el mensaje.

El diario Público denuncio el tema en el año 2007 (ver imagen de arriba). Han tendido que pasar más de tres años para que se produzcan las detenciones.

Dentro de Estado hay organismos como la Comisión Nacional de la Competencia (CNC) que estaban hasta el gorro de poner sanciones a la SGAE. Aquí unos ejemplos.

Eran tan indecentes que por ejemplo tenían dobles tarifas según uno fuera o no socio. Aquí viene una multa de la Audiencia Nacional de 125.000 euros a la SGAE por cobrar abusivamente a un productor fonográfico por no ser socio de AFYVE. Acusaron a la SGAE por abuso de posición dominante.

Al final tuvieron que hacer un informe recomendando:
1.-Cambiar la Ley de propiedad intelectual.
2.-Eliminar la obligatoriedad de la gestión colectiva (o sea, que los autores no estén obligados a ser socios de entidades como la SGAE).
3.-Quitar el requerimiento de autorización administrativa para las posibles entidades de gestión.
y más y más...

Ha llegado un momento en el que el Gobierno no puede escurrir el bulto... para empezar por la Sentencia del Tribunal Europeo que confirmó que el canon es un abuso y no cumple la directiva europea. La sentencia viene a decir que el canon se puede aplicar a los particulares, pero no a las empresas y las Administraciones.

Después de esa dura sentencia la Audiencia Nacional ha tenido que anular el canon digital tal y como estaba planteado.


¿Por qué el Gobierno no ha hecho nada?

1.-Socios de la SGAE en altos puestos de la Administración del Estado (No olvidar a la Guionista - Ministra Sinde).

2.-Y yo que sé que otros intereses hay detrás.

Saludos.

viernes, julio 08, 2011

Búsqueda avanzada en Google

¿Sabes que puedes utilizar el buscador como calculadora?
¿Puedes hacer mejores búsquedas?

En este sitio te resumen las palabras claves, operadores lógicos y demás opciones de Google:

http://www.googleguide.com/advanced_operators_reference.html
http://www.googleguide.com/advanced_operators.html
http://www.googleguide.com/favorite_power.html
http://www.googleguide.com/using_advanced_operators.html#combine_operators

Saludos.

miércoles, julio 06, 2011

Información hardware de servidores ESX

Hola,


A veces la consola GUI del VCENTER no te da información suficiente.


Podemos iniciar una sesión ssh sobre uno de los ESX para interrogar sobre su hardware.



Tenemos disponibles los siguientes comandos:



esxcfg-hwiscsi
esxcfg-info
esxcfg-advcfg
esxcfg-dumppart
esxcfg-ipsec
esxcfg-pciid
esxcfg-module

esxcfg-nics
esxcfg-nas
esxcfg-resgrp
esxcfg-rescan
esxcfg-mpath
esxcfg-route
esxcfg-init
esxcfg-volume
esxcfg-swiscsi
esxcfg-scsidevs
esxcfg-vmknic
esxcfg-vswitch
esxcfg-secpolicy


El más útil el esxcfg-info que nos proporciona toneladas de información que habrá que redireccionar a un fichero plano y mover por sftp.


Saludos.

martes, julio 05, 2011

¿Qué es esto?!!!

Una aplicación encargada a Telefónica por doscientos cuarenta mil euros de dinero público, tirados a la basura!!!

La noticia: http://www.elconfidencial.com/espana/2011/policia-ministerio-del-interior-telefonica-20110705-80985.html

Parece ser que había Agentes que no pudieron votar y otros que votaron dos veces.

¿Por qué los proyectos de desarrollo informático acaban mal tantas veces en comparación con proyectos de ingeniería?

Lo comenté en noviembre de 2008: Según el Presman la autopsia indicará una débil gestión del proyecto.

Saludos.