jueves, 29 de octubre de 2009

Noche de Brujas En Diäbuluz

Noche de Brujas En Diäbuluz

Pues bien, se acerca día de muertos y para celebrar estas fechas en el foro Diäbuluz in Mëxico he colocado un pequeño script que diseñé.

El script realiza las siguientes tareas:

Primero crea una variable aleatoria que determina si el efecto visual se mostrará o no, además de cuanto tiempo tardará en aparecer.

Esto lo hago porque ver el mismo efecto todo el tiempo resulta molesto, además uno de los efectos su objetivo es asustar al visitante, jejej.

Una vez que determina el tiempo entonces revisa si el tiempo es par o impar y de allí decide si presenta el susto o la bruja volando.

Si se decide por el susto, creará un intervalo y, cuando el visitante menos se lo espere PUF!, aparece un niño con cara diabólica por un instante en el centro de la pantalla.

Si se decide por el vuelo de la bruja entonces crea otro valor aleatorio para decidir cual de todas las imágenes presentara. Una vez decidido la cargará y la hará visible en una esquina de la pantalla.

Las imágenes que escogí para esto fueron gifs animados, de manera que al desplazarse por la pantalla pareciera que van volando. En especial me gustó como se veía el murciélago.

es script es este:

        var intervalo;
        function espanta()
            {
            var espanto=document.getElementById("espanto");
            espanto.style.display="block";
            setTimeout("document.getElementById(\'espanto\').style.display=\'none\';",1000);
            }
        function vuela()
            {
            var bruja=document.getElementById("bruja");
            var x=bruja.style.top;
            var y=bruja.style.left;
            x=x.split("p");
            y=y.split("p");
            x=(x[0]*1)+5;
            y=(y[0]*1)+10;
            bruja.style.top=x+"px";
            bruja.style.left=y+"px";
            if(x>2000)
                {
                clearInterval(intervalo);
                }
            }
        function bruja()
            {
            document.getElementById("bruja").style.display="block";
            var fact=Math.round((Math.random())*10);
            switch(fact)
                {
                case 1:
                    var img="skull.gif";
                    break;
                case 2:
                    var img="mur.gif";
                    break;
                case 3:
                    var img="bruja2.gif";
                    break;
                case 4:
                    var img="esq.gif";
                    break;
                case 5:
                    var img="fan.gif";
                    break;
                case 6:
                    var img="cria.gif";
                    break;
                case 7:
                    var img="bruja.gif";
                    break;
                case 8:
                    var img="bruja.gif";
                    break;
                case 9:
                    var img="bruja.gif";
                    break;
                case 10:
                    var img="bruja.gif";
                    break;
                default:
                    var img="bruja.gif";
                    break;
                }
            document.getElementById("brujaimg").src=img;
            intervalo=setInterval(vuela,80);
            }
        function esPar(num)
            {
            res=num%2;
            if(res)
                {
                return(false);
                }
            else
                {
                return(true);
                }
            }
        function asustame()
            {
            var factor2=(Math.random())*3000000;
            //var factor2=(Math.random())*100;
            var factor=(Math.random())*factor2;
            var tiempo=Math.round((Math.random())*factor);
            if(tiempo<60000)
                {
                if(esPar(tiempo))
                    {
                    setTimeout(bruja,tiempo);
                    }
                else
                    {
                    setTimeout(espanta,tiempo);
                    }
                }
            }



Para que funcione es necesario agregar algunos elementos en el HTML:

<img src="espanto.jpg" style="display:none">
<div id="espanto" style="z-index:10000;width:100%;height:100%;background:url(\'espanto.jpg\') center no-repeat;display:none;position:fixed;top:0;left:0">
</div>
<div id="bruja" style="z-index:10000;display:none;position:fixed;top:0px;left:-50px"><img id="brujaimg" src="bruja.gif"/></div>



Y agregar en el directorio indicado las imágenes que vamos a mostrar.

Por útimo se modifica el body para que cargue el script automáticamente:

<body onload="javascript:asustame()">


Me despido, si en un futuro a alguien le sirve adelante, yo por mi parte lo mejoraré el próximo año para que presente mejores efectos, quisiera hacer que un monstruo rompa la página, agregarle sonidos o hacer que la ventana comience a sangrar. Pero será para la próxima vez.

lunes, 26 de octubre de 2009

La Bestia de Metal

La Bestia de Metal


Las sombras se agolpan tras de mí mientras la feroz bestia me aparta de su lado.

Quisiera descender por aquellas escalinatas y enfrentarme al río de asfalto que corre tras el ultimo escalón poniendo distancia entre mi y la mujer a la que amo.

Siento el viento frío que entra por las ventanas mientras la bestia ruge con furia avanzando implacable. Miro atrás por un momento y aun puedo verla. Sus ojos cafés me miran y su rostro me sonríe. Casi puedo escuchar su voz diciéndome "Adiós... ve con cuidado".

Quisiera escapar de allí, de mi propio destino. Saltar por la puerta arrojándome a la suerte. Sentir el dolor de la piedra y los cristales lacerando mi piel. Sentirme caer y rodar por el camino mientras el monstruo, ignorante de mi ausencia, continua su camino.

