Thursday, November 20, 2014

TCO14 (My) Chronicles

Top Coder Open 2014 has passed and again has been awesome.
The coolest things? Absolutely the developer talks, made by important and influent people from the tech world.
The second cool thing is that I had the chance to blog the whole event and also that I got the 3rd place in the Super Awesome Cloud Mashaton.

The followings are all the posts (in chronological order) I wrote for the TCO14 Blog in the past 3 days.
Enjoy it!

Registration has started!

Short story long: 24 hours trip, 9 hours time zone delay, 3 flights, 1 run at New York airport not to lose my flight connection, but finally I'm here!

I knew it would have been awesome, but it is more that I thought!



Lot of awesome boots, great sponsors, and the whole world ready to compete!


What are you waiting for?
Registration has started, come here to enjoy Top Coder Open 2014!

Topcoder Open Booths

I needed 3 beers to get the right confidence with English (hey children out there, don't do this at home!) but I managed to talk to all the company's booths at the 2014 Topcoder Open I could , and I can say it's been awesome!

In alphabetical order:
  • Appirio: is it necessary to talk about it? I talked the whole time with "Appirians" so I don't need to tell you how awesome this booth was!
  • Drumpants: as a drummer, I've been attracted to this booth like bears on honey. It is a wearable device to make your body have the beat! Try it and you will love it!
  • Facebook: like last year, this booth is full of awesome #swag, pens, note books, stickers, frisbees, a chance to get into this #amazing company!
  • Google: again, do they need a presentation? Come to this booth to see an amazing Chromecast broadcasted game, have a chance to talk to some Google guys and grab some cool swag!
  • IBM Bluemix: they have a cool booth (and cool gadgets). It is actually something you want to explore, a big sets of useful tool for developing advanced and ready for production apps, using advanced features (such as Watson)...check it out!
  • IDEA market: I've been attracted by this booth because a sign said "IDEA Market is a curated crowd-sourced marketplace for ideas" and "START YOUR OWN COMPANY TODAY!"...well these are words I constantly think in my head. They simply try to make your ideas come to life searching for investors that could fund your thoughts...isn't it awesome?
  • HP Idol On Demand: they had developed a bunch of APIs to give your app more and more features (sentiment analysis, language recognition, categorization, ...), and I had a cool chance to have a talk with the developers that make these services up and running. Come here to have a great talk!
  • HP Sprout: I've been attracted by the fact that they presented something to put my hands on. HP Sprout is a creative workstation with which you can do a lot of cool stuff (3D modeling, realtime graphical design, multitouch support, ...); it is also equipped with developer APIs to enhance its features, watch its demos to see this in action!
  • Nymi: I had a chance to see this technology before Top Coder Open, and I found it really fascinating and "romantic": it is a device (and a set of APIs) used to authenticate you using your heart beat. You will log in with your heart and no more with a cold keyboard :) BTW have a talk with the guys and the booth and let them inspire you!
  • Two Sigma: don't you know 2 Sigma's mission? You better know, they are a technology company that applies a rigorous, scientific method-based approach to investment management, they are focused on invest in the best ideas out there, so why not talk to them? (They also have awesome gadgets!)
  • 3DSystems: their booth is really attractive. They have an oculus rift to play their game (sort of Jenga) using a "force-feedback" pen: if you participate to their tournament, you can win a ready to use 3D printer...is it sufficient to visit their booth? If not, they develop cool stuff based on 3D scanning and reproduction of objects / parts. Come to their booths to know more!
Again...if you haven't come yet, we are waiting to share this awesomeness with you!


Mashathon competitors warriors: let the fight begin!

Are you brave enough to spin the wheel?

I actually was and with me 61 other mighty warriors.

These were the APIs you could "select" from (actually it was a wheel of fortune...so APIs choose you!):
  • Amazon
  • Facebook
  • Google
  • HP Idol on Demand
  • IBM BlueMix
  • Microsoft
  • Nymi
  • Salesforce


And this is the final list of participants to the competition, that ends tomorrow November 18th at 9 am.
Handle APIs

1
adinici Facebook, Salesforce, Pick Any

2
afamefunaudoba Google, Amazon, Salesforce

3
akinwale Facebook, Microsoft, Pick Any

4
alazyrabbit Salesforce, HP IDOL OnDemand, Bionym

5
alexei.bordei Microsoft, Bionym, Pick Any

6
ambatvinay IBM Bluemix, Bionym, Pick Any

7
amethystlei
wintokk
Google, Amazon, Bionym

8
andkon Amazon, IBM Bluemix, Bionym

9
avarada Google, Salesforce, Pick Any

10
Battlecruiser Google, HP IDOL OnDemand, IBM Bluemix

11
bharathMG
sharmibala92
Amazon, Salesforce, Pick Any

12
caLLMEKATOOTIE Amazon, HP IDOL OnDemand, Bionym

13
cjlittle
jasonwiener
Google, HP IDOL OnDemand, Pick Any

14
cyberjag Google, Amazon, Salesforce

15
d_jash Amazon, IBM Bluemix, Pick Any

16
dbradleyfl Amazon, HP IDOL OnDemand, IBM Bluemix

17
defatigue Facebook, Salesforce, HP IDOL OnDemand

18
degupta Salesforce, Microsoft, IBM Bluemix

19
djiofack007 Google, Salesforce, Microsoft

20
elkhawajah Facebook, HP IDOL OnDemand, Pick Any

21
FMX Facebook, Amazon, Microsoft

22
forcelogic Google, IBM Bluemix, Pick Any

23
gabrielgrant Salesforce, IBM Bluemix, Bionym

24
gauravs23 Google, Amazon, Pick Any

25
gkowligi Facebook, Amazon, Pick Any

26
harish_r88 Google, Salesforce, Pick Any

27
hi4sandy
sidthekid
Facebook, Google, Microsoft

28
igorbarinov Facebook, Microsoft, IBM Bluemix

29
james.le Facebook, Amazon, Salesforce

30
KadynCBR Google, Microsoft, IBM Bluemix

31
kennethFax Amazon, Microsoft, IBM Bluemix

32
leejefon
quattrozhou
HP IDOL OnDemand, IBM Bluemix, Pick Any

33
makarochkin
urname
Salesforce, Microsoft, Bionym

34
myung Google, Salesforce, IBM Bluemix

35
nf_happy
lunana
Google, Amazon, Microsoft

36
nickdr Facebook, IBM Bluemix, Pick Any

37
notpad Facebook, Google, Salesforce

38
peda Pola Google, Microsoft, Pick Any

39
pglotov Google, Amazon, Microsoft

40
phyllis Google, Amazon, Salesforce

41
ralphFurmaniak Facebook, Bionym, Pick Any

42

rewinning
nicks1087
mmconrad
Facebook, Google, Bionym

43
rogueleaderr Google, Amazon, IBM Bluemix

44
rriazi Amazon, HP IDOL OnDemand, Microsoft

45
selvaa89 Facebook, Google, HP IDOL OnDemand

46
shadyElyaski
lukedayze
Facebook, Google, IBM Bluemix

47
stephenhan Facebook, Salesforce, Bionym

48
supercharger Salesforce, HP IDOL OnDemand, Microsoft

49
talesforce Facebook, Google, Salesforce

50
terjen Google, IBM Bluemix, Bionym

51
vicho Amazon, Salesforce, HP IDOL OnDemand

52
williscool
Salesforce, HP IDOL OnDemand, IBM Bluemix

53
yedtoss Google, Amazon, Bionym
So good luck to you all (and also to me), be prepared to watch awesome brand new applications fighting against each other to achieve the top of the list!

Developer talks series: Cathy Lewis [CMO @ 3D Systems]

In the first morning talk we had the pleasure to meet Cathy Lewis, CMO at 3D Systems.



She had a great talk about 3D printing systems, from their early adoption (about 32 year ago, when I was born!) to current days.

Good thing about 3D printing systems is that you actually build things only when necessary (think of their use in the International Space Station where bringing all replacement parts could be way too expensive), they use only the right amount matter needed to create that reproduction, they reduce the dimensions of production lines, thus increasing production efficiency.

Today the constantly adoption by companies of such systems allow to break creativity barriers, making easier for developers / designers to touch with hands what they are designing.

