31 de Enero 2004

El futuro tiene mala pinta...

Cuando Microsoft publica este texto en su web de soporte:

"... El paso más eficaz que puede dar para protegerse
de los hipervínculos maliciosos es no hacer clic en ellos.
Lo que debe hacer es escribir personalmente en la barra de
dirección la dirección URL del destino al que pretende llegar."

http://support.microsoft.com/default.aspx?scid=kb;es;833786

Pienso que como esto siga asi nos vamos a cargar la red en poco tiempo.

Los hipervinculos han sido uno de esos inventos que han impulsado la informática y
han hecho posible que miles de usuarios puedan emepezar a usar la red sin necesidad
de grandes conocimientos. Si nos cargamos esto, estamos poniendo en peligro Internet
tal y como lo conocemos hoy.

¿Cómo le explico yo a alguien no técnico la diferencia entre una "URL Maliciosa"
y una URL Benéfica?

He leido que otros navegadores
no sufren este problema, pero ¿durante cuanto tiempo?

Definitivamente la seguridad informática sólo se va a poder conseguir
desconectándose de la red.

Posted by rido at 8:13 PM | Comments (17)

30 de Enero 2004

Tamaño de las carpetas

En XX-nix tenemos la utilidad du que permite analizar el
tamaño de las carpetas de nuestro HD.

Windows no cuenta con esta utilidad (que yo sepa),
y es muy útil cuando empezamos a tener
problemas de disco y queremos encontrar esas esas
carpetas que ocupan demasiado...

Hoy he encontrado una herramienta para
Windows (esta con GUI ;.) DX Hog Hunt muy recomendable.

Posted by rido at 8:04 PM | Comments (3)

Blog en MSDN

El servicio de ZonaLibre esta muy bien, no obstante creo que seria más coherente utilizar un blog desarrollado en .NET.

Asi que he conseguido abrir un Blog en MSDN http://blogs.msdn.com/rido
pero ahora me he encontrado con el problema del idioma, resulta que todos los blogs de este sitio están en inglés,
pero yo quiero escribir el mio en castellano.

Asi que de momento, estoy esperando a ver que pasa con la iniciativa de MSDN Spain para abrir un sitio de blogs en
castellano.

Mientras seguiremos escribiendo en los dos.

Posted by rido at 7:59 PM | Comments (9)

Mi Workspace en GDN

Por fin he conseguido que la URL para mi workspace en GotDotNet sea algo
que se pueda recordar:

http://workspaces.gotdotnet.com/RidoCode

Esta dirección redirige a http://www.gotdotnet.com/community/workspaces/workspace.aspx?ID=54FB9F3F-7093-43D1-9608-5642AA6F189D

Como siempre si alguien quiere que le incluya que me lo pida !! estoy esperando que los miembros actuales aporten algo, aunque solo sea feedback

Posted by rido at 7:18 PM | Comments (4)

26 de Enero 2004

NAnt.Versioning.Tasks

Hace algunos posts, comentaba la falta de NAnt de tareas para
automatizar el mantenimiento de versiones.

En la versión 0.8.4 de NAnt y NAnt.Contrib tenemos las tareas:
version que actualiza un fichero "build.number" y
asminfo que crea un fichero AssemblyInfo.cs basándonse en la información parametrizable.

Sin embargo, no he encontrado la manera de :

  • Leer la version directamente desde AssemblyInfo.cs

  • Actualizar directamente AssemblyInfo.cs

Mi primera aproximación fue escribir unas tareas de NAnt que mediante
   script lee la versión actual, y usando
   exec llamaba a UpdateVersion.exe.

Como creo que estas tareas son necesarias, las he empaquetado en el Assembly: NAnt.Versioning.Tasks

Que teneis disponible en RidoCode Workspace (buscar el Releases)

Posted by rido at 2:54 AM | Comments (19)

24 de Enero 2004

Blogs que leo

He dejado aqui mi lista de blogs favoritos, como siempre en formato OPML para poder importarlo desde SharpReader.

Posted by rido at 10:47 PM | Comments (7)

XSD como sistema de tipos

Esta es la gran apuesta de la industria, debemos usar XSD para definir los tipos de nuestros interfaces publicos

al fin y al cabo es lo que necesita SOA no

Una buena discusion acerca de XSD en Whidbey, la tenemos
aqui

Posted by rido at 11:18 AM | Comments (12)

23 de Enero 2004

Más herramientas

No tiene desperdicio :
Scott Hanselman's Ultimate Developer and Power Users Tools List

que la disfruties !!

Posted by rido at 12:27 PM | Comments (20)

Framework -> SeedWork

La palabra framework es una de tantas palabras sobrecargadas.

Parece que los buenos desarrolladores desarrollan frameworks que son reutilizables, y parece que ya sólo por eso son mejores, sin embargo la realidad es que de tantos frameworks disponibles ahi fuera, muy pocos son realmente rentables.

En este post Michael Feathers habla largo y tendido al respecto. Estoy totalmente de acuerdo.

Dejemos los ambiciosos framewroks, y pasemos a seedworks

Posted by rido at 10:11 AM | Comments (12)

22 de Enero 2004

Toolbox

De vez en cuando me gusta echar un vistazo a las herramientas que van saliendo para .NET.
En sitios como http://sharptoolbox.madgeek.com/Default.aspx mantienen una lista bastante completa y bien ordenada de las mejores herramientas que nos podemos encontrar.

