lunes, 9 de noviembre de 2015

Comparte presentaciones de PowerPoint en Facebook y Twitter



Microsoft ha lanzado, a través del equipo de Microsoft Garage, un plug-in para Office llamado Social Share, el cual permite compartir presentaciones de PowerPoint en Twitter o Facebook en forma de imagenes, galerías de fotos o videos.

A través de este plug-in, también es posible dar seguimiento o responder a usuarios que han interactuado con el contenido compartido, ya sea en Facebook o Twitter.

En este video corto pueden ver el sencillo funcionamiento de Social Share:









Aprende a programar con Star Wars



Code.org es una organización no lucrativa cuya misión es fomentar el aprendizaje de la programación por parte de niños de todo el mundo. A través de cursos sencillos e iniciativas como la "Hora del Código", los niños pueden aprender los conceptos básicos de programación de computadoras para que descubran que cualquiera puede aprender a programar de una manera fácil y divertida.

Grandes nombres de la tecnología han aportado recursos para que esta Code.org lleve a cabo su labor, entre los que se cuentan a Microsoft, Google o Facebook. Y ahora, Disney ha decidido colaborar también permitiendo el uso de los personajes de Star Wars, y en especial del droide BB8, para enseñar a los niños a programar. Vean la introducción del curso:



Sin duda esta interesante iniciativa servirá para interesar a cada vez más niños en el mundo de la programación de computadoras, un campo en constante crecimiento y que cada vez demanda más y más profesionales dedicados a tal labor.



Enlace: Code.org





Orígenes VII: Hedy Lamarr, la actriz e inventora que cambió la historia



Aunque es más conocida por sus incursiones en el cine, la actriz austriaca Hedy Lamarr también fue una pionera en el campo de las comunicaciones inalámbircas tras emigrar a los Estados Unidos durante la Segunda Guerra Mundial. Lamarr, junto al inventor George Anthiel, desarrolló un "Sistema de Comunicaciones Secretas" para ayudar a combatir a los Nazis. El invento evitaba que los mensajes clasificados fueran interceptados por ejércitos enemigos manipulando frecuencias de radio a intervalos irregulares entre la transmisión y la recepción, formando asó un código inquebrantable que evitaba la desencriptación de los mensajes.

Lamarr y Anthiel recibieron una patente de su invento en 1941, pero su enorme significado no fue comprendido sino hasta varias décadas después. Primero fue implementado en buques de guerra durante la Crisis de los Misiles en Cuba y posteriormente en muchas otras aplicaciones militares. Pero aún más importante es el hecho de que la tecnología de "amplio espectro" que Lamarr ayudó a inventar propiciaría el 'boom' de las comunicaciones digitales, creando los fundamentos que permiten el funcionamiento de los teléfonos celulares, las máquinas de fax y otras operaciones inalámbricas (como el Wi-Fi y el Bluetooth).

Como sucede con muchas famosas mujeres inventoras, Lamarr recibió muy poco reconocimiento por su talento innovador en su tiempo, pero recientemente ha sido reivindicada y alabada por su invención. En 1997, ella y George Anthiel fueron honrados con el premio "Pioneer Award" de la "Electronic Frontier Foundation (EFF)". Asimismo, Lamarr se convirtió en la primera mujer en recibir el "BULBIE™ Gnass Spirit of Achievement Award", un prestigioso premio que es comparado con el "Oscar" para inventores.

Demostrando que era mucho más que sólo otra cara bonita del cine, Lamarr rompió todos los estereotipos de su tiempo y se ganó su lugar entre las mujeres inventoras más importantes del siglo XX y cuya visión tecnológica estuvo muy adelantada a su tiempo.

Hoy, Google ha dedicado un bonito doodle a Hedy Lamarr en el 101 aniversario de su nacimiento. Sin duda una mujer ejemplar y excepcional a quien debemos mucha de la tecnología que hoy usamos día a día.


jueves, 1 de octubre de 2015

Microsoft te enseña a crear aplicaciones universales para Windows 10 ¡gratis!


Si alguna vez han deseado iniciarse en el desarrollo de aplicaciones para Windows pero no tienen absolutamente ninguna experiencia, Microsoft les tiene una solución.

A través del blog de Windows, la compañía ha puesto a disposición de todo el que quiera aprender el curso llamado "Windows 10 development for absolute beginners". Como su nombre lo indica, el curso (proporcionado en inglés, por supuesto) va orientado a principiantes absolutos, aunque se asume que el participante tiene algún conocimiento básico del lenguaje C#. Ahora bien, si no cumplen con este prerrequisito no hay problema, pues también está disponible una serie de videos de entrenamiento en C# para principiantes absolutos.

