Geeks on the spotlight: Olivier Lamy

Olivier Lamy

Olivier Lamy

I’m am Olivier Lamy, I’m from Paris (France) and I am an OpenSource Architect member of the Apache Team at Talend


My daily job is to work/hack on open source projects, especially  Apache projects. See my wonderful :-) home page here. I’m also an Apache Member (committer on various Apache projects: Maven, Tomcat, Archiva etc), and I am involved in the Jenkins community. My ugly home is available here.

  • Favourite Open Source project? knockoutjs.com & Twitter Bootstrap
  • Preferred technologies? Java & JavaScript
  • Hardware that you use? Mac OSX
  • Software that you use? Intellij and command line a lot :)
  • Type of music (or band) to listen to while coding? Jazz

What is one of your last accomplishments as a software engineer that you are most proud of?
Recently, I have rewritten all the UI interface of the Apache Archiva using only new fresh  JavaScript technology. 

Jenkins and Hudson. To what extent has reinforced the development of the project the fact that the community decided to fork it when Oracle bought Sun Microsystems? 
I can only say “Time has told”, and see how both communities are now :-) 

As a member of the AFS but also a committer of many projects on Github, what would you say they are their advantages and disadvantages?
As you know some ASF projects are industry standard projects (Http Server, Tomcat, Hadoop, Maven, Lucene etc)) so It’s important to have well formalized structure with some procedures to ensure project life and continuity.

The most important part at ASF is community. Projects to be accepted cannot be a single person maintainer/committer’s but must create a community of users/developpers. That’s IMHO very important for ensuring project stability.

But Yes I’m a Github player too :-). I think Github can be a good start for a new project (easy setup, nice UI) but when your Open Source project grows, you need to take of stuff like IP, trademark, etc. And that’s definitely something where ASF can help. 

Why do you think that Maven’s dependency resolution is so popular but so criticized at the same time?
Why popular? Because it’s a really structured way to ensure all developers of the same project using the same version of dependencies and the same build process. And that’s a bit magic: not too much to setup and you can start developing on a project: Maven will download for you all the necessary artifacts.

Why criticized? Difficult for me to answer as I’m an Apache Maven committer. Maybe because it’s a standard and usually buzzer geeks don’t like standards :-)

Are you still in love with the java stack?  
Yes I’m definitely still in love with java stack. 

What’s your point of view about other technologies such as python/ django or ruby/ rails having superseded the complexity of containers like Tomcat?
I think that Tomcat is still pretty light if you compare it to more complex Application Servers containers. 

How do you reconcile your day-to-day work and your life with your contributions to many Open Source projects? 
As it’s currently my day-to-day work, it’s not a problem :-). But previously I had small nights (btw it’s still the case :-) ) 

And finally, what do you have to do to become a member of the AFS? Is it difficult to get accepted? How do you get extra points? ;)
ASF means meritocracy so the more you’re involved, the more extra points you get. As easy as that :-).

Check out Olivier Lamy profile on Masterbranch. Don’t you have an account yet? Sign up here!

Wednesday, May 16, 2012   ()Bookmark and Share

Mobile Gaming Hackathon in San Francisco

Mobile Gaming Hackathon

Our friends from Chartboost are hosting a Mobile Gaming Hackathon in San Francisco next May 12th and 13th. Team up, hang out, and build a fun game in 2 days! There will be cool prizes and you can even get micro-funding for your game!

Are you in?

Where
StartupHQ Workspace
185 Clara Street, SF, CA

When
May 12th and 13th, 2012

Register here

Monday, May 7, 2012   ()Bookmark and Share

Geeks on the spotlight: James Ward

James Ward

James Ward

I’m James Ward, a Developer Evangelist at Heroku where I help Java developers learn how to deploy their apps on the cloud.



  • Favourite Open Source project? Play Framework
  • Preferred technologieS? Java & Scala
  • Hardware that you use? Thinkpad T420s
  • Software that you use? Ubuntu Linux
  • Type of music (or band) to listen to while coding? Birds Chirping
You have been a Developer Evangelist for quite a long time, starting at Macromedia/Adobe and now at Heroku. What do you like most about being a Developer Evangelist?
In my job as a Developer Evangelist I get to meet awesome developers all over the world and learn tons of new things from them.  I really enjoy showing them new cool technologies like Play Framework and Heroku.  It’s very rewarding for me to see developers successfully learn and use something new.

What is one of your latest accomplishments as a software engineer that you are most proud of?
Lately I’ve been experimenting with browser-based apps built with an architecture similar to Client/Server.  I’ve been building the client-side using a smattering of popular browser technologies including JavaScript, jQuery, Twitter Bootstrap, and CoffeeScript.  On the server-side I’ve been building stateless JSON services with lightweight and non-blocking HTTP frameworks like JAX-RS + Grizzly, Play Framework, and BlueEyes (a Netty-based, Scala web service library).

As a result of these experiments I realized that we need to be managing our client-side library dependencies just like we have been doing with Java libraries.  This led me to begin creating JAR wrappers around JavaScript and CSS libraries.  To support this I created the WebJars project (http://webjars.github.com) as a central place to collect these web library JAR wrappers.  The libraries are in a Maven repository so anyone can consume them from a compatible build tool.  Luckily most web frameworks can serve static resources directly from JAR files so it is super easy to specify a web library as a dependency and then add a reference to it from a web page.

As we use more and more client-side libraries to build modern web applications it becomes increasingly important to explicitly manage those dependencies and their inter/transitive dependencies.  The new WebJars project is an important part in helping developers successfully move towards modern web and mobile application architectures.  For more information about WebJars, check out my blog announcement.

Heroku advocates for containerless deployment, something not so common in the Java classic architecture. Why? What are the main advantages of it?
The ‘containerless’ approach has been used for a long time by some Java developers and is the way most non-Java web technologies work.  The concept of deploying an app into a monolithic container is being replaced by lighter-weight, more partitioned approaches where HTTP handling is not external,  but is something an application just does. The containerless approach ensures there is better consistency between environments since everything needed to run the application is completely self-contained.  The HTTP handling library should be a dependency just like the persistence library.  This helps us avoid the “it works for me” situation that many of us have experienced and creates better consistency between development  and production environments.

Heroku has embraced the containerless approach with Java because Heroku doesn’t dictate, or even provide, an application server.  You can run anything on Heroku so you need to bring your own application server / HTTP handling library with you.  This provides developers with maximum flexibility for their apps and ensures that apps remain completely portable without having to implement any proprietary APIs.

The easiest way to include your application server and bring it with you is to specify the server as a dependency of the application itself.  If you are doing things the containerless way, then this is already taken care of.  Yet if you still want WAR packaging and a container then you can simply specify Jetty Runner or Webapp Runner (for Tomcat) as a dependency of your app.  Whether you go containerless or not, you can run your Java apps on Heroku.

Where would you recommend to use a container and why?
Now that I’ve been successfully using the containerless approach via the Play Framework, Jetty, Grizzly, and BlueEyes for almost a year, I can’t see myself going back.  I’ve yet to encounter something I don’t like about the containerless approach.  With containerless the setup, debugging, dev/prod consistency, startup time, composability, and simplicity are all better.  Yet large organizations have people dedicated to managing and tuning application servers.  This makes the containerless approach harder to implement but this will change as we shift more towards DevOps, Continuous Delivery, and the Cloud.

Heroku supports Spring, Tapestry and Play Framework, can you name one thing that you like from each of them?
I’m a fan of the new Spring Data stuff that is happening around NoSQL and Graph databases.  Simplifying polyglot persistence makes it possible for us to get away from the current model where all data must fit into a relational model.  Using polyglot persistence through Heroku add-ons is simple because there are add-ons for all sorts of different data stores like Neo4j, MongoDB, Redis, and Cassandra.

Tapestry has always been dear to my heart.  I have always preferred building UIs through a component model rather than templating and Tapestry was one of the first to enable that in Java web apps.  I also like Howard’s vision for an end-to-end development approach that includes client-side JavaScript as part of the application, rather than as a separate thing.

Play Framework’s simplicity is really attractive.  Declarative routes, not hiding HTTP, and type safety for everything make the development experience fun and productive.

In the last year Heroku added Clojure, Java, Python and Django, Scala, and Groovy and Grails support. How do you prioritize what’s next? Can you disclose the next one?
With the introduction of Heroku’s ‘Cedar’ stack last Spring, developers can truly run anything on Heroku.  The platform is open for anyone to create or modify a build pack.  Heroku has provided a handful of out-of-the-box build packs like Play, SBT, and Maven.  You can find the source code for all of the build packs on the http://github.com/heroku site.  This openness not only differentiates Heroku, but fosters trust and collaboration with the community.  What’s next?  Whatever you want!

Heroku is also building a massive ecosystem of cloud service providers through the Heroku Add-ons.  If you go to http://addons.heroku.com you will see a giant list of service providers for everything from log management and web performance monitoring like New Relic, to several NoSQL data stores like Redis, CouchDB and MongoDB and real-time push services like Pusher.  This ecosystem allows developers to focus on what is core to their application and let someone else handle the management and scalability of everything else.

Check out James Ward profile on Masterbranch. Don’t you have an account yet? Sign up here!

Wednesday, May 2, 2012   ()Bookmark and Share

How vanity metrics increase my productivity

When I started using MasterbranchI thought it was just a good online résumé page for programmers. It was great, because I could have my LinkedIn profile info and all my projects from GitHub or BitBucket in one place. Who can say  better things about your work than your actual work? But Masterbranch was more than an online portfolio, a lot more (and more to come, I hope…): It is an ego game!

By Daniel García, iOS Developer at minube.com

An ego game

Many people talk about the gamification concept, and many more try to apply it to web projects or applications. But only a few get to do it right. Masterbranch does.

As you don’t have to do anything but link your GitHub or BitBucket accounts and start working, it is extremely easy to see where you stand when compared to your teammates or friend programmers. 

The algorithm seems to work quite well. It takes into account not just the number of commits you do to calculate your DevScore, but also connections, the DevScore of your connections, etc. 

An epic coding battle

I work for minube.com, and I develop iOS apps with my friend Rubén. When we started our last iOS project, both of us had Masterbranch accounts. That day we started an epic coding battle to earn (and keep!) the MVP title (Most Valuable Programmer of the project). 

We also have our Twitter accounts linked, so anytime one of us snatches the MVP from the other, an automatic tweet warns all of our dev friends so they can mock the loser. You get an idea of how tough this has become :)

