hola
Published 11:10 by with 0 comment

Como crear una API a partir de cualquier web sin saber programacion - Kimono

Como crear una API a partir de cualquier web sin saber programacion - Kimono


La idea en la que se basa Kimono es facilitar el acceso a la ingente cantidad de datos no estructurados que las webs disponen y convertirlos instantáneamente en un API. El gran punto es el cambio de paradigma en el que cualquiera, sin ser indispensable saber programar, pueda construir y trabajar con esos datos y usarlas en sus propias apps móviles, mashups, artículos de investigación, etc…
Muchos programadores conoceréis el concepto de web scraping, pues Kimono va más allá utilizando una interfaz amigable, de forma visual nos permite recopilar y reconocer datos semejantes. Podemos ajustar cada colección de datos y exportarlos al formato que queramos, creando una URL pública para acceder a la API recién creada.

¿Cómo construir una API con datos reales en minutos?

Podemos jugar con cada campo, asignándole el nombre o estructura que queramos. Además de fijar ciertas reglas para que, por ejemplo, en un listado, podamos ir iterando por las distintas páginas para crawlear toda la información.
El funcionamiento y la interfaz es bastante simple. Para facilitar la tarea podemos guardarnos el bookmark de Kimono que nos abrirá toda la interfaz sobre la web que estemos visitando. A partir de ese momento seleccionamos cada campo que nos interese exportar, por ejemplo, si visitamos la web de imdb y seleccionamos cualquier película podemos podemos marcar el titulo, director, sinopsis de una película para disponer al instante de una API de imdb personalizada. Incluso fijando los parámetros de la URL con el id de la película, etc.. En tan sólo cinco minutos y totalmente personalizable.
Además, de la propia creación de la API si lo deseamos disponemos de la opción de hacer una pequeña aplicación móvil con un listado, detalle, gráficas de esos datos directamente desde Kimono con temas personalizables. Y si eso no fuera poco también podemos asignar un RSS, un webhook hacia nuestros servidores o notificaciones de email para que nos avise cuando algún dato cambie. Podemos echar un vistazo a toda la documentación completamente explicado.
Uno de los experimentos reales que hicieron fueron en los pasados juegos olímpicos de Sochi donde crearon una API para poder seguirlos, ya que no disponía de ninguna API oficial. Fantástico.
El modelo de negocio de Kimono, una startup que acaba de lanzar esta primera versión del producto se basa en el modelo fremium. Existen distintos planes que juegan con la frecuencia de actualización, el escalado y el número de APIs que podemos manejar a la vez.
API

Evolución de un producto que democratiza el uso de APIs

La evolución del producto lo coloca en una excelente oportunidad para todo tipo de profesionales interesado en crear aplicaciones usando datos de la web ya existente que no tengan API eliminando ese cuello de botella. Y como decíamos, el objetivo de Kimono es ser una plataforma abierta para cualquier persona interesada que no necesariamente tenga que tener conocimientos técnicos. Por ejemplo, científicos, periodistas o investigadores que usen colecciones de datos extraídos de la propia web. Una de las funcionalidades que trabajan es poder combinar APIs y trabajar sobre los resultados.
Los programadores con experiencia en crawler conocerán algunas de los peligros que suponen este tipo de herramientas. Sobre todo los bloqueos que tienen algunas compañías cuando detectan acceso recurrente identificados como spider para crawlear datos y usarlos para otros fines. El reto para Kimono es saber superar esas posibles limitaciones que hagan inservible el servicio por lo bloqueos.
Kimono es una idea genial que ha evolucionado a partir de otras herramientas que hemos ido viendo durante estos últimos años. Refiriéndonos a nivel de plataforma y no de librerías de crawler que muchos desarrolladores han usado, por ejemplo en Python, Java, C, Groovy, etc.. Nos referimos a Yahoo Pipe que hace años surgió como la gran idea para extraer y crear datos y su potente lenguaje YQL que parece abocado al abandono por Yahoo. Otras alternativas propuestas fallidas que se asemejan, en cierta forma, fueron Dapper, Needlebase o Folded.
Sitio web | Kimono labs
Más información | API no oficial de los juegos olímpicos de Sochi, Documentación técnica Kimono




















Como crear una API a partir de cualquier web sin saber programacion - Kimono 2015
Read More
      edit
Published 10:55 by with 0 comment

Diez lenguajes de programación mas raros del mundo

Diez lenguajes de programación mas raros del mundo



Hay más lenguajes de programación que botellines. Los tenemos de bajo o de alto nivel, declarativos, procedurales, orientados a objetos... y tenemos los llamados lenguajes esotéricos, lenguajes peculiares de sintaxis muy básicas y alfabetos reducidos que casi parecen una trolleada de sus creadores (aunque suelen ser Turing completos, ojo). En este artículo que tienes entre manos vamos a listar y reseñar diez de estos lenguajes esotéricos para tu diversión, asombro y sorpresa.

Trollscript

Y claro, si hablamos de que los lenguajes esotéricos suenan a trolleada, nada mejor que empezar este recorrido con Trollscript. Se trata de un dialecto del popular Brainfuck (del que también hablaremos), se instala como una gema de Ruby y tiene una sintaxis tan sencilla como la que sigue:
  • ooo - Incrementa el puntero de datos a la siguiente celda a la derecha
  • ool - Decrementa el puntero de datos a la siguiente celda a la izquierda
  • olo - Incrementa en uno el byte apuntado
  • oll - Decrementa en uno el byte apuntado
  • loo - Saca el valor ASCII de la celda apuntada
  • lol - Acepta un byte de entrada guardando su valor en la celda apuntada
  • llo - Si el byte es cero, salta hacia adelante hasta encontrar la siguiente coincidencia
  • lll - Si el byte es cero, salta hacia atrás hasta encontrar la siguiente coincidencia
Los scripts empiezan con Tro y terminan con ll. Dicho esto, así quedaría un ¡Hola Mundo! en Trollscript:
Trooloolooloolooloolooloolooloololloooooloolooloolooloolooloooool
ooloolooloolooloolooloolooloooooloolooloooooloooloolooloololllllooooloolo
loooooololooolooloolooloolooloololoolooolooloololooooooloololooooloololoo
loolooloolooloolooloolooloolooloolooloololooooolooolooloololooollollollol
lollolllooollollollollollollollollloooooololooooolooll
Una curiosidad: este Trollscript tiene una licencia "Do What The Fuck You Want To Public License". Épico.
Más info | Trollscript, un lenguaje de programación para Trolls

Brainfuck