El curso trata sobre la creación de apps Universales para Windows que pueden funcionar por igual tanto en PCs como en teléfonos, tablets e incluso dispositivos como el Xbox y los próximos HoloLens. El contenido se divide en dos partes. Primero el enfoque se centra en aprender las habilidades básicas para la creación de apps simples. Después, se centra en el desarrollo de cuatro apps completamente funcionales:
  • Un tablero para reproducir sonidos divertidos cuando se hace clic en un icono
  • Una aplicación para mostrar el clima con mapas incluidos
  • Un juego para reconocer portadas de discos
  • Una enciclopedia de personajes de Marvel (usando la API oficial de Marvel Comics) que incluye integración con Cortana.


Además, en las lecciones aprendemos desde la planeación y la codificación de una aplicación hasta la publicación de nuestra app en la Windows Store.

Esta es sin duda una gran oportunidad para aprender de manera gratuita los fundamentos del desarrollo de apps para Windows 10 y vale la pena aprovecharla.


Enlaces: 





Skype integra traducciones en tiempo real



A través de su blog oficial, la gente de Skype anuncia la incorporación de las funciones de traducción en tiempo real para la app de Skype para Windows. Con esta actualización se incluyen seis lenguajes de voz (Inglés, Francés, Alemán, Italiano, Mandarin y Español) y 50 lenguajes para conversaciones escritas para traducciones instantáneas en nuestras conversaciones.

Esta fabulosa característica convierte a Skype en una aplicación de mensajería todavía más eficiente y podemos verla en acción en el siguiente vídeo corto:



La actualización de Skype para incorporar las funciones de traducción ya está disponible y se irá instalando en nuestros equipos en los próximos días. Sabremos que la nueva función está disponible cuando veamos que se muestran los iconos de traducción en la parte superior derecha de la ventana de conversación:





Fuente: Blog de Skype



martes, 29 de septiembre de 2015

Color Hunt, nuevas paletas de colores cada dia

Color Hunt es un curioso pero muy útil sitio web de reciente creación cuya finalidad es muy simple: proporcionar a los visitantes ideas de paletas de colores diferentes cada día. Esto es especialmente útil cuando necesitamos encontrar la combinación perfecta de colores para un diseño, sitio web, logotipo, etc.

El funcionamiento del sitio es extremadamente simple: desde que accedemos al sitio web podemos ver una gran cantidad de combinaciones de colores sugeridas por otros visitantes así como su nivel de popularidad, medido en 'likes'. Si queremos ver las combinaciones mejor votadas por los usuarios, basta con hacer clic en la sección "Popular" para ver el listado de las paletas más gustadas. Nosotros mismos podemos votar por cada una de las combinaciones haciendo clic en el icono de corazón situado debajo de cada paleta de colores.



Para ver los detalles de cada combinación, basta un clic en cada una de ellas para conocer los códigos RGB de cada uno de los colores que forman la paleta para que podamos usarlos en nuestro editor gráfico favorito.


También podemos colaborar en el sitio creando nuestras propias paletas de colores y poniéndolas a disposición de otros visitantes para que voten por ellas. Al hacer clic en "Create" accedemos a la interfaz para definir cada uno de los colores de nuestra paleta sugerida.



Todo esto puede hacerse de modo totalmente gratuito e incluso sin necesidad de crear una cuenta de usuario. Cabe destacar que el sitio es bastante nuevo (a penas tiene 1 mes de existencia) pero ya cuenta con una gran cantidad de visitantes (más de 100,000 según su blog).

También a través de sus cuentas sociales en Facebook y Twitter los creadores de Color Hunt hacen algunas sugerencias de paletas de colores basadas en escenas naturales como esta belleza:


Color Hunt es en definitiva uno de esos sitios que debería tener un lugar entre nuestros favoritos, pues seguramente nos sacará de más de un apuro cuando se trata de hacer algún diseño.


Enlace: Color Hunt







lunes, 28 de septiembre de 2015

Lógica de programación (31) - Operaciones con vectores



Como ya mencionamos en la lección anterior, un vector es una secuencia ordenada de elementos. A fin de cuentas, los vectores son variables con las que podemos realizar diferentes operaciones como son:
  • Declaración
  • Asignación/Escritura de valores
  • Recorrido
  • Actualización
  • Ordenación
  • Búsqueda


En esta lección daremos un recorrido por las primeras cuatro de estas operaciones y dejaremos la Ordenación y la Búsqueda para lecciones posteriores.

Declaración

Por lo general, un array se declara en la sección de variables de un programa. La forma de declarar un array de elementos de un determinado tipo es muy variada en los distintos lenguajes de programación. Sin embargo, para los efectos de este curso, esta es la sintaxis que estaremos siguiendo:

array[num] de tipo : nombre_array

donde
  • num es la cantidad de elementos que tendrá el array
  • tipo es el tipo de datos de los elementos del array (entero, booleano, cadena, etc)
  • nombre_array es el nombre del arreglo


Asi pues, la expresión:

array[10] de entero : números

representa la declaración de un arreglo de 10 elementos de tipo entero, cuyos índices irán del 0 al 9.

Una vez declarado el arreglo, nos es posible acceder a cada uno de sus elementos usando el nombre del arreglo seguido del índice del elemento al cual deseamos acceder, como lo estudiamos en la lección anterior.

Asignación/Escritura de valores

Una forma de asignar valores a un elemento del vector es mediante la instrucción de asignación simple; por ejemplo, la expresión números[3] <- 5 asigna el valor 5 al elemento de índice 3 dentro del vector números.

Otra forma de hacerlo es usando la instrucción leer() como con cualquier otra variable, por ejemplo:

leer(números[0])
leer(números[1])

En cada una de las dos formas descritas podemos asignar valores a sólo uno de los elementos del vector a la vez. Si quisiéramos asignar valores a todos los elementos del vector, tendríamos que recurrir a estructuras repetitivas como en el siguiente ejemplo, en el cual usamos un ciclo desde para asignar a cada uno de los elementos del vector números un valor dado por el usuario:

algoritmo Ejemplo_Vector
var
    array[10] de entero: números
    entero: i
inicio
    desde i <- 0 hasta 9 hacer
        escribir("Proporciona un valor para el elemento con índice " + i + " del arreglo: ")
        leer(números[i])
    fin_desde
fin


Recorrido (acceso secuencial) del vector

Lo que hicimos en el ejemplo anterior fue un recorrido del vector para escribir datos en él. Se le llama recorrido a la operación de efectuar una operación general sobre todos los elementos del vector, ya sea escribir datos o leer su contenido. Estas operaciones se realizan utilizando estructuras repetitivas, cuyas variables de control se usan como índices del vector. El incremento del valor de la variable de control permite que podamos acceder secuencialmente a cada uno de los elementos del vector.

Complementaremos el ejemplo anterior para incluir ahora un recorrido de lectura que se efectuará inmediatamente después de que el usuario haya terminado de introducir valores en el vector.

algoritmo Ejemplo_Vector
var
    array[10] de entero: números
    entero: i
inicio

    //Asignar valores a cada elemento del vector
    desde i <- 0 hasta 9 hacer
        escribir("Proporciona un valor para el elemento con índice " + i + " del arreglo: ")
        leer(números[i])
    fin_desde

    //Recorrer el vector para mostrar los números introducidos
   desde i<-0 hasta 9 hacer
        escribir(números[i])
    fin_desde

fin


En este otro ejemplo solicitamos al usuario un conjunto de 15 calificaciones que almacenamos en un vector. Luego recorremos ese vector para calcular la suma de todas las calificaciones y finalmente calculamos y mostramos el promedio de las mismas:

algoritmo Promedio
var
    array[15] de real: calif
    entero: i
    real: suma, promedio
inicio
    //Asignar calificaciones al vector
    desde i <- 0 hasta 14 hacer
        escribir("Escribe una calificación")
        leer(calif[i])
    fin_desde

    //Recorrer el vector para calcular la suma de las calificaciones
    suma <- 0
    desde i <- 0 hasta 14 hacer
        suma <- suma + calif[i]
    fin_desde

    //Calcular y mostrar el promedio
    promedio <- suma / 15
    escribir("El promedio de las calificaciones proporcionadas es " + promedio)
fin


Actualización

La actualización de un vector puede constar a su vez de tres operaciones elementales que son: añadir, insertar o borrar elementos.

Añadir datos consiste en agregar un nuevo elemento al final del vector. La única condición necesaria para llevar a cabo esta operación es que exista espacio suficiente en el vector para recibir al nuevo elemento, es decir, que el vector no esté lleno. Si esta condición se cumple, basta con referirnos a la posición en la que deseamos insertar el nuevo elemento para agregarlo. Ahora bien, si esta posición no se conoce y se desea agregar un elemento nuevo al final del vector verificando de antemano si existe lugar para ello, puede realizarse con un algoritmo como el del siguiente ejemplo:

algoritmo Añadir
var
   array[5] de cadena: colores
   entero: i
inicio
   //Asignar algunos valores al arreglo 'colores'
   colores[0] <- "verde"
   colores[1] <- "rojo"
   colores[2] <- "azul"
   
   //Insertar un nuevo color al final
   desde i<-0 hasta 4 hacer
      si (colores[i] <- nulo) entonces
         colores[i] <- "amarillo"
         interrumpir
      fin_si
   fin_desde
fin

En el ejemplo anterior recorremos el arreglo colores hasta encontrar una casilla cuyo valor sea nulo y en ella insertamos un nuevo color, terminando el recorrido en el proceso. Una vez que termina el algoritmo, nuestro arreglo contendrá los siguientes elementos:

