POLICIA “Sirviendo al Ciudadano”

Esto me pasó el domingo, pero no había podido publicarlo, en mi caminata diaria como rutina de ejercicios por la avenidas de la ciudad donde estoy residenciado me ocurrió algo particular, eran las 7:15am, iba por una avenida principal caminando con ropa deportiva normal, cuando escucho una moto acercarse, no quise voltear pues supuse que me robarían, escucho “pegate pa’ allá, pegate”, me doy vuelta y para mi sorpresa eran 2 policías uniformados quienes me hablaban, me calme un poco y respondí “Disculpa, ¿Cómo que pegate pa’ allá?”, a lo cual el que iba de parrillero en la moto respondió bajándose y colocando su mano en su arma (sin desenfundarla), “No escuchaste chico, que te pegues pa’ allá”, estaba asustado no mentiré, a pesar de había personas en una parada de bus nadie ni siquiera miro a ver lo que pasaba. Vuelvo a responder “Disculpa, no entiendo, ¿me están atracando?”, ellos soltaron una risa y uno de ellos me dijo “tu eres marico muchacho, tienes cara de gueledor, a lo mejor en ese koala cargas merca”, sorpresa nuevamente, dije “Creo que te equivocas, salí a caminar por mi rutina de ejercicios diaria”, me pidieron abrir mi koala, lo cual accedi no tengo nada que ocultar, saco mis pertenencias, teléfono, cartera, llave de la casa, uno de ellos dice “no pana este bicho es un becerro, no tiene nada, vamonos pa’l coño” y para despedirse me dicen “Ta’ pendiente por ahí pana que los malandros andan locos buscando real en estas fechas”.

Es bastante triste que en nuestra sistema de protección civil no se haga una evaluación exhaustiva de quienes son estas personas que portan uniforme y arma, muchos de ellos, es probable que no les hagan pruebas anti doping, ni pruebas psicológicas constantes, aún más triste es ver como abusan de la autoridad al tratarte de buenas a primeras como a un delincuente y su vocabulario para dirigirse hacía las personas es realmente deplorable.

Estos que me hicieron, fueron policías muy jóvenes, quizás 24 o 25 años y mi pregunta es ¿no se supone que ellos están para proteger y servir?, llega el punto donde me dirás ¿Viste los apellidos en los uniformes? La respuesta es Si, ¿por qué no denuncias entonces? Y la respuesta a está pregunta es, con sistema tan corrupto como el que tenemos, voy dejo la denuncia, con todos mis datos, a ellos los castigan, los suspenden, los botan y que me dice que no tomen mis datos, me busquen y pues, no quiero ni imaginarme el resultado.

Por eso escojo mi blog para hacer un poco de catarsis, cuando el sistema de justicia funcione como debe quizás vaya y ponga la denuncia.

Crear una imagen de nuestros modelos en Django

Hace un tiempo conocí la posibilidad de hacer una imagen con tus modelos de tus apps Django, el proceso es bastante simple y sirve para que veas como estarían quedando relacionados tus apps. Comencemos entonces.

Lo primero es que debes tener instalado
pip install pygraphviz
Una vez instalado debes instalar django_extensions y colocarlo en settings.py, esto puedes hacerlo con el comando
pip install django_extensions

Ahora, simplemente ejecutas
./manage.py graph_models -a -g -o mis_modelos.png

Puedes ejecutar el comando especificando cuales apps mostrar en la imagen con el siguiente comando
./manage.py graph_models app1 app2 app3 -o mis_modelos.png
models

CATARSIS

Hoy no hablaré de programación, trucos, tips ni nada de eso, simplemente haré un poco de catarsis de algunas cosas que simplemente me molestan de la situación actual que vivimos, te adelanto mi querido amigo lector si eres susceptible busca algo mejor que hacer, NO LEAS ESTE POST.

Comenzamos con los servicios públicos, hoy visitando a un familiar que requiere una operación ambulatoria en el Seguro Social de Ciudad Bolívar me ocurrió lo siguiente, un ciudadano vestido con uniforme de militar (miliciano probablemente o soldado, ni idea, no se distinguir los uniformes), me niega el acceso al centro hospitalario con una actitud de “Yo soy el que mando y tu no pasas”, sin embargo comienzo a conversar, le explico que mi familiar está sola en el área de hospitalización, sin embargo hace caso omiso a mis palabras, seguidamente llega una persona identificada como personal de seguridad del centro y me dice “El área donde vas no se permite acceso a hombres, ya que es una zona solo para mujeres, ellas necesitan privacidad, si quieres llama a alguien (sexo femenino) para que venga a acompañarla”, le explico a este ciudadano que no contamos con alguien sexo femenino, pues ella es la única mujer que vive actualmente en casa, su hija vive a 1057Kms de distancia, al final me dicen “Bueno vale déjalo entrar que vaya y haga rapidito lo que va a hacer y que se salga”, no sin antes hacerme una requisa como si estuviera entrando en un penal. ¿Cuál es mi sorpresa al subir a la zona de hospitalización? ¿Privacidad? JAJAJAJAJA, 8 mujeres, acostadas en un cuarto sin divisiones de ningún tipo, con diferentes enfermedades, mi familiar fue por una operación ambulatoria está expuesta a otras enfermedades, no hay controles sanitarios de ningún tipo, sin embargo debe pasar la noche en ese lugar (ni idea el por qué), un baño que no sirve, enfermeras mal habladas y más vigilancia, un efectivo de la policía del estado Bolívar, continúan las preguntas ¿Qué viene a hacer? mi cerebro respondió “A comprar chicha pendeja”, pero de mi boca salió “a visitar a un familiar”, JAMAS me pidieron identificación alguna, simplemente me anotaron en un cuaderno muy parecido al de Jim Carroll, converse con mi familiar y al rato, 40 o 45 minutos después llega otro ciudadano con uniforme, otra sorpresa más, en sus palabras, “¿Cuál es el familiar que se va a quedar para darle el brazalete”?, pues si, te dan un brazalete, de esos que se usan cuando vas a una barra libre, rumba, entre otros si eres un visitante que va a ir a diario a acompañar al paciente, me vino a la cabeza “WTF ¿En serio se gastan el dinero comprando brazaletes, muy bonitos (mañana les tomo fotos), para colocárselos a los visitantes, pero no pueden reparar un puto baño para los pacientes?”, continuando con mi visita, llegó la hora de irme… Otra sorpresa más, resulta que la vigilancia y todo esa parafernalia absurda como si fueras a visitar a un reo se lo hacen a los visitantes, veo a un ciudadano identificado con un carnet de la institución sacando frente a las narices del guardia y de la forma más descarada posible una caja de jeringas y me quede a ver si era que las llevaba a otro punto del centro, pues no, las metió en su vehículo, arrancó y se fue saludando a todos, hermosa escena y aquí es donde dicen “Es que las trasladaba a otro centro donde hacen falta”, supongamos que es así ¿No necesita el guardia o el personal de seguridad revisar con una hoja de salida, firmada por alguien, que lo que sale es lo que dice y quien se lo lleva es la persona indicada?, digo.

Gastar dinero en cosas absurdas como el brazalete, tener a la guardia nacional para que igual se roben los insumos del hospital, pero que el acompañante no pueda subir una comida decente, definitivamente hay muchas cosas malas en esto, pero ni modo, esto sucede a diario hoy me tocó a mi verlo, a lo mejor tu lo ves y ya es normal para ti.

Segunda acción del día, ya no en el hospital, más bien como parte de lo que decidí hacer para ganarme la vida. Las personas siempre han creído que quienes se dedican a las tecnologías, son hippies, greñuos, drogos, entre otros y que por ende el trabajo (diseñar, desarrollar, planificar, poner en marcha un proyecto, una idea) es un trabajo que cualquier mortal hace, puede que si, pero antes de hacerlo debe hacer algo bien importante y es EDUCARSE en el área que desea entrar, si quiere hacer de esto su estilo de vida, debe no solo educarse, también debe comprar equipos de calidad, servidores para pruebas, unos buenos cascos (audífonos), muy buena conexión a Internet y alimentarse como todos, que sucede con ello, TODO eso cuesta y los cálculos de sus trabajos se hacen en base a eso. No se como lo hacen los médicos para decir “Hoy mi consulta cuesta 2000Bs”, yo tengo una escala bastante simple, sumo todos mis gastos, los divido entre 30 y tengo lo que debo producir por día para mantener el estilo de vida, en base a eso coloco precios. Aunado a ello los gastos operativos de Hosting y Dominio en caso de ser un sitio web, sin embargo los clientes insisten en colocarle precios a tu trabajo, como el cuento del tornillo. Considero que parte de la culpa la tienen muchos que trabajan en está área y la manera de conseguir clientes es bajar en lo mínimo precio, devaluando su trabajo y menospreciando su talento simplemente por tener “clientes”, recuerdo una vez a un compañero cuando asistimos a una reunión a un periódico de la ciudad para diseñarle su sitio web y al terminar la reunión mi compañero dijo “No trabajaré con está persona, no sabe lo que quiere y como no sabe eso, querrá pagarte como le da la gana”, tenía razón en ese entonces, está vez me pasó a mi en solitario,
CLIENTE: “Necesito un sitio web (no conoce la diferencia entre sitio web y aplicación web, es aceptable) que me permita llevar el control de mis pacientes, citas, historia, les envíe mensajes de texto cuando tengan cita y les permita pagarme en linea con TDC” ahhhh “Por supuesto debo llevar el control de los ingresos/egresos, pagos a la secretaria, gastos de material que uso por paciente y gráficos de cuanto gasto en material mensual, semestral y anual”
YO: ¿Cuánto es su presupuesto?
CLIENTE:”No se cuanto cuesta, pero tengo disponible 10000Bs, si puedes llevarlo menos mejor, pues los 10mil completos los pago si me lo entregas en 15 días”
YO: uhhhhh, no creo de verdad, es casi imposible, en este punto de la conversación trato de orientarlo diciéndole que con el presupuesto que tiene podemos hacer algo mucho más simple, simplemente contactos, currículo, home, entre otros.
CLIENTE: Ok, pasame el presupuesto

Es increíble, pero yo le envio el presupuesto y sin embargo le parece exagerado JAJAJAJAJAJA “Are you kidding me”.

Hace unos meses se hizo muy popular la campaña “No cobro por que hago, cobro por lo que se”, deberíamos ponerla en práctica en TODAS las ciudades de Venezuela.

Ya para terminar, agradezco si llegaste hasta aquí, quiero decirte que si eres un desarrollador, diseñador, programador o alguien relacionado con las tecnologías, cobres lo que es, valora tu trabajo, pues de no hacerlo jodes a otros que si lo valoramos.

Instalando psycopg2

Esta entrada es para que no se olvide el comando y para ayudarlos a ustedes cuando tengan que usar Python con PostgreSQL (ya que tengo memoria de pez), al grano entonces, debemos instalar lo siguiente:

En el caso de usar Debian/Ubuntu
apt-get install libpq-dev python-dev

Si usas CentOS/Fedora
yum install python-devel postgresql-devel

Una vez instalado podremos instalarlo con el comando

pip install psycopg2

¿Simple, no?, más que una entrada es una receta :)

Taller Django Capitulo Ciudad Bolívar

django-logo-positive

Taller teórico-practico acerca del framework web Django. Al finalizar el taller el participante será capaz de crear una aplicación web usando el framework, así mismo conocer las diferentes ventajas de uso.

CONTENIDO DEL TALLER:
✔ Entendiendo como trabaja Django
✔ El modelo de datos
✔ El Shell de Django
✔ Vistas (Views)
✔ Plantillas (Templates) usando bootstrap
✔ Los formularios
✔ Los archivos estáticos (STATIC_URL)
✔ Gestión de usuarios
✔ Despliegue en el servidor web (virtualenv)

COSTO: 1150 Bs P/P

DURACIÓN: 16 Horas

FECHA: 19 y 20 de diciembre

Puedes apartar tu cupo con el 50% y el otro 50% el día del taller.

CERTIFICADO, MATERIAL DE APOYO, CARPETA INCLUIDOS

Información:
TLF: 0426-2795326
Correo: contacto@grupolab42.com.ve
TWITTER: @Lab42software

Para reservar su cupo deben hacer deposito o transferencia al numero de cuenta:
0105 0064 89 1064587348 del Banco Mercantil
A nombre de: LAB42 Software C.A.
RIF: J-402775199
Una vez hecho deben enviar sus datos junto al numero de voucher o transferencia al correo contacto@grupolab42.com.ve para confirmar su reserva.

PEP8 + Sublime Text 3

Algo que deberías hacer es respetar PEP8, te dejo un pequeño “plugin” para Sublime Text 3 que te ayudará con eso. Lo primero que debes hacer es instalar lo siguiente, abres Sublime Text 3 vas al menú View + Show Console y pegas esto.

import urllib.request,os,hashlib; h = '7183a2d3e96f11eeadd761d777e62404' + 'e330c659d4bb41d3bdf022e94cab3cd0'; pf = 'Package Control.sublime-package'; ipp = sublime.installed_packages_path(); urllib.request.install_opener( urllib.request.build_opener( urllib.request.ProxyHandler()) ); by = urllib.request.urlopen( 'http://packagecontrol.io/' + pf.replace(' ', '%20')).read(); dh = hashlib.sha256(by).hexdigest(); print('Error validating download (got %s instead of %s), please try manual install' % (dh, h)) if dh != h else open(os.path.join( ipp, pf), 'wb' ).write(by)

Esto te va a permitir instalar paquetes en tu sublime text, seguidamente la combinación de teclas ctrl + shift + p y en el cuadro que se despliega escribes install, seguidamente Buscas Python Flake8 Lint y comienza la instalación. Ya con eso tienes quien te avise si respetas o no el PEP8. Saludos y Happy Coding :)

Estilos a Forms Django

Saludos, un post rápido, donde explicaré la manera de como darle estilos CSS a los formularios creados con Django. La primera forma es la siguiente

Primera Forma
class MyForm(forms.Form): myfield = forms.CharField(widget=forms.TextInput(attrs={'class' : 'myfieldclass'}))

Segunda Forma:

class MyForm(forms.ModelForm):
class Meta:
model = MyModel

def __init__(self, *args, **kwargs):
super(MyForm, self).__init__(*args, **kwargs)
self.fields['myfield'].widget.attrs.update({'class' : 'myfieldclass'})

Tercera Forma:

class MyForm(forms.ModelForm):
class Meta:
model = MyModel
widgets = {
'myfield': forms.TextInput(attrs={'class': 'myfieldclass'}),
}

La diferencia entre cada una de ellas es visible, en la primera le das estilo solo al input text que necesitas, puedes definir diferentes estilos para diferentes input text. En la segunda le das el mismo estilos a todos los campos (fields) del formulario y en la tercera le das estilo solo a los campos de texto (TextInput) el mismo estilo para todos

Lógicamente debes cambiar el “myfieldclass” por tu class en CSS.

Si deseas agregar un “Placeholder”, basta con agregar siguiente a (attrs={'class: 'myfieldclass', 'placeholder': 'lo que desees'})