Finalmente, algo en contra de las redes sociales / Finally, something against social networks.

Wednesday December 05th 2007, 4:28 pm
Filed under: General, Tecnologí­a

english spanish 

Finally, I read an article from someone talking against social networks, and I really agree. Personally, I’ve been never much into this whole thing about social networks. As the article says, it seems to be a whole lot of people who don’t know why or what for they’re “together”. It reminds me of the horizontal portals from the web early years, which tried to be everything, but in the end were nothing. And beyond the creative or technological achievements, there’s always a need for a working business model, but it seems like there’s not (at least not where they’re looking for).
Don’t take me wrong, is not that I’m all against social networks, as a matter of fact I have my Facebook profile (although is more because of a work matter, as we’re developing a Facebook applications to interact with one of my company’s applications), and I even have a personal project (don’t really know if it’ll be ever released someday!) based on the social network idea.
But I believe, after seeing what happened with horizontal portals, that social network should also put their aim in specific niches. An example could be LinkedIn, which try to create links between professional people within the same area of expertise, and it seems to work, as a friend of mine company recently obtained a lucrative contract with an European company through LinkedIn. But Facebook wants to be everything, have profiles for the whole world population, and applications of any type. Let’s see how it goes.

Powered by ScribeFire.


| show comment »

Qué pasa con .net?

Wednesday January 17th 2007, 6:58 am
Filed under: General

Mi aplicación necesita bajar información casi en tiempo real de otras aplicaciones de otras empresas. Por el momento, se conecta con 5 otras aplicaciones.

El proceso no es exáctamente igual con cada aplicación, pero es similar, básicamente cada tantos segundos les pido que me manden un documento XML con nuevos datos. Esto lo hacemos con un simple POST sobre HTTP (con SSL para que viaje todo encriptado). Las otras empresas usan tecnologías diversas. Dos usan Java, una usa PHP y dos más usan .net

Ahora, lo extraño es que la mayor cantidad de problemas los tenemos con aquellas empresas que usan .net.

Con la primera de ellas, una empresa de UK con la que empezamos a trabajar hace ya algunos meses, cada tanto teníamos problemas de timeouts, que finalmente terminamos resolviendo usando HTTP/1.0 en lugar de HTTP/1.1. También tuvieron problemas con las fechas y horas cuando se terminó el horario de verano y se atrasó una hora.

Con la segunda, una empresa de USA estamos terminando la implementación ahora mismo. Todavía no puedo asegurar que funcione bien, despues de algunas horas de funcionamiento, su servidor se empieza a tomar demasiado tiempo en responder (hasta 60 segundos en algunos casos). Anoche simplemente dejó de responder de un instante a otro.
También, les tuve que pedir que me manden la fecha en UTC o al menos incluyendo el timezone, ya que ellos mandaban alegremente la hora local y sin timezone, por lo tanto yo no tenía una referencia para poder convertir esa hora a otra. Y el gran problema hubiera aparecido cuando comience el horario de verano. Todo esto me pareció extraño viniendo de personas que viven en un país con 5 zonas horarias distintas y con horario de verano.

Soy 99.99% ignorante sobre .net y todas las tecnologías de Microsoft (la última vez que hice algo con Microsoft debe haber sido en 1995 cuando hice una aplicación de IVR en VB 5, que si bien tenia funcionalidades muy interesantes, no estoy particularmente orgulloso de como fue hecha  internamente), pero esto me lleva a preguntarme… tiene .net el mismo problema que tantas otras aplicaciones Microsoft, que funcionan bien la mayor parte del tiempo, pero en algún momento fallan? O es un problema de la gente que trabaja con Microsoft? Hay alguna relación entre el uso de .net y la calidad de sus desarrolladores? Quizá son ex desarrolladores VB?

Update: creo que en realidad hay algún problema con la implementación del protocolo HTTP en .net, específicamente en el manejo de 100 Continue, no sería la primera vez que una implementación de Microsoft no cumple 100% con el standard.  Los problemas de ambas aplicaciones con .net estan relacionados con esto. Igualmente, les tuve que indicar donde estaba el problema.


| show comments »

Es bueno que sea fácil?

Tuesday March 07th 2006, 11:55 pm
Filed under: General

A veces me pregunto si es mejor que algunas cosas sean demasiado fáciles… Por ejemplo, simplemente por nombrar algo, PHP. Es muy simple de instalar, y es muy fácil hacer una página dinámica.

Por qué digo esto? Porque esa misma facilidad hace que cualquiera se ponga a hacer sistemas. No digo una paginita o dos que muestre mensajitos o algo asi, sino sistemas que manejan la operación de una empresa.

Donde estoy trabajando ahora, tienen un sistema en PHP para registrar y manejar los pagos a los ganadores de los concursos. Nosotros estamos haciendo un sistema que eventualmente va a terminar reemplazando al PHP, pero por el momento sigue andando, y hay que mantenerlo. Obviamente, yo trato de tocarlo lo menos posible, pero de vez en cuando hay que hacerle algo. Por ejemplo, recientemente hubo que modificarlo para que además de permitir varios teléfonos para cada cliente, también permita varios clientes para un mismo teléfono. No es una modificación complicada, pero sin embargo, el programador (que no conozco ni sé quien es), decidió que no era necesario poner un solo punto donde se graben los teléfonos, sino que el mismo código esta multiplicado y desparramado por toda la aplicación. O sea que hubo que buscar por todos lados, probar y re probar las diferentes opciones para llegar a lo mismo. Esto sin tener en cuenta que cada archivo .php es una mezcolanza de HTML, JavaScript, CSS, PHP y SQL.

Otro ejemplo, es que este programador “olvidó” ponerle un primary key a una tabla, y ahora descubrí que dicha tabla se llenó de ids duplicados, lo que hace que algunos procesos se ejecuten con errores. Evidentemente esta persona no debería estar haciendo sistemas, quizá el mundo se perdió un excelente médico, un gran músico o simplemente un buen pintor de brocha gorda, pero decididamente no ganó un buen programador.
Entonces, es bueno o no es bueno que sea tan fácil ponerse a hacer un sistema?
Es evidente que si la barrera de entrada es muy baja, cualquier se mete. Y después es cuando vienen los problemas, sistemas difíciles de mantener y de comportamiento impredecible.

Y que conste que no es una queja en particular contra PHP, al que le tengo mucho respeto, hace varios años hice algunas cosas bastante interesantes en PHP, pero cuando busqué mejorar la calidad de lo que hacia, terminé haciendo lo mismo que haria en Java. Entonces directamente me pareció mejor usar Java.


| show comments »

I’m back

Friday February 24th 2006, 1:12 am
Filed under: General

Después de mas de un año sin postear, he decidido resucitar el blog. Ya hace unos meses que estoy instalado definitivamente en Londres, he terminado mi relación laboral con Globant (aunque sigo en contacto con ellos), y estoy trabajando para una compañia de medios de aqui.

Ultimamente recibí varios mensajes de gente que tuvo ofertas laborales de Globant, pidiéndome referencias sobre la empresa. A ellos les dije, y a cualquiera que quiera saber les digo, que si la oferta les cierra económicamente, no lo duden. Globant es una empresa donde se puede trabajar bien y hay buen ambiente. Es posible que sean un poco desprolijos en algunas cuestiones administrativas, pero es comprensible porque han crecido mucho en muy poco tiempo.


| show comments »

Los programadores no nacen.

Wednesday December 01st 2004, 11:23 pm
Filed under: General

Me parece muy acertado lo que se expresa acá, aunque levemente exagerado. Es lo que yo siempre pensé, hay gente que esta en esto porque mal que mal se gana bien, no demanda un gran esfuerzo físico y parece fácil de afuera. Pero a los que realmente esto nos apasiona, mas allá de la retribución económica, vamos a estar muchas mas horas que las del trabajo diario frente a la pantalla. De hecho, conozco bastantes personas que trabajarían gratis si el proyecto les interesa personalmente (en eso se basa el Open Source al fin de cuentas).
Digamos que si o si hay que dedicarle horas mas allá del trabajo al estudio y práctica de la programación, sea Java, .NET o Cobol (bueno, Cobol no :) ) . Quizá Heinz exagera un poco al decir que tenemos 7.5 horas extras por día para dedicar al estudio y la investigación, pero quién no se ha quedado alguna noche en vela porque algo no salía, o bien porque era demasiado apasionante como para dejarlo? ;)


| show comments »

Hello Globant!

Wednesday September 01st 2004, 10:57 pm
Filed under: General, Java

Hoy empec� en Globant. Mi comienzo (y el de otras tres personas), coincidi� con la inauguraci�n de un nuevo piso de oficinas, que se agrega al que ya tenian, efectivamente duplicando el total de m2 de oficinas que la empresa posee.
Las oficinas estan muy bien, son muy c�modas, tengo un escritorio muy amplio en L, y un monitor LG Flatron de 17″ (fundamental!!!).
Nos recibieron muy bien, hubo medialunas y frutas para el desayuno. Para el mediod�a hubo un �gape por la inauguraci�n de las nuevas oficinas, con sanguchitos, gaseosas y masitas.
Mas tarde habl� con una inglesa, que probablemente sea mi project manager, pero a�n no estoy asignado a un proyecto.
Estuvimos instalando nuestras PC (por suerte tenemos WinXP, y con total libertad para instalar y desinstalar lo que querramos).
Los tel�fonos IP son una maravilla, con un nro. de interno nos conectamos a Londres, y tambi�n podemos hablar a cualquier parte, con un headset conectado a la placa de audio. Si nos dejan un mensaje en la casilla de voz, el sistema nos manda un mail con el mensaje attachado en un .wav.
En fin, creo que todo va a ir bien, los mantengo al tanto.


