Secciones

viernes, 4 de diciembre de 2015

Como programar en Minecraft usando python, Básico.

Minecraft es un conocido juego de tipo sandbox en el que puedes construir lo que quieras, bien en modo creativo, es decir, con recursos infinitos, o bien en modo supervivencia, en el cual tienes que cavar, minar, y construir todo lo que necesites para sobrevivir, ya sea evitando morir de hambre a la vez de impedir ser devorado por monstruos.

Si eres una persona como yo, muy vaga, y sabes algo de programación, entonces esta entrada te interesa. Minecraft tiene un API que permite automatizar las tareas más aburridas o triviales.

Coordenadas:

Lo primero que debes saber es como orientarte en el juego. Puedes construir una brújula por supuesto, como la de la derecha, pero es importante que sepas como orientarte en el mundo usando coordenadas cartesianas.

En Minecraft, vamos a considerar este eje de referencia:
 
Para accedera información extra, basta con pulsar F3. y verás datos como estos:

Con el dato XYZ, puedes ver en que posición estás, y te podrás orientar. Además, facing te dirá haciendo donde estás mirando:
  • 0 = Sur
  • 1 = Oeste
  • 2 = Norte
  • 3 = Este
 A parte de otra información interesante, pero vamos al lio.


Instalación del API:

Necesitas primero python 2.7 (o la versión 3 si prefieres, con sus scripts adaptados), instalalo y asegurate que la variable este en el path. Añade el MOD para interpretar python, aquí tienes las instrucciones. A parte de Minecraft, necesitareis un MOD llamado Forge. Podeis descargarlo aquí y loguearte con su perfil. Si teneis windows podeis usar el instalador directamente, de forma manual seguid estas instrucciones.

La carpeta local con los scripts necesarias debe contener mcpi, server.py, y cualquier script que quieras. Servirá para el singleplayer. Para probarlo, solo dejo hello world. En windows quedaría así:



Para comprobar que funciona, dentro del juego aprieta la tecla T, y pon /py helloworld.py, si no da error, todo está correctamente instalado.

Si prefieres la opción multijugador, haced los mismos pasos en donde tengais alojado el servidor minecraft 1.8, Minecraft Forge, el Raspberry Jam Mod y el Minecraft PI Python package. Para dudas, seguid este tutorial.

Hello world:

Para ejecutar un script, como ya hemos comentado necesitamos pulsar T y escribir /py nombrescript, hacemos uno con el siguiente código:
# Import python modules
import mcpi.minecraft as minecraft
import mcpi.block as block
import server
import sys

# Prepare API
mc = minecraft.Minecraft.create(server.address)

# Echo a message
mc.postToChat("Hello world!")

# Echo player position
playerPos = mc.player.getPos()
mc.postToChat("Player position: %d, %d, %d" % (playerPos.x, playerPos.y, playerPos.z) )

Y ya tenemos listo nuestro primer script.

Api básico:

He preparado un pequeño script que usa parte del API disponible. Se puede hacer todo tipo de acciones en el modo creativo, pero por desgracia, al menos de momento, no se puede manejar el jugador como si se estuviera delante. Puedes ver que hacer y que no hacer con este script.

Para ampliar tu conocimiento del API, y ver que es posible hacer, lo tienes todo aquí.

Muchos más:

Si te has quedado con ganas de más, pasate por esta web, donde encontrarás más tutoriales e información del API.

miércoles, 25 de noviembre de 2015

Cosas que hacer al instalar Fedora 23 desde 0

Hola.

Os voy a resumir las aplicaciones básicas que suelo utilizar en Linux, para que lo tengais en cuenta. Si prefieres ahorrarte poner sudo todo el rato, puedes loguearte como administrador con el comando
su -
No lo recomiendo por temas de seguridad.

1º Actualiza el sistema y reinicia.
sudo dnf update
 
2º Cambia el nombre de tu ordenador (Opcional)
sudo hostnamectl set-hostname --static "VgoniF23"
sudo hostnamectl status
3º Si juegas, instala steam ANTES de instalar los gráficos propietarios de Nvidia, sino, no podrás usar Steam. Tendrás que desinstalarlos, instalar y ejecutar Steam, y volverlos a instalar.
sudo dnf config-manager --add-repo=http://negativo17.org/repos/fedora-steam.repo
sudo dnf -y install steam
4º Instala tu escritorio favorito, en mi caso, Cinnamon
sudo dnf install @cinnamon-desktop
Aunque puedes utilizar @mate-desktop @kde-desktop @xfce-desktop o @lxde-desktop