Current 3D printing technology is evolving day by day, from healthcare (create body part replacements) to food (that's right, they are printing food!! from delicious candies to astronauts space food); recently they have developed a way to print using metals, creating a more durable and reliable product.

One of the coolest applications is the idea that in the near future, when traveling, you won't need to bring things with you because they will be ready (e.g. in your hotel room) "freshly printed" for your own use!

Lastly they are developing a haptic technologies to actually feel things before they are printed!

They are also hosting a series a topcoder challenges at touch.topcoder.com: come over to discover this powerful technology!

Developer talk series: Matt Thompson [General Manager of Microsoft's Developer Evangelism and Startup Efforts]

First evening talk is with Matt Thompson, General Manager of Microsoft's Developer Evangelism and Startup Efforts.



The first topic in this awesome talk was about last Microsoft's announcement of open sourcing .NET platform to be available for all platforms.
This follows the philosophy of Matt's group, that is allowing developers doing what they do better: hacking!

He distinguishes two kind of tech people in the market:
  • Consumers: they influence the market with their way to use technology
  • Developers: they have the ability to build things

We actually want to be part of the second group, he says, the most important for the market actually!

Don't think of the word "hacker" as something necessarily bad: "Hacking is wanting to build", and when building there is also a great tendence toward learning, and when they learn, they also share their skills "open sourcing" them.
That's why we have to make programming a crucial part of every child study path, so students could be active participants in the global economy and not just passive consumers.

This has been a really inspiring talk, made by a man who works for one of the colossal IT companies out there, that shows how big companies not necessarly tends to sit down at certain age, but still try to improve themselves and innovate.




Developer talks series: Anthony Stevens [Solution Architect for the IBM Watson Ecosystem]

The second speaker of this morning is Anthony Stevens, Solution Architect for the Watson Ecosystem.



He told the story of IBM Watson echosystem starting from the famous Kasparov vs Deep Blue chess match till the recent Jeopardy! win of Watson (1st price of 1 Million dollars, see details here).

It is all about cognitive systems that can extract information from large amount of data, create their own categorization and are capable of providing the best answer.

Humans are part of the equation: cognitive systems can mimic human reasoning process with image recognition and language, evaluate data and provide responses, learn and adapt to new information. From last century computers are evolving by being at first tools, then assistants, then consultant and finally peer!

Watson is about creating the building blocks for cognitive science application (pretty much like Legos are created by single distinct parts that connect each other).

That's why it perfectly fits into IBM BlueMix PAAS (Platform As A Service), a sets (really big set) of built-in tools (for whatever programming language you love) that helps developers integrate Watson and other IBM services with their apps, without worrying about all the build/deploy phase of the code, leaving the freedom to concentrate on what you like, the code.


Developer talks series: Gayle Laakman McDowell [Programmer, Founder, Author, Consultant, Speaker]

Closing the morning a great speach by Gayle Laakman McDowell, Programmer, Founder, Author, Consultant, Speaker.



Gayle took an awesome speech about how to face an Algorithm interview.

Algorithm questions test your ability to make trade-offs, they highlight your capability to work in team, Solving a problem together.

She listed some of the most important steps to consider when facing such an interview:
  • Code on a paper, this way you make less errors (no synthax highlighter, no autom complete, slow debugging)
  • Always talk while thinking: this way the interviewer can follow your stream of thoughts. Don't stay in silence!
  • Listen to what is in the problem (make sure you know all the details) and ask questions, so you don't lose anything
  • When executing your code test it with generic data set and not special cases (e.g. if confronting arrays, avoid using same size arrays)
  • Testing is really important: use test cases and try to test the majority of tricky cases that could make your code crash (null values, strangely shaped date, ...)
  • Write beautiful code (this is the most difficult suggestion for me)
She leave us with one important quote: "Be a great engineer".

Developer talks series: Mike Hines [Developer Evangelist, Amazon Appstore]

In this Tuesday morning, let's meet Mike Hines, Developer Evangelist @ Amazon.



I've been really amazed by Mike's talk; he is what an evangelist should be. He transmits his passion for what he does and make you want to do the same things!

The main focus of this awesome speech was "How to make money with your app?", and his first suggestion for us programmers has been "Don't forget to make money, please!".

Mike presented a series of suggestions of how to increase app revenues, showing why the top 50 apps on the Amazon App Store makes more money than the rest of the apps.

It is not all about the quality of the game: there are great games on the store that don't make much money, while other games, undoubtedly less cool, makes way more revenues!

This happens because of different factors.

Mike demonstrates, showing graphics, pie charts, numbers, and percentages, that on average basis 80% of the users that download an app become inactive users after just one week. Seeing this we could argue that it is better to speed up in app purchases on the first week of activity.

It turns out that this is not what it actually is needed to make a high revenue app: users on a span of 30 days spend more money than the first 24 hours, so the less users we have active the better service we have to give them to increase their loyalty to the app and make them purchase more and better.

Here is a list of suggestions I grabbed during the talk.
  • Tutorials are useful to instruct users how to buy things, but in app purchase should not be a mandatory action to have success in the game (top apps maintain their non-paying users!)
  • Generate post purchase tutorials to make user aware of what they bought: this is important because if user is not happy with their purchase, they won't buy anymore!
  • Add new items on app regularly, differentiate your offering but not too much (you can confuse users)
  • Be clear about value and benefits of purchased items
  • Reduce barriers to frequent use (if user does a thing frequently, make it easy to go straight to the needs: e.g. level selection, difficulty selection)
  • Make the status of the game available on all user devices (es. level, purchases, ...): it is frustrating to switch devices and lose all achievements
  • Tune the game difficulty: if it's too hard, users leaves, if it's too easy, users gets bored.
    Use "A|B testing": tune the game variables to keep people in the game by understanding the right tuning of inner behavioral variables of the game (e.g. number of enemies, speed of vehicles, buttons labels, ....)
  • Adopt social engagement: this could increase users sense of competition, that is more play and more purchases
  • Make purchasing easy: this could lead to an increase in revenue by 75%
  • Market your app to all customers and be in all the stores: if you have spent money to make a game, make it available in all market places
Top developers know all these "secrets" and how to handle them, thus selling top apps.

Developer talks series: Scott Jelinsky [Principal Research Scientist at Pfizer]

I present you Scott Jelinsky, Principal Research Scientist at Pfizer.



As you may know, Pfeizer is one of the world's premier biopharmaceutical company. Why would the company be interested in the topcoder community?

Scott shows how topcoder has been involved in the past year in several challenges to improve human genome analysis.

The community has been called upon to improve the algorithms behind this kind of analysis.

They posted the challenges with the following aims:
  • Increase computational speed
  • Maintain accuracy
  • filtering low prob markers
  • create reasonable sized data sets
They followed then the following steps to improve different pieces of the calculation flow:
  1. Improve algorithm speed: this leads to an incredible 14x improvement
  2. When the algorithm was no more a problem, they concentrated with data access to big data sets, achieving  2x improvement
  3. Then they tried the multithread path and achieve an important 2.2x increase in speed
  4. Then coarse-grained parallelization for further parallelization for additional speedup and division of large dataset across compute nodes to raise memory capacity with a 5x improvement
The whole work lead to an incredible increase of the computational speed by 1200x, from 10 hours to nearly 28 seconds!

The results became even more evident when comparing the analysis time for phenotypes: analyzing 203 phenotypes needed about 95 days to be completed, while now it takes only 10 minutes, an incredible 1300x improvement!

These numbers makes absolutely clear of much topcoder has helped Pfizer into enhancing their software analysis skills.

Developer talks series: Samantha Ready [Developer Evangelist at Salesforce.com]

I've already had a pleasure to interview Samantha in the past weeks for the TCO14 blog.

She joined 2014 Topcoder Open with a tech talk about Heroku and its integration with Salesforce.



Samantha showed how simple it is putting an application on production with Heroku: install Heroku toolbelt, push your git repo into an Heroku app, and instantly Heroku acknowledges what kind of app it is and runs the right environment for it to be ran. The only thing you have to think of is your code and how much you want to scale your app (the only limit is your wallet :), but you can still use Heroku for free! ).

One of the features she used is the Heroku Button: with an Heroku button you simply click on a button to make an app working in few seconds. All you have to do is sit down on your chair and wait for the green light!

The demo application was used to handle a list of personal contacts (no built-in integration with external services) using NodeJS server side and AngularJS on client side.

In few minutes Samantha added integration with Salesfoce (using forceng.js, a set of services for integrating AngularJS apps with the Force.com platform) allowing her app to communicate directly with her Salesforce ORG to make it showing her contacts on the CRM and easily (and smoothly) view / edit them with a single tap!

In half an hour she had her app up and running and easily communicating with her Saleforce ORG!

Awesome!

Last thing to say, Samantha has a really swagged-out laptop (envy in my words).



Developer talks series: Robert Severn [Head of Development at HP Aurasma]

If I were the judge of this talk I would give A+++.

Why?

At the beginning of the presentation a 3D "augmented reality" Ironman showed up in the stage with Robert Severn (Head of Development at HP Aurasma)...simply awesome!

I was too amazed to take any pic, but believe me it was amazing!

Robert briefly presented Aurasma, a cool SDK for augmented reality (desktop and mobile). It is available as an SDK or as a free app for iOS and Android mobile devices. Its image recognition technology uses the camera to recognize real images and then overlay awesome things over them in the form of animations, videos, 3D models, and web pages.
Its no mystery that teachers are among the most active group using the platform.

Then it was HP Idol OnDemand time: a cool set of RESTful APIs free and ready to use (I've actively developed on it, believe they are awesome) for processing unstructured data to solve some of the toughest information challenges. These APIs can compute analysis with large data sets providing categorization of contents, indexing, fast search, image recognition, and other useful features (jump here to create your free account).

The topcoder community has worked a lot in the past months on integrating HP Idol OnDemand with diverse applications (see the track here).

Finally I want you to have a look at Sprout technology: an immersive experience for creativity!

Watch this video for more details!

Girls in STEM @TCO14

"Where are all the girls?" I'm usually asked this when attending my university computer science courses, in fact the guys used to heavily outnumber the girls. Why this discrepancy?

Today's panel shown the following "girls in STEM" and Glenn Weinstein (he's a guy in STEM :) ):
  • Deepti Srivastava, Technical Manager at Google (moderator)
  • Leah McGowen-Hare, Master Technical Trainer at @salesforce
  • Grace Nordin, Technical Program Manager at Google
  • Ashley Mennel, CRM Strategy Consultant at Appirio
  • Jefreena Packianathan, Workday Integrations Consultant at Appirio
  • Glenn Weinstein, Chief Information Officer at Appirio


