sábado, 10 de noviembre de 2012

LPS (Lightweight Portable Security)


En mi carrera por buscar distribuciones portátiles para llevar en una unidad USB, más allá de KNOPPIX 7.0.3, que es la que utilizo, me encuentro con esta extraña y desconocida distribución (por lo menos por mí).

LPS es una pequeña distribución Linux diseñada para usos seguros y booteable desde unidades ópticas (CDDVD) o pendrives USB en cualquier ordenador (PCMAC).

Recordemos que la Agencia Nacional de Seguridad y el Servicio central de Seguridad utilizan el SELinux (SecurityEnhanced Linux), pueden dirigirse a su web:
http://www.nsa.gov/research/selinux/code/downloadstable.shtml, pero la LPS de la USAF (United States Air Force) se encuentra más enfocado a la seguridad en el trabajo de campo, fuera de sus oficinas, ya que se ejecuta desde medios de sólolectura sin instalaciones ni escrituras en local.



Por lo que pude observar, se encuentra en dos versiones: una privada permitiendo el acceso remoto a la red privada de una organización y la versión pública, la primera de este tipo distribuida por la administración estadounidense.

Tiene una interfaz muy sencilla basada en el gestor de ventanas IceWM (muy al estilo Windows) e incluye un pequeño grupo de aplicaciones como por ejemplo:

Firefox to 10.0.5 ESR
Firefox Extension: HTTPS Everywhere 2.0.5
Firefox Extension: NoScript 2.4.6
Thunderbird 10.0.5 ESR (Deluxe only)
Flash 11.2.202.236
Encryption Wizard application 3.3.4
OpenSSL 0.9.8x
Java 1.6u33
OpenOffice
... y otras.

Dentro de la versión pública encontramos dos: LPSPublic y LPSPublic Deluxe, ambas descargables y en su última versión 1.3.5. La diferencia radica en la cantidad de aplicaciones, la que he probado es la Deluxe ¡¡ya que su peso es irrisorio!!: 382mb; lo único que se podría decir como malo, es que se encuentra solamente en inglés.

Ambas versiones las pueden descargar del siguiente link junto a un completo manual:
http://www.spi.dod.mil/lipose.htm. LPS se actualiza de forma regular (al menos trimestralmente parche y versiones de mantenimiento), también se recomienda actualizar a la última versión para tener la protección más reciente.

Por lo que he observado el nivel de encriptación y utilidades para esto es destacable, dando seguridad en la utilización en redes públicas, pudiendo trabajar con información sensible sin tener que preocuparnos de robos o dejar rastros, también cada vez que se reinicia vuelve a cero toda la distro, una especie de auto reset, no dejando así rastros de su uso ni información delicada. Otra característica interesante es el soporte para conexiones a escritorios remotos, dándonos un amplio espectro de trabajo. Los requerimientos son sencillos: un sistema con procesador x86 ya sea PC o Intel basado en MAC, como ven es un hardware mínimo que se puede encontrar en cualquier lugar hoy en día, hasta en un locutorio.

En conclusión es una distro excelente para llevar en esos pendrives de 1 o 2gb que tenemos olvidados por su poca capacidad, dándonos una segura posibilidad de trabajo en máquinas ajenas a las nuestras, o simplemente alardear un poco con nuestros conocidos sobre el GNU/Linux “espía” que estamos utilizando.

Juan Manuel Dansa "Amonal"
amonal88@gmail.com
twitter: @Amonal_
g+: Amonal Novell




TOR Invisibilidad en la red


Imaginemos por un momento que nuestra realidad cambia radicalmente. Imaginemos que vivimos en un entorno donde nuestra ideología es perseguida, localizada y reprimida.

Tenemos mucho para decirle al mundo sobre nuestra situación, pero sabemos perfectamente que no podemos hacerlo abiertamente a través de Internet porque nuestra dirección IP es localizable, y por eso nuestra vida corre peligro de extinguirse sólo por ejercer un derecho tan inherente al ser humano como lo es el de expresarnos libremente.

En el mundo hay entidades que se dedican a la vigilancia de los contenidos de nuestros mails, o del tráfico que se origina desde una máquina utilizando técnicas y herramientas de análisis de tráfico. Esta información luego es vendida al mejor postor para saber de qué hemos hablado, cuáles son nuestros intereses, tendencias políticas, sexuales, religiosas, etc., y luego proceder en consecuencia en forma comercial, en el mejor de los casos, represiva o delincuencial, en el peor.

