diego sevilla’s weblog
it is better to remain silent and be thought a fool,
than to open your mouth and remove all doubt -- groucho marx

28/2/2007

field and a road

Filed under: english, español, fotografía/photo — Diego Sevilla @ 18:42 — In English



field and a road

Originally uploaded by dsevilla.

olivos

Filed under: english, español, fotografía/photo — Diego Sevilla @ 1:16 — In English



olivos

Originally uploaded by dsevilla.

27/2/2007

Problemas con los comentarios

Filed under: español, blogging — Diego Sevilla @ 18:28 — In English

Parece que últimamente no se podía introducir comentarios en el blog dependiendo de qué browser se usaba. Esto estaba causado por un error que cometí al añadir ciertas cosas al blog… Perdonad. Ya lo he solucionado. Al final no tenía nada que ver con el plugin wp-morph.

Cuando Google llama a tu puerta

Filed under: General, código/code — Diego Sevilla @ 1:06 — In English

Hace tiempo que no escribo nada por aquí, salvo alguna foto. No sé a qué se debe exactamente. Quizá a que tengo que hacer tantas cosas que escribir aquí me parece una pérdida de tiempo.

Sin embargo, están pasando muchas cosas en mi vida, bastante importantes, y quiero escribir alguna de ellas. Por ejemplo, como el título indica, Google me ha llamado porque están montando un centro de investigación en Zúrich. Esto sucedió hace unos meses. Hablaron conmigo, les envié el currículum y no supe nada más hasta hace poco. Pensé que mi currículum no era ninguna cosa del otro mundo y que se habían olvidado del tema, ya que tendrían cien mil solicitudes mejor que la mía.

Hace poco recibí una llamada al móvil de la que no entendí una palabra al principio. Decía algo así como “Hi sfdsfaisodfsifd sfsf Google UK”. Cuando entendí esto último y logré cambiar el chip a inglés… por fin pude entender lo que me decía. Según parece, la que habló conmigo en primera instancia ya no estaba en Google y por eso se habían retrasado en llamarme.

En fin, que concertaron una entrevista con alguien de Google Zurich. Me explicaron que Google es una empresa guiada por el “Engineering”, por lo que ellos mismos eran los que en última instancia decidían si contrataban o no. Por lo tanto, la entrevista sabía que iba a ser de corte tecnológico, con acertijos, etc.

Esta tarde me han llamado. Después de preguntarme cosas sobre el currículum (como en qué medida había participado en evolution y en Mono, si había escrito tests unitarios para mi código, en qué había consistido la revisión de código que había hecho, etc.) ha cambiado el tercio para hacerme preguntas de programación que tienen preparadas. Reproduzco más o menos en español lo más interesante del diálogo. En realidad ha sido en inglés: (G = Google, D = Diego):


[G] - Déjame que te pregunte una coas. Imagina que tienes una cadena de caracteres con palabras dentro y quieres ordenar las palabras en orden inverso. ¿Cómo lo harías?

[D] - Eh… esto… Construiría una lista de palabras con un list<string>, iría introduciendo las palabras en ella y luego recorrería la lista de forma inversa escribiendo en la cadena original.

[G] - OK, ¿y qué complejidad tendría eso?

[D] - Sería O(n), porque se tienen que hacer un par de recorridos por la cadena de longitud n.

[G] - OK, ¿Y en cuanto a memoria?

[D] - Pues sería también de orden O(n+m), donde n es el número de caracteres de la cadena (duplicados en total, ya que la lista contiene los mismos caracteres en total) más m nodos de lista donde m es el número de palabras.

[G] - OK. ¿Y se te ocurre una manera de hacerla usando sólo la cadena original?

(Aquí, en vez de estar pensando en el algoritmo, yo sólo pensaba “¡Coño, esto tiene que ser fácil!” “Me cago en la leche” Y a la vez pensando en qué decirle al tipo en inglés para que no se aburriera)

