Freelance, programación, Proyectos
programación
Google presenta oficialmente Ice Cream Sandwich para alimentar al nuevo Galaxy Nexus
19 oct
En la madrugada de hoy, desde HongKong, finalmente se ha hecho la presentación del nuevo Galaxy Nexus y nada mejor que nutrir las entrañas de este terminal con la esperada nueva versión de Android 4.0 o Ice Cream Sandwich, que será el relevo esperado para Gingerbread y Honeycomb. Durante la presentación ha hecho un recorrido completo por los cambios de las aplicaciones oficiales de sus servicios para móvil, además de las novedades, de las que pasamos a repasaros a continuación.
Android 4.0 o Ice Cream Sandwich es ya la nueva versión oficial del sistema operativo para móviles ytablets con Android. Durante el evento sólo se ha hablado del nuevo terminal de Samsung, pero nada se ha comentado de la versión para tablet, que supuestamente debería ser la misma. No obstante vamos a hacer el repaso tal cual nos los han contado en directo.
Ice Cream Sandwich, un recorrido por su interfaz y aplicaciones
Muchos han sido los cambios y novedades presentadas esta madrugada. Ya sabíamos que el interfaz final iba a tener cierta similitud con Honeycomb, del que conservará detalles como la gestión de loswidget o la multitarea. Han dejado muy claro que todo el core de las aplicaciones ha sido rediseñado, así que nos encontraremos con algo totalmente nuevo, a estrenar.
La tipografía es uno de los pilares de información más básico y en Android hay que reconocer que no lo habían contemplado desde sus inicios, por lo que estábamos arrastrando un mal visual que con el nuevoICS han decidido solucionar. Para ello han diseñado (o encargado) una nueva tipografía, específica para la plataforma Android y pensaba para cubrir diferentes cuerpos y estilos. Su nombre es Roboto y es de tipo sans serif (sin terminaciones). Tendremos que verla en acción pero desde las imágenes mostradas nos parece que, por lo menos, resultará más agradable que la actual.

Ya desde el propio desbloqueo de pantalla nos encontramos con las primeras sorpresas:
- Vemos que ahora podemos optar por desbloquear la pantalla o bien lanzar la aplicación de la cámara de fotos.
- Podremos acceder a la barra de notificaciones directamente y dentro de esta al control de reproducción de música.
- Para proteger el terminal podrás seguir optando por el sistema de clave numérica, el de la figura y ahora también el del reconocimiento facial, aunque durante el evento parece que este último no ha funcionado como debería.

El escritorio de ICS presenta también algunas novedades interesantes:
- Lo primero que destaca del escritorio es que está pensado para un terminal sin botones físicos o táctiles en el cuerpo, así que ahora los botones de control estarán en pantalla, como en las tabletscon Honeycomb. Estos botones desaparecerán cuando estemos en el modo de reproducción de vídeo, por ejemplo.
- El área para el dock de aplicaciones también sufre cambio, porque ahora se podrá personalizar, tan simple como arrastrar los iconos hacia el dock, o quitarlos.
- Al igual que con Honeycomb 3.2 los widgets se podrán redimensionar. Hay suficiente resolución de pantalla para disfrutar de ellos.
- Las carpetas en general han cambiado en su forma de gestión. Podrás incluirlas también en el área del dock de aplicaciones. La forma de crearlas es tan simple como unir dos aplicaciones. También podrán servir para incluir contactos de nuestra agenda. La gestión es muy simple e intuitiva.

La gestión multitarea sigue los pasos de Honeycomb, pero añadiendo la posibilidad de finalizar una tarea simplemente desplazándola fuera de la lista. Todo muy visual y fácil de hacer. Otro detalle curioso es que podremos controlar el gasto de tráfico de datos. Con ICS veremos qué aplicaciones están consumiendo datos, con un histórico de consumo en primer plano y en segundo plano (background). Podremos configurar el terminal para que no sobrepase un consumo máximo, pero también capar a las aplicaciones que elijamos e incluso prohibir el consumo en segundo plano selectivo. Todo muy transparente, como han querido resaltar; para que no haya sorpresas desagradables y que el usuario pueda controlar y decidir todo. Realmente han hecho un gran trabajo en este terreno.

