domingo 27 de julio de 2008

Migrar a C# desde Visual Basic

Hoy me preguntaron mi opinión sobre si debería dejar de escribir código Visual Basic y pasarse a C#.

Mi respuesta: es totalmente una decisión personal.

Los dos lenguajes, son totalmente equivalentes. Todo lo que puedes hacer en uno, lo puedes hacer en el otro. Yo sigo programando en Visual Basic y no me he encontrado con ninguna limitante del lenguaje. No pienso cambiar, al menos que en algún proyecto se me solicite de forma explícita por capricho del que lo dirija.

Sin embargo, identifico las siguientes ventajas en cada uno:

Ejemplos de código de cosas complicadas: están principalmente en C#.
Facilidades de Visual Studio para programar como Intellisense y otras tecnologías: están o son más completos principalmente en Visual Basic.

Particularmente, Visual Basic tiene algo imbatible. El objeto My. Con él, en Visual Basic se hace un ping con una línea de código, mientras que en C#, se necesitan cerca de 10. Adicionalmente, Visual Basic tiene heredado desde las versiones que no eran OOP, el concepto de los módulos. Si necesitas hacer una funciona que le pases un parámetro y te lo devuelva transformado, ¿qué necesidad de estar declarando un clase y un método estático, etc, etc? Creas un módulo y lo usas.

C# requiere mayor cuidado a la hora de escribir código, porque diferencia entre mayúsculas y minúsculas. A causa de eso, no autocorrige el código. También requiere el uso explicito de llaves { } que se usan para armar las estructuras de control. Todas las sentencias deben terminarse con punto y coma (;), lo cual genera muchos errores por olvidarse de ellos.

Si se quiere migrar a C#, puede plantearse a partir de los nuevos proyectos que se tengan, pero no tiene sentido reescribir el código que ya se ha hecho en Visual Basic. También, una solución puede tener proyectos en diferentes lenguajes. Todos los lenguajes .Net generan el mismo código intermedio (MSIL), por lo cual son equivalentes a la hora de ejecutarse en el procesador.

Espero que esto les aclare un poco el panorama.

También puedes ampliar algo más en este otro post que encontré por ahí.


Visual Basic rulez!

Etiquetas: , ,


# entrada de Fede : domingo, julio 27, 2008  0 comentarios Vínculos a esta entrada

jueves 24 de julio de 2008

Paciencia, la enseñanza de la informatica

De las cosas más dificiles y duras que tiene mi profesión, es la gran cantidad de períodos en donde se debe esperar.

Tanto es así que hasta en los cursos básicos de Sistemas Operativos uno de los primeros temas que se ve es la Espera Activa, y como luchar contra ella. Pero esto es solo una analogía técnica sobre lo que sucede en la realidad.

¿Pasará en todas las actividades humanas? ¿Será en otras tan notorio como en la informática?

En este momento estoy instalando un SQL Server 2005. Mi actividad más importante durante el procesos de instalación del producto, fue mirar la pantalla. Ver como se llenaba la barrita verde de progreso y como aparecieron 2 errores durante el procesos.

Si yo hubiera planificado hacer otra cosa, no habría podido ver los errores a tiempo, y hubiese perdido hasta 4 veces el mismo tiempo. Hay quienes lo explicarán por la ley de Murphy, pero la verdadera ley de Murphy hubiera hecho que no aparecieran errores por la simple razón de que yo estaba mirando el proceso.

Además de tener que esperar durante la instalación de productos, tenemos que esperar cuando corremos otros tipos de procesos, como pueden ser los procesos de ejecución por lotes (batch) o la ejecución de consultas sobre bases de datos. Ni que hablar de cuando hay que esperar por un proveedor. ¡O por un cliente!

Seguramente, el proveedor tiene que esperar a terminar un proceso que hace que al tiempo de trabajo humano, se le agregue el tiempo de trabajo electrónico. Y al cliente, otro tanto.

Por eso, trabajar en informática desarrolla especialmente nuestra paciencia. La ciencia de vivir en Paz Interior. Quienes no tengan altos niveles de paciencia, o no se preocupen en desarrollarlos, la informática les negará su augurio.

