4 entries in

Work
That painful pleasure that keeps you well fed

«Mind you»

Una de tantas iniciativas geniales que tienen en mi nueva empresa es la que llaman «Mind you».

Cada mes, unos catorce empleados crean una especie de presentación sobre sí mismos. Cada uno diseña una hoja, o pantalla. (¿Cómo demonios se dice «slide» en español? Y no me digáis «diapositiva»…). Se trata de reflejar tu personalidad, tus parafilias preocupaciones, intereses e inquietudes, con proporción 4:3, de forma libre y creativa. Cada hoja se imprime entonces en formato A2 y todas se cuelgan en la pared de un pasillo (casualmente, el que está junto a mi sala de trabajo). Además, se junta todo en una presentación que se comparte en la intranet hasta el mes siguiente.

Como soy de los más nuevos en la empresa, hace unos días la gente de RRHH me pidió que participase en la próxima tanda de carteles.

Así que me puse a pensar en ideas para hacer un buen cartel que hablase de mí mismo y de mi mecanismo. Los carteles que he visto colgados en la pared durante estas semanas son muy variados. Abundan los collages de fotos con familia y amigos. Otros hacen un popurrí de imágenes relacionadas con sus aficiones, de fotografías de su último viaje o cosas así. También hay alguna ristra de citas. Unos pocos son realmente originales y están muy bien compuestos. Yo quería hacer algo medio original.

Por supuesto, la primera idea me vino inmediatamente; después de todo, es facilísimo resumir lo que hay en mi cabeza con una sola imagen [NSFW]. O con dos imágenes [NSFW], a lo más. Sin embargo, por algún motivo descarté la idea. Pensé que quizá no era apropiado que mis doscientos compañeros de trabajo me asociasen a esa imagen. Je.

Así que reprimí mi verdadera naturaleza, aparqué las pulsiones primarias e intenté centrarme en «lo demás». Que algo hay.

Hace tiempo que pienso que las nubes de etiquetas que uno va construyendo en sitios sociales y agregadores son una magnífica descripción de uno mismo. Una descripción distorsionada por el propio medio, es cierto. Pero si usas las etiquetas correctamente, después de cierto tiempo es difícil que quede algún aspecto principal de ti mismo sin reflejar en forma de etiqueta.

Quería llenar el cartel con alguna fotografía de las que amo. Elegí una de las obsesiones de esta etapa de mi vida, Tokyo, y busqué entre mis fotos de Japón. Ninguna era lo suficientemente buena; mucho menos para imprimir en grande. Tras mucho buscar opté por una foto ajena de Shibuya. Ya tenía un fondo con mucho contraste; oscuro y lleno de neón. Pero a la vez quería inundar el cartel con etiquetas. Empecé a acariciar la idea de saturar todo el espacio con información.

Con la colaboración de Google Images junté unas cuantas cosas que me son queridas. Pero si las pegaba todas, unas junto a otras, terminaba con un collage ortopédico, y no quería eso. Decidí que mis etiquetas en del.icio.us eran más descriptivas que las de Flickr.

Tenía curiosidad por ver cuántas capas de información (texto e imágenes) se pueden superponer sin perder la legibilidad de ninguna capa. Si mi experimento sirve para algo, la respuesta es «dos» :¬) Solo me permití añadir una referencia a «Blade Runner» fundiéndose por la izquierda, y superpuse 日本語 («japonés», escrito en ídem) en la parte derecha. Después jugué un poco con las máscaras de transparencia, los niveles de cada capa y algunos efectos, hasta que me gustó el conjunto.

Todo esto, por supuesto, Gimp mediante. Alabado sea mil veces.

3 Jun 2008 6 comments so farImages, Work


Adobe Flex in 10 minutes

If you are a software developer, a web designer or some other sort of techie it’s very likely that you have been hearing and/or reading about Adobe Flex lately. Well, if you aren’t using it yourself but feel curious about it, or if you just want to have a notion, this extremely quick introduction is for you. Skimming through this post will not turn you into a Flex developer, but it will allow you to nod confidently and even drop some canny words the next time that Flex pops up in a conversation around the watercooler.

First things first — what Adobe Flex is not:

  • It is certainly not a tool for generating lexical analysers ;¬)
  • It’s not “the new version of Flash” (FKA “Macromedia Flash”). Development of Flash is on-going and the two products coexist. Flex hasn’t replaced (and won’t replace) Flash anytime soon, the reason for that being that…
  • …Flex is not “an alternative to Flash”. Sorry to disappoint you, but Flex is not a way to get rid of the dependence on the Flash Player. Actually Flex is built on top of Flash and needs Flash Player to run.
  • It’s not a technology to build large, native apps that need to work close to the underlying platform or which performance needs to be optimised (read below to see why I believe this).

Flex in a nutshell (a rather small nutshell):

Flex is an attempt by Adobe to make Flash attractive to, and suitable for, many software developers who were disregarding Flash as something not serious enough to use for developing “proper software”. Adobe has done a praiseworthy effort in that sense and has brought Flash to the realm of OO programming. Adobe used Eclipse to develop Flex Builder. Flex Builder alone does a lot to make old-skool software developers feel at home — it’s a proper IDE with all the features you would expect, plus the extensibility (and the slowness, I’m afraid) of Eclipse.

Flex developers use the Flex SDK (command line compilers and component class library; free as in “freedom”) and the Flex Builder (the IDE) to build their applications. Flex apps are written mainly in two languages:

  • Actionscript, an ECMAScript-based language that exists since the first Flash Player.
  • MXML, a loose, proprietary implementation of XML used to define GUI elements.

