CherryPy and SQLite

Posted: February 20, 2016 in python

I was kind of curious abot how difficult could be to implement a small app with sqlite3 and cherrypy with python of course.

So basically the idea was to get some information from a sqlite database and get a response through a cherrypy exposed method.

The code of this example:

Really easy.

Installing Cylon

Posted: June 19, 2015 in Uncategorized


carlos@carlos-lap:~/Drones/cylon$ ls
carlos@carlos-lap:~/Drones/cylon$ npm --version
2.11.1
carlos@carlos-lap:~/Drones/cylon$ npm install cylon
cylon@1.0.0 node_modules/cylon
└── async@0.9.0
carlos@carlos-lap:~/Drones/cylon$ npm install cylon-ardrone cylon-gpio cylon-i2c
cylon-gpio@0.25.0 node_modules/cylon-gpio

cylon-i2c@0.21.3 node_modules/cylon-i2c

cylon-ardrone@0.19.0 node_modules/cylon-ardrone
└── ar-drone@0.3.3 (simple-debug@1.1.2, buffy@0.0.4)

 

Gif animation in Android

Posted: May 22, 2015 in Android

After searching some post about how to implement a gif animation in Android my solution goes here:

Seems that my template doesn’t fix well with gist, so here’s an alternative for the code



public void enableLoadingImage() {
 
		imageSwitcher = (ImageSwitcher) findViewById(R.id.imageSwitcher1);
 
		ImageView image = (ImageView) findViewById(R.id.connectionImage);
		image.setVisibility(View.GONE);
 
		imageSwitcher.setFactory(new ViewFactory() {
 
			@Override
			public View makeView() {
				ImageView myView = new ImageView(getApplicationContext());
				myView.setScaleType(ImageView.ScaleType.FIT_CENTER);
				myView.setLayoutParams(new ImageSwitcher.LayoutParams(
						LayoutParams.MATCH_PARENT, LayoutParams.MATCH_PARENT));
				return myView;
			}
 
		});
 
		imageSwitcher.setInAnimation(AnimationUtils.loadAnimation(this,
				android.R.anim.fade_in));
		imageSwitcher.setOutAnimation(AnimationUtils.loadAnimation(this,
				android.R.anim.fade_out));
 
		imageSwitcher.postDelayed(new Runnable() {
			int i = -1;
 
			public void run() {
 
				i++;
 
				switch (i) {
				case 0:
					imageSwitcher.setImageResource(R.drawable.loadingscore1);
					break;
				case 1:
					imageSwitcher.setImageResource(R.drawable.loadingscore2);
					break;
				case 2:
					imageSwitcher.setImageResource(R.drawable.loadingscore3);
					break;
				case 3:
					imageSwitcher.setImageResource(R.drawable.loadingscore4);
					i = -1;
					break;
 
				}
 
				imageSwitcher.postDelayed(this, 1000);
			}
		}, 1000);
 
	}
 
}

Hope this can help someone else.

Setting up mysql for python

Posted: March 31, 2015 in DJango
Tags: ,

OK, after trying to setting up my virtual environment for django I was struggling working with mysql.

What I was getting is after running:



$ pip install MySQL-python

EnvironmentError: mysql_config not found

So basically what was needed was to reinstall mysql again but now for my local environment:



$ sudo apt-get build-dep python-mysqldb

$ pip install mysql-python

And the just run the migration:



$ python manage.py migrate
Operations to perform:
  Apply all migrations: admin, contenttypes, auth, sessions
Running migrations:
  Applying contenttypes.0001_initial... OK
  Applying auth.0001_initial... OK
  Applying admin.0001_initial... OK
  Applying sessions.0001_initial... OK

Running correctly.

Just like that , I needed to make a call to an AsynTask in Android, after reading differents threads in stackoverflow about the solutions I found mine doing this:

 
new GetAsyncTask(this).execute().get(10000,TimeUnit.MILLISECONDS);

 

This waits for 10 sec doing the request, if time is over just finishes and I catch an Exception to continue with the flow.
Seems that AsyncTask must be used only for Task that won’t consume too much time.

MongoDB

Posted: March 19, 2015 in Uncategorized

I will take a workshop next saturday regarding MongoDB, it has been a while since I just installed and created and application for tweepy, while I was checking its installation in Ubuntu I got the following error:

couldn't connect to server 127.0.0.1:27017 at src/mongo/shell/mongo.js:145

This seems to be a lock issue and if you are running it on Ubuntu you can type the following commands:

sudo rm /var/lib/mongodb/mongod.lock
sudo service mongodb restart

That’s all for now.

Simple as this:

{code}

carlos@carlos-lap:~/sinatra$ sudo gem install shotgun
[sudo] password for carlos:
Successfully installed shotgun-0.9
1 gem installed
Installing ri documentation for shotgun-0.9…
Installing RDoc documentation for shotgun-0.9…
{code}

And slim

carlos@carlos-lap:~/sinatra$ sudo gem install slim
[sudo] password for carlos:
Successfully installed slim-2.0.2
1 gem installed
Installing ri documentation for slim-2.0.2…
Installing RDoc documentation for slim-2.0.2…
carlos@carlos-lap:~/sinatra$

Still playin with Sinatra 🙂

Este post he decidido detallarlo en español debido a que creo que es más útil para personas en México. Resulta que en un momento dado mi aplicación que corre en una BB tendría que conectarse a un servicio web que desarrollé con ASP.Net.
El meollo del asunto es que en un principio mi blackberry de pruebas la conectaba a mi wireless en casa sin problema alguno, la solicitud y respuesta del servicio web se hacía facilmente.
La cadena que usé para hacer dicha petición luce de la siguiente forma:

_propertyValues = new Object[] {“http://www.servicioweb.com/WebServicePrueba.asmx;deviceside=true;interface=wifi”};

Parte de la cadena arriba proporcionada es que se especifica que se usará una conexión directa usando la wifi configurada en la BlackBerry.
Posteriormente contraté un plan internet ilimitado 2 con Telcel y adquirí un nuevo equipo, uno de los objetivos que buscaba mi aplicación era que cuando se dispusiera de una conexión permanente, se hiciera uso de ella y no tener que configurar una wifi para poder hacer las peticiones al servicio web. Para lo anterior tuve que modificar la cadena de conexión y quedó:

_propertyValues = new Object[] {“http://www.servicioweb.com/WebServicePrueba.asmx;deviceside=true”};

En ella ya no se pone que la interfaz sea wifi, lo que le especificamos es que la conexión será vía TCP/IP de manera directa; cabe mencionar que la aplicación no funcionó inmediatamente, el error que obtenía era: “Tunnel Failed” que entiendo sale cuando no se tiene configurada correctamente la APN de la blackberry.
Vaya, que después de googlear un poco y encontrar pocas respuestas decidí irme al centro de Atención Telcel a solicitar ayuda, la verdad es que hicieron muy poco salvo darme un teléfono de asistencia directa a BlackBerry 01800-822-27-87 lada sin costo, es importante que cuando llames tengas listo a la mano tu PIN porque te lo solicitarán, la información que me dieron consistió en ingresar en Opciones/Opciones avanzadas/TCP IP la configuración del APN: internet.itelcel.com los datos de usuario y contraseña para APN no me los dieron, según ellos no eran necesarios. Posteriormente me pidieron que en la opción Libro de servicios eliminara todas las opciones que ahí tenía, mas tarde me dijeron que ellos activarian nuevamente dichos servicios así que mucho ojo si decides hacerlo por tu cuenta y no tienes respaldos. Por último me pidieron que retirará la batería y chip por 15 segundos, activara nuevamente el teléfono lo cuál hice y me llegó un correo de confirmación que los servicios de mi dispositivo móvil se había activado.

Después de realizar esto mi aplicación se ejecutó sin problemas.

Espero que esta información pueda servir a alguién.

The screen shots taken during the key registration were added to my dropbox account.
You can check the shot visiting this link.

Hope it can be helpful.

I did the registration process of the key signatures for blackberry, after filling the request form, three mails arrived to my inbox with the steps to follow in order to do the registration.
I have four screenshots that I took during the registration process, hope this information can be helpful for somebody that needs to do this.

The first step was to copy in the same path the three files sent by blackberry, I made click on one of them and a message indicating that the “private key cannot be found” , I click on Yes to create the keys and later I supplied
a password to sign the key. The password must be the same for the three files. I supplied the PIN that I use when
I filled the request form and that’s all.

The screenshots taken in this process will be posted in a different post.

#blackberry