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".

jueves, 8 de julio de 2010

Ubuntu Tweak

Queriendo hacerle unas molificaciones a mi nuevo Ubuntu 10.04(y es que lo he actualizado hasta hace poco por que se ha estado hablando mucho sobre las decepciones de esta nueva versión, como por ejemplo la falta de Gimp como software de previa instalación y otras mas) me pude encontrar con este interesante software que es el Ubuntu Tweak, les hablare un poco:



Es la herramienta que permite a los usuarios de Ubuntu acceder a muchos parámetros de configuración del sistema de forma sencilla y rápida… y con la que muchos de los trucos que hemos hecho por aquí, ahora son tan fáciles como hacer clic.

Dentro de las novedades de la versión más reciente son:

* Soporte total para Linux Mint(Una gran distribución se las recomiendo).
* Opción para configurar la apariencia de las aplicaciones root como normal.
* Nuevas fuentes PPA: Pidgin y Moovida.
* Solución de algunos bugs.

Como instalarlo?
Simplemente entramos a una terminal y digitamos:sudo apt-get install ubuntu-tweak
o lo podemos hacer desde su pagina oficial bajando su .deb.

No hablare mucho pues creo que seria una aplicacion que tiene que ser usada para crear su propio criterio.

Mover los botones de la ventana hacia la derecha para ubuntu 10.04

Uno de los cambios más polémicos en Ubuntu 10.04 es el cambio inspirado en Mac OS para tener botones de la ventana en el lado izquierdo. Les mostraremos cómo mover los botones de nuevo a la derecha.



La ubicación de los botones en la ventana están determinados por un archivo de configuración. Usaremos el programa gconf-editor gráfico para cambiar este archivo de configuración.

Pulse Alt + F2 para mostrar el cuadro de diálogo Ejecutar aplicación, escriba “gconf-editor” en el campo de texto, y haga clic en Ejecutar.

El Editor de configuración debe aparecer.



La clave que desea editar se encuentra en apps / metacity / general.

Haga clic en el botón + al lado de la “apps” de carpetas, entonces al lado de “metacity” en la lista de carpetas a las aplicaciones de, a continuación, haga clic en el “general” carpeta.

a disposición de botones se puede cambiar modificando la clave “button_layout“. Haga doble clic en button_layout para editarlo.

Cambie el texto en el campo de texto Valor para:
menu:maximize,minimize,close

Haga clic en Aceptar y el cambio se producirá el inmediato, cambiando la ubicación de los botones de la ventana en el Editor de configuración.

miércoles, 7 de julio de 2010

¿Existe la Inteligencia Artificial?

Partamos desde ideas básicas en lo que seria:

Los lenguajes de programación se dividen en 2 categorías fundamentales:

bajo nivel: Son dependientes de la máquina, están diseñados para ejecutarse en una determinada computadora. A esta categoría pertenecen las 2 primeras generaciones.

Alto Nivel: Son independientes de la máquina y se pueden utilizar en una variedad de computadoras.

Cada generación de lenguajes es más fácil de usar y más parecida a un lenguaje natural que su predecesores.

Primera Generación - Lenguaje de máquina: Empieza en los años 1940-1950. Consistía en sucesiones de dígitos binarios. Todas las instrucciones y mandatos se escribían valiéndose de cadenas de estos dígitos. Aún en la actualidad, es el único lenguaje interno que entiende la computadora.

Segunda Generación - Lenguajes ensambladores: Fines de los ´50. Se diferencian de los lenguajes de máquina en que en lugar de usar códigos binarios, las instrucciones se representan con símbolos fáciles de reconocer, conocidos como mnemotécnicos,. Aún se utilizan estos lenguajes cuando interesa un nivel máximo de eficiencia en la ejecución o cuando se requieren manipulaciones intrincadas.

Tercera Generación : años ´60. Los lenguajes de esta generación se dividen en tres categorías, según se orienten a: procedimientos(científicos, empresariales, usos múltiples), problemas, Objetos.

