miércoles, 18 de mayo de 2011

A mi ya me ha pasado...

(Click para agrandar la imagen)

jueves, 14 de abril de 2011

Leccion Geek #12

"Bienaventurados los pesimistas, porque ellos hacen backups".

Como se ve cada usuario...

(Click en imagen para agrandar)

miércoles, 16 de marzo de 2011

Un sencillo test.

(Click en la imagen Para ver mas grande.)

Android es el sistema operativo para “smartphones” más popular.

El sistema operativo Android, creado por Google para dispositivos móviles, se convirtió entre noviembre y enero en el procesador líder para “smartphones” en EE.UU., por delante de los desarrollados por Apple y Research in Motion (RIM), informó Nielsen.

Según un estudio de esa compañía de investigación de mercado, los teléfonos “inteligentes” que operan con Android coparon el 29 por ciento del mercado, mientras que el iPhone de Apple y la Blackberry de RIM se quedaron en un 27 por ciento cada uno.

La popularidad de Android fue posible gracias a que se trata de un software que Google pone a disposición de todas las empresas de telefonía, por lo que se vende a través de distintas marcas como Motorola, Samsung o HTC.



En el último trimestre de 2010 Android se convirtió en el primer sistema operativo a nivel mundial para “smartphones” tras superar a la plataforma Symbian, que opera en los dispositivos Nokia.

martes, 15 de marzo de 2011

USB en version Transformer.

Mitad juguete, mitad memoria.

Ya esta disponible la version final de IE9...

Afortunadamente, lejos quedan los tiempos en los que la web estaba llena de sitios que sólo funcionaban con Internet Explorer y Windows, aunque aún las hay.

Pero por si quieres seguir usándolo, o no te queda otro remedio, ya está disponible para su descarga la versión definitiva de Internet Explorer 9.

Eso sí, Windows XP, como estaba previsto, queda fuera de juego y sólo se puede ejecutar bajo Vista o Windows 7.

Microsoft parece haber aprendido algo de sus errores pasados en cuanto al navegador, errores que le han ido haciendo perder cuota de mercado frente a otras opciones, y esta nueva versión de Explorer representa un esfuerzo consciente en adaptarse mejor a los estándares fijados por el World Wide Web Consortium y en producir un navegador más seguro.

jueves, 3 de febrero de 2011

Leccion Geek #11

La globalización funciona así: un tímido nerd quiere ligar con chicas, se inventa una web llamada Facebook en Harvard y acaba afectando a la vida de un dictador en Egipto.

miércoles, 29 de septiembre de 2010

8 lenguajes de programación que deberías aprender.

PHP

PHP usa una mezcla entre interpretación y compilacion para intentar ofrecer a los programadores la mejor mezcla entre rendimiento y flexibilidad.

PHP compila para tu codigo una serie de instrucciones (llamadas opcodes) siempre que estas son accedidas. Estas instrucciones son entonces ejecutadas una por una hasta que el script termina. Esto es diferente a la manera convencional de compilacion de lenguajes como C++ donde el código es compilado a código ejecutable que es despues ejecutado. Php es recompilado cada vez que se solicita un script.

¿Por qué deberías aprenderlo?
Es uno de los lenguajes de progrmación más populares, la gran fluidez y rapidez de sus scripts y su prometedor futuro, desarrollar aplicaciones Webs utilizando lenguajes como C o COBOL son cosas del pasado.

C#

C# es un lenguaje de propósito general orientado a objetos creado por Microsoft para su plataforma .NET.

Su sintaxis básica deriva de C/C++ y utiliza el modelo de objetos de la plataforma .NET el cual es similar al de Java aunque incluye mejoras derivadas de otros lenguajes. C# fue diseñado para combinar el control a bajo nivel de lenguajes como C y la velocidad de programación de lenguajes como Visual Basic.

¿Por qué deberías aprenderlo?
Es una parte esencial de la plataforma .Net, C# combina los mejores elementos de múltiples lenguajes de amplia difusión como C++, Java, Visual Basic o Delphi. De hecho, su creador Anders Heljsberg fue también el creador de muchos otros lenguajes y entornos como Turbo Pascal, Delphi o Visual J++. La idea principal detrás del lenguaje es combinar la potencia de lenguajes como C++ con la sencillez de lenguajes como Visual Basic, y que además la migración a este lenguaje por los porgramadores de C/C++/Java sea lo más inmediata posible.