Levantarme con mi cuerpo ensangrentado y correr hacia atrás, hacia donde esta ella y abrazarla mientras le juro que nunca, jamas, me apartare de su lado.

Pero soy presa de mis propios miedos, tengo miedo al futuro y al destino incierto. Temo a que la muerte me arranque por siempre de su lado.

La sigo mirando y no puedo mas que intentar sonreír y despedirme con una señal en mi mano.

Mañana volveré con ella, subiré a la bestia de metal que ruge feroz mientras recorre el asfalto con sus garras de caucho. Mañana estaré con ella hasta que la oscuridad de la noche nos separe de nuevo.

Me quedo mirando hasta que las tinieblas opacan su figura y su rostro se pierde en la lejanía.

Tomo asiento junto a alguien desconocido y cierro los ojos soñando con el día en que todo sera distinto.

jueves, 13 de agosto de 2009

Creando un vaso en blender

Nota: Artículo original creado por Gaurav Nawant. Traducido por Paynalton. Las imágenes han sido actualizadas a Blender versión 2.48a y traducidas al español. Los nombres de botones así como la interfase de usuario se conservan en Inglés.

Creando un Vaso en Blender

Introducción

Los vasos pueden ser una obra de arte. Yo tenía un vaso antiguo y hermoso en mi casa, que arrancaba lágrimas de admiración de todo aquel que visitara nuestra casa. Entonces un día mi hermano mayor tropezó y lo rompió. Afortunadamente, el vaso que haremos en Blender es prácticamente indestructible.

Blender es un paquete muy poderoso para modelado y animación y cuenta con un flujo de trabajo muy eficiente, combinando atajos de teclado e interfase de usuario tanto como es posible. modelar el vaso en Blender es muy simple, y nos tomará solo algunos pasos el crearlo. En esta lección utilizaremos modelado de Sub-Superficie. Antes de comenzar vamos primero a explorar la interfase de Blender un poco.

Parte 1: Primeros rastros.

El principal componente de la interfase en Blender es llamada "ventana". Cada característica en Blender tiene su propia ventana. La ventana es altamente configurable de manera que puedes cualquier "tipo de ventana" a otro solo seleccionando el "tipo de ventana" desde la barra de menú. Blender usa "ventanas" como interfase para todo el conjunto de características, como la vista en 3D o área de trabajo, botones de ventana (esta ventana aloja herramientas sensitivas de contextuales y opciones para la vista en 3D) y todo lo demás. Cada ventana puede ser identificada por su ícono a la izquierda del panel de menú, por ejemplo alli encontraremos íconos como los de vista en 3D y ventana de botones .

Blender utiliza el cursor del ratón como punto de focalización por lo que todos despliegues se harán en la posición del cursor. en la vista 3D hay un cursor de inserción, cualquier objeto añadido a la vista en 3D se posicionará siempre en la posición actual del cursor de inserción, un click izquierdo coloca el cursor de inserción en la posición deseada.

Blender tiene dos formas de trabajar, y . en "Edit Mode" puedes manipular el armazón del modelo manipulando sus bordes, vértices o caras. Para entrar a "Edit Mode" primero selecciona el objeto (click derecho) y entonces presiona [Tab], presionando [Tab] de nuevo (alternando) regresarás a "Object Mode". en "Edit Mode" los vértices te son mostrados como puntos, amarillos si están seleccionados o rosas si no lo están.

Cada objeto tiene su propio punto de pivote que se muestra como un punto rosa, todas las operaciones como la rotación, escalado y movimiento actuan sobre el punto de pivote. Click derecho es usado para seleccionar cada uno de los objetos en "Object Mode" o bien vértices editables, bordes o caras en "Edit Mode".

Por defecto "Ray Tracing" está deshabilitado en blender. Presionando F10 (escena) iremos a la ventana de botones y dentro del panel "Render" habilitamos el botón "Ray". Esto es la introducción muy básica para adentrarte en el mundo Blender. Comenzaremos ahora con tu siguiente obra maestra.

En Blender arrastrar requiere primero de tomar el objeto. Para tomar el objeto selecciónalo con click derecho y luego presiona [G] para tomarlo. La imágenes incluidas mostrarán las opciones resaltadas con una luz azul siempre que sea posible. Cuando hacemos mención del "Panel" esto siempre significará el panel de opciones en la ventana de botones. En los desplegados siempre puedes presionar [Enter] o hacer click para hacer la selección.

Componentes de la interface o nombres de herramientas están resaltadas por su color. Atajos de teclado son resaltadas en [este color].

Parte 2: Modelado Paso 1: Por defecto, la vista 3D de Blender tiene ya algunos objetos, un cubo, una lámpara, y una cámara, puedes presionar [F12] para ver la escena renderizada por defecto. No necesitamos el cubo, actualmente está seleccionado (rosa) así que presionemos [Supr], confirma el borrado en el desplegado. Para hacer el vaso utilizaremos el "Círculo primitivo". Para agregar un círculo presionamos [Barra Espaciadora] que hará saltar las herramientas. En esto iremos a Add>Mesh>Circle, confirma un círculo de 32 vértices rellenado (fill).



Paso 2: Ahora comenzaremos a editar el círculo. Notarás que al insertar el círculo este se encuentra en "Edit Mode" por defecto. Primero reduciremos el círculo aproximadamente 5 unidades de rejilla. Para hacer esto primero presionamos [S] (scale) y mantenemos presionado [Ctrl] (movimiento limitado) y movemos el ratón hacia el pivote del círculo, el círculo será reducido en "saltos". Mientras escalas podrás ver unidades o coordenadas cambiando en la barra de menú. Sí, la barra de menú nos proporciona una manera de lecturas coordinadas en cualquier momento en que muevas objetos dentro de la vista en 3D.


Paso 3: Usaremos extrusión para crear el armazón del vaso. Presiona [Num 1] para ir a la vista frontal. Deja todos los vértices seleccionados (amarillos, [A] para seleccionar), ahora presiona [E] y selecciona "Region" y comienza a mover el cursor hacia arriba (eje Y) . Al igual que el salto de unidades mayores de la rejilla puedes hacer lo mismo con unidades menores combinando [Ctrl] con [Shift]. ahora mueve hacia arriba 1 unidad de rejilla pequeña.
Consejo: Una unidad pequeña =.1000 en unidades de Blender o coordenadas y una mayor (Cntrl) es 1,000.


Paso 4: Ahora habilitaremos Subsurf en nuestra malla del vaso. Presiona [F9] (botones de edición), inmediatamente veras que la ventana de botones cambia sus opciones. Ahora en la ventana de botones ve a "Modifiers" y agrega un nuevo modificador "Subsurf" para habilitar Subsurf. Subsurf incrementa la cuenta virtual de vértices, bordes o caras para lograr ángulos suaves en la superficie de las caras. Incrementa el valor de "Levels" a 2.

Paso 5: Necesitamos también habilitar el suavizado para la superficie misma. En la misma ventana de botones ve al panel "Link and Materials". Presiona el botón "Set Smooth". Preciona [Z] (Vista 3D sombreada) una vez para tener "sombreado sólido" en la vista en 3D. el círculo extrudido o malla del vaso se mostrará en modo sombreado.

Consejo: Para ver de forma libre dentro de la vista en 3D, mantén presionado el botón central de ratón y arrastra.



Paso 6: En el modo sombreado, si ves algún desperfecto en la superficie, entonces primero selecciona todos los vértices presionando [A] y entonces presionando [Ctrl + N] para recalcular las normales de la superficie. Antes de proceder vuelve a la vista de armazón ([Z] de nuevo). ahora puedes guardar tu trabajo.


Paso 7: Asumiendo que no has cambiado de la vista frontal [NUM 1] y que la vista en 3D se encuentra en armazón . Si has llegado hasta el paso 5 entonces primero retira la selección a todos los vértices presionando [A] nuevamente. Presionando [B] (caja de selección) el cursor cambia a un +, arrastra y crea una caja alrededor de los vértices de arriba para seleccionarlos. Una vez seleccionados podemos proceder a extrusionar la superficie del vaso. Presiona [E] y luego [Y] (eje Y) para limitar el movimiento a verticalidad, ahora muevelo .1000 unidades hacia arriba. Reducelo a .600. Para reducir la selección presiona [S] y entonces mueve el ratón, click para confirmar el cambio.





Paso 8: Ahora completaremos el vaso con 13 extrusiones más. Proporciono las dimenciones de la extrusión y escalado por cada paso dado. Sigue el método de extrusión y/o escalado en él. Asegurate de verificar las coordenadas en el panel de coordenadas sobre la barra de menu mientras estás moviendo los vértices.

1) Extrusión hacia arriba de .1000, escala de 1.300.
2) Extrusión hacia arriba de .1000, escala de 1.200.
3) Extrusión hacia arriba de .3000, escala de 1.300.
4) Extrusión hacia arriba de .4000.
5) Extrusión hacia arriba de 2000 unidades. [Ctrl] y escalado de .700 hacia dentro.

La imagen lateral muestra el resultado del primer juego de extrusiones para nuestro modelo de vaso.



Paso 9: Una vez que hemos terminado de crear el cuerpo de nuestro vaso podemos ver nuestro progreso en la vista sombreada, presionando [Z]. Antes de proceder volvamos a la vista de armazón.

6) Extrusión hacia arriba de .2000, escala de .800. Los siguientes dos pasos formarán el cuello del vaso.
7) Extrusión hacia arriba de .2000, escala de .600.
8) Extrusión hacia arriba de .1000.
10) Extrusión hacia arriba de .1000, escala de 1.400.
10) Extrusión hacia arriba de .1500.
11) Extrusión de .0000, escala de .600 y por último:
12) Extrusión hacia abajo de .3000.

Antes de proceder salgamos de "Edit Mode" presionando [Tab].
Paso 10: si lo has hecho todo correctamente verás algo como en la imagen superior. Vamos ahora a agregar un piso por debajo del vaso. Ve a la vista superior [Num 7]. Presiona [Barra Espaciadora] es elige Add>Mesh>Plane. Escala a 12.000. Mueve el plano 5.ooo hacia arriba y 5.000 a la izquierda. El trabajo de modelado de la escena está ahora completo y puedes ver tu trabajo renderizando.

