JASoft.org

Una reflexión para jefes, responsables, directores... y también para profesionales TIC

Una reflexión para jefes, responsables, directores... y también para profesionales TIC
Una situación muy común en las empresas cuando les hablas de formación se produce cuando los responsables de RRHH/Equipos/Proyectos te dicen que no forman a su gente porque si lo hacen luego éstos se les marchan a la competencia. Pasa constantemente. Es cierto que la formación mejora la empleabilidad de la gente. De eso no hay duda. Pero el que se vayan o se queden depende fundamentalmente de que la empresa ponga los medios y -sobre todo- las condiciones para "fidelizar" al empleado, y que por lo tanto éste desee permanecer en ella, porque está motivado, tiene posibilidades de mejorar y sobre todo se sienta realizado en el plano laboral. Si un trabajador se marcha tras la formación es que ya deseaba irse antes de la formación. Es decir, no existe una relación de causalidad entre formar a una persona y que se quiera marchar de la empresa, como es obvio. Es más, el hecho de que la empresa no les brinde la oportunidad de formarse es una razón más para querer abandonarla, pues no se apu... [Más]

Server.GetLastError no funciona en IIS 7.0 o superior: cómo solucionarlo y un truco general para IIS 7.5

Server.GetLastError no funciona en IIS 7.0 o superior: cómo solucionarlo y un truco general para IIS 7.5
Si llevas unos cuantos años en esto del desarrollo Web seguro que tienes todavía aplicaciones por ahí escritas en ASP 3.0, también conocido como "ASP Clásico". Este precursor del actual ASP era estupendo y funciona de maravilla aún hoy en día. A pesar de todas las virguerías técnicas existentes en la actualidad (que me encantan) me confieso un enamorado de esa antigua plataforma. El caso es que aún hoy en día, si tienes que montar una aplicación de ASP 3.0 incluso en un moderno Windows Server 2008 R2 con IIS 7.5, podrás hacerlo sin problemas y funcionará todo de maravilla. O casi... El otro día tuvimos que montar una de nuestras aplicaciones "legacy" en este entorno precisamente y todo parecía ir de maravilla. El caso es que nosotros instrumentamos todas nuestras aplicaciones, incluso  las antiguas, para llevar un registro automático de todos los eventos de inte... [Más]

SQL Server: cómo hacer copias de seguridad directamente en unidades de red

SQL Server: cómo hacer copias de seguridad directamente en unidades de red
Generalmente, lo que más nos interesa a la hora de realizar copias de seguridad es hacerlas hacia alguna máquina o dispositivo especializado de la red local, distintos a la máquina en la que se ejecuta nuestra aplicación o -en nuestro caso concreto- el servidor de datos. Así podremos recuperarlos desde cualquier otra máquina ante cualquier contingencia que surja. En los Data Center (y en muchas oficinas) suelen existir sistemas NAS (Network Attached Storage, almacenamiento en red) cuyo propósito es precisamente albergar las copias de seguridad. SQL Server, sin embargo, sólo ofrece soporte nativo para realizar copias de seguridad en unidades de disco o dispositvos de backup hardware locales. Esto siempre me ha parecido una seria limitación, ya que hacer copias de seguridad en local no me resulta útil en absoluto. Y tiene muchas limitaciones más (como no comprimir o cifrar las copias), aunque esto es bueno para las empresas que venden herramientas especializadas en ello, como la excelen... [Más]

Notación asintótica para indicar la eficiencia de algoritmos

Notación asintótica para indicar la eficiencia de algoritmos
El otro día un alumno del curso de preparación del examen 70-536 en campusMVP me hizo la siguiente (interesante) pregunta: "He revisando el tema de las coleciones y me han surgido las siguentes dudas: Al leer en el MSDN información sobre distintas colecciones a veces aparece la siguiente frase: 'La recuperación del valor de esta propiedad es una operación O(1); el establecimiento de la propiedad también es una operación O(1).' ¿exactamente a que se refiere con operación O(1)? El ejemplo que he puesto pertenece a ArrayList.Item (Propiedad) http://msdn.microsoft.com/es-es/library/system.collections.arraylist.item.aspx" ¿Y esto qué es? Lo de 0(1) es una notación matemática usada en algoritmia que indica el comportamiento límite de una función. A este tipo de notación se le llama "notación asintótica", "notación Landau" o "notación Big O". En la wikipedia hay un artículo muy completo sobre esta notación, pero básicamente lo que hay que saber para "andar por casa" es que lo que s... [Más]

