All
|
NetBeans
|
Personal
|
Sun

Wednesday December 24, 2008
Presentaciones en Peru en Noviembre 2008
Para ser sincero estuve en Perú por una casualidad y sin tener muchas expectativas. Debido al estrés causado por la preparaciones del viaje antes de llegar a mi destino me sentía ya arrepentido de haber aceptado la invitación.
Sin embargo desde el momento de llegar todo cambio y empezó a ser una maravilla. La gente, el clima y el ambiente me agradaron mucho. De pronto, seducido por la riqueza y variedad, me embarque en un peligroso romance con la comida peruana. Lo malo de esta es que viene en porciones de tamaño familiar y aunque se puede pedir 'medio plato' siempre parece demasiado para una persona. En los primeros días solía cometer un error de no tener moderación y de mezclar demasiados sabores. En consecuencia mi estomago se puso de huelga y por el resto de mi viaje tuve que mantener una dieta y enfrentar (a menudo sin éxito) constantes tentaciones de romperla.
Por parte de los organizadores y participantes de los eventos recibí un trato como si fuese una estrella de pelicula. Nunca en mi vida me habian tomado tantas fotos (¡por favor mandenme algunas!).
Uno de los detalles chistosos fue que en una página me pusieron un titulo de doctor por equivocación y este error fue replicado tantas veces en varias referencias que ahora parece que no hay otra forma de corregirlo que matricularme a un programa de doctorado...
El evento principal al que atendía fue Jornadas Peruanas de Computación organizado por la Universidad Nacional Mayor de San Marcos - una institución bien conocida por ser la primera de este tipo en las Americas y por ser frecuentamente mencionada en la literatura.
Fue la primera vez que presentaba NetBeans a un auditorio que en su mayoría ya conocía esta herramienta. Me impresione por el nivel de proyectos realizados en la universidad y sobre todo por el gran entusiasmo que mostraron sus estudiantes.
El segundo evento al que atendí fue el VI CICIS / V CORECI en Moquegua - un pueblo en el sur del pais. Me encanto el cielo color azul oscuro con el sol caliente pero no quemante y los paltos (aguacates) con cada plato. También allí probé mi primero (y único) plato de cuy y tome otro esfuerzo para aprender a bailar (creo que esa vez finalmente llegue a mostrar algunas esperanzas). Ese congreso fue preparado por los mismos estudiantes, sin mayor participación de los profesores y a pesar de esto me pareció bien organizado. Me comentaron que para conseguir financiamiento organizaron eventos como rifas con mucho tiempo en antemano.
En Moquegua conocí a Juan Moroco, un docente de la Universidad del Altiplano en Puno. Juan me presentó una oportunidad de conocer a su pueblo ubicado a las orillas del lago Titicaca y de dar una charla en un evento que casualmente se estaba realizando por allí (CONTITEL 2008). Sin pensar mucho acepté su propuesta, pues desde que era pequeño el lago Titicaca fue para mi un místico símbolo de lo lejano y lo exótico y siempre tenía ganas de conocerlo personalmente. Fue una emoción grande llegar alli y encontrar usuarios de NetBeans además unos de ellos interesados especifícamente en las características que yo mismo desarollé (el soporte para PHP y GWT). Pues esto confirmó que mi trabajo es útil para gente en todo el mundo y darse cuenta de eso era una satisfacción enorme. Ahora mismo estoy armando un video de esta visita. La película se va a publicar en el portal NetBeans.TV dentro un par de semanas.
Mi paseo por el Perú fue concluido con una breve visita en Arequipa - la Ciudad Blanca como a veces la llaman sus orgullosos habitantes. Ese nombre viene del color de las rocas volcánicas que eran usadas para construir la parte antigua de la ciudad. Zeze Lazo - un dedicado evangelista de tecnologías Microsoft, otro personaje interesante que conocí en Moquegua me presto sus servicios de guía allí. Aunque en su horario de trabajo Zeze no perdía una solo ocasión para mencionar ventajas de la plataforma .NET, resultó una persona muy amigable y capaz de hablar sobre muchos otros temas interesantes. En particular le agradezco llevarme a una librería pirata, donde consegui un pocotón de novelas peruanas más manejable por el precio y en el tamaño que los libros que compre en librerías oficiales en Lima. Resultó una compra muy util, pues me toco pasar el mes siguiente en casa, esperando a que sanara el brazo que me rompi en mi viaje de regreso.
No se si es por el bajo porcentaje de profesionales que manejan el idioma ingles o por la situación legislativa pero el potencial de Perú en la industria TI aun no ha sido descubierto por las grandes compañas internacionales. Las empresas locales por el momento ofrecen pocas oportunidades interesantes. Como en Polonia, mi país natal, muchos de los mejores alumnos sueñan y cumplen su sueño de salir del país al graduarse.
Sin embargo me parece que los estudiantes peruanos tienen buena capacidad y a veces hasta mas ganas de trabajar que los mejores profesionales que he conocido. Esto junto con la ventaja de bajo costo finalmente debe resultar en el crecimiento del negocio del desarrollo de software local. Viajar y intercambiar ideas es siempre bueno, pero es una pena no tener otra opción de desarrollarse profesionalmente que dejar un lugar con tantas ventajas.
Creo el software libre es una de las maneras de ayudar al Perú, espero que mi trabajo también ayude un poquito. Espero volver a Perú pronto y verlo mejorar.
Mientras tanto les deseo felices fiestas y prospero año nuevo a todos!
Posted by tomslot
( Dec 24 2008, 12:34:23 AM CET )
Permalink