Posted by rido at 11:38 AM | Comments (3)

El Mente-Traz

es la traducción de google del termino MindMapping.

MindMapping es una técnica abierta que no sólo se aplica a la
industria del software

Los webs que comento en mi ultimo post, utilizan esta técnica para
expandir sus ideas y asi mejorar su proceso creativo.

Consiste en agrupar de forma gráfica todos los aspectos del tema que estamos tratando,
utilizar colores, iconos, textos, y utilizar conexiones para definir las conexiones entre los
diferentes aspectos.

Esta técnica, aplicada al desarrollo de software, en concreto al OOAD y Test, tiene unos
buenos resultados, poniendo la creativadad como un factor crucial. El resultado genera
unos diagramas como el siguiente (Ejemplo de Plan de Pruebas de un componente de Log)

Más info:

MindMappingForOOAD


MindMappingForTestPlanning


Posted by rido at 2:31 AM | Comments (7)

QProgramming

Esta claro, no depende del lenguaje, depende del compromiso con la calidad del trabajo que hacemos,
en sitios como http://www.qualityprogramming.org/
encontramos webs que hablan de tareas que tienen que ver con codigo pero sin codigo de por medio.

       
  • Requisitos    
  • Validaciones    
  • Revisiones    
  • Pruebas    
  • Documentacion


me ha gustado mucho el enfoque, no es tan radical como XP pero en el fondo habla de lo mismo.

desde aqui es dificil no saltar a http://www.sharpdevelopment.com/
otro sitio en el que encontramos interesante literatura acerca de patrones, prácticas y artículos acerca del diseño OO.


Posted by rido at 2:15 AM | Comments (5)

16 de Enero 2004

Integración Continua

La integración continua consiste en compilar y ejecutar las pruebas unitarias continuamente.

Hoy me he encontrado con una herramienta que permite realizar todas estas tareas,
apoyandose en nant y nunit.

CruiseControl.NET está desarrollada por
ThoughtsWorks y se ha publicado como OSS.

De momento estoy flipando con los scripts de NAnt, las fuentes C#, el UI Web...

Posted by rido at 6:31 PM | Comments (6)

15 de Enero 2004

Spam en mi blog?

Esto es insólito, dejas un FormHTML anónimo en internet y un día te encuentras con comentarios como estos:


Rebellion to tyrants is obedience to God.

o

Everyone is born with genius, but most people only keep it a few minutes.

firmados por una talMalloy MaryEsther , y nombres asi.

Pero ojo, que cuando miras el enlace al detalle te encuentras con

hxxp://www.penis-pills-advice.net/ 
(el hxxp es para que no se equivoque nad IE, no vayamos a hacer publicidad a estos :P&##&!!# )

habrá sido obra humana? o uno de esos robots...

sigo rebuscando en busca de más spam, y que me encuentro?

en el POST acerca de SQL y campos identity aparece
la frase Managing an @@IDENTITY Crisis será por eso que han dejado un comentario?

seguro que ha sido un robot...

Posted by rido at 12:14 AM | Comments (8)

14 de Enero 2004

El Abrazo de la muerte

Un deadlock es una situación que se produce cuando dos transacciones luchan por el mismo recurso, el resultado es tan feo como esto...


Transaction (Process ID 61) was deadlocked on lock resources with another process and has been chosen as the deadlock victim. Rerun the transaction.

Lo primero que hay que averiguar son las tablas en las que se están produciendo bloqueos, y los comandos que lanzan las transacciones.

Una vez más el infalible I.A. (y lo digo en el sentido más amplio de la palabra) me enseño como habilitar las trazas de SQL para que sea un poco más "verboso" de lo habitual.

 dbcc traceon(1204,3506)
 

para comprobar el status

 dbcc tracestatus
 

Una vez activada la traza, y reproducido el error, el resultado que deja en el LOG es el siguiente:

 Deadlock encountered .... Printing deadlock information
 
 

Wait-for graph

Node:1
TAB: 2:2009058193 [] CleanCnt:1 Mode: X Flags: 0x0
Grant List::
Owner:0x1c3b5260 Mode: X Flg:0x0 Ref:1 Life:02000000 SPID:52 ECID:0
SPID: 52 ECID: 0 Statement Type: SELECT Line #: 1
Input Buf: Language Event: select * from a (tablockx)

Requested By:
ResType:LockOwner Stype:'OR' Mode: X SPID:51 ECID:0 Ec:(0x1c657890) Value:0x1c3b51c0 Cost:(0/0)

Node:2
TAB: 2:1993058136 [] CleanCnt:1 Mode: X Flags: 0x0
Grant List::
Owner:0x1c3b52e0 Mode: X Flg:0x0 Ref:1 Life:02000000 SPID:51 ECID:0
SPID: 51 ECID: 0 Statement Type: SELECT Line #: 1
Input Buf: Language Event: select * from b (tablockx)

Requested By:
ResType:LockOwner Stype:'OR' Mode: X SPID:52 ECID:0 Ec:(0x1c593890) Value:0x1c3b5380 Cost:(0/0)
Victim Resource Owner:
ResType:LockOwner Stype:'OR' Mode: X SPID:52 ECID:0 Ec:(0x1c593890) Value:0x1c3b5380 Cost:(0/0)


Posted by rido at 11:50 PM | Comments (17)