colores[0] = verde
colores[1] = rojo
colores[2] = azul
colores[3] = amarillo
colores[4] = *nulo*

Si bien esta no es la única forma de insertar un nuevo elemento en un arreglo, es una solución sencilla y rápida para lograrlo.

A diferencia de la operación de Añadir, cuando ejecutamos una operación  Insertar lo que buscamos es colocar un nuevo elemento dentro de un arreglo en una posición específica y no necesariamente al final del mismo. En este caso aplica la misma condición que con la operación Añadir: debe existir espacio suficiente en el arreglo para insertar un nuevo elemento. Con unos pequeños ajustes, podemos emplear el algoritmo del ejemplo anterior para demostrar la operación de inserción:

algoritmo Añadir
var
   array[5] de cadena: colores
   entero: i
inicio
   //Asignar algunos valores al arreglo 'colores'
   colores[0] <- "verde"
   colores[1] <- "rojo"
   colores[3] <- "azul"
   
   //Insertar un nuevo color al final
   desde i<-0 hasta 4 hacer
      si (colores[i] <- nulo) entonces
         colores[i] <- "amarillo"
         interrumpir
      fin_si
   fin_desde
fin

Este algoritmo inserta algunos valores en las posiciones 0, 1 y 3 del arreglo y luego lo recorre para insertar un nuevo elemento en la primera posición vacía que se encuentre (en este caso, será la posición 2), quedando finalmente nuestro arreglo con los siguientes elementos:

colores[0] = verde
colores[1] = rojo
colores[2] = amarillo
colores[3] = azul
colores[4] = *nulo*

Finalmente, la operación de Borrar consiste en eliminar de un arreglo un elemento ya sea indicando su posición dentro del mismo o realizando primero una búsqueda y eliminando el elemento una vez que se ha localizado dentro del arreglo. Existen varias formas de realizar el borrado de un elemento de un arreglo, pero dejaremos los ejemplos para cuando aprendamos a realizar búsquedas dentro de un vector.


ACTIVIDADES DE APRENDIZAJE


  1. Escribe un algoritmo que lea los valores de 100 temperaturas y a partir de ellas: (a) Calcule y muestre el promedio de las temperaturas y (b) muestre todas las temperaturas que se encuentran por encima del promedio.
  2. Escribe un algoritmo que te permita calcular la desviación estándar del conjunto de temperaturas del problema anterior, sabiendo que la desviación se calcula con la fórmula siguiente:


     


Enlace: Índice del curso




lunes, 21 de septiembre de 2015

Mi primera semana con Microsoft Windows Phone



Desde que empecé a usar smartphones y tablets he sido usuario de Android. En general me parece que es un muy buen sistema operativo por su flexibilidad, su facilidad de uso, su gran variedad de aplicaciones gratuitas y la posibilidad de personalizarlo hasta las náuseas. Es cierto que tiene sus contras, pero en general me parece una muy buena plataforma. Sin embargo, si algo he notado en todos los terminales Android que he tenido, es que luego de un tiempo de uso y sin importar cuántas veces limpie los archivos basura, el sistema se vuelve lento e inestable y es necesario restaurar el equipo al estado de fábrica para recuperar su funcionalidad al 100%. Todos mis equipos han sido de gama media, asi que supongo que tampoco se le puede exigir mucho al hardware. Sin embargo, aún para la funcionalidad más esencial, la lentitud ha sido el problema. 

Por ello, luego de batallar terriblemente con mi último teléfono Android decidí voltear a ver otras opciones. Aunque bueno, en realidad no tuve que ver mucho, pues las únicas opciones viables para mí eran iOS y Windows Phone. Y aunque cuando lo usé por primera vez no me gustó absolutamente nada, elegí el segundo y debo decir que no me arrepiento del cambio ni extraño la plataforma Android*. También es cierto que llevo a penas una semana usando la plataforma y aún sigo descubriendo pequeños detalles aquí y allá, pero todo lo que he descubierto ha sido una grata sorpresa que me ha servido para darme cuenta de que Windows Phone es un sistema operativo bastante subestimado.

He decidido escribir este post para resumir algunas de las cosas que más me han gustado de Windows Phone (WP), por si alguien allá afuera está considerando hacer el cambio a este fenomenal sistema operativo móvil. Cabe mencionar que actualmente estoy usando Windows Phone 8.1 en un equipo Microsoft Lumia 535.

1. Rapidez y fluidez

Como dije, uno de los problemas más desesperantes de mis equipos Android es la lentitud que adquieren luego de un tiempo de uso. Con WP no he tenido ese problema y vaya que ya lo atasqué de aplicaciones y juegos. No importa cuántas aplicaciones haya abierto o cuánto tiempo haya pasado jugando, mi teléfono no se alenta ni se vuelve tedioso de usar. Una vez que cierro una aplicación, mi teléfono sigue tan rápido y fluido como siempre.