Monday February 11, 2008
An Interesting Problem with Python, Proxies and OS X
I just came back from long a vacation and I spent first half a day back at work dealing with a frustrating although interesting issue with Python and Mac OS. The problem and (even more so) the solution are poorly documented, so I am writing this post hoping that other people facing it will be able to google my blog and find the way out here.
While I was away the NetBeans project migrated from CVS to Mercurial so my first task was to check out the sources (or rather clone the repository). I did anticipate trouble and it came indeed: the 'hg clone' command failed with a message:
abort: error: No address associated with nodename
After running a series of sanity tests I realized the problem was located at low level, in the Python framework and affected every Python script trying to read data from the Internet. I had a hunch to check the proxy settings so I executed the the following code:
import urllib2
print urllib2.getproxies()
and discovered that Python was using a phantom proxy server (it was a one that looked familiar but I didn't use it for ages).
After some research I learned that the problem is caused by the fact that Python uses Internet Config to discover network settings on Mac.
Internet Config is a very old utility that stores all the network settings in one place and provides an API to query for them. Internet Config was a very welcomed innovation back in 1994 when it was started by a community members. in fact it was such a blast that Apple decided to include it in Mac OS 8.4 and further releases.
Later OS X provided new standard ways of storing the network configuration info but the Internet Config API remained to preserve compatibility. Many developers continued to use the Internet Config API without realizing it was not only deprecated but also out of sync with the system settings. Moreover there is no longer a graphical way to access those data in OS X.
Apparently I used some application that wrote the proxy info to the Internet Config database. The setting was ignored by most application, but Python was still relying on it.
Even once I knew that much it still wasn't easy to find out where this data was stored: the 'com.apple.internetconfig.plist' file in the Preferences directory. The file can be edited with the Property List Editor utility (it comes with the Developer Tools). Pay attention to these settings: UseHTTPProxy and HTTPProxyHost.
I hope that at least one of these two sneaky bugs (one on the Apple and the other on the Python side) gets fixed soon, in the meantime it is possible to work it around editing the 'com.apple.internetconfig.plist' file by hand.
Posted by tomslot
( Feb 11 2008, 01:51:43 PM CET )
Permalink

Saturday January 20, 2007
Using development builds of Netbeans FAQ
I often come across questions about the current state of the development builds of NetBeans, so I decided to create a small FAQ and post in my blog.
Is possible to use current version of NB 6.0 to do some "real work"?
These days virtually all the NetBeans developers are using most recent (daily) builds to develop NetBeans itself. This means that at the very least more than 50 people are doing "real work" dealing with more than 20 000 java source files. I reckon there is about the same amount of people working on various NB add ons who do the same.
It is quite exciting to see new features in your work tool added day by day and there are not as many stability problems as one might expect. However if improving the quality of NetBeans is not a priority for your organization you will want to stick to the official releases. Surprises are not good for business, you want to minimize the number of things interfering with your deadlines in the first place.
What are the milestone builds good for?
Milestone builds allow us to:
- keep balance between feature growth and stability throughout the development process
- deliver relatively stable development releases on regular basis
- keep track of release progress
We set goals and try to achieve them during 3 weeks of development. Then we spend one week on intensive testing and removing outstanding problems. A milestone build is not released until all the crucial bugs designated by the Quality Assurance team are not fixed. No other changes are allowed during that time, as every change carry a risk of introducing new problems. Basically it is a release process in small.
Using a milestone build is a reasonable trade-off for most developers who rely on the state-of-art NB features
What kind of problems may I encounter when using development builds of NetBeans?
- wizards and refactorings may be generate wrong/suboptimal code.
- the format of project, configuration, form, etc. files generated by the development builds is not guaranteed to be supported in the future, manual amendments might be needed to open them from a newer version of the IDE
- you might enter exception loop and have to restart the IDE
On the other hand you may (almost) rely on the core functionality such as:
- I/O (opening/saving files/projects)
- version control subsystem
- compilation
- debugging standalone java applications
What are the most fragile areas in current builds of NB 6.0?
As of milestone 6: refactoring, java hints and all the Enterprise/Web functionality. All this stuff had to be completely rewritten to use the new, more powerful editor and language model infrastructure. Some basic functionality like encapsulating fields is still missing, using some existing features like "rename class" may mess up your code.
Posted by tomslot
( Jan 20 2007, 04:58:20 PM CET )
Permalink