Paso 11: Ahora debemos ajustar la cámara. Selecciónala con un click derecho. Presiona [Num 0] para ir a la vista de cámara. Arrastra [G] la cámara, manten presionado [Ctrl] y mueve el ratón acia abajo poco a poco. el valor en las coordenadas debería ser Dz 1,000. Esto te mostrará una vista completa del vaso desde la cámara. Presiona [F12] para ver como el modelo de tu vaso es renderizado. Guarda el archivo ahora.


Parte 3: Materiales y Texturas

Paso 12: Ahora iremos a aplicar materiales y texturas a el vaso y el piso. Comencemos primero con el piso. Presiona [F5] para saltar a "Material" dentro de la ventana de botones. Presionando el botón "Add New" te da acceso a la casilla de entrada de nombre de material. Escribe "MaterialPiso" para facilitar la identificación.

Paso 13: Después de asignar un material puedes asignar materiales a él. Para el piso vamos a agregar una imagen de textura de madera. Presionando [F6] , la ventana de botones de textura aparecerá. En la pestaña "Texture" haz click en "Add new" para añadir un canal de textura. Inmediatamente una lista desplegable aparece a continuación, de ella selecciona "Image". De nuevo una nueva pestaña llamada "Image" aparece, haz click en el botón "Load image" y elige una imagen JPG con una textura de madera. En "Xrepeat" y "Yrepeat" incrementa ambos valores hasta 4.


Paso 14: Despues de añadir la imagen de textura de madera, vamos a modificar los parámetros de sombreado del material del piso. Presionando [F5] y llendo a la pestaña "Mirror Transp" que está a un lado de "Shaders" presionamos "Ray Mirror" e incrementamos "RayMir" a 0.20. Para finalizar "Depth" debe ser 3, es todo lo que necesitaremos para el material del piso.

Paso 15: Siguiendo el procedimiento del paso 11 añadimos un material para el vaso. Entonces agregamos tres texturas de imagen, una con la aspereza que deseamos de nuestro vaso, otra con la especularidad y el último con el decorado que deseamos en tres diferentes canales. Puedes renovar los canales de textura escribiendo en la caja "Add new" que por defecto mostrará "Text(#)". Renombralos todos para hacerlos más manejables.

Paso 16: hemos agregado tres imágenes de textura a nuestro vaso y ahora vamos a modificar las propiedades de sombreado del material del vaso. Presiona [F5], en la pestaña "Shaders" cambia "Ref" (Refracción) a 0.400, enseguida cambia "Spec" (Especularidad) a 1.700 y "Hard" a 400, tambien "Depth" a 3. "Lambert" y "CookTorr" son algoritmos usados para calcular la refracción y especularidad de las texturas.

Paso 17: Ahora necesitamos darle valores de mapeado apropiados a los tres canales. en la pestaña "Texture" (en el extremo derecho) puedes ver que los tres canales de textura son visibles. Las pestañas "Map Input" y "Map To" cambiarán los valores solamente de el canal que está actualmente presionado. Entonces para modificar las propiedades de otro canal debes seleccionarlo primero. Ve a "Map Input" y selecciona "Tube" para los tres canales.

Paso 18: En la pestaña "Tab To" la primera textura no debe ser cambiada. Para la segunda textura deshabilita los botones "Col" y habilita "Spec" y "Emit". Tambien cambia el valor de "Var" a .500.

Paso 19: Para el tercer y último canal cambia el modo de mezcla de textura a "Multiply" y el valor de "Col" a .500. Trata de renderizar ahora para ver los materiales que has aplicado. Tambien deberías de guardar tu trabajo.

Paso 20: para la iluminación de la escena vamos a añadir dos lámparas más. Puedes siempre añadir nuevas lámparas desde la caja de herramientas [Barra Espaciadora] o duplicando la lámpara original. Para duplicar primero selecciona la lámpara, presiona [Shift + D] y mueve el objeto duplicado a la posición deseada. Ve a la vista frontal [Num 1] duplica la lámpara y colocala justo debajo de la lámpara original.


Paso 22: Si renderizas la escena ahora, podrás ver dos puntos brillantes en el piso, causados por las dos lámparas duplicadas. No queremos eso y es aquí donde las capas de Blender
entran en acción. El botón capas es visible en el panel de menú de la vista en 3D. Dos capas serán suficientes para nuestra escena, para añadir una capa mantén presionado [Shift] y haz click en la segunda capa.



Por defecto nos encontraremos siempre en la primera capa. Blender incluye cualquier capa que esté activa o botón de capa presionado en el renderizado, igual que cualquier programa de dibujo en 2D ¡¿No es genial?!.

Paso 23: Selecciona el piso y la lámpara original, entonces presiona [M] (mover a capa), en el desplegado de capas presiona el segundo botón de capa como lo hiciste en el último paso. ¿Porque es que estamos usando más de una capa?. Bueno, Blender permite a las lámpara afectar sus propias capas locales o en toda la escena, usando esa habilidad podemos remover los reflejos luminosos en el redenrizado al mismo tiempo que queremos que dos lámparas duplicadas afecten la iluminación del vaso.