AJAX

No es un lenguaje exactamente su nombre viene dado por el acrónimo de Asynchronous JavaScript And XML y es posiblemente la mayor novedad en cuanto a programación web en estos últimos años.

El corazón de Ajax es el objeto XMLHttpRequest que nos permite realizar una conexión al servidor y al enviarle una petición y recibir la respuesta que procesaremos en nuestro código Javascript, estamos hablando del verdadero motor de Ajax, por ejemplo gracias a este objeto podemos desde una página HTML leer datos de una web o enviar datos de un formulario sin necesidad de recargar la página.

¿Por qué deberías aprenderlo?
La demanda de AJAX no sólo es amplía sino que de calidad debido a la dificultad de aprendizaje que conlleva, si la herramienta de Microsoft, Atlas, destinada a la realización de aplicaciones AJAX tiene éxito puede suponee un aumento en la demanda de esta tecnología.

JavaScript

Se trata de un lenguaje de programación del lado del cliente, porque es el navegador el que soporta la carga de procesamiento. Gracias a su compatibilidad con la mayoría de los navegadores modernos, es el lenguaje de programación del lado del cliente más utilizado.

¿Por qué deberías aprenderlo?
La razón de mayor peso es que es utilizado por millones de páginas webs para validar formularios, crear cookies, detectar navegadores y mejorar el diseño, su fácil aprendizaje lo hace un lenguaje muy demandado.

Perl

Perl es la alternativa más popular a PHP, seguramente porque es el lenguaje más antiguo tambien dentro de las alternativas. En internet nos encontramos numerosos recursos que utilizan Perl, muchos de las aplicaciones “open source” requieren tener Perl instalado correctamente. Perl tiene una ventaja y es que es muy flexible, y tambien tiene un gran cantidad de modulos ya escritos.

Bien escritos los scripts en Perl se asemejan bastante a PHP. La principal causa de la sucía apariencia de Perl es por la afición de sus desarrolladores a la escritura en “una línea” empaquetanto numerosas funcionalidades en una sola línea de código.

¿Por qué deberías aprenderlo?
La potencía de Perl a la hora de procesar grandes cantidades de datos lo hace realmente popular a la hora de desarrollar aplicaciones del lado del servidor, aprender Perl o Php es básico a la hora de desarrollar aplicaciones Web.


C

Es un lenguaje de “medio nivel” pero con numerosas características de bajo nivel.
Dispone de las estructuras típicas de los lenguajes de alto nivel pero, a su vez, dispone de construcciones del lenguaje que permiten un control a muy bajo nivel.

¿Por qué deberías aprenderlo?
Aprender C es básico mientras aprendes C estas aprendiendo conceptos básicos de lenguajes cómo Java o C#, además no sólo es mas sencillo que estos últimos sino que comporten gran parte de su sintaxis.

Ruby y Ruby on Rails

Ruby on Rails, también conocido como RoR o Rails es un framework de aplicaciones web de código abierto escrito en el lenguaje de programación Ruby.
Ruby apareció en el año 1995 y creo que su principal problema había sido
la falta de documentación en otro idioma que no sea japonés. Eso se ha ido
solucionando y crece la popularidad del lenguaje. Su aplicación insignia,
por decirlo de algún modo parece ser RoR. Su mecanismo de gem se me parece
al CPAN de Perl y al Pear de PHP.

¿Por qué deberías aprenderlo?
Simple y funcional, el uso de Active Record de forma eficiente simplifica y agiliza el desarrollo de forma notable. Al minimizar el trabajo con la base de datos (escribiendo triggers y procedimientos almacenados) y emplear un único lenguaje para todo el desarrollo, se consigue acortar los tiempos de desarrollo (time2market).

ASP

Active Server Pages (ASP) y ASP.NET es un intendo de Microsoft para introducirse en el mercado del desarrollo Web, y viene a ser como su estandar para su servidor Web, IIS. Asp ha sido atacado por la comunidad open source desde que este apareció, y dan numerosas razones para ello:
El propietario, una única plataforma, la lentitud…

Me gustaría decir “Si, si, y si”, pero no me debo dejar llevar. La realidad es que ASP ha sido implementado en otras plataformas y que cuando esta funcionando bajo su servidor predeterminado IIS es relativamente rápido.

¿Por qué deberías aprenderlo?
Simplemente porqué en algunas ocasiones no tienes otra opción debido a la popularidad que ha alcanzado.