He conocido muchos casos de personas que se han acercado a la informática con diferentes niveles de éxito. Mucho de ese éxito (o no) se debe al nivel de paciencia de la persona. Tanto el que desarrolla internamente como externamente colaboran en ese nivel de éxito. Pero solo el equilibrio entre ambos, podrá llevar a que la persona aumente cada vez más su potencial.

Supongamos un cuadro de doble entrada, donde en las abcisas colocamos la paciencia interna y en la ordenadas la externa, como la paciencia que se demuestra hacia los interlocutores. Ambas tendrán los valores Bajo, Medio y Alto.



Un nivel bajo de paciencia externa e interna, hará que nadie quiera trabajar con nosotros. Nos verán irritables (externalización) y nos generará una negatividad (internalización) que nos afectará en otros órdenes de nuestra vida.

Si aumentamos el nivel de paciencia externa, la gente nos verá más amables y generaremos confianza sobre las actividades que realizamos. Mientras que la paciencia interna, si es muy baja nos hará aumentar considerablemente el nivel de estrés y si es muy alta, hará que surjan problemas que no podamos manejar y quedará en evidecia nuestra incompetencia.

Una vez logrado tal equilibrio, el problema es mantenerlo. Saber cuando estamos aumentando nuestro nivel de paciencia interna para bajarlo y que no parezca que es simplemente dejadez, y saber cuando empieza a bajar para que no nos aumente el nivel de estrés.

Etiquetas: , ,


# entrada de Fede : jueves, julio 24, 2008  0 comentarios Vínculos a esta entrada

sábado 19 de julio de 2008

Multiples escritorios en Windows Vista y XP

La gente que usa Linux se vanagloria de todas las bondades y cosas en las que Linux es superior a Windows. La verdad, no sé si es mejor o no. Los considero equivalente y uso el que me sirva según la ocasión.

Una de esas "maravillas" que tiene Linux, son los múltiples escritorios. Windows también los tiene, pero deben instalarse aparte y Microsoft no los provee. La primera vez que usé multiples escritorios fue con Windows NT 4.0. Pero hasta el día de hoy no tuve la necesidad de usarlos.



Una rápida búsqueda en Google me llevó a conocer Vista/XP Virtual Desktop Manager. No solo es gratuito sino que también es de código abierto.

Vista/XP VDM funciona tanto en Vista como en XP. Pero se obtiene un mejor resultado en Vista gracias a las nuevas APIs de vista previa que incluye.

Lo estoy usando desde hace varias semanas para correr una aplicación de edición de video, ya que me encuentro con la necesidad de procesar videos. La aplicación utiliza una ventana modal, por lo cual, me dificulta utilizarla por varias horas. En especial, me hace dificil la tarea de ver y trabajar con los archivos del escritorio.


Así que ahora corro esa aplicación (el querido Windows Movie Maker) en un segundo escritorio y me quedo en el primero para hacer el trabajo habitual.

Para otra cosa que es util, es para esconder ventanas de descargas. ¿Cuántas veces te pasó que cuando la descarga finaliza viene a primer plano justo cuando estabas escribiendo y ocasionas la cancelación de la descarga cuando estaba a punto de terminar?

Espero que si alguien anda con un problema similar el mio, o simplemente es curioso, ¡lo aproveche!

Etiquetas: , , ,


# entrada de Fede : sábado, julio 19, 2008  0 comentarios Vínculos a esta entrada

jueves 12 de junio de 2008

FTP de Linea de Comando

De vez en cuando sucede que alguien necesita acceder a un FTP. Hoy en día, a pesar de todo, el FTP sigue siendo un protocolo muy útil por ser sencillo, rápido e inseguro... bueno, por inseguro no es por lo que se lo usa. Pero el tipo tiene sus fieles seguidores.

Cuando me preguntan que cliente de FTP recomiendo, siempre menciono el de línea de comandos de Windows. ¿Por qué? Porque es el más estandar y sencillo de usar. Aunque tiene alguna mínima desventaja frente a los gráficos: no tiene barra de progreso, por lo cual, no se puede saber cuanto falta por bajar o subir.

A continuación, un breve manual de instrucciones.

Para conectarse, ejecutar en una línea de comandos:
ftp nombre_o_ip_del_servidor_ftp

