6 de junio de 2015


MagicISO es un programa liviano y útil para montar imágenes . Permite montar hasta 15 unidades virtuales simultáneas en formatos como ISO, BIN/CUE, IMA/IMG, CIF, NRG, IMG/CCD, MDF/MDS, VCD, VaporCD, P01/MD1/X1, VC4/000, VDI, C2D, BWI/BWT, CDI, TAO/DAO o PDI. Tambien es posible , crear imagenes.

Se puede descargar desde: http://www.magiciso.com/download.htm


5 de abril de 2015



El Lenguaje Unificado de Modelado

Este libro enseña cómo utilizar UML de forma efectiva. Proporciona sugerencias y consejos sobre cómo utilizar UML para resolver varios problemas de modelado comunes, pero no enseña cómo modelar. En este sentido es parecido a una guía de usuario de un lenguaje de programación, que enseña cómo utilizar el lenguaje pero no enseña a programar.
Se actualiza y completa con nuevos detalles de la descripción sobre interfaces requeridas y proporcionadas, colaboraciones y perfiles UML.
Sin duda un excelente libros, si estas comenzando el hermoso mundo de la ingeniería del software, recomendado.

Descargar Libro


UML Gota a Gota o también concocido como UML destilado

Este libro introduce el Lenguaje Unificado de Modelado de forma concisa. Se concentra en la notación de UML que el usuario necesita conocer y lo presenta en el contexto del desarrollo de software del mundo real. Los autores también abordan técnicas que no son propiamente de UML, pero que son importantes para el desarrollo d e software orientado a objetos tales como: CRC Cards, patrones, y refactoring.


Descargar Libro





La caché es la memoria de nuestro navegador y tiene como función permitirnos navegar más rápidamente en webs que ya hemos visitado recientemente, no teniendo que descargar de la red ciertos elementos ya guardados en nuestra pc.

Para los desarrolladores  web el tema de caché es a veces molesto. Es un problema clásico realizar cualquier tipo de modificación en una de nuestras webs y seguir viendo la versión antigua cuando colgamos los cambios en el servidor.

OPCIÓN 1: Meta-tag “expires”.

<meta http-equiv="expires" content="fecha" >

Con esta opción indicamos al navegador hasta  cuando es válida aquella web, y si la hemos superado forzamos al navegador a recargar de caché.

Por ejemplo:

<meta http-equiv="expires" content="Tue, 01 Jan 1980 1:00:00 GMT" />

En este caso refrescaremos siempre la caché.

También podemos escribir simplemente un CERO para que la web expire inmediatamente.
O incluso, si el valor de content es -1, no se guardará en el caché (como un cero en esencia).


Pero ¿qué pasa si quiero mantener un expires en mi página? Por que la solución planteada parece asumir que la caché es un problema, cuando en realidad es una manera de navegar más rápidamente por la web.


OPCIÓN 2: Podemos usar versiones de elementos:

Por ejemplo, un iframe modificado pero que carga aún el anterior elemento:

<iframe height="100%" width="100%" scrolling="auto" name="iframe" id="iframe"
src="direccion.html?ver=1.0>
</iframe>

Con el ver=1.0, obligamos a que la web recargue el elemento que nos muestra antiguo.
Esto funciona con cualquier tipo de elemento antiguo que se resista a aparecer:

Imágenes:  <img src="/imgs/imagen.gif?ver=1.0" />

Hojas de css:  <link rel="stylesheet" type="text/css" href="estilo.css?ver=1.0" />

Javascripts: <script type="text/javascript" src="/js.js?ver=1.0" />


Como se puede apreciar en los ejemplos anteriores hemos añadido un parámetro a la URL donde está el recurso, pero el recurso sigue siendo el mismo, estilos.css. De esta forma, el navegador no tendrá constancia de esta nueva URL por lo que descargará el recurso.

Los parámetros de los ejemplos anteriores son pura convención. El primero es version=1.0 lo que nos ayudará a mantener un control sobre la versión de la css que estamos exponiendo. Tambien podria ser 201402241835 que no es más que la fecha en formato yyyyMMddHHmm en la que se hicieron los últimos cambios en el recurso. Por supuesto vale cualquier otro parámetro aunque es recomendable seguir siempre la misma convención.

En el momento en que volvamos a hacer cambios en el recurso bastará con cambiar este parámetro al importar el recurso desde la página (ej: version=1.1 ó 201405160937) y nos aseguraremos al 100% que el navegador del cliente descargará el recurso la primera vez que acceda a la página una vez subidos los cambios a producción.

