As we discussed in our previous article, your code must tell a story, a really good one.
Let’s have a look now at few examples of all the things exposed in my article.
Continue reading “Your code must tell a story, a really good one. Part 2”
The art of computing programming
As we discussed in our previous article, your code must tell a story, a really good one.
Let’s have a look now at few examples of all the things exposed in my article.
Continue reading “Your code must tell a story, a really good one. Part 2”
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”
In my opinion this must be the Zen of any programming language and of every developer.
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!
It’s always great to see Guido van Rossum in action. This is another hidden knowledge pearl: https://t.co/xPm8MkWcZE I found in Twitter.
Spoiler: for Python lovers only 😉
Hope you enjoyed as much as I did, specially the history part behind the scenes.
Como ya comentaba hace algo más de una semana, ya está disponible la nueva versión del SDK de Google App Engine 1.8.6.
Desde hace un par de días ya podíamos verlo en funcionamiento en nuestro Dashboard. Desde hoy ya podemos descargarlo para nuestros desarrollos y pruebas en dev_appserver.
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”
During last months we’ve seen a lot of changes and improvements and, in some cases, problems with App Engine. I think it’s a good idea stay in touch about these new features, recently changes and the problems.
In fact, Google App Engine jumped from 1.7.7 version to 1.8.0 when It introduced the new PHP SDK.
Continue reading “New 1.8.2 Google App Engine Pre-Release SDK available !”
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)
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.
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”
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”
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”
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”
Nuevo Google App Engine 1.7.5 SDK disponible
Como ya comentamos, ya está disponible la nueva versión del SDK de Google App Engine.
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.
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”
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”
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”
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.
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.
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”
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.
Desde hoy ya podemos descargar una nueva release de Google App Engine, la version 1.7.1 ya está disponible y estos son los cambios que trae.
Release note on google-appengine discuss.
Hi App Engine users,
We’ve just released the release of the 1.7.0 SDK.
Release notes for Java:
http://code.google.com/p/googleappengine/wiki/SdkForJavaReleaseNotesRelease notes for Python:
http://code.google.com/p/googleappengine/wiki/SdkReleaseNotesRelease notes for Go:
http://code.google.com/p/googleappengine/wiki/SdkForGoReleaseNotesEnjoy!
—
Takashi Matsuo
Hoy he visto el anuncio de una nueva release de Google App Engine, es un gran avance porque desde la release 1.6.5 ya se encuentra disponible el famoso y tan solicitado “full search”. En cuanto lo pruebe publicaré algunos ejemplos de código y daré mi opinión sobre su potencial.
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”
I found this very interesting article that explains how to schedule backups using the Google AppEngine crons and his new backup service of Entities and kinds in the Datastore Admin.
He encontrado muy interesante este artículo que explica como programar backups utilizando los CRONS de Google AppEngine y su nuevo servicio de backups de entities/kinds del Datastore Admin.
New Google App Engine version 1.6.5. released.
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
Today I had a big problem: How to connect Google AppEngine application and Google BigQuery through oAuth2?
After I read all the documentation and make all the tests I didn’t found the way to connect AppEngine and BigQuery without the need of to do login on a Google Account or get the grant access screen.
Continue reading “How to connect Google AppEngine and Google BigQuery through 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.”
Hoy he recibido una gran noticia: ya soy un “official Google Trusted Tester”.
Hace unos días rellené unos formularios necesarios para poder acceder a dos nuevos servicios de Google que pretendo comenzar a utilizar. Los servicios son Google Cloud Storage, del cual ya hablé anteriormente, y Google BigQuery.
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.
Desarrollar aplicaciones gráficas con Python es tan sencillo como instalar el paquete PyGTK importarlo en nuestros proyectos y diseñar nuestra interfaz.
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.