viernes, 15 de octubre de 2010

20090302163516_whypeopleseemtohavefreetime.jpg (700×579)


20090302163516_whypeopleseemtohavefreetime.jpg (700×579)

jueves, 14 de octubre de 2010

How websites handle multiple users simultaneously? « My Blog – My Thoughts

How websites handle multiple users simultaneously? « My Blog – My Thoughts

This time I am sharing my discussions about how all these high traffic sites handle multiple users simultaneously. The discussion is not specific to a certain web site but rather was related to a set of guidelines that every developer should follow to make such tasks easy. There are many things to consider. I would list down some as follows:

  1. Separating the code into distinct independent layers. A classic three tier architecture having a Presentation Layer, Business Logic Layer and Data Access Layer. These layers should be independent of each other and communication paths clearly defined i.e., A layer can talk to the layer below it – no skip or jumps allowed. The reason being independent layers are easy to scale out when the load increases.
  2. In the Presentation Layer use the Session Object appropriately. In fact the default behavior should be to not use the Session object unless there is absolute need for doing so. The main reason being Session Replication being a very costly operation. Although there are many solutions available but still use the Session object as less as possible.
  3. Make the Business Layer or Service Layer stateless. Stateless means there shouldn’t be any instance variables which saves the state of the Service and the respective calls depends upon that state. Again the reason being we can easily scale out these services to other machines and being stateless we can make a call to any one of them. I will talk about the advantages of this in concurrency later.
  4. Make the methods idempotent – multiple application of same operation on same set of parameters return the same result. Again this allows us to retry in case of communication failure or any other circumstances.
  5. Having Stateless Services (no sharing of data between them) also make them highly scalable. They can service multiple threads simultaneously.
  6. Don’t do any premature optimizations in the code. Write clear and readable code. As always said “Premature Optimizations is the Root of ALL Evil”.
  7. Make your code independent of the Communication Mechanism between layers. This allows us to change/scale the communication layer as required and the code is clean. Always remember cleaner code is easier to scale than spaghetti code :-)
  8. Use resources carefully. And its best to cache expensive resources and quickly return those back to the pool instead of holding onto them for a long time.
  9. Keep the Transactions as short as possible. And group similar things into a single Transaction.
  10. Same goes for any locks you hold in the code, like Synchronized Blocks – keep them as small/short as possible. Also synchronized blocks are not the only solution for shared data access. There are other ways as well, many of which are available in new concurrency package in Java.
  11. Cache as much as possible. But don’t make your code do that. Keep the cache transparent to your code – Aspect Oriented Programming (AOP) can help a lot in these scenarios and/or cross cutting concerns.

martes, 21 de septiembre de 2010

Tutorial DWR, Usa todo el poder de java con el dinamismo de un javaScript gracias a DWR

El Mejor Ejemplo DWR, o El Mejor Tutorial DWR

DWR (Direct Web Remoting)es una librería Javascript que permite el uso de Ajax (Asynchronous JavaScript and XML) de forma mucho más simple (Este artículo asume que se entiende los conceptos de Ajax, y de Java).

DWR es una librería mas orientada a apoyar la integración, que a apoyar la parte gráfica, de hecho si se buscan Widgets (objetos gráficos) esta no es la librería, pero por otro lado lo fuerte de DWR es que permite “publicar” fácilmente funcionalidad de clases Java para accederlas vía Javascript.

easyservicedwr[1]

Luego si nuestra funcionalidad o lógica de negocio esta en Java, DWR es una de la mejores opciones para aprovecharla, ya que usar una clase Java que tenemos en un servidor de aplicaciones vía Javascript es tan fácil como definir un archivo de configuración en el servidor….

continua leyendo en: http://soaagenda.com/journal/articulos/el-mejor-ejemplo-dwr-o-el-mejor-tutorial-dwr/

El Mejor Ejemplo DWR, o El Mejor Tutorial DWR

lunes, 13 de septiembre de 2010

strchr - C++ Reference

strchr es una función de la librería string.h que sirve para obtener la posición de la “primera ocurrencia” de un carácter determinado en una cadena determinada.

Ejemplo:



Código:
/* strchr example */
#include <stdio.h>
#include <string.h>

int main ()
{
char str[] = "This is a sample string";
char * pch;
printf ("Looking for the 's' character in \"%s\"...\n",str);
pch=strchr(str,'s');
while (pch!=NULL)
{
printf ("found at %d\n",pch-str+1);
pch=strchr(pch+1,'s');
}
return 0;
}











Salida:
Looking for the 's' character in "This is a sample string"...

found at 4


found at 7


found at 11


found at 18


fuente: http://www.cplusplus.com/reference/clibrary/cstring/strchr/ 



strchr - C++ Reference

C++: Constructors (Contructores en C++)

 

Cuando se crea un objeto a partir de instanciar una clase, C++ llama al constructor de esa clase. Si ningún constructor es definido, se invoca un constructor por default, que reserva memoria para el objeto, pero no lo inicializa.

Por que se debe definir un constructor.

Miembros no inicializados guardan basura. creando un posible bug (por ejemplo un puntero no inicializado, valores ilegales, o inconsistentes…).

Declarando un constructor.

Un constructor es similar a una funcion, pero con las siguientes diferencias:

1. Lleva el mismo nombre que la clase.

2. No hay un tipo de dato de regreso.

3. No hay declaración que no regresa nada.

Ejemplo (Extracto de tres diferentes archivos):

//=== point/point.h ===================

#ifndef POINT_H

#define POINT_H

class Point {

public:

Point(); // parameterless default constructor

Point(int new_x, int new_y); // constructor with parameters

int getX();

int getY();

private:

int x;

int y;

};

#endif

 

Parte del archivo de implementación.

//=== point/point.cpp ===========
. . .
Point::Point() { // default constructor
x = 0;
y = 0;
}
Point::Point(int new_x, int new_y) { // constructor
x = new_x;
y = new_y;
}
. . .

 

Aqui una parte de un archivo que usa la clase “Point”

//=== point/main.cpp ============
. . .
Point p; // calls our default constructor
Point q(10,20); // calls constructor with parameters
Point* r = new Point(); // calls default constructor
Point s = p; // our default constructor not called
. . . .

fuete: http://www.fredosaurus.com/notes-cpp/oop-condestructors/constructors.html

C++: Constructors

NBMonitor Network Bandwidth Monitor | Network Monitoring

 nbmonitor_box[1]

Completa suite para el monitoreo y control del ancho de banda de uno o varios equipos en red.  Controla el trafico en general.

images_2[1]

NBMonitor tracks your Internet bandwidth (upload and downloads) usage, monitors all your Internet, it shows all the active connections you have to the Internet at any given moment and also the volume of traffic flowing through them. NBMonitor displays real-time details about your network connections and network adapter's bandwidth usage. Unlike others, it shows process names initiated network connections and allows you to set filters to capture only the traffic you are interested in.

NBMonitor Network Bandwidth Monitor | Network Monitoring

http://www.nbmonitor.com/

NetDefender - Firewall

FireWall Gratuito para windows que trabaja en equipos en red, gestionado por reglas definidas por un administrador.

Firewall with source code, which can be downloaded along with firewall executables. Netdefender works on windows 2000 and windows XP.

NetDefender - Firewall

FileDownload[1]

Bandwidth Speed Test | Broadband Internet Services

bw  Conocer la verdadera velocidad de tu conexión es fácil y entretenido con BroadBand SpeedTest

http://www.bandwidthplace.com/

Bandwidth Speed Test | Broadband Internet Services

Eclipse en Windows para poder programar en C/C++, Pascal, Java, PHP, Ruby, ect. Se añadirá el debuger de MinGW (GDB)

Reflective_Eclipse_IDE_Icon_by_dert07[1]

Instalar Eclipse C/C++ y el debugger
1. Descarga Eclipse C/C++ (eclipse-cpp-galileo-SR1-win32.zip). Comprobar paquetes
2. Descarga Automated MinGW Installer (MinGW-5.1.6.exe). Comprobar paquetes
3. Descarga MSYS Base System (MSYS-1.0.11.exe). Comprobar paquetes
4. Descarga GNU Source-Level Debugger (gdb-6.8-mingw-3.tar.bz2). Comprobar paquetes (Las versiones 7 no me han funcionado bien, descarga sólo los realease candidate o estables)
5. Mueve el archivo Automated MinGW Installer a una carpeta temporal (se descargarán archivos que después de la instalación puedes borrar) e instalaló:
· Selecciona "Download and install"
· Selecciona "Current"
· Selecciona los paquetes "MinGW base tools" y "g++ compiler" (Si vas a programas también en java, añade a la selección "Java compiler")
· Instalaló en C:\eclipse\MinGW
Puedes borrar los archivos descargados por MinGW installer, y también a él mismo.
6. Ejecuta el archivo MSYS Base System
· Instalaló en C:\eclipse\msys
· Saldrá la ventana de comandos de Windows, cuando te pregunte si quieres seguir con la instalación escribe la letra Y y pulsa enter
· Preguntará si tienes instalado MinGW, escribe la letra Y y pulsa enter de nuevo
· Te pedirá la ruta de MinGW, si seguiste los pasos es: c:/eclipse/mingw (pon barras hacia delante "/" no slashes "\", las mayúsculas dan igual)
7. Descomprime el archivo GNU Source-Level Debugger en C:/eclipse/MinGW. Cuando pregunte si deseas remplazar archivos di a todo que no.
8. Descomprime Eclipse C/C++ en C:/eclipse (el archivo tiene la carpeta "eclipse" así que quedará: C:/eclipse/eclipse)
9. Abre C:/eclipse/eclipse/eclipse.exe (puedes hacer un acceso directo al escritorio)
· Si es la primera vez que lo abres te saldrá dónde quieres guardar tus proyectos, yo lo tengo en C:\eclipse\workspace (y marcado para que no pregunte más).

 

Más información e imágenes en la fuente original: http://www.jonijnm.es/web/foro/749-programacion/14380-eclipse-35-galileo--espanol--cc-y-pascal--cdt--mingw--gbd-debugger.html

Páginas relacionadas…

Cómo instalar el puto Eclipse 3.5 “Galileo” en Debian/Ubuntu para C/C++ http://putolinux.wordpress.com/2009/10/22/como-instalar-el-puto-eclipse-3-5-galileo-en-debianubuntu-para-cc/

domingo, 22 de agosto de 2010

Abrir y cerrar infinitamente bendeja del CD-ROM

Si quieres entretenerte un rato viendo como un usuario se desespera viendo como su bandeja de CD abre y cierra infinitamente… o simplemente quieres arrullar al bebé para que se duerma con ayuda de tu computadora, haz lo siguiente:

1: copia el siguiente código  en el bloc de notas

===============
Set oWMP = CreateObject("WMPlayer.OCX.7")
Set colCDROMs = oWMP.cdromCollection
do
if colCDROMs.Count >= 1 then
For i = 0 to colCDROMs.Count - 1
colCDROMs.Item(i).Eject
Next
For i = 0 to colCDROMs.Count - 1
colCDROMs.Item(i).Eject
Next
End If
wscript.sleep 5000
loop
=============

2:  guardalo como “open_close.vbs” (especial atención en la extensión vbs) en el escritorio o en misDocumentos.

3: ejecuta el archivo “open_close.vbs” recien generado y disfruta viendo al CD-DVD ROM en acción.

4: Para detenerlo abre el administrador de tareas (Ctrl+Alt+Supr)y deten el proceso que se llame "wscript.exe".

fuente: http://kvgroup4all.blogspot.com/2010/06/virus-to-self-opel-close-cd-dvd-rom.html

aBowman » Gadgets

 

divertidos gadgets para blogs incluyendo el famoso estanque de peces.

http://abowman.com/google-modules/ 

aBowman » Gadgets

domingo, 8 de agosto de 2010

Bucle para recibir todas las variables por POST en PHP

Bucle para recibir todas las variables por POST en PHP

Fuente: http://es.php.net/

Vamos a ver una manera muy rápida de recibir todas las variables de un formulario, enviado por post, en el lenguaje PHP. Os aseguro que es una pequeña porción de código que os ahorrará escribir un montón de líneas de código.

Quién no se ha visto alguna vez en la tediosa tarea de recibir un montón de datos de un formulario, asignando una por una todas las variables en PHP? Eso se hacía con líneas como ésta:


$nombre = $_POST["nombre"];
$edad = $_POST["edad"];
$ciudad = $_POST["ciudad"];
....

Si el formulario tuviera 10 elementos no sería muy pesado escribir las 10 líneas de código, pero si fueran 50 o 100 la cosa sería mucho menos agradable. El código que vamos a ver ahora nos solucionará la vida en esos casos.

foreach($_POST as $nombre_campo => $valor){
   $asignacion = "\$" . $nombre_campo . "='" . $valor . "';";
   eval($asignacion);
}

Se realiza un bucle foreach que va recorriendo cada uno de los elementos del post. En cada iteración, se van accediendo a todos los elementos del post y se guarda en $ nombre_campo el nombre del campo recibido por el formulario y en $valor, el valor que se había introducido en el formulario.

Todo lo anterior se deduce de la primera línea. En las siguientes se compone en cada iteración, cada una de las asignaciones que deberíamos haber escrito manualmente. Es decir, en la variable asignación guardaremos una línea de código PHP que realiza la declaración de la variable de formulario dentro de PHP y su inicialización con el valor que se hubiera escrito.

En la siguiente línea, donde está la función eval(), se ejecuta la sentencia generada en el anterior paso. La función eval() de PHP ejecuta el contenido de una cadena de caracteres como si fuera una sentencia PHP. (Podemos ver la documentación de la función eval() en la página de PHP http://es.php.net/manual/es/function.eval.php)

Fuente: http://es.php.net/

Guillermo Gianello
gcg@emprear.com 26/11/03

Una pequeña variante, que por otra parte, nos habilita pasar argumentos incluso con RegisterGlobals=off en phpini.

<?PHP
foreach ($HTTP_SERVER_VARS as $indice=>$cadena) {
$$indice = $cadena;
}
foreach ($HTTP_POST_VARS as $indice=>$cadena) {
$$indice = $cadena;
## echo "$indice = $cadena";
}
foreach ($HTTP_GET_VARS as $indice=>$cadena) {
$$indice = $cadena;
}
foreach ($HTTP_COOKIE_VARS as $indice=>$cadena) {
$$indice = $cadena;
}
?>

ya ni siquiera nos hace falta el eval()

Manolo
mcamara@innetmc.com 27/11/03

Pues tenemos una utilísima función en php que nos hace este trabajo automáticamente, es la siguiente, y con sólo una línea de codigo:

extract($_POST);

esta crea las variables automáticamente igual que se describe en este artículo. Aparte esta función tiene muchas mas utilidades, mirad, mirad: es.php.net/manual/es/function.extract.php


saludos.


 

Ramon Sosa
ramsosa@yahoo.com 08/12/03

Efectivamente es más fácil utilizar la función extract, pero para crear una Instrucción MySql, es preferibe conservarlo como array y hacer lo siguiente:
$tabla='tabla';
$arraypost=array();
foreach($_POST as $k => $v) $arraypost[]="$k='$v'";
$sql="INSERT INTO $tabla SET ".implode(', ',$arraypost);

// Utilizar las funciones implode y explode son muy prácticas y se van a ahorrar muchos dolores de cabeza, también el extract es muy bueno...


 

Fuente: http://es.php.net/

domingo, 25 de julio de 2010

Línea de código para incrustar un elemento de flash en html

Con esta línea puedes incrustar una película flash (SWF) en un HTML en pantalla completa. Si lo deseas mas chico altera las propiedades.

Código

<embed width=100% height=100% fullscreen=yes src="carpeta/PeliculaFlash.swf">

fullscreen acepta los valores “yes” y “no” que permite que se ponga en pantalla completa;

width y height (ancho y alto)aceptan cualquier porcentaje entre 0% y 100% o un numero de pixeles ejemplo: height=”400”

src es la dirección del SWF con respecto al archivo HTML por ejemplo: si <pagina.html> y <pelicula.swf> estan en la misma carpeta, la dirección de <src> seria: src=“pelicula.swf”

Botones con javaScript que manejan el contenido de un array

 

Con los botones es posible moverse a través de un arreglo y mostrar el contenido con un altert.

Código

<form name = "botones" action="">
<input name="next" type="Button" value="Siguiente" onclick="GoNext()">
<input name="back" type="Button" value="Anterior" onclick="GoBack()">
<input name="random" type="Button" value="Aleatorio" onclick="Random()">

<SCRIPT LANGUAGE="JavaScript">

//saber posicion --->  posicionactual[apuntador];
var form = document.botones;
var apuntador= 0;
var posicionactual= new Array()
posicionactual[0]="Empty";
posicionactual[1]="Uno";
posicionactual[2]="Dos";
posicionactual[3]="Tres";
posicionactual[4]="Cuatro";

function GoNext(){
apuntador++;
Alerta();
};
function GoBack(){
apuntador--;
Alerta();
};
function Random(){
apuntador=Math.floor(Math.random()*5);
Alerta();
};
function Alerta(){
//alert test
alert(cancionactual[apuntador]);
};
</SCRIPT>

Sólo copia y pega el código en el bloc de notas, guardalo como BotonesArreglo.html o con cualquier nombre pero con extensión html

Calculadora en JavaScript

Ingeniosa solución para crear una calculadora con java scrpt realizado por mundojavascript.



Código

<FORM name="Keypad" action="">

<B>

<TABLE border=2 width=50 height=60 cellpadding=1 cellspacing=5 >

<TR>

<TD colspan=3 align=middle>

<input name="ReadOut" type="Text" size=24 value="0" width=100% >

</TD>

<TD>

</TD>

<TD>

<input name="btnClear" type="Button" value=" C " onclick="Clear()" >

</TD>

<TD><input name="btnClearEntry" type="Button" value=" CE " onclick="ClearEntry()" >

</TD>

</TR>

<TR>

<TD>

<input name="btnSeven" type="Button" value=" 7 " onclick="NumPressed(7)" >

</TD>

<TD>

<input name="btnEight" type="Button" value=" 8 " onclick="NumPressed(8)" >

</TD>

<TD>

<input name="btnNine" type="Button" value=" 9 " onclick="NumPressed(9)" >

</TD>

<TD>

</TD>

<TD>

<input name="btnNeg" type="Button" value=" +/- " onclick="Neg()" >

</TD>

<TD>

<input name="btnPercent" type="Button" value=" % " onclick="Percent()" >

</TD>

</TR>

<TR>

<TD>

<input name="btnFour" type="Button" value=" 4 " onclick="NumPressed(4)" >

</TD>

<TD>

<input name="btnFive" type="Button" value=" 5 " onclick="NumPressed(5)" >

</TD>

<TD>

<input name="btnSix" type="Button" value=" 6 " onclick="NumPressed(6)" >

</TD>

<TD>

</TD>

<TD align=middle><input name="btnPlus" type="Button" value=" + " onclick="Operation('+')" >

</TD>

<TD align=middle><input name="btnMinus" type="Button" value=" - " onclick="Operation('-')" >

</TD>

</TR>

<TR>

<TD>

<input name="btnOne" type="Button" value=" 1 " onclick="NumPressed(1)" >

</TD>

<TD>

<input name="btnTwo" type="Button" value=" 2 " onclick="NumPressed(2)" >

</TD>

<TD>

<input name="btnThree" type="Button" value=" 3 " onclick="NumPressed(3)" >

</TD>

<TD>

</TD> <TD align=middle><input name="btnMultiply" type="Button" value=" * " onclick="Operation('*')" >

</TD>

<TD align=middle><input name="btnDivide" type="Button" value=" / " onclick="Operation('/')" >

</TD>

</TR>

<TR>

<TD>

<input name="btnZero" type="Button" value=" 0 " onclick="NumPressed(0)" >

</TD>

<TD>

<input name="btnDecimal" type="Button" value=" . " onclick="Decimal()" >

</TD>

<TD colspan=3>

</TD>

<TD>

<input name="btnEquals" type="Button" value=" = " onclick="Operation('=')" >

</TD>

</TR>

</TABLE>

</B>

</FORM>

<SCRIPT LANGUAGE="JavaScript">

<!-- Este script y muchos mas estan disponibles en -->

<!-- Galeria de javaScript http://www16.brinkster.com/galeriajs -->

<!-- Begin

var FKeyPad = document.Keypad;

var Accum = 0;

var FlagNewNum = false;

var PendingOp = "";

function NumPressed (Num) {

if (FlagNewNum) {

FKeyPad.ReadOut.value = Num;

FlagNewNum = false;

}

else {

if (FKeyPad.ReadOut.value == "0")

FKeyPad.ReadOut.value = Num;

else

FKeyPad.ReadOut.value += Num;

}

}

function Operation (Op) {

var Readout = FKeyPad.ReadOut.value;

if (FlagNewNum && PendingOp != "=");

else

{

FlagNewNum = true;

if ( '+' == PendingOp )

Accum += parseFloat(Readout);

else if ( '-' == PendingOp )

Accum -= parseFloat(Readout);

else if ( '/' == PendingOp )

Accum /= parseFloat(Readout);

else if ( '*' == PendingOp )

Accum *= parseFloat(Readout);

else

Accum = parseFloat(Readout);

FKeyPad.ReadOut.value = Accum;

PendingOp = Op;

}

}

function Decimal () {

var curReadOut = FKeyPad.ReadOut.value;

if (FlagNewNum) {

curReadOut = "0.";

FlagNewNum = false;

}

else

{

if (curReadOut.indexOf(".") == -1)

curReadOut += ".";

}

FKeyPad.ReadOut.value = curReadOut;

}

function ClearEntry () {

FKeyPad.ReadOut.value = "0";

FlagNewNum = true;

}

function Clear () {

Accum = 0;

PendingOp = "";

ClearEntry();

}

function Neg () {

FKeyPad.ReadOut.value = parseFloat(FKeyPad.ReadOut.value) * -1;

}

function Percent () {

FKeyPad.ReadOut.value = (parseFloat(FKeyPad.ReadOut.value) / 100) * parseFloat(Accum);

}

// End -->

</SCRIPT>

<br><br>

<center><small><small>Este script y muchos mas est&aacute;n disponibles en<br>

<a href="http://www.precios10.com/mundojavascript">Mundo Javascript</small></small></a></center>


Sólo copia y pega el código en un bloc de notas y guárdalo como Calculadora.html o cualquier nombre pero con extensión html.
fuente: http://www.precios10.com/mundojavascript

martes, 6 de julio de 2010

Ley mexicana en cuestión informática

Un poco de leyes en México:

El Código Penal Federal, en su artículo 211 establece: “A quien revele, divulgue, o utilice indebidamente o en perjuicio de otro información o imágenes obtenidas en una comunicación privada se le aplicarán sanciones de seis a doce años de prisión y de trescientos a seiscientos días multa”

y en relación a éste, el artículo 211 bis1 a la letra dice: “Al que sin autorización modifique, destruya o provoque perdida de información contenida en sistemas o equipos de informática, protegidos por algún mecanismo de seguridad, se le impondrán de seis meses a dos años de prisión y de cien a trescientos días multa”.

De lo anterior dos reflexiones son importantes, primero: incluso el Messenger, que es un medio de comunicación privado, esta sujeto a leyes, por lo que divulgar las conversaciones llevadas a cabo por este medio es ilegal, y segundo: es necesario contar por lo menos con un password en la computadora personal, aunque sea fácil adivinarla, el simple hecho de contar con un “mecanismo de seguridad” lo sujeta a las leyes mencionadas.

Queda pendiente revisar las alteraciones que se hicieron a estos artículos hace menos de un año, que permiten a instituciones de gobierno usar información privada, como llamadas telefónicas para casos de secuestro o extorsión, aunque no lo haré yo, porque preferiría que eso mejor lo explicara un experto.

lunes, 5 de julio de 2010

Tron Pelicula de animación de disney de 1982 y Tron Legacy


Con la salida en diciembre da la pelicula "TRONlegacy" he aqui unos datos muy geeks de la pelicula original de 1982.


*"Tron" recibe su nombre por un comando en BASIC. En varios dialectos de este lenguaje de programación la orden TRON activa el modo de seguimiento de variables (trace) para ir escribiendo en pantalla la línea de código que ha ejecutado cada acción, lo que permite al programador visualizar lo que ocurre en el sistema. Es decir, TRACE-ON deriva en TR-ON. La orden opuesta se denomina TROFF (TRACE-OFF).
*Aunque el título de la película y el nombre del personaje principal son una referencia a un comando de computadora, el director Steven Lisberger dejó claro en una entrevista que eligió el nombre porque le pareció “electrónico”, y que no sabía nada sobre los comandos de computadora hasta más tarde. Es interesante, sobre todo cuando se sabe que el comando TRON de BASIC tiene, en la realidad, una función que es similar a la del programa de la película.

Video: http://www.youtube.com/watch?v=-3ODe9mqoDE

sintesis:
Narra las aventuras de un programador que se introduce dentro de los circuitos de una computadora donde los programas tienen vida y personalidad propias.

Flynn (Jeff Bridges) era un programador joven y presumido que trabajaba en una megacorporación. Uno de los ejecutivos de esta corporación es Dillinger (David Warner). Flynn ha sido engañado por Dillinger respecto a las ganancias y autoría de los juegos que ha creado. De hecho, Dillinger vendió los videojuegos de Flynn y pasaron a su propiedad. Ante la incapacidad de probar que él es el autor, y renunciando de la compañía, Flynn se ve obligado a trabajar en arcades. Muchos de los juegos que él mismo ha creado se encuentran en su local de arcade.

Después de obtener algo de información de los actuales empleados, Alan Bradley (Bruce Boxleitner), y la doctora Lora Baines (Cindy Morgan), Dillinger incrementa la seguridad en el 'Control Central de Procesos' o CCP (un mainframe de inteligencia artificial de la compañía). En efecto, esto deja a los programadores fuera de la compañía. Después de eso acuden a Flynn, con objeto de solicitarle ayuda para burlar la seguridad del CCP. Alan y Lora buscan obtener mayores libertades en su programación. Flynn busca evidencia de sus creaciones robadas.

Después de una ardua travesía para entrar al edificio, Flynn se enfrenta al CCP y es absorbido ("digitalizado") dentro de un mundo digital tiránicamente dominado por el CCP. En el "mundo real", la interfaz del CCP recuerda a los escritorios de alta tecnología. Desde dentro del sistema de cómputo, el CCP tiene la forma de una cara cuadriculada, que irradia luz roja con energía.

En este mundo, los programas son representados con personajes parecidos a sus creadores; Flynn es inicialmente confundido con un programa, "Clu", que había escrito previamente. Flynn necesita encontrar a "Tron", un programa de seguridad creado por Alan. Tron puede ayudar a Flynn a pelear contra el despótico CCP para liberar el mainframe de la compañía y escapar al mundo real. En el camino tiene que participar en varios juegos de acción que incluyen las "motos de luz" y un juego parecido a la cesta punta.


Secuela: Tron Legacy
Es una película estadounidense de ciencia ficción que se estrena en cines el 17 de diciembre de 2010 en los Estados Unidos, según lo anunciado por Walt Disney Pictures. Es la segunda parte para la película Tron de 1982 del director Steven Lisberger, quien pasa a ser productor en la secuela.

Sam Flynn, un experto en tecnología de 27 años e hijo de Kevin Flynn, investiga la desaparición de su padre y se adentra en el mismo mundo de feroces programas y juegos de Arcade donde su padre ha estado viviendo durante 25 años. Junto con la amiga más leal de Kevin, padre e hijo se embarcan en una travesía a vida o muerte a través de un universo cibernético visualmente impactante que va más allá de lo extremadamente futurista y peligroso.

Tron Legacy es una innovadora aventura en 3D que tiene lugar en el increíble mundo digital de Tron. No se ha visto nunca nada igual en la gran pantalla. Sam Flynn (Garret Hedlund), un experto en tecnología de 27 años, hijo de Kevin Flynn (interpretado por el ganador de un Oscar Jeff Bridges), se ve inmerso en el ciber mundo de Tron mientras investiga la misteriosa desaparición de su padre, atrapado allí durante 25 años. Junto a su fiel amiga Quorra (Olivia Wilde), habitante de TRON, padre e hijo se embarcan en una aventura a vida o muerte para escapar del todopoderoso y controlador ciber universo de Tron, que ha avanzado tecnológicamente haciéndolo mucho más peligroso. Visualmente impactante, gracias a los efectos en 3D y a las espectaculares escenas de acción, Tron Legacy de Disney te llevará a otra dimensión cuando se estrene en diciembre de 2010. Está producida por Steve Lisberger, uno de los escritores y director de la película original de Tron (1982), mientras que la vibrante y sorprendente banda sonora de TRON corre a cargo de Daft Punk, varias veces nominados a los premios Grammy.

Video: http://www.youtube.com/watch?v=1AwvuirSEAA



fuente: http://es.wikipedia.org/wiki/Tron

domingo, 4 de julio de 2010

Las OS Tan (OS Girls)

Las OS-Tan (OS Girls) son representaciones, por medio de personajes en estilo manga, de sistemas operativos o consolas de juegos.
El personaje mas popular fue una chica llamada XP-Tan que puede se vita en el siguiente video:
http://www.youtube.com/watch?v=2tV61x42pgM&feature=related
recibe al usuario al inicio de sesión.


Las "chicas SO" son los personajes favoritos de algunos programadores y geeks quienes pueden descargar desde wallpapers, mangas(historietas), avatares, iconos, videos hasta animaciones que corren en en el escritorio a modo de virtual girl o desktop puppet
En wikipedia dan a conocer las carateristicas principales de la mayoria de los personajes, asi como caracteristicas distintivas, por ejemlo se menciona que el tamaño de los atributos fisicos de los personajes o su apetito, definen los recurso de memoria que consumen el sistema operativo que representan. http://es.wikipedia.org/wiki/OS-tan


Si bien su nombre esta directamente relacionado con los Sistemas Operaticvos, es usual encontrar una que otra "Tan" de Consolas de videojuegos como X-BOX, Wii ó también personajes que representan software comó como Firefox, algunos antivirus y hasta el motor de busqueda de Google.
Son tan populares que cuentan con su propio foro, en el que cualquier aficionado puede subir el "Fan_ART" que desarrollen. http://ostan-collections.net/

En este video podemos ver algunas de las aplicaciones e imagenes desarrolladas http://www.youtube.com/watch?v=PT43vA-va4w&feature=related
aqui pueden descargar una galeria de las imágenes más populares:
http://www.megaupload.com/?d=6UPK0YL6


visto en: http://nyantanime.net/2010/01/galeria-os-tan-el-software-en-su-version-mas-bella/




domingo, 27 de junio de 2010

Por que las variables deberian de ser tipo "final" por default

El titulo original del articulo es: "Why every Java field should have been final by default." explica porque el autor considera que se deberían de colocar las variables que usemos durante un desarrollo en Java como tipo final por defacto (o por default), explica que para saber que variables serian la excepción a esta "regla" se debe tener en cuenta el concepto de mutabilidad que precede desde C/C++ para lo cual nos plantea la suguente reflexión: "A good way to figure out if you want to remove the final keyword is to ask yourself: “Do I really want this variable to be mutable ?”." "Una buena forma de saber si quieres remover la palabra reservada "final", es preguntarse a sí mismo ¿De verdad quiero que esta variable sea mutable?
Para entender mejor el concepto el autor colocó unos ejemplos en su articulo.

http://javarizon.wordpress.com/2010/06/26/why-every-java-field-should-have-been-final-by-default/

10 Frases de Linus Torvalds

Frases del creador del Kernel de Linux.

1. Dijkstra probablemente me odie (en kernel/sched.c)
2. Soy un idiota… al menos este bug me llevó unos 5 minutos para encontrarlo (en respuesta a un bug report)
3. ¿Cómo debería saber si funciona? Para eso están los beta testers. Yo solo programo. (en un post)
4. Si quieres viajar por el mundo y que te inviten a hablar en numerosos lugares, escribe un sistema operativo basado en Unix (fuente desconocida)
5. Realmente, no me estoy preocupando de destruir Microsoft. Eso será justamente un efecto colateral (en una entrevista en el New York Times)
6. Un número infinito de monos escribiendo en GNU emacs no podrían hacer nunca un buen programa (en alusión al Teorema de los infinitos monos)
7. El software libre es como el sexo, es mejor cuando es gratis (en respuesta a alguien preocupado por el futuro de Linux)
8. Todos sabemos que Linux es genial, hace bucles infinitos en 5 segundos (en el Amsterdam Linux Symposium)
9. Otro es el hecho de que Linux tenga un nombre cool, ¿podría alguien explicarme porque debería de usar Linux sobre BSD? No. Es así. EL nombre cool, es así. Trabajamos muy duro en crear un nombre que puede llamar la atención a la mayoría de las personas, y realmente valió la pena: miles de personas están usando Linux para poder decir: “¿OS/2? Hah. Yo tengo Linux. Un nombre cool“. 386BSD cometío el fallo de poner en el nombre un montón de números y abreviaciones extrañas, y eso alejó a mucha gente porque sonaba demasiado técnico. (en respuesta a una cuestión sobre Linux)
10. La inteligencia es la habilidad de evitar hacer el trabajo, consiguiendo el trabajo hecho. (fuente desconocida)


10 Frases de Linus Torvalds

domingo, 16 de mayo de 2010

Lectores de PDF OpenSource | Paraíso Geek

Lectores de PDF OpenSource Paraíso Geek

Esta es una excelente recomendación de lectores de PDF de código libre.
la descripción en español esta en esta pagina: www.paraisogeek.com/lectores-de-pdf-opensource/
pero puedes descargarlos directamente de la página: http://pdfreaders.org/ donde inclusive te recomiendan cual es mejor para tu sistema operativo (hay versiones para Windows, Linux, MacOS).

martes, 27 de abril de 2010

¿Cómo funcionan los caracteres de seguridad en los registros por internet?

fb

Seguro que cuando has deseado registrarte en algún sitio de internet que busque asegurar tu identidad, además de pedirte tu correo, te piden que reconozcas visualmente una serie de caracteres que se te muestran un poco “difusos”, ya sea que las letras o números se encuentren algo “chuecos” o que por encima pasen finas líneas de diversos colores. Bueno pues estos caracteres de seguridad buscan asegurar que quien intenta acceder al servicio sea un humano.

Aunque pueda sonar raro, es un concepto muy sencillo; por ejemplo pensemos en un servicio de internet muy usado como lo es el correo electrónico, digamos hotmail. Al ser un servicio tan popular, es blanco de “crackers” (hackers sin escrúpulos), que buscan “tumbar” este servicio, para lo cual pueden intentar por ejemplo saturar el servidor; Una forma de hacer esto es hacer miles de veces el uso de un servicio de manera simultanea, por ejemplo podrían registrar miles de  nuevas cuentas de correo electrónico al mismo tiempo. Esto es humanamente imposible sin embargo se puede lograr fácilmente con un programa que genere en segundos muchas cuentas validas de manera aleatoria o consecutiva.

live

Para evitar que esto pase, los proveedores de servicios por internet buscan constantemente nuevas técnicas que permitan asegurar que quien haga uso de estos, sean personas y no programas. Una técnica que ha funcionado muy bien es la de “reconocimiento de caracteres de seguridad” que permite que sea la inteligencia única del cerebro humano la que interprete la imagen que se coloca enfrente.

El ocultar los caracteres de la interpretación lógica de un software es todo un arte, debido a que desde hace algunos años existen los OCR (Reconocimiento Óptico de Caracteres) que constan de un software tan versátil que puede reconocer caracteres que se encuentren en una fotografía digitalizada. Un ejemplo de esto son los radares que operan en países desarrollados. Los cuales son capaces de definir los números de la matricula de un vehículo en movimiento que cometa una infracción.

A pesar de esta tecnología existen “trucos” creativos que provocan que los OCR’s cometan errores y no puedan ser utilizados tan fácilmente para vulnerar la seguridad de los registros en servicios por internet.

Por ejemplo, en la siguiente prueba se utilizó ABBYY FineReader en su versión 8, un potente y altamente recomendado OCR de origen Ruso que facilita la tarea de reconocimiento de caracteres;  para buscar descifrar los caracteres del popular sito de carga y descarga de archivos Megaupload.

A pesar de que a simple vista sea fácil detectar los caracteres ocultos en este servicio, los astutos “trucos” usados para ordenar las letras provocan que el software cometa errores.

En la captura 1 el programa toma como imagen la siguiente:

MEGAUP

para una persona es fácil interpretar los caracteres NGA3 sin embargo un truco como es la inclinación de las letras en grados específicos, logran que el OCR lo lea como I V G A 3.

1

Captura 2:

MEGAUP1

Otro truco como es la superposición de letras logran que los caracteres FQK9  sean interpretados como fOK9.

2

Captura 3:

MEGAUP2

Por ultimo la inclinación en la letra Y y la superposición de la letra P logran que  YPD3   sea leído como  VFD3  

3

Por lo anterior es posible deducir que el arte de los caracteres de seguridad continuará algún tiempo en internet evitando (aunque no en su totalidad) que los “crackers” logren su objetivo de explotar vulnerabilidades para “tumbar” los servicios a los que estamos tan acostumbrados.

jueves, 1 de abril de 2010

Instalar Flash Player para Mozilla Firefox en Open Solaris o Linux en solo 6 pasos



Si tienes el sistema operativo open solaris o cualquier otra distribuciòn de Linux, Seguramente cuentas con Mozilla Firefox como navegador de internet predeterminado (aunque no siempre es asì, en caso contrario basta con descargarlo aquì).
Alguans distribuciones no cuentan como Open solaris, con el Flash player instalado en el navegador, lo que limita bastante tu experiencia en internet.
Para inastalarlo debes hacer lo siguiente:

(usuarios principiantes)
1. Entra a la pagina de Adobe Flash y descarga flash player click aqui.
2. si descargas con firefox y le das "guardar" seguramente se guardara en esta carpeta: /export/home/tu_nombre/Downloads , el archivo idealmente se llama: flash_player_10_solaris_x86.tar.bz2 (notese que la terminaciòn .tar.bz2 significa que es un archivo comprimido)
3. Una vez guardado el archivo puedes simplemente dar doble click y se descomprimirà, te abrirà una ventana con el archivo: libflashplayer.so (descomprimido se guarda en una carpeta llamada tmp).
4. puedes dar click secundario en el archivo libflashplayer.so y selcciona copiar en copiar.
5. Pegalo en la carpeta /export/home/tu_nombre/.mozilla/plugins/ (es posible que la carpeta plugins no exista y debas crearla; la carpeta .mozilla no te serà visible en el explorador de archivos que uses, por lo que deberàs teclear la direccion en la barra de direcciones para poder acceder a ella.)
6. Listo... solo reinicia tu firefox y podràs usar peliculas (animaciones) flash en tu navegador.

(usuarios avanzados que gustan de complicarse la vida con consola)
1. mismo paso que las instrucciones anteriores.
2. mismo paso que las instrucciones anteriores.
3. puedes usar la Terminal o consola para descomprimir el archivo:
a) logueate como administrador para tener acceso para lo cual teclea: sudo su
b) te pedirà la contraseña (ingresala, aunque parezca que no se escribe nada enrealidad se esta capturando cada tecla que aprietas hasta que preciones enter).
c) una vez logueado puedes navegar por las carpetas con: cd .. para subir un nivel, y cd nombre_carpeta para entrar a una carpeta.
d) debes llegar a la carpeta que tiene el archivo comprimido es decir a: /export/home/tu_nombre/Downloads
e) una vez ahi tecle el siguiente comando: tar -xvf flash_player_10_solaris_x86.tar.bz2 con eso se descomprimirà el archivo creando la carpeta: flash_player_10_solaris_r45_2_x86/ y el archivo: libflashplayer.so dentro de a carpeta anterior.
f) entra a la carpeta: flash_player_10_solaris_r45_2_x86/ con el comando: cd flash_player_10_solaris_r45_2_x86/
4. crea la carpeta: plugins en la siguiente ruta: /export/home/tu_nombre/.mozilla para ello estando en .mozilla (navegar usando comando: cd nombre_carpeta) para ello teclea el comando: mkdir plugins
5. copia el archivo: libflashplayer.so en el directorio: /export/home/tu_nombre/.mozilla/plugins/ para ello vete a /export/home/tu_nombre/Downloads/flash_player_10_solaris_r45_2_x86/ (usando comandos: cd nombre_carpeta para entrar y cd .. para subir) y teclea el siguiente comando: cp libflashplayer.so /export/home/tu_nombre/.mozilla/plugins/
6. usa el comando: ls -all en la carpeta: /export/home/tu_nombre/.mozilla/plugins/ para comprobar que se copiara con èxito.