En una situación así, el que un mail, un pedido de una página en Internet, o un chat sean localizables o no, es lo que marca la diferencia entre que vivamos un día más o no. Para ese tipo de realidades es que existe un producto que apunta a convertirnos en anónimos. Para eso es que existe Tor y su red de colaboradores.

Generalidades


Los paquetes traficados en internet poseen, en líneas generales, dos partes bien diferenciadas: su cabecera

(header) y su porción de datos (data payload). Como se imaginarán, la sección de datos contendrá las porciones necesarias para rearmar la información que intercambiamos, y la cabecera los elementos necesarios para saber desde y hacia dónde se enviaron dichos datos.

Por lo tanto, con estos elementos, y aún cuando utilicemos protocolos encriptados, nuestro tráfico puede ser analizado (y de hecho, lo es... sólo veamos cómo “casualmente” cuando ingresamos a algunas páginas nos aparecen publicidades que tienen que ver con nuestros intereses, o con las páginas que hemos visitado hace segundos) y luego utilizados los resultados de dicho análisis. En muchos casos se utilizan herramientas estadísticas avanzadas para analizar el tráfico en varios puntos del mundo, y entonces saber quién está hablando bien o mal de alguien más. Veamos un detalle de una cabecera.

Una red encebollada

Originalmente el laboratorio de investigaciones navales del gobierno de EEUU consideró que era necesario diseñar una serie de protocolos que permitan ocultar sus comunicaciones. Así nació el programa “Onion Routing”. Su idea central fue focalizar los esfuerzos en conexiones de baja latencia que resistan escuchas ilegales, análisis de tráfico, y otro tipo de ataques tanto por parte de entidades externas como internas. Sí, se busca que tampoco los sistemas que alimentan el “Onion Routing Protocol” puedan ver el contenido que por ellos se trafica.

La tercera generación de este proyecto es lo que conforma la red Tor. Y hablamos de una red porque la forma en que funciona es generando túneles virtuales entre máquinas que conforman esta malla, de forma tal de impedir que el seguimiento de un punto único puedan entregar una ubicación de quien ha originado el tráfico.

Así, cuando se genera tráfico hacia un determinado sitio, se conforma un circuito aleatorio entre máquinas de forma tal que se incremente de a un salto, y permitiendo a cada máquina sólo tener información sobre el salto anterior, y sobre a qué otra se le debe entregar la información recibida. Entonces, ninguna máquina tiene conocimiento sobre el camino completo a seguir para rastrear una conexión.

La máquina cliente, cada vez que genera una conexión, negocia nuevos certificados de encripción con cada uno de los saltos (máquinas que funcionan como “relays”). Una vez que el circuito se ha establecido, ningún atacante podrá obtener la información necesaria para reconstruirlo desde su lugar de origen, impidiendo por lo tanto asociar un determinado contenido con quien lo ha solicitado.

Los tiempos de vida de los circuitos generados en la red Tor logran, aparte, que dichos caminos se renueven de una forma configurable (no conviene, a menos que se sospeche que la seguridad está comprometida, utilizar tiempos de renovación de menos de diez o quince minutos, ya que de ser así se generaría un procesamiento extra que impactaría a la comunicación en sí misma), por lo que las acciones que se desarrollen en una comunicación no pueden tampoco interrelacionarse para considerar que fueron generadas por un mismo punto de origen, aún cuando ese punto no se conozca.

Claro está, no tendríamos nuestra solución completa si no contáramos también con la posibilidad de publicar servicios en forma anónima, usando sólo la red Tor como portal. Tor permite tener servicios tales como servidores de mensajería instantánea o de páginas, sólo por citar algunos, en forma completamente anónima.



De esta forma usuarios de la red Tor pueden ofrecer servicios ocultos que estarán disponibles a otros usuarios de esta red sin permitirles saber dónde se han originado, o dónde están localizados.

Para ofrecer servicios ocultos, éstos primero deben ser conocidos, lógicamente, para la red Tor. La red utiliza el concepto de puntos de introducción de servicios para que los clientes puedan conectarse a ellos, pero antes, y en forma análoga a lo visto para el caso de conexión de un cliente, se arma un circuito de túneles encriptados aleatorios sobre los cuales se montará el camino para acceder a un determinado servidor. De igual forma, cada cierto tiempo este circuito es reconfigurado, haciendo más complicado llegar al servidor para cualquier atacante.



