Tecnología

Potencia vs Fluidez: ¿se han vuelto los programadores comodones?

·

Nos ponemos en situación. Cerrad los ojitos y viajad al pasado. 30 añitos solamente. Ni nos imaginábamos Internet, y éramos esclavos de los 8 bits. Los procesadores de aquellas primeras generaciones solían tener una frecuencia de reloj de 1 MHz. Repito. 1 MHz. Avancemos un poco. Abril de 1982. Sinclair Research presenta su ZX Spectrum, con un “potente” procesador Z80 a 3,5 MHz y 48 kB de memoria (aunque el primero tuvo en realidad 16 kB). No había multithreading, ni arquitecturas superescalares. Si una instrucción tardaba 5 ciclos en ejecutarse, eran 5 ciclos. Aquella máquina, que para los estándares actuales es ridícula, demostró algo prodigioso: que con 3,5 MHz de potencia y 48 “kas” se podían lograr juegos increíbles con una fluidez brutal.

Evidentemente el ZX Spectrum 48K tenía limitaciones importantes: su resolución (256×192 píxeles) y sus 4 bits de color (una paleta con 7 colores y dos brillos para cada color, excepto el negro) ofrecían todo un desafío a los desarrolladores de videojuegos, que no obstante alegraron la vida a millones de niños. Yo entre ellos, aunque nunca tuve uno, porque pude presumir de tener un C64, mucho mejor :). Aquellos programadores se sacaban rutinas de la chistera que permitían hacer cosas asombrosas en esa “castaña” de procesador y con esa “castaña” de memoria. Los ejemplos son casi inacabables.

Y seguimos avanzando: 10 años más. Estamos en la época dorada de mi adorado Amiga 1200, recién lanzado y superior en arquitectura y sobre todo en prestaciones de su sistema operativo (con multitarea real) a cualquier PC de la época. Y desde luego, a cualquier Mac, salvo en apartados muy, muy específicos -que alguno me intente discutir esto-. Los juegos para aquella máquina marcaron una época. Y de nuevo, todo fue gracias a aquellos programadores que sacaron todo el jugo a un procesador y a unos chips gráficos y de sonido que tenían muchas limitaciones. Más ejemplos inacabables.

Sigamos viajando en el tiempo.

Otro empujón hacia delante. Estamos en 2012. Ya podéis abrir los ojos. Tenemos micros quad-core con frecuencias de reloj de más de 3 GHz, configuraciones en las que lo normal es contar con 6 u 8 Gbytes de memoria RAM, GPUs que superan en potencia bruta a esas CPUs en varios órdenes de magnitud y sistemas de almacenamiento que  nos ofrecen velocidades de transferencia de 400 o 500 Mbytes por segundo.

Pero lo más grave no es eso. Esos procesadores quad-core, esas GPUs y esas memorias de alta gama están disponibles en nuestros flipantes smartphones y nuestros molones tablets. Que por supuesto, hacen cosas muy chulas y que molan un montón para presumir delante de los amigotes. El efecto zoom del iPad cuando uno entra o sale de carpetas de fotos y luego hace zoom en ellas, la fluidez del desplazamiento de las pantallas con iconos o con texto e imágenes, e incluso lo “follao” que van el Call of Duty o el Need for Speed Shift. Cómo mola. Y qué rápido va todo, ¿eh?

Mi pregunta es: ¿cómo coño no van a ir rápido con esos maquinones detrás? ¿Por qué nos asombramos tanto de las cosas que puede hacer un iPad o un Samsung Galaxy Nexus?

Precisamente lo que no es normal es que con esas configuraciones hardware haya muchas cosas que vayan tiradas. Abrir varias pestañas en un navegador o tener varias aplicaciones abiertas en un móvil es sinónimo de problemas en la mayoría de los casos, y es algo que por muchas flores que se le puedan echar a Android o a iOS no acabo de entender.

Porque si hay una cosa clara en el segmento tecnológico hoy en día es esta: que los desarrollos software están muy por detrás del hardware actual. Mirad la carga de vuestros procesadores en prácticamente cualquier momento, y preguntaos porqué seguimos buscando micros y gráficas más potentes, cuando la mayor parte del tiempo las vamos a tener infrautilizadas, sobre todo en informática de sobremesa.

¿Se han vuelto comodones los desarrolladores? ¿Se dirán a sí mismos aquello de “bueno, podría intentar que fuera más eficiente, pero con subir los requisitos ya me justificaré”? Seguro que hay de todo, pero esta reflexión sobre la que ya comentaba algo hace tiempo y que también aparecía en posts muy buenos como este no deja de ser cada vez más una cuestión que genera muchas, muchas, muchas dudas.


Incognichollos

Esta es una selección con las mejores ofertas tecnológicas actualizadas casi diariamente, como expliqué aquí. Aunque estés en un post “antiguo” las ofertas son de última hora, los Incognichollos los actualizo aparte. También puedes seguir los Incognichollos en Twitter o en el nuevo canal de Telegram 🙂 . Aprovecha, que no suelen durar mucho tiempo:

  • iPad 9,7 pulgadas (2018): el modelo más reciente con soporte para el Apple Pencil. Color gris espacial, 32 GB de capacidad y con WiFi. Está a 252,90 euros en eBay con el cupón PORQUESI10 , el precio más bajo que he visto. En Amazon está a 309 euros. Por cierto, el modelo con 128 GB de capacidad está a 341,10 euros en eBay con el mismo cupón.
  • Samsung Galaxy Note 9: precio absurdo. 6,4 pulgadas QHD+, Exynos 9810, 6 GB de RAM, 128 GB de capacidad, Cámara dual 12+12, S-Pen, 4.000 mAh. Está a 539 euros en eBay con el cupón PORQUESI10 . Brutal. Pero brutal, brutal. En Amazon está a 769.
  • Xiaomi Mi 9: atentos, chicos. AMOLED 6,39” , Snapdragon 855, 6 GB de RAM, 128 GB de capacidad, huella dactilar en pantalla, carga inalámbrica y rápida, cámara triple (48+12+16 MP). Brutal por 500,41 euros en AliExpress
  • Xiaomi Mi 9 SE: y la versión compacta: 5,97 pulgadas, Snapdragon 712, 6 GB de RAM, 64 GB de capacidad, triple cámara (48+12+16), lector de huella en pantalla, está a 356,29 euros en AliExpress.
  • Samsung Galaxy S10e: el compacto de la familia: 5,8 pulgadas, Exynos 9820, 6 GB de RAM, 128 GB de capacidad, cámara doble (16+12 MP), 3.100 mAh, lector de huellas en el lateral. Está a 709 euros en eBay con el cupón PORQUESI10
  • Monitor HP 27q: una maravilla. 27 pulgadas con resolución QHD (2560×1440), entrada HDMI-DVI, DIslayPort, formato 16:9. Gran precio, 249 euros en Amazon. Chollazo.
  • Aspirador Xiaomi Dreame V9: un reciente aspirador de mano inalámbrico, batería de 28 minutos (modo estandar), accesorios para distintos rincones, 20.000 Pa de succión. Está a 148,41 euros en AliExpress.
  • Xiaomi PocoPhone F1: el teléfono chollo en su mejor versión. 6,18”, Snapdragon 845, 6 GB de RAM, 128 GB de capacidad, 4000 mAh, cámara dual 12+5 MP, reconocimiento facial. Está a 256 euros en Banggood con el cupón 2BGF1ICC.
  • Xiaomi Notebook Air 13,3”: el portátil con una CPU algo más antigua, el Core i5-7200U. Por lo demás, impresionante por sus 8 GB de RAM, 256 GB de capacidad y GeForce MX150 además de lector de huella. Brutal por 586,90 euros en Banggood con el cupón 12CRI01.
  • Monitor Acer V6 V226HQL: monitor de 21,5 pulgadas Full HD (1920 x 1080) con entradas VGA, DVI y HDMI. Atentos al precio: 83,48 euros en AliExpress Plaza, envío desde España y garantía de dos años.
  • Tarjeta gráfica EVGA RTX 2060: chollazo si queréis actualizar la GPU con este nuevo modelo en formato corto (es anchota, 3 slots) y con 6 GB de memoria GDDR6. Está a 305,73 euros en AliExpress Plaza. Envío desde España, dos años de garantía.
  • Bolígrafo Xiaomi Mijia Pen + 3 recambios: el boli de 0,5 mm con tecnología suiza (o eso dicen) que enamora. Yo ya he comprado varios, y la verdad es que molan, y por este precio, más. El boli + tres recambios sale por 3,58 en AliExpress.
  • Huawei Mate 20 Pro: el súper teléfono de Huawei, incluso por encima del P20 Pro. Pantalla de 6,39 pulgadas, Kirin 980, 8 GB de RAM, 128 GB de capacidad, 4.200 mAh y una cámara triple que está entre las tres mejores del mercado. Está a 739,99 euros en eBay.
  • Xiaomi Mi Notebook Ruby: completísimo: pantalla de 15,6” FullHD, Core i7-8550U, 8 GB de RAM, 128 GB SSD, 1 TB HDD, GeForce MX 110, USB 3.0, HDMI, Gigabit Ethernet, lector tarjetas. Está a 662 euros en Banggood con el cupón 19BGMX898.
  • Portátil gaming Lenovo Legio Y530 + Monitor Lenovo L24q: un pack llamativo: el portátil de 15,6”, Core i5-8300H, 8 GB/1 TB (HDD), GTX 1050, Windows 10. Monitor 24 pulgadas 2560×1440 pixels. Muy bien todo por 793,50 euros en Amazon, y cambio SSD asumible
  • Pilas alcalinas AAA (pack de 100): menudo cargamento de pilas AAA tienen aquí, ofertón por 19,99 euros en Amazon
  • Logitech Driving Force G29: si te gustan los simuladores de coches, atento. Volante y pedales para PS4, PS3 y PC: Es un producto reacondicionado y certificado, así que garantía total. Está a 165 euros en Amazon.
  • Reloj inteligente Ticwatch S: basado en Android Wear 2.0, con pantalla de 1,4 pulgadas, GPS, pulsómetro, reproductor de música, notificaciones. Buena forma de acceder a estos dispositivos, porque está a 159 euros en Amazon.
  • Tarjeta Micro SD Samsung EVO 64 GB: clase 10, 100 MB/s, UHS-I, IPX7. Está a 16,99 euros en Amazon.
  • Cubot P20: lo probé en Incognitosis y me sorprendió gratamente, pero ahora cuesta la mitad. MediaTek MT6750T, 4/64 GB (ampliables), 4.000 mAH, cámara dual 20+2 MP, lector de huella. Está a 85 euros en Amazon con el cupón SGSCUJJ3.
  • Star Wars Battlefront II PS4: el juego de EA es una pequeña maravilla, y más a este precio: 17,99 euros en Amazon en la edición para PS4 (19,90 euros para PC)
  • Xiaomi PocoPhone F1: el móvil súper chollo de los últimos meses baja también en Amazon. 6,18 pulgadas, Snapdragon 845, 6GB de RAM y 128 GB de capacidad (ole) además de cámara dual 12+5 MP. Brutal a 239,90 euros en Banggood con el cupón 2F1BG469. Está a 305 euros en Amazon.
  • Casco de esquí ENKEEO: si esquiáis atentos a este casco en color negro, tamaño XL; con “ventilación activa”. Está a 9,90 euros en Amazon con el cupón E83C2762.
  • Soporte de escritorio para monitor: muy interesante para controlar la posición del monitor en tu escritorio. Soporta monitores desde 17 a 32 pulgadas, hasta 8 kg de peso Está a 39 euros en Amazon.
  • Portátil Lenovo Yoga 910: un convertible estupendo de 13,9 pulgadas Full HD con un Core i7-7500U, 8 GB de RAM, 512 GB SSD y que podéis usar como tablet o como portátil. Buena opción por 899 euros en Amazon.
  • Samsung Galaxy S7: sigue siendo un telefonazo. Pantalla de 5,1 pulgadas, Exynos 8890 octa-core, 4 GB de RAM, 32 GB de capacidad (ampliables), cámara de 12 MP fantástica. Está a 188 euros en AliExpress, mucho mejor que móviles más recientes en ese rango de precios.
  • Gears of War 4: el juego para Xbox One y PC Windows cuesta 3,99 euros en CD Keys. Poco más que decir. A pegar unos tiros, ¿no?
  • Portátil gaming Medion Erazer P6605: pantalla de 15,6” FullHD, Core i7-8750H, 16 GB de RAM, 256 GB SSD, NVIDIA GTX 1050 y Windows 10, teclado en español. Buena oferta también para jugar con alegría, 729 euros en Amazon.
  • Portátil Huawei Matebook 13: atentos a este maquinón, versión “lite” del Mateboox X. Con pantalla de 13 pulgadas 2K (1440p), un Core i5-8265U, 8 GB de RAM, 256 GB de capacidad, una GeForce MX150 y lector de huella dactilar. Lo tenéis a 745 euros en AliExpress. La batería de 41,7 Whr es algo limitada quizás, pero es que claro, es súper delgado (14,9 mm) y ligero (1,28 kg).
  • OnePlus 6T: pantalla de 6,41”, Snapdragon 845, 8 GB de RAM, 128 GB de capacidad, batería 3700 mAh, cámara dual (20+16 MP), lector huellas integrado en pantalla, “mininotch”,una maravilla por 470 euros en Banggood con el cupón 62ca20