Notas:
Recuerda respetar los espacios en los comandos.
sustituye tu_nombre por el nombre de usuario que tengas asignado.



martes, 30 de marzo de 2010

COUNTING SORT

COUNTING SORT

En esta pagina se puede ver una explicación de como funciona el counting sort. Es nesesario tener el JRE debido a que se ejecuta un applet de java.


http://www.cse.iitk.ac.in/users/dsrkg/cs210/applets/sortingII/countingSort/countingSort.html

Sorting Algorithms Demo

Sorting Algorithms Demo


En esta página pueden comparar el desempeño de los algoritmos de ordenamiento más populares.




http://www.cs.bu.edu/teaching/alg/sort/demo/

miércoles, 24 de marzo de 2010

64 TEGSK.5 Burlar la contraseña de los sistemas operativos mas populares.

Claro que no deberías tener acceso a una computadora ajena de manera ilegal, sin embargo un geek debe saber como burlar un password por s a caso se te olvida el de tu PC, le puede pasar hasta a un usuario avanzado ¿no es así?

Es curioso lo sencillo que puede resultar el acceso sin conocer la clave a uno de los sistemas operativos populares como son: Windows, MAC o Linux…

Claro que para lograr acceder por uno mismo es necesario ser experto en informática, sin embargo muchas personas así ya han recorrido este camino por lo que hacerlo puede resultar tan fácil como  descargar aplicaciones especializadas.

