El metro y los móviles

Waiting on the line El metro de Seúl es un entramado de líneas tremendo. Para ir a las clases he de hacer tres transbordos, y eso que entre uno y otro sólo hago 2 o 3 estaciones. Es curioso ver a los coreanos haciendo filas muy ordenadamente, junto a las puertas del metro (el acceso es cerrado, del estilo de algunas paradas de FGC de Barcelona). Aunque luego por los pasillos pierden las formalidades y se matan a correr.

Cada línea tiene su “jingle”, desde piezas de música clásica hasta sonidos cercanos al ring de un teléfono. Y luego algunas además añaden publicidad, del estilo: ti-ti-ti-tiritiri-dong-ding, próxima parada “Cheonho”, salida por su derecha, compre electrodomésticos LG. El metro está plagado de anuncios, la mayoría con dibujos bastante infantiles, y alguno que otro muy pintoresco.

8 mobiles and 1 laptop A los coreanos les encantan los móviles. De 10 personas que hay sentadas en el metro, hay al menos 6 que están escribiendo SMS y 1 llamando o hablando. Un día me encontré con el tipo de la foto. No se ve claramente, pero tenía 8 móviles, ocho, conectados a un portátil. Imaginé un “si quieres llamarme, cariño, marca cualquier número… seguro que aciertas”. Le pregunté, y con un inglés monosílabo me comentó lo obvio: que estaba haciendo un testeo de la cobertura de la línea de metro. Esta gente alucinaría en el metro de Barcelona, con los cortes continuos.

Finalmente enlazo una partida de enseñanza con un insei, que fue profesor de la IBA. Incluye alguna variante sugerida. Todo fue bien hasta que tuve un despiste, me monta un ko en una esquina, y al final me mata otro grupo con la amenaza de ko. Un lujo poder jugar con gente tan fuerte.

Anécdotas del idioma coreano

Parece ser que los coreanos son muy quisquillosos con la pronunciación, al tener pocos extranjeros aprendiendo el idioma. El español (y el inglés) tiene tantos acentos, y lo estudian tantos extranjeros, que nos hemos acostumbrado a oír barbaridades fonéticas, y a entenderlas. Pero si a un coreano le dices algo, y no se ajusta exactamente a lo que espera oír, cree que le hablas en lenguaje celestial. El ejemplo lo tuve el otro día en el autobús… quedaban 5 paradas, y el conductor viendo que sólo quedábamos 2 personas, se gira y (supongo) nos pregunta a donde vamos. Yo le digo gil-dong (길동) (la “g” de gato), y no entiende nada, repito, y nada. ¡Venga, que no es tan difícil deducir lo que digo! Le mostré el mapa y me dijo ¡kil-dong! (esa “k” en realidad fue un sonido a mitad de camino entre la “g” de gato y la “k”). De hecho en coreano existe la letra ㄱ (entre “g” y “k”) ㄲ (igual que la anterior, pero con acento) y ㅋ (equivalente a nuestra “k”).

Bueno, de hecho las vocales no son tan complicadas, especialmente si sabes catalán. Al igual que pasa cuando aprendes inglés, es mejor aprender “desde” el catalán que desde el castellano, por el extra fonético que aporta. Concretamente las vocales son : ㅏ(a), ㅐ(è), ㅔ(é), ㅣ(i), ㅓ(ò), ㅗ(ó), ㅜ(u), y ㅡ(ŭ, como una “u” apagada, sin abrir los dientes).

También curioso es ver como utilizan su alfabeto (hangul) para traducir fonéticamente palabras extranjeras, especialmente inglesas con cierta alegría. Por ejemplo, busqué la traducción de “yogurt” para saber si lo que compro en el super es realmente yogurt, y es 요구르트 (io-gu-rŭ-tŭ). O el otro día, que en la TV ponían 터미네이터 (tò-mi-né-i-tò !!).

TechnomarktHoy hemos ido después de las clases al Technomarkt, un gigantesco centro comercial de productos tecnológicos a precio de risa. Pero por desgracia sólo estaban abiertas las plantas de cámaras fotográficas. Nótese que “plantas” va en plural. Tropecientas tiendas que te ofrecían cámaras digitales de todas las marcas. Volveremos, pues nos hemos quedado con ganas de ver las plantas de ordenadores, y más cuando LG y Samsung son coreanas. Por supuesto, en la entrada tienes el letrero 테크노마트 (té-kŭ-nó-ma-tŭ).

