Archive for the 'Programacion' Category

Libro: Desarrollo de Videojuegos, Un Enfoque Práctico

Via Barrapunto encuentro la referencia de éste libro. Copio y pego:

Como viene siendo habitual en estas fechas, se ha publicado el material docente de la Tercera Edición del Curso de Experto en Desarrollo de Videojuegos. Este “tochete” en PDF (1160 páginas) recoge los aspectos más relevantes en programación de videojuegos: Arquitectura del Motor, Programación Gráfica, Desarrollo de Componentes y Técnicas Avanzadas. Los apuntes del Curso de Experto en Desarrollo de Videojuegos se han convertido en un referente a nivel internacional. Con más de 120.000 descargas en 2 años, este material distribuido bajo licencia CC-BY-SA-NC se viene utilizando como complemente formativo en diversos cursos de programación de videojuegos en universidades españolas e iberoamericanas.

Enlace | Curso de experto en desarrollo de videojuegos

Instalar el editor de texto “Atom” en Ubuntu

ATOM00

Aunque todavia en Beta, Se ha liberado el codigo de fuente del editor de texto atom por parte de GitHub, éste editor de texto tiene un look muy similar al conocido “Sublime Text” y proporciona muchas de sus caracteristicas. De momento sólo hay binarios para Mac, y si quisieramos instalarlo en Ubuntu tendriamos que bajar el código fuente y compilarlo. Pero gracias a WebUpd8 tenemos disponible un precompilado para Ubuntu 64 bit en el siguiente PPA. Nota: Atom actualmente no funciona para Ubuntu 32 bit habrá que esperar. Los pasos:

sudo add-apt-repository ppa:webupd8team/atom
sudo apt-get update
sudo apt-get install atom

Enlace | atom | primeros pasos con atom

Advanced Bash-Scripting Guide

Me encanta Bash, y la mejor forma de aprender es programando. Empiezas poco a poco con algo básico y cuando ya tienes algo más de soltura, puedes leer guias más avanzadas como la siguiente:

Enlace | Advanced Bash-Scripting Guide | version HTML

netstat -putona: Un comando que no olvidarás para monitorizar las conexiones en Linux

putona

Es un comando cuya curiosa combinación de parámetros descubrí hace unas cuantas semanas y tenía pendiente escribir un pequeño post sobre el mismo, pero en Martin Juarez me lo he encontrado perfectamente explicado.

El comando netstat nos permite visualizar las conexiones entrantes y salientes en Linux, con este comando por ejemplo
podemos saber que puertos utiliza un determinado proceso.

Una combinación de parametros muy fácil de recordar (porque será ^^) y que nos da mucha información es la siguiente:

$ netstat -putona

Donde los parametros vienen a significar lo siguiente:

p Muestra las conexiones para el protocolo especificado que puede ser TCP o UDP
u Lista todos los puertos UDP
t Lista todos los puertos TCP
o Muestra los timers
n Muestra el numero de puerto
a Visualiza todas las conexiones activas del sistema

Por ejemplo: para saber que proceso ocupa el puerto 1521 podriamos usar:

netstat -putona | grep :1521

Si tambien queremos eliminar las conexiones a un determinado puerto o host, podriamos usar el comando tcpkill.

Por cierto la versión para chicas podria ser: netstat -capullo

RoboMongo: Herramienta de administración para MongoDB

robomongo

Si trabajas con la base de datos MongoDB, puede que ésta utilidad te sea de interes. Disponible para Windows, Linux y Mac te permite trabajar más comodamente desde una GUI y administrar la base de datos. Puedes descargarla desde el siguiente enlace. Escribi un articulo sobre MongoDB hace algún tiempo pero hay tambien muy buena documentación en el sitio principal.

Relacionado | Una introducción a MongoDB

Ejecutar PLSQL desde shell script y guardar los resultados en variables

oracle

En dbaspot encuentro un buen ejemplo de script de como ejecutar un procedimiento PLSQL desde bash y como almacenar los resultados de las consultas en variables. Éste seria un ejemplo (adaptado para usar mi base de datos Oracle XE):


#!/bin/bash

#OUTPUT=$(sqlplus -s '/ as sysdba' <<-EOF
OUTPUT=$(sqlplus -s system/manager@XE <<-EOF
set heading off feedback off serveroutput on trimout on pagesize 0

select instance_name from v\$instance;
select version from v\$instance;

declare
i number := 0;
begin
while i < 3 loop
dbms_output.put_line('Parametro_PLSQL_' || i);
i := i+1;
end loop;
end;
/
EOF
)

# Sin dejar espacios pq los espacios son los nuevos parametros

INSTANCE=$(echo $OUTPUT | awk '{ print $1 }')
VERSION=$(echo $OUTPUT | awk '{ print $2 }')
ARG1=$(echo $OUTPUT | awk '{ print $3 }')
ARG2=$(echo $OUTPUT | awk '{ print $4 }')
ARG3=$(echo $OUTPUT | awk '{ print $5 }')

echo "Database: $INSTANCE":wr
echo "Version: $VERSION"
echo "Arg1: $ARG1"
echo "Arg2: $ARG2"
echo "Arg3: $ARG3"

Aqui puedes adaptarlo para tus propios ejemplos. Lo más importante la cadena de conexión, yo al usar Oracle XE tengo (system/manager@XE), en tu base de datos pon tu cadena usuario/password@SID. Despues que tambien los parametros devueltos no tengan espacios, pues al asignarlos a variables, el espacio es utilizado como separador. En el script hay una parte donde se devuelve una columna directamente de una select y esta es asignada a una variable de la shell, y otra parte donde se escribe el parametro con el paquete dbms_output.

XlsxWriter: Módulo Python para crear ficheros Excel

xlsx

 

Llevo unos cuantos días utilizando XlsxWriter y me está sorprendiendo gratamente. Tiene un API muy sencillo y te permite fácilmente crear desde Python, hojas Excel en formato .xlsx y con prácticamente todas las funcionalidades que necesitarás: Creación y Manejo de diferentes tabs, inserción de imágenes, generación de gráficos, diferentes formatos, tablas, autofiltros, uso de fórmulas y mucho más.

Crearia un tutorial de uso, pero la documentación es tan buena y completa que sólamente tendrás que ir siguiendo los diferentes ejemplos que comenta para ir conociendo y explotando sus posibilidades.

Usar esquemas de colores en Console2

schema_color_console

Y si hace unos días comentaba como usar esquemas de colores con Mintty. Con Console2 tambien se puede, aunque cambia un poco la forma de hacerlo. En éste caso (y si por ejemplo quieres usar el esquema de colores Solarized) deberas localizar el fichero “console.xml” que suele estar en el directorio de instalación, y reemplazar la sección <colors>..</colors> por lo siguiente:

<colors>

   <color id="0" r="7" g="54" b="66"/> <!-- black -->
   <color id="1" r="38" g="139" b="210"/> <!-- blue -->
   <color id="2" r="133" g="153" b="0"/> <!-- green -->
   <color id="3" r="42" g="161" b="152"/> <!-- cyan -->
   <color id="4" r="220" g="50" b="47"/> <!-- red -->
   <color id="5" r="211" g="54" b="130"/> <!-- magenta -->
   <color id="6" r="181" g="137" b="0"/> <!-- yellow/brown -->
   <color id="7" r="238" g="232" b="213"/> <!-- white -->
   <color id="8" r="0" g="43" b="54"/> <!-- brblack -->
   <color id="9" r="131" g="148" b="150"/> <!-- brblue -->
   <color id="10" r="88" g="110" b="117"/> <!-- brgreen -->
   <color id="11" r="147" g="161" b="161"/> <!-- brcyan -->
   <color id="12" r="203" g="75" b="22"/> <!-- brred -->
   <color id="13" r="108" g="113" b="196"/> <!-- brmagenta/violet -->
   <color id="14" r="101" g="123" b="131"/> <!-- bryellow -->
   <color id="15" r="253" g="246" b="227"/> <!-- brwhite  -->
</colors>
Reinicias y listo.
Visto en | Curlybrace

Cambiar el schema de color en Mintty

Por desgracia no siempre puedo usar Linux, entonces, cuando me toca utilizar Windows siempre me procuro (si puedo) primero instalar Cygwin, y después usar una terminal que me haga más cómodo mi trabajo.

He probado prácticamente todas las opciones posibles: Console2, Poderosa, MobaXterm, etc, etc… Console2 me gusto mucho por su soporte de Cygwin y pestañas, pero últimamente estoy usando Mintty y cubre con creces mis necesidades.