| show comments »

Sr., Semi Sr, o Jr. ?

Tuesday August 24th 2004, 7:25 pm
Filed under: General

Paralelamente al proceso de selección de Globant, también participé en una selección para otra empresa, supuestamente muy imporante, porque me llamó la atención el aviso que habian publicado.
En la entrevista de RRHH me fue muy bien, la persona que me entrevistó era muy abierta y amable, y realmente me hizo sentir muy cómodo. El problema vino con la entrevista técnica, el tipo era un queso, prácticamente no hablaba, me hizo contarle lo que habia hecho antes, y me preguntó puntualmente si conocia/sabia/tenia experiencia en ciertas tecnologias y metodologias. Obviamente algunas cosas sabia y otras no, como cualquiera. No me hizo ninguna pregunta conceptual, ni mi opinión sobre algo, nada.
Hoy me llama la persona de RRHH, y me dice que el que me hizo la entrevista técnica me rankeó como Jr., lo que obviamente me ubica en una banda salarial que es aproximadamente la mitad de lo que gano en Globant, donde soy “Senior J2EE Specialist”.
Probablemente esta persona no sepa contestar correctamente la pregunta “Qué es J2EE?”, una de las primeras cosas que me preguntaron en Globant, ya que es el típico convencido que J2EE == EJB, y obviamente todos los proyectos que encaran deben tener la misma arquitectura, ya que aparentemente no tienen arquitectos en sus equipos. Tienen un equipo de robotitos, no de personas pensando e innovando.
No es por alabarme, pero tengo mas de 15 años de experiencia en IT, participé en muchísimos proyectos con diferentes tecnologías (quizá es cierto que ninguno de estos proyectos fue extremadamente grande, eso a priori podria ser un punto débil), y mas allá del trabajo, paso entre 1 y 2 horas todos los dias estudiando, investigando, leyendo, manteniéndome al tanto de lo nuevo, y este tipo viene a decir que soy Jr. ?
En fin, ellos se lo perdieron.


| show comment »

A quién se le puede ocurrir algo asi?

Sunday August 08th 2004, 7:35 pm
Filed under: General

No entiendo, realmente no entiendo.
Cuál es la idea de armar una base de datos, para una aplicación única, en la cual las tablas estan repartidas en diferentes bases de datos lógicas? Encima, en un servidor como Postgres, que no soporta queries interdatabase. Eso implica que no se pueden hacer ciertos joins que son necesarios en la aplicación, porque las tablas residen en diferentes bases de datos. También que es imposible realizar transacciones entre ciertas tablas (olvídenlo, Postgres no soporta JTA, y aunque lo hiciera…) . En fin, todo mucho más complicado e ineficiente.
Cuál es la única posible razón para que alguien tomara esta decisión? Bueno, pienso yo que quizás, cuando el tráfico hacia la BD creciera lo suficiente, esta sería una manera fácil (aunque no por eso eficiente) de clusterizar la BD, separando cada BD en un servidor físico diferente.
Justamente eso, fue lo que empezó a pasar hace un tiempo. El servidor de BD esta casi al tope de su capacidad, asique dije, es el momento de agregar un nuevo server con algunas de las BD. Cuál fue la respuesta que obtuve?

Imposible, nuestro servidor de BD es una máquina muy poderosa y muy costosa, para separar las bases de datos, deberiamos comprar otro servidor igual, y nos resultaría muy caro.

Sin palabras…


| show comment »

Finalmente

Thursday July 29th 2004, 10:16 pm
Filed under: General

Finalmente entré a Globant. Estoy con bastantes buenas expectativas con este trabajo. Un proyecto que empieza de cero, con gente nueva y aparentemente bien capacitada, ya que el proceso de selección fue bastante exigente. Además es una empresa que aparentemente dá bastantes beneficios a sus empleados, de movida estar en relación de dependencia ya es algo importante.



De JBoss, nada.

Thursday July 15th 2004, 9:41 pm
Filed under: General

Al final tuve la entrevista con el inglés. Creo que me fue bastante bien, ya que de los 45′ que duró, el tipo no paró de preguntarme, desde Java básico, hasta metodologías., y sólo no supe contestar 3 preguntas.
JBoss lo nombró al final solo para decirme que lo usaban, y solo hubo algunas preguntas conceptuales de EJB.
Las preguntas que no supe contestar fueron:

    Cuál es la diferencia entre Reader/Writer e InputStream/OutputStream?
    Para que sirve el keyword volatile ?
    Cómo haría para escribir un archivo en BIG-5?

El tipo estuvo bastante macanudo, y por lo que me dijeron después, quedó bastante conforme con el nivel de las entrevistas. Veremos que pasa.