Paso 24: Selecciona la lámpara original y desntro de la pestaña "Shadow and Spot" habilita 'Ray Shadow' para activar la generación de sombras. recuerda que el llamado de sombras solo debe se habilitado para la primera lámpara. Selecciona cualquier duplicado que hayas hecho, presiona [F5], en la pestaña "Lamp" activa "layer" y también "No Diffuse". Repite lo mismo para cualquier otra lámpara duplicada. Guarda tu trabajo ahora y tal vez desees renderizar para ver el resultado.

Paso 25: Si haces una prueba de renderizado podrás ver el renderizado con una bonita sombra. Blender tiene una caracteristica de GI o iluminación global llamada "Ambient Occlusion", esta permite mucho en lo que a iluminación natural se refiere, por ejemplo, este toma en cuenta también la iluminación del reflejo sobre los objetos lo cual hace a la escena más realista. Pero por las mismas razones esto hace que su cómputo sea exaustivo por lo que, si cuentas con un procesador lento, deberías ir a dar un paseo mientras el renderizado termina.


Paso 26: Iremos ahora a los botnones "World" para habilitar AO. Presiona [F8] y en los botones "World" ve a la pestaña "Amb Occ". Aquí habilita "Use Distances" y establece el valor de "DistF" a 2.000. Activa el botón "Both". Establece el botón Energy a .80. Renderiza la escena. Podrás ver los resultados cuando la renderización haya terminado. Dependiendo de la capacidad de tu sistema puedes incrementar el valor de "Samples", para esta escena un valor alto sería 16.


Paso 27: Nuestro trabajo está listo para renderizar. Solo necesitamos ajustar los valores del renderizado para obtener buenos resultados. Presiona [F10] y en la pestaña "Render" habilita OSA e incrementa el valor a 8. OSA (Sobreexposición o antialias) hace los border bruscos en el renderizado suaves e incrementa la calidad de la imagen. Si deseas incrementar la medida del renderizado entonces ve a la pestaña "Format" e ingresa los valores manualmente.



También aquí puedes cambiar el formato para salvar la imagen renderizada. después de que has presionado [F12] para un renderizado final. Despues de renderizar presiona [F3] para salvar la imagen, y recuerda colocar la extensión adecuada, pues blender no agrega la extensión automaticamente.





La escena con AO habilitado.


¡Feliz Renderizado!
Gaurav
Paynalton

sábado, 11 de julio de 2009

Te amo

Una vez más, estoy aqui, recordandote lo mucho que te quiero, lo mucho que te amo y para agradecerte lo feliz que me haces... te amoooo

miércoles, 3 de junio de 2009

Manga


Como se vería un personaje de manga en la vida real????

Bueno, aunque la modelo me dijo que le daba miedo esta foto, creo que se vería así.

Por cierto, esta imagen fue creada usando The Gimp
Posted by Picasa

jueves, 28 de mayo de 2009

El Jardín.

El Jardín.

Rayos de luz se cuelan suavemente por entre las hojas del manzano iluminando tenuemente, en una cálida caricia a las flores que crecen a ambos lados del sendero. Al final del jardín una vieja silla de ornamentada herrería te espera como cada medio día.

Nieve blanca reluce sobre tu cabeza al cruzar por el sendero sobre el que yacen unas cuantas hojas secas del otoño que ya se aproxima. Con cuidado, apoyandote sobre la mesa firme tomas asiento intentando no perder el equilibrio.

Tu cuerpo está cansado y tu piel tiene el color del otoño que llega a tu vidatras tantos años de alegrías y pesares. En tus manos temblorosas se yergue imponente aque libro que ya tres veces has leido y que sin embargo sus palabras siguen llenando de alegría tu corazón. ¿Cuantas veces no diste gracias al destino por permitirte, almenos, tener la dicha de poder seguir leyendo en este jardín?.

¿Recuerdas? La primera vez que pisaste este lugar dijiste que era un sitio horrible. el polvo y a hierba salvaje dominaban el paisaje, algo muy diferente de lo que habías imaginado en un principio cuando soñabas que aquel príncipe te llevaría a un enorme palacio de cristal.

"Este será nuestro paraíso" dijo él al comprender tu desaliento y apretó tu mano, aun suave, para darte esa confianza que siempre te había brindado. "verás que podemos convertir esto en un lugar hermoso".

¿Recuerdas? Cuantos años pasaron juntos en este jardín, tu leías este mismo libro mientras él plantaba flores para tí. Aquel manzano que reemplazó al moribundo naranjo fue testigo de tantas cosas.

Hace diez años él salió de casa, te dio un beso en la frente y cruzó la puerta sin decir a donde iba. Por la tarde un vecino te dió la terrible noticia de que el no volvería jamás y que sus últimas palabras eran para revelar un lugar secreto en este jardín, lleno de cartas, romances, poemas que él escribió para tí.