Cheese RamenFinalmente comentar que he comido 치즈라멘 (chi-jŭ-la-mèn), o sea, ramen con queso. Mucho más bueno de lo que me esperaba. Y el picante extra ayuda a combatir los -12°C de la calle. Me pregunto si el parecido fonético entre cheese y chijŭ es casualidad…

P.D: si no puedes ver los caracteres coreanos, instala el soporte de idiomas asiáticos de tu sistema operativo

Barbacoa coreana

BBQ step 3 Hoy ha sido mi primer día de baduk (así llaman al Go en tierras coreanas), y ha habido barbacoa… yo como primer plato.

El nuevo lugar de la IBA es un colegio, con su aula de baduk. Habían algunos niños, un par de profesores (aparentemente del colegio), y Lee Kibong, nuestro profesor. Por lo que me ha contado, el viejo lugar de la IBA era demasiado grande para la poca cantidad de estudiantes que tiene, así que decidió hacer este cambio. De hecho, hoy he descubierto que el número actual de estudiantes es 2! Aunque me ha comentado que están por llegar más. Cosas que tiene el invierno.

He estado jugando partidas sin parar. Primera partida contra el compañero de piso, nada a reseñar. Luego Lee Kibong me sugiere jugar con él. A 7 piedras de hándicap. Me parece realmente demasiado, pero empiezo a jugar, y le cuento mi habitual problema… que se me va la castaña y hago una jugada tremendamente estúpida de tanto en tanto. Así que me prueba, y monta un lío tremendo. Yo todo el rato atacándole un grupo, haciéndome millones de puntos por todos lados. Y sigo atacando… hasta que sucede lo que el esperaba: error supertonto, y casi recupera la partida. Me desanimo, y cometo otro error. Y decido abandonar, a pesar de quedar bastante juego. Desde luego aquí la gente tiene un nivel realmente impresionante. Sólo puedo con los niños. Me han puesto a jugar con uno, dándole 9 piedras, y me he vengado de todo lo anterior. Pobre crío.

Luego hemos ido todos a cenar a un restaurante cercano, a probar la famosa barbacoa coreana. Interesante concepto. Una mesa con un centro hueco, donde ponen fuego y parrillas con carne, y a cada rato van cambiando la parrilla. La carne, beicon y ternera, muy buena. Además te traen muchos platillos de salsas y aderezos. Luego me sugieren probar “cold noodles” (fideos fríos) y acepto… y me traen un bowl con una sopa, con trozos de hielo flotando… están locos estos coreanos.

Voy a ver si echan algo en la badukTV antes de irme a dormir 😉

Un domingo en Insadong

Market goodsDormir en un futón con la calefacción de suelo radiante es muy curioso para alguien acostumbrado a dormir en frío. ¡La cama está calentita! Me levanté bastante tarde y decidí ir a dar una vuelta por Insadong, un barrio céntrico de lo más curioso.

La manera más práctica de ir en metro en Seúl es comprar una tarjeta T-Money y cargarla con saldo. Puedes usarla en el metro, en teléfonos públicos y en muchos otros sitios. El metro de Seúl es extensísimo, a pesar de que se empezó a construir relativamente tarde (1971). Entré al vagón, y era el único occidental. Realmente es raro ver a un occidental por aquí, y más en pleno invierno. La sensación es tremendamente divertida: todos acaban echándote una mirada. ¡Y los asientos tienen calefacción! Al principio es muy agradable, pero tras 10 paradas dices ¡basta, tengo las posaderas tostadas! Me acordé del finlandés que me visitó en Barcelona el pasado verano y alucinó por ver un metro con aire acondicionado.

4 levels twisted in 1 plantLa calle principal de Insadong, Insadong-gil (¿qué significará “gil”?) la cierran al tráfico los domingos, así que puedes pasear tranquilamente. Hay muchas tiendas de artesanía, y bares de todo tipo. Por fin vi a algún occidental, aunque en todos los casos se trataban de chicos occidentales acompañados de chicas coreanas… interesante concepto a investigar. De casual me tropecé con el edificio que se enrolla sobre si mismo (que había leído en un post de Pau). Básicamente un edificio de 4 plantas pero un sólo suelo, inclinado, que va subiendo haciendo una especie de espiral; lleno de tiendecitas, y con varios restaurantes en la parte superior.

Estuve tentado de entrar a un restaurante llamado “Good restaurant” pero al final entré a comer a un pequeño “bar” donde me pedí un bowl de lamien de ternera. Por supuesto hay dos cosas esenciales en la comida coreana. La primera, el kimchi, que sirven como acompañamiento en todas (insisto, todas) las comidas, y es básicamente col macerada, en ocasiones con rábano. Es tan famoso que hasta utilizan la palabra “Kimchi” cuando se hacen una foto (estilo “Luís” en España). La segunda clave de la comida es el picante. Todo (insisto, todo) pica. Afortunadamente mi entrenamiento a base de jalapeños mexicanos ha surtido efecto. Y en el fondo que la comida pique está muy bien en invierno.

Narrow streetTras comer, una visita a un parque cercano y luego de callejeo por el barrio. Todos los letreros en hangul, que málamente sé leer, hacen que acabes mirando los dibujos… hasta que tropiezas con un tablero de Go. De hecho me tropecé con un par de clubes de Go, pero no entré por temor a ser considerado terriblemente flojo. La animación en la calle es tremenda, hay puestos de comida, pequeños bares, tiendas, etc por todos lados.

Dozens of doorsDonde si entré poco después fue a el palacio de Jongmyo (S.XIV), el primer patrimonio de la humanidad concedido en Corea.

Más tarde cayó el Sol y la temperatura empezó a descender peligrosamente de unos agradables -2 grados a -9. Así que decidí volver a casa, pero parando primero en el ayuntamiento de Seúl, aprovechando para visitar un palacete cercano, Deoksugung. Finalmente para casa, con el frío ya calándome en las piernas hasta que pude sentarme en el metro. Y para cenar, pizzeria cercana: ¿pizza de patatas? ¿pizza de boniato? No gracias, me pone una de queso.

Poco a poco voy publicando las fotos en Flickr.

Llegando a Corea

Frozen worldEn 4 cortas horas me planté en Helsinki, donde hacía frío al salir del avión, pero no me imaginaba que la temperatura fuera -16°C hasta que lo comprobé vía Internet, con la wifi gratuita del aeropuerto. Eso me animó contra el frío que esperaba en Corea. Más tarde embarqué en el Airbus 330 que me llevaría a Seúl. 9 horas cruzando Rusia, Mongolia y China, viendo en el mapa innumerables ciudades, te hacen percibir la enormidad del mundo.

Tras aterrizar en Seúl la estampa que se veía por la ventanilla era un paisaje congelado de quietud, nieve y neblina. Al final opté por subir a un autobús para llegar a la ciudad, en lugar de la combinación tren+metro. Me resultó muy fácil encontrar el bus, y me sorprendió la amabilidad de la gente, que me indicaron sin problemas. De camino el paisaje se entrecortaba entre zonas residenciales, de aspecto soviético, y zonas verdes, con los árboles atados a soportes y los troncos cubiertos con una especie de paja, sospecho que para que no se hielen. La temperatura era de -5°C, con mucha nieve en el borde de la carretera de 4 carriles que va paralela al río Han, casi completamente helado.

Me viene a recoger otro de los alumnos de la International Baduk Academy (IBA), y me suelta la mala noticia… están de mudanzas. Parece ser que la sede de la academia tuvo que cerrarse, y mudaron todo a un amplio apartamento, durante un par de meses. Y justo ahora vuelven a buscar un nuevo sitio. Mientras tanto las clases se hacen en un colegio en la zona sur de la ciudad.

Tras comer algo de carne que no recuerdo como se llamaba, llegamos a la casa, que es un pequeño semisótano, con la famosa calefacción de suelo radiante (dicen que es la mejor), y el resto de cosas bastante cutres para unos ojos occidentales: cosa que ya sospechaba por los comentarios de Oscar Y Pau (que ya han estado por aquí, aunque no sé si exactamente en el mismo lugar). Detalles como la ducha sin plato (hay un sumidero general para todo el suelo del baño), o el antediluviano papel pintado. Sin embargo, nada que me llegue a asustar, gracias a anteriores viajes. Como insistí desde el principio en tener habitación propia y escritorio donde poder trabajar, me han hecho el favor de asignarme una pequeña habitación, que he ido montando cogiendo algunas cosas del mobiliario de la IBA. El sofá de la IBA, un futón para dormir (que es bastante práctico dado el suelo radiante), una estantería reconvertida en mesa y una silla de brazos.