Windows:

En este S.O. existe el proyecto “Ophcrack” que puede descifrar claves de hasta 14 caracteres de longitud en casi 10 segundos. Es necesario descargar el Ophcrack y quemarlo en un CD o una PenDrive. Se debe reiniciar la maquina y configurar el BIOS para que arranque desde la unidad donde quemamos la imagen de Ophcrack.

Al iniciar la computadora aparecerá la clave descifrada y tendrás acceso a Windows.

Existen las versiones para Windows XP y Vista, aun no se confirma la versión para win7.

Puedes descargarlo aquí: http://ophcrack.sourceforge.net/ Es licencia GNU (GPL) por lo que no necesitas pagar licencia y puedes ayudar en su desarrollo.

MAC:

También aquí funciona Ophcrack, sin embargo, podrías opcionalmente  hacer lo siguiente:

Si usas OS X 10.4 necesitaras el CD de instalación de ese OS, lo insertas, y reinicias.   Al iniciar seleccionas UTILITIES > RESET PASSWORD. Colocas una nueva password y la usas pera loguearte.

Si es OS X 10.5 reinicias y presionas COMMAND + S, en la línea de comandos tecleas:

fsck -fy

mount -uw /

launchctl load /System/Library/LaunchDaemons/com.apple.DirectoryServices.plist

dscl . -passwd /Users/UserName newpassword

Con eso reseteas la password y podrás loguearte.

Linux:

Al ser Linux y MAC basados en UNIX su reseteo de password es similar.

Primero enciende la computadora y presiona ESC cuando aparezca el GRUB. Haz un scroll down hasta ver ‘Recovery Mode’ en tu pantalla y presiona la tecla ‘B’ para entrar en ‘Single User Mode’.

Con esto entraras a la línea de comandos y  estarás logueado como ‘root’ por lo que podrás configurar a tu antojo. Ahora escribe ‘passwd’ y luego elige una nueva clave lo que cambiará la clave de root, lo que te da acceso global. Si deseas únicamente tener acceso a una cuenta en especifico puedes hacer lo siguiente,  escribe ‘passwd username’  donde ‘username’ es el nombre de la cuenta que deseas cambiar la clave.

Conclusión:

Como ves es muy fácil poder acceder a un equipo de computo incluso protegido con clave, con lo que cualquiera esta vulnerable, es por esto que se recomienda usar como medida de seguridad adicional, la encriptación de los datos. Se recomienda por ejemplo usar el programa TrueCrypt para Windows, la encriptación nativa de Ubuntu, o crear una imagen de disco en Mac, así como muchos otros métodos y aplicaciones disponibles.