¿Quieres recibir un correo de aviso cuando publique nuevas entradas?

Standard

11 comentarios en “Potencia vs Fluidez: ¿se han vuelto los programadores comodones?

  1. Alex dice:

    Muy interesante Javi. Te voy a hacer una reflexión. Intenta que un programa cualquiera en Windows se ejecute con un uso de CPU del 70%. Haz lo propio en un UNIX. Seguro que notas la mejora, pero sigue siendo ineficiente la manera en que los sistemas operativos adjudican los recursos. Un sistema no debería verse afectado en el rendimiento de la CPU si esta no alcanza el 100%, pero eso es solo en teoría. El sistema operativo emplea muchos ciclos en realizar los cambios de contexto y estos se multiplican con cada grado de paralelismo de las tareas. Con los procesadores multicore hemos multiplicado las UAL, incluso los registros… pero solo hay un bus para acceder a la memoria o a otros recursos externos y por el que compiten los cores. Con las memorias modernas de acceso multipuerta algo se mejoró en el grado de paralelismo pero el cuello de botella sigue estando ahí.

    Por que si no los servidores se basan en varios sockets? Porque pueden multiplicar los buses, los accesos a memoria si cada socket controla sus módulos de memoria. Aunque estén todos conectados y compartidos, cuanto mejor se gestione desde el sistema operativo donde se alojan los programas físicamente en memoria y que socket los ejecuta, mejor aprovechamos el hardware.

    El problema es que los programadores rara vez piensan en los demás programas, solo en el suyo. Y algunos sistemas operativos no ponen condiciones a los programas para ejecutarse en entornos multitarea, así que muchas veces no es problema del programa que va lento sino de que los recursos que necesita los esta ocupando otro. Y en un móvil esto es importante porque normalmente solo tenemos una aplicación en modo interactivo y el resto en segundo plano. Y queremos que hagan cosas como las hacen los PCs sin que sean la mitad de potentes que son estos.

  2. lc dice:

    Hoy va de historietas….
    Lo primero que hay que tener cuidado es con los flashback sobre articulos tecnologicos. A mi me ha pasado tres veces. Soy de spectrum y de este pase a pc (amstrad 1640), siempre babeando por el comodores 64, el comodore Amiga 500 de algunas amistades, con su motorola con arquitectura ¿Harward?, con su procesadores especializados y los apple… Pasa el tiempo y tengo mi pc con vga, se me presenta la oportunidad de comprar un maravilloso amiga 500 de segunda mano, lo compro y ¡opssss!, ¿que paso aqui?, es verdad que sigue moviendo los graficos como un diablo, pero esto ya no es tan maravilloso como yo recordaba, no hay tantos colores en movimiento, sencillamente mi pc moderno era un buen trasto pero igual que los otros que existian, no habia nada en pcs que significara un salto bestial frente al mio, bueno si, las sgi y tal, pero eso era inalcanzable. Pasa el tiempo, tengo mi amd 1800 con mi nvidia fx5200, se me presenta la oportunidad de adquirir una sgi octane, con su risc (175 mhz) y su supergraficos opengl, y ¿que paso?, pues si, la maquina es sorprendente, que sus buses, que en realidad son switch son una maravilla, que su opengl es sorprendente, pero que el pc se la lleva de calle, eso si la sgi se relentiza pero suavemente, sin tirones, despues compre un 400 mhz y al final una octane 2 con graficos v6, solo por capricho, pero no, las maquinas antiguas no son ninguna maravilla, ¿que hacen cosas increibles?, no, hacen lo que corresponde a sus caracteristicas y las de hoy hacen lo que corresponde a sus caracteristicas. Para acabar hace un par de años enrede con un apple LC (lc, como yo 🙂 y con un mackintosh de los de pantalla de ¿7? pulgadas, no pretendia comparar nada, pero vamos el system ¿6.5? era como de juquete, vamos que el windows 3.1 hacia mas, peor hecho, eso si, pero mas. Asi que cuidadito con los flashback.
    En cuanto a los programadores, te referiras a los de sistemas operativos, porque los de aplicaciones no se que van a hacer, si no se puede acceder al hard, e incluso los de sistemas puede que no puedan hacer mas si les dan las entradas y las salidas, no mas, los cambios de contextos, fallos de pagina y demas esta todo en el hard. En los tiempos de la vga y msdos se podia hacer algunas cosillas, ¿modo x? o algun ciclo que te ahorrabas en ensamblador por hacer alguna genialidad, pero hoy, “na de na”, Ademas en el tiempo que piensas la genialidad te sacan un procesador generico o un procesador de grafico que te saca un 500% a tu genialidad, que no, que esto no es como el spectrum.
    De todos modos lo que hace un pc de hoy en dia es impresionante y un ipad 2 mas, verdad que hay algun cuello de botella, yo diria que el principal, el disco duro, porque como la memoria de tu aplicacion puede estar paginada en un fichero en memoria porque tienes muuuuchas cosas funcionando en el ordenador o porque hace tiempo que tu aplicacion esta en reposo, porque todo el mundo usa una base de datos en disco duro para guardar cualquier chorrada, eso de las estructuras de datos casi no se lleva,…. en fin, que no, que nada es como antes en programacion, asi que comparar es imposible.
    No sigo que aburro…

  3. nahiko dice:

    No sé si he buscado bien, pero creo que el Z80 (microprocesador del Spectrum) contaba con 252 instrucciones nativas (en ensamblador, de las que se ejectuan por hardware.
    El basic del spectrum no sé con cuántas contaba, pero creo que no más de 100.

    Un x86, cualquiera cuenta con sus intrucciones nativas (no sé exactamente cuántas son ahora mismo, pero unas cuantas) si pasamos a los 386 DX y 486 DX y sucesivos, contaban con coprocesador matemáticos, el cual añadía otro juego de instrucciones más para operaciones de coma flotante, en los 386 y 486 SX se podría meter un 387 o 487 (que eran los copros físicos, los DX estaban integrados en el mismo procesador)
    El pentium no aportó mucho en este ámbito hasta que aparecieron los MMX, que implementaban por hardware las 57 (creo recordar) nuevas instrucciones multimedia, (solo una de las MMX podía sustituir a más de 200 de las X86 estándar.
    AMD sacó las 3DNow!, luego vinieron SSE, SSE2, SSE3, SSE4 y SSE5. Cada cual con sus más y sus menos, las SSE5 creo que no se llegan a usar, y se propone en su lugar las AVX o algo así, es un pedazo de lío.
    SOLO para el procesador, cuántas instrucciones nativas tenemos? Un cojón.
    Pasamos a las gráficas? Pues otro tanto de instrucciones.

    Para aprovechar bien todo este hardware tan potente, necesitamos muuuuuchas instrucciones no nativas que hagan las llamadas pertinentes, unos compiladores muy bien hechos, muchas librerías intermedias para ir haciendo el acceso al hardware más sencillo para un programador que tiene que estar también preocupándose por la lógica del juego, la limpieza del código, el ahorro de memoria y sus leaks, la herencia, el polimorfismo, y un largo etc de cosas. Al final, emplear a fondo un ordenador y sacarle todo el jugo es TERRIBLEMENTE complicado. Y hay muuuuchas capas de por medio para facilitar las cosas (sería completamente imposible currarse un juego decente programando en ensamblador!!) que pueden ir metiendo lags.

    Hacer un juego en spectrum es terriblemente sencillo, apenas tiene 4 cosas en las que nos tenemos que fijar, hay un solo intérprete entre el basic en el que lo programamos y el ensamblador que se ejecuta en el microprocesador, es muy difícil cagarla en algún sitio y no darnos cuenta o que poco a poco se vaya llenando la memoria y vaya bajando el rendimiento, por ejemplo.

    Por otro lado, cuando los gráficos eran muy malos, una pequeña mejora, se notaba un cojón. Hoy en día (y ya desde hace bastantes años) una mejora apenas se nota.
    Os propongo una prueba:
    Cogéis un juego, por ejemplo el PES, os lo instaláis, configuración gráfica, filtro anisotrópico desactivado. Jugáis un betis – valencia (por no decir un madrid – barça :p) y sacáis un pantallazo.
    Pegáis el pantallazo en un mspaint.
    Ahora volvéis a entrar en el juego, configuración y activáis el filtrado anisotrópico. Jugáis un Depor – Zaragoza. Pantallazo parecido al anterior (os recomiendo en un corner, para que tengáis más o menos lo mismo.

    Habéis notado diferencia gráfica entre poner el filtrado anisotrópico y no ponerlo? A que no!!!
    Ahora mirád ambos pantallazos, ya verás como hay MUCHA diferencia. Fijáos en la hierba.

    Luego por otro lado, efectivamente hay compañías que tienen los juegos vendidos antes incluso de programarlos, y para no perder pasta, sacan una versión del juego al año (léase NFS) les da igual la mierda que hagan, pero lo tienen que sacar en un año, por lo tanto, no se preocupan mucho por optimizar, esto también es un gran problema 🙁

    S2!!

  4. aRCaNGeL dice:

    Buenassss, creo que todos habéis dado en el clavo. Fundamentalmente creo que no es que los programadores se hayan vuelto vagos, sino que fundamentalmente la optimización de código ha dejado de ser una prioridad desde hace unos años (de hecho, los que llevamos unos años estudiando la carrera por paquetes, nos hemos dado cuenta como al prinpipio la fase de optimización de código era una de las más importantes en el desarrollo de software y ahora ya no lo es). Como indicaba, habéis dado en el clavo ya que considero que este cambio ha sido debido a:
    1.- El aumento de capacidades hardware ha sido tan rápido que un software mal optimizado, en poco tiempo mejoraba por sí solo simplemente esperando a Intel y AMD, por ejemplo.
    2.- La avaricia de la industria hace que los desarrollos duren un peo, por lo tanto la fase de optimización de código, como tantas otras se acorte drásticamente y dependas de auténticos maquinones para que vaya como debe (aquí tengo que romper una lanza en favor de Blizzard que lleva con el desarrollo de Diablo 3 la hueva de años. Esperemos que no defraude porque ha tenido tiempo de sobra para sacar un producto acojonante).
    3.- En cuanto a los Sistemas Operativos, creo que no debería ser una excusa. Recuerdo en la época del MS-DOS, con su limitación de 640 kb, cómo los programadores se buscaron el modo protegido (con el famoso dos4gw.exe) para quitarse ese lastre y permitieron juegos como DOOM (punto de inflexión en la programación de videojuegos sin ninguna duda).

    En definitiva, no creo que los programadores se hayan vuelto vagos, sino que las circunstancias les han empujado a olvidar la optimización de código….

    P.D.: probablemente alguno me pondrá a parir. No soy programador así que, sed buenos conmigo… ;)))

  5. Kamajii dice:

    Mi verdad es que programar para un determinado hard, en un determinado lenguaje (compilado, por supuesto) hoy en día me cae tan lejos, €¦ que como programador lo único que pretendo es no “poner” muchas estupidedes en mi código.
    Hasta donde hago yo, no se el resto de la parroqia, programo con .net 3/4 (VB/C#), contra una JVM o con un lenguaje interpretado de por medio (PHP/ASP) pero el hard no lo “huelo” ni de lejos. Suma mis defectos programando a los probables defectos de las n-capas de software que tengo debajo de mis programas,€¦ ya te puedes imaginar “los milagos” que hace el hardware: aveces incluso hace que mis programas parezcan útiles 😉

  6. A mi me lo dejó muy clarito un antiguo jefe, hace 15 años: Es mucho más barato y sencillo comprar máquinas más potentes que asumir el coste de desarrollar software más eficiente.

    Me jode, pero por lo que he visto con el paso de los años, no debe ser el único que piensa así.

    Tamos vendíos !

  7. nadie dice:

    No entiendo por qué se ha borrado el comentario que hice con un enlace en el que Gallir explicaba perfectamente los quebraderos de cabeza que tienen los ingenieros de Android y de IOX para hacer funcionar correctamente esos cacharros que, según tu teoría, están desperdiciados por el malhacer de los programadores.

    Pensé que era una lectura interesante. Sobretodo para el que se hace las preguntas que tú planteas aquí.
    Creo que la próxima vez me lo voy a pensar dos veces antes de escribir por aquí.

Comentarios cerrados