The talk was focused on describing which barriers to reach the heights of their companies each woman invited to the panel has faced in their careers.

It seems that the most of the problem is related to the fact that computer science is, among society, considered male and nerdy stuff, thus this makes studying science (or in our case computer science) an unacceptably difficult challenge for women (a society challenge, not intellectual).

The suggestion is: do what you like, don't stop listening to your passion and follow your way.

Computer science is not only programming but a full set of technology related activities that not necessarily leads to be the best programmer in the world: the important thing is to do what you love being yourself.

As Jefreena said, you don't have to be the very best programmer in the world but you have to give to your work something special, creative, that gives you and your company value.

The panel presented personal experiences, point of views, to demonstrate that women worth the same weight as men, if not more sometimes, given the fact that as of today (luckily things are changing) they have to struggle more to achieve the same results (they talked about the "glass ceiling" that sometimes seems to block you from getting in the highest steps of your company).

Closing quote: "no one fits into a single box, you aren’t one thing and don’t let people put you in one" (Leah McGowen-Hare), so go on with your ideas and be yourself!

Super Duper Awesome Cloud API Mashathon


I waited all the year for this event (hoping to be part of it) and it finally arrived!

I have a little conflict of interest (my app is the 7th) that's why I won't write any comment on the apps but simply report the description that each team gave us.

