dic 16

Parametros en funciones de V7

Posted in analisis, ideas

Uno de los problemas en el artículo anterior, que diferencia también a V6 y V7 es el paso de parametros a las funciones, en V6 no hay limite (aparentemente), mientras en V7 existe un limite de 10 parametros como máximo.

En realidad, ¿para que estan los limites?, ¿para que estan los obstaculos?, … ¡para superarlos!

Los limites están porque alguien, consciente o inconscientemente quiere impedirnos que esos limites sean superados, en este caso, se debe simplemente, a que el departamente de desarrollo ha considerado que 10 parametros era más que suficiente para poder ejecutar cualquier operación con este objeto.

Pero hay excepciones, y en esos casos, en que nos encontramos con un obstaculo, y un muro nos impide seguir nuestro camino, tenemos varias opciones:

  1. sentarnos y esperar a que el muro sea derribado
  2. acelerar e intentar saltarlo, chocando repetidamente hasta cansarnos
  3. intentar rodearlo, aunque ello nos suponga un esceso de tiempo y de esfuerzo

o con un poquito de imaginación, y un poquito de esfuerzo también, pero sin excederse,

  • abrir una puerta que nos permita cruzar al otro lado

Y para solucionar el probema de la limitación de parametros en las funciones, hemos abierto esa puerta:

Para esto, solo necesitamos pasar 1 o varios parametros en la llamada a la función, y en cada parametro podemos encadenar tantos valores como sea necesario, usando un separador “;”, por ejemplo.

Dentro de la función, como ya habeis imaginado vosotros, solo necesitaremos usar la funcion del sistema StringSection para volver a separar los valores de cada parametro recibido, y procesarlos como sea necesario.

La solución es sencilla, y no solo permite pasar algunos parametros más a la función, sino que elimina completamente la barrera.

Soluciones como esta, las estamos inventando a diario, pero es dificil imaginar una solución y mucho menos cuando aún no se ha presentado el problema.

….

Uhmmmmmmm

….

y ya puestos, si hemos abierto una puerta para pasar al otro lado, me pregunto:

¿porque no puedo utilizar la misma puerta para volver?

y la respuesta es ¡SI!, la puerta se abre en las dos direcciones,

por tanto, tambien puedo realizar la misma operacion para retornar varios resultados de una misma función, encadenando los valores antes de retornar el resultado y volviendolos a separar en el proceso o evento que recibe el resultado de la función.

Yo, he abierto la puerta, pero si alguien tiene alguna idea para que la puerta sea automatica y se abra sola ante nuestra simple presencia, eso siempre es de agradecer.

PDF Creator    Enviar artculo en formato PDF   
comments: 21 »
nov 9

¿Life is soft?

Posted in analisis, aplicaciones, v7

Durante mucho tiempo hemos estado trabajando en este proyecto, que se inicio en un momento en que se hacia necesario un cambio.

El punto de inflexion fue marcado por la Conference’06 (enero-2006), en aquel momento, decidimos que habia que definir un nuevo sistema de gestion que sirviera como base a las multiples aplicaciones que teniamos en produccion hasta entonces.

Fruto de mucho esfuerzo y muchas pruebas, nos aseguramos que todo “encajaria” perfectamente, y no solo eso, tambien que fuera ampliable en todo aquello que los clientes pudieran necesitar en un futuro proximo. ¿Quieres ver el esquema?

El resultado podria calificarse de excelente, pero no perfecto, y no todo el recorrido fue un paseo, hemos tenido que superar obstaculos, muchas preguntas y respuestas, y muchas de las pruebas realizadas no dieron el resultado esperado, y tuvimos que realizar algunos proyectos hasta 4 veces, y no porque el proyecto no funcionara la primera vez, se relizo una segunda vez, una tercera y hasta una cuarta vez, porque los resultados obtenidos tenian que ser los mejores, porque solo realizando pruebas, teniamos informacion suficiente para saber cual de las opciones presentadas era la mejor, y sobre todo, porque cualquier proyecto que se realizaba tenia que ser “ampliable” en el futuro y permitir cualquier tipo de compatibilidad con el resto de modulos, sin afectar a dichos modulos directamente y permitiendo su acoplamiento con un minimo de esfuerzo.

Despues de tantas pruebas en su mayoria, realizadas con versiones antiguas como “vv5.x” y “v6.x”, aparecio por fin V7, en febrero de 2009 y comenzamos el desarrollo de la aplicacion. Pero ya teniamos una parte importante, muy importante y probada en ejecucion, los pilares de la aplicacion, la estructura de tablas.