Por otro lado, el servidor obtiene un descriptor de servicio oculto que contiene su clave pública, y un resumen de los puntos de introducción necesarios para ser localizado. Este descriptor de servicio es firmado con su clave privada, de forma tal de permitir al cliente, también, estar más seguro de saber que el servidor al que se está conectando es realmente el que se espera, y no el de un atacante.



Entonces el cliente se conecta porque sabe su “dirección onion”, que en general es del estilo “dirección.onion”. Envía su mensaje de introducción a uno de los ya mencionados puntos de introducción, los que envían al cliente al servicio que se está solicitando.

Los que recuerdan la vieja película “Ojos bien cerrados”, recordarán una escena donde un portero guiaba a los clientes hacia el interior del salón de reuniones, y que cada tanto, y ante la sospecha de tener un intruso, se solicitaba una palabra clave.

Pues bien, nada más cercano que esa película para tener una figura de cómo funciona básicamente la red Tor. Pero es más segura, claro está. Menos divertida, pero más segura.



En este momento, el servicio oculto desencripta el mensaje de introducción del cliente, y termina de armar el circuito hacia dicho cliente. Entonces la comunicación ha quedado completamente establecida, y ya se podrán traficar paquetes de datos en forma anónima.



Proyectos al verdeo

Dentro de los proyectos incluidos en el programa Tor podemos encontrar los siguientes:

Navegador Tor (TBB por Tor Browser Bundle): Navegador parcialmente basado en Mozilla Firefox ESR 10.0.6, al momento de escribir este artículo, pero con las extensiones necesarias para habilitar las capacidades de la red Tor. Hay versiones para Windoze, GNU/Linux y MacOS/X. Se debe descargar desde el sitio de Tor (http://www.torproject.org). Como el archivo que descargaremos es un .tar.gz, debemos ejecutarlo bien desde una terminal, bien desde un lanzador desde nuestro entorno gráfico. Para el caso de GNU/linux 32 bits:

$ wget
https://www.torproject.org/dist/torbrowser/linux/tor-browser-gnu-linux-i686-2.2.38-1-dev-en-
US.tar.gz
$ tar zxvf tor-browser-gnu-linux-i686-2.2.38-1-dev-en-US.tar.gz
$ cd tor-browser_en-US
$ ./start-tor-browser

Lo primero que veremos es la ventana del panel de control de Vidalia:


Luego, se desplegará ante nosotros nuestro bien conocido navegador. En particular, probé ingresar al sitio http://www.iplocation.net dos veces con una diferencia de más de diez minutos entre cada una. A pesar de estar viviendo, como todos saben, en Transilvania, en el castillo de un afamado conde, la primera vez la dirección IP apareció localizada en Alemania, con datos tan precisos como la latitud y longitud:



...y la segunda vez en Holanda. Es interesante que el ISP registrado se llame “ZwiebelFreunde”, considerando que eso en alemán significa “amigo de la cebolla”:



Notemos en la parte superior del navegador un botón con forma de cebolla verde, que nos permitirá habilitar y deshabilitar la navegación por medio de la red Tor. Si detuviéramos Tor desde el panel de control de Vidalia, veríamos que nuestro navegador nos entrega un mensaje de error por no contar con un proxy disponible. Así es como funciona Tor, como si fuera un proxy.

Torbutton: El botón en cuestión ya viene integrado dentro del navegador, y nos permitirá, como vimos más arriba, habilitar y deshabilitar contenido en el navegador. No se recomienda bajar el botón sólo, y usar el conjunto del navegador Tor, ya que como Firefox entrega nuevas versiones continuamente, será complicado mantener el botón actualizado para cada versión de navegador.

Vidalia: Tal como lo vimos también antes, Vidalia será un panel de control que nos permitirá manejar el comportamiento de Tor. Si ya bajamos el navegador, cuando lo intentemos iniciar veremos esta aplicación desplegada. No será sino hasta que esté conectada a la red de Tor que nos abra el navegador:


Desde este panel podremos, entre otras cosas, ver cómo se arma nuestra red Tor:




Arm (por “Anonymitizing Relay Monitor”): Es una herramienta de línea de comandos similar a Vidalia.

Orbot: Haciendo uso de la librería Orlib, Orbot es una aplicación para usuarios de celulares Android que les permitirá el uso de las redes Tor desde su teléfono celular. 

Tails: Tal como cualquier otra distribución de GNU/Linux basada en LiveUSB, Tails es una versión de Debian GNU/Linux con las herramientas de Tor preinstaladas. Sólo debemos bajarla, grabarla en una memoria flash, y bootear nuestra máquina con ella. No importa si estamos en nuestras casas o en un cybercafé, podremos hacer uso de las bondades de la red Tor en cualquier sitio, aparte eliminando cualquier indicio de todo tráfico de red de la memoria al momento de apagar nuestra máquina.

Onionoo: Es un protocolo basado en tecnologías Web utilizado para que otras aplicaciones sepan si la red Tor está disponible. De esta forma podremos extender el conjunto de aplicaciones disponibles agregándoles los elementos necesarios para usar Onionoo.

Portal de Métricas: Este portal nos entregará detalles del ancho de banda disponible para usar en la red Tor (no olvidemos que si nuestra conexión de Internet es majestuosa, es decir, usted vive en un país distinto del mío, pero los relays no disponen de ese ancho de banda, nos veremos limitados al mayor ancho de banda disponible).

Nube Tor: Si estamos utilizando la red Tor, algún servicio de Amazon, y nuestro corazón está caritativo, nada mejor que donar algo de ancho de banda para que nuestros amigos puedan disponer de ella y entonces, usar Tor mucho más rápido. No es tan difícil, hoy por mí, mañana por ti.

Obfsproxy: Es un proxy para transportar información. Recorta el tráfico, haciendo aún más difícil saber dónde fuera originado.

Shadow: Si desconfiamos del funcionamiento de Tor, éste es el punto de llegada obligatorio. Shadow es un conjunto de paquetes que nos permitirá experimentar con una red Tor real, pero propia. Nos permitirá modelar la red que necesitemos, y en base a eso utilizar Tor. Si consideramos que muchas personas están desarrollando aplicaciones que hacen uso de Tor, un buen laboratorio puede ser éste.


Tor2web: Si bien la idea central es que los servicios de los sitios ocultos de Tor sólo sean vistos por los clientes, también ocultos, de Tor, puede ocurrir que estemos en algún lugar donde no contemos con el navegador Tor, o Vidalia. En este caso, podremos utilizar un reemplazo de la extensión .onion por la .tor2web.org para el mismo servicio. Si por ejemplo tenemos un sitio denominado http://yvgbgcdfrfaxstillc.onion, podremos verlo usando http://yvgbgcdfrfaxstillc.tor2web.org sin perder privacidad.

Conclusión

Es lamentable que el ser humano deba recurrir a este tipo de soluciones por no poder contar con la cordura y tolerancia de ideas necesarias para permitir que alguien que piensa diferente pueda expresarse sin ser perseguido. Mientras que esta situación exista, también existirán personas que realicen actividades en pos de alivianar la pesada carga que esto significa para los perseguidos.

La comunidad de código abierto no es ajena a esto, y por eso este tipo de soluciones continúan y continuarán estando disponibles para quien las necesite.

Hernán “HeCSa” Saltiel
AOSUG leader
CaFeLUG Member
Boca happy fan
Club Amigos de Pumper Nic
hsaltiel@gmail.com
http://www.aosug.com.ar







martes, 23 de octubre de 2012

Curso de ActionScript 3.0, Flash CS3 y Flex 3 Online



Este INCREIBLE Curso se realiza principalmente en entorno Flash CS 3 y Flex 3, por lo tanto es perfecto para aquellos usuarios que a su vez usen Flash CS4. Puesto que usan AS 3.0.

Esta formado por 26 capítulos, todos ellos explicados a las mil maravillas.

Contenido:

01.- Curso de ActionScript 3.0 con Flash CS3 y Flex 3: Usos de ActionScript 3.0
02.- Curso de ActionScript 3.0 con Flash CS3 y Flex 3: Objetos Visuales
03.- Curso de ActionScript 3.0 con Flash CS3 y Flex 3: Creación de Objetos Texto y Sprites
04.- Curso de ActionScript 3.0 con Flash CS3 y Flex 3: Aceptar Entradas de Usuarios
05.- Curso de ActionScript 3.0 con Flash CS3 y Flex 3: Crear animaciones y usar Timers
06.- Curso de ActionScript 3.0 con Flash CS3 y Flex 3: Interacciones con el Usuario
07.- Curso de ActionScript 3.0 con Flash CS3 y Flex 3: Objetos y Clases
08.- Curso de ActionScript 3.0 con Flash CS3 y Flex 3: Crear nuestra primera Clase
09.- Curso de ActionScript 3.0 con Flash CS3 y Flex 3: Uso de Métodos Constructor y getter/setter
10.- Curso de ActionScript 3.0 con Flash CS3 y Flex 3: Ventajas de trabajar con Herencias
11.- Curso de ActionScript 3.0 con Flash CS3 y Flex 3: Usar paquetes y trabajar con el display
12.- Curso de ActionScript 3.0 con Flash CS3 y Flex 3: Introducción a Flex 3
13.- Curso de ActionScript 3.0 con Flash CS3 y Flex 3: Creación de una Aplicación RIA
14.- Curso de ActionScript 3.0 con Flash CS3 y Flex 3: Completamos el buscador de Fotos usando el API de Flickr
15.- Curso de ActionScript 3.0 con Flash CS3 y Flex 3: Empezamos a ver los mecanismos de Diseño en Flex
16.- Curso de ActionScript 3.0 con Flash CS3 y Flex 3: Creación de diseños complejos
17.- Curso de ActionScript 3.0 con Flash CS3 y Flex 3: Uso de Controles
18.- Curso de ActionScript 3.0 con Flash CS3 y Flex 3: Estilos, filtros y efectos
19.- Curso de ActionScript 3.0 con Flash CS3 y Flex 3: Trabajar con el Servidor
20.- Curso de ActionScript 3.0 con Flash CS3 y Flex 3: Usar HTTP Service
21.- Curso de ActionScript 3.0 con Flash CS3 y Flex 3: Aplicación dinámica completa – Proyecto
22.- Curso de ActionScript 3.0 con Flash CS3 y Flex 3: Creación Aplicación dinámica – Desarrollo
23.- Curso de ActionScript 3.0 con Flash CS3 y Flex 3: Crear Clases personalizadas
24.- Curso de ActionScript 3.0 con Flash CS3 y Flex 3: Creación Eventos Personalizadas
25.- Curso de ActionScript 3.0 con Flash CS3 y Flex 3: Mostrar noticias y hacer login
26.- Curso de ActionScript 3.0 con Flash CS3 y Flex 3: Aplicaciones dinámica completa



lunes, 22 de octubre de 2012

Curso de Escolar 2.0 Online


En este curso desarrollaremos un Completo sistema denominado Escolar 2.0, para la creación de Aulas Digitales. Mediante su uso el Profesor podrá crear distintos tipos de temas que pueden incluir texto, imágenes, audio, video, mapas, presentaciones, enlaces, iframes,esquemas, líneas de tiempo, mapas mentales…
El profesor podrá crear distintos tipos de pruebas, tests, tareas y exámenes y llevar un control de todo ello a través del libro de calificaciones. Podrá crear y administrar sus clases y asignar alumnos a las mismas, con un sistema basado en Organic Groups.
El profesor podrá crear perfiles detallados de los alumnos totalmente personalizables mediante el uso de Content Profile. En este primer videotutorial del Curso vemos una panorámica general de la Aplicación y sus funcionalidades, así como su uso tanto por parte de un alumno como de un profesor.

01.- Escolar 2.0: Curso Drupal para la Educación 2.0
02.- Escolar 2.0: Crear Clases con Organic G
03.- Escolar 2.0: Creación de Libros de Calificaciones
04.- Escolar 2.0: Módulos Quiz y Backup and Migrate
05.- Escolar 2.0: Crear Fichas Perfiles de Alumnos
06.- Escolar 2.0: Instalar y configurar theme escolar 2.0
07.- Escolar 2.0: Crear Podcasts y Galerías de Imágenes
08.- Escolar 2.0: Incluir las redes sociales dentro del Aula digital


domingo, 21 de octubre de 2012

Curso de jQuery Online





Curso de jQuery, el framework de Javascript que permite simplificar la manera de interactuar con los documentos web, permitiendo manejar eventos, desarrollar animaciones y agregar interacción con las tecnologías AJAX a páginas web necesitando mucho menos tiempo y código para hacerlo. 

En este primer VideoTutorial hacemos una introducción en la que vemos cuales son las ventajas del uso de este tipo de frameworks, así como las funcionalidades que nos ofrece. 

Terminamos creando el primero proyecto con jQuery y explicando la sintaxis y estructura básica que utiliza.

sábado, 20 de octubre de 2012

Curso de Java para principiantes Online


Java es un lenguaje de programación orientado a objetos, desarrollado por Sun Microsystems a principios de los años 90. El lenguaje en sí mismo toma mucha de su sintaxis de C y C++, pero tiene un modelo de objetos más simple y elimina herramientas de bajo nivel, que suelen inducir a muchos errores, como la manipulación directa de punteros o memoria.

Las aplicaciones Java están típicamente compiladas en un bytecode, aunque la compilación en código máquina nativo también es posible. En el tiempo de ejecución, el bytecode es normalmente interpretado o compilado a código nativo para la ejecución, aunque la ejecución directa por hardware del bytecode por un procesador Java también es posible.

La implementación original y de referencia del compilador, la máquina virtual y las bibliotecas de clases de Java fueron desarrollados por Sun Microsystems en 1995. Desde entonces, Sun ha controlado las especificaciones, el desarrollo y evolución del lenguaje a través del Java Community Process, si bien otros han desarrollado también implementaciones alternativas de estas tecnologías de Sun, algunas incluso bajo licencias de software libre.

Entre diciembre de 2006 y mayo de 2007, Sun Microsystems liberó la mayor parte de sus tecnologías Java bajo la licencia GNU GPL, de acuerdo con las especificaciones del Java Community Process, de tal forma que prácticamente todo el Java de Sun es ahora software libre (aunque la biblioteca de clases de Sun que se requiere para ejecutar los programas Java aún no lo es).

01.- Curso de Java para Principiantes: Introducción Uso de NetBeans
02.- Curso de Java para Principiantes: Anatomía de un Programa Java
03.- Curso de Java para Principiantes: Tipos de programas Java y uso de argument
04.- Curso de Java para Principiantes: Variables – Almacenar información
05.- Curso de Java para Principiantes: Trabajar con Operadores
06.- Curso de Java para Principiantes: Trabajar con Objetos String
07.- Curso de Java para Principiantes: Tomar decisiones con condicionales
08.- Curso de Java para Principiantes: Planificar repeticiones con el uso de Loops
09.- Curso de Java para Principiantes: Almacenar información con el uso de Arrays
10.- Curso de Java para Principiantes: Fundamentos de la Programación Orientada a Objetos
11.- Curso de Java para Principiantes: Jerarquía de Clases y Herencias
12.- Curso de Java para Principiantes: Trabajar con Objetos
13.- Curso de Java para principiantes: Casting – Conversión entre tipos de Variables y Objetos
14.- Curso de Java para Principiantes: Alcance de variables y uso de this
15.- Curso de Java para Principiantes: Argumentos de línea de Comandos y sobrecarga de métodos
16.- Curso de Java para Principiantes: Métodos Constructor y sobrescritura de Métodos
17.- Curso de Java para Principiantes: Modificadores y Controles de Acceso
18.- Curso de Java para Principiantes: Trabajar con Paquetes
19.- Curso de Java para Principiantes: Ampliar Clases con Interfaces
20.- Curso de Java para Principiantes: Swing – Crear GUIs con Java
21.- Curso de Java para Principiantes: Look And Feel y Cajas de diálogo
22.- Curso de Java para Principiantes: Componentes avanzados de Swing
23.- Curso de Java para Principiantes: Gestores de diseño – Ordenar los componentes dentro de una interface
24.- Curso de Java para Principiantes: Interactuar con Eventos de usuario
25.- Curso de Java para Principiantes: Taller práctico – Creación de una GUI funcional
26.- Curso de Java para Principiantes: Desarrollar Aplicaciones GUI con NetBeans
27.- Curso de Java para Principiantes: Manejar errores y excepciones
28.- Curso de Java para Principiantes: Crear aplicaciones Multitarea con el uso de Threads
29.- Curso de Java para Principiantes: Comunicaciones – Trabajar con Streams Input y Output
30.- Curso de Java para Principiantes: Streams Datos, Texto y la clase File
31.- Curso de Java para Principiantes: Crear Aplicaciones Web con NetBeans
32.- Curso de Java para Principiantes: Uso de Tomcat, Glassfish, Struts y Struts 2
33.- Curso de Java para Principiantes: Uso de Visual JavaServer Faces
34.- Curso de Java para Principiantes: Trabajar con el Editor SQL de NetBeans
35.- Curso de Java para Principiantes: Crear Aplicación web enlazada a base de datos
36.- Curso de Java para Principiantes: Introducción a los Web Services con JAX-WS
37.- Curso de Java para Principiantes: Crear un Cliente gráfico para Twitter
38.- Curso de Java para Principiantes: Crear una aplicación para Facebook con NetBeans
39.- Curso de Java para Principiantes: Introducción al Spring Web MVC con NetBeans 6.9
40.- Curso de Java para Principiantes: Uso de Java FX Composer en NetBeans