5º Instala dependencias importantes como Java, unzip
sudo dnf install icedtea-web java-openjdk unzip
6º Instala los programas que uses normalmente, como:
sudo dnf install guake vlc gimp qbittorrent VirtualBox
7º Instala tu sistema de mensajería favorito. Yo suelo emplear para todo Telegram, por comodidad y quitarme la necesidad de mirar el móvil, porque es seguro, y opensource:
sudo dnf copr enable rommon/telegram && sudo dnf -y install telegram-desktop.x86_64
8º Y además un buen gestor de texto, yo personalmente uso atom, también por ser opensource, aunque lo complemento con vim para acceso por consola (aunque para pequeños cambios uso atom que viene preinstalado)
sudo dnf copr enable helber/atom && sudo dnf -y install atom vim
Y por último no te olvides de instalar los drivers de nvidia si lo necesitas porque eres un "exigente" del rendimento, como ya expliqué aquí. He de decir que el rendimiento de los drivers en linux es inferior a Windows 10, por eso da mejores resultados, aunque no todo son los drivers, como puedes ver aquí. Aunque siempre habrá gente que se vaya, aunque a veces vuelva.

sábado, 21 de noviembre de 2015

Guia de scripting bash para GNU/Linux I, introducción


La shell es el interprete de comandos, la consola o terminal de toda la vida, la capa más básica para comunicar al usuario con el kernel del sistema. Con ella podemos hacer potentes scripts para automatizar tareas que de por si son aburridas, triviales y costosas en tiempo humano. Sacrificando algo de tiempo en automatizarlas te ahorrará gritones de horas a tu yo del futuro, aunque para ello tendrás que sacrificar algo de  tiempo de tu yo presente.

Rendimiento respecto tiempo invertido

Para este tutorial me voy a basar en esta guia, comenzaré con unos conceptos básicos:
  • Como usar variables
  • Como imprimir información por pantalla
  • Uso básico de if, while y for

Para los ansiosos, teneis todo el código de este tutorial aqui. En próximos tutoriales ampliaré información y al final resolveré el problema de tener varios ficheros con texto no deseado para editarlos automáticamente.

Para los más pacientes, parto de la base de que no sois expertos en el tema aunque si sabeis algo de programar en general, dejaré todo extensamente comentado y bien tabulado para que no te pierdas en el proceso (vamos, como hago siempre).

Script bash coloreado en Atom

Puedes usar tu editor de texto favorito para hacer los scripts, yo usaré atom porque es multiplataforma, opensource, y colorea la sintaxis.

Crea el fichero "myfirstscript.sh" en la ruta que quieras. No olvides que a cada fichero que crees hay que darle permisos de ejecución, escritura y lectura, bien para cada usuario:
chmod +rwx myfirstscript.sh
O bien solo para el creador:
chmod u+rwx myfirstscript.sh
Y para ejecutarlo el clásico
./myfirstscript.sh
Conceptos básicos e importantes:

1.- Variables:
  • Tipo int, se asigna valor con nombre=value, siendo value un número.
  • Tipo string, se asigna el valor con nombre="value", siendo value caracteres
  • Tipo undefined, si no existe una variable, es NULL, y no se imprime
2.- Imprimir información:
  • Se usa el comando echo "mensaje"
  • El contenido de una variable se imprime ${nombre}
  • Si la variable (undefined) no existe no aparecerá nada.
3.- Comprobación if, manual, comparations.
  • Se usa la sintaxis if[condición]
  • then para el codigo que se debe ejecutar si es cierto
  • elif para más condiciones
  • else para los casos restantes
Ejemplo:
if [ -z "${var}" ] # Check if exist, z option true if size is zero
then
   echo "var no existe"
else
   echo "var si existe"
fi
 4.- Bucle while, manual, comparations.
  • Se usa la sintaxis while [ CONDICIÓN ]
  • do para el código que se debe ejecutar mientras sea cierta
  • El script saldrá del bucle si se deja de cumplir la condición, o se ejecuta un break
  • En caso contrario quedaría atrapado hasta que se mate el proceso con kill o se mate el actual en consola con Control+C
Ejemplo:
counterwhile=0
while [ ${counterwhile} -lt 5 ]
    do
    echo "Hola iteración: ${counterwhile}"
    let counterwhile=counterwhile+1 # Forward
    #break
done
Nota: Si descomentas el break, saldrá en la primera iteración, sino imprimirá de la 0 a la 4.

5.- Bucle for, manual.
  • Se usa la sintaxis for NOMBRE in LISTA
  • do para el código que se debe ejecutar en cada iteración, al terminar done
  • El script termina al acabar la llista, o se ejecuta un break
  • Siempre acaba.
Ejemplo:
  for name in {1..5}
  do
      echo "  Variable name is: ${name}"
      #break
  done
Nota: Si descomentas el break, saldrá en la primera iteración, sino imprimirá de la 1 a la 5.

Ahora si, copia el código del snippet, pegalo en myfirstscript.sh, y ejecutalo. Se debería crear las carpetas input y output, y dar como salida:
------- My first script begins execution...
--------------------------------------------
  If you want to print a special character use \ before, # is not, $ is a special characters
  Variable with type int intvariable, ${intvariable} contains 5
  Variable with type string inputpath, ${inputpath} contains ./input
  Variable with type string outputpath, ${outputpath} contains ./output
  An unassigned variable no exist, so ${unassigned} = NULL =
  Check if exist input path...
  Creating input folder...
  Check if exist output path...
  Creating output folder...
  Check if exist file: myfile, with extension dat, full name is: myfile.dat
  File: myfile.dat not found, creating...
  List with files in ./output:
  Filename 0: myfile_0.dat   -    full: ./output/myfile_0.dat
  Filename 1: myfile_1.dat   -    full: ./output/myfile_1.dat
  Filename 2: myfile_2.dat   -    full: ./output/myfile_2.dat
  Filename 3: myfile_3.dat   -    full: ./output/myfile_3.dat
  Filename 4: myfile_4.dat   -    full: ./output/myfile_4.dat
  ls show a list of all of them too:
myfile_0.dat  myfile_1.dat  myfile_2.dat  myfile_3.dat    myfile_4.dat
------- My first script end now!
---------------------------------
Para cualquier duda, google es tu amigo, y sino busca ayuda en stackoverflow después de leerte las normas.

Drivers nvidia en Alienwarex11-R2 sobre Ubuntu 15.04, no sirve en la 15.10

 Aquí tienes la guía oficial.

Este modelo de portatil, algo antiguo, utiliza 2 tarjetas gráficas, la de la placa base y una nvidia dedicada. Se pueden ejecutar aplicaciones entre ambas añadiendo delante los siguientes comandos:
glxinfo|egrep "OpenGL vendor|OpenGL renderer*"
La de la placa base, dará una salida como esta:
OpenGL vendor string: Intel Open Source Technology Center
OpenGL renderer string: Mesa DRI Intel(R) Ironlake Mobile
y con la dedicada:
optirun glxinfo|egrep "OpenGL vendor|OpenGL renderer"
cuya salida será:
OpenGL vendor string: NVIDIA Corporation
OpenGL renderer string: GeForce GT 335M/PCIe/SSE2
 Y usas steam, y quieres que al lanzar los juegos utilicen la nvidia, añade en opciones de lanzamiento:
primusrun %command%
Si prefierse correrlo con intel para ahorrar energía, utiliza
optirun %command%

Las diferencias son:
optirun - run programs on the discrete video card
primusrun - run an application on a discrete NVIDIA video card
 Puedes comprobar la diferencia entre ponerlo y no ponerlo. Más info aquí.

Es algo complicado instalar los drivers correctamente, tras dar muchas vueltas lo conseguí con este articulo y resolver los problemas duales. Si dispones de la ultima versión de Ubuntu, aquí tienes toda la información referente a gráficos propietarios.

Nota: No actualiceis a Ubuntu 15.10, el kernel usa ABI 20, pero el driver 340 de nvidia no lo soporta, si lo hacen superiores, pero esos no soportan esta tarjeta gráfica que es la NVidia 335M. Tampoco funciona correctamente en Fedora 22 ni 23.

Para instalarlo en Ubuntu 15.04 lo más fácil y sencillo es seguir este articulo.

jueves, 5 de noviembre de 2015

15 algoritmos para ordenar vectores en C++ oidos

Para la entrada de hoy os traigo una curiosidad de video, en el que se analizan distintos tipos clásicos de algoritmos para la ordenación de un vector, de menor a mayor, y les ponen curiosos sonidos



En la página web a parte del video, encontrareis el código fuente en C++, los ejecutables para Linux y Windows, el código fuente y una explicación del proyecto. Espero que lo disfruteis tanto como yo.

viernes, 23 de octubre de 2015

Como configurar aplicaciones por defecto en Linux Mint

¿Te da problemas tu sistema de ficheros? ¿Tienes instalado Firefox y Chromium y al pinchar un link se lanza tu menos favorito? Estás de enhorabuena. Usando el comando

exo-preferred-applications


en el terminal te saldrá esta ventana con la que podrás editarlo





De esta forma podrás por ejemplo seleccionar nautilus si lo prefieres como administrador de ficheros, o cambiar la terminal.

miércoles, 7 de octubre de 2015

Fedora 22 + Nvidia + update = CRASH

Para todos los amantes del software libre, utilizar drivers privativos puede ser un problema. Sin embargo, si queremos sacar el máximo rendimiento de la tarjeta gráfica a veces no tenemos más remedio.

- Como instalar cinnamon desktop:
sudo dnf install cinnamon
Aviso: Cinnamon requiere drivers 3D funcionando, si habeis desinstalado noveaux y teneis problemas con NVidia, no arrancará, usad GNome por defecto si se ve mal o casca al arrancar.

- Como instalar nvidia en Fedora 22 manualmente (Recomendada):

0) Logueate como root y actualiza el S.O
su -
dnf update
1) Comprueba que tienes una nvidia y que modelo es:
lspci |grep -i VGA
01:00.0 VGA compatible controller: NVIDIA Corporation GM204 [GeForce GTX 970] (rev a1)
2) Busca en la página de NVidia tu modelo y descarga el ejecutable .run
3) Dale permisos de ejecución
chmod +x /path/to/NVIDIA-Linux-*.run
4) Añade noveaux a la lista negra
echo "blacklist nouveau" >> /etc/modprobe.d/blacklist.conf 
5) Edita el fichero /etc/sysconfig/grub añadiendo ‘rd.driver.blacklist=nouveau’ al final de la variable GRUB_CMDLINE_LINUX
gedit  /etc/sysconfig/grub
GRUB_CMDLINE_LINUX="rd.lvm.lv=fedora/swap rd.lvm.lv=fedora/root rhgb quiet rd.driver.blacklist=nouveau"
6) Actualiza grub2
grub2-mkconfig -o /boot/grub2/grub.cfg
7) Elimina noveaux del sistema
dnf remove xorg-x11-drv-nouveau
8) Haz una copia de seguridadde la imagen de noveaus en initramfs y crea una nueva imagen 
mv /boot/initramfs-$(uname -r).img /boot/initramfs-$(uname -r)-nouveau.img
dracut /boot/initramfs-$(uname -r).img $(uname -r)
 9) Reinicia en nivel 3 (Inicio por consola solo)
systemctl set-default multi-user.target
reboot
10) Instala manualmente los drivers de nvidia, dando a todo que si:
 sudo /path/to/NVIDIA-Linux-*.run
11) Reactiva el nivel 5 de inicio (Inicio gráfico)
systemctl set-default graphical.target
reboot 
Y listo. Ya deberían funcionar. Si dieran problemas y necesitas desinstalarlo, y no puedes acceder después del reinicio, edita el comando grub para lanzar en nivel 3. Para ello busca la linea que contenga "vmlinuz y root" y añade un 3 después del path de root y pulsa control + X para lanzar.

linux16 /boot/vmlinuz-4.1.8.x86_64 root=/dev/mapper/fedora quiet rd.driver.blacklist=noveau

quedaría

linux16 /boot/vmlinuz-4.1.8.x86_64 root=/dev/mapper/fedora quiet rd.driver.blacklist=noveau 3