Every day before leaving the office, we both check our DevScores to know if the MVP is going to be ours for at least one more day.

Having fun and contributing more to Open Source

We work in a high-pressure project with mind-blowing deadlines, so I don’t know if all this is increasing my productivity o not. However, I do know that it is making work much more fun.

In my case, Masterbranch encouraged me to publish more Open Source projects, and to share coding with other people.

What do I ask Masterbranch for the future? More badges and more achievements!

These kind of metrics are great for making our job more fun. In addition, they serve the purpose of illustrating and communicating our skills and projects contributions to an extent that would not be possible with a simple résumé.

Check out Daniel’s MVPs and DevScore or start gaining MVPs by creating your account.

Tuesday, May 1, 2012   ()Bookmark and Share

Not reinventing the wheel: using Gravatar

To be honest, I don’t know why we weren’t ‘fully’ using Gravatar for the profile pictures. I remember wanting to do it but, at some point, it must have got lost in our intentions.

And when I say ‘fully’ I mean that we were using Gravatar to get a picture when you created a new account, but we were also hosting images and letting users change their profile pictures in the website. What a great idea, huh? 

This week we have finally implemented a full use of Gravatar in Masterbranch, an idea with quite a few votes on our Uservoice. So now, if your email is associated to a Gravatar picture, we use this picture for your Masterbranch profile and, if not, you only need to add the email address you are using in Masterbranch to your Gravatar.

With this change, we have deleted sooooo many lines of code and we are also avoiding problems as for instance uploads that fail or having to control every time a user changes their profile pic (we used image versioning to be able to cache all the images forever).

by Juan Luis (@jlbelmonte)

Friday, April 27, 2012   ()Bookmark and Share

Masterbranch solves a problem for lots of us

A few months ago Moisés heard about Masterbranch at a tech event and since then he has become one of our most active users. We asked him if he’d like to share his experience with other developers, and he accepted :)

By Moisés Maciá, Senior Developer at  ideup!

Hi all, I am Moisés and I am a Senior Developer currently working for ideup! in Madrid. I like PHP, Symfony2, MySQL, RabbitMQ, amongst others, and also Internet applications.

I really love the idea of Masterbranch, and I am here to share my experience. 

Moises Macía

It solves a problem for lots of us

Masterbranch solves a common problem that we, software developes, have: your printed resume- or even your LinkedIn profile- does not reflect your real programming skills. Why not? Because putting together *all* your experience in just a couple of pages it’s kind of imposible (and a pain in the ass).

With Masterbranch I can avoid having my identity spread over many places, plus others can see my experience, skills and technologies at first glance. In addition, it’s very easy to set up a profile: all you need to do is connecting your repositories- git in my case-, and Masterbranch does the dirty work for you syncing and merging it all under one account.

We have fun at work

In my company we all have accounts in Masterbranch and, since our private repos are automatically synced to Masterbranch, we got DevScore points every time we make new commits.

Also, every week, with every sprint, we have a real battle to see who wins the MVP- Most Valuable Programmer- and whose DevScore is higher. It’s really fun. It’s like an extra reward for your work.

I can make that companies see a complete profile of me

Without a tool like Masterbranch a recruiter can find my LinkedIn, read my resume ore even see my Github or Bitbucket accounts with some of my projects. But this is only a small fraction of my actual work as a developer.