2. Variedad de aplicaciones.

Es muy cierto que la cantidad de aplicaciones disponibles en la Windows Store es bastante menor si la comparamos con las tiendas de Google y Apple, sin embargo la tienda cuenta con las aplicaciones necesarias para mi día a día: Facebook, Twitter, Whatsapp, Spotify o Instagram, por ejemplo, tienen presencia en Windows Phone. Y si no existe una aplicación oficial para algún servicio (como ocurre con los de Google), siempre habrá una aplicación de terceros para sacarnos del apuro. Incluso encontré un reproductor musical fabuloso llamado SonicXBeat Pro que por 15 pesitos me da toda la funcionalidad para reproducir mi música que necesito además de ser muy bonito. Ese es precisamente otro punto a favor que he notado de las apps para WP: su diseño es bastante elegante y agradable, además de intuitivo y fácil de usar. Windows ha estado apostando por la simpleza en el diseño y eso ayuda bastante. Además, existe bastante consistencia en el diseño en todas las aplicaciones, lo cual se agradece mucho.

La variedad de aplicaciones para Windows Phone es amplia y cubre las necesidades básicas (y algunas más)...

3. Integración con Windows.

Como casi la mayoría de los usuarios de PC, ya sea por gusto, porque se tiene que o por default, uso Windows a diario. Al tratarse de esencialmente el mismo sistema operativo, Windows Phone se integra de manera limpia con la PC de modo que la transferencia de configuraciones y archivos entre ambas plataformas es simple y rápida, sin depender de aplicaciones de terceros como en los casos de Android e iOS.

4. Soporte de Microsoft.

Como dije, la gran mayoría de los usuarios de PC estamos acostumbrados a usar Windows y el hecho de que podamos usar las mismas aplicaciones en la PC y en el dispositivo móvil es un gran atractivo para evitar dar el salto entre plataformas. Los teléfonos con WP integran de manera nativa servicios como Outlook para email, OneDrive para almacenamiento en línea, Office (Word, Excel y Powerpoint) para ver y editar documentos, Skype para videollamadas e incluso OneNote para tomar notas y almacenarlas en la nube. Si iniciamos sesión con nuestra cuenta de microsoft (como hotmail o live, por ejemplo) trendremos disponibles nuestros archivos donde quiera que nos encontremos.

5. Buen hardware en los equipos.

Uno de los movimientos más audaces que ha hecho Microsoft en los últimos años es la compra de Nokia para integrarse al mercado de la telefonía. Sea que el plan se haya ejecutado bien o no, los equipos Nokia (ahora bajo la marca Microsoft) siempre han ofrecido hardware de alta calidad. En el caso del Lumia 535 hablamos de un equipo que además de contar con un diseño minimalista y elegante, posee hardware bastante decente para su precio: Procesador de cuatro núcleos de 1.2 GHz, 1GB de memoria RAM, 8GB de almacenamiento interno y capacidad de usar tarjeta adicional de memoria MicroSD de hasta 128 GB, pantalla de 5 pulgadas IPS LCD con Gorilla Glass, cámara principal de 5 MP con flash led, cámara frontal de 5MP y batería de 5mAh.

6.Almacenamiento expandible.



Si bien el almacenamiento interno de 8GB puede que no parezca gran cosa, la posibilidad de expandir el almacenamiento del equipo hasta en 128GB es una característica bastante atractiva. Al igual que los equipos Android, esta posibilidad resulta bastante útil para quien acostumbra cargar con una buena cantidad de archivos de imagen, audio o video en sus equipos. Por si fuera poco, la posibilidad de mover prácticamente todas las aplicaciones del teléfono a la tarjeta SD hace que el acceso al sistema operativo sea más rápido y fluido.

Conclusión

Este post no pretende poner a Windows Phone en el pedestal del mejor sistema operativo que existe, pues aún le falta mucho camino por recorrer para llegar al nivel de los dos grandes (iOS y Android). Creo que esto se debe más al hecho de que Microsoft entró tarde a la carrera por conquistar el mercado móvil que a la falta de virtudes de su sistema operativo. La intención es sólo mostrar que este sistema operativo, desde mi punto de vista, tiene bastantes beneficios que lo convierten en una opción bastante viable para quien busca comodidad y rapidez al usar su teléfono móvil.



* Ya en otra ocasión escribiré un rant sobre mi aversión a usar iOS

lunes, 14 de septiembre de 2015

Google celebra los 30 años de Super Mario Bros.



Hace 30 años Nintendo liberó el videojuego que se convertiría en la insignia de la industria para siempre: Super Mario Bros., que también nos presentó a un personaje que hasta el día de hoy mantiene su estatus de ícono de la cultura popular.