[D] - Let me see… si invierto la cadena… no, eso no, porque blah blah…

(pienso un poco … Después me he dado cuenta)

[D] - Ahh, OK, si invierto la cadena, luego puedo invertir cada palabra dentro de esa cadena, y ya está.

[G] - OK, sí, esa es la respuesta, ¿cuál es la complejidad, etc.?

(La siguiente pregunta era de otro algoritmo. En realidad ninguno de los dos eran muy complicados, pero sí que indican a ellos que tienes las herramientas necesarias)

[G] - OK, ahora otro problema diferente. Imagina que tienes una secuencia de números, y que te digo que busques si en la secuencia hay dos números tales que sumados me de otro número.

[D] - Yo le he dicho, para ir aclarando, por ejemplo, que tengo dos números dentro de la cadena, i y j, que al sumarlos dan k: i+j=k

[G] - Así es.

(piensa otro medio minuto)

[D] - OK, ordeno la secuencia y empiezo a recorrerla con dos índices. Uno al principio y otro al final. Avanzo el del final hacia el principio mientras el resultado del índice de la izquierda más el de la derecha sea mayor que k. Cuando llegue a uno que es menor que k, incremento el índice de la derecha, y así sucesivamente.

[G] - OK, ¿y qué orden tiene eso?

[D] - (aquí me he equivocado y le he dicho que ordenar era O(log2n), cuando en realidad es O(nlog2n). No importa, él me ha corregido). OK, sería O(log2n), porque el recorrido final es O(n).

[G] - O(n log2n)

[D] - Oh, sí, efectivamente, perdón.

[G] - ¿Y no se podría hacer más rápido?

[D] - (claro, he pensado “¡coño!” otra vez…) Se podría construir otro array, donde se apuntara de alguna manera el número necesario… no, espere… pero eso necesitaría de otro array, y antes me ha dicho que no utilizara mucha memoria

[G] - Sí, pero eso era para el de ahora. ¿Qué harías si puedes utilizar más memoria y otros arrays?

[D] - Si puedo utilizar bastante memoria, lo mejor sería un hash o un array de booleanos inverso si sé ma magnitud de los números (por ejemplo, de 1 a 1000 puedo construir un array de booleanos de 1000 elementos).

[G] - OK, y si usas hash, ¿qué función usarías?

[D] - Pues depende de la cantidad de memoria que quisiera utilizar. Eso define el tamaño del hash y el número de bits de la indización. Normalmente se utilizan funciones módulo N, donde N es el tamaño de los índices del hash, y también se pueden evitar colisiones y hacer algoritmos más eficientes con el direccionamiento abierto y el doble hashing, o incluso teniendo tablas precalculadas de hash como utiliza gperf, que siempre da O(1) al evitar las colisiones.

[G] - OK, muchas gracias. Creo que la entrevista está llegando a su fin… Si tienes alguna pregunta que hacerme…

[D] - Hombre, pues si puedo preguntarte, me gustaría que me comentaras qué te ha parecido la entrevista :)

[G] - Hombre…. no te lo puedo decir… esto no soy yo quien lo evalúa… Pero en fin… te puedo decir que vas a hacer la siguiente entrevista…

Lo cual quiere decir que quizá no lo haya hecho tan mal…

Sinceramente, lo que más trabajo me ha costado es explicar por el teléfono y sin saber el problema de antemano en inglés las cosas… Cosas como “recorrer un array”, no recordaba cómo se decían. Quizá como “go through the array”, pero no estoy muy seguro… He querido poner esta entrevista para que si alguien se ve después en esta tesitura, al menos sepa a qué enfrentarse.

Y ahora el verdadero problema… Esto es un sueño, sin duda. Google es una de las empresas más importantes e innovadoras del mundo. Pero esto también significaría dejar mi vida aquí y emprender otra dirección. Es difícil conciliar pareja y familia con eso.

26/2/2007

sad