Desde hace diez años una lágrima en su honor brota de tus ojos cuando por un instante te sientas en este lugar y lo vés arrodillado, con la cara sucia y las manos metidas en la tierra mientras te platica cosas sin mucha importancia.

Esta tarde es especial. No has terminado aun de leer de nuevo este libro, pero tu corazón empieza ya a marcar una despedida. El sueño comienza a llegar con la brisa del atardecer mientras el sol dibuja en las nuves hermosos tonos carmesí. Tus ojos se cierran ante el fuerte impulso que te lleva a dormir un sueño distinto a los demás, un sueño que has esperado por diez largos años y que ahora, por fin, ha llegado para conducirte al final de tu vida, al reencuentro que tanto has anhelado.

¿Alguna vez imaginaste que sería así?. ¿Alguna vez pensaste que el ultimo instante de tu vida lo pasarías en un pequeño paraiso?

Uno de tus hijos entra al jardín, encuentra el libro en el suelo, tu cabeza reposando sobre el pecho y una ultima exhalación que se escapa por entre las hojas del manzano para reunirse con su amado.

lunes, 12 de enero de 2009

Untitled






Esto es algo que a muchos usuarios nuevos causa confusión...

Muchas veces verán manuales y mensajes que se ven así:

Código:
$ls todo

#apt-get install miprograma


Y no toman en cuenta el primer carácter.

Linux
es un sistema bastante seguro debido a que la mayor parte de las cosas
se hacen en modo usuario, de manera que lo que hacemos en este modo
nunca dañará el sistema (a menos que hayamos hecho cosas muy estúpidas
con anterioridad como cambiar permisos de archivos y directorios
importantes).

Cuando en un manual o instrucción indicamos que un
comando debe ser usado en modo usuario entonces usamos el carácter "$"
al principio de la linea, por ejemplo:

Código:
$mkdir nuevacarpeta
$rm archivodeprueva
$ls *

En cambio, cuando debemos correr un comando como administrador lo indicamos con el caracter "#", por ejemplo:

Código:
#apt-get install loquesea
#nano /etc/archivo.conf
#rm -r /*
Recomendaciones:

Por
la seguridad de sus equipos, cuando vayan a correr un comando como
administrador, inicien la sesión, ejecuten lo que han de ejecutar y
regresen de inmediato al modo usuario, eso les salvara de cometer un
error que pudiese ser fatal para el sistema.


Alternar entre modo usuario y Administrador:


En linux siempre habrá más de una manera de hacer las cosas.

La
opción más común para correr un comando es abrir una consola virtual
(algun programa dentro del ambiente gráfico que nos muestre la línea de
comandos al más puro estilo MS-DOS). y ejecutar comandos. al abrirlo
veremos algo así:

Código:
paynalton@Carlos-Internet:~$
Como
pueden ver, el "$" nos indica que estamos en modo usuario. Para ser más
específicos, el PROMPT se estructura de la siguiente manera:

Código:
paynalton                  @       Carlos-Internet      :   ~                       $
NombreDelUsuario     @       NombreDelEquipo  :   DirectorioActual   MODO
Para pasar al modo administrador usamos el comando "su"

Código:
paynalton@intraasm:~$ su
Password:
intraasm:/var/www/nuevaintra#

Como
ven nos cambia el caracter final por un "#" indicando que estamos en
modo administrador, para volver al modo anterior simplemente se usa el
comando "exit"

Código:
paynalton@intraasm:~$ su
Password:
intraasm:/var/www/nuevaintra# exit
exit
paynalton@intraasm:~$   

Así siempre volveran al usuario anterior.

Algunos
sistemas, por seguridad, no te permiten usar el comando "su" (ubuntu y
toda su prole) pero en cambio vienen con otro comando bastante útil y
seguro: "sudo" (hacer como su). Este comando les permitirá ejecutar
comandos como si fueran el administrador pero sin abrir por completo la
sesión, de manera que no necesitan el comando "exit".

de manera que si en un manual ven algo así:
Código:
$./config
$./make
#./make install

da lo mismo que ejecuten:


Código:
paynalton@intraasm:~$./config
paynalton@intraasm:~$./make
paynalton@intraasm:~$su
Password:
intraasm:/var/www/nuevaintra#./make install
intraasm:/var/www/nuevaintra# exit
exit
paynalton@intraasm:~$ 
 

y

Código:
paynalton@Carlos-Internet:~$./config
paynalton@Carlos-Internet:~$./make
paynalton@Carlos-Internet:~$ sudo ./make install
[sudo] password for paynalton:
paynalton@Carlos-Internet:~$


Y creo que eso es todo de esta pequeña aclaración, espero que les sea útil.

Si desean saber mas sobre los comandos aquí mencionados, no olviden ver los manuales tecleando en su consola:
Código:
$man comando

Untitled






Uno de los principales problemas con GNU-Linux desde sus inicios
siempre fue la estandarización. Y es que GNU-linux siempre fue un
proyecto abierto a todo el mundo y en donde miles de manos han creado
un pequeño trozo de código. Pero, humanos al final de cuentas, no
siempre estaremos todos de acuerdo y al existir tantas manos metidas es
difícil tener un orden, siendo que cada persona puede tener un Linux
totalmente distinto del que tiene su vecino.