El menú de aplicaciones y de widgets sigue también la línea de Honeycomb, salvo por las animaciones en la transición de cada nueva pantalla. Los menús de opciones también son nuevos y siguen esa línea austera sin demasiados detalles y utilizando el negro como color predominante de fondo y el azul para destacar las opciones.
Las aplicaciones de Google en Ice Cream Sandwich
Todas las aplicaciones de servicios de Google han recibido el correspondiente rediseño. Llama la atención Calendar, donde a través del gesto multitáctil podremos hacer un zoom en los eventos. En todas las aplicaciones, como en el resto del sistema, han incluido detalles de animaciones, que le dará cierta alegría a su manejo. Hay que destacar que también se ha rediseñado la funciona de copiar y pegar texto y el teclado en pantalla, con mayor precisión para acertar con la predicción de palabras, y si no, su fácil gestión para incluir en el diccionario del usuario.

Para ICS han creado una nueva agenda de contactos, más dinámica, donde se ha dado especial importancia a la fotografía del contacto y a todos los datos que puedas incluir sobre su perfil en redes sociales. Así desde la propia tarjeta del contacto podrás ver un resumen de sus últimos estados sociales.
Llegamos al navegador Web, que por fin tendrá una gran similitud con Chrome.
- La gestión de páginas se hará por pestañas, hasta un total de 16 abiertas.
- Se podrá sincronizar con la versión de escritorio.
- Acceso rápido para visualizar una Web en formato móvil o de escritorio.
- Si ves alguna página interesante podrás guardar para leerla luego sin conexión.