With Masterbranch I can also integrate with other dev sites- like StackOverflow- and, most important of all, I can add my experience in private projects, which is my day-to-day work. This way my profile becomes much more appealing to companies because it’s also more complete. 

I recommend using Masterbranch to all developers to build a solid online identity. For me, Masterbranch is the LinkedIn for developers and it is adapted to my needs. 

Wednesday, April 25, 2012   ()Bookmark and Share

New feature: Support for SVN repositories with login and password

This week, and thanks to Christian (@penyasquito), who modified our SVN wrapper, we are starting to support SVN repositories that require login and password. 

If it’s your case, and you want some projects to be added to your profile, you can submit them through the “Missing projects? Add a project” link that you’ll find in your user profile page.

Thanks so much for your collaboration Christian! You can also say thank you giving him a +1 Cheers! :)

Tuesday, April 24, 2012   ()Bookmark and Share

Company Wishlist And New User Profile

A week ago we announced a new feature, the Project Leaderboard- Open Source projects ranked by DevScore- and today,  we are proud to announce big changes on the user profiles and a new feature too: the ‘Company Wishlist’.

With all these improvements and new features, our aim is that you can not only have all your projects under one account, linked to your social and code identities, and have it always automatically updated, but let you control your professional profile deciding who can see what, connect with people you want to share things, and pick up companies that you wouldn’t mind to explore new job opportunities with. 

Company Wishlist

Pick up companies that you like and let them- and only them- know that you are open to new job opportunities. Those companies are using Masterbranch, would receive an alert when you add them to your wish list, and would get in touch.

Company Wishlist

User profile

During the last months, you’ve been testing the ‘cool new stuff’ and giving us some really good feedback. For this we say: THANK YOU. We have finally applied the most relevant suggestions to the user profile and we are keeping the rest- the ones not directly related to the profile page- for further features in the site.

Here’s how the new activity chart looks like, with your activity in the last 7/ 30 days plus your DevScore variation.

Also, now you can feature up to six projects and make them look more visually appealing in your profile.

Masterbranch User Profile

What do you think? 

Wednesday, April 18, 2012   ()Bookmark and Share

Being on top of Hacker News, the numbers (for a developer site)

Yesterday it was a crazy day! Our “Open source Project Leader board by awesomeness” was featured on Hacker News.

We’ve always wondered how a peak caused by Hacker News or Techcrunch could affect to a community of developers like ours in terms of growth. We’ve had other peaks, but no one as effective as this one. This time we’ve had way more visits and sign ups.

 Some facts
  • #1 The news was posted at 10 am PST
  • #2 We had quite a few votes right after we got  posted
  • #3 Five hours later, we had 53 points and 34 comments (including ours)
We stayed within the five first positions during the first two hours, then descended but remained within the top ten for one more hour or so, and kept on falling down during another two or three hours until disappearing of the home page.

Numbers

Yesterday we had almost 10,000 visits to our blog and 4,000 to our website, coming directly from the blog post. It may be a coincidence but, talking to other fellows that have also been featured on the home page of Hackernews, we think that 10,000 visits is an achievable number. In five hours, the visits to the site caused around 300 new members.

Conclusions

Thanks to Hacker News, Masterbranch has been widely exposed to the public it has been created for and, although you can’t please everyone, we’re excited with the reception we’ve had. Best part of it: receiving feedback a lot of feedback from lots of great hackers! Thank you guys!

One final tip

Be prepared for criticisms and for handling- and sometimes ignoring- agressive feedback.

Are you a developer? Try out Masterbranch, we’d love to have your feedback!

Wednesday, April 11, 2012 — 1 note   ()Bookmark and Share

Open Source projects ranked by awesomeness

Ever wondered what projects are developed by the best kick ass hackers? Now you can know. We have released a Project Leader board that shows which projects are on the top-notch hackers hands, with some improvements on the search engine too.

How does it work

The Project Leader board shows Open Source projects ordered by awesomeness of its contributors. To calculate the score of a project we use the DevScore, our own reputation system for developers that takes into account your contributions to different projects, their reputation (downloads, likes, followers, etc.) and the reputation of the people you work with.

So, the more awesome the contributors are, the more likely a project is to be featured on the top of the list.

No matter where your projects are, we support a wide range of forges and SCM  connectors (git, svn, cvs, hg), enabling you to boost your score both with your Open Source contributions and with your private projects. More info about how we track private repos for Github and for Bitbucket.

Check out a project score

To see the score of a project you can use the search input at the right top of the page:

Masterbranch Project Leader board

The score of a project is the sum of the DevScore of its contributors, but note that we only calculate the DevScore of Masterbranch members.

Check out the top projects on the Leader board or sign up and see how your projects rank.


Tuesday, April 10, 2012   ()Bookmark and Share