The output of a Flex project is one or more Flash files (.swf). In terms of the approach to the development process, the single most important change from Flash to Flex is probably removing the “movie” way of thinking. Flash animators are used to the “movie paradigm” in which the time is an essential concept. In their animations they have been working with key concepts like “timeline”, “frame” and “loop”. Flex abandons that approach.

I have found that, in general, software developers without any experience with Flash get used to Flex even faster than Flash designers who don’t know much about programming.

What Flex is good at:

  • Rendering cool interfaces. Animations, transitions, effects, gradients, reflections, customised skins, embedded movies, nice charts, changes in opacity, layouts that are resized well when their container is resized, etc. For a demo, check the Flex 2 Component Explorer.
  • Working on all major desktops and web browsers and many mobile devices. OS’s: Windows, Mac OS, Linux and Solaris. Browsers: IE, Gecko-based browsers, Safari, Opera. Mobile devices: many, and more to come.
  • Keeping the same “look & feel” everywhere. You can see the default Flex 2 “look & feel” in the Flex 2 Style Explorer.
  • Integrating and communicating with other Adobe formats. Flash movies, Acrobat documents, ColdFusion, Dreamweaver, etc.

What Flex is not good at:

  • Computationally expensive software. As we saw before, Flex stresses GUI aesthetics, intuitive design, portability, compatibility with existing Flash files and other Adobe tools, easy deployment, etc. And it was aimed at the web (in spite of Air). So don’t expect it to be any good at doing system calls, invoking hardware drivers, messing with the network at low-level, fine-tuning loops to save cycles of CPU, dealing with gigabytes of data, delivering real-time, etc. Because Flex apps are deployed as Flash files, every Flex app “lives” inside the Flash security sandbox, which prevents it from accessing many of the resources of the computer. Also, Flash is a proprietary format that doesn’t run natively but is interpreted by the Flash Player. That extra layer of translation decreases the performance.
  • Classic Flash stuff. Don’t bother to learn Flex if all you need to do is Flash banners and simple animations. For that you will need a timeline, drawing tools and accuracy at pixel-level. Flex is not designed for that.
  • Being extrovert with its neighbours. I hear that even Air makes it quite difficult to launch an external executable from a Flex application.

Now, the “hello world” is mandatory, so here it goes.

This application simply displays a customised greeting (it’s a “hello world” on steroids). We’ll make the GUI inherit from the layer that processes the information, in a “code-behind” manner.

First, the Actionscript class contained in the file info/tripu/blog/flex/SimpleApp.as. This class extends the standard Application class and defines what to do with data:

package info.tripu.blog.flex {
 
    import mx.controls.Alert;
    import mx.core.Application;
 
    public class SimpleApp extends Application {
 
        public function greet (who:String): void {
            Alert.show ('Hello, ' + who + '!');
        }
 
    }
 
}

Second, the MXML application HelloWorld.mxml. It defines the GUI by using an instance of the class SimpleApp and adding a couple of visual controls to it. Notice how the AS class that we created before is now used straight as an XML element:

<?xml version="1.0" encoding="utf-8"?>
 
<tripu:SimpleApp xmlns:tripu="info.tripu.blog.flex.*" xmlns:mx="http://www.adobe.com/2006/mxml">
 
    <mx:TextInput id="user" text="world" />
    <mx:Button label="Greet" click="{greet (user.text)}" />
 
</tripu:SimpleApp>

The result of compiling those two files in a Flex project is this Flash file, HelloWorld.swf (you’ll need Flash Player version 8 or above to see the embedded Flash object):


20 Mar 2008 2 comments so farAdobe Flex, Computers, Work


Synchronizing with a Polar HRM

One of my tasks during the development of Smart Zones Beta 2 is the HRM communication module, that allows users to import data about their training sessions to the application. Those cyclist or joggers who use HRM’s know what it means. For the rest, let me briefly explain it.

“HRM” stands for “Heart Rate Monitor”. HRM’s are small portable devices that measure and keep a log of your heart rate, i.e. the pace of your heart beats. Typically, you attach a strap to your chest and it detects the small electrical voltages that your heart produces when it’s working. The other component is a radio receiver that usually has the appearance of a wrist watch. This device computes your current HR, shows that value on its small display, and records the whole sequence of values during your training session. It often polls the strap at intervals of five seconds. The information gathered may be shown in a heart rate graph.

Nowadays you don’t need to be a pro to have one of these gadgets — they are sold with prices around £100 (~ €150) or even less. They are useful to keep your workouts at a high level without overtraining. Also, when you run or cycle, the messages that your body sends to you (about how tired you are, or how intense is the pain in your limbs) are pretty subjective, and highly influenced by psychological factors (e.g. you tolerance and perceptions are not quite the same if you train when you feel like shit). HRM’s, on the other hand, always give you steel-cold measures that you can trust (damn) and let you know in which of your heart rate zones you are putting your heart.

Read the rest of this entry »

17 Dec 2006 No comments yetComputers, Images, Work


Relatividad

«Nacen miles de estrellas
por el choque de dos galaxias»

En la portada de ElPais.es, ayer.

Con cosas tan importantes sucediendo a mi alrededor, yo no debería estar preocupado por mi presentación de la próxima semana, ¿verdad?

19 Oct 2006 4 comments so farLife, Work