Mariano Draghi (cHagHi): Receta

Paso 1: Conseguir a Sarah Connor.

Paso 2: Clonarla. Necesito por lo menos 2 copias. 3 sería mejor, pero para arrancar, con 2 me arreglo.

Paso 3: Convencer a cada una de las Sarah de que las oficinas de un par de clientes de la consultora son en realidad oficinas de Cyberdyne Systems Corporation.

Paso 4: Disfrutar de las explosiones desde una distancia prudente.

Mariano Draghi (cHagHi): A Song of Ice and Fire: hasta ahora, una de cal y otra de arena...

Acabo de terminar A Feast for Crows, cuarto libro de la saga A Song of Ice and Fire (aka "Game of Thrones", para los que conocen la miniserie de HBO). Se veía venir como el peor, y lo terminó demostrando. Que manera de llenar páginas y páginas con detalles que no aportan nada a la historia, de enredar la trama con personajes secundarios chatos, que no hacen nada, dejando de lado a los personajes principales (que supuestamente se retoman en A Dance with Dragons). Si no fuera porque el primer libro (A Game of Thrones), y especialmente el tercero (A Storm of Swords) fueron tan disfrutables, abandonaría la saga acá mismo. Pero no, no puedo olvidarme. Y ya estoy en la mitad del río, e invertí un montón de horas (¡y páginas!) en llegar hasta acá. Te odio, George R.R. Martin. Si no le das un final digno a la saga, me voy a tomar un avión y te voy a ir a recagar a patadas en el ocote, ¿'tamos?

En fin. Algún que otro fan "histórico" de la saga diría que igual me quejo de lleno. Los que venían siguiendo A Song of Ice and Fire desde el comienzo (año '96, creo), tuvieron que esperar algo así como 3 años después del excelente A Storm of Swords, para poder leer A Feast for Crows, y darse cuenta que eran 700 páginas de "Lado B" (la analogía se la robé a un flaco que escribió un excelente review en Goodreads (ojo, que tiene spoilers)), y tuvieron que esperar 5 años más (¡CINCO AÑOS MAS!) por la publicación de A Dance with Dragons, que habia sido prometida para el año siguiente.

Yo tengo la suerte de poder arrancar con el quinto libro mañana mismo.

Pero igual.

Te odio, George R.R. Martin.

¡Te odio!

P.D.: FWIW, este es mi review en Goodreads.

Gabriel Patiño: La fábrica de banquitos

Para el día del niño tenía ganas de hacer algo para mis sobrinos (siete en Buenos Aires), pero no tenía mucho tiempo, así que se me complicó al momento de buscar que juguete le vendría bien a cada uno.

Entonces se nos ocurrió la idea de algo que les sirva a todos sin importar la edad: banquitos.


Busqué varios modelos por la web, no parecían muy difíciles de hacer, y encima encontré planos gratis online (un buen sitio, con planos para varias cosas: http://www.craftsmanspace.com).

Tomando el primer banquito como ejemplo, lo simplifique un poco, y a fabricar banquitos en serie.

Estuve un rato largo preguntando sobre diferentes maderas en la maderera Grau & Weiss, y me terminé decidiendo por el paraíso. Es una madera bastante económica, pero mucho mas linda que el pino. Al menos con esta madera se puede trabajar sin que se desgrane como la parte blanca del pino. Después me enteré que se usa para hacer muebles, y vi que en algunos casos, bien terminada, quedaba muy linda.

Así que a cortar, lijar, taladrar, encolar, lijar de nuevo, y más lija por las dudas.


Para hacer tantos banquitos a la vez, es muy importante seguir un método, entonces me tome un buen tiempo antes de agarrar la primer tabla para visualizar los pasos que iba a seguir y hacer una nota mental para no tener que improvisar sobre la marcha.

El armado lo hice con tarugos de madera y cola, no hay ni un clavo ni un tornillo, nada metálico.


Los nombres los grabamos con una soldadora, menos mal que acá Vale me ayudó porque con mi letra hubieran sido solo garabatos. La terminación la hice con mucha lija a mano, una capa de goma laca para sellar y darles un color un poco mas naranja, y después dos manos de protector para exteriores (con una lijada rápida de 600 entre manos).


Al principio quise apurarme y saltear pasos porque me quedaba a mano tal o cual cosa, pero me resistí y cumplí con lo que había planificado paso a paso.
Recién al final tuve que romper la línea de producción para terminar tres banquitos antes que el resto, pero fué porque se me venía el día del niño y tenían prioridad mis sobrinas, ya que ibamos a comer con ellas.

Quedaron muy suaves al tacto, y con un leve brillo, como si estuvieran apenas lustrados. A las nenas les encanto, vamos a ver si resisten el uso de los varones. Ojalá que duren al menos un par de años, es la primera vez que hago muebles (chicos, pero muebles al fin), asi que no se cuando aguantaran el abuso que seguramente les van a dar.

Joaquin Tita: Matplotlibs colors

Here is a list of some weirds colors you can use to change the always classic colors.
For example:     ax.scatter(band1, band2, s=size_point, color='tomato')


cnames = {
'aliceblue' : '#F0F8FF',
'antiquewhite' : '#FAEBD7',
'aqua' : '#00FFFF',
'aquamarine' : '#7FFFD4',
'azure' : '#F0FFFF',
'beige' : '#F5F5DC',
'bisque' : '#FFE4C4',
'black' : '#000000',
'blanchedalmond' : '#FFEBCD',
'blue' : '#0000FF',
'blueviolet' : '#8A2BE2',
'brown' : '#A52A2A',
'burlywood' : '#DEB887',
'cadetblue' : '#5F9EA0',
'chartreuse' : '#7FFF00',
'chocolate' : '#D2691E',
'coral' : '#FF7F50',
'cornflowerblue' : '#6495ED',
'cornsilk' : '#FFF8DC',
'crimson' : '#DC143C',
'cyan' : '#00FFFF',
'darkblue' : '#00008B',
'darkcyan' : '#008B8B',
'darkgoldenrod' : '#B8860B',
'darkgray' : '#A9A9A9',
'darkgreen' : '#006400',
'darkkhaki' : '#BDB76B',
'darkmagenta' : '#8B008B',
'darkolivegreen' : '#556B2F',
'darkorange' : '#FF8C00',
'darkorchid' : '#9932CC',
'darkred' : '#8B0000',
'darksalmon' : '#E9967A',
'darkseagreen' : '#8FBC8F',
'darkslateblue' : '#483D8B',
'darkslategray' : '#2F4F4F',
'darkturquoise' : '#00CED1',
'darkviolet' : '#9400D3',
'deeppink' : '#FF1493',
'deepskyblue' : '#00BFFF',
'dimgray' : '#696969',
'dodgerblue' : '#1E90FF',
'firebrick' : '#B22222',
'floralwhite' : '#FFFAF0',
'forestgreen' : '#228B22',
'fuchsia' : '#FF00FF',
'gainsboro' : '#DCDCDC',
'ghostwhite' : '#F8F8FF',
'gold' : '#FFD700',
'goldenrod' : '#DAA520',
'gray' : '#808080',
'green' : '#008000',
'greenyellow' : '#ADFF2F',
'honeydew' : '#F0FFF0',
'hotpink' : '#FF69B4',
'indianred' : '#CD5C5C',
'indigo' : '#4B0082',
'ivory' : '#FFFFF0',
'khaki' : '#F0E68C',
'lavender' : '#E6E6FA',
'lavenderblush' : '#FFF0F5',
'lawngreen' : '#7CFC00',
'lemonchiffon' : '#FFFACD',
'lightblue' : '#ADD8E6',
'lightcoral' : '#F08080',
'lightcyan' : '#E0FFFF',
'lightgoldenrodyellow' : '#FAFAD2',
'lightgreen' : '#90EE90',
'lightgrey' : '#D3D3D3',
'lightpink' : '#FFB6C1',
'lightsalmon' : '#FFA07A',
'lightseagreen' : '#20B2AA',
'lightskyblue' : '#87CEFA',
'lightslategray' : '#778899',
'lightsteelblue' : '#B0C4DE',
'lightyellow' : '#FFFFE0',
'lime' : '#00FF00',
'limegreen' : '#32CD32',
'linen' : '#FAF0E6',
'magenta' : '#FF00FF',
'maroon' : '#800000',
'mediumaquamarine' : '#66CDAA',
'mediumblue' : '#0000CD',
'mediumorchid' : '#BA55D3',
'mediumpurple' : '#9370DB',
'mediumseagreen' : '#3CB371',
'mediumslateblue' : '#7B68EE',
'mediumspringgreen' : '#00FA9A',
'mediumturquoise' : '#48D1CC',
'mediumvioletred' : '#C71585',
'midnightblue' : '#191970',
'mintcream' : '#F5FFFA',
'mistyrose' : '#FFE4E1',
'moccasin' : '#FFE4B5',
'navajowhite' : '#FFDEAD',
'navy' : '#000080',
'oldlace' : '#FDF5E6',
'olive' : '#808000',
'olivedrab' : '#6B8E23',
'orange' : '#FFA500',
'orangered' : '#FF4500',
'orchid' : '#DA70D6',
'palegoldenrod' : '#EEE8AA',
'palegreen' : '#98FB98',
'palevioletred' : '#AFEEEE',
'papayawhip' : '#FFEFD5',
'peachpuff' : '#FFDAB9',
'peru' : '#CD853F',
'pink' : '#FFC0CB',
'plum' : '#DDA0DD',
'powderblue' : '#B0E0E6',
'purple' : '#800080',
'red' : '#FF0000',
'rosybrown' : '#BC8F8F',
'royalblue' : '#4169E1',
'saddlebrown' : '#8B4513',
'salmon' : '#FA8072',
'sandybrown' : '#FAA460',
'seagreen' : '#2E8B57',
'seashell' : '#FFF5EE',
'sienna' : '#A0522D',
'silver' : '#C0C0C0',
'skyblue' : '#87CEEB',
'slateblue' : '#6A5ACD',
'slategray' : '#708090',
'snow' : '#FFFAFA',
'springgreen' : '#00FF7F',
'steelblue' : '#4682B4',
'tan' : '#D2B48C',
'teal' : '#008080',
'thistle' : '#D8BFD8',
'tomato' : '#FF6347',
'turquoise' : '#40E0D0',
'violet' : '#EE82EE',
'wheat' : '#F5DEB3',
'white' : '#FFFFFF',
'whitesmoke' : '#F5F5F5',
'yellow' : '#FFFF00',
'yellowgreen' : '#9ACD32',
'black' : '#000000',
'navy' : '#000080',
'darkblue' : '#00008B',
'mediumblue' : '#0000CD',
'blue' : '#0000FF',
'darkgreen' : '#006400',
'green' : '#008000',
'teal' : '#008080',
'darkcyan' : '#008B8B',
'deepskyblue' : '#00BFFF',
'darkturquoise' : '#00CED1',
'mediumspringgreen' : '#00FA9A',
'lime' : '#00FF00',
'springgreen' : '#00FF7F',
'aqua' : '#00FFFF',
'cyan' : '#00FFFF',
'midnightblue' : '#191970',
'dodgerblue' : '#1E90FF',
'lightseagreen' : '#20B2AA',
'forestgreen' : '#228B22',
'seagreen' : '#2E8B57',
'darkslategray' : '#2F4F4F',
'limegreen' : '#32CD32',
'mediumseagreen' : '#3CB371',
'turquoise' : '#40E0D0',
'royalblue' : '#4169E1',
'steelblue' : '#4682B4',
'darkslateblue' : '#483D8B',
'mediumturquoise' : '#48D1CC',
'indigo' : '#4B0082',
'darkolivegreen' : '#556B2F',
'cadetblue' : '#5F9EA0',
'cornflowerblue' : '#6495ED',
'mediumaquamarine' : '#66CDAA',
'dimgray' : '#696969',
'slateblue' : '#6A5ACD',
'olivedrab' : '#6B8E23',
'slategray' : '#708090',
'lightslategray' : '#778899',
'mediumslateblue' : '#7B68EE',
'lawngreen' : '#7CFC00',
'chartreuse' : '#7FFF00',
'aquamarine' : '#7FFFD4',
'maroon' : '#800000',
'purple' : '#800080',
'olive' : '#808000',
'gray' : '#808080',
'skyblue' : '#87CEEB',
'lightskyblue' : '#87CEFA',
'blueviolet' : '#8A2BE2',
'darkred' : '#8B0000',
'darkmagenta' : '#8B008B',
'saddlebrown' : '#8B4513',
'darkseagreen' : '#8FBC8F',
'lightgreen' : '#90EE90',
'mediumpurple' : '#9370DB',
'darkviolet' : '#9400D3',
'palegreen' : '#98FB98',
'darkorchid' : '#9932CC',
'yellowgreen' : '#9ACD32',
'sienna' : '#A0522D',
'brown' : '#A52A2A',
'darkgray' : '#A9A9A9',
'lightblue' : '#ADD8E6',
'greenyellow' : '#ADFF2F',
'palevioletred' : '#AFEEEE',
'lightsteelblue' : '#B0C4DE',
'powderblue' : '#B0E0E6',
'firebrick' : '#B22222',
'darkgoldenrod' : '#B8860B',
'mediumorchid' : '#BA55D3',
'rosybrown' : '#BC8F8F',
'darkkhaki' : '#BDB76B',
'silver' : '#C0C0C0',
'mediumvioletred' : '#C71585',
'indianred' : '#CD5C5C',
'peru' : '#CD853F',
'chocolate' : '#D2691E',
'tan' : '#D2B48C',
'lightgrey' : '#D3D3D3',
'thistle' : '#D8BFD8',
'orchid' : '#DA70D6',
'goldenrod' : '#DAA520',
'crimson' : '#DC143C',
'gainsboro' : '#DCDCDC',
'plum' : '#DDA0DD',
'burlywood' : '#DEB887',
'lightcyan' : '#E0FFFF',
'lavender' : '#E6E6FA',
'darksalmon' : '#E9967A',
'violet' : '#EE82EE',
'palegoldenrod' : '#EEE8AA',
'lightcoral' : '#F08080',
'khaki' : '#F0E68C',
'aliceblue' : '#F0F8FF',
'honeydew' : '#F0FFF0',
'azure' : '#F0FFFF',
'wheat' : '#F5DEB3',
'beige' : '#F5F5DC',
'whitesmoke' : '#F5F5F5',
'mintcream' : '#F5FFFA',
'ghostwhite' : '#F8F8FF',
'salmon' : '#FA8072',
'sandybrown' : '#FAA460',
'antiquewhite' : '#FAEBD7',
'linen' : '#FAF0E6',
'lightgoldenrodyellow' : '#FAFAD2',
'oldlace' : '#FDF5E6',
'red' : '#FF0000',
'fuchsia' : '#FF00FF',
'magenta' : '#FF00FF',
'deeppink' : '#FF1493',
'orangered' : '#FF4500',
'tomato' : '#FF6347',
'hotpink' : '#FF69B4',
'coral' : '#FF7F50',
'darkorange' : '#FF8C00',
'lightsalmon' : '#FFA07A',
'orange' : '#FFA500',
'lightpink' : '#FFB6C1',
'pink' : '#FFC0CB',
'gold' : '#FFD700',
'peachpuff' : '#FFDAB9',
'navajowhite' : '#FFDEAD',
'moccasin' : '#FFE4B5',
'bisque' : '#FFE4C4',
'mistyrose' : '#FFE4E1',
'blanchedalmond' : '#FFEBCD',
'papayawhip' : '#FFEFD5',
'lavenderblush' : '#FFF0F5',
'seashell' : '#FFF5EE',
'cornsilk' : '#FFF8DC',
'lemonchiffon' : '#FFFACD',
'floralwhite' : '#FFFAF0',
'snow' : '#FFFAFA',
'yellow' : '#FFFF00',
'lightyellow' : '#FFFFE0',
'ivory' : '#FFFFF0',
'white' : '#FFFFFF',
}

Gabriel Patiño: Que buen sitio de carpinteros!

Encontré un sitio super recomendable para quienes gusten de hacer cosas con madera: http://lumberjocks.com/

Hay gente que sabe un montón, otros que somos principiantes, pero lo más importante: un montón de proyectos para chusmear, preguntar como lo hicieron, inspirarse, copiar, etc.

Por ahora subí solo el perrito de madera y ya tuve unos cuantos comentarios positivos. Algunos hasta me dijeron que lo iban a copiar. Parece que Lumi va a tener primos en alguna parte del mundo!

Mi perfil: http://lumberjocks.com/gepatino

También tienen unos foros, pero todavía no entre. Eso sí, todo en inglés...

Hernán Grecco: Moving to Lantz

Lantz is a Python automation and instrumentation toolkit that allows you to control instruments in a clean and efficient manner writing pure Python code. Since I released Lantz a few weeks ago, I have received a lot of positive e-mails about the project. Most of them can be summarized as: It looks very nice! I love Python and I have been looking for a Pythonic way to do instrumentation!

It is encouraging to receive such positive comments and also confirms that Lantz is in the right path: Not a Domain-specific language, not a do-it-my-way framework, but a complete, coherent and concise set of classes and functions for instrumentation in Python. Lantz provides base classes and functions decorators to help you write your drivers as shown in the figure (thanks Pablo Jais!). You can find more details in the documentation's overview.

https://mail-attachment.googleusercontent.com/attachment/u/0/?ui=2&ik=d8d39f8ca3&view=att&th=1388c8c83b9d9f9d&attid=0.3&disp=inline&safe=1&zw&saduie=AG9B_P_EoaXX6WAPRrHXCwDQECv5&sadet=1344024375829&sads=xBH65kodnEe7QdYFMOg7azYy9lcInertia is what stopping many to start using Lantz. For most of us, instrumentation is the means to an end. We need to measure, do experiments, get results ... and we are faster with the tools that we know. We cannot just stop  our work while we migrate to a new set of tools. But then, when we are trying to fix some bugs or add new features we think: why I am still using this!?!?.

If you want to start using Lantz, here are a few suggestions. Find a simple, self-contained experiment that you need to perform. Lantz is a young project which means that only a few instruments are supported out of the box. It is very likely that you have to build your own driver. But that's not a problem, it is part of Lantz purpose!

It is good if you have used the required instruments before and even better if you have some other software to control them. This will allow you to test the connection to your instrument before you try with Lantz. 

Choose an appropriate base class depending on the instrument interface and implement the simplest command you can find in the manual. Usually there is one command to request the instruments identification.

Target first a command line application, a simple script that talks to the instrument and write the results to screen or to a file. The focus should be first about communicating with the instrument.

For more details take a look at the tutorials.

... and tell us what are you doing and how we might help.

Project documentation: main server and GitHub mirror
Public source code repository: GitHub

Maximiliano Robaina: Firebird SQL: Estado del driver para python

El driver python para Firebird SQL es fue históricamente kinterbasdb (KDB) [0] de hecho, el único que había hasta el momento. Desde hace ya un tiempo se está desarrollando un reemplazo del mismo con el nombre de FDB [1], el cual está en un estado de estabilidad importante. Acá los principales puntos que lo diferencian:

  1. KDB es implementado usando una mezcla de C/C++ y Python mientras que FDB es un módulo Python puro usando la librería cliente de Firebird via ctypes. Esto tiene varias consecuencias a saber, KDB no funciona con Python 3 u otra implementación que no sea CPython, mientras que FDB soporta Python 2 y 3, y puede potencialmente correr sobre otras implementaciones Python con el módulo ctypes.
  2. KDB soporta Firebird e Interbase desde la versión 1. FDB solamente soporta Firebird 2.0 y superior.
  3. FDB continúa la interface de KDB y se mantienen funcionalmente tan cerca como sea posible, excepto en partes que son especificas de la implementación y compatibilidad con versiones existente. Por ejemplo, FDB usa un sistema mucho más simple de Traducción Dinámica de Tipos (Dynamic Type Translation) que KDB.
  4. La funcionalidad principal debería ser idéntica o equivalente entre ambos pero algunas características son implementadas *ligeramernte* diferentes en FDB (diferente API), por ejemplo, Transacciones Distribuidas.
  5. FDB implementa algúnas caracteristicas que KDB no, porque estas son más actuales, como soporte para Trace Service, nbackup service, etc.

Entonces, para que caso es mejor uno que otro?

KDB es necesario cuando querés trabajar con con Interbase o Firebird 1.x

FDB es necesario cuando querés usar Python 3 o algunas de las nuevas características de Firebird 2.5, y podría ser más sencillo (al menos esa es la intención) trabajar con éste.

¿Cuál es mejor para usar en nuevos proyectos ?

Depende del criterio de estabilidad inmediata. Ahora mismo, se podría decir que KDB es más “estable” que FDB pero, desde un punto de vista a largo plazo, FDB es la elección correcta. Es posible comenzar con KDB y reemplazar este más tarde con FDB, dado que las diferencias entre estos son realmente pequeñas y están bien aisladas.

Por otro lado, el desarrollo de KDB está detenido y no habrá nuevas versiones del mismo. Acá [2] se pueden ver todos los detalles de porque está detenido y porqué FDB comenzó como reemplazo del mismo.

Update:

Hay un tercer participante que olvide mencionar: pyfirebirdsql [4]

La característica más destacada de éste es que es un driver “puro python”, es decir, no necesita un compilador C ni la librería cliente de firebird. Además fue desarrollado desde el principio con python 3 en mente.

—-

[0] http://www.firebirdsql.org/file/documentation/drivers_documentation/python/3.3.0/index.html

[1] http://pypi.python.org/pypi/fdb/

[2] http://web.firebirdsql.org/index.php?op=devel&sub=python

[4] https://github.com/nakagami/pyfirebirdsql

Ref: http://thread.gmane.org/gmane.comp.db.firebird.python/185/focus=187

Gustavo Campanelli: 10 novelas de ciencia ficción que la gente pretende haber leido

En la página io9 han posteado un hermoso listado de una serie de novelas que muchos dicen haber leído pero pocos lo han hecho. Lo extraño para mi es que las que conocía de la lista ya las había leído (si, las leí, no es que digo haberlas leído) y las otras no las he leído porque no las conocía, salvo una honrosa excepción que no la he leído porque aún no la conseguí. Así que esta lista que habla