Entonces los
programadores de aplicaciones tienen un gran problema: Cuando ellos
crean su programa utilizan diferentes bibliotecas para ahorrarse
trabajo y comprueban que en su sistema funcione correctamente. Pero si
el programador quiere distribuirlo es muy posible que otras
computadoras no tengan las mismas bibliotecas que las que el utilizó o
simplemente que se encuentren en un directorio distinto del esperado,
lo cual hace que su programa sea incompatible con otros sistemas.

Esto
crea un gran problema que en un principio se intento solucionar por
medio de LSB (Linux Standard Base) que proponía un conjunto de
bibliotecas standard en las que los programadores podrían confiar con
encontrar siempre en cualquier sistema linux.

Sin embargo este
plan no progresó como se esperaba y LSB se convirtió en una solución no
muy bien aceptada, pues había serias discusiones sobre que biblioteca
era mejor que otra, un programa que causaba inestabilidad con otro o
que era demasiado inseguro, y culminó con el rompimiento de relaciones
con algunas compañías importantes.

Y hasta hace algunos años
instalar un programa en linux era una pesadilla, pues para tenerlo
debías de conseguir e instalar todos y cada uno de los programas que se
requerían para hacer funcionar ese programa.

Una primera
solución fueron los paquetes de instalación. Un usuario que quería
instalar un programa debía buscar el respectivo paquete de instalación
(.deb, .ebuild, .rpm, etc.) para su sistema y el sistema instalador
comprobaba las dependencias del programa, alertando si faltaba alguna y
sugiriendo a veces de donde descargar el programa que faltaba.

Posteriormente
algunos de estos sistemas de instalación podían descargar los paquetes
de instalación de los programas que faltaban (dependencias) para hacer
la vida del usuario mucho más fácil.

Todo esto ha ido evolucionando hasta llegar a los actuales sistemas de repositorios.

SISTEMAS DE REPOSITORIOS

Casi cualquier versión de GNU-Linux cuenta con un sistema de repositorios. Pero que demonios es eso?

Los
usuarios que migran de un sistema a otro se sorprenden de que ya no
tienen que pasar horas buscando un programa en internet para
instalarlo, sino que dentro de su sistema linux encuentran una lista de
programas para instalar.

Un repositorio es eso, una lista de
programas que es mantenida por la gran cantidad de usuarios y
desarrolladores de una distribución determinada. Cada vez que surge un
programa nuevo o una nueva versión de este, un grupo de entusiastas
revisa las dependencias de ese programa, lo instalan y revisan su
estabilidad, seguridad y diversos conflictos con otras aplicaciones.
Tras un periodo de prueba el programa es colocado en la lista de
"programas estables" en donde los usuarios comunes pueden hacer uso de
el con toda confianza.

por tanto un usuario que quiere instalar un programa solo tiene que hacer lo siguiente:

Reconoce
el sistema instalador que utiliza, para RedHat y Fedora se usa YUM,
para los venidos de Debian se usa APT, para gentoo está PORTAGE y
disculpen si por ignorancia omito alguno.

Entonces deben actualizar la lista de programas desde el sitio de la distribución corriendo un simple comando:
Código:
#apt-get update
#emerge --sync

Una vez hecho esto hacen una búsqueda para encontrar su programa.

Código:
$apt-cache search programa
$emerge -s programa
$yum search programa

Una vez que tienen el nombre exacto del programa simplemente ejecutan otro comando para instalarlo:
Código:
#apt-get install programa
#emerge programa
#yum install programa

Y listo, el sistema realizará las siguientes acciones:

  • buscar la última versión estable para el programa
  • calcular la cantidad de dependencias del programa
  • descargar todos los archivos necesarios para instalar el programa y sus dependencias
  • verificar que los archivos descargados no estén corruptos (ya sea por un error en la descarga o porque alguien muy malo
  • haya alterado el paquete)
  • descomprimir todos los archivos
  • instalar todos los programas
  • configurar todos los programas
  • mostrar opciones para cosas que requieran la atención del usuario (como aceptar contratos o dar datos específicos del equipo).

Y con eso su programa estará instalado...

Muy fácil no? no? porque no?

Si
lo suyo no son los comandos, casi todas las distribuciones cuentan ya
con una interfaz gráfica para su sistema instalador. que ejecula por
ustedes esos tres simples comandos de manera que ustedes solo tienen
que: buscar el programa, seleccionar el que quieren instalar y dar
click en "instalar"...

Les gusta el peligro?

Todo
sistema de repositorios siempre está establecido por defecto en las
versiones estables del sistema, pero si ustedes son lo bastante
audaces, siempre pueden configurarlo en repositorios inestables para
obtener siempre los últimos programas recién saliditos de la forja
(sourceforge), y si encuentran algún error no olviden reportarlo para
que así e, la próxima actualización sea corregido no solo para ustedes,
sino para todos los que utilizan ese programa.

lo olvidaba, actualizaciones.

