jci's blog

Earthquakes can't stop the rock

Escrito el 02/02/12 02:27:13 am por jci

Just something that I may not forget

Categories: GNOME, GNU/Linux

Handbrake-CLI. You're awesome.

--start-at duration:150 --stop-at duration:300

O bien

--start-at frame:2000 --stop-at frame:5000

Y mi receta personal:

HandBrakeCLI -e x264  -b 2500  -a 1 -E faac -B 160 -R Auto -5 -2  -D 0.0 \
-f mp4 -m -x rc-lookahead=50:ref=1:bframes=0:subme=6:trellis=0 \
-i inputfile.fmt -o file.avi
157 views » Send feedback »

Escrito el 12/27/11 11:59:17 pm por jci

This is the most strange ransom note I've ever done...

Categories: GNOME, GNU/Linux, Misc Crap, Playstation

Disculpen que mande este post desde Paranal, pero desafortunadamente (duh) no estoy en Santiago para hacer efectivo esto de forma inmediata.


Exhibit A : Nerdom

Bueh, para los que no estan enterados, me llego de sorpresa (si, claro) una PS3 Slim 160 GB. Algo mas que agregar a mi nerdom.

La cosa es la siguiente : ya tengo (mas de una). Asi que mi decision es rematarla. Podria cobrar lo que sale una de esas nueva (esta esta en near-perfect-mint status, o sea, salio de la caja un par de veces), o bien cambiarla por algun item/itemes de similar equivalencia monetaria.

Los interesados, email a <bidps3 at codemonkey.cl> dando su oferta. O en el quebrado sistema de comments que tengo en la pagina.

Y apurense, ya hay interesados...


I saved it from his cold dead hands

2532 views » 2 feedbacks »

Escrito el 09/27/11 02:30:43 pm por jci

Sorry for the crossposting

Categories: GNOME, GNU/Linux, Personal, Advocacy

Efectivamente. Volvemos al ciclo de Charlas del 2011 (algo tarde, no?). Esta vez, hablando de Software Libre, estrellas, computadores que no quieren encender y otras historias.

Apuntense! Para el nodo Santiago (donde estare), sera el Sábado 1 de octubre de 2011, en Universidad Central Sede Santa Isabel, Santa Isabel 1186, de 10:00 am a 19:00 hrs (o hasta que nos echen).

Los veo alla.

4347 views » Send feedback »

Escrito el 08/01/11 12:38:50 pm por jci

It's Gotta Be the Ugliest Hack I Have Ever Done

Categories: GNU/Linux, Programacion, Hacks, Ubuntu

[ debido a algun NDA, no puedo revelar ciertos detalles, pero contare los importantes ]

Intentando mejorar ciertos aspectos de [ censura ], se me ocurrio implementar un sistema de alarmas rapido, eficaz, economico y audaz. Ahora, el asunto es que jugar con protocolos de comunicacion no es uno de mis fuertes pero si lo es el [ censura ] y tambien [ censura ]. Despues claro de intentar hacer funcionar rancios programas hechos en C o Python.

IMG_3489
Snowy day here at the end of the world

De pasadita, encontre un bug que afecta a finch y pidgin, pero los contare otro dia. Ya esta el bug en Launchpad :B

A lo que ibamos.

Empece primero usando XMPP, ya que [ censura ] y ya estaba corriendo, asi que fue mi primera eleccion. Debido a que el servidor estaba corriendo con [ censura ] y no dejaba conectarse por otra cosa que no fuera pidgin...

Despues de reintentos varios donde tuve cosas como hostMistmatch y cepillandome un par de bibliotecas en Python decidi abortar mision. Aunque claro, instalando un XMPP server local, incluso con negociacion con TLS, andaba de peluches.

IMG_1325
Some friends call this a quick action photo

Recorde que hace tiempo me mostraron que Pidgin era compatible con Bonjour. Bonjour (antiguamente Zeroconf) permite mostrar servicios a traves de la red usando (inserte su magia favorita aqui) y los programas que sean capaces de entender estos mensajes, pues los interpretan.

Veamos un ejemplito, sin censura, claro.

Resolved service:
  fullname   = boba\032\09100\05821\0589b\0586a\058a6\058a6\093._workstation._tcp.local.
  hosttarget = boba.local.
  port       = 9
Service added; resolving
Resolved service:
  fullname   = lacantina\032\09100\05821\0589b\05872\058ac\05828\093._workstation._tcp.local.
  hosttarget = lacantina.local.
  port       = 9

Que carajos es esto? Pues bien, un mensaje que indica solamente la presencia de una workstation en la red local. Es todo.
Ah, lo interesante. Es manejado todo por debajo del capo usando Avahi. Si no saben que es, apliquense un google. Y 1000 internets menos.

IMG_3392
Dessert

Todos los que son hosttarget son las maquinas que mDns resuelve de forma economica y audaz. Si quieren mirar la forma de resolucion de estos nombres...

jci@socrates:~/Build/pybonjour-1.1.1/examples$ more /etc/nsswitch.conf 
# /etc/nsswitch.conf
#
# Example configuration of GNU Name Service Switch functionality.
# If you have the `glibc-doc-reference' and `info' packages installed, try:
# `info libc "Name Service Switch"' for information about this file.

passwd:         compat
group:          compat
shadow:         compat

hosts:          files mdns4_minimal [NOTFOUND=return] dns mdns4 # <- LOOKIE HERE!
networks:       files