12) Desinstala manualmente los drivers de nvidia al dar problemas. (Puedes usar la opción --help para ver que más puedes hacer)
 sudo /path/to/NVIDIA-Linux-*.run --uninstall

- [Alternativa] Como instalar nvidia en Fedora 22 por repositorio (Version 3.40):
sudo dnf install xorg-x11-drv-nvidia-340xx-1\:340.76-1.fc22.x86_64
Si usais drivers de NVidia, puede haber diversos problemas. Actualizar el kernel, sin actualizar los drivers de NVidia, lo que puede hacer que falle el entorno gráfico. En este caso, reinstalar manualemente (los de repositorio no son la última versión y no suelen funcionar cuando falla por esto). Además, pueden dar problemas con los libres de noveaux y con wayland y dejar de funcionar el entorno gráfico en Fedora 22 + GNome/Cinnamon desktop. Una opción para solucionar esto es quitar gdm e instalar lightdm. Si al actualizar os casca, y necesitais entrar ya podeis probar esto:
su
dnf install lightdm-gtk
systemctl disable gdm.service
systemctl enablel lightdm.service
reboot
Esto permitirá cambiar gdm por lightdm, al menos si teneis instalado Cinnamon y entrar correctamente a vuestro Fedora. Si experimentais que falla el Cinnamon desktop o steam, seguramente no funcione la exteisión GLX de OpenGL.

Deberíais probar a reinstalar Nvidia antes de hacer esto.

En caso de fallo total, o de estar completamente perdidos, "reiniciar" el problema borrando desktops custom y drivers de repositorio si los habeis instalado por repositorio.
sudo dnf remove cinnamon
sudo dnf remove xorg-x11-drv-nvidia-*  
y volved al paso de instalarlos normalmente. Linux es un sistema operativo maravilloso, pero da muchos problemas con drivers, sobre todo privativos. Espero que este post os ahorre horas de trabajo.

Enlace de interés:
- Tutorial instalar manualmente nvidia
- Añadir un usuario al grupo sudo
-Si usas ubuntu, hay repo de ppa listo

jueves, 1 de octubre de 2015

El efecto de Dunning–Kruger

Se denomina efecto Dunning-Kruger efecto por el cual los individuos con escasa habilidad o conocimientos sufren de un sentimiento de superioridad ilusorio que los hace considerarse más inteligentes que otras personas que están más preparadas.

Es decir, miden incorrectamente su habilidad cuando la consideran por encima del valor real e infravalorar la de los mejor preparados. Más concretamente:

  1. Los individuos incompetentes tienden a sobrestimar su propia habilidad.
  2. Los individuos incompetentes son incapaces de reconocer la habilidad de otros.
  3. Los individuos incompetentes son incapaces de reconocer su extrema insuficiencia.
  4. Si pueden ser entrenados para mejorar sustancialmente su propio nivel de habilidad, estos individuos pueden reconocer y aceptar su falta de habilidades previa.

"La ignorancia frecuentemente proporciona más confianza que el conocimiento" - Charles Darwin

Si quereis más información del tema podeis encontrarla fogonazos o en la wikipedia. Si no la necesitais, queda demostrado  este post.

lunes, 28 de septiembre de 2015

Privacidad y vigilancia. ¿Y qué más da? No tengo nada que ocultar

Hace unos días ví esta exposición en TEDx Madrid que publicaron en Microsiervos sobre la vigilancia y el derecho a privacidad que muchas veces no tenemos en cuenta y cedemos gran cantidad de información gracias a internet a empresas y paises para la que antes tenías que tener servicios de inteligencia trabajando día y noche para obtener con mucho más esfuerzo y un coste económico mayor.

Muchas veces, con la excusa de la seguridad, se restringen las libertades para dar paso a la vigilancia, "por nuestro bien". Como comentaba hace poco Pavel Durov:

Esa es una muy buena cuestión pero yo creo que la privacidad, en ultima instancia, y nuestro derecho a la privacidad, es más importante que el miedo a las cosas malas que puedan pasar, como el terrorismo.

Y tiene razón, porque claro que un cuchillo se puede usar para hacer daño a alguien, ¿Que vas a hacer? ¿Prohibirlos? Recordar que cada vez que bajais una aplicación para vuestro móvil y es gratuita, vosotros sois el producto, porque los datos de GPS, mensajes, etc.. valen mucho dinero, y es lo que están vendiendo cuando les das permiso para que entren en tu móvil.