Tras una corta siesta he echado un par de partidas con el compañero de piso, un sueco de 21 años que lleva ya tres meses aquí. Llegó como 2 kyu, pero sospecho que ya debe ser 3 dan fuerte. Lo que más me ha sorprendido no es su juego (muy severo), sino su capacidad de revisión posterior. Yo pensaba que tenía buen fuseki hasta que me ha demostrado que olvido varias cosas… muy interesante. He perdido ambas partidas, de 20 puntos.

Luego hemos hecho rápido paso por el super, bajo la nieve cayendo de nuevo… hacía 5 años que no veía nevar. El super es un lugar para hacerle un reportaje detallado: un pasillo lleno de ramen y similares, sacos de arroz de 20 Kg, etc. Y tras una tanda de problemillas, a dormir!

Being social on Internet (2009 summary)

Last year was the social webs era on Internet (*). After experiencing some social webs, I could say what some analysts predict: general social webs (like Facebook) will collapse soon, and only subject oriented webs (like Flickr) will continue living. I have previously spoken about some of those websites, like Friendfeed or Facebook. But let me list all of them here:

Facebook
In the beginning of 2009 suddenly everybody joined Facebook in Spain. I didn’t find it interesting, basically due to its closed-policy: I used to visit other webs where you can freely have access to other people info and tastes, and in Facebook you first have to become friend of somebody to later see if his content is worth it. Actually there are a lot of back doors that you can use to peek somebody’s info, i.e. jumping from a friend’s public profile. Moreover, each time I logged in Facebook I saw my timeline full of almost spam (Johny got 1 million points at that game) instead of real useful info from your friends. Finally, I tried to use Facebook API to create an app, but it was a nightmare… the best way to create an app there is just do a iframe and relocate your app in your site (so why do I need Facebook?). I deleted my account, and enjoy the extra time I got.

Friendfeed
Friendfeed has the good parts of Facebook, which are basically the almost perfect content aggregator and a way to comment on that content. I happily registered expecting a better a-la-Fb experience, and during some weeks it was… until Facebook bought Friendfeed and the development was frozen. Moreover, not a lot of people use it, so sometimes there is no “social” interaction. Now I barely use it, and I’m actually thinking about deleting my account.

Twitter
Twitter can not be explained to a non-user. You have to experience by yourself to understand the weird social interactions are there. You follow people, you unfollow people, you write superfluous thoughts. Most people do not understand how this chaos works, but it works. Recently I tried to use Twitter API, and I found it really good.

Flickr
A classic on photography. I specially love their user interface that “force” you to publish nice photos. And don’t forget to read their blog!

Bloglines
It was the best RSS reader quite a long time ago. I’m probably the last user of bloglines, who remains there instead switching to Google Reader. The funny part is that I’d like to switch, but usually I read my feeds while I’m working, and for my job I use a google job-account, that I do not like to mess with my private-account (and I don’t really like logging out and in all the time).

Delicious
Del.icio.us is probably the oldest web 2.0 site I discovered, but it’s still useful to store bookmarks, and sometimes to look for some interesting ones, using a tag search. However I feel the people at Delicious could develop a better site. You can do a lot of things with such info, like recommendation lists, automatic tag grouping, or even more interaction with your buddies.

Last.fm
For some reason (probably the app I did a year ago, ImageWorth) I am a perpetual subscriber user of Last.fm. But sometimes I get tired of listening the same songs again and again (looks like they have not added new songs in a while), and jump into grooveshark which is like a Spotify well done.

Vimeo
Despite youtube is the facto website for videos, I love the quality and design of Vimeo. Most of the best videos I saw last year where there.

Which will be the top webs at the end of 2010? Who knows, but probably some unknown ones.

(*) Like a dog-year, an Internet-year could be a real measure of time (despite it grows quickly)

Telecommuting: when good forms are forced

Pouchong TeaCurrently I’m working for a company, at home. It’s a small company: my boss is located in Mexico, I’m (project leader) here in Spain, and there are 3 developers in India. We just use Skype, Google Docs and email, and we have no big problems, just the ones related to the time zones.