protocols:      db files
services:       db files
ethers:         db files
rpc:            db files

netgroup:       nis

Cierto. Primero mira /etc/hosts, de ahi usa mDns para la resolucion de hosts. Si no lo encuentra, usa una version mas completa. Y de ahi mDns en IPV4. Nota : este detalle de IPV4 es super importante en un problema que tuve haciendo pruebas.

Ahora miremos lo que necesitamos : Bonjour. Afortunadamente, este servicio tambien se registra en la red con el nombre de "presence". Y como Bonjour tambien identifica el tipo de conexion (tcp, en este caso), lo unico que nos queda es preguntar en la red local quienes tienen corriendo el servicio presence.

Y voila!

jci@socrates:~/Build/pybonjour-1.1.1/examples$ python browse_and_resolve.py _presence._tcp
Service added; resolving
Resolved service:
  fullname   = jci\064socrates._presence._tcp.local.
  hosttarget = socrates.local.
  port       = 5298
Service added; resolving
Resolved service:
  fullname   = user1\064lacantina._presence._tcp.local.
  hosttarget = lacantina.local.
  port       = 5298
Service added; resolving
Resolved service:
  fullname   = user2\064muldernix._presence._tcp.local.
  hosttarget = asterix.local.
  port       = 5298

Asi que lo que me queda : conectarme directo a cada uno de esos "hosts" (nota : los .local son agregados de la resolucion de mDns) y lanzarles un mensaje.

IMG_3376
Weird collection of weird toys

Spamming time!

#!/bin/bash

for i in `cat listahosts.txt`
do
      echo '<message type="chat"><body>'Feed me a stray cat'</body></message> ^] quit' \ 
      | telnet $i 5298
done

Les dije que el hack era algo feo.

Por supuesto que el mensaje de ejemplo de aca es bastante burdo. El real mensaje que debo enviar es [ censura ].

Si, yo tambien odio los NDA. Pero a fin de cuentas, lo importante no esta censurado. [ censura ]. Creo.

IMG_3431

That's not fog. It's a freaking cloud

Ah, y el problema que tuve con IPV4. Pues bien, al usar Bonjour con Pidgin, si esta habilitado IPV6, va a intentar resolver...con errores. Deshabilitar IPV6 con

# echo 1 > /proc/sys/net/ipv6/conf/all/disable_ipv6

Dije que esto se veia feo.

5278 views » Send feedback »

Escrito el 07/22/11 01:20:08 am por jci

As I said before, go back to the matresses

Categories: GNU/Linux, Fotografia, Hacks

Los que se hayan dado cuenta, hice unos cuantos cambios por debajo del capo en mi glob. Primero, migre todo el contenido a MySQL 5 (conectado con un cliente en MySQL 3, pero no le cuenten a nadie). De ahi le di con un enshulamiento con todo.

Conversando con mi partner Rodrigo Fuentealba, me recomendo Perkins si es que me animaba a dise~ar algo. Debo confesar que a pesar de tener algo de experiencia en HTML, CSS es una perdicion para mi. No lo uso muy seguido y prefiero leer el codigo en HTML primero antes de tirarme las partes. Esta vez no fue la excepcion. Parti con el ejemplo y cambiar cosas...

...de ahi vino lo interesante : tomar el template de B2evolution y adaptarlo a perkins. Despues de un par de horas de errores garrafales, finalmente se arreglo.

Asi que recomiendo usar Perkins si es que estan en apuro de dise~o de HTML.

Ah, y de pasadita el glob quedo bien livianito para leer en navegadores. Que tal? :D

HDR
HDR!

Y en otras noticias menos interesantes, me di cuenta de algo horrible : me volvi obsesivo compulsivo. Ejemplo? Encontre una leve pelusa en las fotos con una camara relativamente nueva (Canon T2i). Asi que...empezar a buscar donde estaba la pelusa de mierda y removerla. La encontre, pero dentro del lente. Pensar que estuve casi 4 horas pensando (durante la noche) de como empujarla o removerla del autofocus. Si, requirio abrir el lente y mandar a la verga la garantia. Valio la pena, por supuesto.

IMG_1457
Pics should be THIS pristine, by the way

Y de pasadita encontre otra dentro del sensor, pero salio altiro.

1177 views » Send feedback »

Escrito el 06/11/11 03:51:13 am por jci

You know? Just enjoy the big show. We'll talk later.

Categories: Web Link Blog

Red Special

Saben?

Cuando pienso que nada podria mejorar, todo cambia.

Cambie mi trabajo hace unos meses. Y tambien cambie lo que me quedaba de vida. Todos los que me conocen me han visto distinto. Eso es bueno.

_MG_8026
You cannot say it's something awful

Por donde empezar a explicar como fue el cambio? Nah, quizas fue dejar mi antiguo laburo y tener uno mucho mejor.

Incluso con el sentido chauvinista. Pero estar alla por Paranal me ha dado clases de todo. Fisica, quimica, astronomia...

Lo que si doy gracias es tener amigos como Fernando.

Gracias. Infinitas!

Dios Salve a la Reina
Keep passing the open windows that will rock you

:D

3629 views » 1 feedback »

:: Next >>

Acerca de este glob

On the Sixth Day, there was a Running Man looking for a Predator to stop a Raw Deal with a Commando. Only True Lies were said. But nao, Junior is about to get Twins, with the help of a Kindergarden Cop. That will be the Terminator of all struggles.

Archives