Una vez conectado, se nos pedirá usuario y contraseña. La contraseña no aparecerá escrita, pero será ingresada.

Dentro del FTP, podremos ejecutar los siguientes comandos.

La descarga o las subidas las hará hasta o desde el directorio "Local". Para ver o cambiar el directorio local se usa el comando: lcd [nuevo_directorio]

La imagen es un ejemplo de una sesión de FTP:

En cualquier momento podremos desconectarnos ejecutado: bye

Si queremos seguir trabajando con el FTP y cambiar a otro servidor o entrar con otro usuario, podemos usar los comandos close y open nombre_o_ip_del_servidor_ftp.

Espero que les sirva y no vuelvan a usar Internet Explorer como cliente FTP nunca más en sus vidas!

Etiquetas:


# entrada de Fede : jueves, junio 12, 2008  0 comentarios Vínculos a esta entrada

miércoles 11 de junio de 2008

Expediente electrónico en Ministerio de Desarrollo Social

Una de las cosas más interesantes que se ha dado en este año, es la instalación de Q-expeditive en el Ministerio de Desarrollo Social (MIDES).

Urudata Software, proveedora de dicho producto y casualmente el lugar donde me desempeño actualmente, logró entrar con su producto estrella al área de expediente electrónico en instituciones de gobierno de Uruguay. Actualmente el producto ya estaba implementado con mucho éxito en La Paz y Santa Cruz, las dos ciudades más importantes de Bolivia.

El ministerio ha puesto en su página la noticia al respecto, así como ya estaba hace algún tiempo en el portal de Urudata, extraída de otra noticia anterior del Ministerio respecto a la firma.

Q-expeditive es un producto muy versatil para expediente electrónico, basado en Q-flow, la solución de BPM desarrollada por Urudata. Q-flow puede ser descargado gratuitamente para evaluación y uso no comercial.

Etiquetas: , ,


# entrada de Fede : miércoles, junio 11, 2008  0 comentarios Vínculos a esta entrada

viernes 6 de junio de 2008

P2V - Virtualizar maquinas fisicas

Uno de los grandes problemas de la virtualización, es que llegado cierto momento, algunos de los servidores que se quieren eliminar físicamente pueden ser demasiado complejos para migrar.

Por ejemplo, un servidor de Active Directory, de SQL o de Web pueden migrarse, en general, con pasos muy fáciles, instalando los productos de nuevo y copiando los datos. Sin embargo, productos más complejos, como Microsoft Dynamics, tienden a convertirse en un dolor de cabeza si no se conoce en detalle su implementación.

Para estos casos, donde el costo de migración a un equipo nuevo es tan alto, las empresas que tienen productos de Virtualziación, han desarrollado métodos para migrar equipos físicos a máquinas virtuales.

En mi caso, me enfrento a 2 problemas: migrar un GreatPlains (a.k.a. GreatPains) y un Microsoft CRM. Ambos servidores fueron instalados relativamente hace poco tiempo, por lo cual ya tienen el último software, están bien instalados y reinstalarlos en una VM es suficientemente costoso como para buscar alternativas.

Microsoft utiliza 2 productos sobre Windows Server 2003 que permiten la virtualización. Uno de ellos es ADS 1.1 (Automated Deplyment Services) y VSMT (Virtual Server Migration Toolkit). Ambos vienen empaquetados en un mismo instalador.

Una vez instalado los productos, se debe seguir un instructivo bastante corto que indica como recoger los datos para crear la VM, hacer la caputra de la imagen del sistema, y ponerlo en funcionamiento en Virtual Server 2005 R2.

Casualmente, como no todo puede ser tan sencillo como parece, me encontré con 2 problemas.

Soporte para imágenes de Windows Server 2003 SP2

Cuando se liberó ADS 1.1, aun no estaba liberado el Service Pack 2 de Windows Server 2003, por lo cual, el programa que recolectaba la información del equipo físico, no reconocía el sistema. Encontré un artículo en WindowsITPro que explica como solucionar el problema.

A dicho artículo debo hacerle 2 minimas correcciones: los archivos aic78xx.sys y pciide.sys no están en el distribuible del Service Pack 2, sino que deben sacarse de un CD de instalación de Windows Server 2003 con SP2.