“When you work remotely you work less”, they say. Actually this is the usual excuse for bosses to avoid telecommuting, because they feel they can control you less. But this idea is totally wrong!

Let me explain an interesting effect. Imagine a man working in a office with fixed time (like 9am to 5pm); when he sees the clock marking 5pm he stops working and runs home (except just in case of a final deadline for a project). That is, he doesn’t really take care about finishing the job. Perhaps he has not done a lot of it, and instead he spent a couple of hours with minesweeper! Meanwhile, I don’t have a really daily schedule: but I usually do something like 9am to 6pm, with some stops. The thing is that when I see 6pm in the clock, I do NOT stop, just think “is the task (scheduled for today) done?”. Usually it’s not done, so I work a couple of hours more. Of course it depends on each person, but usually remote working make you more implicated with the job.

On the other hand, the company is forced to have a really good system to schedule tasks. Other methods to control the work that everyone is doing are welcomed as well. Things like an updated calendar for tasks, good version control system and code reviews, ways to verify the quality of software, job reports, etc. The company has to firmly use methods of control in order to survive. But this is a good thing: the work is better organized! In my case, we usually have a meeting on Friday (evening, morning) to set the tasks for each single day of the next 2 weeks, and review the tasks done during the current week.

So, the real benefits of telecommuting, from the company’s perspective: no need to rent an office (and no need to pay its bills), better organization of the work, and happier employees. Sounds good, specially nowadays with a economic crisis around. The only real problem is the communication with the team, but with video-conferences you can reach a just enough level of interaction. However, this doesn’t work for all kind of people, but you can train them (even remotely!) to work with the discipline needed to telecommute effectively.

XI Iberoamerican Go Tournament

First tableThis year I had the luck of taking part in the Iberoamerican Go Tournament in Costa Rica.

It was really interesting to see a non-European Go tournament. Most European ones are too similar, only with the difference of the place. Sometimes one tournament surprises you with side events, or funny details that induce you to think about coming again next year. But the way the pairings is done, the time for each round, and most things are exactly the same, despite the tournament is in Lisbon or Helsinki.

In Costa Rica I saw a different tournament. Some points were incredible, like the amount of personal details… they really take care of each one of the players. Other stuff, like the problems with the different ranks, were a bit disappointing. Anyway the best part of travelling is to notice the different things that work in other places. I’ve written down quite a lot of ideas.

Los reports del XI Iberoamericano

Este año tuve la suerte de poder participar en el XI Torneo Iberoamericano, en Costa Rica. Durante el evento fui enviando “reports” a la lista española de jugadores de Go, espago@yahoogroups.com… he aquí el recopilatorio.

DISCLAIMER: léase con mucho humor e ironía…

Report day -1

Hola, como algunos sabéis, voy a participar en el torneo iberoamericano en Puntarenas, costa del pacífico de Costa Rica. Intentare ir reportando los resultados de cada día.

De momento la semana pasada estuve en Mexico permitiendo perder a todo ilustre mexicano que tuvo el placer de jugar conmigo, jeje. Ayer Israel (MX) y servidor volamos desde los 2200m sobre el nivel del mar de la ciudad mas gigantesca y contaminada que he visto nunca, Mexico DF, al caluroso San José de Costa Rica, haciendo escala en el suntuoso aeropuerto de El Salvador (como se nota lo que les rinde la droga).

La primera noche en CR la pasamos en casa de Luís Mariano, principal organizador del evento. Estuvimos discutiendo sobre política goera, comprobando que en todos sitios salen los mismos problemas. Un detalle curioso a comentar es que al torneo se esperan alrededor de 40 jugadores, algo que en los estandares europeos es poco, pero aquí es mucho. Debido a que aquí los vuelos son carísimos, incluso para el nivel europeo. De hecho Luís me comento que le salia mas barato volar a España que a Chile (próximo ibero). Lo cual me hace pensar que aquella vieja idea de hacer un ibero en España tampoco es tan descartable a priori. Además me mataron a preguntas sobre el Go en Europa. Se fascinaron por mis descripciones del torneo de Marsella, de Londres, de Barcelona…

