Text

De por qué no viajar con Avianca.

Mi nombre es Rafael Chacón y soy un venezolano oriundo de San Cristóbal viviendo en Vancouver. Después de algunas experiencias medianamente traumáticas para viajar a Venezuela en navidades, se me ocurrió la (primera) brillante idea de confiar en Avianca y hacer mi respectivo transporte navideño vía Colombia en lugar de Venezuela. Después de todo, las cosas parecieran estar funcionando mejor en la hermana república.

Mi periplo comenzó el 19 de diciembre desde la ciudad de Miami con destino a Cúcuta y tenía por regreso el 5 de enero. Aquí comienza la cadena de errores que acabaron con mi percepción de Avianca. Vuelo pautado para las 4 de la tarde para Bogotá con conexión a las 9:45 para Cúcuta. Cinco de la tarde, el vuelo no sale. Cinco y media nada. Momento de preguntar. Disculpe señorita, tengo una conexión para Cúcuta usted cree que me de chance de tomarla. Y aquí comienza esa atención al cliente en la que le ven a uno cara de idiota y le dicen: en pantalla me sale que ningún pasajero va perder sus conexiones no se preocupe señor. ¿No se preocupe señor? En el mejor de los casos, el vuelo sale a las 6 y llegaré a las 9 de la noche, dos más dos son cuatro, esta noche duermo en Bogotá. En efecto esto fue lo que sucedió y al llegar a Bogotá me informaron que no podía tomar mi conexión y que Avianca me enviaría a un hotel para tomar otro vuelo al día siguiente. Cuando se vive tan lejos y hay tan pocas vacaciones al año cada día cuenta, este tipo de eventos afectan la experiencia del viaje.

Es aquí cuando se me viene la segunda brillante idea. Bueno ya que llegué un día después y el drama que representa viajar de Cúcuta a San Cristóbal en estas fechas a esas horas (aproximadamente 8 horas), vamos a tratar de mover el viaje un par de días y quedarme hasta el ocho de enero. Llamemos al call center de avianca desde Venezuela. Si señor en qué puedo ayudarle, me gustaría hacer un cambio en mi boleto, datos para acá datos para allá. ¿Se puede pagar en Bolívares? Si como no. Dar datos de tarjeta de crédito esperar como 30 minutos. Que pena señor, en Bolívares no se puede tiene que ser en dólares. No en dólares no se puede pagar… y de esas cosas que pasan en estos países la llamada se cae.

Tercera brillante idea. Bueno, sino pude pagar todo debió quedar en el mismo estado en que lo tenía. Me imagino que una aerolínea medianamente decente en caso de hacer un cambio y no poder procesar el pago emitirá algún tipo de notificación. Pues no, no cuenten con este mínimo de cortesía por parte de Avianca.

5 de Enero. Vamos a Cúcuta a regresar de las vacaciones. Divertido viaje de 6 horas en carro para recorrer 45 kilómetros. Al menos no fueron ocho, aquí siempre hay que estar agradecido de estas pequeñas victorias. Llegar al aeropuerto, tratar de chequearse y que pena señor pero su boleto es para el ocho y tiene que pagar 600 dólares. Poker face. ¿Cómo así? Sí aquí aparece un cambio. No pero tiene que haber un error. Pues no podemos ayudarle tiene que comunicarse con el call center. ¿Cómo demonios no me pueden ayudar en Avianca y lo tengo que hacer a través de un call center? Será que me puede prestar un teléfono para llamar al menos? No que pena señor teléfonos aquí no tenemos en el segundo piso hay un centro de comunicaciones.

Aquí comencé a sudar frío y subí lo más rápido que pude al segundo piso. Traté de llamar y por supuesto, de los centros de comunicaciones no se puede llamar a números 800. Aquí debo reconocer que tuve el mejor trato al consumidor del día y la chica del centro de comunicaciones me prestó su teléfono personal para poder hacer llamada. Una hora después y luego de hablar como con 5 representantes de Avianca y con mi vuelo a Bogotá perdido, me dicen: señor escuchamos la grabación y usted aceptó el cambio en Bolívares, así que lo mejor que podemos hacer por usted es cobrarle ese monto en Bolívares fuertes y tenga su boleto para el ocho.

¿De verdad? ¿Eso es lo mejor que pueden hacer por mi? ¿No pudieron avisarme que habían emitido el cambio? ¿No pudieron decirme que el pago no fue procesado? ¿No pudieron haber tenido la gentileza de haberme hecho el cambio de boleto sin penalización siendo que todo esto surgió por su incompetencia?

Avianca tu volar y servir con pasión para ganarse la lealtad son palabras vacías. Después de este viaje espero más nunca tener que usar tus servicios.

Ebay Test

Flowers

Photo
mattfisher:


My Sister Paid Progressive Insurance to Defend Her Killer In Court
I’ve been sending out some impertinent tweets about Progressive Insurance lately, but I haven’t explained how they pissed me off. So I will do that here as succinctly as possible. There’s a general understanding that says, “insurance companies— oh they’re awful,” but since Progressive turned their shit hose on my late sister and my parents, I’ve learned some things that really surprised me.
I’ll try to cleave to the facts. On June 19, 2010, my sister was driving in Baltimore when her car was struck by another car and she was killed. The other driver had run a red light and hit my sister as she crossed the intersection on the green light.

Read More

mattfisher:

My Sister Paid Progressive Insurance to Defend Her Killer In Court

I’ve been sending out some impertinent tweets about Progressive Insurance lately, but I haven’t explained how they pissed me off. So I will do that here as succinctly as possible. There’s a general understanding that says, “insurance companies— oh they’re awful,” but since Progressive turned their shit hose on my late sister and my parents, I’ve learned some things that really surprised me.

I’ll try to cleave to the facts. On June 19, 2010, my sister was driving in Baltimore when her car was struck by another car and she was killed. The other driver had run a red light and hit my sister as she crossed the intersection on the green light.

Read More

Text

Reacting to a theft

Last week someone stole my bike at the front of my building in Vancouver, BC. It is very frustrating to wake up to work and notice that your mean of transportation has gone. I didn’t want to over react and ultimately I always try to take an stoic approach to these situations.

However, I tried to find on the Internet a place to report stolen bikes and I couldn’t find one. I thought that it might be useful to have place where people report these kinds of events, and who knows, someone might find the bike…

So I decided to create a small system for this purpose. The code base is here
and the site is live (hosted in heroku) in the following url.

I hope that someone might find this useful.

Text

Vim Macros - A practical example

I have been using Vim for the last eight months in a daily basis and the more I use it the more I like it. There was some functionality that always seemed like dark to me and I never understood how to use it: Vim Macros. So today I finally learned how to use it and it was really useful. I decided to share my humble enlightenment and in this blog post you will read my findings. Suppose you have very big file with some sort of format that you want to change:
"san francisco", "(californaia)" => "usa"
"san antonio",  "(californaia)" => "usa"
"new york", "(new york)" => "usa"
"seattle", "(washigton)" => "usa"
...
And you would like to change that file to something like this:
'san francisco', 'californaia',  'usa'
'san antonio',  'californaia' , 'usa'
'new york', 'new york' , 'usa'
'seattle', 'washigton', 'usa'

How would you do that? If you are a regular expression magician, maybe you could find one really quickly that will solve your problem. But if you are like me, you wouldn’t like to spend 10-15 minutes figuring out what is the regular expression that is going to solve your problem.

Vim macros are here to save us. In vim, a macro is a sequence of commands that are save for future uses. To start recording a macro you type ‘q’ followed by a letter (called register), to store the macro . Then type the sequences of commands and then ‘q’ again to stop recording.

After that if you want to use the macro, you type ‘@’ followed by the register where the macro is stored. Let’s see this with our text what would the macro look like:

qa0r'ESCf"r'ESCf"r'ESClxESCf)xr'lr,lxxlr'f"r'ESCq
ESC stands for the key “ESCAPE”. So after that we have in register a our macro that transform our line in the desired format. So now we need just to apply that macro in the whole file. Type the following in command mode:
2,158norm! @a

Et voila! Your file is now the way you want it. I know it looks a little bit long the lists of commands that you have to type to transform the text, but if you are familiarized with vim, is something that you would have done anyway. The difference is that you recorded the sequence of commands and now you could repeat it over and over.

NOTE: If you have plugins like vim surrounds, the sequence of keystrokes would have been shorter. However, for the example I just used plain vim commands.

Link

mitchellhashimoto:

Having spent a significant amount of time conceptualizing and growing Vagrant into a decently successful open source project, I’ve come away learning quite a bit. I haven’t seen many blog posts about open source maintainers commenting on their lessons learned, so I’d like to share them here. These…

(Source: mitchellhashimoto)

Text

New Relic + Clojure + Heroku: Easy steps integration.

Last week I set up a clojure app in heroku using new relic. The steps are really straight forward (are basically the same that you find for you Java), but given that there are no official instructions for using new relic in a clojure app a decided to write this small post:

0) Add new relic to your instance

Add new relic to your instance via the UI or by terminal using:
$ heroku addons:add newrelic:standard

1) Download new relic

At the moment of this post you could download new relic here.

2) Check gitignore file

If you created the project with lein, make sure that in your .gitignore you don’t have *.jar.

3) Add new relic to your project

$ git add newrelic
$ git commit -m 'add newrelic'
$ git push heroku master

4) Enable the Java Agent

Add the following flag to your JVM_OPTS config var on Heroku: -javaagent:newrelic/newrelic.jar

You can get the current value of your config var with:

$ heroku config
...
JVM_OPTS             => -Xmx384m
...

Add the config var:

$ heroku config:add JVM_OPTS='-Xmx384m -javaagent:newrelic/newrelic.jar'

And thats it!! You should have new relic working now!

Text

Copied ssh-private key not working

Today I was suffering because a problem with a ssh-private key. I had a private/public key properly set and working for deploying an application and for reasons beyond the scope of this project I decided to change it. So I generate the new key and it was working properly. Something like this:

ssh -i private-key user@myserver.com

It was working and I was very happy. But then, I copied this private-key to a another folder and it stopped worked. I check the permissions, check-sums of the file and everything was exactly the same. No clue whatsoever of what was going on.

Then I changed the name of the file from private-key to private-key2 and it worked. At this point I was about to cry. So after a lot of research and pain, I found what was the original issue. It turns out that I had a file called private-key.pub (corresponding to the previous key) in the folder where I copied the new private key. It seems that ssh doesn’t like this, it tries to use this public key to match the private key and because it doesn’t, it refuses to do the authentication.

So the lesson to be learned here is that if you copied a private key (my_private_key) and it happens that you have a file called my_private_key.pub in the same folder, make sure that this public key corresponds to the private_key, otherwise you are not going to be able to connect to the remote machine, even if there is nothing wrong with your private_key.

Photo
This was me today!

This was me today!

Text

Palabras contra la intolerancia y homofobia

Estimada Maria Denisse,

Mi nombre es Rafael Chacón, soy un venezolano, heterosexual. Acabo de leer el siguiente artículo en el universal. Primero pensé en solo responder por email, pero dado que su artículo es público, decidí hacer una respuesta de la misma forma.

Francamente estoy muy sorprendido por sus palabras. Probablemente usted nunca responda a esta replica y yo este perdiendo mi tiempo al escribirle, pero sin embargo siento la responsabilidad de hacerlo de cualquier forma.

Primero me gustaría decir que siento mucha pena por la señora canadiense que tuvo que pasar por una infancia tan traumática. ¿Pero podría usted afirmar con certeza que la causa fue homosexualismo de su padre? ¿Cuantos padres heterosexuales no malogran la educación de sus hijos también? ¿No le parece que la pregunta pertinente esta relacionada a la educación familiar y la inculcación de valores, independientemente de las preferencias sexuales?

Me preocupa, que queden escritas palabras que promuevan el desprecio hacia a otros seres humanos por sus tendencias sexuales. Hacer un vinculo directo entre homosexualidad y el maltrato infantil, me parece una simplificación tan burda de la realidad, equivalente a otras que ya tanto daño han hecho como: los musulmanes son malos, los judíos son el mal del mundo, todos los afganos son terroristas y pare usted de contar.

De sus palabras se filtra un mensaje de intolerancia y ceguera hacia la diferencia, que quizas sea aun más peligroso que la adopción por parejas no heterosexuales. ¿Es ese el mundo que usted quiere crear?

Cordialmente.

Text

Can’t upload App - ‘An error occurred uploading to the itunes store’

Yesterday I was trying to upload an application to the appstore and I was getting and getting the following error:

“Can’t upload App - ‘An error occurred uploading to the itunes store’”

I was trying to submit it through xcode 4.3 with organizer. All the validations passed so I didn’t have a clue of what was going on. After a few hours the problem continued and after that I installed a software update that was available for java in the updates center and I also restarted the computer.

I’m not sure if it was the rebooting or the Java update, but after that I was able to submit the app.

I hope this could be useful for someone else…

");pageTracker._trackPageview()}catch(err){}