Category Archives: Events

Tha amazing GraphConnect and Drivers Hackathon

Back in a morning of september I got an e-mail. At a first glance the e-mail seemed to me like it was written to a different person. The sender was Emil Efren, one of the guys behind Neo4j, and he was inviting me to San Francisco. After reading it like three times I realized that the e-mail was actually sent to me. They were asking all the Neo4j drivers’ authors to a two-day hackathon in San Francisco, in their office in San Mateo, and then to the GraphConnect conference. And what it was even more awesome, they was going to take care of everything, from transportation to accomodation, and even meals. I don’t really know if that is a common practice in the real world market out of college, but comparing that to our PhD student situation in which we have to beg for our $400 per term for attending conferences, and only in the case that we are speakers, the gesture from Neo4j is even nicer.

The day came, so I went to San Francisco in a flight from mi city with a short stop in Toronto. During the flight I met an old woman who has a real character, and she told me everything about her and her daughter, who was a partier and free spirit that had gone to Burning Man for the last 15 years. And what a coincidence, they were from London Ontario too!

When I first arrived to SFO, I lead myself straight to Neo4j office in San Mateo. But the taxi driver was an annoying and unpolite asian man who started to yell at me because I didn’t know how to reach my destination. I was like, wat? Man, you are the taxi driver, calm down! After arriving two hours after the first meeting had started, I joined the group in the discussion about the future data types in Neo4j. After that we introduce ourselves and the discussion kept going. It wasn’t one of those sponsored things where the company who organizes it already know every single detail of the implementation and the whole event is just a farce. Not at all. The Neo4j team really wanted to know our opinions, and when debated, they even adopted some of our thoughts! I have to say that I loved that :)

The rest of the day, as well as the following day, was for planning and coding the individual milestones for our respective drivers. But we also had some time to hang out a bit with the rest of team. And everything accompained with meals and a special dinner the day before the conference that included real jamón serrano! I was amazed for finding that random product in a dinner in San Francisco.

The Hackathon attendees: Back row: Nigel Small, Tobias Lindaaker, Max DeMarzi, Jason McAllen, Stefan Armbruster, Michael Hunger, Tatham Oddie, Andreas Ronge, Elad Olasson, Philip Rathle, Javier de la Rosa Front row: Josh Adell, Aseem Kishore, Peter Neubauer, Matt Luongo, Wes Freeman

In that dinner, with all the team, drivers authors, and speakers of the GraphConnect, we took the picture that you can see under these lines. And I almost forgot, I got a prize to the most innovative community contribution ūüėÄ

The GraphConnect conference  started the next day. And I really liked it because the talks were very varied, from some technicals introductions and discussions, to real world cases where graph databses had proven to be a better solution than relational databases. I also had the pleasure to meet in person and talk a bit to Josh Adell, Matt Luongo, Aseem Kishore, Elad Olasson, Peter Neubauer, Kenny Bastani, Andrés Taylor, Max de Marzi and Alberto Perdomo. Real great people.

But all good things come to an end. So even when the night of the conference all the gang went to a party in Embarcadero, my flight was really early next morning, so I went to bed soon. Although I still had the chance to rent a bike with Josh and go close to the Golde Gate Bridge and the sidewalk. A very enjoyable ride, I must say.

And that was all. They ended saying that it might be a good tradition to see us every year. So, let’s see how things goes in 2014 for Neo4j and neo4-rest-client ūüėÄ

This time I got closer to the bridge. Next time I’ll cross it, I promise!

Leave a Comment

Filed under Events

Río and Reykjavik

Recently, a paper which I was collaborating for, was accepted to Digital Humanities 2013, to be hosted in Lincoln, Nebraska. Our paper is titled “Not Exactly¬†Prima Facie: Understanding the Representation of the Human Through the¬†Analysis of Faces in World Painting.”¬†This research makes use of face recognition techniques in order to identify similarities in faces across the time.

The representations of the human face contain a virtual archive of human expressions and¬†emotions that can help decipher, through a science of the face, various traits of the human¬†condition and its evolution through time and space. In this project we aim to explore this through¬†the use of powerful tools of facial recognition, data mining, graph theory and visualization and¬†cultural history. Our methodology takes advantage of these tools and concepts to answer¬†questions about periods in art history, such as the significance of the Baroque as a culture¬†derived from human expansion, and the cultural meaning of the progressive erasing of the¬†human face from modern painting.¬†Quantitative analysis of huge amounts of data has been shown to provide answers to new¬†and different questions that otherwise¬†couldn’t¬†have been considered. Our study takes some¬†ideas from the concept of Culturomics by creating a set of more than 123,500 paintings¬†from all periods of art history, and applying the same face recognition algorithm used today by¬†Facebook in its photo-tagging system. The result is a set of over 26,000 faces ready to analyze¬†according to a variety of features extracted by the algorithm. We found a mean of approximately¬†1 face out of every 5 paintings.