viernes, 17 de septiembre de 2010

Canvas y HTML5

Anteriormente hablábamos de las novedades que trae consigo HTML5, una de esas es el API para generar y renderizar dinámicamente gráficos, imágenes y animaciones a través de su elemento Canvas.

Cuando introducimos el elemento Canvas, se creará por defecto un área de color blanco de 300 pixels de ancho por 150 pixels de altura cuyos valores pueden ser modificados a través de sus atributos.

Exceptuando Internet Explorer, todos los navegadores actuales dan soporte para el Canvas HTML5, como podemos ver en la siguiente tabla:

ChromeSoportado desde la versión 1.0
FirefoxSoportado desde la versión 1.5
OperaSoportado desde la versión 9.0
SafariSoportado desde la versión 1.3
Internet ExplorerNo soportado. Se espera a partir de la versión 9.0


Si quisieramos poder utilizar la nueva funcionalidad del Canvas API de HTML5 en IE, podremos utilizar el proyecto explorercanvas. Luego añadir el siguiente codigo:
<!--[if IE]><mce:script mce_src="excanvas.js"></mce:script><![endif]-->

Para incluir el elemento Canvas simplemente tendremos que añadir la siguiente etiqueta: <canvas></canvas>

Es posible que algún navegador no interprete correctamente la etiqueta canvas, por lo que si qusisieramos mostrar algún mensaje, o imagen alternativo podremos hacerlo incluyendo las etiquetas HTML que consideremos dentro del elemento canvas:

<canvas>
Tu navegador no soporta HTML5, por qué no lo actualizas?
</canvas>


Si queremos chequear si el navegador interpreta o no el elemento canvas de HTML5 podemos utilizar el siguiente script en Javascript:
try{
document.createElement("canvas").getContext("2d");
alert("HTML5 es soportado en tu navegador");
} catch(e) {
alert("HTML5 no está soportado en tu navegador");
}


Este código intenta crear un elemento canvas, y acceder a su contexto. Si hubiera algún error, se capturaría y se mostraría el mensaje de alerta.

Un ejemplo sencillo de las API del canvas el cual pinta una línea:
<script>
function pintarLinea() {
// obtenemos el canvas y su contexto
var canvas = document.getElementById('mycanvas');
var context = canvas.getContext('2d');

context.beginPath();
context.moveTo(0, 50);
context.lineTo(200, 50);
//Refrescamos el canvas con lo que hemos pintado
context.stroke();
}
window.addEventListener("load", pintarLinea, true);
</script>

Firefox 4.0

Actualmente Firefox 4 sigue en beta, pero en las últimas versiones de prueba los programadores ya están pudiendo acceder a versiones casi definitivas de JaegerMonkey, uno de los componentes más esperados de esta nueva versión.

La explicación técnica de lo que es JaegerMonkey y cómo interactúa dentro del programa es compleja, pero se puede simplificarse diciendo que es una variante del motor de JavaScript que va incorporado en el navegador, y algo que casi todas las páginas web usan.



Muchas páginas web utilizan el lenguaje JavaScript para su correcta visualiación y para diversas funciones, especialmente algunas aplicaciones web «intensivas» (como Gmail, Google Docs, Google Maps, etc.). Este componente, que tradicionalmente había tenido una relevancia sólo, es ahora un cuello de botella por el que pasa gran parte del código durante la navegación. Lo que hacen JaegerMonkey es básicamente compilar ese código de forma instantánea para que se ejecute más rápido. Mediante diversas técnicas de optimización el código programado por los webmasters se recibe, compila y se ejecuta como un rayo en el navegador del usuario, ahorrándose así tiempo y ganándose en velocidad.

Diversos navegadores como Opera, Chrome de Google y también Explorer 9 de Microsoft, que será lanzado en breve, han estado realizando avances en este terreno para mantenerse competitivos en cuanto a rendimiento.

Se espera que Firefox 4 vea la luz en versión definitiva en noviembre de este año.

miércoles, 8 de septiembre de 2010

Leccion Geek #10

¡No me fío de la gente que está más de 24h desconectada. A saber qué vidas extrañas tienen ahí fuera!.

lunes, 30 de agosto de 2010

Redes Sociales


Click para tamaño completo

miércoles, 18 de agosto de 2010

Que hacer en caso de:

Click para tamaño completo

