31 agosto 2007

Una aplicación sencillita usando Visual Basic 6

Solo para arrancar, aquí hay un ejemplo de como crear un programita muy sencilla usando Visual Basic 6.

Se trata de un programa que calcula el cuadrado y el cubo de un numero. Creo que está muy fácil, pero si tienes dudas, déjame un mensaje.

Aquí está el video (por si no aparece abajo) y aquí puedes bajar los archivos del proyecto. ¡Hasta la próxima!

26 agosto 2007

¿Qué es un GUI? ¿No es una grosería?

Aunque suene medio feo, GUI es un acrónimo jalado para decir interfaz gráfico (Graphical User Interface, por aquellos que les guste el lenguaje de Shakespeare) y ningún programa hoy en día puede ser concebido sin una interfaz gráfica y sin un mouse que mover por el escritorio. Antes, en mis tiempos mozos, todos los programas eran de puro texto y uno tecleaba comandos crípticos y extraños a una computadora con un monitor que solo mostraba letras verdes... pero ¡ya no más! Ahora somo de la nueva era de dibujitos en la pantalla.

Ciertamente las interfaces gráficas nos hacen la vida mucho más sencilla (bueno, casi a todos. Los ciegos son los que más batallan, pero se están desarrollando cosas chidas para ellos, como dice aquí) y es por eso que desde que se comenzaron a usar, muchas más personas han entrado a la carrera cybertecnológica y han estado divirtiéndose con su compu, cosa que difícilmente podrían hacer si estuvieran preocupados por memorizar cien mil y pico de instrucciones textuales. Este tipo de interfaces son más intuitivos y sencillos de usar. Podemos resumir diciendo que las interfaces gráficas es la parte visual del programa con la que interactúa el usuario y contiene formas y controles.

Una interfaz gráfica se compone de controles. Pero, ¿qué es un control? Los controles nos rodean por doquier, por ejemplo, hay controles de la TV, la videocasetera, el DVD, la onda del satélite (si tienes tele con SKY o DirectTV), el estéreo de la casa y el del carro, la de la videocámara... Pese a que todos estos controles nos simplifican la vida (o nos vuelve más huevones, según tu punto de vista), no son usados en interfaces gráficas. Para nosotros (por lo menos en lo que se refiere a la programación visual) un control es un objeto visual en la pantalla que le ayuda al programa comunicarse con el usuario ya sea aceptando datos de entrada o desplegando información. Como podrás imaginar, sin controles, los programas no serían muy útiles.

Multitarea y multiprocessing
Cuando hay un programa, como podría ser un servidor de base de datos, se ejecuta en el fondo, o background, es multitarea (multitasking). Esto deja que otros programas se ejecuten en primer plano (foreground). Un programa background carece de interface de usuario, mientras que un programa de primer plano si lo tiene.

Para entender bien como está la movida, es importante entender lo que son los programas front-end y back-end (los voy a dejar en inglés para mayor claridad... a los programadores les encanta hablar en su pseudoinglés mal pronunciado, así que mejor vayan agarrando la onda desde ahorita). Los clientes (entendiéndose el software de un programa de la compu) generalmente corren en el foreground, y por eso se llaman programas front-end. O sea que dan la cara por un desconocido, un software que se ejecuta en el background y por ello se le denomina back-end. En pocas palabras, el front-end es un programa como la secre de un cuate muy ocupado. Los clientes nunca conocen al tipo, pero interactúan con la secre. O sea que accesan al trabajo del cuate (el back-end) pero solo ven la sonrisa y piernas de la secre (el front-end).

Muchas veces se confunde la multitarea (multitasking) con el multiprocesamiento (multiprocessing). Multitarea se refiere a que una computadora hace más de una cosa a la vez, sin embargo el multiprocesamiento es usar más de un CPU para realizar un trabajo (por ejemplo, hoy es bastante común encontrar tarjetas madres para computadoras que aceptan 2 o más CPUs).

Ahora lo que se tiene que hacer, es jugar con las formas (ventanas) y los controles. Y de eso nos ocuparemos en todos mis mensajes acerca de la programación en Visual Basic 6, .net y 2005, aunque también aplica para un montón de otros lenguajes y ambientes de desarrollo (como RealBasic, Delphi, Visual C++, y muchísimos más). Y eso, como diría la viejita, es otra historia.

¡Hasta la próxima!

23 agosto 2007

Un programita sencillo... para ir calentando