Filed under: english, español, fotografía/photo — Diego Sevilla @ 23:39 — In English



sad

Originally uploaded by dsevilla.

.

Filed under: english, español, fotografía/photo — Diego Sevilla @ 2:53 — In English





Originally uploaded by dsevilla.

23/2/2007

viento en popa…

Filed under: General, español — Diego Sevilla @ 21:03 — In English



my future

Originally uploaded by dsevilla.

Bueno, parece que los trabajos de la urbanización «Agridulce II» están llegando a su fin… Tras pasar por el banco, esperemos estar allí pronto…

lomo fisheye through the viewfinder (or the magic crystal ball)

Filed under: english, español, fotografía/photo — Diego Sevilla @ 1:55 — In English



lomo fisheye through the viewfinder (or the magic crystal ball)

Originally uploaded by dsevilla.

22/2/2007

flowers in the evening

Filed under: english, español, fotografía/photo — Diego Sevilla @ 14:37 — In English



flowers in the evening

Originally uploaded by dsevilla.

weston euro master

Filed under: english, español, fotografía/photo — Diego Sevilla @ 1:45 — In English



weston euro master

Originally uploaded by dsevilla.

This is a weston euro master I recently bought for metering with my manual cameras. Testing with the D200, it sems (at least in the low light scale shown) to be -2EV. It may be normal. I really don’t know. I have no experience on light meters. Anyway, as the shot shows, I used ISO 25 for the meter. It measured “6″, that gave me 1/15 @ f/1.4. This is -3EV than ISO 200 that I used for this shot, giving me 1/30@f/1.4 ISO200, what I used on the D200 to get this shot. In the future, just using two stops down ASA, it will suffice. I have to test it in daylight to see if daylight scale also holds this -2EV behavior…

Es un Weston Euro Master que compré hace poco para medir con las cámaras manuales que tengo. Comparado con la D200, normalmente da -2EV en la escala de baja luz (tengo que probarlo más detenidamente a luz del día). En la imagen, tengo puesto el medidor a ASA25 (-3EV de ASA200, con lo que tomé esta foto), y la lectura era 1/15@f/1.4. Como estaba a 3EV de diferencia y el medidor está a -2EV, usé 1/30@f/1.4 ASA 200.

21/2/2007

Encuentros Nacionales Fotogenio Mazarrón 2007

Filed under: español, fotografía/photo — Diego Sevilla @ 19:59 — In English

Ayer vi en Planet Murcia una referencia a Fotogenio en Mazarrón, que se celebra este fin de semana. Me he apuntado, espero poder ir. Es de asistencia gratis y hay bastantes ponencias interesantes. Podéis apuntaros usando el formulario de la página web. La organización ha concertado la estancia y comidas con un hotel, o si lo preferís (así lo haré yo) podéis acercaros a Mazarrón. Hay incluso salidas nocturnas, para practicar fotografía nocturna, con lo que me gusta…



.

Filed under: english, español, fotografía/photo — Diego Sevilla @ 14:03 — In English





Originally uploaded by dsevilla.

Best of Flickr 2006

Filed under: español, fotografía/photo — Diego Sevilla @ 12:35 — In English

Aunque todavía se puede votar, también se pueden ver los resultados provisionales de la elección de las mejores fotos de Flickr del 2006 que han ido realizando los propios usuarios. Auténticas joyas que van pasando por Flickr y que a veces se nos escapan:

Best of Flickr 2006.

Con sorpresa he visto que mi foto «tres» está en el listado de 7 de 10 puntos. También «… and the ladybug prepares herself for another long night», acabo de ver. Tengo alguna otra, creo, pero están más abajo en la lista, cuando hay muchas más fotos y se me escapa el tiempo en buscar.

19/2/2007

there is always one that reaches the most

Filed under: english, español, fotografía/photo — Diego Sevilla @ 0:42 — In English



there is always one that reaches the most

Originally uploaded by dsevilla.

18/2/2007

.