Watched
Voice recognition keyword search


Car pooling app
Car pooling android application for people to share their car rides. Without using any backend server, Facebook Parse syncs the data between the devices, AWS stores user data and Firebase for Realtime Chat between users.


Be a hero!
A web based platform that enable people to inform the world around Ebola especially it provides tips to avoid the disease. It does that automatically in many languages.


Meet Grinder
Meet Grinder prepares you for your next meeting or conversation, pulling the people from your upcoming Google Calendar events and showing you the highlights of their FB, Twitter, and LinkedIn feeds and profiles. Show up to your next BizDev deal, job interview, or Tinder date armed with immediate opposition research fresh in your brain.


Tely.vision
Tely.vision creates never-ending video streams using your favorite shows.


Social game
A social games app that gamifies your friends facebook activity. How well do you really know your facebook friends?


Moar Learn
Moar Learn is a book recommendation engine that utilizes the HP Idol OnDemand and Amazon Product Advertising APIs


Google Drive to Salesforce.com easy connector
Google Drive easy connector for Salesforce.com to view, edit and search for large amount of files.


Forcebook
Forcebook is an iPhone and iPad app built to leverage the social capablities of Facebook with the business power of Salesforce CRM. It lets you use Facebook social analytics for Salesforce contacts & leads and bridges the gap between personal and business communication by allowing cross-posting between Facebook and Salesforce Chatter.


Chainlock
Chainlock is a user-friendly bitcoin wallet - secured with the signature of your heart.