La Frase

miércoles, 21 de abril de 2010

Corrientes web del mundo actual

Es el símbolo de la web actual para la creación web, de alguna manera ha tenido transformaciones que permiten verla perfeccionada, tanto visualmente como a modo de ahorro recursos, existen dos vertientes que marcan el camino de la programación web:

Por una lado está Flash/Flex y la gama que ofrece adobe con su suite de desarrollo, mientras que por otro lado está Ajax/Php y el ahorro de recursos que permite al cargar ciertos elementos de una página, es decir sólo lo necesario, lo más notable y visualmente atractivo son los ejemplos que se pueden dar de ambas ramas de desarrollo web antes mencionadas.

Siempre es llamativo lo que se ve y por lo mismo dando un par de ejemplos por cada lado se puede uno motivar ya sea para programar o para contemplar, los recursos y los lenguajes ya están a disposición sólo queda ensuciarse las manos, crear o lo que es más fácil navegar.

Por el lado de Flash:


1.- http://www.jonathanyuen.com/main.html la mejor para mi gusto.

2.- http://www.thestrokes.com/ (no podía faltar).

3.- http://saizenmedia.com/reinvented/

4.- http://www.gringo.nu/projects/cokelight-worldflavours/#/world

Por el lado de Ajax/php:

1.- http://www.google.com/

2.- http://www.flickr.com/

3.- http://maps.google.com/

4.- http://labs.digg.com/bigspy/

Documento publicado por igci

lunes, 19 de abril de 2010

Grandes informáticos

Sobre Alan Turing...

He querido iniciar una sección en este blog que habla sobre la historia de grandes exponentes de las tecnologías de la información (además siendo una tarea de TALF), y esta vez Turing no fue la excepción.

Hoy en día usamos programas en nuestra computadora obviando el grandioso interés de saber su origen y fundamentos. Pero un programa es mucho más que una simple ventana con botones bonitos y hermosa interfaz para usuarios de los tres principales niveles. Un programa está conformado por muchos símbolos, secuencias y procesos, conocidos mundialmente como algoritmos. Un algoritmo es un conjunto de instrucciones bien definidas para realizar una acción, así de simple (¿Para qué más? Si quieres conocer más del concepto, checa la wikipedia). Volviendo al tema, Alan Turing fue un importante influyente inglés de los conceptos de algoritmo y computación que en el presente conocemos, considerado como el padre de la informática.

Sus principales aportaciones fueron:

- La máquina de Turing.
- Diseñó uno de los primeros computadores electrónicos programables digitales.
- Contribuyó al enigma de la Inteligencia Artificial.

Su mayor creación, la máquina de Turing, nos demuestra que para todo método su existencia puede ser decidida por sentencias matemáticas y además hay problemas que no pueden ser resueltos por modelos computacionales.

En resumen, si alguna vez tuviste el mínimo interés en saber por qué dogma se rige tu software preferido, ahí está la simple respuesta. Es increíble saber que algunas sentencias bien definida por símbolos matemáticos gobiernan la mayoría de nuestras decisiones diarias.

Checa el link sobre la historia de Turing

Historia de la Informática en algunas viñetas


Fin del asunto.

jueves, 8 de abril de 2010

KISS y punto.

Fácil, ¿no les parece? pero es la filosofía que todos deberíamos practicar, así nos evitaríamos muchas complejidades terrenales y existenciales. ¿Por qué, te preguntas?. La respuesta es simple, KISS es el principio ideal, no sólo para las personas que viven día a día con los amistosos binarios, sino que para la Universalidad, ya que si practicamos"Keep It Simple, Stupid"a diario, nuestra integridad personal y profesional abarcaría mucho más y nos ahorraríamos una gran cantidad de tiempo para aprovechar las cosas esenciales de la vida, como ser feliz, así de simple. Porque KISS es sólo simplicidad y nada más. ¿Qué más se puede pedir? Hay que hacer las cosas simples y no entrar en cuestionamientos que al fin y al cabo no son necesarios y terminan por destruirnos mentalmente. Aplica KISS en tus proyectos, acciones, palabras, amor y principalmente... en tu felicidad.

Fin del asunto, ¿KISS, cierto?

Instalar el protocolo Secure Shell en Linux para enlazar sistemas

Primero que todos hay que definir el concepto, porque no es llegar e instalar un script, como muchos lo hacen (experiencia propia).

