Geronimo under the Golden Gate bridge

Posted by pat 92 days ago

French navigator Olivier de Kersauson and his team arrived in San Francisco today, breaking whatever record they were trying to break (I'm not very interested in it very much), aboard their very nice ship Geronimo.

We went to watch them sail under the Golden Gate this evening: the kids loved it! They also loved to play with a bee that was resting on the path.

I got some nice shots of the ship. My favorite is quite symbolic: on the left coming in San Francisco, Kersauson, a french showman, whose main activity is telling jokes on TV or radio, or raising money to build nice boats to break arbitrary records; on the right, going out of San Francisco, container boat Hanjin goes back to China full of useful stuff.


Posted in perso | no comments | 1 trackback

Google Adwords API evangelist

Posted by pat 427 days ago

I left Sun 2 weeks ago and joined Google as Adwords API evangelist.

Don't tell my mother I'm an evangelist... she thinks I'm a software geek with an interest in litterature and poetry. This job description requires a bit of explanation: when I said to my mother what my job title was, she asked me wether I would start preaching the Bible (I'm an atheist).

Google Adwords is a service that lets customers buy search keywords on Google, to display their ads: when someone does a Google search with the keywords you bought, there is some chance that your ad will be displayed on the top or right of the search results. The actual mechanism is a bit more complicated than that, you don't buy keywords, but bid on them, and an auction is performed to select the ads to show. Moreover Google wants the ads to be useful to their users, so your ad has more chance to appear if many users click on it (the CTR, or Click Through Rate, is used in conjunction with the bid price to determine which ad to show). You can find more details about this in the Adwords FAQ.

Until recently, the way customers managed their ads was through a web application: it is very well designed, but when you start to have thousands of keywords to manage, or if you want to integrate your ad strategy with your internal applications it is not enough.

In january Google launched a beta of their Adwords API. An API, or Application Programming Interface, is an interface to a system, but designed for machines, ie other programs, instead of humans. The Adwords API uses web services standards SOAP and WSDL, making it easy to use in any language or platform. The API lets you write applications that can create campaigns or optimize your bids based on some internal product database, mor write different front ends to the API, in the language or platform of your choice.

Guy Kawasaki who evangelized the Mac for Apple, defines what secular evangelism is in Selling the Dream: "the process of selling a dream", or more down to earth, get customers, employees, and partners to believe in a product or service. A technical evangelist does that for technical products such as development platforms, or web services. For software it means fostering a community of developers, make them happy, help them achieve their dreams using your platform.

One technical evangelist whom with I've worked with at Sun is Simon Phipps, who is Sun's chief evangelist. Another, who does not have the word "evangelist" in his title but is the best I've ever seen is Tim Bray. I learnt a lot from both of them when evangelizing blogs at Sun.

The only evangelist I know who's evangelizing a web service is the excellent Jeff Barr who evangelizes the very well designed Amazon Web Services... and my new colleague Nelson Minar who designed the Google Search and Google Adwords and hired me to help him with the evangelization part for Adwords.

So what dream am I going to sell you? One I picked up from a 2002 article by Tim O'Reilly: Inventing the Future:

All of these things come together into what I'm calling "the emergent Internet operating system." The facilities being pioneered by thousands of individual hackers and entrepreneurs will, without question, be integrated into a standardized platform that enables a next generation of applications.

What he called "the emergent Internet operating system", that has been more recently called Web 2.0 is the dream I'm passionate about, and I think Google has a big role to play in realizing that dream.

Here are a few of the APIs Google offers today: Google Search, Google Desktop Search, Google Adwords, Google Maps and Google Earth. The full list is at Google Code: APIs (Thanks for the link Kevin). These APIs are very important in fulfilling Google's mission: "to organize the world's information and make it universally accessible and useful."

My Google colleagues have done a terrific implementing all these services, I hope I'll do a good job selling that dream to you all.

Updated july 17th: added link to the full APIs list following Kevin's comment.

Posted in technology/google/api/adwords, technology/webservices, perso, technology/people | 11 comments | 1 trackback

Bye Bye Sun

Posted by pat 439 days ago

Cross posting this to and my new blog

Parting haiku

Netscape, let a thousand protocols bloom
AOL, pick the fruits of the boom
iPlanet, autumn rains loom
Sun, shines amid winter gloom
Time to find my way home, like Poldy Bloom!

My career as a code snippet

A little pseudocode snippet to summarize what I've been doing these past 8 years (full details in my resume :-) I have lived through it, but haven't compiled it!

package; import com.netscape.server.*; import*; import com.iplanet.marketmaker.portal.*; import com.sun.portal.*; import com.sun.syndication.*; import*; public class PatCareerAtSun { public static void main(String [ ] args) { //consulting Netscape France AppServer.importTo(FRANCE).sell(); //AOL MyNetscape Portal Mountain View MyNetscape.get().manage(); //Sun/iPlanet Market Maker MarketPlace iMM = new MarketPlace(); //Sun Portal France Portal.getVersions().next(); //Sun ROME open source project SyndFeedInput input = new SyndFeedInput(); SyndFeed feed = XmlReader("")); throw new ResignException("let's try something else"); } }

I left Sun on monday after 5 years. But among merger and acquisitions I've stayed in the same entity (enterprise servers) for the past 8 years: Netscape, AOL, iPlanet, Sun, doing Portals, eCommerce and Enterprise Servers, so it's a big good bye!

I mosly enjoyed my time at Sun. The things I really liked at Sun are:

  • Good people: it was a pleasure and a learning experience to work with so many bright engineers from all over the world. I made many friends at Sun over the years and will keep fond memories from my time here.
  • Passionate people: Sun people are passionate about what they do, and very opinionated. This very often brought on us some laughs from the analysts, or the rest of the industry. But in the technology business we're in, I think it is a valuable quality.
  • Cool technologies: even if recently I've played a lot with Ruby, Java is still pretty cool in my book (AOP, annotations,...) and the most suitable language and environments for many type of projects. And the Sun Labs people churn out regularly some cool new stuff: Fortress (scientific computing language), Barcelona (multi process VM), Looking Glass (3D Desktop)
  • Interesting problems to solve: scalability, maintainability, huge code base, dependencies management, public API definition and deprecation, platform andf app server issues... At Sun I learnt to program in the large and take into account all aspects of the software lifecycle.
  • Excellent remote working policy: among the many software companies I've talked with, Sun is ahead of the pack with its remote working policies and infrastructure. I've been working from home in France since 4 years, designing products that were implemented in the US or India, and it worked really well.
  • Great recent focus on open source: OpenOffice, NetBeans, OpenSolaris, Sun is putting the lines of code where its mouth is. I did my share with ROME.
  • Best corporate bloggers in the world: thanks Jonathan for giving the impulse from the top for Participating to its birth was one of my most fun job at Sun.

Thank you all for these good years, and good luck!


Posted in perso, technology, technology/java | 12 comments | 486 trackbacks