3237188885_1527db4c72_m

64 Things Every Geek Should Know « Caintech.co.uk

http://www.joetech.com/2009/01/29/how-to-crack-the-account-password-on-any-operating-system/

domingo, 14 de marzo de 2010

Programa que convierte números binarios a decimales y viceversa.


En la imagen se muestra el código de un programa muy sencillo, escrito e C que tiene un menú que permite elegir entre convertir de números decimales a binarios y viceversa, cada línea esta comentada para explicar su funcionamiento con fines didácticos.


Puedes descargar el código fuente y el ejecutable desde aquí:


--- (la clave es: taekwondo)


lunes, 22 de febrero de 2010

La siguiente es una encuesta realizada con GForm de Google Docs, facilita y disminuye el tiempo de su realización, ademas de que almacena y grafica los resultados de manera automatica.

lunes, 15 de febrero de 2010

64TEGSK.4 Navegar de manera anónima en internet.

No se quiere hacer una suposición del porque querrías navegar anónimamente por internet, sin embargo todo geek sabe como hacerlo con la mayor seguridad y anonimato posible. 

Para lograr esto se necesita lo último en proxis, ósea “The Onion Router” (Tor). Tor es un sistema que usa la técnica de ruteo por capas que hace prácticamente imposible que alguien sepa quien eres en internet, además es un software gratuito y es soportad por casi cualquier SO.