Aquí presento un pequeño video que muestra como crear una simple aplicación con Visual Basic 2005. Es muy sencillo, solo genera un número aleatorio entre 0 y 10 cuando arranca la ventana y lo compara con lo que le escriba el usuario. Si no puedes ver el video, fíjate en esta liga. Los archivos del proyecto los puedes bajar aquí. ¡Hasta la próxima!

22 agosto 2007

Elementos de la Comunicación

¿Qué es la comunicación?
La comunicación es algo interesantísimo, algo vital que necesitamos todos los días. Para ponerlo sencillo y sin tanto rollo, la comunicación es la creación y transmisión de un mensaje de una fuente a uno o más receptores. Creo que esto queda muy claro, sin embargo quiero hacer hincapié en que comienza con el creación del mensaje, algo que hay que pensar claramente antes de intentar comunicarse. Descartés (que se pronuncia algo como "descart") alguna vez dijo: "Pienso, luego existo" (bueno, la verdad dijo Cogito ergo sum, pero 'pal caso es lo mismo). No olviden pensar las cosas antes de abrir la boca, o producir un video o crear una página web o cualquier otro acto comunicativo.

La palabra comunicación viene de la palabra latina communis que quiere decir común o compartido. La comunicación es la que nos permite compartir con quienes tengo a mi algrededor, con quienes tengo cosas en común.

¿Qué tipos de comunicación hay?
Realmente se podría clasificar la comunicación de muchas diferentes maneras. Para lo que vamos a estar usando, elegí esta para comenzar (luego iremos afinando el concepto más adelante):
  • Comunicación unilateral - El emisor manda un mensaje y el receptor es pasivo.
  • Comunicación bilateral - El emisor y receptor intercambian sus funciones, o sea que uno manda el mensaje, el otro lo recibe y le contesta.

Elementos del proceso de comunicación
Diferentes autores eligen los elementos que se les pega la gana. Por ejemplo, aquí mi amigo Gil puso una imagen con los 3 elementos principales que conforman la comunicación. Otros son más sofisticados, como los de Wikipedia que proponen estos elementos. Para nuestros propósitos, voy a describir algunos elementos que considero importantes:
  • Emisor: el que produce la información
  • Referente: situaciones que van más allá del lenguaje ("extralingüísticos" para que se oiga elegante) para interpretar los mensajes enviados.
  • Mensaje: lo que se codifica, o sea la idea ya puesta en español, codificado para enviarse por internet, el video terminado, etc.
  • Código: los signos usados para codificar el mensaje, por ejemplo las reglas del español (acentos, pronunciación, etc.) o el lenguaje para sordomudos, etc.
  • Receptor: es quien recibe el mensaje, lo descodifica y lo interpreta.
  • Canal: es el medio por el cual circula el mensaje. Por ejemplo, puede ser el aire que permite que viajen las ondas sonoras de mi boca, la señal del teléfono celular, el cable telefónico que conecta el fax, etc.
  • Contexto: Son el conjunto de factores y circunstancias en los que se produce el mensaje.
  • Ruido: Elementos que estorban el el proceso comunicativo. Por ejemplo, puede ser la música que está a todo volumen en el antro, la estática que se ve en la tele cuando no se ve bien la señal, el corto circuito que tiene un micrófono, la diferencia del vocabulario (por ejemplo, el otros países latinoamericanos algunas palabras tienen connotaciones muy diferentes), etc.
  • Redundancia: elementos innecesarios.
Luego seguiremos platicando de más elementos comunicativos. ¡Hasta la próxima!

16 agosto 2007

¿Qué $%·$!¡ es una red?

Introducción
Hollywood le da mala propaganda a las redes de computadora. Ya en el 83 nos presentan una película (War Games) donde un chavo pseudohacker de a peso entra a un mainframe militar y está apunto de desatar la 3a. Guerra Mundial. En las películas Terminator (1984, 1991 y 2003), una red de computación del futuro (llamado Skynet) toma el control del planeta, crea robots exterminadores extra perrísimos mata-todo-lo-que-se-le-ponga-enfrente y los manda de regreso en el tiempo para eliminar a todas las que se llamen Sarah Connor. En la película The Net (1995), Sandra Bullock encuentra un ícono en la esquina inferior izquierda de la pantalla (aunque cualquier chico de 4 años que use una computadora lo hubiera encontrado) que la lleva a descubrir un "compló" (en palabras del Peje) en un mundo de espionaje computarizado y los "malos" le cancelan cuentas bancarias, eliminan todo tipo de identificación. Y, una de mis favoritas, en The Matrix del 99 y sus secuelas Reloaded y Revolutions (ambas del 2003), una red inmensa de computadoras usan a los humanos como esclavos y los mantiene atrapados en una simulación del mundo real.

Pese a que las redes hacen películas taquilleras, no les hacen justicia. Estas aplicaciones y amenazas malas, crueles y ruines solo han servido para sembrar miedo y terror entre los que usan el internet. Sin embargo las redes son más tranquilas y predecibles. No piensan por si solas, no pueden evolucionar el algo que mate a la humanidad, ni nada por el estilo.

Después de tanto rollo mareador, vamos hablando de lo que es una red. Ésta no es más que dos o más computadoras conectadas, por cables o sin ellas y mil otros cybercachivaches, que les permitan intercambiar información y recursos. Reconozco que esta no es una definición super-profesional, sin embargo es suficiente para nuestros fines.

Cualquier equipo de cómputo, para poder ser funcional, requiere un sistema operativo. Algunas computadoras conectadas a la red tienen instalados sistemas operativos de red que controlan el funcionamiento de la misma (algunos nerdos los llaman NOS, acrónimo de Network Operating System o sistema operativo de red). Hoy en día todos los sistemas operativos cuentan con soporte de redes porque ya no se puede concebir un ambiente de trabajo cyberchiroliro desconectado de una red. Es casi una herejía pensarlo.

Alcances de las redes
Hay redes de diferentes tamaños (pensando en tamaños físicos o geográficos), que algunos llaman "alcance" de las redes. Y como todo en el mundo mágico musical de las redes tiene que tener algún acrónimo jalado, estas son los diferentes redes como son conocidos entre quienes saben de conexiones cibernéticas. Para operar una red no importa cómo se llame, sin embargo les doy la definición por si quieren apantallar a sus cuates:
  • LAN (Local Area Network) - Una red local pequeño que a barca uno o varios edificios que se encuentran cercanos entre sí.
  • CAN (Campus Area Network) - Una red local escolar grandecito que cubre un campus universitario (generalmente las universidades chidas ocupan mucho espacio y tiene muchos edificios)
  • SAN (Storage Area Network) - Una red hecha para almacenar información.
  • MAN (Metropolitan Area Network) - Una red grandotota que conecta máquinas localizadas en diferentes lugares de una ciudad o metrópoli.
  • WAN (Wide Area Network) - Una red todavía más grandototota que una MAN. Puede abarcar desde 100 hasta 1000 Km.
Algunos cybercachivaches que conforman una red
Una red, como dije antes, está conformado por diferentes elementos (llamados cybercachivaches por mí, un término jalado que es equivalente a hardware). Voy a describir algunos de ellos:
  • Nodo: en palabras técnicas, es un "punto de intersección o unión de varios elementos que confluyen en el mismo lugar". En términos prácticos, cualquier hardware conectado a la red, como pueden ser las computadoras, terminales, impresoras de red (impresoras especiales que tienen forma de enchufarle un cable de red y no necesitan estar conectados a una computadora, como este), discos duros de red (discos que tienen enchufe para conectarse a la red sin necesidad de computadora, como este), etc.
  • Terminal: es una computadora, pero sin la computadora, jeje. Explico mejor: es un cybercachivache que solo tiene teclado y monitor. Todo lo que necesite hacer lo hace un servidor al cual se encuentra conectado. Dale click aquí para mayores informes.
  • Modem: pese a que parece una palabra formal, es un acrónimo de MODulator-DEModulator. Nos sirve para mandar datos por medio de la red telefónica. Es que la computadora usa señales digitales (o sea, puros unos y ceros) y la línea telefónica solo usa señales analógicas (o sea, sonidos). Por lo tanto, el MODEM convierte las señales digitales en ruiditos para que puedan mandarse por teléfono y del otro lado al recibir estos ruiditos los vuelve a convertir en unos y ceros. ¿Has escuchado los ruiditos que hace un fax? Esos son los ruiditos que genera.
  • Tarjeta de red (o NIC, acrónimo de Network Interface Card): es un cybercachivache que necesita cualquier nodo para poder enviar y recibir datos por la red.
Todavía hace falta aprender mucho de redes, pero eso lo iremos viendo más adelante. ¡Hasta la próxima!

07 agosto 2007

Video de Campamento Orígenes 2005

Más vale tarde que nunca. Este es el video del campamento de jóvenes que tuvimos en Guadalajara en el verano del 2005. Sé que es tarde, pero ya saben que dicen que más vale tarde que nunca. Si la ventana que viene abajo no se ve, el video está en esta dirección: http://www.youtube.com/v/I7V1GOaitB8.
Related Posts Plugin for WordPress, Blogger...