JASoft.org

Microsoft llevará al cine "Halo"

Microsoft llevará al cine "Halo"
Al gigante de Redmond  no le llega con el mercado del software y de Internet que quiere también comerse el cinematográfico :-) Microsoft ha contratado al guionista Alex Garland ("La Playa", o "28 Días Después") para que adapta la historia a la gran pantalla. Finalizado este proceso, Microsoft ofrecería el texto (sin derecho a alteraciones) a alguno de los grandes estudios de Hollywood Entre los candidatos que suenan para dirigir la versión cinematográfica de Halo figura Ridley Scott tras el interés mostrado por los productores Ronald Shussett y Daniel Alter. El argumento del juego se sitúa en una cruenta guerra entre la raza humana y una especie de alianza alienígena conocida como El Pacto. Halo2 ha sido uno de los grandes superventas de la industria de los videojuegos durante la recien finalizada temporada navideña. Se situó justo por detrás de GTA San Andreas, ambos aparecidas exclusivamente en versiones para consolas. Microsoft consiguió el record de 2,4 millones de copias vendi... [Más]

Windows Scripting Host para .NET

Windows Scripting Host para .NET
No sé hasta que punto es conocido por los programadores (no así para los administradores de sistemas) esa pequeña joya del sistema operativo llamada Windows Scripting Host (WSH). WSH permite ejecutar directamente con un doble-click código escrito en un lenguaje de script tradicional (VBScript y JScript sobre todo) y llevar a cabo así multitud de tareas automatizadas, no relacionadas a la fuerza con la administración de sistemas. De hecho yo lo uso a menudo para probar código de todo tipo, hacer prototipos rápidos de algoritmos, automatizar muchas cosas (desde cargas de datos hasta procesamiento de directorios o cifrado de archivos pasando por monitorización de servidores). Es realmente útil porque permite el uso de cualquier objeto COM automatizable, lo cual incluye ADO o incluso aplicaciones como Excel o Word. Como también se pueden usar sus archivos (con extensión .vbs, .js o .wsh) en el administrador de tareas programadas sirve incluso para realizar tareas periódicas (mis copias de... [Más]

El blog directamente desde el móvil

El blog directamente desde el móvil
Nokia ha anunciado el lanzamiento de 'Nokia LifeBlog 1.5', un programa interactivo que permite montar un 'blog' en el móvil a partir de los mensajes, imágenes o vídeos que cada usuario almacena durante el día. Los espacios personales en la Red se han convertido en los protagonistas del último año, y la nueva tecnología de Nokia permite que sus usuarios puedan organizar contenidos dentro de su móvil como un 'blog' en la Red. Durante 2004, el fenómeno del 'weblog' se ha extendido y muchos internautas se han atrevido a convertirse en emisores de información en la Red con tan sólo tres sencillos pasos. Un informe publicado por la empresa Pew Internet of American Life Project en enero de este año aseguraba que el número de adeptos a los 'blog' en EEUU había aumentado un 58% durante 2004. El nuevo programa informático lanzado por la compañía finlandesa permite crear un diario personal móvil al habilitar un espacio para añadir anotaciones a los elementos que el usuario va guardando en su ... [Más]

Interesante descarga sobre mobilidad en Microsoft

Interesante descarga sobre mobilidad en Microsoft
Microsoft acaba de publicar la Small IT Solution for Mobility v1.0 (Beta). Se trata de una colección de documentos que ofrecen guía sobre planificación, distribución y operación de soluciones basadas en sistemas móviles (Microsoft Mobile 2003) en la empresa pequeña y mediana (PYME). habla también de cómo combinarlos con Exchange y SBS 2003. Se puede descargar gratuitamente desde aquí.

Algunas cuestiones reveladas sobre IIS 7.0

Algunas cuestiones reveladas sobre IIS 7.0
Hasta ahora poco se sabía de las nuevas características que ofrecerá la próxima versión de Internet Information Services, la 7.0. Pero últimamente se han empezado a oir rumores y algunas publicaciones electrónicas relacionadas con el mundo Microsoft están empezando a soltar algunos datos. Parece ser que en 2006, IIS 7.0 nos traerá como mínimo: Una mayor modularidad. Podremos escoger con libertad, a nivel de núcleo, qué funcionalidades queremos que tenga nuestro servidor. Así el servidor estará menos cargado y ofrecerá una menos "superficie de ataque". Una integración íntima y absoluta con ASP.NET, no como ahora que es un filtro ISAPI encima de IIS. Un nuevo sistema de configuración distribuido basado en XML y al que se podrá sacar partido desde ASP.NET. Una remozada interfaz de administración orientada a tareas y mucho más avanzada que la actual. Mejoras importantes en diagnosis, trazado y estadísticas de uso. Ya veremos qué más podemos ir conociendo sobre el asunto.

En todas partes se hacen chapucillas de vez en cuando...

En todas partes se hacen chapucillas de vez en cuando...
Brad Adams es uno de los que estuvo en el desarrollo de la plataforma .NET desde el principio, en 1998, y que también ha participado en el desarrollo de Longhorn. Me ha llamado la anteción leer en su Blog personal un post que habla del porqué de la existencia de un método DontTouchThis() en la clase Int32 y en otras similares dentro del código fuente de Rotor (la implementación de código abierto de la plataforma .NET). Parece ser que lo hacen exclusivamente para que el compilador no les lance una advertencia por tener un miembro privado que aparentemente no se usa y que en realidad sirve para almacenar el valor asociado a la clase. Es una tontería pero me ha parecido curioso comprobar cómo incluso en productos tan trabajados como .NET sus experimentados programadores hacen chapucillas como esta de vez en cuando. Yo os aseguro que si tengo que hacer algo similar para salir del paso acabaría pensando que seguro que hay una forma mejor (o correcta) de hacerlo y que se me está escapando ... [Más]

Cambiar el propietario de una tabla de SQL Server

Cambiar el propietario de una tabla de SQL Server
Cuando restauramos una copia de seguridad de una base de datos de SQL Server desde un servidor a otro diferente es posible que los propietarios de las tablas de la base de datos recién restaurada no coincidan con el propietario que tenemos en el resto de bases de datos o con el de las tablas del sistema. Si deseamos establecer de forma manual el propietario de una tabla (o en general de cualqueier objeto) de SQL Server podemos recurrir al procedimiento almacenado sp_changeobjectowner. Basta con abrir el analizador de consultas y escribir: sp_changeobjectowner 'propietario.tabla', 'nuevo_propietario' para cambiarlo. Por ejemplo: sp_changeobjectowner 'usuario.Articulos', 'dbo' cambiaría el propietario a 'dbo', es decir, el propietario por defecto de los objetos de una base de datos y el que normalmente se utiliza.

Cortocircuito de expresiones y su importancia

Cortocircuito de expresiones y su importancia
Se trata esta de una observación que, aunque obvia, en muchos casos puede pasar inadvertida y me parece por tanto interesante destacarla aquí. Las expresiones condicionales en C# se cortocircuitan. Esto quiere decir que se detienen las comprobaciones en cuanto no es necesario comprobar el resto de condiciones por haber hecho suficientes pruebas para determinar el resultado. Me explico. Todo el mundo sabe que para que una condición AND proporcione un valor positivo (true) ambas condiciones que se comprueban deben ser positivas (true). Por ello, cuando C# encuentra una condición AND, y verifica que la primera de las dos condiciones que se comparan es falsa, automáticamente deja de comprobar la que falta, puesto que aunque fuese cierta el resultado será falso al serlo ya la primera y, entonces, ¿para qué seguir perdiendo el tiempo?. Lo mismo ocurre con los otros tipos de operadores booleanos. Por ejemplo, en una expresión O... [Más]

Funciones útiles para matrices en C# (y II)

Funciones útiles para matrices en C# (y II)
Siguiendo con el post anterior de las matrices, vamos a ver ahora como emular de forma genérica la instrucción Redim Preserve de Visual Basic desde C#. private static Array RedimPreserve(Array matriz, int nuevoTamanho) {  Array m = Array.CreateInstance(matriz.GetValue(0).GetType(), nuevoTamanho);  int longACopiar = nuevoTamanho;  if (nuevoTamanho > matriz.Length) longACopiar = matriz.Length;  Array.Copy(matriz, 0, m, 0, longACopiar);  return m; } Esta versión devuelve una matriz con el tamaño indicado y preservando los elementos contenidos en la matriz original. Se usa el método Copy de la clase Array para copiar de manera eficiente los elementos y evitar hacer un bucle. Al igual que en el post anterior también podemos considerar la versión que transforma directamente la matriz que se le pase por referencia:  private static void RedimPreserve(ref Array matriz, int nuevoTamanho) {  Array m = Array.CreateInstance(matriz.GetValue(0).GetType(), nuevoTamanho);  int longACopiar = ... [Más]

Funciones útiles para matrices en C# (I)

Funciones útiles para matrices en C# (I)
En Visual Basic (clásico y .NET) hay un par de funciones para tratamiento de matrices que siempre me han parecido muy útiles. Se trata de Redim y Redim Preserve. Ambas sirven para redimensionar una matriz sin tener que volver a declararla. La diferencia entre ellas estriba en que la primera crea una amtriz nueva y se pierden los elementos que contenía, mientras que la segunda (la más interesante), permite crear una matriz nueva de diferente tamaño y que conserva los elementos que ésta contuviera previamente. En C# la primera función tiene poco sentido ya que podemos redefinir una matriz cuando queramos, por ejemplo: int[] matriz = new int[5];matriz = new int[8]; Ningún problema con esto. Por lo único que se me ocurre ahora mismo que podríamos necesitar la función Redim es para hacer lo anterior de forma genérica, es decir, para poder hacerlo sin importar el tipo de datos que contiene la matriz original. Esta función sería tan sencilla como la siguiente:  private Array Redim(Arr... [Más]

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

¡Sígueme en Twitter!

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.

Histórico