Por ello, Google ha decidido incluir un pequeño 'easter egg' en sus resultados de búsqueda el día de hoy. Si nos dirigimos al sitio de Google y buscamos 'Super Mario Bros', nos aparecerá en la tarjeta de información una pequeña caja con un signo de interrogación, que es clásica del videojuego, en la cual podemos hacer clic tantas veces queramos para obtener monedas, igual que podemos hacerlo en el juego.



Este pequeño homenaje funciona tanto en la web como en móvil, así que vale la pena echarle un vistazo a esta original forma de celebrar al personaje más entrañable de los videojuegos.




viernes, 11 de septiembre de 2015

Slack, comunicación efectiva para equipos de trabajo



Uno de los requisitos fundamentales del trabajo en equipo es la buena comunicación. Si esta falla, seguramente el resultado final de nuestro trabajo se verá mermado o incluso fallará catastróficamente. Por ello, cualquier herramienta que nos ayude a mejorar nuestra comunicación es siempre bienvenida y Slack es una de dichas herramientas.

El modo tradicional de trabajo en equipo en una empresa implica, generalmente, largas y aburridas juntas (que generalmente resultan poco productivas) y interminables cadenas de email que terminan por confundir más que por aclarar situaciones del día a día. Ahi es donde Slack entra en juego.



Slack es, esencialmente, un chat para equipos de trabajo. Pero la cosa no termina ahi, pues Slack incorpora lo mejor de muchos mundos en una útil, sencilla y elegante herramienta: canales de chat, conversaciones privadas, la posibilidad de adjuntar archivos, el uso de emoticonos, la búsqueda de documentos o mensajes, las menciones a miembros del chat, etc. Además de todo, podemos conectar Slack con diferentes herramientas como Dropbox, Google Drive, Hangouts, GoToMeeting, Github, Trello y un largo etcétera, lo cual le agrega una enorme versatilidad y utilidad.



Slack es también una gran herramienta para coordinar equipos de trabajo remotos pues al ser una aplicación web podemos accederla desde cualquier dispositivo con conexión a internet; además, existen aplicaciones de Slack para Android, iOS y recientemente se ha lanzado la app para Windows Phone, de modo que podemos mantenernos comunicados con nuestros equipos de trabajo donde quiera que estemos.



El uso de Slack es gratuito, aunque tiene algunos planes de paga que ofrecen funcionalidades adicionales para empresas más grandes. El plan gratuito es excelente para equipos de trabajo pequeños. Vale la pena echarle un ojo.


Enlace: Slack




martes, 1 de septiembre de 2015

Google cambia su logo



Después de 16 años, Google ha decidido cambiar su logo. Si bien en años pasados había presentado algunos cambios sencillos, esta vez han optado por un ajuste de imagen más radical. En su blog oficial, hoy escriben:

Hoy estamos presentando un nuevo lenguaje visual que refleja esta realidad y les muestra cuando la magia Google está trabajando para ustedes, incluso en las pantallas más pequeñas. Como verán, hemos tomado el logotipo y la marca Google, que originalmente fue creada para una página del navegador en el escritorio, y las actualizamos para un mundo de uso sin fronteras a lo largo de un sinfín de dispositivos y diferentes tipos de entrada (como el tacto, teclado y voz).



Otros cambios en la imagen de Google incluyen: el uso de un micrófono colorido para las búsquedas por voz, cuatro puntos de colores para procesos en espera y una G colorida como nuevo favicon del sitio (reemplazando a la "g" azul que tenían anteriormente).



Este cambio le viene muy bien a Google, pues refleja mejor la frescura de la compañía y su siempre presente actitud de renovarse completamente.



Sin embargo, antes de decidirse por el nuevo logo, los diseñadores de Google consideraron otras opciones bastante más radicales:



Definitivamente me gusta más la opción con la que finalmente decidideron quedarse.

Si guieren enterarse de todos los detalles "técnicos" de este rediseño de Google (como los códigos de colores usados, la fuente, las consideraciones geométricas, etc), pásense por este interesante artículo.



Fuente: Blog de Google

Enlace: Evolving the Google identity



miércoles, 26 de agosto de 2015

Lógica de Programación (30) - Arrays unidimensionales: los vectores

Todos hemos sido parte de un array en algún momento...

Un array o arreglo se define formalmente como un conjunto finito y ordenado de elementos homogéneos. Cuando decimos "ordenado" nos referimos al hecho de que cada uno de los elementos puede ser identificado por un índice numérico; por otro lado, decimos que el conjunto es "homogéneo" porque todos los elementos son del mismo tipo de dato, es decir, todos son cadenas o enteros o booleanos, etcétera. El tipo más simple de array es el array unidimensional, también conocido como vector