Esta mañana Israel y yo hemos viajado hacia el parque nacional de Manuel Antonio, 3h al sur de Puntarenas, para hacer algo de ecoturismo antes del torneo. Estoy un poco mayor ya para hacer 4h en un cutre autobús latino, con unos 35 grados, y encima con rinitis. Así que me he quedado un rato descansando en el hotel mientras Israel se ha ido a dar una vuelta a la playa… luego bajare a echar unas fotos de la puesta de sol en el Pacífico, con esas preciosas islas delante 😉

Mañana al parque, a echar fotos a bichos varios, y por la tarde otro tortuoso viajecito en bus hasta Puntarenas. Pasado empieza el torneo de 3 días, en un hotel all-included, con rondas a la 1pm y 4pm, y excursiones por las mañanas. Estoy preinscrito como 2dan “americano”, aunque anoche ya me quisieron subir la categoría! En la web del torneo me han dicho que harán streaming de vídeo de las primeras mesas…
http://ibero2009.go-tico.org

Aun no os corroe la envidia? 😉
Julio.

Report day 0

Esta mañana hemos madrugado Israel y servidor para adentrarnos en los senderos del parque nacional de Manuel Antonio, costa del Pacífico. Siguiendo mis indicaciones de experto en jungla (ya estuve por aquí el año pasado) hemos ido sigilosamente localizando animales. Y sudando la gota gorda. 35 grados y 95% de humedad, la camiseta cambio de color casi al momento… eso si, no habían mosquitos porque según nos han dicho “es invierno”. Hemos visto monos de varios tipos, aves, iguanas, mapaches, y
el perezoso, difícil de localizar, y no apto para byoyomi… he tenido que esperar 10min a que girara la cabeza para sacarle la foto. La anécdota se ha dado cuando estaba rodeando a una iguana de 1 metro de largo, hinchándome a fotos, y de pronto unos tipos a lo lejos han empezado a alertarme… hasta que vi que detrás mío tenía a la madre de todas las iguanas, con unas uñas y pinchos en el dorso tremendos!

Algunas fotos:
http://www.flickr.com/photos/liopic/sets/72157622422160431/detail/
Las mas chulas, las de los capuchinos o monos de cara blanca, cuyas expresiones faciales recuerdan a las humanas… ¿o es al revés?

A mediodía hemos pillado un taxi a Quepos, y de ahí 4 horas de bus hasta Puntarenas, donde nos ha recogido Luís Mariano, para traernos al hotel. Tras recibir la pulsera del all-included, he cenado y me he ido a ver la sala de juego… la mesa 1 esta sobre una alfombra con sillas que imitan la famosa sala de la Nihon-kiin! Luego los japos y los mexicanos se han ido a uno de los bares, a preparan un drunken-go. Mientras servidor está en uno de los salones, escribiendo este report y subiendo fotos, compartiendo mesa con Rui Naiwei y su marido, quienes se han fascinado tanto por mis fotos que le han pedido a Luís que les lleve allí.

Y yo me pregunto… ¿no me dirán nada si me tiro a la piscina, ahora, a las 12 de la noche? Voy a averiguarlo.

Y luego un ron a la salud de Antonio!
Julio.

Report day 1

Empezó el torneo!
Si veis las fotos ultimas que he subido, se lo han currado. Aparte la ceremonia de inauguración tuvo momentos muy emotivos, con pase de fotos y agradecimiento a Rui Naiwei por estar aquí (tuvo que cancelar su participación en un torneo de pros, aunque parece ser que al final postpusieron el torneo para que pueda participar).

En primera ronda tuve una partida fácil contra una guatemalteca. La segunda ronda fue mas compleja, contra un 6 dan brasileño (de nombre japones)… tenia una partida igualada, incluso con ligera ventaja, pero se me fue al hacer tenuki, pedirme una esquina, y luego verificar que la larga defensa que había calculado fallaba… el grupo se partió en dos, y empezaron los problemas: no murieron, pero perdí mucho defendiéndolos.

Están haciendo streaming de 2 tableros. La anécdota fue cuando por error indicaron que la partida retransmitida era entre japoneses de alto dan, cuando en realidad eran dos kyus locales… 35 siguiéndola hasta que se indicó el error… y bajo a 8.

Aparte socialización a más no poder, con tandas de chistes de Mario y míos en las comidas. Y una cosa curiosa: mucha gente aquí no conoce casi ningún problema de los “clásicos”… así que me he puesto a ponerles problemitas sin parar, para el deleite del publico.

