El Segundo Aire del Pelos

Wednesday, September 20, 2006

Evento EDNUG

Amigos:

Este post es para avisarles que nuestro grupo hermano (se oye chido, no???) EDNUG (no se porque se llaman asi si, su nombre es "El Paso .NET User Group... que no deberia ser EPNUG???) en fin... van a tener un evento que se antoja interesante...
Les transcribo la invitacion tal cual...

Microsoft Express Editions Installfest
The El Paso .NET User Group (EDNUG) cordially invites you to participate in our next meeting, which will be an overview and installfest of Microsoft's Express Editions (Visual Studio and SQL Server).
  • Overviews of Express Editions
  • Install Session (bring your laptops!)
  • Q&As with Presenters
  • Networking Opportunities
  • Chance to win some Microsoft goodies
Event Information
Date/Time: Tuesday, September 26, 2006 (6 - 8:30 PM)
Location: UTEP Business Bldg. - Room 311
Please RSVP by emailing ednug2006@gmail.com. Refreshments/food will be provided.
Also, please feel free to pass this invitation on to your friends/colleagues!
We look forward to seeing you there,


Estaria chido que fueramos varios... si alguien se anima, avisenme, para irnos juntos (ademas, ni siquiera se donde es, asi me guian!!!)


Estrella 0

Pues nada... como les habia comentado anteriormente, en el grupo CNJ nos pusimos como meta conseguir las estrellas del Programa DCE... asi que como se supone que yo no me puedo quedar atras... pues me puse a estudiar, a pesar de tener mil cosas que hacer, me di una chanza, y ya consegui la estrella 0... yo se que igual y no suena muy importante, pero para mi si es un logro, y me impulsa a tratar de conseguir la estrella 1.
Espero poder hacerlo antes de este sabado, ya que el sabado tenemos el taller mensual de la comunidad, y me gustaria tener ambas estrellas para esa fecha.
Chido....

Wednesday, September 13, 2006

Programmer's Day

Miren lo que son las cosas... yo siempre habia dicho que con el consumismo y mercantilismo de estos tiempos, todo mundo tenia su "dia"... que si el dia de las madres, de los padres, de san valentin... en fin... pero tambien siempre me queje de que no habia dia de los programadores... y resulta que sip... y hasta en eso somos geeks... hasta para escoger nuestro dia... esto esta tomado directamente de Wikipedia

"Programmer’s day is a ‘holiday’ on the 256th day of the year celebrated mostly by computer programmers. The date is significant to programmers because 256 = 2 to the power of 8 = the number of values representable in a byte of data.

Traditions include behaving in silly ways, editing Wikipedia, playing Demo Ball, coding silly programs, mini computer games, playing with old computers, etc. That, of course, includes the condition that the developer who chooses to celebrate, needs to have done decent coding on all the other days and had tried their best not to be silly on the other days. For those programmers who are used to the ‘celebrations’ in their every day lives, this ‘holiday’ becomes unjustified. Programmer’s Day usually falls on September 13th; on leap years, it is September 12th.

Some people feel that counting should start from 0. However, even counting from 0 does not change the fact that there are still only 256 values that can be represented in a byte. Therefore, if counting starts at zero, then the 256th day falls on the number 255 which does not change the day that the holiday falls on."

Asi que ya saben... se aceptan regalos en nuestro dia!!!

Tuesday, September 05, 2006

Cronica de una Falla Anunciada

Estos dias he andado bien ocupado... gran parte de mi tiempo me la he pasado leyendo y aprendiendo cosas nuevas. Suena chido, no? pues no... la verdad, es que tengo que confesarselos... LO HICE TODO MAL!!! sip, la cajetee horriblemente, lo hice todo del nabo... en fin... como se diria coloquialmente... cometi una infinidad de errores.
Y como soy muy buen samaritano, pues quiero platicarles mi experiencia, para que si algun dia estan en una situacion parecida, pues que no la cajeteen tan gacho como yo.
Asi que ahi les va la historia completa... resulta que un cliente nos pidio hacer un cambio en un proceso que tenemos actualmente... este cambio implica basicamente que la informacion que le proveemos, y que actualmente se manda en un archivo texto, ahora se tiene que mandar a traves de una pagina en Internet... sonaba bien facil... conectate a la pagina, pasa como parametros en el Querystring los datos y ya... de hecho, en alguna ocasion habia hecho algo parecido, asi que no habia de que preocuparse...
Sin embargo, a medida que empece a hacer las prueba, los problemos empezaron a surgir... mi primera opcion fue usar un control que ya habia usado llamado "TWebBrowser". Este es un control poderoso, y que tiene bastantes opciones... basicamente, te pone una pantalla para hacer browse de internet. Todo bien hasta ahi... sin embargo, surge el primer obstaculo... resulta que en la compañia usamos un proxy para conectarnos Internet, asi que la primera vez que se hacia la conexion, pues pedia las credenciales para el proxy... bueno, al cabo es solo una vez al principio, que lo ponga el usuario. Pues empiezo a hacer pruebas, y finalmente logro que se mande la informacion, tal como se necesita... pelada, no tuve broncas... sin embargo, lo del proxy me seguia molestando... pero en fin... para eso esta el usuario, no? Claro que es un proceso que debe correr "unatended", pero bueno, el operador lo puede correr, poner las credenciales, y ya de ahi en adelante que corra solo.
Ah!!! pero el destino es cruel... pues que me avisan que, junto con los datos, se tiene tambien que mandar la imagen... a cañon, ya se esta complicando mas... pero no hay pex, empiezo a checar como se puede hacer... en eso andaba, cuando ademas me avisan que el sitio al que se conectara es seguro, y requiere que se autentifique tambien, con un usuario y un pwd especificos. A cañon, ya se complica mas... igual y el usuario puede ponerlo tambien, pero bueno, esto cada vez se complica mas, y ya no me esta gustando. Asi que hay que buscar otra forma de hacerlo.
Claro, como el Pelos es bien trucha pues empieza a buscar en Internet y con sus compas, para ver como se puede hacer, y rapido, por supuesto. Entonces se aparecen por ahi una serie de controles llamados Indy (por Internet Direct), y de acuerdo a lo que leo y me dicen, uno de esos controles puede hacer exactamente lo que yo necesito (ah!!! por cierto, son Open Source). Asi que consigo la version mas reciente, la instalo en mi maquina y a darle.
Para estas alturas, ya casi estoy listo... ya solo es cuestion de checar la documentacion, y hacerlo jalar... asi que empiezo a buscar en la documentacion, para ver que pex... Pero resulta que entre mas leo, mas me hago pelotas. Habla de un buen de terminos que no conozco, sobre tecnologias que no domino y da por hecho que ya se todo sobre TCP, IP, Internet, Sockets, HTTP, Protocolos, etc... UUUUUUUUUTAAAAAAA... NO ENTIENDO NI MAIZ!!!
Asi que, dado que la "Ayuda" no me es de mucha idem, pues hago lo que cualquier persona cuerda y en sus cinco sentidos haria en ese momento... busco en Internet pedazos de codigo que ya esten listo, que hagan lo que necesito... para que batallar, no???
Despues de un rato, y gracias a San Google, pues que encuentro a una persona que tiene un articulo que se llama... como creen??? pues se llama "Uploading Files Using Indy"... no manches... ni mandado a hacer, como anillo al dedo (sin albur hasta donde se pueda). Le doy una medio leida al articulo, pero tambien habla de muchas cosas que no se que pex, asi que me lo brinco... anda... vamos a lo importante... donde esta el cooooodigo???? come to dady!!!!! y sip... ahi esta, el tan ansiado archivo zip con el codigo... Yuju!!!! ya la arme... lo bajo, lo descomprimo, lo pruebo y jala... ya solo es cuestion de cambiarle la direccion de la page a donde me tengo que conectar, pasarle los campos correctos y ya... ah!!! claro, tambien pasarle el user y pwd del proxy y de la autentificacion... pero como soy EL PELOS (asi, con mayusculas), pues eso ya lo habia encontrado en otro pedazo de codigo por ahi... asi que remplazo lo remplazable, pongo mis datos, lo corro y.... a caon... no corrio... como ejote... tronando machin... pero que pex??? si la aplicacion que baje si jala, porque ya modificada no??? empiezo a checar, me meto al codigo que baje (no le entiendo mucho, la neta) me meto al codigo del control (le entiendo todavia menos) y nomas no lo puedo echar a jalar... AAAAAAAAAGGGGGGHHHHHH!!!! ahora si esta del nabo... que hacer??? pues regresar a Internet y ver que mas se puede hacer...
Finalmente, me decido a hacer lo que debi haber hecho desde el principio!!! me decido a leer e investigar sobre Protocolos, sobre TCP, sobre IP, sobre Sockets. Afortunadamente, Matlus (autodenominado "The Delphi Apostle") ademas de proveernos de codigo, tambien tiene varios articulos teoricos sobre lo mencionado anteriormente.
A ver... waitaminute... ahi vengo...

Yap... es que jui a cenar... pero ya regrese...

Bueno, entonces les decia que Maltus amablemente me proveyo de literatura sobre estos temas... y me puse a leer como loco... hasta las cero trescientas horas (3:00 AM). Afortunadamente, ya cuando me fui a dormir tenia una idea de lo que era TCP, IP, HTTP, Sockets y otras cosas que algunas horas antes eran como japones para mi... bueno, peor que japones, porque al taka taka medio le entiendo.

A la mañana siguiente (se oye chido, no???) pues ya armado con mis conocimientos, empece a ver otra vez el desma que tenia de codigo... y me empece a dar cuenta de cuales eran las broncas... ademas, me tope en el Messenger a mi cuate Carlos Madrigal, y aprovechando que tenia rato que no platicaba con el, pues lo salude, le explique mi situacion, y el procedio amablemente a despejar las dudas que me quedaban. Le segui un buen rato dando, y para antes de que se acabara la jornada de trabajo, ya sabia como estaba el pex, y tenia una aplicacion "casi" funcional usando Indy... chido no??? pues nomas me tomo como tres o cuatro dias hacerlo...

Ok... de que sirve todo este super-choro??? bueno, quiero compartirles mi experiencia, y lo que aprendi.

  • Lo primero y mas importante: No hay Atajos para el Conocimiento. Asi es, si queremos aprender, no hay de otra... a estudiar. Afortunadamente hay muchas posibles fuentes.
  • El camino mas rapido no siempre lo es (y tampoco el mas facil). En mi intento por hacer las cosas facil y rapido, trate de usar codigo que alguien mas habia hecho, sin ponerme a analizarlo... ya despues, me di cuenta de varias cosas... primero que nada, ese codigo estaba diseñado PARA OTRA VERSION DE INDY. Una version vieja, que no tenia funcionalidades que la version mas nueva tiene, y que con esta version mas nueva era mas facil; segundo... ese codigo tenia "hardcoded" varias cosas, asi que NUNCA iba funcionar con lo que yo queria hacer.
  • Es bueno reutilizar codigo... no siempre se tiene que reinventar el hilo negro... pero es MUY IMPORTANTE entender el codigo que se reutiliza... y carajo... de perdida hay que checarlo, no?
  • No saber algo no es malo. No, es muy dificil saber todo de todos los temas... lo malo no es no saber, sino no aceptarlo. Yo no empece a resolver mis problemas hasta que me decidi a aceptar que ignoraba muchos de los conceptos, y por lo tanto decidi tambien que debia de estudiar... entonces, que no les de pena no saber... lo que les debe de dar pena, es no querer aprender!!!
  • Por ultimo... NO SEAS HUEVON!!! Ponte a estudiar, que no te cuesta nada, y te deja muchos beneficios!!!
Kamikaze me sugirio un par de "lecciones" que se pueden agregar... y como me parece que tiene mucha razon, las agrego.. claro, dandole el credito:

  • Participa en una comunidad de desarrolladores. Totalmente cierto... a Carlos Madrigal lo conoci por la Comunidad Juarez.NET, y aunque trato de evitarlo, a cada rato le doy lata con dudas... y asi como el estan varios profesionales muy buenos de quienes podemos echar mano... ademas, de vez en vez yo tambien puedo contribuir con mis pocos conocimientos y experiencia.
  • Y sobre todo... Lo importante no es saberlo todo, sino tener el telefono (o messenger) del que lo sabe!!!!
Bueno, ya esto esta exageradamente largo... espero que alguien lo lea hasta el final, y que les sirva de algo... ojala nadie pase por lo que yo pase, y haga las cosas bien desde el principio... y por cierto, si alguien necesita ayuda con el control TIdHTTP de Indy... pues aqui esta su servilleta...

Finalmente, otra vez muchas gracias al Charly Madrigal, por ayudarme a "desapendejarme"...

Abur!!!

Y por cierto... no me enojo si me dejan comentarios, eh!!!

Monday, September 04, 2006

Mas Links

Encontre otro par de links chidos de MS... ya estan en la seccion de ligas...

El primero, es para bajar articulos con codigo... ahi un madral, de un buen de diferentes temas... esta chido, la neta...

El segundo es la revista MTJ.NET... tambien bastante interesante, y con todo el archivo de los articulos desde el 2002...