El padre de Trollscript y muchos otros fue diseñado por Urban Muller en 1993 basado en la maquina de Turing y desde entonces lleva haciendo honor a su nombre y jodiendo cerebros. Cuenta con sólo 8 instrucciones de un solo carácter cada una:
  • ">" - Incrementa el puntero.
  • "<" - Decrementa el puntero.
  • "+" - Incrementa el byte apuntado.
  • "-" - Decrementa el byte apuntado.
  • "." - Escribe el byte apuntado en el flujo de salida.
  • "," - Lee un byte del flujo de entrada y lo almacena en el byte apuntado.
  • "[" - Avanza a la instrucción inmediatamente posterior al ] correspondiente si el byte actualmente apuntado es nulo (si es 0).
  • "]" - Retrocede a la instrucción inmediatamente posterior al [ correspondiente si el byte actualmente apuntado no es nulo (si es distinto de 0).
Un ejemplo de ¡Hola Mundo! en Brainfuck es tan bonito y edificante como esto:
++++++++++
[
   >+++++++>++++++++++>+++++++++++>+++>+< <<<<-
]
>++.
>>+.
—-.
< —-.
>>++.
< +.
++++++++.
———-.
<+++.
>+.
>+.
>.
Más info | Brainfuck

Ook!

Seguimos con otro lenguaje surgido a raíz de Brainfuck pero esta vez usando el vocabulario empleado por el bibliotecario del MundoDisco de Terry Pratchett. Este personaje no es precisamente Cervantes y sólo emplea tres vocablos: Ook., Ook! y Ook? Con estas palabras reservadas, el creador de Ook!, David Morgan-Mar, construye las ocho instrucciones de Brainfuck:
  • Ook. Ook? - Incrementa el puntero.
  • Ook? Ook. - Decrementa el puntero.
  • Ook. Ook. - Incrementa el byte apuntado.
  • Ook! Ook! - Decrementa el byte apuntado.
  • Ook! Ook. - Salida (ASCII) del byte apuntado.
  • Ook. Ook! - Entrada (ASCII) sobre el byte apuntado.
  • Ook! Ook? - Avanza a la instrucción inmediatamente posterior al Ook? Ook! correspondiente si el byte actualmente apuntado es cero.
  • Ook? Ook! - Retrocede a la instrucción inmediatamente posterior al Ook! Ook? correspondiente si el byte actualmente apuntado no es cero.
Con estos mimbres tenemos un ¡Hola Mundo! tal que así, belleza pura:
Ook. Ook? Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. 
Ook. Ook. Ook. Ook! Ook? Ook? Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook.
Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook? Ook! Ook! Ook? Ook! Ook? Ook. Ook! Ook. Ook.
Ook? Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook! Ook? 
Ook? Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook? Ook! Ook! Ook? Ook! Ook? 
Ook. Ook. Ook. Ook! Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. 
Ook. Ook. Ook! Ook. Ook! Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook! Ook. Ook. Ook? Ook. 
Ook? Ook. Ook? Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. 
Ook. Ook. Ook! Ook? Ook? Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook? Ook! 
Ook! Ook? Ook! Ook? Ook. Ook! Ook. Ook. Ook? Ook. Ook? Ook. Ook? Ook. Ook. Ook. Ook. 
Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook! 
Ook? Ook? Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. 
Ook. Ook. Ook. Ook. Ook. Ook? Ook! Ook! Ook? Ook! Ook? Ook. Ook! Ook! Ook! Ook! Ook! 
Ook! Ook! Ook. Ook? Ook. Ook? Ook. Ook? Ook. Ook? Ook. Ook! Ook. Ook. Ook. Ook. Ook.
Ook. Ook. Ook! Ook. Ook! Ook! Ook! Ook! Ook! Ook! Ook! Ook! Ook! Ook! Ook! Ook! Ook! 
Ook. Ook! Ook! Ook! Ook! Ook! Ook! Ook! Ook! Ook! Ook! Ook! Ook! Ook! Ook! Ook! Ook! 
Ook! Ook. Ook. Ook? Ook. Ook? Ook. Ook. Ook! Ook. Ook! Ook? Ook! Ook! Ook? Ook! Ook. 
Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. 
Ook. Ook. Ook! Ook. 
Pd: Yo sólo tengo controlado otro personaje de ficción con un vocabulario tan escueto: Groot de 'Los Guardianes de la Galaxia'. Y claro, también tiene su lenguaje de programación.
Más info | Ook!

Chef

Programas escondidos en recetas de cocina, Chef es desde luego el lenguaje ideal para estos días de cocineros estrellas y audiencias masivas para programas gastronómicos. Creado por David Morgan-Mar, un programa-receta debe estar formado por un título, unas variables con sus correspondientes valores (los ingredientes) y una lista de manipulaciones de pila (los pasos a seguir). Un ejemplo de ¡Hola Mundo! sería algo como así:
Hello World Souffle.

    
Ingredients.

72 g haricot beans

101 eggs

108 g lard

111 cups oil

32 zucchinis

119 ml water

114 g red salmon

100 g dijon mustard

33 potatoes

    
Method.

Put potatoes into the mixing bowl.

Put dijon mustard into the mixing bowl.

Put lard into the mixing bowl.

Put red salmon into the mixing bowl.

Put oil into the mixing bowl.

Put water into the mixing bowl.

Put zucchinis into the mixing bowl.

Put oil into the mixing bowl.

Put lard into the mixing bowl.

Put lard into the mixing bowl.

Put eggs into the mixing bowl.

Put haricot beans into the mixing bowl.

Liquefy contents of the mixing bowl.

Pour contents of the mixing bowl into the baking dish.

Serves 1.
El hacker-Chicote creador de Chef dice que los programas no sólo deben funcionar sino que deben parecer apetecibles. Hay gente para todo.
Más info | Chef

Malbolge

Un lenguaje inspirado (y bautizado) en el octavo infierno de 'La Divina Comedia' de Dante. Con eso debería bastar para tenerle miedo al lenguaje diseñado por Ben Olmstead en 1998. Si además añadimos que el bueno de Olmstead planeó que fuera el lenguaje de programación más difícil del mundo y para ello uso una sintaxis basada en técnicas criptogáficas, pues al final nos queda un ¡Hola Mundo! tal que así:
(=<`:9876Z4321UT.-Q+*)M'&%$H"!~}|Bzy?=|{z]KwZY44Eq0/{mlk**
hKs_dG5[m_BA{?-Y;;Vb'rR5431M}/.zHGwEDCBA@98\6543W10/.R,+O<
Para habernos matado...
Más info | Malbolge

Whitespace

Un lenguaje cuyas tres únicas palabras reservadas son el espacio en blanco, el tabulado y el salto de línea suena a broma y de hecho fue publicado un 1 de Abril, el April's Fool, equivalente anglosajón a nuestro Día de los Santos Inocentes. Pero lo cierto es que funciona y aquí tenéis un ¡Hola Mundo! convenientemente tuneado para que esto no parezca uno de esos memes de hacer scroll:
Whitespace In Vim2
Más info (y ejemplos) | Whitespace

Piet

Creado por el mismo señor que el anterior de la lista, David Morgan-Mar, Piet es un lenguaje cuya principal característica es que sus programas son bitmaps que simulan arte abstracto. El vocabulario está formado por 20 colores (nada de cosas raras en plan blanco roto o rosa palo) y el puntero varía dependiendo de la diferencia de tono e intensidad entre colores contiguos en el bitmap.
¿Cómo sería un ¡Hola Mundo! en este lenguaje bautizado como el pintor holandés Piet Mondrian? Pues así de psicodélico:
Piet Program Hello World
Más info | Piet

ArnoldC

La expresión anglosajona de "bigger than life" se creó para hablar de ArnoldC: un lenguaje de programación cuyas instrucciones son frases célebres de los personajes interpretados por Don Arnold Schwarzeneger (aka El Chuache) en la gran pantalla. Instrucciones tan épicas como:
  • False: I LIED
  • True: NO PROBLEMO
  • If: BECAUSE I'M GOING TO SAY PLEASE
  • Else: BULLSHIT
  • EndIf: YOU HAVE NO RESPECT FOR LOGIC
  • While: STICK AROUND
  • EndWhile: CHILL
  • PlusOperator: GET UP
  • MinusOperator: GET DOWN
  • MultiplicationOperator: YOU'RE FIRED
  • DivisionOperator: HE HAD TO SPLIT
  • ModuloOperator: I LET HIM GO
  • EqualTo: YOU ARE NOT YOU YOU ARE ME
  • GreaterThan: LET OFF SOME STEAM BENNET
  • Or: CONSIDER THAT A DIVORCE
  • And: KNOCK KNOCK
  • DeclareMethod: LISTEN TO ME VERY CAREFULLY
  • NonVoidMethod: GIVE THESE PEOPLE AIR
  • MethodArguments: I NEED YOUR CLOTHES YOUR BOOTS AND YOUR MOTORCYCLE
  • Return: I'LL BE BACK
  • EndMethodDeclaration: HASTA LA VISTA, BABY
  • CallMethod: DO IT NOW
  • AssignVariableFromMethodCall: GET YOUR ASS TO MARS
  • DeclareInt: HEY CHRISTMAS TREE
  • SetInitialValue: YOU SET US UP
  • BeginMain: IT'S SHOWTIME
  • EndMain: YOU HAVE BEEN TERMINATED
  • Print: TALK TO THE HAND
  • ReadInteger: I WANT TO ASK YOU A BUNCH OF QUESTIONS AND I WANT TO HAVE THEM ANSWERED IMMEDIATELY
  • AssignVariable: GET TO THE CHOPPER
  • SetValue: HERE IS MY INVITATION
  • EndAssignVariable: ENOUGH TALK
  • ParseError: WHAT THE FUCK DID I DO WRONG
Con semejante materia prima, un ¡Hola Mundo! es elegancia austriaca pura:
IT'S SHOWTIME
TALK TO THE HAND "hello world"
YOU HAVE BEEN TERMINATED
Si alguien sabe enumerar la peli de cada instrucción y luego hace un programa para las torres de Hanoi, lo consideraré mi Dios y le oraré cada noche.
Más info | ArnoldC, el lenguaje basado en frases de Arnold Schwarzeneger

Shakespeare

Nos vamos acercando al final y llega la hora de un lenguaje culto y elegante ya que está inspirado por los personajes y tramas del más célebre dramaturgo de la historia. Su funcionamiento es parecido al de Chef (mismo creador no en vano): título, lista de personajes con sus descripciones y finalmente los actos y escenas necesarios. ¿Qué no queda claro? Pues aquí un ejemplo de ¡Hola Mundo!:
Romeo, a young man with a remarkable patience.
Juliet, a likewise young woman of remarkable grace.
Ophelia, a remarkable woman much in dispute with Hamlet.
Hamlet, the flatterer of Andersen Insulting A/S.
                   
                   Act I: Hamlet's insults and flattery.
                   Scene I: The insulting of Romeo.
[Enter Hamlet and Romeo]
Hamlet:
You lying stupid fatherless big smelly half-witted coward! You are as
stupid as the difference between a handsome rich brave hero and thyself!
Speak your mind!
You are as brave as the sum of your fat little stuffed misused dusty
old rotten codpiece and a beautiful fair warm peaceful sunny summer's
day. You are as healthy as the difference between the sum of the
sweetest reddest rose and my father and yourself! Speak your mind!
You are as cowardly as the sum of yourself and the difference
between a big mighty proud kingdom and a horse. Speak your mind.
Speak your mind!
[Exit Romeo]
                   Scene II: The praising of Juliet.
[Enter Juliet]
Hamlet:
Thou art as sweet as the sum of the sum of Romeo and his horse and his
black cat! Speak thy mind!
[Exit Juliet]
                   Scene III: The praising of Ophelia.
[Enter Ophelia]
Hamlet:
Thou art as lovely as the product of a large rural town and my amazing
bottomless embroidered purse. Speak thy mind!
Thou art as loving as the product of the bluest clearest sweetest sky
and the sum of a squirrel and a white horse. Thou art as beautiful as
the difference between Juliet and thyself. Speak thy mind!
[Exeunt Ophelia and Hamlet]

                   Act II: Behind Hamlet's back.
                   Scene I: Romeo and Juliet's conversation.
[Enter Romeo and Juliet]
Romeo:
Speak your mind. You are as worried as the sum of yourself and the
difference between my small smooth hamster and my nose. Speak your
mind!
Juliet:
Speak YOUR mind! You are as bad as Hamlet! You are as small as the
difference between the square of the difference between my little pony
and your big hairy hound and the cube of your sorry little
codpiece. Speak your mind!
[Exit Romeo]
                   Scene II: Juliet and Ophelia's conversation.
[Enter Ophelia]
Juliet:
Thou art as good as the quotient between Romeo and the sum of a small
furry animal and a leech. Speak your mind!
Ophelia:
Thou art as disgusting as the quotient between Romeo and twice the
difference between a mistletoe and an oozing infected blister! Speak
your mind!
[Exeunt]
Un poco largo, ¿no? Para hacer una sucesión de Fibonacci lo mismo necesitas escribirte un tomo de 'Canción de Hielo y Fuego'...
Más info | Shakespeare

LOLCODE

Empezamos con trolls y terminamos volviendo al mundo de los memes ya que LOLCODE, diseñado en 2007 por Adam Lindsay, utiliza como palabras reservadas las frases, palabras y expresiones de los memes de gaticos y demás.
Su sintaxis es del siguiente modo:
  • HAI - Arranca el programa.
  • CAN HAS [LIBRARY]? - Pregunta si una librería (la de input/output, por ejemplo) está disponible, la carga si la respuesta es correcta y lanza una excepción ni no.
  • VISIBLE [MESSAGE] - Imprime un mensaje por pantalla.
  • KTHXBYE - Cierra el programa.
Por lo tanto un ¡Hola Mundo! a bote pronto sería:
HAI
CAN HAS STDIO?
VISIBLE "HAI WORLD!"
KTHXBYE
A ver si algún developer patrio con insomnio nos deleita con un OLAKASE o similares, el público arde en deseos.
Más info | LOLCODE







Diez lenguajes de programación mas raros del mundo y tu que crees deja tus comentarios.
Read More
      edit