En un vector, cada uno de sus elementos puede ser identificado mediante el uso de un índice numérico que nos indica su posición dentro del mismo, mientras que sólo el vector completo tiene un nombre propio. En la siguiente figura se representa un vector llamado "Calificaciones" que contiene 5 elementos, numerados del 0 al 4 *.


Para referirnos a cada uno de los elementos del vector, usamos la siguiente notación:

VECTOR[índice]

Por ejemplo:

Calificaciones[1] tiene un valor de 10
Calificaciones[4] tiene un valor de 7

Además, cada elemento del vector puede ser tratado como si fuera una variable independiente. Por ejemplo, podemos tener una variable Suma cuyo valor sea la suma de dos o más elementos del vector:

Suma <- Calificaciones[2] + Calificaciones[4]

En este ejemplo, la variable Suma tendría un valor de 15.

Si deseamos asignar un valor a uno de los elementos del vector, basta con referirnos al elemento por su índice y asignarle el valor deseado. Así, la expresión Calificaciones[3] <- 8 asigna el valor de 8  a la posición 3 del vector, sustituyendo cualquier valor que haya estado almacenado previamente.

Por otro lado, los índices de un vector pueden ser enteros, variables o expresiones enteras. Por ejemplo, si tenemos una variable i <- 1

Calificaciones[i] representa el elemento Calificaciones[1] cuyo valor es 10
Calificaciones[i+3] representa el elemento Calificaciones[4] cuyo valor es 7

El hecho de que podamos acceder individualmente a cada uno de los elementos del array representa una de sus ventajas más importantes: el almacenamiento de información.

NOTAS

* La mayoría de los lenguajes de programación comienzan en 0 la numeración de las posiciones de los elementos de un array. Así, un vector de 10 elementos los verá numerados del 0 al 9. A esta práctica se le conoce como indexación base cero.

ACTIVIDADES DE APRENDIZAJE

Considera el siguiente vector:



Escribe el resultado de cada una de las siguientes operaciones realizadas con los elementos de dicho vector:
  • escribir(Números[1])
  • Números[4] <- 32.5
  • Suma <- Números[1] + Números[5] + Números[6]
  • Suma <- Suma + Números[5]
  • Números[i+2] = Números[i] + Números[i+1] (suponiendo que i<-0)

Certificaciones gratis en Brainbench



Brainbench es un sitio web que se especializa en otorgar certificaciones en diversas áreas a sus usuarios a través de una cuenta gratuita, aunque no todas las certificaciones ofrecidas son sin costo. 

El sitio ofrece certificaciones en temas tan variados como Tecnologías de la Información (Desarrollo de software, Bases de Datos, Soporte Técnico, entre muchos otros), Administración, Idiomas, Finanzas, Salud, Servicio al cliente y muchos más.



Muchos de los exámenes de certificación de Brainbench son de paga (aprox. 50 usd cada uno), pero existen muchos que son totalmente gratuitos. Si bien el costo de los exámenes es elevado, la plataforma ofrece un sistema de suscripción con pago mensual que nos da acceso a su catálogo completo de las de 600 exámenes sin restricciones, lo cual es bastante atractivo.


Ahora bien, las certificaciones de Brainbench sólo son avaladas por ellos mismos y no por los fabricantes, pero nunca está de mas tener nuestros conocimientos y habilidades respaldadas por una entidad evaluadora externa. Además, tomar estos exámenes bien puede servirnos de entrenamiento para cuando decidamos tomar una certificación directa con algún fabricante de tecnología o de algún otra área de conocimientos.



Enlace: Brainbench



miércoles, 19 de agosto de 2015

Científicos crean una máquina de vómito. Si, de vómito.


Sin duda el concepto suena bastante desagradable, pero la máquina, creada por un grupo de investigadores de Carolina del Norte (EU) tiene un propósito bien definido: ayudar a los científicos a determinar cómo se diseminan en el aire algunos virus causantes de enfermedades grastrointestinales, como el norovirus.

La máquina emplea una serie de tubos, válvulas, pistones y bombas que imitan una boca, garganta y estómago humanos a una escala de un cuarto del tamaño real. Se agrega una máscara de arcilla que proporciona el peso necesario para doblar la "garganta" simulando el cuello flexionado de una persona que vomita.



El "vómito" artificial se hace de una imitación de saliva o de una natilla de vainilla, según el espesor deseado; además, se le agrega una cepa de virus no infeccioso que es similar al norovirus en forma y tamaño. Esto ayuda a los investigadores a determinar la velocidad de propagación en el aire de un virus expulsado en el vómito.

Los resultados de las pruebas con la "máquina de vómito" revelaron que en cada expulsión de vómito se liberan desde 36 hasta 13000 partículas de virus (dependiendo de la presión de la bomba y la concentración de virus en el vómito artificial). Si se considera que sólo se requieren 20 partículas de norovirus para causar una infección, es entonces muy probable que una persona pueda contagiarse del mismo si entra en contacto con el vómito de una persona infectada. 

Este estudio permite diseñar métodos más efectivos para el control de infecciones.


Fuente: ScienceNews




Infografía: Los lenguajes de programación como armas

En la actualidad contamos con una amplia variedad de lenguajes de programación que podemos usar para distintos fines y podemos elegir entre ellos según lo que pretendamos desarrollar o incluso de acuerdo a nuestros gustos. 

Pero son tantos los lenguajes disponibles que es muy fácil perderse al momento de tratar de elegir uno para aprender, así que cualquier ayuda que podamos tener para tomar una mejor decisión es bienvenida. De eso se trata la infografía que les dejo en este artículo, la cual compara los lenguajes de programación más populares con armas tanto reales como ficticias, de acuerdo a sus capacidades, usos y popularidad. 



Si quieren ver la imagen en tamaño completo, hagan clic aqui.



Enlace: 12 armas letales de la programación
Fuente: RedPendragon Designs




Cameron's World: toda la Internet de los 90 en un solo sitio


¿Se acuerdan de aquellas primeras páginas web de los años 90, llenas de colores, GIFs en movimiento y textos en Comic Sans? Pues si no están tan rucos como su servidor y no saben de lo que les hablo o quieren recordar aquellas épocas, necesitan conocer el sitio CameronsWorld.net

En el sitio se concentra una enorme colección de sitios de la extinta GeoCities -compañía que en aquellos años se encargaba de dar alojamiento a miles de sitios web de todo el mundo- a los cuales podemos acceder haciendo clic en cualquiera de las abundantes imágenes incluidas en el sitio. Al hacer clic veremos las páginas en otro bonito recordatorio de los 90: un clon del mítico navegador Netscape llamado "Catscape Navigator".

CameronsWorld.net, sitio con imágenes en movimiento, miles de colores y musiquita de fondo que se reproduce a penas abrimos la página, es un curioso experimento diseñado para evocar a la nostalgia de quienes experimentamos la infancia de la Web, así como para mostrar a las generaciones más nuevas una probadita de lo que fueron los inicios de el fascinante mundo de Internet que hoy disfrutamos.








martes, 18 de agosto de 2015

Android 6 ya tiene nombre: Marshmallow


Continuando con la tradición de bautizar cada nueva versión de Android con el nombre de una golosina o postre en orden alfabético, Google ha anunciado que el apodo de la más reciente versión de su sistema operativo móvil será Marshmallow (Bombón). Hasta hace poco, la nueva versión sólo era conocida únicamente como Android M, pero este lunes se dio a conocer el nuevo nombre a través del blog de Desarrolladores de Android mediante el siguiente extracto:

Hoy, con la actualización final del Developer Preview, presentamos el Android 6.0 SDK oficialmente e inauguramos la función de Google Play con la que puedes publicar tus apps dirigidas al nuevo nivel 23 de API en Android Marshmallow

Los dulces nombres de Android


Esta nueva actualización de Android todavía no tiene fecha de llegada para los usuarios finales y entre las mejoras que promete se encuentran una vida más larga de la batería, más control sobre permisos para apps y Android Pay, la nueva plataforma móvil para pagos de Google.







viernes, 14 de agosto de 2015

Crean un robot "madre" capaz de crear otros robots por sí mismo


Un equipo de investigadores de la Universidad de Cambridge ha creado un robot que es capaz de crear, probar y mejorar otros robots por sí mismo.

El robot está programado para elegir entre 1 y 5 pequeños módulos robóticos motorizados y unirlos para crear un robot que puede moverse a lo largo de distancias pequeñas. El robot "madre" crea un robot a partir de una primera combinación de módulos, lo preba, detecta lo que está mal, aprende de sus errores y cambia el proceso a fin de crear un robot mejorado. Es decir, aprende de sus errores y evoluciona sus diseños.



“La evolución se basa en la reproducción y el análisis de los nuevos ejemplares de una especie. Prueba y error.” explica el doctor Fumiya Iida, del departamento de ingeniería de la Universidad de Cambridge. “Eso es esencialmente lo que hace este robot. Las máquinas están preparadas para producción en masa, pero nosotros queremos estudiar robots capaces de ser creativos e innovar.”

La idea de un robot madre capaz de crear más robots ha dejado de ser un concepto de la ciencia ficción. Fascinante y algo atemorizante, a decir verdad.





sábado, 8 de agosto de 2015

Copyright © IsraelCapetillo.com - Un blog de tecnología, noticias geek y más Compartido por Gooyaabi Templates | Powered By Blogger

Design by Anders Noren | Blogger Theme by NewBloggerThemes.com