lunes, 2 de marzo de 2015

Reinventando la rueda desde Venezuela



Hoy escribo para comentar algo que me ronda la mente desde hace tiempo y es sobre el tema de hacer aplicaciones que ya están echas, como decir youtube, twitter, etc... de lo cual siempre e tendido a pensar en que no me gusta reinventar la rueda.  

En especial odio a la gente que inventa sus propios "frameworks" y terminan llevando el enredo que tienen en sus cabezas al código, Y después te piden que lo uses para terminarte dando cuenta que no sirven para nada. 

Peroooo, ese no es el tema de hoy, sino del desarrollo de aplicaciones enfocadas en lo local. Y ciertos caso de los cuales yo quería hablar. 


Youtube, twitter, facebook, LinkedIN, etc, etc etc.

Todas son aplicaciones, que funcionan muy bien cumplen su rol excelentemente, pero tienen un gran defecto. Están en los estados unidos. La mentalidad de estados unidos, es una mentalidad netamente capitalista-salvaje, de aprovechamiento al máximo de los "recursos", y estas paginas no dejan de ser parte de estos "recursos". Lo que a mi me preocupa es entregarles toda tu información toda tu vida, tus fotos, tus amistades, tu forma de pensar, lo que haces, y lo que dejas de hacer a un extraño que de por si esta más que comprobado que no le interesa tu privacidad, que pueden terminar vendiendo tu información a cualquier postor y además todas esas empresas se tienen que regir a las leyes norteamericanas o sino igual llega la CIA o la NCA e igual obtiene acceso a tu información. Y la información es poder. 

Y aparte también esta la parte donde si no le caes bien a cualquiera de estas empresas pues simplemente te cierran, te callan y no hay a quien ir a llorar. 

Además de que en buena parte de los casos, son aplicaciones pensadas para gente de habla inglesa, con mucho contenido foráneo y que a la final te pierdes en contenido que no tiene que ver con tu localidad.  Y da la sensación de que aquí no se esta haciendo nada porque como hay mucho contenido de afuera y youtube no pierde tiempo en mostrarte pues podrías estar perdiendo contenido valioso y echo aquí en Venezuela. 

Y que un país dependa siempre de agentes externos es altamente peligroso. Dígame los servicios de Whatsapp y Blackberry. Toda la comunicación personal de millones de venezolanos en manos de Agentes externos y que se usen sin el mínimo entendimiento de los riesgos que esto acarrea pues es preocupante.  


Todo es en dolares

Un tema muy importante actualmente para todos los venezolanos es el bendito dolar, y  es el que a mi más me preocupa, porque es el que nos afecta a todos como venezolanos. Y se ve reflejado en cuantos venezolanos no a gastado su cupo de dolares para comprar aplicaciones por itunes o Play Store. Y cuantos venezolanos emprendedores pueden vender aplicaciones a través de play store o itunes y ganarse un dinero por su trabajo? 

Estas preguntas nos dan a entender, que por supuesto el mercado móvil de aplicaciones móviles en Venezuela es de muy lento crecimiento porque dependes enteramente del tema dolar y que para nosotros es sumamente problemático. 

Para el consumidor promedio, es decir el todos los venezolanos, pues no consiguen aplicaciones a su medida, que puedan pagar en bolívares o simplemente que tengan que ver con su día a día o las. 

Porque comento esto, pues porque cualquier aplicación echa afuera que se pueda adaptar a nuestra vida cotidiana, bien valdría la pena poder contar con una versión Venezolana. Y a mi parecer no seria tan exitosa como la extranjera pero seria bien recibida y tendría buena acogida dentro del publico venezolano. 



martes, 23 de diciembre de 2014

Django PostgreSQL Idle in Transaction

Es u problema muy común en los sitos que corren django y PostgreSql que allá conexiones que queden en "Idle in Transaction" Son producto de transacciones sin cerrar o esperando commit o roolback.

Este tipo de problema tiene dos posibles momentos en los que sucede esto. Uno es a la hora de hacer responder peticiones y otra es a la hora de señales de django que se ejecutan al cargar un modelo.

Para cuando las consultas queda abiertas al hacer peticiones, django trae consigo TransactionMiddleware, al añadir al final 'django.middleware.transaction.TransactionMiddleware' a MIDDLEWARE_CLASSES debería solucionarse de manera definitiva el problema.

En el otro caso me sucedió en un sistema, que estaba ejecutado una consulta en class_prepared.connect. Y dejaba u proceso abierto que evitaba que el resto de las consultas se ejecutara. ¿Solución? Estas dos lineas de código y listo:


from django.db import connection
#cierro la ejecución despues de terminar de ejecutar las cosultas
connection.close()

Ninja 3D Blender


Hoy les dejo mi primer ninja echo en Blender. Espero que les guste y pronto espero colocar más información sobre blender.

Three.js ninja ejemplo:
http://bomba1990.pythonanywhere.com/sosinformatico/js/ninja-blender

Blender:
https://www.dropbox.com/s/g71vtjgm0xmrudj/ninja2.blend?dl=0

lunes, 22 de diciembre de 2014

Packt’s $5 eBonanza returns



Following the success of last year’s festive offer, Packt Publishing will be celebrating the holiday season with an even bigger $5 offer.
From Thursday 18th December, every eBook and video will be available on the publisher’s website for just $5. Customers are invited to purchase as many as they like before the offer ends on Tuesday January 6th, making it the perfect opportunity to try something new or to take your skills to the next level as 2015 begins.
With all $5 products available in a range of formats and DRM-free, customers will find great value content delivered exactly how they want it across Packt’s website this Xmas and New Year.

Find out more at http://bit.ly/1w1Vkps

sábado, 29 de noviembre de 2014

Django models añadir permisos para ver a todos. (view_*)

Algo muy común que se usa en Django son los permisos de modelo para controlar quien puede objetos particulares. Django provee permisos por defectos en todos los modelos, crear, editar y eliminar.

Hay varias formas de agregar este permiso de "ver" en la web, pero la forma más sencilla que yo e visto es hacerlo en "post_syncdb". Cuando uses el comando syncdb, todos los modelos de tu sistema se chequeara si tienen el permiso view y si no se los creara.

Solo tienes que poner el siguiente script en el __init.py en el directorio de management/ de cualquiera de tus aplicaciones. Necesita estar dentro de un directorio de management o si no, no sera descubierto por el comando syncdb.

from django.db.models.signals import post_syncdb
from django.contrib.contenttypes.models import ContentType
from django.contrib.auth.models import Permission
 
def add_view_permissions(sender, **kwargs):
    """
    This syncdb hooks takes care of adding a view permission too all our 
    content types.
    """
    # for each of our content types
    for content_type in ContentType.objects.all():
        # build our permission slug
        codename = "view_%s" % content_type.model
 
        # if it doesn't exist..
        if not Permission.objects.filter(content_type=content_type, codename=codename):
            # add it
            Permission.objects.create(content_type=content_type,
                                      codename=codename,
                                      name="Can view %s" % content_type.name)
            print "Added view permission for %s" % content_type.name
 
# check for all our view permissions after a syncdb
post_syncdb.connect(add_view_permissions)

3D city Project. Three.js HTML5 WebGL

Hoy queria compartir con ustedes un proyecto muy chevere que descubri hoy, es una especi de simscity en la web. Super cool y util para evaluar el desempeño de los navegadores web para este tipo de juegos.

Aparte de todo el proyecto esta colocado en github y es de codigo abierto asi que pueden copiarlo ver como lo hicieron y si quieres crear el suyo propio.




lunes, 17 de noviembre de 2014

Learning Unity 2D Game Development by Example



Is a very beginner book, the first 4 chapters are bored for someone that as a background in programming. From chapter 6 begins the real examples, but are so easy. it take at most one hour to complete each example. Although are good examples to practice the skill, and learn some things.

The book lacks much on scripting, 2D Animation, GUI, etc... Enter to a intermediate level of development a game with Unity. Exists best content on the official page of unity.