24 September 2010

Semi-Automatic Translation and SVG Card Walls

Yesterday I was helping translating part of a chapter written by Paulo Caroli for a book about agile development to be released in brazilian portuguese. My workflow went as follows:
  1. Copy a paragraph and paste it on Google Translate to get a rough translation
  2. Paste the translation back on the original document right bellow the original paragraph
  3. Make adjustments on the rough translation, consulting the original text when needed, until it seemed good enough
The reason I've used an automatic translation tool is because there's many trivial things that the tool get right. So it makes my job much easier. I've seen many people (including myself, sometime ago) that would disregard automatic translation tools for being inaccurate. However, as I was discussing one day with my former classmate Daniel Beck (who does research in Natural Language Processing), current automatic translation can help a lot in getting the easiest parts done and leave only the hard stuff for you to work on.

Anyway, as I worked today on this translation I saw some features that could enhance my workflow. As far as I know, the larger the context the translation tool have the better is the translation, so it would be nice to me if I could paste all of the chapter text as a context for the paragraphs that I want to translate. I know I could paste the whole text and get the whole translation, but I've wanted a way to have a improved translation and still be able to work in smaller chunks of text each time. 

Another thing is some common expressions that occur that can have several possible translations but you want to have a single one. For instance, "card wall" appeared several times on the text, and each time it was translated for different expressions (parede cartão, cartão de muro, muro cartão), even on the same paragraph. In this case it was very important to maintain consistency because it's a key concept and it need to have the same name through the whole text. It would be very useful to be able to say that some expression should always use the same translation.

Paulo also asked for some help at doing some images. I gave a shot at doing a card wall using Inkscape. This is how it looks at this moment:

The svg is here in case you want to play with it.

23 September 2010

Shortcut Trap

So, I was writing a draft post and, as an Emacs user, I instinctively used one of the readline movement shortcuts that also work on most Mac OS X applications: C-p (Ctrl + P for those not familiar with Emacs shortcut notation). What I found out is that this shortcut publishes your post on blogger... I thought I was fast enough deleting so it wouldn't show up on feeds, but I've just noticed it appeared on the TWU bloggers feed. Bummer.

Well, I don't think that "Publish Post" is a function that should have a keyboard shortcut. It's not undoable (you can delete the post, but even just a few seconds later it still shows up in your feed) and it's something that you do only one time per post, and just after you finished writing it (or editing it) so I can't say it would be a huge sacrifice to have to move my hands out of the home row to use the mouse and click in "Publish Post". Well, it's not the first time that I get an incomplete post published due to clunky keyboard shortcuts on online blog editors. Maybe the problem is with me, but still I believe that there should be a way to prevent an accidental publish showing up in all your feeds.

Just for extra irony, I published this post using the dreaded keyboard shortcut.

17 September 2010

How I got into ThoughtWorks (and TWU)

Disclaimer: This post is about a life changing story. You can listen to cheesy victory/enlightenment/triumph songs while you read it. Also, I'm not a native english speaker, but I like correct writing. I appreciate any corrections!

About 2 months ago I was pretty lost. I was finishing the first semester of my master's course, but it felt like it passed too fast and nothing really happened. I don't know exactly what was going on with me, but for some reason I couldn't do any of my assignments, I was skipping classes and my days felt pretty empty. It couldn't be stress of having to many things to do. I've had semesters much more stressful than that during graduation with a lot of big assignments piling up. The thing that was missing this time was the final jolt of motivation that would make me got through those blissful "A-ha!' moments and come up with solutions for the problems that were keeping me from going forward. They never came this time. I was only getting sad and totally burnt out.

During a specially stressing day I've come to realize I was going on for all the wrong reasons. I didn't want to keep doing what I was doing. I've got saturated from academic life. My main motivation was not letting other people down. My advisor, my professors, my father. This shouldn't be a valid reason for keeping doing something. After talking about it with my girlfriend and my mother, the more supportive side of my family, I've got the confidence needed to make the decisions that would change my life. And so I did.

