Programming Challenge 2 solutions

Publicado el 18/5/2012 por Guillermo Pérez Backend Framework & Security Lead

Since the end of the Tuenti Programming Challenge 2 we have been really busy reviewing each of the solutions submitted by the all participants that solved at least 15 challenges. It's a though work, but we believe that that's the only way to really measure the quality of the solutions: algorithm chosen, quality of code.

It's hard to choose among such brilliant people, but the top 15 finalist are already chosen and we are contacting them for the finals.

We would like to share with you the code submitted by those finalist, a good place to search for inspiration, ideas and nice programming. We also collected writeups and link to solutions published on the web and put it all together in our Github account.


BcnDevCon 2011: Security, Mobile and our Release Process

Publicado el 30/11/2011 por Diego MuñozSenior Fronted Engineer

Two weeks ago we were platinum sponsors of the Barcelona Developers Conference 2011, spending three days assisting to developer and entrepeneur talks but also speaking on three different tracks.

The 17th I spoke about how Tuenti release workflow works, both from the development perspective and from a broader devops and testing one. I detailed some of the opensource tools we use, the reasons why and some bottlenecks or problems we’ve run into.

On the 18th our Backend Framework and Security Lead gave a talk about security: Common web attack vectors, how they work, how to prevent them and some specific countermeasures we apply.

And finally, on the 19th our Mobile Core Tech Lead gave an interesting talk about the evolution of Tuenti’s Mobile site, challenges you face when you build for such a broad and varied device segment and how we try to give the best experience on each of them.

More or less at the same time, Pedro Álvarez and Diana López from the Apps Platform team, gave a presentation at the Universidad de Alcalá de Henares, during the first national RITSI event on Agile Methodologies and Cloud Computing. Their talk: Tuenti, from idea to the web, was a great success.

Tuenti Programming Contest: round one!

Publicado el 28/6/2011 por Luis Peralta Tech Lead

On Monday last week at 13:37, our first programming contest came to an end. We sincerely hope that you enjoyed the contest during those seven days you've had to challenge yourself. On our side, it was more than one week to get this: preparing the contest judge, working to define the problems (and also handing them over to some mates to solve them first!), preparing the submission toolchain, monitoring the contest, ... Even if it was lots of hard work, we also had tons of fun.

During those days, an almost neverending stream of comments on our contest official page and mentions to our Tuenti Engineering Twitter account was being received. We tried to solve every issue raised and also gave some small tips. Some really nice write-ups are have been posted already and they are worth taking a look at (for example, Gaspar Fernández has collected a list of them, feel free to add yours in the comments). We will also be linking and/or publishing the outstanding write-ups after the winners are announced.

We have run some basic statistics on the top 75 contestants' code to see what language has been the most successfully used. Not surprisingly, some have used different languages depending on the problem. Still, the most used language has been Java, closely followed by C++ and Python. Take a look at the following chart:

Remember that the online challenge was just the first round of the Tuenti Programming Contest. We will be contacting every finalist today in order to invite them to our offices next Friday and assist to a one-day workshop about our internal architecture and processes (and some more... but that's still a secret). We will announce the winners just after that, so keep an eye here!

Google IO streaming event

Publicado el 08/5/2011 por Luis Peralta Tech Lead

As many of you know, it is not strange these days to see Tuenti engineers attending some of the tech events happening in Madrid (and Barcelona soon). This time, we are doing it the other way around: we will be opening our offices so that you can follow the Google IO event with part of our engineering team and other guests.

This event will take place next Tuesday, May 10th, in our Madrid and Barcelona offices and below is the coordinated agenda between Google and Tuenti:

  • 16h30: Check in
  • 16h50: Introduction
  • 17h00: Presentation from Tuenti Engineering
  • 17h30: Presentation of GTUG Madrid
  • 18h00: Keynote
  • 19h05: Main new announcements discussion
  • 19h30: Time for a beer

As can see, we will also be giving a couple of talks ;) If you want to attend (we have only a few slots left), please send an email to googleio (at) tuenti (dot) com. We will then confirm that you got one a nice place in our sofas room and send you over the details. Please remember, registration is REQUIRED and we won't be able to make exceptions.

See you on Tuesday!

Hack Me Up #12 - 24 hours Edition

Publicado el 28/2/2011 por Prem GurbaniSenior Tech Lead, Frontend Framework & Architecture

Last Thursday 24th to Friday 25th we had the 12th edition of our internal competition, Hack Me Up. These events allow our engineering team to bring into reality innovative and creative ideas in an incredibly short time period. Of course, having fun and learning is a must! In this occasion we held an intensive 24 hour coding marathon. We had an outstanding participation rate with close to 50 engineers joining the competition with over 25 projects across 2 different tracks: Geek Track (for engineering and backend projects), and Cool Track (for new cool features).

The kick-off event was held on Thursday at 6pm to quickly introduce the HMU #12 and the participant projects. All hackers were now given the green light to go ahead and work on their projects. They had 24 hour to build it. Many of them had the strength to stay up *all* night!

24 hours later, Friday 6pm: the competition was over and all developers were now ready to show us their achievements! We had an all-company meeting where every team had a few minutes to show case their project. It was truly amazing to see the quality of the resulting projects, however only one per track would win the trophy. After all demos, everyone in the company grabbed their phone or computer, and voted for their *favourite* project, and within minutes we found out that....

The Winner of the Cool Track: Tuenti Style, by David Iglesias, Davide Mendolia and Felipe Ribeiro. With this hack David, Davide and Felipe made it possible to change themes (colours, fonts...), as well as sponsored themes. Moreover, after spending a whole sleepless night and a full Friday coding, they still had some time left so they implemented a cool HTML5 feature that would make Tuenti turn as you rotated your laptop (if it has an accelerometer, e.g. a MacBook Pro).

The Winner of the Geek Track: The Cervantes challenge, by Jairo González y Pedro Chaparro. Jairo and Pedro saw the necessity to write with a better quality language. Thus they built an algorithm to detect this and, moreover, they made it social. You could see who in your friend list writes best (in Spanish, English or any other language).... So, if you want to be at the top of that list, you just need to improve your writing quality!

Although there was just one winner, all projects were outstanding! It wasn't an easy decision for all of us to pick the best one as there were many great projects where a lot of effort was put into them. These are some other great projects that were built during the competition:

Cool Track: - Group Chat: chat with several people at the same time - Placespotting: shows you which type of music different venues play in an area in Tuenti Places - Tuake: a 3D game integrated with HTML in your browser - Tuenti Music: play music within Tuenti - Help Bot: instead of reading the help, ask your questions and a charming robot will answer you - QR Codes: use your Blackberry to scan QR codes to check in and add new friends

Geek Track: - Make Code Not Var(_dump): an great plugin for our IDEs to help debug code reducing amount of echos and var dumps. - Mercury Mine: add on in vim to be able to diff changesets in Mercury revision control system straight from vim. - Dashboard: a very visual and graphic dashboard for monitoring our traffic

I would like to congratulate, not just the winners but everybody, for the outstanding quality and effort to keep raising the bar at the HMUs. We will soon have another HMU, and I'm sure the current winners will play hard in the next edition to ensure they keep the rotating trophy again in their hands!

Here you can see a selection of some photos: