Haproxy con Backends no standard
por Neoyagami en May.12, 2010, en haproxy, linux
HAproxy es un herramienta de balaneceo que creo que mas de uno ha encontrado util. Sin embargo un problema reciente provoco una seguidilla de revisiones por mi parte hasta encontrar al culpable.
Si a haproxy un backend en modo http le responde algún header incorrecto o malformado. Haproxy responde con un lindo error 502
El tema se arregla agregando
option accept-invalid-http-response
En su defincion de backends.
Con esto los backend pueden responder basura en sus headers y no sera tomado como error.
sin embargo hay que tener cuidado. headers malformados pueden ser tomados y utilizados para otros fines mas maleficos. asi que es preferible estandarizar los headers en vez de esta opción.
Por Jozú… que me an parteado!
por Neoyagami en Abr.07, 2010, en paranoia personal
Cuando me despidieron de mi trabajo anterior (la semana pasada) comenze a trabajar para mi nuevo empleador, una empresa que comienza a surgir, se ve muy bien el cuento, el caso es que por todos lados veo este letrero “No estacionar, SOLO RESIDENTES” en este caso me dije “bueno yo trabajo aquí mismo, por ende SOY residente”. Y cual fue el resultado?
CUEK.
Un lindo parte pegado en mi ventana bajo el parabrisas.
Ahora me complica el cuento, ¿Como se decreta quien es residente y quien no? Ya que mi jefe estaba estacionado frente a mi camioneta y a él no lo partearon, sin embargo el no sabe de nada respecto a dicho parte ósea, es como que ven mas seguido su auto por ende era residente? el viernes iremos a averiguar a la Municipalidad de Santiago ya que como estoy recien trabajando de nuevo no tengo suficiente poder adquisitivo como para andar pagando partes a diestra y siniestra. sin contar el hecho que fue mi primer parte.
Cambio masivo de contraseñas con expect
por Neoyagami en Mar.25, 2010, en expect, linux, scripting
En el mundo del encargado de servidores linux, a más de uno le ocurrio que debio cambiar la contraseña de acceso de mas de un servidor (pongamos unos 100 o 300) a mi en lo personal no, pero a un amigo si (mi amigo Sendoh) bueno, el tema es que le dije “mira creo que con expect puedo hacer algo para ti” y en un rato logre hacer esto
#!/usr/bin/expect -f
set ip [lindex $argv 0]
spawn ssh root@$ip
expect "connecting"
send "yes\r"
expect "password:"
send "password_antigua\r"
expect "\@"
send "ls\r"
send "echo \"password_nueva\" | passwd root --stdin\r"
expect "all authentication tokens updated successfully"
expect eof
Lo crean con un nombre, ej. CambiaPassword.expect y le dan permisos de ejecución (chmod u+x CambiaPassword.expect)
este script necesita que borren el archivo ~/.ssh/known_hosts o lo vacíen ya que contestara “yes” cuando ssh pregunte “Are you sure you want to continue connecting (yes/no)?” y eso solo pasa si nunca se han conectado por ssh o si en su archivo ~/.ssh/known_hosts no esta o no hay nada.
Para finalizar si son buenos muchachos y dejan un archivo de texto con la lista de ips de servidores solo les falta hacer un
cat archivoconips.txt | xargs CambiaPassword.expect
Recuerden cambiar password_antigua y password_nueva para que se ajuste a sus necesidades.
ESX del demonio
por Neoyagami en Mar.11, 2010, en ESX, linux
Hoy mismo en la madrugada me llamaron por que un ESX dejo de funcionar y al reiniciarlo no levanto nada, incluso la interfaz de administración quedo DOWN, por ende tuve que partir al trabajo (esto de estar de turno en la empresa)
Bueno, los servidores son algo desactualizados. ESX 3.0.0
Al ver la consola me encontré con la gracia que el servidor indicaba que la interfaz de administración se accedía vía
HTTP://0.0.0.0/
E indicaba un error
ALERT: Init: 1586: Invalid vmkernel id: 0. Distributed vmfs locking may not work
ademas de eso el modulo vmfs2 no queria levantar por ende dejando al esx sin acceso a los servidores virtuales. Despues de darle artas vueltas al cuento me encontre con este blog que dieron con el problema, el cual era que si no tenia ip configurada el vmkernelid asignaba un valor nulo y el vmfs2 no era iniciado. para lo cual habia que asignarle una ip. sin embargo a diferencia de lo que el blog dice, en mi caso la interfaz vswif0 no existia, asi que la cree usando el mismo comando pero agregando la -a
esxcfg-vswif -a vswif0 -i 192.168.10.2 -n 255.255.255.0 -p “switch conectado a la intefaz”
de “switch ” lo obtienen con el comando
esxcfg-switch -l
Revisan cual es virtual vswitch que tiene la puerta hacia su red de administracion y luego de eso podrán reiniciar, si por algún motivo no tienen rutas. agregenlas en el archivo
/etc/sysconfig/network-scripts/vswif0
agreguen la linea GATEWAY=ip.del.gate.way
Después otro reinicio funciono filete.
Pase por altos altercados antes de eso.
además NO SE LES OCURRA EDITAR EL ARCHIVO /etc/vmware/esx.cfg POR NINGUN MOTIVO. Miren que me puse a jugar con el y deje la media escoba que me costo arto reponer.
Luego que se nos cae el mundo
por Neoyagami en Mar.01, 2010, en catastrofe, materialismo, terremoto
Hola
Que manera de terminar mis vacaciones. Todo lindo este viernes mientras veia una pelicula con mi hermana y su pololo, “la guia del viajero intergalactico” y en la parte que el planeta era destruido empezo a temblar, cuando se puso un poco rudo, mi hermana fue por sus hijos al segundo pizo, en el momento que comenzo el remezon final (el que destruyo parte de mi pieza enterro mi tele de 32″ recien comprada y mi play station 3 juto con mi macbook)
cuando se detuvo un poco bajamos a mis sobrinos y nos quedamos en la parte ancha del patio y yo entre a la casa de mis padres, a la cocina y desconecte los balones de gas. ayudamos a mi tia a bajarse del segudo piso y la camioneta que salto por la calle estaba intacta ,la estacione y puse la radio. Mis sobrinos quedaron en el asiento de atras y cada replica que había yo movía el auto para que no se dieran cuenta que estaba temblando , termine durmiendo en la camioneta y mis sobrinos en su casa que aguanto el terremoto como ni una otra casa que vi cerca, luego al otro día fui a ver mi habitacion encontrandome con esto

Por el lado derecho, abajo de todo eso esta mi tele de 32″ recien comprada y mi play station 3 XD.
También desenterré mi mac como les habia dicho.
No reportamos ni una baja por ninguno de mis familiares o amigos y a algunos con suerte se les cayo un lapicero.
Cuando comenze a ordenar mi pieza, desentarrar mis cosas y probarlas. las play parecia estar lista y en perfectas condiciones, bueno ayer quize jugar y me encontre con esta yayita. y no me deja jugar nada que use trofeos D:
Una de las cosas que en su momento me dio miedo fue que estaba algo nublado y mientras terremoteaba el cielo se aclaro dejando ver la luna llena mas grande que vi en años.
en mi hogar ahora hay internet (lento) telefono, luz y agua, ahora solo falta que sony arregle la cagadita para poder ser feliz nuevamente.
Alguien puede decirme
por Neoyagami en Ene.27, 2010, en Autos

¿Que auto es este?
Lo vi en el movicenter pero no tengo claro que modelo es. solo que tiene un estilo que necesito.
Nuevo numero de Berserk.
por Neoyagami en Ene.21, 2010, en manga
Acaba de salir el ultimo numero del comic de berserk, numero 310 y esta increíble.
Esta donde siempre así que disfrutenlo.
Muere uno de los grandes.
por Neoyagami en Ene.18, 2010, en Juegos
La verdad hoy me desperte de un excelente humor, a pesar de haber fracasado miserablemente en la revision técnica este fin de semana y de revisar mi balance y estar mal de dinero ahora ya. revisando mis paginas de siempre (esas que leo cuando ya revise que hay de nuevo en onemanga.com) y me encuentro con que Daisuke Gori ah muerto del día de hoy.
Pues es uno de esos personajes desconocidos pero que sin embargo escuchamos por varios lados, bueno es la persona que le da la voz a “Heihachi Mishima” (wikipedia). me da un poco de pena ya que de verdad era bien rudo el viejo y ahora “quien le seguira” pues de verdad eso quiero verlo, no por nada este viejo tenia una filmografia de envidiar, quien mas le hace la voz a Heihachi Sishima y a mr satan. eso es dificil de superar.
Re-Aprender a programar:Objective-C OOB.
por Neoyagami en Ene.18, 2010, en paranoia personal
warning: No planeo enseñar Objective C ni POO ya que mis capacidades de enseñar son malisimas y ademas pude haber entendido mal los conceptos. Corrijanme si me equivoco.
Dentro de lo que me a costado ultimamente es “reaprender” a programar. Si bien en mi educación media estudie en un colegio “técnico” (de los que te dejan con un titulo técnico al salir) no muy de los mejores, y aprendi de que se trataba solucionar problemas mediante una serie de instrucciones. Lo mas complicado era poder hacer la solucion lo mas optimizada posible, una operacion matematica aquí, otra por allá, y listo, un ciclo menos y la cosa anda mas rápida.
Luego era que los programas necesitaban tener un orden por subfunciones, (cosa que no me enseñaron, pero que aprendí yo solito mirando ejemplos por ahí)
Y luego de ahí aparecieron los “eventos” (si, pase por visual basic, shame on me, pero me enseño algo) y en ese momento me deje de meter en la programación hacer la practica y trabajar.
Ahora quería retomar el tema (eso fue como el año 2000 aprox.) y me encuentro que todo es ahora “OOP” o Object Oriented Programing, todo se basa en objetos ahí fue cuando yo dije: “WTF que demonios” bueno. lo interesante de todo esto es que el modelo no se ve tan mal
Uno declara objetos, los construye, los usa y los mata.
Si alguna persona se diera el trabajo de leer lo que escribo(cosa que dudo pero que le vamos a hacer) se preguntaria ¿OK y por que Objective C? Si existen varios lenguajes orientados a objetos.
Mi respuesta: “tengo un mac y viene con Xcode 3.2″ y eso ademas significa “Puedo hacer aplicaciones en Cocoa con un IDE y SDK integrados en mi sistema” y Cocoa significa Objective-C.
Lei Unos cuantos Manuales desde CocoaDev aunque de verdad lo principal los saque desde CocoaDevCentral (son bien parecidas las Urls y en una de esas sean del mismo dueño
)
Bueno lo feo de todo esto es que las implementaciones para trabajar en el IDE a cambiado un poco desde Leopard hacia Snow Leopard (10.5 a 10.6) por ende los manuales en esas paginas contenidos no funcionan de la misma forma. si bien el codigo es casi el mismo no varia practicamente en nada, (salvo un par de indicaciones a la hora de indicar los objetos que obtienen informacion de su misma clase… ni yo me entendi eso. pero antes en 10.5 cuando uno necesitaba hacer un simple NSTableView
bastaba con decir en la implementacion
-(void)awakeFromNib
esto
[tabla1 setDataSource:self];
con eso el Objeto NSTableView sabia que el Objeto de control que llamo el SetDataSource es el que le entregara los datos.
Pero ahora hay que hacerlo así.
Cuando se define la interfaz uno debe declarar que sera source de datos de un NSTableView.
@interface ControlAPP : NSObject <NSTableViewDataSource>
Ahora lo mas complicado apesar de toda esta jerga es como uno tiene que pensar.
Cuando uno programaba a la antigua (sin importar el lenjuage) uno decia
variable1=123 variable2=variable1+123 muestra variable2
Y todo bien, pero ahora uno debe generar un grupo de Objetos los cuales tendran sus metodos (subrutinas como yo lo entiendo) los cuales iniciaran el objeto, trabajaran con el y luego lo destruiran segun como lo necesite el programador. de esta forma dinamicamente uno crea y crea objetos los cuales mantendran todo ordenado en tiempo de ejecucion y todo lo que uno aprendio antes debe usarse dentro de dichos metodos de forma desordenada ordenada y pulcra, metiendo pedazos de soluciones en modo de codigo.
Ahora todo es cosa de construir y decirle “anda haz eso” mientras a otro objeto le decimos “anda para este otro lado” y asegurarse de destruir todo lo sin uso para evitar memory leaks y terminamos teniendo una cantidad de archivos de clases e includes.
Y a todo esto lo unico que no se es ¿que tan optimizado anda esto?
Por que yo se que java funciona de sea forma y todos las aplicaciones que le conozco funcionan peor que un tanque a pedales. Por ende ya no me gusta mucho pero que le vamos a hacer, es lo que esta de moda.
Ahora miren esto.
Imaginemos que quiero en Objective-C hacer una clase (objeto simple) que sume unos numeros (total desperdicio de memoria pero pueden hacerlo mas complicado de quererlo) esto es simple en cualquier otro lenguaje pero en uno con OOP se complica bastante, pero cuando se trata de proyectos grandes, estos se ordenan bastantes y es bastante estructurada la forma de trabajar en ellos.
Eso es todo de momento. nos vemos.
Sincronizar mi audio: osX y android.
por Neoyagami en Ene.18, 2010, en android, musica, osx
Tener un android es casi todo coser y cantar, bueno una vez que lo Rooteaste(obtuviste acceso como root) y tienes el Market funcionando como la gente, sin embargo existio un problema grave para un ex usuario de iPhone como yo.
Todas mis listas estaban en iTunes, entonces me encontré con la disyuntiva ¿Como ordenar todo para que se fuera a mi G1(dream Android)? . Googleando por ahi apareció mi salvación, Sallin media Sync el cual resolvio todos mis problemas y además no te obliga a pagar por la versión básica
y el único problema seria que al sincronizar el debe borrar los mp3 subidos al celular y luego re-copiarlos, en verdad si tuviera una tarjeta de crédito internacional me compraría la licencia ya que la utilidad del software es genial.
Podremos seleccionar listas de reproducción del iTunes, o toda la biblioteca si quisiéramos, así como las fotos.
todo sera copiado al telefono y respetara las listas de reproduccion y el orden que tengamos el en Mac para hacer su uso mas fácil.
De todas maneras recomiendo su uso y si es posible compren la licencia del mismo.