Sin grandes preocupaciones por el esquema de lo que consideramos que a nivel de estructura estaba definido para ser muy eficiente en su ambito de negocio (un E.R.P. altamente personalizable con poco trabajo), nos centramos en un problema nuevo que obligaba a tomar nuevas decisiones:

Hasta entonces (en v6.x) estabamos a costumbrados a trabajar en un mismo mapa que contenia todo el desarrollo del ERP.

V7 nos daba la posibilidad de modularizar la aplicacion, y eso era muy bueno, pero, ¿que tablas debiamos colocar en cada proyecto? para que el resultado fuera optimo.

La respuesta, mas de lo mismo, muchas pruebas, dedicacion de tiempo y estudio de los distintos resultados obtenidos.

El resultado de tanto trabajo es este:

Esquema de proyectos

Aqui tenemos la mayoria de los modulos de la aplicacion, unos son opcionales, otros imprescindibles, pero consideramos que la mejor forma de probar la eficiencia de V7 era realizar una aplicacion robusta, y eso nos llevo a detectar problemas y a solicitar las correspondientes mejoras en la herramienta. Y es cierto que quiza me quejo demasiado, pero cuando lo hago es porque ya he dedicado varios dias a realizar pruebas y creo que el problema debe ser solucionado en su origen, en la propia herramienta.

Si os fijais en la imagen, solo 2 de los proyectos corresponden a la aplicacion de “Flota”, un proyecto de datos y otro de aplicacion y podeis ver un video de su funcionamiento aqui, y tambien su ficha tecnica aqui. Otros 2 proyectos nos permiten tener nuestro propio LOG del sistema.

El resto, corresponden a otros modulos en desarrollo, la mayoria en fase “beta”, y sobre todo al producto estrella, el E.R.P. del cual podeis ver un pequeño video aqui, y algunas de sus especificaciones tecnicas aqui.

El resto de modulos los presentaremos mas adelante, pero todos estan muy avanzados, aunque es cierto que no estan finalizados, principalmente por una razon, consideramos que un modulo no esta terminado hasta que esta en ejecucion en una instalacion real y se han solucionado los problemas que permiten trabajar comodamente con dicha aplicacion.

Incluso hemos tenido que crear nuestra propia coleccion de funciones, ya que en algunos casos, funciones tan utiles como “convertir importes o numeros a texto“, existentes en V6.x, ya no estaban disponibles en V7, y hemos tenido que crearlas nosotros mismos. Esta es solo un ejemplo, pero hay muchas mas.

Ya con todo organizado y los proyectos en ejecucion, seguimos realizando mas pruebas, muchas mas pruebas, importacion de datos y analisis de los resultados obtenidos,

No espero que entendais el porque de mis continuas quejas, pero al menos algunas de estas quejas han reportado soluciones:

  • En la version 7.3 , se soluciono el problema existente en los calculos decimales (redondeo), problema importante donde los haya, si tenemos en cuenta que tabajamos continuamente con calculos matematicos de importes, porcentajes, etc.
  • En la version 7.4.1 se mejoro la eficiencia de vDevelop, como habiamos solicitado, no refrescandose aquellos paneles que no eran visibles en ese momento. Ahora puedo decir, que “Donde se usa” tarda entre 4 y 6 segundos en refrescarse, pero al menos, puedo decidir si deseo que ese panel este activo o no.

Estos entre otros, son algunos de los mas importantes.

Y todo esto, ¿por que?

Pues basicamente para demostrar, aunque no tengo necesidad de demostrar nada, que no nos quejamos por aburrimiento, porque hay que perder el tiempo en algo, o simplemente por dañar la imagen de Velneo, nada de eso. Nos quejamos para que nos escuchen, nos quejamos porque para “mamar” hay que “llorar”, nos quejamos porque llevamos tiempo esperando a que el eslogan de Velneo (¡Life is soft!), sea una realidad, y no un cuento para :( .

Solo espero que la 7.5 nos permita dar la puntilla, y conseguir que no se quede solo en proyectos, queremos que sean una realidad y permitir a los clientes disfrutar con nuestras aplicaciones. Porque, pese a todas las criticas hacia a Velneo en este blog, y aunque no os lo creais, lo que mas me gustaria, es no tener nada que criticar, porque eso significaria que ellos hacen bien su trabajo y los demas podemos trabajar y rentabilizar todo el esfuerzo realizado.

¿Necesitais mas pruebas de que hemos apostado por Velneo? o ¿Ha llegado el momento de cambiar de herramienta?

Y respondiendo a la pregunta que realizabamos en el titulo de este “post”, la respuesta es NO, Life is hard!!!, pero la verdad es relativa, depende del tiempo y el espacio, quiza la semana que viene la respuesta sea diferente.

PDF Creator    Enviar artculo en formato PDF   
comments: 10 »
sep 30

Mejorar el rendimiento en ejecución

Posted in analisis, foro, ideas, utilidades

Estas ultimas semanas ha habido mucho ambiente con algunos temas del foro, y pese a que me gustaria haber participado mas, no he podido. Ya sabeis, ¡me he pasado mucho tiempo en la cocina!, :)