Ornitologia twittera

Esta ilustración le será de gran utilidad si es usted es un amante de la ornitología digital. Llévela consigo para introducirse al universo de los 140 caracteres e identificar los diferentes tipos de aves que en él habitan. Se sorprenderá.

Click Para tamaño completo

lunes, 9 de agosto de 2010

El cuerpo Humano con HTML y PHP

Click para tamaño completo

viernes, 30 de julio de 2010

Almohada para esos sueños...

miércoles, 28 de julio de 2010

HTML5

El HTML5 (HyperText Markup Language, versión 5) es la quinta revisión del lenguaje de programación “básico” de la World Wide Web, el HTML. Esta nueva versión pretende remplazar al actual (X)HTML, corrigiendo problemas con los que los desarrolladores web se encuentran, así como rediseñar el código actualizandolo a nuevas necesidades que demanda la web de hoy en día.

A diferencia de otras versiones de HTML, los cambios en HTML5 comienzan añadiendo semántica y accesibilidad implícitas, especificando cada detalle y borrando cualquier ambigüedad.

Mejor estructura

Actualmente es abusivo el uso de elementos DIV para estructurar una web en bloques. El HTML5 nos brinda varios elementos que perfeccionan esta estructuración estableciendo qué es cada sección, eliminando así DIV innecesarios. Este cambio en la semántica hace que la estructura de la web sea más coherente y fácil de entender por otras personas y los navegadores podrán darle más importancia a según qué secciones de la web facilitándole además la tarea a los buscadores, así como cualquier otra aplicación que interprete sitios web. Las webs se dividirán en los siguientes elementos:

<section></section> - Se utiliza para representar una sección “general” dentro de un documento o aplicación, como un capítulo de un libro. Puede contener subsecciones y si lo acompañamos de h1-h6 podemos estructurar mejor toda la página creando jerarquías del contenido, algo mu favorable para el buen posicionamiento web.

<article></article> - El elemento de artículo representa un componente de una página que consiste en una composición autónoma en un documento, página, aplicación, o sitio web con la intención de que pueda ser reutilizado y repetido. Podría utilizarse en los artículos de los foros, una revista o el artículo de periódico, una entrada de un blog, un comentario escrito por un usuario, un widget interactivo o gadget, o cualquier otro artículo independiente de contenido.

Cuando los elementos de <article> son anidados, los elementos de <article> interiores representan los artículos que en principio son relacionados con el contenido del artículo externo. Por ejemplo, un artículo de un blog que permite comentarios de usuario, dichos comentarios se podrían representar con <article>.

<aside></aside> - Representa una sección de la página que abarca un contenido tangencialmente relacionado con el contenido que lo rodea, por lo que se le puede considerar un contenido independiente. Este elemento puede utilizarse para efectos tipográficos, barras laterales, elementos publicitarios, para grupos de elementos de la navegación, u otro contenido que se considere separado del contenido principal de la página.

<header></header> - Elemento <header> representa un grupo de artículos introductorios o de navegación.

<nav></nav> - El elemento <nav> representa una sección de una página que es un link a otras páginas o a partes dentro de la página: una sección con links de navegación.

No todos los grupos de enlaces en una página tienen que estar en un elemento <nav>, sólo las secciones que consisten en bloques principales de la navegación son apropiadas para ser utilizadas co el elemento <nav>. Puede utilizarse particularmente en el pie de página para tener un menú con un listado de enlaces a varias páginas de un sitio, como el Copyright; home page, política de uso y privacidad. No obstante, el elemento <footer> es plenamente suficiente sin necesidad de tener un elemento <nav>.

<footer></footer> - El elemento <footer> representa el pié de una sección, con información acerca de la página/sección que poco tiene que ver con el contenido de la página, como el autor, el copyright o el año.

Diferencias entre HTML y HTML5

Mejoras en los formularios

El elemento input adquiere gran relevancia al ampliarse los elementos que se permitiran en el “type”.

<input type="search"> para cajas de búsqueda.
<input type="number"> para adicionar o restar números mediante botones.
<input type="range"> para seleccionar un valor entre dos valores predeterminados.
<input type="color"> seleccionar un color.
<input type="tel"> números telefónicos.
<input type="url"> direcciones web.
<input type="email"> direcciones de email.
<input type="date"> para seleccionar un día en un calendario.
<input type="month"> para meses.
<input type="week"> para semanas.
<input type="time"> para fechas.
<input type="datetime"> para una fecha exacta, absoluta y tiempo.
<input type="datetime-local"> para fechas locales y frecuencia.

