Your code must tell a story, a really good one. Part 1

I’ve always thought that your code must tell the story of the things you’re trying to solve. Just by reading the name of the methods anyone should have a solid and clear idea about what the problem is and how you’re solving it.

Continue reading “Your code must tell a story, a really good one. Part 1”

The Zen of Python

In my opinion this must be the Zen of any programming language and of every developer.

The Zen of Python

Beautiful is better than ugly.

Explicit is better than implicit.

Simple is better than complex.

Complex is better than complicated.

Flat is better than nested.

Sparse is better than dense.

Readability counts.

Special cases aren’t special enough to break the rules.

Although practicality beats purity.

Errors should never pass silently.

Unless explicitly silenced.

In the face of ambiguity, refuse the temptation to guess.

There should be one– and preferably only one –obvious way to do it.

Although that way may not be obvious at first unless you’re Dutch.

Now is better than never.

Although never is often better than *right* now.

If the implementation is hard to explain, it’s a bad idea.

If the implementation is easy to explain, it may be a good idea.

Namespaces are one honking great idea — let’s do more of those!

 

Nueva Pre-Release 1.8.6 del SDK de Google App Engine

Google App Engine 1.8.6 SDK Pre-release ya disponible !!

Ya tenemos aquí un nuevo anuncio de la nueva pre-release del SDK de Google App Engine. Durante los últimos meses esstamos viendo cambios más continuados que están aportando más estabilidad al sistema.

En esta ocasion se han corregido varios errores relaciones tanto con el Datastore como con dev_appserver.

Continue reading “Nueva Pre-Release 1.8.6 del SDK de Google App Engine”

Google Code Jam 2013

Este año he vuelto a participar en el Google Code Jam y ha sido genial! Desconozco el número de participantes de este año, pero el año anterior fue de unos 35.000 programadores de todo el mundo.

La competición ha consistido en resolver 4 problemas, que comento brevemente sin entrar en detalle de las soluciones (ya que el concurso aún no se encuentra cerrado)

Continue reading “Google Code Jam 2013”

Nueva release de Google App Engine 1.7.7

Como ya comentaba la semana pasada en la pre-release de Google App Engine, ya tenemos aquí la release oficial 1.7.7 de Google App Engine.

Como destacados mencionar que se ha eliminado un mínimo de $2.10 por semana que existía para las aplicaciones facturables, mejoras en el dev_appserver y correcciones que se han venido comentando desde la versión 1.7.6, se ha actualizo el plugin Maven y tenemos disponibles sockets de salida.

Continue reading “Nueva release de Google App Engine 1.7.7”

Nueva Pre-release 1.7.7 del SDK de Google App Engine disponible

Desde que se anunciase, hace a penas 15 días, la última release de Google App Engine, se han sucedido una serie de problemas directamente relacionados con el nuevo dev_appserver2.

Acaban de anunciar una nueva Pre-release, Google App Engine SDK 1.7.7, centrada especialmente en las correcciones de todos estos problemas de dev_appserver.

Continue reading “Nueva Pre-release 1.7.7 del SDK de Google App Engine disponible”

Nuevo DEV_APPSERVER Python de Google AppEngine 1.7.6

Con la nueva release de App Engine SDK 1.7.6 hemos recibido grandes y novedosos cambios en el SDK espcialmente orientados a los desarrolladores en Python en el DEV_APPSERVER 2.

Ahora este nuevo servidor de desarrollo nos permitirá desarrollar más deprisa y de manera más fiable ya que reproduce fielmente el HRD (High Replication Datastore) mediante el uso de SQLite, con lo que las pruebas que realicemos contra nuestro servidor de desarrollo local serán idénticas al comportamiento que podamos esperar contra el servidor de explotación.

Continue reading “Nuevo DEV_APPSERVER Python de Google AppEngine 1.7.6”

Nueva release de Google App Engine SDK 1.7.6

Como ya comentaba la semana pasada con el lanzamiento de la pre-release del SDK de app engine, ya tenemos aquí la nueva versión disponible con grandísimas novedades y mejoras sobre todo en la parte del dev_appserver en local.

Este nuevo servidor de desarrollo es mucho más rápido y fiel al sistema de explotación, por lo que nuestros desarrollos serán más fiables y rápidos al poder trabajar en local como si trabajásemos contra el datastore.

Continue reading “Nueva release de Google App Engine SDK 1.7.6”

Google App Engine 1.7.6 Pre-release disponible

Acaban de anunciar la disponibilidad de la pre-release 1.7.6 del SDK de Google App Engine tanto para Python como Java.

Como fuertes novedades ya disponemos de manera predeterminada el nuevo servidor de desarrollo que trae sustanciales mejoras para que nuestras pruebas sean lo más fiables posible y nuestro proceso de debug sea idéntico tanto en desarrollo como en explotación.

Continue reading “Google App Engine 1.7.6 Pre-release disponible”

Google App Engine 1.7.5 Pre-release SDKs

Tenemos desde hoy a nuestra disposición una pre-release de los nuevos SDK 1.7.5 de Google App Engine.

Como es habitual suele haber mejoras, limpiezas y correcciones en ambos SDKs, Python y Java. En esta ocasión están cambiando y mejorando el servidor de desarrollo. Esto implicará grandes mejoras, será más rápido, soportará más liberías, tendrá un mejor soporte del Datastore y tendrá mejor soporte de aplicaciones multithread.

Continue reading “Google App Engine 1.7.5 Pre-release SDKs”

Como clonar entities en NDB – How to clone entites in NDB

Desde que Google App Engine publicó la nueva librería NDB para su DataStore noté que existía cierta carencia, por ejemplo, un método clone que nos permitiese clonar entidades.

Es bastante habitual, cuando te toca manejar datos y reajustar propiedades o valores, recuperar una entidad, y generar una nueva casi casi idéntica a la anterior, pero cambiando una o dos propiedades o valores de la misma, eliminar alguna propiedad, etc.

Continue reading “Como clonar entities en NDB – How to clone entites in NDB”

Habla con tu máquina: Asistentes virtuales y reconocimiento de voz

Cuando en el mundo informático surgieron los asistentes virtuales supuso una pequeña revolución. Todo el mundo hablaba del “clippo” es insoportable y no tan gracioso personaje que Microsoft introdujo en su familia Office hace ya unos añitos.

Le hacías determinadas preguntas y el te respondía proporcionándote información para solucionar tus dudas.

Continue reading “Habla con tu máquina: Asistentes virtuales y reconocimiento de voz”

Cambios importantes en Google App Engine Search API

Hoy he recibido un email por parte del equipo de Google App Engine que informa de nuevos e importantes cambios y ajustes en el API Search de Google App Engine.

Deberás prestar especial atención a estos cambios porque a partir de la nueva release 1.7.5 los métodos marcados como obselotes se eliminarán y todo tu código que use dichos métodos dejará de funcionar.

Continue reading “Cambios importantes en Google App Engine Search API”

Guido abandona Google App Engine

Acabo de leer una nota en el discuss de Google AppEngine que nos informa que Guido abandona el proyecto AppEngine para ir a Dropbox.

Guido es el creador de Python uno de los lenguajes que soporta el Cloud de Google, después de más de 7 años trabajando como ingeniero senior de software, se incorpora ahora el equipo de Dropbox donde intentará mejorar, con toda su experiencia y conocimiento el sistema.

Continue reading “Guido abandona Google App Engine”

Nueva release de Google App Engine 1.7.2

El Martes día 18 de Septiembre 2012 Google App Engine publicó una nueva release de su SDK.

Es impresionante el paso adelante que han dado con su nueva librería NDB de acceso al nuevo Datastore HRD (por si quieres aprender más sobre NDB Google App Engine), la cual llevo utilizando desde hace ya tiempo, como han cambiado la filosofía de trabajo y como yo mismo he tenido que cambiarla también.

Continue reading “Nueva release de Google App Engine 1.7.2”

DocHub – Recurso para programadores – Documentacion lenguajes

Recientemente me he encontrado con un recurso muy útil e interesante.

Todos los que nos dedicamos a la programación nos encontramos constantemente con dudas sobre métodos, funciones o particularidades de un lenguaje de programación, especialmente si estás cambiando entre varios lenguajes diariamente. Si este es tu caso, seguro que terminas poniendo ; al final de las sentencias python o utilizando None en Dart.

Continue reading “DocHub – Recurso para programadores – Documentacion lenguajes”

Incrementar uso de memcache para DB

Revisando código, he visto como el datastore de App Engine utiliza la memcache para agilizar tareas y la velocidad de respuesta al cliente. He encontrado un manual verdadereamente interesante que permite modificar el uso por defecto de la memcache para DB Model e incrementar la velocidad de respuesta hasta en 3 veces.

No he podido realizar aún pruebas para el nuevo API NDB Model pero los resultados en DB prometen mucho. Básicamente se trata de utilizar la librería marshal en lugar de cPickle.

Continue reading “Incrementar uso de memcache para DB”

Nuevo Google App Engine Google Plus Hangout

Me gustaría compartir algo que creo que puede resultar interesante para toda la comunidad interesada en Google App Engine.

El Jueves 10 de Mayo 2012 a las 11:30 UTC tendrá lugar una presentación sobre Google App Engine y Python realizado por WebFilings con una gran experiencia desarrollando grandes aplicaciones, además asistirá como invitado especial Guido Van Rossum.

Continue reading “Nuevo Google App Engine Google Plus Hangout”

How to setup Google AppEngine and Google BigQuery

google bigquery

I found a very good manual to setup Google AppEngine and Google BigQuery. You can access here:

https://developers.google.com/bigquery/articles/dashboard#settingup

In this manual I found an error. When you try to add oAuth2 support to main.py and app.yaml on this section:

https://developers.google.com/bigquery/articles/dashboard#addoauth2

You can see this code:

Please, pay attention to line 13.

<br />
application: hellodashboard<br />
version: 1<br />
runtime: python<br />
api_version: 1</p>
<p>handlers:<br />
- url: /favicon\.ico<br />
static_files: favicon.ico<br />
upload: favicon\.ico</p>
<p>- url: /oauth2callback<br />
script: oauth2client/appengine.py</p>
<p>- url: .*<br />
script: main.py<br />

This is the correct code:

Please, pay attention to line 13.

<br />
application: hellodashboard<br />
version: 1<br />
runtime: python<br />
api_version: 1</p>
<p>handlers:<br />
- url: /favicon\.ico<br />
static_files: favicon.ico<br />
upload: favicon\.ico</p>
<p>- url: /oauth2callback<br />
script: oauth2client.appengine.application</p>
<p>- url: .*<br />
script: main.py<br />

Post wrote by Moisés Belchín

Como conectar Google AppEngine y Google BigQuery a través de oAuth2.

Hoy me he encontrado con un gran poblema: ¿Cómo conectar un aplciación Google AppEngine y Google BigQuery a través de oAuth2?

Después de leer toda la documentación y realizar todas las pruebas que he podido encontrar, no he sido capaz de conectar una aplicación AppEngine y BigQuery sin necesidad de tener que hacer login en la cuenta de Google o sin que me apareciese la pantalla de permitir acceso.

Continue reading “Como conectar Google AppEngine y Google BigQuery a través de oAuth2.”

Google Cloud Sql

Por fin he recibido la activación de mi cuenta de Google Cloud Sql.

Estoy deseando poder probar este nuevo y prometedor servicio, y, aunque está actualmente en fase muy temprana estoy seguro que los resultados serán increíbles.

Para quienes no sepan lo que es, se trata de un servicio nuevo desarrollado por Google para poder tener servicio MySql corriendo en la infraestructura de Google.

Continue reading “Google Cloud Sql”

Crear aplicaciones gráficas con Python y PyGTK

Desarrollar aplicaciones gráficas con Python es tan sencillo como instalar el paquete PyGTK importarlo en nuestros proyectos y diseñar nuestra interfaz.

Desarrollamos los métodos necesarios, vinculamos nuestros eventos y callbacks y listo !
Puedes instalar el paquete PyGTK de la web oficial del proyecto. Dispones de una estupenda ayuda sobre todo lo que tiene que ver con el proyecto GTK para python y según sea tu plataforma de trabajo puedes descargar todo lo necesario.

Python for all

When I started to develop in Python I read this online book. “Python para todos” (Python for all). I recommend read it if your are newbie on Python development. You can search it on google or access to this URL http://www.megaupload.com/?d=4SUWOHH2 to download it.

Python is one of most simple programming languages that I can work with. You can read this book, or another one, and you’ll start your developments in few minutes.

When I knew this language, I think that It’s like bash on Linux, obviously leaving out the differences. If you need to do some task or process you can code a bash script and It’ll do it. Bash, for my experience It’s very strong on linux, I mean, Bash itself alone loses power, It needs linux to work together and bring you all the power and simplicity to do anything you need.

Python offers you all the power and simplicity to do anything you need, specially if you’re working on Windows. You can code any script to work with your operating system and simplify your life or your work. With Python you have a powerful programming language, like Bash, (leaving out the differences) and with Python’s libraries (like native functions on linux) you have all you need to work with your operating system, working with files, regular expressions, network or anything you can imagine.

Create a website or blog at WordPress.com

Up ↑