But what I am most excited lately, is the submission we also made a week ago. Two target conferences, DATA and WWW, to be hosted at Reykjavik in Iceland, and R√≠o de Janeiro in Brazil. It’s the first time I collaborate in a paper sent to highly technical conferences, so I don’t know what are the chances to be accepted in at least one of them. I’ll just cross my fingers and wait until the notification deadline came.

Leave a Comment

Filed under Events

The experience of the FirefoxOS Apps Day in Toronto #firefoxos

The last Saturday was the FirefoxOS Apps Day. It’s been a world wide event, from Argentina to¬†Roumania, from Spain or Japan. Here en Canada there were two cities hosting the event, Vancouver and Toronto. Basically, it was a event to present the brand new FirefoxOS, an open operative system by Mozilla and the Spanish telco¬†Telefonica.

The event was hosted in the amazing Mozilla’s office between Chinatown and the downtown of Toronto. It was pretty informal because was intended to be more of a hackaton than a conference. Even though, there was a couple of slots to speakers. The first one was¬†John Karahalis¬†giving a brief introduction to FirefoxOS. After him,¬†Jennifer Fong-Adwent¬†and Jonathan Lin¬†of Mozilla shared tools and technology built to extend and support the new platform. Then the hacking part started for 4 hours. Our turn came after the hacking time, and we presented Dr. Glearning for FirefoxOS, talking a bit about motivation and goal, but focused on the problems we found developing for FirefoxOS in both modes (hosted and packaged apps), and how we came up with solutions and workarounds.

Later, was the time for showing demos built during the hacking time. Even if 4 hours is not time enough to develop something complete, I was amazed by two different factors: first the creativity of the developers, from utils apps like the ones you use everyday to check the trolley time, to games in cavalier projections; and second the good taste in matters of design, specially one on Pomodore Technique and another one on compass. And everything in just 4 hours!

My conclusion, after seeing the success of the event in other parts of the world as well, it’s that event was a perfect starting point to captivate developers on the simplicity of developing for FirefoxOS. But Mozilla still has a long way ahead. One thing to the future could be a World App Challenge with good prizes for the winners. But I have to say that all the teams that presented a demo got one of the awesome GeeksPhone with FirefoxOS, a very elegant detail for the attendees to the event from Mozilla’s part.

Leave a Comment

Filed under Events

The experience of the PyCon Canada 2012 #PyConCa

Well, so finally the date arrived and I had to go to Toronto for giving a talk about Graph Databases in Python. Since the beginning  of the event I could feel the energy and good vibrations of the wonderful team of organizers. From here, my humble congratulations for all of them for an awesome job, including volunteers, that made real an amazing experience. It was my first PyCon so far. I had already heard about Python Conferences and how cool are, but I never had the opportunity to be in one. PyConCa, the first one of its kind Canada-wide, gave me the chance I was wanted to.

The reception took place the Friday at night, where I could know some people, register as speaker and get the credential. I must say that the credential with the shiny tag of speaker made me very happy.

Saturday was the first formal day of conference, starting relatively early (above all for those who went out the night before). The session began with a keynote by Jessica McKellar about HackerSchool. After a small break, the sessions split up in three, main hall, lower hall and tutorial room. Unfortunately, I couldn’t attend to any of the tutorials. So for the next talk I had to decide between the 40 min¬†talk about SQLAlchemy¬†(given by its creator Michael Bayer)¬†and the two 20 min talks about MongoDB and Gene databases and about¬†Writing self-documenting scientific code using physical quantities. So I went to the SQLAlchemy talk for 20 min and then to the one about ¬†MongoDB. In the last one I knew Vid Ayer who shown herself really interested on graph databases and she didn’t miss my talk.

After another small break, I saw a really good talk by Mike Fletcher, an independent consultant from Toronto. He gave a presentation about Profiling for Performance, in which I discovered awesome tools like Coldshot, a better alternative for hotshot, or RunSnakeRun, a graphical interface for profiling logs that is really helpful.

The lunch, that was included in the prize of the conference, was acceptable and did the trick to deceive the stomach until the dinner. Next talks were about App Engine Python SDK; Cloudant REST API that has been rewritten in Python using Flask, a light web framework; a Python Dynamo-DB mapper; and a funny presentation of everything you wanted to know about deploying web apps on Windows but were too horrified to ask. After the coffe break, Daniel Lindsley, author of tastypie and Haystack amon others, gave an excellent talk about searchers.

