Estimados amigos y compañeros, os deseo una Feliz Navidad y un próspero año. Os deseo de corazón que seáis muy felices y que estas fechas tan entrañables traigan Paz a vuestro corazón.
Ese es un maravilloso regalo.
Como Cristiano,para mi la Navidad es un tiempo muy especial, que nos permite nacer año a año, encontrando nuevas fuerzas para intentar ser luz y sal para el Mundo.
Dicen diversos diccionarios acreditados que una mandanga, en sentido familiar, es algo así como una excusa, como en “no me vengas con mandangas y ponte a trabajar…”. También puede ser un cuento, chisme o tontería, como “¡oye! ¡siempre sales con mandangas!. Incluso, alguna vez la escuché en un sentido figurado, de persona con ganas de pleito y barullo, como en “¡Mira que te gusta la mandanga!“… :-) Y en el caso de la entrada de mi blog, pienso que anda mas cerca de esa segunda acepción, propia de quien se aburre y sale con relicarios.
En esta ocasión, he rebuscado en el baul y he subido al servidor un pequeño ejemplo que, aunque no tenga valor en si mismo, por aquello de que fuera exquisito su código, mezclaba un tanto de todo, y me daba algo de tiempo mientras reviso y buceo en otros temas. Los días van pasando demasiado deprisa y las vacaciones hacen que se huela el descanso y el ocio, lo cual va un poco reñido con el mantenimiento del blog. =:-O
Además, siendo justos, dado que estamos aqui como quien dice entre amigos, diría verdad si reconociera que me fue util. Pero bueno… mejor que deciros que es o que no es, lo veais vosotros mismos.
Un segundo que prepare unas escenas. Upsssss
¿Veis…? Al ejecutar el fichero Impresion.exe (el cual queda residente y visible en la barra del sistema) me permitía ir procesando el contenido de unos ficheros de texto plano, de forma que, a medida que iban siendo creados, se leyera su contenido y se dispusiese en una lista de tareas.
Los ficheros siempre tenían la misma extensión. Para nuestro ejemplo los carácteres “sjc”.
En el video, se puede ver como copio al portapapeles uno de los ficheros (concretamente el primero de ellos lanzará la ventana del explorador con la dirección del blog) y lo pego en la carpeta donde reside el ejecutable. Y como resultado sucederá lo comentado. En la vida real, no pegaba ni cortaba ningun fichero sino que lo generaba desde mi aplicación principal, permitiendo delegar esa tarea a esa especie de “servicio”.
Estas eran las lineas que generaban el fichero, cuyo nombre era siempre aleatorio:
procedure TDemoBlog.VerWebExecute(Sender: TObject);
var
Parametros, FFile: String;
begin inherited;
Parametros:= '11111#Probando un ventana explorer'+
'#3#1#http://www.sjover.com/delphi#';
FFile:= Utilidades.PalabraAleatoria(10) +'.sjc';
Utilidades.SaveFile(FFile, parametros);
...
Y cada fichero generaba una linea de tarea que se mostraba en la ventana de la aplicación. En la imagen inferior podeis ver la ventana en la que existe un sencillo TListbox para mostrarlas.
Las dos funciones PalabraAleatoria( ) y SaveFile( ), pueden ser encontradas facilmente en internet con distintas variaciones.
procedure SaveFile(const FileName: TFileName;
const content: string);
begin with TFileStream.Create(FileName, fmCreate) do try
Write(Pointer(content)^, Length(content));
finally
Free;
end;
end;
function PalabraAleatoria(Longitud: integer): string;
const
Letras = '01234567890ABCDEFGHIJKLMNOPQRSTUVWXYZ';
var
n : integer;
begin
Result:='';
for n:=1 to Longitud do
Result:=Result+Letras[1+Random(Length(Letras))];
end;
Si tenéis curiosidad por ojear el codigo fuente lo podeis descargar desde el enlace siguiente:
Dentro de las fuentes, leed por favor el archivo leeme.txt donde os comento unas anotaciones necesarias.
Básicamente, existen dos clases: la clase que representa a la tarea a procesar (TTrabajo) y la clase que representa a la cola de tareas (TColaImpresion), con características similares a cualquier abstacción de tipo Cola. Mas abajo podeis ver un extracto del interfaz. La clase TColaImpresion, se apoya en una instancia de la clase TStrings, o lista de cadenas, que suele ser un recurso bastante comun y recurrido, para almacenar las tareas hasta que sean ejecutadas. Y finalmente, dos piezas importantes en el esquema son por un lado el componente Notificador (TShellNotification), que nos ayuda a descubrir que ha sido generado un nuevo fichero, y por otro una instancia descendiente de TTherad que va consumiendo, en un hilo secundario, las tareas de la cola, siguiendo el orden de antiguedad.
La pregunta que me queda responder es quizás el por qué.
No… no es que estuviera aburrido… Habitualmente uno escribe código porque existen nuevas necesidades o requerimientos que satisfacer, en un marco de trabajo mutable y caprichoso. Es lo mas normal. Sin embargo, en ocasiones, esas circunstancias pueden ser simplemente, que estemos encarando la actualización del entorno de desarrollo, y exista -a nuestro pesar- la necesidad de replantearnos el uso en el proyecto de un determinado paquete de componentes por otro que pueda ofrecer mejoras -o sean libres, o sea requerimiento del cliente, etc…-. Así, de la noche a la mañana y sin quererlo ni beberlo, nos veamos obligados a sustituir todo el codigo que afecta a los antiguos componentes por el codigo nuevo y con la necesidad de que el sistema siga funcionando, el nuevo entorno permita compilar sin los paquetes sustituidos y ademas, uno tenga el tiempo de hacer eso sin tener que abandonar el mundo y encerrarse en una cueva… Y eso es otra historia. Y además, por experiencia, amarga…
Realmente, estas líneas de codigo las escribí en el contexto de plantearme el cambio del sistema de impresión, de la suit de componentes que utilizaba. El proyecto contenía tropecientos mil informes distintos a cada cual mas intrincado y los generadores de informes, pese a ser muy similares unos de otros, son el peor sitio para perderse cuando uno tiene prisa.
Así que estas lineas fueron simplemente una estrategia para dilatar ese problema en el tiempo, de forma que fuera llevadero y asumible. Las unidades que iba a extraer del proyecto fueron aisladas dentro del modulo de impresión, de forma que el proyecto compilaba sin las referencias a los paquetes que dejaba, ya en el marco del entorno actualizado. Seguia teniendo el problema de la migración, porque eso no me lo resolvía, pero sí podía compilar e iniciar la sustitución progresiva de las misma. Por otro lado, tampoco era tan mala idea. He visto otras aplicaciones trabajar así. El servidor de fax de la empresa tiene un sistema similar: Habilita una carpeta compartida al alcance de todos los clientes de fax del sistema. y para enviar un fax, son creados simultaneamente un documento de texto que parametriza el envío y otro documento que representan los datos a enviar. Y poco mas. El servidor de fax se limita a monitorizar la carpeta y va procesando los ficheros anotando el exito o fallo de la operación de envío.
En este caso simplemente habia reservado una carpeta local para depositar los ficheros que representaban cada informe. Seguro que se os ocurren algunos detalles más (que un fichero de texto plano se puede compartir, que la aplicación se comparte con cualquier otra aplicación que sea capaz de escribir en un fichero de texto, y que además, se centraliza el uso de los recursos de impresión, siendo susceptible de monitorizar el consumo del mismo, etc, etc…).
Nada mas por hoy. Espero que estas lineas os puedan ser de alguna utilidad.
Durante esta semana tenía previsto hacer la actualización de los blogs del servidor por lo que es posible que en algún momento deje éste de funcionar. :-) No es que sea demasiado complicado el tema porque si algo se puede decir de WordPress es que han automatizado de una forma bastante sencilla todo lo que hace referencia a actualizaciones o complementos.
No obstante, siempre surgen historias… Todos los años me pasa lo mismo. Pienso que van a ser cosa de cinco minutos y acabo liado varios días.
Ya veis que se ha pasado la resaca del mundial. Con éxito pero pasó y se vuelve a lo cotidiano. Ahora volvemos a lo nuestro (tan pronto como resuelva el tema de las actualizaciones y las tareas de mantenimiento).
Es un buena época la del verano. Tiene sus pros y sus contras. A favor el tener mas tiempo libre que puede permitirte escribir, (más después de haber pasado las semanas anteriores liado con el tema del cambio de iva, que se ha sufrido en España desde el 1 de Julio y que ha requerido algunos retoques en las aplicaciones en algunos casos). En contra, que el tiempo libre es un bien precioso que hay que gastar también en otras cosas necesarias (leer, hacer deporte, tomarte unas cervezas con los amigos…). Cosas que habitualmente no sueles hacer con demasiada frecuencia.
Un día grande para nuestro fútbol, un día feliz, lejos ya de los sufrimientos y de los sinsabores de otros mundiales. Estoy feliz. Muy feliz. :-D
Y yo no es que sea demasiado futbolero, pero eso sí, de la ROJA hasta la médula. Lo siento por todos los equipos que hemos tenido que ganar para llegar a la final pero… este año es nuestro año.
Y en este mundial, con independencia de que al final ganemos la final, cosa que espero y deseo, y me muero de ganas, España ha demostrado la clase, el buen hacer y el buen futbol, la humildad y la nobleza. Ha tenido detalles que me han hecho sentir orgulloso de ser Español, como creo que muchos han sabido captar y valorar.
En fin… espero el Domingo ver a nuestro capitan levantar la copa.
El video de nuestra reina, Doña Sofía, bajando a vestuario me ha parecido tan simpatico que no tengo mas remedio que enlazarlo. :-)
Ante la inclusión en el Anteproyecto de Ley de Economía sostenible de modificaciones legislativas que afectan al libre ejercicio de las libertades de expresión, información y el derecho de acceso a la cultura a través de Internet, los periodistas, bloggers, usuarios, profesionales y creadores de internet manifestamos nuestra firme oposición al proyecto, y declaramos que…
1.- Los derechos de autor no pueden situarse por encima de los derechos fundamentales de los ciudadanos, como el derecho a la privacidad, a la seguridad, a la presunción de inocencia, a la tutela judicial efectiva y a la libertad de expresión.
2.- La suspensión de derechos fundamentales es y debe seguir siendo competencia exclusiva del poder judicial. Ni un cierre sin sentencia. Este anteproyecto, en contra de lo establecido en el artículo 20.5 de la Constitución, pone en manos de un órgano no judicial -un organismo dependiente del ministerio de Cultura-, la potestad de impedir a los ciudadanos españoles el acceso a cualquier página web.
3.- La nueva legislación creará inseguridad jurídica en todo el sector tecnológico español, perjudicando uno de los pocos campos de desarrollo y futuro de nuestra economía, entorpeciendo la creación de empresas, introduciendo trabas a la libre competencia y ralentizando su proyección internacional.
4.- La nueva legislación propuesta amenaza a los nuevos creadores y entorpece la creación cultural. Con Internet y los sucesivos avances tecnológicos se ha democratizado extraordinariamente la creación y emisión de contenidos de todo tipo, que ya no provienen prevalentemente de las industrias culturales tradicionales, sino de multitud de fuentes diferentes.
5.- Los autores, como todos los trabajadores, tienen derecho a vivir de su trabajo con nuevas ideas creativas, modelos de negocio y actividadesasociadas a sus creaciones. Intentar sostener con cambios legislativos a una industria obsoleta que no sabe adaptarse a este nuevo entorno no es ni justo ni realista. Si su modelo de negocio se basaba en el control de las copias de las obras y en Internet no es posible sin vulnerar derechos fundamentales, deberían buscar otro modelo.
6.- Consideramos que las industrias culturales necesitan para sobrevivir alternativas modernas, eficaces, creíbles y asequibles y que se adecuen a los nuevos usos sociales, en lugar de limitaciones tan desproporcionadas como ineficaces para el fin que dicen perseguir.
7.- Internet debe funcionar de forma libre y sin interferencias políticas auspiciadas por sectores que pretenden perpetuar obsoletos modelos de negocio e imposibilitar que el saber humano siga siendo libre.
8.- Exigimos que el Gobierno garantice por ley la neutralidad de la Red en España, ante cualquier presión que pueda producirse, como marco para el desarrollo de una economía sostenible y realista de cara al futuro.
9.- Proponemos una verdadera reforma del derecho de propiedad intelectual orientada a su fin: devolver a la sociedad el conocimiento, promover el dominio público y limitar los abusos de las entidades gestoras.
10.- En democracia las leyes y sus modificaciones deben aprobarse tras el oportuno debate público y habiendo consultado previamente a todas las partes implicadas. No es de recibo que se realicen cambios legislativos que afectan a derechos fundamentales en una ley no orgánica y que versa sobre otra materia
Este texto se está publicando en multitud de sitios web. Si estás de acuerdo, publícalo también en tu blog.
Recibía a media tarde en España un correo de Eliseo González. Ya le conoceis por entradas anteriores, y sabeis que pertenece a las personas que promueven la comunidad Hispana de Delphi desde DelphiAccess. Una de las comunidades mas activas y jóvenes, formadas en el crisol de la era de Embarcadero, aunque los miembros que participan y le dan vida, suman una larga experiencia en esa Vida de nuestra comunidad y son conocidos de tiempo atrás.
También hemos podido compartir algunos comentarios, con él y con otros compañeros a raíz de la entradas. El enlace a su pagina buscadlo como La Turbo señal, en la barra lateral derecha.
Y aunque no parezca demasiado extraño, esperaríamos encontrar temas tecnológicos y profesionales en esos correos… Sin embargo la comunidad no siempre se forma gestando grandes hazañas sino también con pequeños pasos diarios. Me vienen a la mente muchas reflexiones al hilo de la lectura de sus lineas.
En su correo acompañaba la dirección hacia una sección de sus foros que no conocía y que creo que os gustará , motivo por el que no he perdido tiempo para compartirlas con vosotros.
En esta dirección, que ellos han titulado como “Charlas con colegas” se han ido incorporando fragmentos de podcasting en los que se conversa de una forma natural y sencilla con algunos miembros conocidos de la comunidad. Y son conversaciones que hablan de la parte humana y personal, dando pequeñas pinceladas a las inquietudes y su visión personal del espiritu de Delphi, como personas que forman parte de la Comunidad.
Me comentaba Eliseo que la idea era un poco la de promover las relaciones personales a través de conocer mejor las señas de identidad de las personas que forman parte de la comunidad, alimentando ese espíritu que crea puentes de amistad. Y que quizás, en un futuro fructifique en proyectos.
Me parecían sus palabras ilusionantes… Hay muchas formas de promover y sacar adelante los proyectos pero todas pasan por una cosa: ilusión. Ese es el motor que os va a hacer avanzar y que puede dar sentido a la comunidad y a vuestra vida. Ilusión por hacer cosas y hacerlas bien… ilusión por compartir proyectos… ilusión por hacer que la vida de los demás sea un poco mejor.
Por cierto, la charla con Al Gonzalez no tiene desperdicio ya que Al (Alberto) tiene un sentido de humor muy sano y dicharachero. Pero también podéis escuchar a Andreano Lanusse, a Marco Satin o Juan Antonio Castillo, entre otros.
No se… algún compañero pensará también que este tipo de iniciativas son poco útiles desde la perspectiva del programador. Y sin embargo, son pequeños pasos para que la comunidad sea un poco mas sólida y homogénea.
Así que saber que existe gente que toma la iniciativa, que hace cosas, que propone proyectos, que ilusiona, que hace Comunidad y contribuye a generar valor añadido, es una garantia de que el Espíritu sigue vivo en algún rincón de nuestro viejo y cansado planeta.
De muchos pequeños pasos se acaba haciendo un camino largo y fructífero.
Comentarios recientes