SSH, un intéprete de órdenes seguras, nos permite enlazar sistemas o dicho de otro modo, conectarse en forma remota a otras terminales y manejar el computador lejano usando sólo el intérprete de comandos. Los datos que viajan a través de este protocolo son muy seguros ya que lo hacen con información cifrada, y no se puede leer por terceras personas, execpto por los ataques de reinyección. Fin del asunto.

Vamos al grano:

Los requisitos mínimos para trabajar con este protocolo es tener en tu computador instalado algún sistema Linux, sería ideal el caso de Archlinux porque la explicación está basada en dicho SO y de manera sintetizada. Además debes tener instalado un router (el típico que trabaja con servidores virtuales).

Primero:

-Abrir una terminal en Linux, puede ser directamente con Konsole o Yakuake

-Ahora en la terminal, escribes:

$ pacman -S openssh

Advertencia: en el modo "su" se puede teclear solo pacman, si trabajas sólo con tu usuario antepone sudo (si está agregado en el archivo sudoers en etc)

-Luego de instalar agregar la siguiente línea a /etc/hosts.allow

sshd: ALL

Recomendación: puedes restringir el acceso para una cierta ip o un rango de ip cambiando ALL por la ip o rango que quieras dentro de los parámetros de la red de tu router.

-Comenta la siguiente línea en /etc/hosts.deny

Está así

ALL: ALL: DENY

Debería quedar así

#ALL: ALL: DENY

-Agregar el DAEMON sshd a /etc/rc.conf

DAEMONS=(... sshd ...)

-Iniciar el servicio:

$ sudo /etc/rc.d/sshd restart

Ahora tienes instalado el servidor SSH en tu computador, ahora para probar si funciona en otro computador con SSH instalado pero no iniciado el servidor prueba lo siguiente:

En Linux utiliza el comando:

$ ssh -l "nombre usuario" "host name, ip del servidor o dns"
Si los parámetros son correctos la primera vez que te conectas te pregunta si quieres guardar en forma permanente la dirección, teclea "yes" luego escribe el password correcto y "yasta".

En Windows abre PuTTY:

-Hostname o IP address, Port 22
-Connection Type: SSH

-Click en Open

Si los datos son correctos, se abrirá una terminal que te pide el login y password, si los datos son los esperados ya puedras acceder a la teminal de Linux en un escritorio Windows.

Ahora si quieres acceder en forma remota, debes abrir el puerto 22 en tu router y asignar la ip del servidor al puerto para que tengas acceso desde cualquier parte de la red global.

En mi caso hay una opción llamada Virtual Server en la configuración de mi router Trendnet Modelo TEW-432BRP dentro de la opción Access en donde puedo configurar los servidores y abrir los respectivos puertos para cada uno de ellos.

Si tienes dudas o quieres dar algún aporte sólo deja un comentario.


Enlazando Sistemas Operativos

¿Windows o Linux?

Cualquier lugar que visites donde el centro de conversación es nada menos que código binario existe esta incógnita, que por lo general siempre difiere en detalles. Muchos prefieren el primero, por su interfaz amigable e intuitiva, además de los softwares de código cerrado, drivers y videojuegos que trabajan en forma mágica con Win y su famoso .NET, y no requiere suicidos de neuronas para hacer funcionar un Script de configuración. Todo es más fácil (para mi es bueno si usas IDES, editores de imágenes, entre otros como Visual Studio y Photoshop , respectivamente y quieres acelerar procesos de instalación y configuración) . Además de estar a puro "clickeazo" de botones y ventanas con lindas decoraciones, muy cómodo. Así como otros prefieren el segundo por su simplicidad y los que encuentran que el legendario Script es mucho más rápido que estar cargando interfaz gráfica y ocupar recursos del sistema que pueden ser utilizados para otras funciones, además de su entorno de escritorio como KDE con Plasma, Compiz y su aceleración OpenGL, perfecto y atractivo (nVidia, visto bueno. Ati, visto regular). También los que optan por teclear en modo consola (como MS-DOS) y encuentran que es mucho más simple y práctico trabajar en él en vez de estar "clickeando" por cada "pestañazo". Además de mantener siempre el sistema actualizado con un sólo comando. También para los que prefieren usar editores de texto como Nano o Vi para editar sus archivos conf y ser mucho más simple, además de veloz, que usar entorno gráfico. En fin, muchas son las ventajas y bondades que ofrecen ambos sistemas. En asunto de gustos no hay biblia alguna. Personalmente utilizo los dos sistemas al mismo tiempo, en mi PC de escritorio trabajo en modo terminal (consola) con Linux (Archlinux para ser más exacto) y en el laptop, mi regalón XP. Uso bastantes aplicaciones en ambos sistemas, pero trabajo más con "Wincito" 32 (por los programas de Adobe y Office, que nunca me han dado problemas), y cuando quiero enlazar ambos entornos, como por ejemplo, en el escritorio de Windows, abro una terminal de Linux usando un fantástico programa llamado PuTTY (Puerto único para tipos de terminal, Web oficial), cliente SSH (primero se necesita una configuración del servidor SSH en tu router y Sistema Linux, publicaré otra entrada más adelante de como hacerlo), así, cuando quiero editar algún Script con Nano, actualizar sistema con el gestor de paquetes Pacman, instalar un Framework Open Source, configurar mi servidor Apache, mi web y trabajar en ella, me conecto usando este programa con la terminal de Linux y a "teclazo limpio" nomás.


