2010/11/14

IBM to join OpenJDK

"There’s not a moment to lose!", the words which said Mark Reinhold in his blog. So, here is the note, taked from
http://blogs.sun.com/mr/entry/ibm_to_join_openjdk

"I’m very pleased that IBM and Oracle are going to work more closely together, and that we’re going to do so in the OpenJDK Community. IBM engineers will soon be working directly alongside Oracle engineers, as well as many other contributors, on the Java SE Platform reference implementation—starting with JDK 7.

I expect IBM’s engineers to contribute primarily to the class libraries, working with the rest of us toward a common source base for use atop multiple Java virtual machines. We each have significant ongoing investments in our respective JVMs; that’s where most of the enterprise-level feature differentiation between our respective products is found, and it makes sense for that to continue. Focusing our efforts on a single source base for the class libraries will accelerate the overall rate of innovation in the JDK, improve quality and performance, and enhance compatibility across all implementations.

Our tighter collaboration will be evident not just in OpenJDK but also in the Java Community Process. IBM has endorsed Oracle’s proposal for Java SE 7 and Java SE 8, which already has strong support from across the community. We’ll also join forces to enhance the Java Community Process so that it remains the primary standards body for Java specifications.

This is excellent news, for the Java SE Platform and for OpenJDK. I’ve gotten to know many of IBM’s top Java engineers over the years, and I now look forward to working more closely with them." - Mark Reinhold

2010/11/03

Una entrevista

Hace unos días, alguien me hizo unas preguntas sobre el proceso de desarrollo de un software. En este contexto, hubo una pregunta que me llamó la atención, fue esta: ¿hay algún cambio después o durante la fase de desarrollo? (Creo que la pregunta se refiere sobre un cambio en las fases de análisis y/o diseño cuando estamos en la etapa de desarrollo, entonces, la pregunta sería más precisa de la siguiente manera: ¿durante la etapa de desarrollo, puede haber algún cambio o modificación en los productos generados en las etapas de análisis y/o diseño?)


En mi humilde opinión, DESPUéS de la fase de desarrollo no debería existir ningún cambio, dado que lo siguiente a realizar es la fase de despliegue (deployment), y esta fase nos conduce a un ambiente de producción, donde el cliente puede probar y trabajar con el producto. Pero, ¿qué hay sobre algún cambio DURANTE la fase de desarrollo? He aquí mi opinión:


El desarrollo de un producto de software NO DEBE verse por etapas excluyentes, por ello la relevancia e importancia de las metodologías iterativas. Es decir, en la etapa o fase de desarrollo puede existir la necesidad de iterar hacia la etapa de análisis y/o diseño a fin de atender nuevas problemáticas durante el desarrollo del sistema.


En lo personal, no creo en un análisis y diseño perfecto, y esto es una crítica respecto a la ingeniería de software en comparación con otras ingenierías. Es decir, es muy probable que en casi todos los proyectos de software surjan cambios a medida que se avanza. No obstante, no todo está perdido. Si se sincronizan diagramas con código se puede obtener una conversión fiel de los diagramas a código, y si es necesario realizar algunas modificaciones a nivel lógico (programación) la sincronización realizada nos conducirá a la representación fiel del código a diagramas. En resumen, me refiero al Desarrollo Conducido por Modelos y la Ingeniería Inversa. Espero poder platicarle un poco más sobre estos temas en los próximos posts.

An advice/Un consejo

English


In response to a comment from my colleague and friend, Jose Alberto L. Hdez. I will try to post in both language: spanish and english. But there is a "little" problem (yes, sure, there isn't little problems, I'm being sarcastic): the time, I don't have too much time to post in both language, so if anyone of my collaborators can help me, I will be very happy, and, in soon (I pray to God, life and work give me time) I will make this bigger (migrate the blog, make a forum, and other things), so I look forward to your support, is nice to think that I have at least two or three followers.

But, anyway, whatever, in the next post I will translate my previous post.

Thanks Bob for your advice!

Español


En respuesta a un comentario de un colega y amigo, Jose Alberto L. Hdez. trataré de postear en ambos idiomas: español e inglés. Pero hay un problema “pequeño” (sí, claro, no existen los problemas pequeños, estoy siendo sarcástico): el tiempo, no tengo mucho tiempo para postear en ambos idiomas, así que si alguno de mis colaboradores puede ayudarme, seré muy feliz, y, próximamente (ruego a Dios, la vida y el trabajo me den tiempo) haré esto más grande (migraré el blog, abriré un foro, y otras cosas), así que busco su ayuda y colaboración, es agradable pensar que al menos tengo 2 ó 3 seguidores.

Como sea, en el siguiente post traduciré mi post anterior.

¡Gracias Beto por el consejo!

An interview

A few days ago someone made me some questions about the software developmente process. In this context, there was a question that caught my attention, was this: is there any change after or during the development phase? (I think that question it points to the phases of analysis and design, then, the question will be more precise in this way: Is there any change for the artifacts built in the analysis/design phase, DURING the development phase?)

In my personal, and self-effacing opinion, AFTER the development phase should not exist any change, because the next thing to do is the deployment phase, and this deployment phase drives us to an production enviroment, where the client can try and work with the product. But, what about DURING the development phase? Here is my thought:

The software development process SHOULD NOT BE like disjoint phases, this is the reason and the main stream in the iteratives approaches/methodologies. I mean, in the development stage/phase we can need iterate to analysis or design stage/phase to address new issues during system development.

Personally, I don't believe in the perfect analysis and design for a software, and this is one of the weakest (perhaps the weaker) point of software engineering. Then, is highly probable that, in almost all software projects we require any change as we progress...

But not everything is a waste of time: synchronizing our diagrams to code we can have a faithfull translation from diagrams to code, and if we require, then make any change in the logic (code) and build again our diagrams. Summarizing, I'm talking about Model Driven Development and Reverse Engineering. I hope I can talk you a little about these topics in the next posts.

What do you think? Any comment would be apreciated. Doubts? Questions?

2010/10/16

Acknowledgments (part II)

Of course my acknowledgments goes too for:



who guide me and and answered my e-mails, my doubts. Thank you so much for your exceptional help, your advices. This has been a great/wonderful experience!


I want to make it clear some things, mainly this: the order in which the names appear is none a rating/classification criteria or to decide who is more important, due to everyone is important and their help, advices, guides too. Coming soon I'll post the advices from Yessenov and Dennis.

Acknowledgments (part I)

Hereby I want to extend my acknowledgments to profesor Homero Alpuín Jiménez, who support me, guide me, teach me in my master thesis (and too in my master classes). His last contribution was a guide for the mathematical formulations for linked lists, he told me: the linked list's mathematical logic presumably can be derived from the operations push, pop for the stack data structure (finally, it seems a linked list is an stack implementation, something like that -please, somebody correct me if I wrong-).


Really I'm not working with that, is not a goal for my thesis, but is an advice from my profesor of Proyecto Terminal - Terminal Project (I mean the class for the thesis). the Dr. María del Pilar Pozos Parra. So, it's only a little bite of my life!! : s

2010/09/25

Mathematical formulations for linked lists

Hello to everybody! I'm working with my master thesis based on verification and validation external using Design By Contract for Java. Specifically checking JML specifications, so I have one question about JML specifications, any help would be appreciated.


Question


For the case of LinkedList's JML specifications, Does anyone know where can I get the mathematical expressions for these specifications? I've really looked in (just are some, of course I google it!):


Specifically looking the mathematical expressions for the methods (e.g. add(int, Object), Object get(int), etc.). I understand that the specifications really are written in JML, but someone wants the specification in mathematical expressions, the arguments are that "mathematical expressions aren't ambiguos" and then can be prove them by formal methods.

2010/09/12

Changing my posts to english

I'm considering change my posts (and my tweets too) to english. Some reasons to do this are:


  • Open my scope (people from anywhere can read and understand my posts, not only lationamerica)
  • The lack of comments to my posts (maybe the main reason is the previous one)
  • Doing this, change the idiom for my posts, I can practice the writing for my article that I have to write to get my master

If anyone has any comment, please write it. Any doubts, or advices will be wellcome.

2010/08/04

Apache HTTP Server + Glassfish Open Source Edition v3, vía AJP

Sí, sé que hay mucha información en San Google, pero resulta que TODOS los foros, blogs, manuales y demás que seguí decían práticamente lo mismo para realizar tal configuración, no obstante seguí las instrucciones, las repasé una y otra vez y ¡nada!


Bueno, sin postear TODO el proceso (pues prácticamente pueden encontrarlo de manera bastante fácil, sólo usen Google o su buscador favorito) sólo les comento y les aconsejo que cuando vean que algo no les da el resultado que desean (en mi caso con el Glassfish, y en general, me imagino que aplica para cualquier servidor), lo que debería ser y después claro de haber repasado una y otra y otra y otra vez, entonces, MODIFIQUEN MANUALMENTE EL ARCHIVO DE CONFIGURACIÓN para agregar las líneas necesarias y NO SE CONFIEN TANTO DE LA INTERFAZ GRÁFICA del servidor (si es que lo hay a disposición), en mi caso fue el Glassfish: prácticamente tuve que re-escribir unas líneas que ya había en ${GLASSFISH_HOME}/domains/domain1/config.xml referente a lo de habilitar el puerto 8009 (AJP) para Glassfish.


En fin, espero algún día poder detallar el proceso completo y cuál exactamente fue el error y cómo lo resolví. Mientras tanto tomen mi consejo pues muchas veces (más bien TODAS las veces) tendremos que lidiar con los interiores de los gigantes para poder entenderlos, mientras tanto, sólo conocemos su exterior que no siempre es la puerta correcta para hacer las cosas.

Por cierto...

, el título de mi entrada anterior se debe a que he tenido abandonado mi blog y pues quiero volver a postear cosas "nuevas". Por ahí tengo varios "ensayos" realizados en una materia de maestría que me gustaría postear. Pero bueno, si hay alguien que me lee, podrá darse cuenta por mi entrada anterior que estoy limitado de tiempo, con varios problemillas por resolver tanto de la aplicación Web que estamos desarrollando en DAIS como con mi tesis de maestría que con cualquiera de esos dos tengo para entretenerme durante los próximos seis meses…


Pero bueno, ya veremos dijo un ciego, sólo no quiero dejar tan "empolvado" mi blog y que no sea tan visible mi ausencia (digo, por si alguien me lee y nota mi ausencia).


Por mí encantado de postear mis experiencias respecto al desarrollo de apps, configuración de servers, etc., pero poco a poco primero Dios, conforme me vaya liberando un poco más. Tengo ganas de compartir con ustedes cómo resolví algunos problemas sobre TI, como el último que logré vencer: Apache HTTP Server + Glassfish Open Source Edition v3, vía AJP (ver siguiente entrada) por mencionar uno de tantos (y qué tal los conflictos que da VirtualBox cuando sólo se copia y se pega una máquina virtual Debian), en fin, son muchas las cosas que deseo compartir pero poco a poco, conforme me vaya(n) liberando de chamba.

Queriendo regresar por estos rumbos...

Bueno, también está en mi twitter pero replico aquí para su mejor lectura…


Miércoles 04-Agosto.2010; 3:56 AM: Ja! Se supone que debo de estar buscando la solución al problema que no se "actualiza" la CSS con JSF desde NetBeans desplegado en Glassfish Open Source Edition. Ah, y claro, es JSF + Primefaces 2.0.0 (sí, ya sé, ya está la versión 2.1 de Primefaces pero nada más no me cuadra porque cambió el estilo del menú de REGSE-CEDHTab); eliminé el div que mostraba el banner de la DAIS-UJAT de manera que sólo quedó el de la CEDH (Tabasco) y actualicé la CSS donde actualizó el nuevo banner de la app (el que me pasó el mtro. Chávez).


Al parecer TODO es rollo de una especie de caché que maneja el Glassfish y no "encuentra" la nueva imagen! O parece que primero debe cargarse el servlet de recursos de Primefaces y luego el Faces Servlet! Aún no lo he descubierto, pero cuando lo haga, se los hago saber (por si a algún loco desvelado como yo le interesa) y a eso súmenle que aún no he resuelto el problema de mi tesis de maestría donde no hayo cómo heredar las especificaciones de las LinkedListen JML, para que pueda probar distintas implementaciones de LinkedList que es uno de los objetivos de mi tesis para poder así comparar mis resultados con los resultado de Dennis et al. (http://bit.ly/ayOAIV) que es otro de mis objetivos.


Claro, yo manejo otra técnica que la llamo "Verificación Modular Externa", en fin, muchos problemas por resolver, como casi siempre, ya una costumbre! (A veces desearía tener menos problemas de éstos tipos y más problemas existenciales... digo, al menos los problemas existenciales de amor, la vida, la muerte, el dolor, etc., etc. no me quitarían tanto el sueño y me...) permitirían llegar temprano a la universidad. ¡Pero no! Bendito Glassfish, JSF, LinkedList, JML, commons-collections, NetBeans... y agréguenle que quiero entrarle a la onda de Ruby, Flex, ah! Y para no desviarme tanto en lo que estoy, algo de JSF: Spring Faces…


En fin con el Internet y quién sabe cómo o qué era lo que estaba buscando (ah sí, un amig@ me envió una invitación para eso de sexy sí o no, o... ¡algo así!) y buscando qué onda, me topé con un par de sitios donde replantean algunas cosas publicadas en dicho sitio de sexyono (!?)Sin más les dejo el link y les recomiendo el blog. ¡Jajajaja! Falso Profeta, un humor más verde/ácido y menos amarillo diría un spot publicitario Ahí les van varios links que les pueden agradar....


http://falsoprofeta.blogspot.com/2010/06/sexy-o-no-7.html


O qué tal este:
http://falsoprofeta.blogspot.com/2010/04/narcos-sin-r-parte-1.html


Uno más: http://falsoprofeta.blogspot.com/2008/09/maana-ahora-s-ahora-s.html


Y para cerrar con broche de oro: http://falsoprofeta.blogspot.com/2008/10/se-descompuso-mi-televisor-y-no-puedo.html


¡En fin! Espero no me llamen la atención mis maestros de DAIS por haberme dado un rato de ocio y tonterías. Regreso con mis problemas...

2010/03/08

México, ¿atacado por un terremoto?*

Prensa Web RNV/Aporrea.- Un reporte preparado por la Flota Rusa del Norte estaría indicando que el sismo que ha devastado a Haití fue el claro resultado de una prueba de la Marina Estadounidense por medio de una de sus "armas de terremotos".


La Flota del Norte ha estado monitoreando los movimientos y las actividades navales Estadounidenses en el Caribe desde 2008 cuando los estadounidenses anunciaron su intención de restablecer la Cuarta Flota que había sido disuelta en 1950, a lo que Rusia respondió un año después con una flota Rusa encabezada por el crucero nuclear "Pedro el Grande", comenzando sus primeros ejercicios en esta región desde finales de la Guerra Fría.


Desde finales de la década de 1970, los Estados Unidos han "avanzado enormemente" el estado de sus armas de terremotos y, según estos informes, ahora emplea dispositivos que usan una tecnología de Pulso, Plasma y Sónico Electromagnético Tesla junto con "bombas de ondas de choque".


El informe compara además la experimentación de la Marina Estadounidense de dos de estas armas de terremotos la semana pasada, cuando la prueba en el Pacífico causó un terremoto de magnitud 6.5 azotando el área alrededor de la ciudad de Eureka, en California sin causar muertes, pero con su prueba en el Caribe que causó ya, la muerte de al menos 140 mil inocentes.


Leer más >>


Seguir leyendo >>


Mis comentarios >>

Algoritmo de fusión de creencias

Les dejo el algoritmo PSMerge.m* desarrollado en Matlab. competition01.tim* es una instancia del problema de generación de horarios, usada en la International Timetabling Competition.


* Tomado de: http://gennaro-alphonse.blogspot.com/

2010/03/02

Asignación de horarios universitarios: un enfoque determinístico

Les dejo el enlace al artículo "Asignación de Horarios Universitarios: un enfoque determinístico" que presentó como ponencia el L. S. C. Genaro Alfonso Ramón Rodríguez expuesta en el Sexto Congreso Nacional de Informática y Sistemas 2009, llevado a cabo los días 23, 24 y 25 de Diciembre de 2009.

Fusión de creencias

La fusión de creencias se define como la operación de combinar información contenida en un conjunto de bases de conocimiento o creencias (posiblemente incompatibles entre sí) obtenidas de diferentes fuentes para producir una única base de creencias consistente...


Seguir leyendo >>

Hola de nuevo...

Hola a todos nuevamente y disculpen el momentáneo abandono pero estamos con trabajo hasta para repartir, pero bueno, no soy quién para contarles ni ustedes me están preguntando, así que a lo que vamos...


En los próximos posts difundiré los trabajos de un colega, quien trabaja con Fusión de creencias.

2010/02/10

Mi primer post, FreeNAS

Antes, quisiera agradecer a mi camarada Darío, por brindarme la oportunidad de aportar un granito de arena a este magnífico Blog. ¡Gracias!, en verdad.

Directito al grano. Quiero hablarles de una pequeña maravilla de la informática. Se trata de FreeNAS.

Sin temor a equivocarme, alguna vez nos ha sucedido que pasamos dias de desvelos en trabajos escolares, o noche tras noche dejamos encendida la pc descargando toda una colección de música y videos, o qué decir de nuestras queridas fotos de nuestros maravillosos años escolares o de viajes familiares, etcétera, y ¡¡saz!! ¡¡¡nuestro Hard Disk se muere!!! Y lo peor de todo ¡¡¡¡No respaldamos a tiempo!!!! (porque la verdad, qué flojera estar respaldando).

Pues aquí está la solución a tantos dolores de cabeza y al engorroso y fastidioso proceso de recuperar nuestros archivos con algún recuperador de datos (que al final de cuentas, no te recuperan ni el 90% de tus archivos borrados en una partición, sin mencionar que la mayoría se corrompen); FreeNAS.


FreeNAS es un pequeño SO, basado en FreeBSD, muy ligero y con una interfaz gráfica entendible. Realmente requiere de recursos miserables (32 mb en Hard Disk para su instalación y 96 mb en RAM, esto es una grosería, jajaja). Lo mejor de todo, es que es libre.

Su principal objetivo es el de reutilizar una PC "obsoleta" y algunos discos duros empolvados para hacer nuestro propio servidor de archivos casero, en el que podamos almacenar todos los archivos que deseemos; así, mantenemos seguros nuestros datos, y mantenemos ligera la PC al no tener almecenados tantos archivos en tu Hard Disk.

Otra ventaja de FreeNAS, es que posee servicios de protocolos como FTP, NFS, CIFS (anteriormente SMB ,que permite la conectividad con Linux y Windows) entre otros servicios.

Como ya había mencionado, los requerimientos son mínimos:
  • Una PC tarjeta de red y con al menos un disco duro para la instalación del software y el almacenamiento de los datos.
  • 32 Mb en HD
  • 96 Mb en RAM
  • Unidad de Cd-rom
  • Un teclado (necesario para la instalación y configuración básica, aunque después, ya no será necesario).
  • Al menos un HD (se necesita una pequeña partición de al menos 32MB de espacio para la instalación y el resto del disco, junto con un conjunto de discos duros, se utilizará para el almacenamiento de los datos, aunque esto puede ser configurable).


Si quieren obtener detalles técnicos de FreeNAS, consulten la página oficial aquí.
Si te decides por instalar FreeNAS, en esta página detallan perfectamente la instalación.

En un futuro post detallaré paso a paso la instalación, así que, estén pendientes y no duden en comentar.




2010/02/09

Arte en blanco y negro

No puedo dejar pasar la oportunidad de difundir algunas obras de Linda Huber. Simplemente me han dejado sin habla. Habilidad, lápices de grafito y carboncillos, entre otras técnicas son el resultado de sus obras.

Y para los que se pregunten qué tiene de ciencia o computación las imágenes pues qué limitada imaginación.







Ah, y no olviden hacer su pedido para este 14 de Febrero.

Y para los que quieran seguir sus pasos pueden encontrar how to y video tutoriales.

2010/01/16

Datawarehouse & Data mining

Lo prometido es deuda... Os pongo un trabajo que hemos desarrollado sobre datawarehouse y data mining. Los fuentes del ejemplo los tengo a mi disposición (desarrollado en conjunto con mi colega, el L. S. C. José Lázaro Sánchez Reyes), si les interesa algo sobre BI (Business Intelligence) háganmelo saber y veremos la posibilidad de postear más al respecto, o inclusive, abrir un foro.


Sus comentarios serán bienvenidos y agradezco la espera a los lectores de este blog (si es que los hay) y les informo que estoy evaluando la posibilidad de iniciar un proyecto de web services del cual ya les platicaré detalles...


Sin más, les dejo el enlace al desarrollo de DW y DM: Diseño y desarrollo de datawarehouse y data mining.

The Gamer

¿Serías un control de juegos?*

Los videojuegos son una de las facetas tecnológicas cuyos cambios se han notado más con el paso del tiempo. Hace aproximadamente veinticinco años, todavía estábamos tirando patadas a oponentes formados por pixeles o corriendo por ahí, tratando de salvar al Mushroom Kingdom de la invasión de los Koopas. Y ¿qué me dices de la PC? Quién no recuerda esos días en los que Wolfenstein 3D se posicionó como el gran favorito del público, enfrentándonos contra nazis en un ambiente que simulaba la tercera dimensión y con efectos de sonido por demás primitivos.

Actualmente las cosas son muy diferentes, las gráficas de los juegos se han convertido en una de las grandes exigencias de los usuarios, lo que resulta en títulos que se asemejan cada vez más a la realidad, por ejemplo, el nivel de detalles mostrado en los personajes de Uncharted 2 es simplemente sorprendente. Y otro elemento que ha evolucionado a lo largo de los años son los mismos controles que utilizamos para jugar; con el paso del tiempo el joystick se transformó en un control plano que cambió el stick por un pad direccional y posteriormente se agregaron la funcionalidad de vibración y los sticks análogos, que permitieron una retroalimentación mucho más completa entre el usuario y el juego.

Leer más >>
Seguir leyendo >>
Leer último >>

* Nota tomada de: http://msn.levelup.com/articulos/7669/Serias-un-control-de-juegos/ Por Rex Keeble... Se me hizo interesante ya que soy de la última generación en conocer y jugar con los joystick, esa palanquita del atari; primera generación en conocer el control del nintendo, y quienes hoy en día vivimos una importante revolución tecnológica y científica que no sólo impacta nuestros videojuegos, modos de pensar y vivir, es en sí un cambio total en nuestras vidas, en nuestro mundo globalizado...