Me gusta su look minimalista, tiene la pega de que no soporta pestañas, pero no las echo en falta pues puedes poner la terminal a pantalla completa y pulsando Control+Tab ir cambiando entre las diferentes terminales Mintty abiertas. Y aqui ocho razones más.

Lo que voy a comentar aqui, es como cambiar el esquema de colores, asi puedes utilizar tu combinación de colores favorita cuando estés escribiendo en la terminal o editando algún archivo con “vim”.

Aqui algunos ejemplos:

Usando solarized.dark:

mintty_solarized_dark

Usando solarized.light:

mintty_solarized_light

Usando xoria:

mintty_solarized_xoria

Editando un archivo con vim:

mintty_vim

Si te “motiva” alguno, crear tus propios schemas es fácil. Tal y como cuentan en Solarized puedes crear en tu directorio HOME
un archivo .minttyrc al estilo:

ForegroundColour=131, 148, 150
BackgroundColour= 0, 43, 54
CursorColour= 220, 50, 47
Black= 7, 54, 66
BoldBlack= 0, 43, 54
Red= 220, 50, 47
BoldRed= 203, 75, 22
Green= 133, 153, 0
BoldGreen= 88, 110, 117
Yellow= 181, 137, 0
BoldYellow= 101, 123, 131
Blue= 38, 139, 210
BoldBlue= 131, 148, 150
Magenta= 211, 54, 130
BoldMagenta= 108, 113, 196
Cyan= 42, 161, 152
BoldCyan= 147, 161, 161
White= 238, 232, 213
BoldWhite= 253, 246, 227

donde defines los colores a utilizar. Entonces reinicias mintty para que tome los cambios. O en su defecto creas un shell script que te los cargue directamente:

echo -ne '\e]10;#839496\a' # Foreground -> base0
echo -ne '\e]11;#002B36\a' # Background -> base03
echo -ne '\e]12;#93A1A1\a' # Cursor -> base1
echo -ne '\e]4;0;#073642\a' # black -> Base02
echo -ne '\e]4;8;#002B36\a' # bold black -> Base03
echo -ne '\e]4;1;#DC322F\a' # red -> red
echo -ne '\e]4;9;#CB4B16\a' # bold red -> orange
echo -ne '\e]4;2;#859900\a' # green -> green
echo -ne '\e]4;10;#586E75\a' # bold green -> base01 *
echo -ne '\e]4;3;#B58900\a' # yellow -> yellow
echo -ne '\e]4;11;#657B83\a' # bold yellow -> base00 *
echo -ne '\e]4;4;#268BD2\a' # blue -> blue
echo -ne '\e]4;12;#839496\a' # bold blue -> base0 *
echo -ne '\e]4;5;#D33682\a' # magenta -> magenta
echo -ne '\e]4;13;#6C71C4\a' # bold magenta -> violet
echo -ne '\e]4;6;#2AA198\a' # cyan -> cyan
echo -ne '\e]4;14;#93A1A1\a' # bold cyan -> base1 *
echo -ne '\e]4;7;#EEE8D5\a' # white -> Base2
echo -ne '\e]4;15;#FDFDE3\a' # bold white -> Base3

No es complicado crear tus propios esquemas de color.

Relacionado | Tips para Mintty | xoria256 para mintty

All Cheat Sheets para Chrome

CHEAT

Si usas Chrome, eres desarrollador y quieres tener a mano todas las “chuletas” de Java, Python, HTML, etc, etc… All Cheat Sheets es una buena extensión para Chrome que podrás instalar desde Chrome Store.



The next version of Ubuntu is coming soon


¿Es compatible tu equipo con Ubuntu?


( Muchos fondos de pantalla, aqui )

DESCARGATE SCIFI LIFE

365 Dias de Soledad
Me debes los sueños, las promesas y las noches rotas. Me debes la paz, la sonrisa y la esperanza robadas. Me debes la sangre, las lágrimas y el sudor vertido. Me debes las noches vacías, los abrazos anhelados. Me debes un beso de ajenjo de tu amarga boca.

The Ubuntu Counter Project - user number # 11961
Geo Visitors Map
julio 2014
L M X J V S D
« jun    
 123456
78910111213
14151617181920
21222324252627
28293031  

Blog Stats

  • 26,574,966 hits

Seguir

Recibe cada nueva publicación en tu buzón de correo electrónico.

Únete a otros 1.032 seguidores