Manual Java: Capitulo 0. Introdución
21 jun
Vamos a crear un manual de JAVA desde 0, esta es nuestra pequeña contribución a la comunidad. Vamos a colocar pequeños articulos y la suma de todos ellos, será un libro JAVA. Espero vuestros comentarios, críticas y/o aportaciones.
Comenzamos con un poco de historia.
Java es un descendiente de C y C++, y ha heredado bastantes cosas de estos 2 lenguajes.
Java fue creado por James Gosling, Patrick Naughton, Chris Warth, Ed Frank y Mike Sheridan en Sun Microsystems, en 1991. Se tardó 18 meses en desarrollar la primera versión. En un principio se llamo “Oak”, pero en 1995 fue renombrado a JAVA.
Al principio JAVA no estaba diseñado para internet, si principal diseño era un lenguaje, que fuera independiente de la plataforma, y que pudiera ser utilizado para crear software para diversos dispositivos electrónicos. Existen muchos tipos de procesadores, y el problema de C y C++, es que los programas estaban diseñados para ser ejecutados en esos procesadores.
La Word Wide Web tuvo una gran importancia para el desarollo de JAVA, ya que los 2 nacieron al mismo tiempo.
Java amplía la variedad de programas para internet. Ya que un mismo programa se podía crear en España con un modelo de ordenador y ser ejecutado en cualquier otro punto del planeta y con otro ordenador de caracteristicas distintas.
¿Como se consigue esto?
Este punto se consigue con la mágia del bytecode. El bytecode es un conjunto de instrucciones altamente optimizado diseñado para ser ejecutado por una máquina virtual que emula al intérprete java (JVM).
La mayoría de los lenguajes modernos se han diseñado para ser compilados, no interpretados. El hecho de que java sea un programa interpretado permite resolver los problemas más importantes asociados a la transferencia de programas por internet.
Java tiene las siguientes características:
- Simple
- Seguro
- Portable
- Orientado a Objetos
- Robusto
- Multihilo
- Arquitectura neutral
- Interpretado
- Alto Rendimiento
- Dsitribuido
- Dinámico
Primeros pasos con html 5
2 feb
No me voy a poner a explicar que es html5, por que ya teneis la wiki.
Vallamos directamente al código. En concreto hablaremos de las nuevas etiquetas en html5.
Este es un ejemplo del nuevo código de html5:
<video poster="imagenposter.jpg"> <source src="video1.3gp" type="video/3gpp" media="handheld"> <source src="video1.ogv" type="video/ogg; codecs=theora, vorbis"> <source src="video1.mp4" type="video/mp4"> </video> <audio> <source src="cancion1.oga" type="audio/ogg"> <source src="cancion1.mp3" type="audio/mpeg"> </audio>
Plantillas en PSD Gratuitas
28 ene
Aquí le dejamos 40 increibles plantillas en formato PSD. Una gran recopilación.
Acéntos y Javascript
25 ene
Hoy me he encontrado con un problema de acentos en javascript. Hoy he tenido que habilitar en mi web la etiqueta html:
<meta http-equiv="Content-type" content="text/html; charset=utf-8" />
Al colocar esta etiqueta, todas las impresiones de javascript en la web, se mostraba con caracteres raros. He intentado convertirlo los acéntos al igual que ocurre con html, es decir:
En HTML:
á –> á
é –> é
í –> í
Pero me seguía apareciendo el mismo error. Hasta que he descubierto que javascript tiene sus propio sistema de codificación para los acentos y eñe, que es:
\u00e1 -> á
\u00e9 -> é
\u00ed -> í
\u00f3 -> ó
\u00fa -> ú\u00c1 -> Á
\u00c9 -> É
\u00cd -> Í
\u00d3 -> Ó
\u00da -> Ú\u00e0 -> à
\u00e8 -> è
\u00ec -> ì
\u00f2 -> ò
\u00f9 -> ù\u00c0 -> À
\u00c8 -> È
\u00cc -> Ì
\u00d2 -> Ò
\u00d9 -> Ù\u00f1 -> ñ
\u00d1 -> Ñ\u00FC -> ü
\u00DC -> Ü\u00E7 -> ç
\u00C7 -> Ç\u00BF -> ¿
Espero que les sirva de ayuda.
Provincias de españa en html option
11 ene
Uff, después de buscar bastante he podido encontrar esta pequeña información que a un programador nos ayuda bastante. Poco a poco ire poniendo más recursos para programadores.
<select name="provincia"> <option value='0'>(Seleccionar)</option> <option value='1'>Álava</option> <option value='2'>Albacete</option> <option value='3'>Alicante/Alacant</option> <option value='4'>Almería</option> <option value='5'>Asturias</option> <option value='6'>Ávila</option> <option value='7'>Badajoz</option> <option value='8'>Barcelona</option> <option value='9'>Burgos</option> <option value='10'>Cáceres</option> <option value='11'>Cádiz</option> <option value='12'>Cantabria</option> <option value='13'>Castellón/Castelló</option> <option value='14'>Ceuta</option> <option value='15'>Ciudad Real</option> <option value='16'>Córdoba</option> <option value='17'>Cuenca</option> <option value='18'>Girona</option> <option value='19'>Las Palmas</option> <option value='20'>Granada</option> <option value='21'>Guadalajara</option> <option value='22'>Guipúzcoa</option> <option value='23'>Huelva</option> <option value='24'>Huesca</option> <option value='25'>Illes Balears</option> <option value='26'>Jaén</option> <option value='27'>A Coruña</option> <option value='28'>La Rioja</option> <option value='29'>León</option> <option value='30'>Lleida</option> <option value='31'>Lugo</option> <option value='32'>Madrid</option> <option value='33'>Málaga</option> <option value='34'>Melilla</option> <option value='35'>Murcia</option> <option value='36'>Navarra</option> <option value='37'>Ourense</option> <option value='38'>Palencia</option> <option value='39'>Pontevedra</option> <option value='40'>Salamanca</option> <option value='41'>Segovia</option> <option value='42'>Sevilla</option> <option value='43'>Soria</option> <option value='44'>Tarragona</option> <option value='45'>Santa Cruz de Tenerife</option> <option value='46'>Teruel</option> <option value='47'>Toledo</option> <option value='48'>Valencia/Valéncia</option> <option value='49'>Valladolid</option> <option value='50'>Vizcaya</option> <option value='51'>Zamora</option> <option value='52'>Zaragoza</option> </select>
Cómo aprender a programar en 21 días
17 mar
Que no te engañe Sams con sus “Aprendiendo X en 21 días”. Esta es la única forma posible de conseguir aprender a programar en un lenguaje cualquiera en 21 días:
- Días 1 – 10: Aprende sobre las variables, constantes, matrices, cadenas, expresiones, instrucciones, funciones, …
- Días 11 – 21: Aprende sobre el control de flujo, punteros, referencias, clases, objetos, herencia, polimorfismo, …
- Días 22 – 697: Desarrolla montones de aplicaciones. Pásalo bien programando, pero no olvides aprender de tus errores.
- Días 698 – 3.648: Interacciona con otros programadores. Trabaja con otros desarrolladores en distintos proyectos. Aprende de ellos.
- Días 3.649 – 7.781: Aprende física teórica avanzada y formula una teoría consistente sobre la gravitación cuántica.
- Días 7.782 – 14.611: Aprende bioquímica, biología molecular, genética, …
- Día 14.611: Utiliza tus conocimientos en biología para crear una poción rejuvenecedora.
- Día 14.611: Utiliza tus conocimientos sobre física para crear un condensador de flujo y viaja en el tiempo al día 21.
- Día 21: Sustituye a tu antiguo yo.
Nuevo Elcipse 3.5 Galileo
30 jun
Ya tenemos entre nosotros el nuevo Eclipse 3.5, llamado Galileo, además de 32 nuevos proyectos.
Las novedades del nuevo Eclipse Galileo las podemos encontrar en:
Eclipse 3.5 – New and Noteworthy.

Errores Moodle
19 jun
Para algunos usuarios que utilicen moodle, puede que conoscan este error:

The session partition is full. It is not possible to login at this time. Please notify server administrator.
Este error es debiado a que en la máquina en la que se ha alojado el moodle, se ha quedado sin espacio en disco. Liberando parte del espacio en disco, reparamos el error y ya podemos acceder normalmente a nuestro moodle.
Enviar correos HTML con PHP
18 jun
Hoy vamos a hablar de la posibilidad de enviar correos con PHP, pero esta vez con la particularidad, de que los correos son páginas html.
Esto se consigue con la función en PHP mail(), que esmuy simple, como podemos ver a continuación:
mail($to, $asunto, $body, $headers)
Como podemos ver solo ha ocupado una pequeña línea, la función de enviar el correo. Ahora vamos a explicar el truco de mágia. El secreto esta en $headers. En el headers, debemos indicar la información necesaria, para que los lectores de correo sepan si es un correo de texto plano o bien es un correo de html.
$headers = "From: " . strip_tags($from) . "\r\n";
$headers .= "Reply-To: ". strip_tags($to) . "\r\n";
$headers .= "CC: CON COPIA\r\n";
$headers .= "MIME-Version: 1.0\r\n";
$headers .= "Content-Type: text/html; charset=ISO-8859-1\r\n";
Como podemos ver en la última línea, indicamos que el Content-Type es text/html y que la codificación es ISO-8859-1.
Y ahora solo falta indicar el correo html, que va en la variable $body:
<h1>Este es un correo HTML</h1>
<br />
<p>Este correo esta formateado con <strong>HTML</strong></p>
Y ya solo que que lo probeis.
Fuente: Anieto