Filed under: english, español, fotografía/photo — Diego Sevilla @ 2:02 — In English





Originally uploaded by dsevilla.

17/2/2007

El blog del niño gilipollas que quería volar

Filed under: español, crítica/critics, blogging — Diego Sevilla @ 14:29 — In English

Buscando otros planetas para escribir mi artículo semanal en «La Chuleta», he encontrado en Planet Granada, literalmente «El blog del niño gilipollas que quería volar». No he podido dejar de reir un rato al leer la entrada que había como más reciente… La reproduzco aquí, junto con la imagen, porque me ha dejado tan sorprendido su creatividad que no puedo más que citarlo completamente. La entrada se llama «Carnaval»:




Ayer tuve un día liadete. Han sido los carnavales en el cole y me lo he pasado muy bien. Yo me disfracé de cohete. No me he quitado el disfraz ni para dormir. Me gustan mucho los cohetes. Pero los que van al espacio, no los que hacen daño a las personas humanas del mundo. Esos son feos y malos.

Estoy pensando en ver si el disfraz funciona. Voy a asomarme por el balcón a ver.

:)

Procesado en batch de imágenes con «The GIMP»

Filed under: español, código/code, fotografía/photo — Diego Sevilla @ 14:01 — In English

«The GIMP» es, sin duda, uno de los mejores programas de edición e imágenes. Además es gratuito y funciona tanto en Linux como en Windows. Muy raras veces utilizo PhotoShop, porque GIMP cubre casi todas mis necesidades (salvo quizá corrección de lentes gran angular).

El caso es que GIMP es mucho más potente de lo que parece, ya que permite de forma muy sencilla ser programado para realizar labores automáticas. Por ejemplo, el otro día tenía que ajustar automáticamente el balance de blanco a una serie de imágenes y también aplicarles un poco de definición (sharpen) a cada una. Usando el lenguaje Perl y GIMP, se puede escribir un programa tan sencillo como este que trata cualquier fichero y le aplica esos dos pasos, guardándolo después:

#!/usr/bin/perl

use Gimp qw( :auto __N_ );
use Gimp::Fu;
use Gimp::Util;

Gimp::init();

my $img = gimp_file_load (1, $ARGV[0], $ARGV[0]);
my $draw = $img->gimp_image_active_drawable;
$draw->gimp_levels_stretch;

plug_in_sharpen(1, $img,  $draw, 30);

gimp_file_save(1,$img,$draw,"$ARGV[0]","$ARGV[0]");

exit 0;

Las dos funciones utilizadas son gimp_ levels _stretch (ajustar los niveles automáticamente) y plug _in _sharpen (con el parámetro 30%). El programa utiliza el primer parámetro pasado como un nombre de fichero. Y voilà…

Se podría pensar que esto es muy complicado porque uno tiene que conocer los procedimientos… Efectivamente, pero GIMP ofrece en el menú “Extn->Examinador de procedimientos” un diálogo que nos permite buscar funciones y nos dice los parámetros de cada una:



different

Filed under: english, español, fotografía/photo — Diego Sevilla @ 13:24 — In English



different

Originally uploaded by dsevilla.

15/2/2007

three tree

Filed under: english, español, fotografía/photo — Diego Sevilla @ 19:29 — In English



three tree

Originally uploaded by dsevilla.

14/2/2007

Super Teleobjetivos

Filed under: español, fotografía/photo — Diego Sevilla @ 0:37 — In English

Por casualidad he encontrado esta página. Está en chino, pero se pueden ver los modelos, las focales y las fotos de los teleobjetivos. Increíble. Echad un ojo a cómo es de grande la cámara en comparación con los objetivos. Aparece en algunas fotos…

Next Page »

Creative Commons License
This work is licensed under a Creative Commons License.
EWWV  AWStats  Site Meter 24 queries. 0.118 seconds. Powered by WordPress
406021 email messages processed in this box. 10858 were spam

0