También hay que tener en cuenta que los archivos del distribuible del SP2 están comprimidos, por lo cual, hay que descomprimirlos de a uno con la herramienta extract.exe.

Resolver incompatibilidad de ADS 1.1 con Windows Server 2003 SP2

También me encontré con el problema de que ADS 1.1 es incompatible con el Service Pack 2 de Windows Server 2003. Para resolverlo, encontré 2 artículos del KB que refieren a Hotfixes que se deben aplicar para resolverlo.

http://support.microsoft.com/kb/937088/en-us

http://support.microsoft.com/kb/939466/en-us

A la fecha, dichos hotfixes no son públicos, por lo cual hay que pedirselos a Microsoft. Sin embargo, algo bueno, es que ahora la solicitud se puede hacer de forma eletrónica, sin tener que llamar por teléfono a PSS.

Para más información sobre máquinas virtuales y las tecnologías disponibles, puedes leer mi artículo Tecnologías de Virtualización en mi blog académico.

Etiquetas: , , ,


# entrada de Fede : viernes, junio 06, 2008  0 comentarios Vínculos a esta entrada

lunes 19 de mayo de 2008

Actualizar automaticamente una aplicacion .Net (2)

Seguí con el tema del post anterior. Pero esta vez estudié el tema de ClickOnce.

Ya había visto ClickOnce cuando apareción con la salida de Visual Studio 2005, sin embargo, aunque básicamente lo hice funcionar aquella vez y también ahora, aún hay cosas que no me convencen del todo.

¿Será porque parece demasiado sencillo?

Comencé por abrir Visual Studio 2005 y crear una aplicación. Luego elegir la opción de Publicar.


Me llevó aun asistente al que le respondí todo que sí y la aplicación quedó publicada en el Information Server de mi PC. Allí me mostró una página web con un botón de Instalar. Hice click, se instaló y se abrió la aplicación.


Ahora la aplicación me quedó en el menú de programas y cada vez que la inicio se contacta con el sitio web desde donde se descargó. Checkea si hay una versión nueva, y si es así, la descarga y ejecuta.

¿Demasiado sencillo, verdad? Creo que está bueno para aplicaciones provistas por el departamento de IT de una compañía, pero no tanto para distribución de aplicaciones que están disponibles a través de internet para cualquier usuario de hogar u oficina.

Sin embargo, cada realidad es diferente y debemos analizar cada una de las opciones con los datos y aplicaciones de verdad. Al respecto, es bueno tener en cuenta algunas notas que encontré en la información que MSDN tiene sobre ClickOnce. En especial, se compara ClickOnce con Windows Installer (quería pegar la tabla acá, pero el **** Blogger... no soporta tablas).

Nótese que en Visual Studio 2008 con Framework 3.5, ClickOnce sigue funcionando igual. No esperaba demasiados cambios, pero las páginas de información de MSDN al respecto, dicen básicamente lo mismo que las de Framewor 2.0.

Etiquetas: , , ,


# entrada de Fede : lunes, mayo 19, 2008  0 comentarios Vínculos a esta entrada

sábado 17 de mayo de 2008

Actualizar automáticamente una aplicación .Net

Hace unos días un amigo me comentaba que quería hacer una aplicación .Net que se actualizara automáticamente. Googleando, encontré varios recursos.

Primero me topé con algo que parece que está archivado, pero aun disponible. Es el Updater Application Block 2.0. Como es parte de los Pattern & Practices de MS, fui por allí y descubrí que lo que necesitaba era leer la guía de Implantación de aplicaciones basadas en el Framework 2.0. Leyendo la guía, que es un PDF muy interesante (cero línea de código, muchos conceptos), encontré que referenciaba al sitio oficial de Windows Forms y Windows Presentation Fundation: WindowsClient.NET. Uno de los artículos de dicho sitio, me llevaba directo a la implementación de una aplicación auto actualizable.

Un pequeño problema que encontré, es que las aplicaciones de ejemplo estaban hechas en C#, mientras que a mi C# me paspa un poco (no por el lenguaje, sino porque en Visual Basic, Visual Studio tiene más ayudas) y mi amigo solo programa en Visual Basic.

Resolviendo el problema