La catedral y el bazar, pensamientos sobre el Open Source

La catedral y el bazar, pensamientos sobre el Open Source
Este fin de semana largo que tenemos en España he aprovechado para releer el clásico de la literatura del Open Source, "The cathedral and the bazaar" (PDF, 145KB) de Eric S. Raymond. Este ensayo -cuya primera versión data de 1997- se convirtió enseguida en una pieza de referencia para el movimiento Open Source ya que en él Eric analizaba las diferencias existentes entre el desarrollo tradicional de software en las grandes empresas, a las que comparaba con una catedral, con el desarrollo de aplicaciones Open Source a través de Internet con voluntarios, que comparaba con un bazar. Lo que lo inspiró a escribirlo fue la tremenda efectividad del desarrollo de Linux a principios de los años 90, que luego puso en marcha él mismo con el desarrollo de su conocido servidor de correo Fetchmail. En los últimos años Eric ha tenido sonadas disputas con el Free sSoftware Foundation y en especial con el grillado de Richard Stallman. Por si alguien lo dudaba las "catedrales" son empresas como Microsof... [Más]

ARTÍCULO: Búsqueda de ensamblados en tiempo de ejecución en .NET

ARTÍCULO: Búsqueda de ensamblados en tiempo de ejecución en .NET
Hoy he escrito un pequeño artículo sobre la carga de ensamblados por parte del motor de tiempo de ejecución de .NET. Se trata de algo que no muchos programadores de .NET tienen totalmente claro y que creo que puede resultar de interés general. En este documento explico los tipos de ensamblados que tenemos en .NET, cómo el motor de tiempo de ejecución de la plataforma busca los diferentes ensamblados que usan nuestras aplicaciones, y cómo podemos incluir referencias a ensamblados de la GAC desde Visual Studio. Finalmente, como apéndice, explicaré un truco para poder ver ensamblados propios en el diálogo de agregar referencia de Visual Studio. Como ves no hay más que ensamblados por todas partes ;-) Lo he colgado en la página en Scribd de Krasis Press, y lo puedes leer on-line y también descargártelo. ARTÍCULO: Búsqueda de ensamblados en tiempo de ejecución en .NET ¡Espero que te resulte útil!

WindowUP: coloca cualquier ventana de Windows por encima de las demás

WindowUP: coloca cualquier ventana de Windows por encima de las demás
Ayer necesité hacer precisamente eso: que una pequeña ventana que estaba utilizando se quedase por encima de todas las demás para tenerla siempre a la vista. Y de repente me acordé que hace muuuuchos años había desarrollado un programa para hacer precisamente eso. Así que rebusqué en el baúl de los recuerdos y encontré esta joyita. ¡Qué recuerdos! Se trata de un programa que hice nada más y nada menos que hace 12 años, en 1997, y que está escrito ¡en Visual Basic 3!. Me entran escalofríos sólo de recordarlo. De aquellas ya había por lo menos VB5, asi que seguramente lo hice con VB3 porque entonces casi todos los ordenadores con Windows 95 tenían las DLLs de tiempo de ejecución de VB3 incluidas, y era más "portable". Por fortuna tenía una versión compilada para usarlo, porque, si no, ni de broma me iba a poner a buscar una copia deVB3 para recompilarlo :-) Lo alucinante es que funciona igual de bien en Windows 7 hoy en día. Eso es compatiblidad hacia atrás, jeje El programa WindowUP ... [Más]

Este soy yo y este es mi blog técnico, dedicado al software y a la programación.

Mis otros blogs

- JM Alarcón @ campusMVP.es
Contenido técnico en español orientado a desarrolladores
- JMAlarcon.es
Blog personal no técnico: sociedad, innovación, empresa...

Krasis

- campusMVP.es:
Los mejores cursos online de programación en español

- SELF LMS:
La plataforma de elearning más potente del mercado.