En conclusión, el ejemplo de PuTTY es una de las tantas formas de enlazar estos sistemas operativos quedando conforme, trabajar en ambos bandos y abarcar mucho más. Por si alguna vez en la vida nos toca trabajar con uno o el otro y así no tener dificultad por estar familiarizado con cada entorno. Porque fácilmente puedes estar jugando un juegazo de EA y al mismo tiempo descargando algún paquete usando algún bondadoso gestor de Linux. Ya que en estos de los binarios no hay límites. Es sólo contemplar PuTTY.

miércoles, 7 de abril de 2010

El retorno

Como el título indica, y después de un largo tiempo de ausencia, hemos vuelto (aunque diría he vuelto. Después iremos viendo como se desencadenan los hechos). Sobre los motivos hay varios y no creo que importe, lo esencial es seguir con este blog y publicar temas interesantes (Para eso está ¿no?). Fin del asunto.

lunes, 20 de octubre de 2008

Outputs locos...

Como nos estamos iniciando en C, no faltan los ratos de ocio y por ende he aquí algunos algoritmos simples 100% compilables en DEV-CPP...

Pueden analizarlos, modificarlos y comentar sus creaciones...en algunos casos la librería estándar está entre comillas...borren esas comillas antes de "copy/pastear" los programas.....

Tipo Matrix:

"Lluvia Binaria":

#include<stdio.h>
#include<stdlib.h>
#include<time.h>

int main()
..............{

...............system("color a");
...............srand((unsigned) time(0));
...............int numero, i=0;

...............while(i<=1)
......................{
.......................numero=(rand()%2);

.......................printf("%d",numero);
......................}
..............}

Salida:



Conoce una forma inusual de ver los caracteres de C:

"Loading":

#include<"stdio.h">
#include<"stdlib.h">

main()
.........{

..........int i,car;
..........system("color a");

..........for(i=1;i<=100;i++)
.............{
..............printf("\t\t\t CARGANDO CARACTERES %d%c",i,37);
..............system("cls");

.............}

.........i=0;
.........car=1;

.........while(i<=1)

................{
.................system("color a");
.................printf("%c ",car);
.................system("color 00");
.................system("color 10");
.................system("color 20");
.................system("color 30");

.................system("color 40");
.................system("color 50");
.................system("color 60");
.................system("color 70");
.................system("color 80");
.................system("color 90");


.........car++;
................}
.........}

Salida:


Esto ya no sé lo que es:

"¿¿¿???"

#include <"stdio.h">

#include <stdlib.h>

main()
.........{
..........system("color a");

..........int i;

..........for(i=0;i<9999999;i++)>
.............{
..............printf("%c%f%d%c%c%f%d%c%c%f%d%c%c%f%d%c \n",i);
.............}
.........}


Salida:


Despierta con este algoritmo:

"Alarma":

#include<"stdio.h">
#include<stdlib.h>

main()
.........{
..........int i;

..........i=0;
..........system("color c");

..........while(i<=1)

.................{
..................printf("SYSTEM FAILURE SYSTEM FAILURE SYSTEM FAILURE ..................SYSTEM FAILURE SYSTEM FAILURE \a");
.................}
.........}

Salida: