Category Archives: actualidad

Flaticon: el mayor catálogo de iconos de Internet y hecho en España

Flaticon

De los creadores de Freepik llega: Flaticon, un directorio de miles y miles de iconos vectoriales que podemos descargar de forma gratuita (bajo licencia Creative Commons). Actualmente tiene más de 20.000 iconos disponibles, lo que lo convierte en la plataforma de este tipo con mayor cantidad de iconos. Además de disponer de un plug-in para Photoshop, todo un lujo para desarrollar y diseñar al mismo tiempo.

Esta plataforma nos permite descargar los archivos en varios formatos, pensados para poderse adaptar a todos los tipos de pantallas (desde escritorio hasta los móviles), pudiendo descargar los iconos como SVG (vectores), imágenes PNG y pictografías, que en la práctica son tipografías con iconos (en formato TTF, WOFF, EOT y SVG). Resumiendo, en todos los formatos que nos pudiesen hacer falta para el desarrollo de una web. Aunque es aplicable al diseño de cualquier otra cosa (ya sea una aplicación o una revista).

Todos los iconos están clasificados por distintas categorías y también por packs, lo que nos ayuda a poder crear un tema similar para un mismo diseño, pero tampoco nos limita si queremos un solo icono específico.

Flaticon

Los conjuntos de iconos los genera al instante, por lo que solo usaremos los que realmente necesitamos, sin necesidad de tener archivos que no vamos a usar (pasando a ocupar menos los propios archivos).

Selector de iconos Continue reading Flaticon: el mayor catálogo de iconos de Internet y hecho en España

Depurando de forma avanzada JavaScript con las herramientas de desarrollo

API console para depurar JavaScript

Las herramientas de desarrollo de los navegadores cada vez son más potentes y van mejorando día a día. El primer gran debugger de JavaScript fue Firebug para Firefox, que hace unos 4 o 5 años no tenía ni la más mínima competencia, pero actualmente tenemos las herramientas de desarrollo de Chrome y las de Internet Explorer (que han mejorado mucho en su versión número 11) como buena y completa competencia.

Las APIs de la consola han evolucionado y encontramos cosas tan interesantes como tablas de datos en la consola, algo que ayuda mucho a visualizar, sobre todo, respuestas por parte de un servidor.

Funciones básicas

Desde hace tiempo la API básica que incorporan casi todas las herramientas de desarrollo de los navegadores permitía lanzar nuevos avisos de distintos tipos. Estas utilidades son esenciales cuando queremos depurar ciertas partes del código de una forma no intrusiva o monitorizar ciertos parámetros, aunque hay quien prefiere las alertas (alert()), que tienen la ventaja de parar la ejecución.

Los avisos básicos que se le puede mandar a una consola de depuración (y soportan casi todas las herramientas de debugging) son básicamente tres: el de registro o log, el de aviso y el de error. La función para crear un registro o una alerta son más o menos similares, pero la función de enviar un error hace un seguimiento de como se ha llegado hasta el propio error, como veremos a continuación.

A la API de la consola se accede a través de console, que alberga distintos métodos para crear estas alertas (log(), warn() y error()). Estos métodos nos permiten enviarle texto o cualquier tipo de variable (ya sea un número, un objeto JSON, una función, un elemento del DOM…) y así poder visualizar cómodamente los datos extraídos del documento.

Para probar los ejemplos debes de abrir la consola de depuración (normalmente pulsando F12).

Mandar un log con un texto básico:

// Texto console.log("Texto de prueba")

Mandando un log con un objeto del DOM:

// Objeto DOM console.log(this)

Mandamos un log con texto y un objeto:

// Texto y objetos console.log("Objeto de prueba:", {a:1, b:2, n:[1, 2, 3]})

Por último, para completar las acciones básicas limpiaremos la consola con console.clear():

// Limpiar consola console.clear()

Funciona igual de igual forma los tres tipos de avisos, por lo que solo voy a poner un solo ejemplo más de cada uno para ver la diferencia:

Tablas en consola

Recientemente se ha implementado en las principales herramientas de depuración (para ser exacto en Firebug y las de Chrome) la función de generar tablas a partir de un objeto o arrays bidimensionales, que nos facilita la visión de datos que se han podido generar o recibir.

console.table()

La imagen de arriba la genera la consola al usar console.table() enviando un objeto que perfectamente podríamos recibir desde un servidor:

var WeblogsSL = [ {nombre: "Xataka", visitas: 300000, color: "Verde"}, {nombre: "Applesfera", visitas: 200000, color: "Gris"}, {nombre: "Genbeta", visitas: 220000, color: "Azul"} ];   console.table(WeblogsSL);

console.table()

Al igual que antes, podemos hacer lo mismo con un array bidimensional, que podría contener los datos de una gráfica, por poner un ejemplo:

var grafica = [ [1048, 1083, 1127, 1154, 1215], [952, 977, 1109, 1063, 1054], [944, 944, 1008, 1073, 1073], [34, 40, 51, 56, 61], [1191, 1258, 1290, 1368, 1402], [542, 543, 571, 606, 630] ];   console.table(grafica);

Sabiendo usar estas funcionalidades de la API de la consola nos será mucho más fácil depurar. Continue reading Depurando de forma avanzada JavaScript con las herramientas de desarrollo

Nokia Lumia 929 de Verizon llegaría en la tercera semana de Diciembre

Nokia Lumia 929
Tras varias idas y vueltas, parece que al final la fecha de lanzamiento del Nokia Lumia 929 (el Windows Phone de 5 pulgadas) podría ser para el 20 de Diciembre. Esto se obtuvo debido a la publicación de un film protector para la pantalla del smartphone en Amazon, que tiene fecha de venta para ese mismo día.

Sin embargo, si la fecha es esa, estaría muy pegado a las fiestas navideñas, y para ese entonces los regalos ya estarán guardados en la caja de algún armario. Entonces es posible que el lanzamiento del Nokia Lumia 929 sea para un poco antes.

Sobrados son los rumores y fotografías que se han filtrados sobre este terminal. El mismo es una realidad, solo falta que la gente de Verizon abran el depósito para ponerlos en venta.

Para los que no estén al tanto, el Nokia Lumia 929 tendría una pantalla de 5 pulgadas FullHD, un procesador Qualcomm Snapdragon 800 de cuatro núcleos a 2.2 GHz, memoria RAM de 2GB y una cámara de 20 megapíxeles Pureview. Un pequeño avión en cuanto a potencia.

Veremos si el mismo es presentado de una vez por todas, y si Nokia, además, dice algo de la disponibilidad del mismo en otros países. Continue reading Nokia Lumia 929 de Verizon llegaría en la tercera semana de Diciembre

El servicio de almacenamiento en la nube MEGA llegaría a Windows Phone en el 2014

Mega
La gente del servicio de almacenamiento en la nube MEGA, ha comentado en un mensaje desde el soporte que la aplicación oficial de la misma estaría por llegar a Windows Phone para comienzos del 2014. Una buena noticia para los que son usuarios de esta herramienta.

Algunos pueden decir que con Skydrive alcanza y sobra, pero desde luego, MEGA tiene otro enfoque en cuanto a la seguridad de los archivos: todos son encriptados de tal forma que solo el dueño pueda verlos. Esto asegura que –en teoría– nadie salvo nosotros y los que permitamos puedan ver de qué se trata el contenido que subimos a la red.

La llegada de la aplicación a Windows Phone colaborará a que la tienda siga creciendo. A lo mejor, lo que dijo Joe Belfiore hace algunos días sea verdad, y durante el 2014 veamos una llegada en gran cantidad de aplicaciones con buena calidad.

MEGA

Continue reading El servicio de almacenamiento en la nube MEGA llegaría a Windows Phone en el 2014

PuroWindows, el podcast sobre Windows

PuroWindows

El material que encontramos por Internet relacionado con el universo Microsoft, es inabarcable e inacabable. Así, la importancia de los medios especializados en recopilar, analizar, resumir y divulgar este inmenso volumen de información, van ganado importancia en el tiempo.

Hoy quiero traer el podcast Puro Windows, que – en mi opinión – es uno de los mejores programas en audio que podemos encontrar en la Web.

La calidad, experiencia y conocimiento como marca

En estos tiempos de cortar y pegar, este podcast realizado de forma gratuita por reconocidos miembros de la comunidad de Microsoft en España, conforma una fuente de información de actualidad del ecosistema Windows que hay que añadir sin duda a nuestros favoritos.

Acaban de publicar su 18ª grabación, en donde han realizado una revisión completa de la Xbox One – incluyendo a un prestigioso invitado -, manteniendo ese punto crítico que tanto le añade a los análisis de los productos.

El formato de la grabación es de mesa redonda, en donde parten de uno de los temas señalados en el guion, y lo analizan desde múltiples puntos de vista. Manteniendo una frescura y un punto de humor que los hacen muy fácil de seguir durante las casi dos horas que pueden llegar a durar los podcast.

La tripulación de PuroWindows

PuroWindows

Toni Recio
Divulgador Tecnológico en la Fundación [T]echdencias y Responsable de Tecnología e Innovación en su empresa. Es un apasionado de la tecnología y es el Editor y Productor de puroWindows dónde se encarga de la sección “A descargar”.

Roger Baldomà
Es de esos que a través de los videojuegos llego a la informática. Trabajando como desarrollador y analista en tecnologías Microsoft pudo permitirse comprarse sus consolas y así fundo con otros tres amigos su propio portal sobre videojuegos, Actualmente trabaja como desarrollador y ha entrado con fuerza en todo lo relacionado con Windows Phone y Windows 8. En PuroWindows es quien se encarga de elaborar el guion y de presentar el podcast.

Jordi Cortijo
Geek, entusiata de la Cienci Ficción, infatigable lector, amante del baloncesto y del humor. Consultor y desarrollador Indie para Windows Phone.

Fran Moreno
Desarrollador Windows Phone, divulgador tecnológico en @techdencias y colaborador del podcast @purowindows. Amante de la poesía, la fotografía y la música. Continue reading PuroWindows, el podcast sobre Windows

97 cosas que todo programador debería saber

97 book

97 cosas que todo programador debería saber es una interesante recopilación y traducción del libro 97 Things Every Programmer Should Know. Contiene todo tipo de consejos y recomendaciones para los profesionales de la programación informática: refactorización, código limpio, pruebas, aprendizaje contínuo y mucho más.

Sin duda se trata de una recopilación imperdible que nos hará mejores programadores y de la que seguro todos aprenderemos algún tips o procedimiento que desconocíamos. La lista en cuestión es la siguiente:

  1. Actúa con prudencia, por Seb Rose
  2. Adueñate (y Refactoriza) la compilación, por Steve Berczuk
  3. Antes de Refactorizar, por Rajith Attapattu
  4. Aplica los principios de la programación funcional, por Edward Garson
  5. Aprende a decir “Hola, Mundo”, por Thomas Guest
  6. Aprende a hacer estimaciones, por Giovanni Asproni
  7. Aprende un lenguaje extranjero, por Klaus Marquardt
  8. Aprendiendo continuamente, por Clint Shank
  9. Automatiza el estándar de codificación, por Filip van Laenen
  10. Averigua qué haría el usuario (tú no eres un usuario), por Giles Colborne
  11. La belleza está en la simplicidad, por Jørn Ølmheim
  12. El camino al mejor rendimiento está lleno de sucias bombas de código, por Kirk Pepperdine
  13. Codificando con la razón, por Yechiel Kimchi
  14. Codifica en el lenguaje del dominio, por Dan North
  15. Codificación Ubuntu para tus amigos, por Aslam Khan
  16. El código es diseño, por Ryan Brush
  17. Comenta sólo lo que el código no dice, por Kevlin Henney
  18. Un comentario acerca de los comentarios, por Cal Evans
  19. ¿Cómo usar un Gestor de Errores?, por Matt Doar
  20. Conoce bien más de dos lenguajes de programación, por Russel Winder
  21. Conoce cómo usar las herramientas de línea de comandos, por Carroll Robinson
  22. Conoce tu próximo Commit, por Dan Bergh Johnsson
  23. Conoce tu IDE, por Heinz Kabutz
  24. Conoce tus límites, por Greg Colvin
  25. La conveniencia no es una -bilidad, por Gregor Hohpe
  26. Cuando Programadores y Testers colaboran, por Janet Gregory
  27. Ten cuidado al compartir, por Udi Dahan
  28. Cumple tus ambiciones con Código Abierto, por Richard Monson-Haefel
  29. Los grandes datos interconectados pertenecen a una base de datos, por Diomidis Spinellis
  30. Deja que tu proyecto hable por sí mismo, por Daniel Lindner
  31. El diseño del código sí importa, por Steve Freeman
  32. Distingue excepciones de Negocio de las excepciones Técnicas, por Dan Bergh Johnsson
  33. Dos cabezas son a menudo mejores que una, por Adrian Wible
  34. Dos fallos pueden hacer un acierto (y es difícil de arreglar), por Allan Kelly
  35. Lenguajes Específicos del Dominio (DSL), por Michael Hunger
  36. El mito del Gurú, por Ryan Brush
  37. El Programador Profesional, por Uncle Bob
  38. El trabajo duro no paga, por Olve Maudal
  39. Encapsula Comportamiento, no sólo Estado, por Einar Landre
  40. Escoge tus herramientas con cuidado, por Giovanni Asproni
  41. Escribe código como si tuvieras que mantenerlo por el resto de tu vida, por Yuriy Zubarev
  42. Escribe pequeñas funciones usando ejemplos, por Keith Braithwaite
  43. Escribe las pruebas para las personas, por Gerard Meszaros
  44. Evita errores, por Giles Colborne
  45. Haz lo invisible más visible, por Jon Jagger
  46. Haz mucha práctica deliberada, por Jon Jagger
  47. Las herramientas Unix son tus amigas, por Diomidis Spinellis
  48. Implementa rápido y con frecuencia, por Steve Berczuk
  49. Inicia con un Sí, por Alex Miller
  50. Instalame, por Marcus Baker
  51. Haz las Interfaces fáciles de usar correctamente y difíciles de usar incorrectamente, por Scott Meyers
  52. La comunicación entre procesos afecta el tiempo de respuesta de la aplicación, por Randy Stafford
  53. Lee el código, por Karianne Berg
  54. Lee las humanidades, por Keith Braithwaite
  55. El linker no es un programa mágico, por Walter Bright
  56. La longevidad de las soluciones provisionales, por Klaus Marquardt
  57. Mantén limpia la compilación, por Johannes Brodwall
  58. Mejora el código quitándolo, por Pete Goodliffe
  59. Mensaje al futuro, por Linda Rising
  60. No sólo aprendas el lenguaje, entiende su cultura, por Anders Norås
  61. No claves tu programa en la posición vertical, por Verity Stob
  62. No confíes en el “Aquí sucede la magia”, por AlanGriffiths
  63. ¡No ignores ese error!, por Pete Goodliffe
  64. No seas lindo con tus datos de prueba, por Rod Begbie
  65. No te repitas, por Steve Smith
  66. No tengas miedo de romper cosas, por Mike Lewis
  67. ¡No toques ese código!, por Cal Evans
  68. Los números de punto flotante no son reales, por Chuck Allison
  69. Oportunidades perdidas del Poliformismo, por Kirk Pepperdine
  70. El paso de mensajes lleva a una mejor escalabilidad en sistemas paralelos, por Russel Winder
  71. Pensando en estados, por Niclas Nilsson
  72. Pon todo bajo Control de Versiones, por Diomidis Spinellis
  73. Da preferencia a tipos de Dominio Específico que los tipos primitivos, por Einar Landre
  74. Preocúpate por el código, por Pete Goodliffe
  75. El Principio de Responsabilidad Única, por Uncle Bob
  76. Programa en pareja y siente el flujo, por Gudny Hauknes, Ann Katrin Gagnat, y Kari Røssland
  77. Prueba el comportamiento requerido, no el comportamiento incidental, por Kevlin Henney
  78. Prueba precisa y concretamente, por Kevlin Henney
  79. Haz pruebas mientras duermes (y los fines de semana), por Rajith Attapattu
  80. Las pruebas son el rigor ingenieril del desarrollo de software, por Neal Ford
  81. Los registros detallados perturbarán tu sueño, por Johannes Brodwall
  82. La Regla Boy Scout, por Uncle Bob
  83. La regla de oro del diseño de API, por Michael Feathers
  84. Reinventa la rueda frecuentemente, por Jason P Sage
  85. Resiste la tentación del patrón Singleton, por Sam Saariste
  86. Retrocede y Automatiza, Automatiza, Automatiza, por Cay Horstmann
  87. Primero revisa tu código antes de buscar culpar a otros, por Allan Kelly
  88. Revisiones de código, por Mattias Karlsson
  89. La Simplicidad viene de la Reducción, por Paul W. Homer
  90. Sólo el código dice la verdad, por Peter Sommerlad
  91. Suelta el ratón y aléjate del teclado, por Cay Horstmann
  92. Noticias raras – Los testers son tus amigos, por Burk Hufnagel
  93. Toma ventaja de las herramientas de análisis de código, por Sarah Mount
  94. Tus clientes no quieren decir lo que dicen, por Nate Jackson
  95. Un binario, por Steve Freeman
  96. Usa el algoritmo y estructura de datos correcto, por JC van Winkel
  97. El WET dispersa los cuellos de botella en el rendimiento, por Kirk Pepperdine Continue reading 97 cosas que todo programador debería saber

Introducción a Three.js, la librería 3D número uno para HTML5

Introducción a Three.js

Three.js es una librería bastante liviana y muy eficiente para generar y animar gráficos en 3D dentro del navegador, aprovechando las grandes novedades que nos ofrece HTML5 para la generación de contenidos multimedia. Aprovecha tanto las capacidades de HTML5 que es capaz de generar escenas 3D con WebGL, Canvas (2D) y SVG.

Su código está disponible en GitHub y en su web podemos encontrar ejemplos alucinantes de lo que se puede a llegar a hacer con Three.js.

Posibilidades de diseño

Three.js no es popular solo porque es simple a la hora de usarlo a través de JavaScript, sino porque tiene un equilibrio perfecto entre el diseño y la programación.

Permite, entre otras cosas, importar archivos 3D a partir de Blender o Maya, pudiendo generar terrenos u objetos totalmente complejos y de gran calidad.

La librería también incorpora potentísimos shaders que se pueden personalizar con OpenGL Shading Language (GLSL). Y sin duda incorpora todo lo necesario para crear escenas 3D, como son la posibilidad de manipular luces, cámaras, animar objetos, perspectivas, control de visualizaciones y mucho más.

Conceptos básicos

Antes de empezar, vemos el siguiente ejemplo simple que podremos realizar fácilmente tras haber visto los conceptos básicos.

Lo primero que tenemos que tener es nuestro archivo HTML listo para insertar la ventana donde se visualizará todo el 3D, de una forma muy simple, ya que el objeto del Canvas nos los genera Three.js.

Lo primero es descargar la librería para poderla usar, que pesa unos 300kb. Para realizar la prueba haremos que la visualización ocupe toda el espacio del navegador y lo haremos mediante CSS. Continue reading Introducción a Three.js, la librería 3D número uno para HTML5