Cuarta Generación: su característica distintiva es el énfasis en especificar qué es lo que se debe hacer, en vez de cómo ejecutar una tarea. Las especificaciones de los programas se desarrollan a un más alto nivel que en los lenguajes de la generación anterior. La característica distintiva es ajena a los procedimientos, el programador no tiene que especificar cada paso para terminar una tarea o procesamiento.

También podemos decir que:

Los lenguajes de programación pueden, en líneas generales, dividirse en dos categorías:lenguajes interpretados, lenguajes compilados.

Lenguaje interpretado

Un lenguaje de programación es, por definición, diferente al lenguaje máquina. Por lo tanto, debe traducirse para que el procesador pueda comprenderlo. Un programa escrito en un lenguaje interpretado requiere de un programa auxiliar (el intérprete), que traduce los comandos de los programas según sea necesario.

Lenguaje compilado

Un programa escrito en un lenguaje "compilado" se traduce a través de un programa anexo llamado compilador que, a su vez, crea un nuevo archivo independiente que no necesita ningún otro programa para ejecutarse a sí mismo. Este archivo se llama ejecutable.

En cuestión tendríamos:


Lenguaje Principal área de aplicación Compilado/interpretado
ADA Tiempo real Lenguaje compilado
BASIC Programación para fines educativos Lenguaje interpretado
C Programación de sistema Lenguaje compilado
C++ Programación de sistema orientado a objeto Lenguaje compilado
Cobol Administración Lenguaje compilado
Fortran Cálculo Lenguaje compilado
Java Programación orientada a Internet Lenguaje intermediario
MATLAB Cálculos matemáticos Lenguaje interpretado
Cálculos matemáticos Cálculos matemáticos Lenguaje interpretado
LISP Inteligencia artificial Lenguaje intermediario
Pascal Educación Lenguaje compilado
PHP Desarrollo de sitios web dinámicos Lenguaje interpretado
Inteligencia artificial Inteligencia artificial Lenguaje interpretado
Perl Procesamiento de cadenas de caracteres Lenguaje interpretado


Ahora mi punto quedaría si me permiten proponer que en cuestiones de pura programación fuera de lo que podría ser robotica, psicología y técnicas de aprendizaje.

Podríamos estar ya en la etapa de la IA ya no como una ciencia experimental si no como una ciencia en desarrollo, ya que cadia me asombro como respuestas u ordenes complejas se estan logrando acoplar cadia dia mas a ambitos informaticos; Como por ejemplo:
Últimos juegos existentes en los mercados, sistemas operativos mas avanzados y asta programas ya mas inteligentes que la propia existencia del problema...

lunes, 5 de julio de 2010

Nintendo 3DS

Mucho se a estado estado hablando sobre esta nueva consola que desplazaría a la DSi y que para mi seria una consola muy esperada les dejo con algo de información:



Estaba claro que iba a ser una de las grandes novedades de Nintendo para este año.

Nintendo 3DS es la nueva portátil de la compañía japonesa, esperada por muchos y que mantiene la misma línea que anteriores Nintendo DS, aunque ahora con una pantalla 3D.

Lo que más gustará a los usuarios es que esa pantalla no necesitará de unas lentes especiales, algo que es habitual en la inmensa mayoría de productos 3D del mercado.

Dejando de lado la lógica evolución hacia un dispositivo con mayor potencia, Nintendo también ha añadido unos cuantos cambios muy representativos respecto de otros modelos:
  • Modifica el tradicional pad de cuatro direcciones por un pequeño joystick.
  • Incluirá acelerómetros y detectores de movimiento.
  • Nuevos colores a la vista de la presentación, aunque aún no se han confirmado cuáles son.

Ahí van la lista de especificaciones técnicas de este nuevo modelo:
  • Pantalla superior 3D de 3.53 pulgadas LCD, 400×240 píxeles para cada ojo (en total 800×240 píxeles).
  • Pantalla inferior de 3.02 pulgadas LCD, 320×240 píxeles.
  • Tanto la cámara interior como las dos exteriores son de 0.3 megapíxeles.
  • WiFi integrado.

Leccion Geek #9

¿Backups?¿Y para qué necesitáis un sistema de copias de seguridad? Si se supone que tienes un equipo de profesionales y que no deberías borrar ningún fichero que vayas a necesitar en el futuro.