Pueden
ustedes actualizar sus sistemas por completo, incluyendo todos y cada
uno de los programas instalados con un simple comando:
Código:
#yum update
#apt-get upgrade
3emerge -u world

Y
con esto siempre tendrán a su equipo en las mejores condiciones y
claro, también hay interfaces gráficas para todo esto y notificadores
automáticos que le informan de nuevas actualizaciones disponibles.

Suerte, si hay preguntas pues es la hora.

Guia 1






Bueno, comienzo la escritura de esta serie de Howto que, si bien no
revelan grandes conocimientos, dejan en claro algunos puntos básicos
que resultan muy útiles a la hora de irse adentrando en un sistema tan
polifacético. Creo que voy a dejar una copia de cada uno en mi blog por
si alguien quiere dar un recorrido por ellos.

Comencemos entonces:

¿Porqué mi amigo Linuxero se enoja si digo solo Linux y no GNU/Linux?

Seguramente
te habrás encontrado con comentarios en foros o gente que directamente
te diga: "el nombre correcto es GNU/Linux,,. si dices solo Linux
entonces solo te refieres al nucleo".

A mi en lo personal me
parece un tanto ridículo el ser tan exigentes con los nombres, pero
estas actitudes tienen su razón de ser que se remontan a los principios
de nuestro amado pingüino.

La Historia tras esas tres letras: GNU

Se
dice que en un principio existió el hombre, y por un tiempo fue bueno.
Entonces el hombre creó a las computadoras a imagen y semejanza de su
televisor. jejeje.

Lo que si se cuenta es que al principio de la
era de las computadoras, el verdadero negocio no era el software, sino
la computadora misma. El software era escrito por cualquier usuario con
conocimientos medios y los profesionales de la computación compartían
libremente sus creaciones que rápidamente se extendían por el planeta y
consiguieron ese fenomenal desarrollo tecnológico que ha caracterizado
a la informática.

Pero entonces las empresas comenzaron a ver
que el software era algo de lo cual se podía sacar provecho, y
comenzaron a crear reglas restrictivas para que sus empleados no
divulgaran sus desarrollos y los mismos fueran vendidos por la empresa.

Estas
actitudes fueron extendiéndose por todas las empresas y la información
dejó de fluir. Un experto de sistemas llamado Richard Stallman, quien
estaba acostumbrado a compartir y a recibir información libremente
trabajaba en una empresa que acababa de comprar una impresora nueva.

Esa
impresora no funcionaba como la empresa necesitaba, y, como buen
experto, Ricardito vio que el problema se encontraba en el controlador
de la impresora.

Entonces, tal y como había hecho en otras
ocasiones, tomó el teléfono y pregunto cuanto le cobrarían por
proporcionarle el código fuente del controlador pues quería hacer una
corrección, misma que posteriormente enviaría a la empresa fabricante
para que consideraran añadirla  sus futuras versiones. pero su sorpresa
fue enorme cuando le dijeron que no podían entregarle el código fuente,
ni siquiera vendido.

Tras armar una revuelta vía telefónica,
hacer gran coraje y terminar sin una sola pizca de código, Stallman se
dió cuenta de que a su alrededor las empresas protegían ya su código
fuente y simplemente pensó: "esto ya no es bueno".

Dialogando
con otros expertos se decidieron a poner fin a todo ello, entonces
crearon la FSF (Free Software Foundation), las licencias GPL, y
comenzaron atrabajar en un nuevo sistema operativo lleno de
aplicaciones y controladores totalmente libres, este sistema recibiría
el nombre de GNU (GNU is Not Unix).

Llegó el año de 1992 y el
sistema estaba ya muy completo, con cientos de aplicaciones pero,
faltaba lo más importante, el núcleo.

Aunque el sistema no
estaba completamente terminado muchos querían ya utilizarlo, pero sin
ese núcleo era imposible realizarlo. entonces llegó una bendición en
forma de núcleo de manos de Linus Tovars quien había desarrollado un
núcleo al cual llamó Linux, el cual había sido concebido en un
principio para ser utilizado en sistemas Minix.

Sin embargo no
resultó muy difícil integrarlo al sistema GNU y, muchos años antes de
lo esperado, surgió la primera versión usable de GNU llamada GNU/linux.

Cabe
destacar que GNU/Linux no es la cumbre del éxito, pues GNU y Linux son
proyectos independientes que solo se apoyan el uno en el otro. El
objetivo principal de la FSF es tener su propio núcleo, del cual
podemos ya existen prototipos bajo el nombre de Hurd.

Entonces GNU/Linux es una palabra que nos indica que estamos viendo al sistema operativo GNU utilizando el núcleo Linux.

Terminaré
mencionando que en algún momento el núcleo nativo de GNU estará
terminado y promete grandes mejoras sobre el actual núcleo linux que,
desde su creación, tampoco ha dejado de mejorar.

Sin embargo
disfruten por ahora de GNU/linux sabiendo que hay miles de personas
trabajando para mejorarlo, y si bien el sistema actualmente ya hace
cosas impresionantes, cuando esté terminado el núcleo GNU verán lo que
es en verdad un sistema robusto, estable, inteligente y capaz de
realizar cualquier cosa que imaginen.