La solución que elegí, es utilizar una aplicación de fachada que chequea por actualizaciones e inicia la aplicación de verdad. El chequeo se hace contra un WebService. Dicho WebService compara la versión de la aplicación que lo llama, contra la versión de la aplicación que tiene guardada.

El WebService devuelve la ruta de desacarga y la aplicación de fachada descarga el nuevo ejecutable. Tanto lo descargue, como no lo haga por ya tener la versión actual, dicha aplicación de fachada inicia a la aplicación real, y se cierra.

El código del WebService es demasiado tonto como para ponerlo, sin embargo, puede ser interesante mostrar parte del código de la aplicación de fachada. Tengan en cuenta que es un código para demostrar como se haría. Compila y hace la descarga. Cualquier purista vería que no es un código para copiar y pegar en una aplicación de verdad.



Quienes deseen implmentar algo así, pero de verdad, lean el PDF que mencionaba para tener los conceptos y luego vayan al articulo de WindowsClient.Net. Con un poco de trabajo podrán hacer andar los ejemplos en C#, y ya que están, escriben todo en C# y van a sentirse más machos.

Etiquetas: , , ,


# entrada de Fede : sábado, mayo 17, 2008  0 comentarios Vínculos a esta entrada

viernes 16 de mayo de 2008

Tolerancia a los Bugs de Software

Acabo de leer en el Blog de Brenner y Fogel, un artículo donde Brenner plantea su preocupación frente a la despreocupación con que últimamente se está considerando a los bugs en el software.

Creo que los 8 comentarios hasta el momento han sido muy interesantes y me han dejado pensando.

¿Cuál es mi política o cuál debería ser la política a seguir frente a los bugs de software?

Trabajar en una fábrica de software da una visión muy diferente a la del consumidor del software. También ayuda a entender las variadas posiciones que diferentes personas toman frente a esta problemática.

Pero,

¿hay una forma correcta de encararlo?
¿Qué debería hacer yo?
¿Qué quisiera que hicieran los demás?

Leer el post de Brenner me ha dejado en realidad más dudas que respuestas. Pero sin duda que una cosa queda muy clara: se debe establecer una política de tolerancia mínima que tienda a cero.

Como se rescata de los comentarios, no podemos dejar cosas libradas a la eficacia del departamento de SQA, sino que, como digo siempre: hacer las cosas bien la primera vez, es mucho más barato.


Da como para reflexionar, ¿no?

Etiquetas: , ,


# entrada de Fede : viernes, mayo 16, 2008  0 comentarios Vínculos a esta entrada

lunes 12 de mayo de 2008

Haciendo un flow con Q-flow 3.0

Si hay algo que me gusta de Urudata, es la posibilidad de trabajar en una empresa de software que creó un producto que merece mi completo respeto: Q-flow 3.0. Dicho producto puede ser bajado gratis de internet, y utilizado sin fines comerciales por hasta 10 usuarios.

Q-flow es un producto de BPM y lo hace muy bien. Sirve para automatizar procesos de negocios... ¿Y que proceso de negocios no ganaría con automatización? ¿Qué empresa que quiere mejorar en sus negocios no necesita definir y automatizar sus procesos?

Creo que la respuesta es, claramente, Todas!

En este post, voy a contar como hacer un flow (en realidad un Template).

1) Identificar un proceso de negocios.
Tenemos un proceso que necesitamos automatizar para ganar en tiempo, dejar registro de lo realizado por razones de seguimiento y auditoría. Este proceso es la emisión de licencias de nuestros productos.

2) Describir el proceso de negocios.
Un cliente solicita una licencia, por lo cual, el encargado de dicha tarea recaba los datos necesarios, lo envía a autorizar a la Dirección. Luego se genera la licencia y se emite el certificado.

3) Identificar roles y datos.
Como Roles tengo al iniciador del flow y al autorizador. Como datos, manejo el cliente (que sale de la base de datos de cliente), el producto (también de la base de datos) y otros datos necesarios para generar la licencia como el nombre del servidor, la organización, la cantidad de clientes y la fecha de expiración.

4) Diseñar el diagrama.
El diagrama me quedó algo así:



5) Conectar a otros sistemas automatizados.
Como la licencia no se genera a mano, sino que se hace utilizando un web service que genera licencias, tuve que crear un paso de integración y un ensamblado proxy (dll) que simplifica el acceso al web service y a los otros métodos que existen para generar las licencias de otros productos.




6) Mejorar la interfaz de usuario.
Aunque la interfaz de usuario de Q-flow ya es bastante linda y cómoda, algunas empresas podrían querer cambiar un poco la interfaz utilizando formularios personalizados. En mi caso no lo hice, sino que utilicé las propias configuraciones de cada uno de los pasos.



7) Poner en producción.
Y como último... usarlo! Capacitar a la gente, ver como se llevan con el proceso, que lo usen y den ideas para mejorarlo. Al mes o al año ya habrá suficientes datos estadísticos para analizar como mejorar el proceso. Y la integración de nuevos productos será muy sencilla.

Aunque estos no son todos los pasos, ya que falta verificación y validación, estos pasos nos llevan fácilmente a ver el potencial de un proceso de negocio automatizado con Q-flow.



¿Te animas a identificar un proceso de negocios en tu empresa y pensar como automatizarlo?

Etiquetas: , ,


# entrada de Fede : lunes, mayo 12, 2008  0 comentarios Vínculos a esta entrada

martes 6 de mayo de 2008

Recovery-Oriented Computing

Hace unos días pensaba sobre un problema que tiene un determinado software que manejo, y que supungo tienen muchos otros productos de software que andan por ahí en la vuelta.

El problema se da si el proceso que se está corriendo se tranca. Por ejemplo, al desaparecer misteriosamente un archivo de datos que necesita o porque un dato se ingresó mal en la base de datos. Allí el programa falla o deja de procesar ese registro, y para solucionarlo hay que utilizar una herramienta o algún paso manual para poner todo en orden.

Según yo lo veo, este tipo de problemas surge en una pobreza de diseño. Cuando se diseña software y cuando se realiza cualquier tarea de Análisis de Sistemas de Información, hay que pensar siempre en los peores casos posibles. Y por cierto, en todas las posibilidades intermedias entre el caso óptimo y el peor caso.

Buz Luhrmann cantaba: Accept certain inalienable truths, prices will rise, politicians will philander, you too will get old [Acepta ciertas verdades: los precios subirán, los políticos harán promesas, tu también te harás viejo].

Y en el caso del software, es lo mismo: los problemas existirán siempre. Por lo cual, mi propuesta es dotar al software de resiliencia. Y hacerlo desde el diseño. No solo diseñar para resistir: diseñar para recuperarse de los ataques y los errores.

Casualmente hoy en la mañana, encuentro en el blog de Angus Logan (Technical Product Manager for Windows Live Platform), un artículo que hablaba brevemente sobre Recovery-Oriented Computing. Eso significa que no estoy solo en el mundo. Hay gente que está trabajando en eso. Y es bastante interesante como desde un pequeño problema en un software que poca gente usa, se puede llegar a que existe un problema más genérico y un equipo en la Universidad de Berkeley está trabajando en ello.

Por lo visto, este proyecto de investigación trata de mucho más que el simple problema que yo planteo, pero si duda trata cosas que pasan todos los días, y que nosotros, como Programadores, Analistas e Ingenieros con orientación a los Sistemas de Información y Computación, debemos tener muy en cuenta. Siempre.
  • Aislamiento y redundancia.
  • Soporte para función Deshacer con alcance en el sistema completo.
  • Sistemas de Diagnósticos Integrados.
  • Mecanismos de recuperación y verificación en línea.
  • Diseño para alta modularidad, mensurabilidad y capacidad de reinicio.
Así que... a trabajar!

Etiquetas: ,


# entrada de Fede : martes, mayo 06, 2008  0 comentarios Vínculos a esta entrada

miércoles 12 de marzo de 2008

Preocupación sobre programadores

A través del recientemente renombrado Bolg de Brenner y Fogel llegué a un blog llamado el Abra. Uno de los artículos, sin título, tenía únicamente una frase:

The idea of programming as a semiskilled task, practiced by people with a few months’ training, is dangerous. We wouldn’t tolerate plumbers or accountants that poorly educated. We don’t have as an aim that architecture (of buildings) and engineering (of bridges and trains) should become more accessible to people with progressively less training. Indeed, one serious problem is that currently, too many software developers are undereducated and undertrained.

Google y yo la tradujimos así:

La idea de la programación como un tarea sencilla, practicada por personas con unos pocos meses de formación, es peligrosa. Nosotros no toleraría sanitarios o contadores con una educación deficiente. No tenemos como objetivo que la arquitectura (de los edificios) y de la ingeniería (de los puentes y de los trenes) debería ser más accesible a las personas con menos formación. De hecho, un problema grave es que en la actualidad, muchos desarrolladores de software tienen poca educación y poco entrenamiento.

Y es algo preocupante. Sabiendo que en Uruguay, nuestra industria tiene desempleo cero, ayuda a que mucha gente que no tiene vocación o que tiene poco entrenamiento esté llegando a puestos, no solo de programación, con poca preparación y habilidades. Esos están siendo y serán cada vez más, los problemas que tendremos que arreglar.

¡CHAN!


Nota: la frase fue dicha por Bjarne Stroustrup, creador de C++, en una entrevista de Technology Review del MIT.

Etiquetas: , , ,


# entrada de Fede : miércoles, marzo 12, 2008  0 comentarios Vínculos a esta entrada

martes 22 de enero de 2008

Google Maps para Móviles

Alguna vez alguien me comentó sobre las filosofías de "Connect Everywhere". Y día a día se suman más aplicaciones para móviles. Pero claro, si uno no tiene un celular y un contrato adecuado a dichas tecnologías, jamas podrá ver el potencial.

A mi celular, un Nokia N80 con servicio 3G de Ancel, le he ido cargando algunas cosas muy interesantes:
Gmail
3DSudoku
Capjong
Algún otro jueguito...

y hoy:

Google Maps!





Toda la movida Mobile se viene con toda la fuerza. La gente quiere estar conectada (o desconectada) y la tecnología lo permite.



¿Cuánto falta para que tu seas parte de la revolución?


Agredezco a Sergio haber posteado en el Blog de Brenner sobre esta espectacularidad de Google Maps.

Etiquetas: , , , ,


# entrada de Fede : martes, enero 22, 2008  0 comentarios Vínculos a esta entrada

lunes 12 de noviembre de 2007

Oracle Express - Un Oracle gratis para Jugar

Estábame yo en clase de Bases de Datos I y escuché que mi profesor le mencionaba a otro alumno que podía bajarse de Internet el Oracle Express para hacer el obligatorio.

Y tal cual, una búsqueda en Google me llevó a encontrar el sitio de descarga de Oracle Express.

Ahora voy a instalarlo y jugar un poco, pero sobre todo, voy a hacer mi obligatorio de la asignatura en cuestión. Espero esta vez sacar un puntaje más respetable. Por el momento comencé a crear las tablas en Transact-SQL en un SQL Server 2005 (¿No me creen? Hacen bien! :-P).

En el párrafo anterior dejé el link de la versión Express de SQL, pero como soy un tipo "jodido", yo uso la Developer.

Volviendo a Oracle, se ve que se dió cuenta que cada día se instalan más y más SQL Servers, y que la técnica de Microsoft, de primero te lo doy gratis y después veo como te cobro las licencias, le está funcionando.

Pero la verdadera técnica de Microsoft, o al menos de uno de sus tentáculos, está en la comunidad. Si se quiere pertenecer a una comunidad de desarrolladores o empezar a desarrollar ayer, lo mejor es darse una vuelta por MSDN y empezar a bajarse todos los productos gratis de desarrollo de Microsoft. Con eso ya te da un poco de impulso para aprender los primeros pasos, sobre todo si se sigue el programa Desarrollador Cinco Estrellas.

Después de eso un primer trabajito como Desarrollador, que si es en un Gold Partner mejor y ya estás del otro lado. Casado con Microsoft, obvio, pero con trabajo para toda la vida. No hay que perder la visión y prepararse en otras cosas, pero es un buen comienzo.

Etiquetas: , ,


# entrada de Fede : lunes, noviembre 12, 2007  0 comentarios Vínculos a esta entrada

This page is powered by Blogger. Isn't yours?

Suscribirse a Entradas [Atom]