Recuerda que el problema no es una agencia secreta, es el mal uso que damos a nuestra información.

- Usa criptografía para proteger tus datos.
- No compartas tu vida privada de forma irresponsable.
- No regales tu vida para que otros hagan negocio con ella.
- Sé consciente de que toda la información que generas puede ser usada en tu contra.

Manejando consolas y terminales. Guake y alternativas

Para cualquier desarrollador, el uso de la consola es muy importante. Permite en todos los sistemas operativos hacer operaciones y obtener información de forma rápida y precisa. Además, podemos hacer scripts que hagan tareas automáticamente al ser ejecutados.

Mi consola favorita debe ser Top-down, es decir, que con una tecla aparezca cubriendo todo un monitor, y vuelva a desaparecer pulsandolo otra vez. Os presento unas opciones:

Linux:

La mejor opción sin duda es Guake, cuyo código es abierto y se puede encontrar en GITHUB, es una consola muy versatil y cómoda. Puedes configurar a pantalla completa, o que baje solo una determinada cantidad de pixeles. Además puedes personalizar el color de fondo.

Para instalar:

sudo apt-get install guake -y
 
Para mostrar/ocultar (por defecto):

F12

Para abrir/cerrar nueva pestaña:

Control + Alt + T/W

Para cambiar entre pestañas:

Control + Repag/Avpag

Copiar/Pegar:

Control + Shift + C/V

MAC:

Para MAC no hay una alternativa clara, pero se puede utilizar iTerm2, también de software libre, para que se comporte como Guake.

Para configurarlo:

iTerm > Preferences > Profilers > +
Name: guake
Other actions > Set as Default 

Ajustar la ventana:

Pulsa el sub-tab Window
Columns: 350
Rows: 50 
Style: Top of screen
Space: All spaces
 
Pulsa el tab Keys, marca la opción Show/hide iTerm2 with a system-wide hotkey:
 
Hotkey: F12
 
Windows:


En windows las consolas dejan bastante que desear. Tanto la mítica cmd, como la nueva powershell no tienen el abanico de comandos que tienen los terminales de sistemas operativos basados en UNIX. De todas formas, puedes usar Windows Quake Style Console para que se comporten como tal, ya que los míticos comandos como ipconfig, dan información útil. Además de que puedes ejecutar scripts bat


Bueno, hasta aquí todo lo que os puedo contar, espero que os sea útil.


lunes, 21 de septiembre de 2015

Construyendo un puente para personas con cuadricópteros.

Entre los muchos usos que se le puede dar a los cuadricopteros, me ha encantado el que le dan estos chicos para escribir papers. A continuación:

 

Más info del proyecto aquí 


Extra: Conduciendo un cuadricóptero en primera persona.

jueves, 17 de septiembre de 2015

Bots in telegram


¿Qué es un BOT?

Es un programa con un comportamientos programado y con el que podemos interactuar. En el caso de telegram, hay varios tipos, y permiten crear packs de stickers, obtener fotos, jugar al trivial...

¿Cómo añado un bot a Telegram?

1º Necesitarás un enlace de la forma: https://telegram.me/botName
2º Sustituye botName por el nombre del bot elegido.

Ejemplos:
· Para obtener imagenes: https://telegram.me/imageBot
· Crear y hacer encuestas: https://telegram.me/pollBot
· Jugar al trivial: https://telegram.me/triviaBot
· Puntuar strickers: https://telegram.me/RateStickerBot

¿Cómo se interactua con un BOT?

Básicamente se envian comandos con opciones, y se obtienen respuestas.

Ejemplos:

· imageBot: /get computer , mostrará una imagen de ordenadores.
· RateStickerBot: /start, comenzará a mostrar stickers para puntuar.
· RateStickerBot: /stop, dejará de mostrarlos.

¿Cómo creo un BOT?

Si hablas con botfather, el BOT encargado de asesorarte, puedes hacerlo.

1º Añade a: https://telegram.me/botfather
2º Usa sus comandos para crearlo a tu antojo, que son:

/newbot - Crear un nuevo BOT
/token - Generar token de autorización
/revoke - Revocar token de acceso del BOT
/setname - Cambiar el nombre del BOT
/setdescription - Cambiar la descripción
/setabouttext - Cambiar el about
/setuserpic - Cambiar la foto de perfil
/setcommands - Cambiar la lista de comandos
/setjoingroups - Permitir añadirlo a grupos
/setprivacy - Mensaje en grupos
/deletebot - Borrar el BOT
/cancel - Cancelar el comando que estes usando

* En python: Si quereis un tutorial más avanzado, en geekytheory enseñan a usar el API para programarlo en Python

miércoles, 16 de septiembre de 2015

Juega con los colores

 Aquí Víctor Goñi Sanz.

Nuestro tema de post es el color. Adobe nos proporciona esta herramienta para que cualquier diseñador, o un simple aficionado, pueda crear conjuntos de colores a su gusto.

Básicamente es un circulo cromático en el que solo tienes que elegir una regla cromática para la elección de colores que combinen bien. En el circulo cromático nos encontramos en el centro el blanco, y conforme nos alejamos hasta su radio máximo tenemos las componentes de cada color.

 Puedes elegir las siguientes reglas.

- Colores análogos: Son aquellos que tienen un común denominador, y se encuentran próximos en el circulo cromático.
- Colores Monocromáticos: Son aquellos que se encuentran en línea recta desde el centro hasta el borde del circulo cromático, es decir, de blanco a color puro los distintos grados.
- Colores en triada:  Son aquellos 3 colores que dejan el mismo ángulo entre cada uno de los otros 2, independientemente del punto del radio en el que se encuentren.
- Colores complementarios:  Son aquellos que están en linea recta con el centro, pero a lados opuestos de él.
- Colores compuestos:  Distinta combinación de coloresa juego.
- Colores con tonos:  Combina varios tonos de un mismo color.


Si quieres saber más sobre como elegir colores parecidos, o distintos y que contrasten bien, lee algo sobre la Teoría del color.


Por ejemplo, si quieres personalizar un diseño, los colores de tu blog, o ver de que se compone una imagen podrás hacerlo con esta herramienta.

Además, en este enlace, podrás mover el ratón por la pantalla hasta encontrar un tono agradable, clickar para guardarlo, y buscar otro recursivamente.

martes, 15 de septiembre de 2015

La NASA ya tiene su propio canal de TV en 4K

Si eres un aerotrastornado y te gusta el espacio, estás de enhorabuena. La NASA ha abierto un canal en resolución 4K para poder ver el espacio, el interior de la ISS, documentales históricos, entrevistas relacionadas con el espacio y mucho más.

Puedes ver el streaming aquí. Necesitas una buena conexión para disfrutar de los 4K en streaming.

jueves, 10 de septiembre de 2015

Computational Hydrographic Printing (SIGGRAPH 2015)


Aquí Víctor Goñi Sanz.

El pasado agosto se celebró, como cada año, el siggraph 2015

¿De que hablaron? Pues de un montón de cosas, lo último en Realidad aumentada, procesado de imagen, 3d printing... podeis ver el programa completo, con enlaces a los papers aquí, aunque es mucho más fácil y emocionante ver el trailer:



Si estás interesado, aqui hay una web donde hay información de los autores, y enlaces a todos los papers.

Uno de los que más me gustó es el de Computional hydrographic printing, que consiste en imprimir la textura de un modelo 3D para ponerselo a la impresión 3D. Mejor lo vemos:




El efecto Kuleshov

El efecto Kuleshov es un experimento que demuestra que en cine, los espectadores se convierten en parte activa de la obra debido a la interpretación que hacen de ella. De manera inconciente el espectador relaciona las imagenes de expresiones con sus propias interpretaciones. 

La demostración llevada a cabo por el cineasta ruso Lev Kuleshov durante los años veinte consistia en mostrar a una audiencia una secuencia en la que se intercalaba la misma toma del actor Iván Mozzhujin con las de un plato de sopa, un ataúd y una niña jugando. La audiencia percibió que la expresión de Mozzhujin cambiaba en cada secuencia, con lo cual se comprobó que el montaje tiene una gran influencia en la comprensión semántica de lo que aparece en una escena.


Video original:


Video de este efecto explicado por Alfred Hitchcock