After the excellent Daniel’s presentation, I stayed at Main Hall and listened the talk¬†I Wish I Knew How to Quit You: Secrets to sustainable Python communities by Elizabeth Leddy, a core developer of Plone, the previously famous CMS for Python. She is, as we say in Spanish, toda una personaja, and talked about how to successfully manage a Python community. Next talk was by Mahdi Yusuf, a pasionate developer from Ottawa, and maintainer of PyCoders Weekly newsletter, who explained the history of Python Packaging. Right after his¬†successful¬†talk,¬†Mart√≠n Alderete from the Python Argentinian users group¬†presented the Ninja IDE, an totally awesome integrated development environment with a ton of features, open source and thought with Python in mind. And that was all for the first day.

In the next morning, because my talk was in the first slot, I missed the keynote given by Michael Feathers. But I was half nervous half excited. So I went to the Lower Hall where my talk will take place an waited for the guy before me to end. Steve Singer, that is his name, talked about using Python as a procedural language for PostgreSQL, what is really interesting. And finally I gave my talk about graph databases, mostly Neo4j, in Python. I presented basic concepts like what is a graph, or what type of graphs exist. And then a landscape of graph databases solutions and which ones of these are suitable to be used in Python. Finally some examples using these libraries and even a fast hint about how to deploy a Neo4j in Heroku and connect to it from neo4j-rest-client. Unfortunately, at the same time, Kenneth Reith, author of requests and working on Heroku, was giving a really interesting talk called Python for Humans.

Nevertheless, I enjoyed the experience of giving a talk, even though there weren’t a lot of people attending to it. One thing I noticed was the most of the people were scientist looking forward to solve a problem that could be better understood using graph structures, like state machines or even biology.

And, why not, here is my talk and my slides, even when I know that the only thing worse than listening to yourself speaking in a video, that’s doubtless listening to yourself speaking in a video in English. But, it is what it is :)

After that, I stayed in the same room to attend a talk on server log analysis using Pandas. Pandas aims to be the fundamental high-level building block for doing practical, real world data analysis in Python. And the guy who talked about it, used IPython Notebook to do the presentation, a new unknown for me killer feature of the interactive console¬†IPython. Then, some talks about big data using Disco and Inferno, and horizontally scaling databases in Django, guys from Chango and Wave Accounting, both Toronto-based companies. Diego Mu√Īoz, ex-member of the CulturePlex, gave a talk about an Ember.js adaptar for Django¬†in order to avoid any change to your REST API if you are already using tastypie.

A small coffe break after, talks about real time web apps with Stack.io by Gabriel Grant, Urwid by Ian Ward (including the awesome bpython interpreter or speedometer tool), workloads and cloud by Chayin Kirshen, and speeding up your database by Anna Filina. But in the afternoon, I must say that the best one was given by Alexandre Bourget from Monteral aka the showman: Gevent-socketio, cross-framework real-time web live demo.

For ending the day and the conference, Fernando Pérez gave a talk on science and Python as a retrospective of a (mostly) successful decade. In his slides you can clearly see an use of IPython Notebook.

And that was pretty much everything. I already am looking forward for the next one. It is a really good experience, you learn a lot from great people and pass an amazing weekend¬†surrounded by other Python coders. It is totally worth it. Let’s see if I am accepted for PyCon US. Cross your fingers!

1 Comment

Filed under Events

Talking about Graph Databases at PyCon Canada

Good news, everyone! This November, at PyCon Canada 2012, I will be giving a short talk (about 20 min.) about graph databases in Python and most likely share the time with Diego Mu√Īoz. And now, some info about the talk ūüėÄ

Good news, everyone!

Good news, everyone!

Abstract

Since the irruption in the market of the NoSQL concept, graph databases have been traditionally designed to be used with Java or C. With some honorable exceptions, there isn’t an easy way to manage graph databases from Python. In this talk, I will introduce you some of the tools that you can use today in order to work with those new challenging databases, using of course our favorite languge: Python.

Outline

Starting at a very basic definition of what it is a graph and why we want to start using one, I will introduce some examples of real life. Companies like Facebook or twitter pretty recently started using graph-like databases.

Then, an overview of options available will be shown. Detailing a bit the ecosystem and highlighting which of the solutions are able to use with Python and how.

After that, and focused on Blueprints databases, I will show how to use pyblueprints, for basic stuff, and bulbflow for building models Django-style based on nodes.

Finally, for using just Neo4j, one the most solid graph databases in the market and dual licensed (GPL for Open Source), I will introduce py2neo, a Cypher-centric approach, and neo4j-rest-client, that is the one I actively develop.And it there is some time left, some real examples connecting to AWS or Heroku.

The talk is intended for a audience with basic or novice level of Python, so I hope to see you all there!

1 Comment

Filed under Events