http://www.torproject.org/

64 Things Every Geek Should Know « Caintech.co.uk

viernes, 12 de febrero de 2010

Un troyano del FBI ayuda a investigar delitos informáticos.

cipav

El llamado CIPAV (Computer and Internet Protocol Address Verifier) Verificador de computadora y dirección IP desarrollado por la agencia estadounidense, es un virus que es usado en la investigación de delitos informáticos. Su principal función es la de rastrear físicamente a la persona que comete actos delictuosos por medio de su PC, el caso es polémico debido a que aparentemente CIPV no puede ser detectado por ningún antivirus y explota vulnerabilidades del popular sistema operativo Windows.

Una orden federal permite su uso en casos como el del 2007, en el que un niño de 15 años fue consignado a 90 días de detención en la prisión para menores, después de que CIPAV reuniera pruebas en su contra por haber dado “falsas alarmas” de bombas en su escuela en Washington por medio de la red social MySpace.

Al parecer el CIPAV es un complejo programa que “envía información de la máquina espiada (IP, puertos, servicios, programas, conexiones, número de serie, MAC de la tarjeta de red, etc, etc.) a los ordenadores del FBI” además de ser la evolución de el troyano, conocido como Magic Lantern (Linterna Mágica) que consiste en un keylogger que causó polemica en 2001.

Puedes consultar más detalles en:

http://www.vsantivirus.com/21-07-08.htm

http://www.kriptopolis.org/cipav

http://en.wikipedia.org/wiki/Computer_and_Internet_Protocol_Address_Verifier

http://www.opensecurity.es/cipav-el-programa-espia-del-fbi/

http://www.cgisecurity.com/2009/04/fbi-cipav-spyware-snaring-extortionists-and-hackers-for-years.html

64TEGSK.3 Identificar Keyloggers. Espiando lo que escribes.

Los cibercafés son los lugares donde más te podrías topar con uno de ellos, seguido de librerías y quizás hasta en tu propia casa (eso si tienes un familiar o amigo sin escrúpulos). Grupos anti-Robo de Identidad advierten sobre los keyloggers e invitan a verificar por uno mismo que el teclado que usemos este libre de “Keyloggers”. ¿Crees que podrías identificar uno si estuviera conectado en tu equipo?

Bueno pues así se ven los keyloggers de tipo Hardware:

keylogger

¿Qué son los keylogger?

Los KL (keyloggers) son colocados por piratas informáticos o personas maliciosas que buscan obtener desde cuentas de tarjetas de crédito hasta las cuentas de correo electrónico, o de redes sociales como facebook, también pueden guardar el contenido entero de un e-mail que estés escribiendo o la redacción entera de documentos privados; en fin todo lo que escribas quedará en manos de la persona que haya colocado el KL. Estos artefactos no son nuevos, y son fácilmente accesible desde internet.

Los KL pueden ser de dos tipos HW(Hardware) y SW(Software). Los de tipo SW son aplicaciones ligeras que corren en segundo plano en el sistema,mientras que los de tipo HW son pequeños dispositivos que usualmente se conectan entre la PC y el teclado. Ambos tipos graban cada tecla que es presionada en su propia memoria o archivo, según el caso.

¿Como defenderse ante unkeylogger?

Como se vio en la imagen anterior un KL de HW puede ser reconocido por medio de una simple inspección a la parte trasera de tu maquina, entre la conexión de tu PC y tu teclado, sin embargo la sofisticación de estos aparatos puede llevarlos incluso al interior de la PC incrustado en la Mother Board.

Los KL simples graban cada “tecleo” mientras que los más sofisticados toman capturas de pantalla y graban los movimientos del ratón. La mejor manera de evitar uno, es no usar computadoras publicas.

En caso de ser necesario usar una computadora publica (en un cibercafé por ejemplo) puede ser recomendable usar un LiveCD de una distribución de Linux como UBUNTU, lo que hara que trabajes en un S.O. “limpio” con la certeza de que nadie ha instalado un KL, sin embargo no defiende ante el KL tipo HW.

Un método más efectivo es el que involucra escribir de manera salteada y con letras intrusas, por ejemplo:

---Si tu clave para entrar a tu correo es: mailpwrd21. Escribiremos con letras intrusas algo como: maXilpTwrd281. Luego con el mouse (sin usar el teclado obviamente) iremos hasta las letras intrusas y las borraremos, así lo que capturará el KL será algo como: maXilpTwrd281[erase][erase][erase]. (donde [erase] es la tecla de borrado) y no capturará tu clave verdadera.

---para escribir de manera salteada podemos hacer lo siguiente con la misma clave: mailpwrd21. Escribiremos primero mapw2 y con el mouse iremos a las partes donde faltó escribir y escribiremos el resto que es ilrd1, así el KL obtendrá que escribimos mapw2ilrd1 y no la clave real.

Hacer una combinación de ambas puede incrementar la efectividad y protege ante KL de HW y SW, pero puede ser poco efectivo ante KL sofisticados que capturen imágenes de pantalla y detecten la posición del mouse.

Otra opción es el Software Anti-keylogger.

Global Information Technology (UK) desarrolló un software llamado Anti-Keylogger 9.2.1 que funciona de la misma manera que un antivirus, comparando con su base de datos todos aquellos programas que considera puedan ser una amenaza, en caso de coincidir, el programa alerta sobre la presencia de ese KL especifico. La versión de prueba funciona durante cuatro horas tras el reinicio del sistema durante los diez primeros reinicios, la versión comercial cuesta $60 USD y no tiene restricciones, puede ser adquirido desde http://www.anti-keyloggers.com/buy.html. Solo funciona contra KL de tipo SW.