Fuente:
blogs.elcorreo.com
www.adictosaltrabajo.com

24 de enero de 2015

Los chicos malos detrás del ransomware CryptoWall han mejorado su código malicioso al hacer que sea más desagradable y mas resistente que nunca.
El cambio más grande con CryptoWall 3.0 es la forma en cómo las comunicaciones de comando y control pasan archivos de los servidores a los sistemas infectados. Además de aprovechar los poderes de anonimato de Tor, CryptoWall ahora hace uso de una darknet inclusive más oscura: I2P, el Proyecto de Internet Invisible. Recientemente se  ha oído hablar de I2P con más regularidad aunque ha estado presente por más de una década. Tiene mucho que ver con Silk Road Reloaded, una versión nueva del mercado negro en línea que acepta y hace uso de una gran variedad de criptomonedas. CryptoWall se apoya en I2P para mantener tanto su infraestructura como las actividades de los clientes tan privadas como sea posible.
I2P es considerado más robusto y fiable que Tor, una característica importante para el funcionamiento diario de la red CryptoWall (como lo sería para cualquier distribución de malware y de la red de control). Debido a la manera en que I2P se comunica mediante dos canales simplex en lugar de un solo canal dúplex, el extremo está expuesto y es quien comienza a escuchar. Esa característica la vuelve una herramienta extremadamente útil para mantener las acciones diarias de malware como un sigiloso CryptoWall. I2P tiene un montón de usos legítimos, pero no es de sorprenderse que los delincuentes se estén aprovechando activamente de esta manera.
El ransomware se ha elevado rápidamente al convertirse en una de las principales amenazas en línea actualmente. Los delincuentes se han dado cuenta que es rentable, aquellos que están detrás de CryptoLocker recaudaron un estimado de $30 millones en tan sólo 100 días. Es difícil imaginar que en un plazo muy corto, las empresas y los usuarios en el hogar tienen que encontrar la manera de mantener un conjunto adecuado de copias de seguridad, así como de protegerse contra situaciones como ataques de phishing, control de descargas y virus troyanos. 

Fuente: Geek

10 de agosto de 2014


En la actualidad existe mucho software que ya es compatible con la arquitectura de x64 , la mayoria de los sistemas se están adaptando a esta plataforma. Es mas que recomendable actualizarse, sin embargo esto dependerá del hardware con el que contemos.

El sistema de x64 permite usar mas de 3.5 gb de memoria  RAM y trabajar con múltiples procesadores si contamos con este tipo de hardware seguramente obtendremos el mayor rendimiento utilizando este sistema.

Ahora bien , si tenemos alguna pc con características de hardware menores a las expuestas anteriormente, lo que podríamos realizar es corroborar si nuestro procesador es capaz de soportar instrucciones de 64 bits de AMD (x86-64) o Intel (EMT-64).

Comprobación: 

Podemos utilizar el programa CPUZ que se puede descargar desde http://www.cpuid.com/softwares/cpu-z.html  y ejecutarlo

Si se encuentra disponible el juego de instrucciones de  x64 , podremos instalar el sistema de x64. Se recomienda contar con al menos 1 gb de RAM.


29 de julio de 2014



Para ejemplificar su uso, podemos decir que  un objeto DataSet es como si fuera una base de datos de SQL Server, y el objeto DataTable es como si fuera una tabla de esa base de datos. Por lo tanto si se va a trabajar con varios objetos DataTable, y ambos van a estar relacionados, entonces necesitarás utilizar un objeto DataSet. Pero si solamente vas a trabajar con una única tabla, con un objeto DataTable bastaría.

DataReader es orientado a la conexion, mantiene un cursor a la db para poder leer los registro y es necesario mantener la conexion durante esta operacion En cambio el DataSet es orientado a la No conexion, puede  cargar los datos y mentenerlos en memoria como contenedor.

El objeto DataAdapter .NET de proveedor de datos está ajustado para leer registros en un objeto DataSet y actualiza la base de datos del DataSet. El DataAdapter administra objetos Command y DataReader y simplifica el proceso de sincronización. Puede utilizar el objeto OleDbDataAdapter para rellenar un DataSet de un objeto Recordset Microsoft ActiveX Data Objects (ADO) o Registro. Un DataAdapter actúa como si fuera in puente entre DataSet y un origen de datos para la recuperación y el almacenamiento de los mismos.



Subscribe to RSS Feed Follow me on Twitter!