Y al margen de suplicas y quejas, el trasfondo de todo, es que muchas veces hacemos las cosas mal, y la primera reaccion es intentar culpar a los demas.

Como no he tenido fisicamente tiempo, no he podido realizar pruebas de rendimiento para concretar esta informacion con mas detalle, pero si hay conceptos que deberiamos tener muy claros para mejorar la respuesta de las aplicaciones.

Pero, igual que antes he tratado de defender a Velneo que no tiene la culpa de nuestros errores como programadores, tambien voy a decir que si tiene la culpa de no publicar un articulo donde se haga hincapie en estos aspectos, y se deje claro que opciones son las mas recomendables, en segun que situaciones.

Y es que, cuando nosotros trabajamos bien, y realizamos desarrollos ejemplares, los clientes estan contentos y hablan bien de Velneo y tambien de nosotros, pero cuando no es asi, el cliente termina cansado, descontento y la culpa, no suele ir al programador, porque el programador trata de liberarse del problema culpando a la herramienta.

Sea por una razon o por otra, lo que si esta claro, es que deberiamos tener una serie de Test comparativos de respuesta en distintas situaciones:

Tenemos o deberiamos tener claro que:

  1. un proceso en 1 plano (ejecutado en la maquina del cliente), es mas lento que un proceso en 3 plano (ejecutado en el servidor). Pero hay veces que no podemos ejecutar el proceso en 3 plano, p.e. cuando tenemos que mostrar mensajes en el interfaz del cliente, o en el proceso debe interactuar el usuario de alguna forma.
  2. una busqueda en 1 plano (en el cliente), es mas lenta que si ejecutamos la misma busqueda en 3 plano (en el servidor).
  3. una lupa es mucho mas lenta siempre que Cargar lista y que una Busqueda por un indice, pero si no tenemos mas remedio, al menos, deberiamos ejecutar la lupa en 3 plano (tutor de busquedas y lupas en 3 plano).
  4. mostrar una rejilla de una tabla siempre es mas rapido si no aparecen campos Formula en el contenido de las columnas, es mucho mejor mostrar campos numericos o alfabeticos con contenido inicial.
  5. mostrar campos en una rejilla usando “punteros singular de plural por indice“, penaliza el rendimiento con grandes cantidades de registros (incluido el dia 15-dic-2010)
  6. un campo numerico con una formula en su contenido inicial es mucho mas eficiente que un campo formula, sobre todo si este debe aparecer en rejillas o informes con calculos masivos.

Pero hay otros conceptos que no quedan tan claros, ¿que es mas rapido?, o ¿como afecta al servidor? en las siguientes comparaciones:

  1. Un proceso con Cargar lista, o un proceso que lanza una Busqueda, si tenemos en cuenta que en ambos casos se utilizaria el mismo indice o grupo de indices, sabiendo que los 2 se ejecutarian en el mismo plano. Que diferencias habria si ejecutasemos en 1 plano y que diferencias habria si ejecutasemos en 3 plano, p.e.
  2. Del mismo modo, y bajo el mismo plano de ejecucion, cuando las circunstancias lo permitan, que se debe usar, el Tubo “de Lista” o “de Ficha“.
  3. En una rejilla, el rendimiento de Suma acumulada de toda la columna, deberia ser igual que usar la suma acumulada de un campo, si indicamos como campo esa misma columna y no indicamos condiciones. Pero, ¿es asi?
  4. Cuanto tiempo puede permanecer en ejecucion un proceso en el servidor antes de que sea interrumpido y las transacciones deshechas.
  5. Si tenemos que hacer un proceso de carga masiva de datos, creando registros nuevos, que es mas rapido, el Tubo de ficha o Crear nueva ficha en memoria + Alta de ficha