Y eso es todo por hoy… íbamos a hacer una de volley-playa, pero se ha puesto a llover. Así que toca cokteles y go. Mañana, 2 rondas mas por la tarde, y una posible excursión por la mañana.

Pura vida!
Julio.

Report day 2

Mañanita tranquila, leyendo en la hamaca y socializando con los costarricenses en la piscina para adultos (que se llama así porque no permiten niños, simplemente). Viendo a una iguana pasar, y también alguna que otra “chavita”.

La tarde ha sido agotadora: en las dos rondas me ha tocado jugar en la mesa 1, bonita pero muy incómoda. Por fin con negras (ayer solo lleve blancas), y contra gringos. Ambas han sido retransmitidas por streaming, y ya veo que alguno las ha visto… gracias! Por cierto, lo que jugué es hamete o no dependiendo del otro lado, y en este caso no lo era, según tengo entendido. Eso sí, le toqué la moral mucho, según me dijo a posteriori 🙂
Aquí una foto en plena faena: http://twitpic.com/l1ifb

Yo me voy a dormir ya, que mañana por la mañana toca excursión. Esta gente iba a hacer volley-playa nocturno, pero justo ha empezado a llover (sólo llueve un rato cada dia, pero justo al caer la noche). Así que han montado timba de Texas Hold’em, ya que Luís Mariano ha venido preparado con el maletín de fichas.

Mañana 2 ultimas rondas!
Julio.

Report day 3, final

Al final, despues de ganar al japonés 4 dan, me empajeraron en ronda final con el que después fue el ganador del torneo, un “japoneiro” 6 dan (brasil+japon). Él jugó bastante mejor que yo, y aunque hubo tema, al final no pude alcanzarle. Así que quedé en 7a posicion, debido al mal SOS… algo que mas o menos esperaba.

En la entrega de premios se dieron los habituales, además del “espíritu de lucha”, y librillos de problemas japoneses a todos los participantes. Luego hicimos cena de clausura, muy divertida, con los japoneses cantando canciones infantiles y los latinos contando chistes.

Me preguntaron bastante por las cosas buenas (los detalles que se dan a los jugadores, el lugar), y los malos (la disparidad de niveles, el suizo). Todo porque quieren feedback… pues se plantean repetir, ya sea como ibero dentro de 3 años (próximos serán en Chile y probablemente en Mexico), o como su propio “Open de CR”!!

A ahorrar!
Julio.

Software metrics (PHP focused) part 2

In part 1 I spoke about lines of code and average of lines per day. Two indexes that are quite naive. Let’s see some better metrics, most of them object oriented programming focused.

Third stop: Tests and code coverage
If you have unit tests you can easily control that nothing vital is broken in each contribution. A unit test stress a class, so if there is some change in it, you can verify that the expected behavior remains the same. Moreover you can get an analysis of which lines of the code are actually executed in a test suite: that is, the code coverage of the test. You will see high values in well tested classes and low values in classes that need more tests.

Tools? Of course, PHPUnit, with the help of xdebug to get the code coverage.

Four stop: Cyclomatic complexity
Cyclomatic complexity is just the amount of different paths the execution can go throughout. For example, in our main project we have a total of 3048 paths. This value can be interesting to detect places in code that have become too complex and maybe need some cleanup.

Five stop: Pure OO software metrics
There are some interesting software metrics for object oriented code organized in packages, used basically to value which packages (groups of classes) are of better quality than others. Values that show the relation among classes, dependences, the resilience to change, etc.

Last stop: Ratios
Combining some of the previous values you can get interesting ratios. For example:
– Cyclomatic complexity per lines of code: 0.2, a very good value.
– Lines of code per method (class function): 22.02, a normal value that we have to lower.
– Method per classes: 8.25, a good value.
– Average number of extended classes: 0.4, a good value.
– etc…

Tools? The excellent pdepend is used here. Have a look at the end of its example page to see the amount of data (and funny but interesting diagrams) you can get.

Finally, all those values and tests are compiled each single time a programmer sends a commit to our code repository, and I get a mail with all the details, including the lines added, the author’s name, and all the values that change. So with a quick look I can assure that the contribution is ok, or there is some code to improve. I wonder how many companies (which develop in PHP) use something like this. I bet less than 100 in the world!