It wasn't easy at first. But since I've did the first step, it just seemed that everything began to fall into place. I've talked to one of my professors to explain that I wasn't doing a presentation I should do that day because I was dropping out. To my surprise, he was very calm and supportive. Then I spoke with my advisor and she was very supportive too. I've started to realize that a lot of the pressure I was feeling came from my own head! Soon I started to feel light and calm again, like I hadn't in weeks, maybe months. From that moment I decided that life was going to be about me and what makes me happy. First thing, I've decided to get a job. But not just any job. I wanted a job that would make me happy.

To make the most from my job hunting I went to FISL (International Forum of Free Software) for do some networking and have some fun as well. There I've met Pedro Pimentel, my former classmate at UFRGS. I  commented with him I was looking for a job. That was the first time I heard about ThoughtWorks. He told me about the company in a quick chat and I've got interested. So he put me in touch with Camila Tartari so she would invite me to an assessment. As I've waited for it to happen I started reading about ThoughtWorks and my excitement started to build. Soon I was called to the assessment and got even more excited.

In the very beginning I was a bit nervous, but the whole process went so smoothly that it didn't feel like a selection process at all. As the process went further, in a very counter-intuitive manner, I've got more comfortable. Interviews felt like conversations, and I got to meet very smart and nice people. Also, everyone seemed happy! "Hey, that's what I was looking for! I want to be happy like these people too!" I've thought. And so it was becoming pretty clear that the place that I was looking for when I've decided to change my life was ThoughtWorks.

In my very last interview, some issues came into light. People liked me, they thought I've had the right attitude, the feedback was great, but (there's always a but) I didn't have enough experience with Java, and neither with enterprise level software projects. Well, normally that would be when they say "Thank you for participating in our process, but we're very sorry to inform...", but instead that was the first time where ThoughtWorks University was mentioned. That time it was brought to the subject as a "possibility", as in "maybe". To me it was a very remote possibility. I went home to wait for an answer and some very long days came along. I tried to distract myself in every way.

After a week or so of waiting, I was getting out of distractions having killed a lot of my NetHack characters. So I sent Camila an email and she replied saying she was out of town and would call me next morning to talk about an opportunity. My mind was pretty fast connecting the dots, and "opportunity" probably meant TWU. Well, that doesn't mean I could really believe my logical conclusion. Then came next morning, a tuesday, and Camila called me and I've came to know that "opportunity" really meant TWU. I still couldn't believe it. Only on friday, when I've sat down face to face with Camila and Amit and they told me again about TWU, the possibility of going, and stuff I've started believing. I've asked if it was certain, if it was real and they told me that all they needed was for me to say "yes". My mind was blown. I've got so excited I couldn't speak english anymore. Words won't come out, it was impossible to express how I was feeling. When I've got out of the office I walked to the exit of the PUCRS campus only with a big smile on my face, but in my head it was a glorious 80's movie moment where I ran and high-fived everyone I found on my way ending in a big jump with my right fist up on a victorious pose.

After getting the news definitely, it was time to celebrate. On that same friday I've got to go to my father's so I've decided to go to a bar next to his apartment. A friend suggested we could go to Lagom, a recently opened pub where they brew they own beer. Sounded great. So we got there and I was walked in I've stumbled with a lot of ThoughtWorkers celebrating the closing of a huge project! What are the odds? The beer was truly great and I've got to meet more of my future coworkers.

From that day until now I'm anxiously waiting for the end of the month when I'll be departing to Bangalore to start what will probably be the most exciting 6 weeks of my life until now. I'm not relaxing though! After swimming against huge tsunamis of bureaucracy – I'm exaggerating, obviously – to get my passport and visa, I'm already investing my time on pre-course materials that consists of books and more courses. And it's being a lot of fun :-)