Seguro que algo se queda en el tintero pero si sois tan amables, ire actualizando el “post” a medida que se aporten nuevas cuestiones.

Visto esto, no se trata de comparar rendimientos de Velneo V7 con otras herramientas, ¡NO!, no nos interesa saber que V7 es mejor o peor que SQL server o que Oracle.

Lo que realmente nos interesa es como aprovechar el rendimiento del servidor al maximo, eso ¡SI!

¡¡¡ queremos programar bien, y optener el mejor rendimiento de la base de datos !!! y para ello necesitamos conocer esos pequeños detalles que marcan la diferencia entre un “funcionamiento correcto” y un “funcionamiento optimo

PDF    Enviar artculo en formato PDF   
comments: 4 »
sep 28

Pack: La receta del dia

Posted in analisis, packs, vDevelop

Aqui os dejo todos los platos del menu, por si alguien quiere repetir:

Ahora, que ya has descansado de la comilona, ¿que piensas?

¿Te gusto el post?

¿Te parece posible o probable esta estructura para V7?

¿Crees que Velneo nos diria cuanto me he acercado?

¿O crees simplemente que ya no tengo neuronas?

😀

PDF Creator    Enviar artculo en formato PDF   
comments: 4 »
sep 27

El chupito (La receta del dia – y VI)

Posted in analisis, vDevelop

el chupito

el chupito

El chupito de hiervas que no falte, aunque estemos “a reventar”

¿Has prestado mucha atencion a los POST anteriores relacionados?, si la respuesta es afirmativa, ¿serias capaz de decir que es lo que falta en el grafico presentado en el postre?, porque ¡esta incompleto!, y no me refiero a los cambios realizados para abstraer la tabla de objetos. Si lo sabes, haz el favor de ilustrarnos, que ya perdi la neurona por completo.

Y ahora que tenemos una idea de como podria funcionar V7, parece todo tan facil.

Pues no, no es tan facil, ahora hay que conseguir que todos los objetos funcionen correctamente, y que se representen graficamente segun sus propiedades y atributos.

La verdad, no estoy seguro de cuanto me he podido acercar a lo que seria el diseño de V7, eso si, sin profundizar demasiado para no complicarlo mas.

Pero si solo me hubiera acercado un poquito, ahora el chupito, deberia ser una invitacion por parte de Velneo, ¿como?

Pues creando una API que nos permitiera cambiar algunas de las propiedades de los objetos “en caliente”, y ¿para que?

Pues ahora imaginad que queremos crear un casillero, pero no se cuantas columnas debe tener, porque el nº de columnas va a depender del nº de registros que hay en una tabla. Si pudieramos cambiar esta propiedad en el objeto casillero, en caliente, seria un puntazo. Claro que esto tambien se podria solucionar con un campo formula en la propiedad “Nº de columnas”.

Ahora solo falta imaginar que otras propiedades de objetos deberian estar abiertas al desarrollador, (pero no todas) que luego surgen los problemas.

Yo me pongo a imaginar, y se me ocurre, ¿por que no?

Y si pudieramos exportar las propiedades de los objetos en algun formato estandar como XML, CSV, LML :) , JSON.

Y si ademas pudieramos importar los objetos y sus propiedades en alguno de estos formatos, esto nos permitiria crear objetos en caliente (he dicho “objetos”, no “clases”)

Sigo soñando … 😀

Y luego me despierto … :(

Lo dicho, al final para que sirve todo esto que os he contado, ¡para nada!, solo era una chifladura mia, o ¿si sirve?

Create PDF    Enviar artculo en formato PDF   
comments: 3 »
sep 24

El postre (La receta del dia: y V)

Posted in analisis, vDevelop

Y para finalizar, un postre helado, nata con nueces y un poquito de caramelo liquido, “uhmm”

Y de postre, como quedaria el esquema completo de lo visto hasta el momento,

Esquema completo
Esquema completo

Pero esto no es lo que habiamos visto en los platos anteriores, bueno, el primer plato si, pero el segundo ha cambiado,

¡CIERTO!, el segundo plato lo hemos cambiado, pero ha sido para mejorar.

Por eso es el postre, he llevado la abstraccion al limite, y eso significa que “OBJETOS” permite definir cualquier tipo de objeto, una solucion, un proyecto (de cualquier tipo), un objeto de un proyecto (una tabla, un formulario, un informe, una variable, un tubo de ficha, etc.)

Y ¿como podemos hacer esto?, pues utilizando las clases. Si ya hemos definido clases para cada tipo de objeto, ahora solo tenemos que crear un objeto y decirle a que clase pertenece.

Ademas, los proyectos, son objetos ¿no?, tienen propiedades, y los Objetos, pues tambien tienen propiedades, y por supuesto, los Controles (sub-objetos), tambien tienen propiedades.

Pues fijate en el grafico, y veras como “Clases” hereda de si misma, para permitir sub-clases, y del mismo modo, Objetos, puede heredar de si misma para tener sub-objetos o “controles”. De este modo un INDICE es un sub-objeto de TABLA, y pertenece a una sub-clase “tabla.indice” que hereda de “tabla

Y ahora que nos hemos comido el postre y ha finalizado el banquete, espero que esteis saciados y quiza necesiteis una siesta para reposar tanta comilona , pero no olvideis una cosa,

hay que lavarse los dientes, 😀

¿alguien quiere un chupito? …

PDF Download    Enviar artculo en formato PDF   
comments: 3 »
sep 23

El segundo plato (La receta del dia IV)

Posted in analisis, vDevelop

Objetos

Objetos

Por fin, ya tenemos el entrecot a la pimienta, aunque si alguien desea pescado, que lo diga …

Ahora si, vamos a crear nuestros primeros objetos, y para eso teniamos la estructura inicial, que combinada con el primer plato, nos va a permitir crear cualquier objeto

¿Como?

Sencillo, ahora creamos un objeto y le indicamos que pertenece a la clase “variable“, y como esta clase ya sabe mucho, nos muestra unicamente las propiedades que podemos asignar al objeto.

Pero, si estamos dentro de un proyecto de datos, como sabemos que objetos podemos crear. Pues sencillo, solo tenemos que hacer una consulta de todas las sub-clases que heredan de proyecto y que tengan la propiedad de_datos = True, asi tenemos como resultado: Variables, Tablas, Tablas estaticas, Constantes, Funciones, etc.

Y ahora que ya hemos creado el objeto, este hereda todas las propiedades de la clase a la que pertenece y ¡voila!, ahora ya solo queda modificar los parametros de esas propiedades para conseguir un objeto unico y diferente al resto.

Entre las propiedades del objeto tenemos el Identificador, el Nombre o descripcion, Comentarios, Tipo de variable, etc.

Pero que nadie se levante, que aun nos queda el postre.

PDF Printer    Enviar artculo en formato PDF   
comments: 4 »
sep 22

El primer plato (La receta del dia III)

Posted in analisis, vDevelop

Ahora que ya tenemos los ingredientes y hemos puesto unos entrantes para hacer la espera mas llevadera,veamos que tal guisa el cocinero,

de primero, una sopita de marisco, rica y facil de digerir, 😉

Clases y propiedades

Clases y propiedades

Ahora necesitamos definir las diferentes propiedades que necesitamos para cada objeto, y creamos una tabla para este efecto.

Las clases, pues de lo mas importante que vamos a necesitar:

Cada clase nos va a permitir definir un tipo de objeto, y a cada una de estas clases definidas, le vamos a asignar un grupo de propiedades, p.e.:

  • Si definimos la clase “proyecto“, podriamos asignarle las propiedades: de_datos (que admitiria los valores True/False) y la propiedad de_aplicacion (tambien con los valores True/False)
  • Podriamos definir una sub-clase “variable” (proyecto.variable), esto significa que tendria las propiedades de la clase principal “proyecto” y ademas, sus propios atributos. Asi una variable global, podriamos saber si puede pertenecer a un proyecto de datos, a uno de aplicaciones, o incluso a ambos. Y como atributos propios, podemos saber si la variable es Numerica, Alfabetica, Booleana, etc, ademas de si es Array (True/False), y si lo es, el numero de elmentos.
  • Podriamos definir tantas clases como objetos tengamos disponibles, y a cada uno, darle unas propiedades diferentes.

Podria incluir mas ejemplos con otros objetos, pero no quiero hacer el articulo mas pesado de lo absolutamente necesario y es para todos los objetos igual, definir sus propiedades.

Las clases, ademas son perfectas para transmitir los genes, como hemos visto al crear la clase “variable”, que hereda de su progenitor mas cercano, el “proyecto”.

Pero claro, hasta ahora, aun no hemos creado ningun objeto, lo unico que podemos hacer es: definir las propiedades que tendra cada objeto, pero no tenemos los objetos, aun no.

Se va abriendo el apetito, eh!

Voy pidiendo el entrecot a la pimienta, 😀

PDF Printer    Enviar artculo en formato PDF   
comments: 6 »
sep 21

Los entrantes (La receta del dia II)

Posted in analisis, vDevelop

Antes de empezar a cocinar nuestra receta, tenemos que preparar los ingredientes, y porque no decirlo, el comensal tiene que esperar un poco, y asi tendra mas apetito y sera mas permisivo ante posibles excesos o carencias en los condimentos.

Pero si no deseais esperar, se preparan unos entrantes y a picar, 😉

Asi pues, voy a plantear un ejemplo:

Imaginad que debemos desarrollar un proyecto con V7, o un mapa con V6 (da igual), y la mision es permitir crear los diferentes objetos (tablas, formularios, informes, etc) que luego vamos a necesitar para nuestro interfaz.

¿Que es lo primero que necesitariamos?

La respuesta es sencilla, lo primero que hacemos en todos los proyectos es definir las estructuras de datos, tablas, campos, indices, etc, definimos “el proyecto de datos”. Y si usamos V6, pues definir la parte izquierda del editor.

Y como seria esta estructura para V6:

Esquema del editor en V6

Esquema del editor en V6

Al menos asi es como hice el esquema de datos para los objetos de la V6, pero esto es pura ficcion, a menos que alquien de Velneo lo ratifique.

Y ahora que todo es mucho mas fino, esta mas pulido y mejorado (al menos en teoria), en V7 seria:

Esquema de vDevelop V7

Esquema de vDevelop V7

La diferencia es clara, la abstraccion de V7 es mucho mas eficiente.

Con estas estructuras de tablas, ya seriamos capaces de definir practicamente cualquier objeto, ¿no?, pues va a ser que ¡NO!

Y es que, aun falta mucho para llegar al postre, aun estamos en los entrantes, 😀 (no olvideis lavaros los dientes al finalizar )

¿vamos a por el primer plato?

PDF Download    Enviar artculo en formato PDF   
comments: 5 »
sep 20

La receta del dia

Posted in analisis, vDevelop

Pasado reciente, 25 de julio de 2010, 14:00, en Ciudad Real, 42º a la sombra, una rubia muy fria, pero no pienses mal, hablo de una cervecita helada, y para comer …

Pues que va a ser, que mejor que un gazpacho fresquito, para chuparse los dedos.

Pero esto es un juego y se trata de probar, o mejor dicho, de 2 turistas que aun no han probado el gazpacho, y digo turistas, por que no se si quedara alguien de por aqui que no lo haya probado ya.

Seguimos el guion, y damos gazpacho a nuestro primer turista, es la primera vez que lo prueba, y tras saborearlo un ratito, puede gustarle mucho o no gustarle, ¡vamos que le gusta!, y piensa, “Uhmmmmm” mientras se relame y se prepara para zamparselo enterito.

Y se acerca a nosotros el segundo turista, pero en este caso se trata de un profesional de la cocina, y tras probar por primera vez el gazpacho, la primera reaccion podria ser la misma que la de nuestro primer turista, “Uhmmmm”, pero inmediatamente despues, se prepara para cargar una segunda cucharada, saborearlo bien y despues … ¿¡ nos dice cuales son los ingredientes !?, y nos lo dice en un tono exclamativo/interrogativo, como esperando a que le confirmemos que su respuesta es la correcta: tomate, cebolla, pepino, pimiento, aceite de oliva, vinagre, sal, … y si, le confirmamos que esa es la receta.

Y yo, que no soy experto en cocina, puedo decir cuales son los ingredientes de esta sabrosa receta, porque, aprovechando que no miraba nadie, he leido la etiqueta del tetrabrik.

Ademas, una buena comida, entra mucho mejor, cuando sabemos sus ingredientes, y sabemos que no hay cosas raras.

Ya estareis pensando que se me ha ido la pinza, y os equivocais, ¡ya hace mucho tiempo que se me fue! 😀 , asi que, aun a riesgo de hacer el ridiculo, y esta vez sin mirar la etiqueta del “brik” y sin hacer trampas, he decidido aventurarme a dar la receta y mostrar el esqueleto de vDevelop, con permiso del “chef-quitecto”. :)

¿os gustaria saberla? o,

¿no quereis saber lo que comeis?, y solo os interesa saber si esta bueno.

PDF Creator    Enviar artculo en formato PDF   
comments: 9 »