Otros elementos muy interesantes

<audio> y <video> - Nuevos elementos que permitirán incrustar un contenido multimedia de sonido o de vídeo, respectivamente. Es una de las novedades más importantes e interesantes en este HTML5, ya que permite reproducir y controlas vídeos y audio sin necesidad de plugins como el de Flash.

El comportamientos de estos elementos multimedia será como el de cualquier elemento nativo, y permitirá insertar en un video, enlaces o imagenes, por ejemplo. Youtube, ya ha anunciado que deja el Flash y comienza a proyectar con HTML5.

<embed> - Se emplea para contenido incrustado que necesita plugins como el Flash. Es un elemento que ya reconocen los navegadores, pero ahora al formar parte de un estándar, no habrá conflicto con <object>.

<canvas> - Este es un elemento complejo que permite que se generen gráficos al hacer dibujos en su interior. Es utilizado en Google Maps y en un futuro permitirá a los desarrolladores crear aplicaciones muy interessantes.

martes, 27 de julio de 2010

Combinaciones de teclas para Ubuntu

Manejo de ventanas

Algunas de estas combinaciones requieren tener instalado el gestor Compiz.
  1. Win + E - Mostrar todos los escritorios en horizontal a la vez.
  2. Alt + Ctrl + Flecha izqda. o dcha. – Moverse entre escritorios, hacia la derecha o izquierda.
  3. Alt + Ctrl +Shift + Flecha izqda. o dcha – Mover la ventana actual a otro escritorio, hacia la derecha o la izquierda.
  4. Alt + Shift + Flecha arriba – Esta acción inicia un interfaz precioso para cambiar entre ventanas usando las flechas mientras mantienes pulsadas Alt + Shift.
  5. Alt + F9/F10 – Minimizar / Maximizar la ventana actual, la que estás viendo.
  6. Alt + F5 – Desmaximizar la ventana actual, la que estás viendo.
  7. Alt + F7 – Con este acceso rápido podrás mover la ventana actual por la pantalla utilizando las flechas apra indicar la dirección, si la arrastras hacia la derecha del todo o hacia la izquierda, se cambiará de escritorio.
  8. Alt+F8 – Redimensionar el tamaño de la ventana actual, la que estás viendo.
  9. Ctrl + Alt + D – Mostrar el escritorio – Volver a mostrar las ventanas que había antes de mostrarlo.
  10. Alt + Shift + Tab – Cambiar entre las ventanas al revés de como lo harías con Alt+Tab.
Nautilus
  1. Shift + Ctrl + N – Crea rápidamente una nueva carpeta.
  2. Alt + Enter – Mostrar rápidamente las propiedades del elemento seleccionado (sea archivo o carpeta).
  3. Ctrl + 1/2 – Cambiar la forma de ver los elementos entre lista o iconos.
  4. Ctrl + W – Cerrar la ventana actual de Nautilus.
  5. Ctrl + Shift + W – Cerrar todas las ventanas actuales de Nautilus.
  6. Ctrl + T – Abre una nueva pestaña en Nautilus (muy útil para trabajar con el movimiento/copia de archivos)
  7. Alt + Flecha arriba/abajo – Moverse a la carpeta padre o desplazarse entre ellas.
  8. Alt + Flecha izqda./dcha. – Moverse hacia atrás o entre las carpetas del Nautilus.
  9. Alt + Home – Ir tu carpeta /home.
  10. F9 – Mostrar/Ocultar el panel lateral de Nautilus.
  11. Ctrl + H – Mostrar/Ocultar las carpetas o archivos ocultos.
Otras varias
  1. Ctrl + Alt + L - Acceso rápido para bloquear tu escritorio, por si tienes que levantarte y dejar tu computadora sólo un rato.
  2. Alt + F1 – Abre el menu de las aplicaciones de Ubuntu.
  3. Alt + F2 – Abre el cuadro de lazar aplicaciones.
  4. Win + Rueda del ratón – Precioso zoom sobre el escritorio, que aumenta la zona en la que esté tu ratón.

martes, 20 de julio de 2010

Leccion Geek #10

El correo electrónico me ha hecho más eficiente… en cierta manera: "ahora me ignoran a la velocidad de la luz".