¿Como conseguir un keylogger?

Es tan simple como navegar en internet.

Si deseas un KL de tipo HW el costo va desde los $89 DLS hasta los $199 DLS dependiendo de la capacidad de su memoria interna y del tipo de encriptación que usen. Un proveedor como KeyGhost Ltd puede venderte el producto con su e-comerce y enviártelo a cualquier parte del mundo. Su producto KeyGhost Hardware Keylogger puede ser adquirido en http://www.keyghost.com/ y ya hasta cuentan con variedad, para teclado tradicional (conector PS/2) y nuevos (conector USB).

Si deseas un KL tipo SW puedes descargarlos gratis, empresas como “Logisoft” ofrecen productos como “revealer Keylogger” que puede ser descargado desde http://logixoft.com/products.html la versión “PRO” incluye características como envío de las capturas vía e-mail, FTP o Red Local.

Solo ten en cuenta que espiar con herramientas de terceros te puede hacer victima de un “espía doble”, y al final termines siendo tú el espiado.

 

La información fue ampliada, pero originalmente tomada de:

http://www.ghacks.net/2007/06/28/how-to-defeat-most-keyloggers-on-public-computers/

http://www.technospot.net/blogs/how-to-avoid-keyloggers-by-scramble-keystokes-on-public-computers/

64 Things Every Geek Should Know « Caintech.co.uk

64 TEGSK.2 Como resetear o limpiar una memoria RAM desde el OS

Estos trucos son para SO Windows. Si usas Windows Vista o Windows 7 esta es la forma de crear un acceso directo que haga la limpieza por ti, simplemente con darle doble clic y desde el escritorio.

1. Clic secundario en tu escritorio y selecciona “nuevo>Acceso -directo”.
2. Copia y pega la siguiente ruta en la ventana que aparecerá: “%windir%\system32\rundll32.exe advapi32.dll,ProcessIdleTasks” (sin las comillas).
3. Presiona siguiente, puedes nombrarlo ‘Limpieza de memoria’, presiona Finalizar.Dale un icono que te agrade y que mejor le vaya.

Para Windows 9x puedes hacer lo siguiente:

Paso 1. Descarga “RAM Def 2.6 Xtreme” y guardalo ya ha sido analizado contra virus y spyware por lo que no tienes de que preocuparte. Además es Freeware. Descarga: http://download.cnet.com/RAM-Def/3000-2086_4-10109174.html?tag=lst-1&cdlPid=10185812

Paso 2. Descomprime el archivo y ejecuta el archivo “.EXE” la instalación tomara menos de 5 minutos y no ocupa demaciado espacio de disco duro.

Paso 3. Ejecuta el programa ya instalado. La primera vez que lo corras te pedirá configuración, solo da clic en “Yes”, Estas configuraciones sirven para indicar el desempeño que tendrá el programa de ahora en adelante, así como que tan seguido hará la limpieza.

Paso 4. Elige la configuración más apropiada es recomendado seleccionar “run at all times” (ejecutar todo el tiempo), and “when Windows starts” (al iniciar Windows). Además deberías configurarlo para que te avise cuando los recursos alcancen 1/3 del total de la memoria disponible. Seleccionado esto presiona “ok”.

Paso 5. Selecciona “Start” para iniciar el proceso de desfragmentación. Cuando termine puedes seleccionar  “Send to Tray” para que el programa se siga ejecutando en segundo plano y te avise regularmente su estado.

Requerimientos de “RAM Def 2.6 Xtreme”: (Sistema Operativo: Windows 95/98/Me/2000/XP/NT)

http://www.yousaytoo.com/sudjarwo/how-to-reset-ram-in-a-computer/29133

Should Know « Caintech.co.uk

jueves, 11 de febrero de 2010

64TEGSK.1 El significado de Acrónimos técnicos.

1. The Meaning of Technical Acronyms (El significado de Acrónimos Técnicos)
  • USB – Universal Serial Bus (Bús Serial Universal)
  • GPU – Graphics Processing Unit (Unidad Procesadora de Gráficos)
  • CPU – Central Processing Unit (Unidad de Procesamiento Central)
  • SATA – {Serial ATA} Serial Advanced Technology Attachment (Acoplamiento de Tecnología Avanzada tipo Serial)
  • HTML – Hyper-text Markup Language (Lenguaje de Marcas de HiperTexto)
  • HTTP – Hypertext Transfer Protocol (Protocolo de Transferencia de HiperTexto)
  • FTP – File Transfer Protocol (Protocolo de Transferencia de Archivos)
  • P2P – Peer-to-peer sharing(Red de intercambio Punto A Punto) (visita http://es.wikipedia.org/wiki/P2P/ )

    http://caintechnews.wordpress.com/2009/04/22/64-things-every-geek-should-know/

  • 64 Things Every Geek Should Know « Caintech.co.uk

    A partir de hoy les daré una interpretación (no traducción plana)  de una página que encontré que se titula ‘64 cosas que todo “Geek” debería saber’…

    Fue escrito por Alan Clain en Abril del 2009 y es la pagina más popular según el rankeador social “Delicious” de “Yahoo”.

    La página esta en inglés por lo que poco a poco pasaré una reseña de esas “64 cosas”, siempre respetando derechos de autor y con sus correspondientes links.

    Si sabes inglés puedes simplemente visitar la página y leerlo por ti mismo, puedes hacerlo también para profundizar al respecto. Además si consideras que hice una mala interpretación, puedes comentarlo sin ningún problema.

    64 Things Every Geek Should Know « Caintech.co.uk

    Comienza diciendo que la palabra “geek” fue usada alguna vez para etiquetar a los fenómenos de circo, pero su significado ha cambiado. Ahora ese titulo es usado para denominar a personas que tienen cierta obsesión por uno (o más) temas en especifico, los cuales pueden pertenecer al campo de la ciencia, fotografía, electrónica, computación, comunicaciones, o cualquier otro. Un geek es una persona que no esta satisfecha solo con conocer algo superficialmente, más bien tiene un profundo deseo por saber tanto como sea posible acerca de ese tema que lo obsesiona.

    Un “Tech geek” (Gurú Tecnológico) es una persona que usualmente sabe un poco de todo acerca de tecnología e informática, y es aquel al que familiares y amigos consultan cuando surgen dudas. Si eres ese tipo de persona o pretendes serlo, he aquí algunas habilidades o conocimientos que se deben poseer para adentrarse en el mundo geek.

    64 Things Every Geek Should Know « Caintech.co.uk

    tv-300x224

    lunes, 8 de febrero de 2010

    GoogleWave

    Estoy estrenando mi cuenta de Google Wave

    Puedo invitar a 25 personas más... si kieres tu invitación, solo pidela...

    martes, 2 de febrero de 2010

    How to defeat most keyloggers on public computers

    How to defeat most keyloggers on public computers

    Un keylogger es un HW o SW que existe en tu computadora para poder registrar cada una de las teclas que presionas y ser usado para conocer tus claves de correo, tarjetas de credito o claves de redes sociales e inclusive tu rutina diaria en tu PC.
    ¿Quieres saber más acerca de Que es un keylogger y como darse cuenta de que existe uno en tu computadora?
    -Entra a: http://www.ghacks.net/2007/06/28/how-to-defeat-most-keyloggers-on-public-computers/ y descubrelo...