Where on Mars? CartoDB and Mendeley hackday

On the last Mendeley hackday we had an external guest (and Mendeley user): Nicolas Manaud from the project Where on Mars?.

ESA (European Space Agency) will send a rover to Mars. On the webpage “Where on Mars?” is possible to see areas where the rover might land and visualise the constraints: elevation, latitude (to maximise the hours of Sun), areas with geological interest, etc.

Where on Mars? website uses CartoDB extensively which has been a very good discovery for me! (and I plan to use it for some other projects soon). I’ve done or worked in a few projects with maps like Benches iOS app (based on OpenStreetMap , find Mendeley users web app, or the very simple “find the middle point” map. I’ve used Google Maps API to add markers and work with them and lastly I’ve been using OpenStreetMap (big fan!) and Leaflet to do similar things.

I know how difficult is to represent data on maps. Leaflet is a good piece of software and very important it’s easy to plug it with any other system and host yourself. But Leaflet has some limitations (adding too many points in a map will make it too slow, clustering points sometimes is not what one would like to have).

If I have the tools PostgreSQL, Leaflet and Flask (a Python microframework) and I think “what to do” for someone who hasn’t done it before from getting a CSV file with positions and data until having a map with these positions and data there and a basic interactive systems it can take hours (of work, not of CPU time). Very likely I would get the CSV file, put into PostgresSQL, create a small API to get data from PostgreSQL, show it using Leaflet. Then add some user interface: what happens when a user clicks a point, how to change the information dialogue, etc.

Using CartoDB is possible to do all all the basic operations and much more using only the mouse! I uploaded a 150 MB CSV file, it converted it automatically into a database table (I only had to indicate which are the latitude and longitude), then I could very easily setup the representation of my data. And it uses OpenStreetMap.

CartoDB even has a Python module that allows to change the data easily, it allows to query the data easily as well (even with only the web browser), data changed over time is easy to represent, it’s possible to embed the map in other places, etc.

Also, CartoDB allows to change the basemaps to “Where on Mars?” project can use other basemaps for Mars. And it’s easy to publish maps and datasets, embed them on other websites, etc.

I had a very good hackday and one of the reasons was CartoDB and how easy was to work with it. Another reason was Nicolas Manaud who had some ideas about what to do and knew CartoDB so he did part of the CartoDB job and I did some Python scripts using the Mendeley API.

After the hackday I used a little bit CartoDB and had good fun as well.

It’s important to note that obviously CartoDB can charges per data size, might change the terms and conditions at any moment, etc. an important advantage of Leaflet+PostgreSQL+Flask (or some other application server) is that could be hosted easily in any place and then we would have all the stack with open source tools (I really like it). But for quick hacks or some visualizations if we don’t mind to use a third party service CartoDB really rocks.

Git git

Do you know what’s the name of this waterfall?


Its name is Git Git:


And do you know where is it?

In Indonesia (Bali island). It’s just a coincidence that it’s named like the “Git software“. But it seems that Indonesia has many names related to software, like Java.

Favourite Tweets in the last months

After fixing an interesting problem with Mendeley Desktop and Mac Word 2016 plugin I liked how someone said thanks:

And I really liked Ramon’s photo (thank you again for taking the photo!):

Capital Ring finished

Almost a year after finishing the London LOOP (see the post) I’ve now finished the Capital Ring!

Capital Ring is a hike around London, usually about 10 miles (16 Km) far away from Trafalgar Square. Easy to reach by public transport, stages are about 10 Km each. Quite flat sadly.

My resources were:

  • Luphen’s website for Capital Ring
  • The “Saunders, Colin (2006-06-15). The Capital Ring.” book. It has detailed maps, good descriptions, etc.
  • I used http://waymarkedtrails.org/ OpenStreetMap website to download the GPX, Viking (or use the Debian package) to split the long route in segments and OruxMaps to use the GPX.

And the experience: very good! I could explain the 15 stages one by one but instead I might mention a few memories:

  • The Woolwich Ferry is very cool! (and it’s free)
  • I saw deers in Richmond
  • I walked Parkland: from Highgate to Finsbury Park. It’s really nice
  • Walked next to London City Airport (London LOOP was near Heathrow)
  • Like the London LOOP: I discovered nice parts of London that I wouldn’t go otherwise
  • Found very nice water reservoirs: one near Finsbury Park (seriously!)

And what now after Capital Ring and London LOOP? Besides one day hiking in places I might start the Lea Valley. I did some parts years ago and I might do it from the beginning to the end.

PyCon UK 2015: very good again

A few weeks ago I went to the PyCon UK, in Coventry. I enjoyed the conference very much again! It was my third year.

Like the last 2 years: it was on my birthday. And now I’m really used to it and I’ll miss that next year is not exactly on my birthday. First year that I attended the conference and was my birthday I thought that it was a bit weird. In the second year I kind of get used to. Third year I really enjoyed, I had my chocolates to enjoy during the conference (and to sahre!). And I met VERY interesting people, on my birthday! I’m now thinking that they maybe were my birthday present? Just a coincidence?

Talk wise: interesting talks. I like that many people from the Python Code Dojo go there: the result is that some of the speakers are from the Dojo and I like seeing them. And some of the speakers repeat from previous years so it has a kind of continuity – I know them a little bit.

Coventry conference centre is too small for the conference. Next year the conference will be in Cardiff in a bigger place which I’m sure that will be good to have better facilities. Well, Coventry conference centre was easy to reach and I could walk without checking maps or anything: it was all familiar.

Crowdcube: Mind the Byte

Un company de confiança d’una llista fa anys que va crear Mind the Byte. És un projecte interessant tot i que jo no estic posat al món del «Drug discovery».

Ara està fent una ronda d’inversió utilitzant Crowdcube el qual no coneixia i em sembla una manera realment interessant d’aconseguir inversors de forma fàcil per empreses que fan rondes d’inversió.

I si voleu mirar el de Mind the Byte mireu el Crowdcube de Mind the Byte. Jo, si no fos perquè conec l’Alfons de Mind the Byte no aniria mai a la vida a Crowdcube per posar-hi diners… però si l’Alfons ho diu segur que Crowdcube funciona.

A Crowdcube expliquen com funciona força bé i també a preguntes freqüents.

Bona sort Alfons!

How to use Python from Java

I did use Python from Java without any problems:

The steps for this in my case (you can take shortcuts):

  • Plane from London (United Kingdom) to Kuala Lumpur (Malaysia)
  • Plane from Kuala Lumpur to Denpassar (Bali>
  • Car from Ubud to Java island
  • Program normally

I didn’t find any problem. I tried using Python from Java and also C++ from Java and nothing special was required.

Java: Mt. Bromo, Ijen Crater, Madakaripura Waterfall

The holidays in Indonesia were quite easy to plan: I wanted to see Mt. Bromo and the friends wanted to go to Bali (me too). And it seemed natural for what I found on the Internet to end up in Yogyakarta: it seemed one of the cities in Java that was worth staying for a few days, with an airport with planes to Kuala Lumpur and possible to reach after Mt. Bromo visit.

The friends found the website http://javaamazing.com, we liked the price and we specially like the customer service: it was easy to communicate with them, they explained the things by email that we needed to know.
At the end the trip was done by a friend and former employee I think from Javaamazing.com: his name is Asep and he has another company: http://www.bromomountvacation.com.

It was quite surprising how many websites never answered with the price, or the price was quite expensive or never follow up any questions.

We did the tour from Bali to Ijen Crater, Mt. Bromo, Madakaripura Waterfall (was a nice surprise) and then Surabaya. AmazingJava helped us buying the train tickets: we couldn’t buy from the station because it was too late so they drove us to the supermarket, helped us, drove back to the train station to print the booking, etc. top service!

The hotel in Ijen Crater zone was an amazing hotel (sadly we stayed there only for an evening and until 00:30: departure time).

AmazingJava, our guide (Asep) explain us things about the culture and traditions. Asep and Cahyo look quite fit and that they do hike Mt. Bromo (he did) and Ijen Crater (sometimes, we did with a local guide so he could sleep for the long day driving after that).

I met later on some driver who arranges the transport and local guides for these hikes but didn’t look able to do or didn’t look like would enjoy. I like people who have experience with the activities that they organise.

And top service: our guide Asep has very good photography knowledge. He is a photography aficionado, he helps National Geography photographers organizing month-long tours to take photos. He even sells some photos on the Internet. The result of this is that he took very good photos with our camera (with or without us), explained how to pose, where to pose, when to take the photos, etc. and the photos look very good indeed. Very good memories, thanks! :-)

Some nice things here and there: they negotiated the local activities (Mt. Bromo horses, local guide in the waterfall) so it was convenient for us and made sure that they were returning us to the point with a good price. Or they provided top-class masks for Ijen Crater sulphur, much better than other masks that I saw there.

So, if you go to Java check http://www.bromomountvacation.com/ and http://javaamazing.com/ – they are more than a driver just dropping you from a place to a place but they know the zone really well and what to expect in each place.

One of the best guides in Bali: Yandira

Summary: I found a very good guide in Bali (sadly I found him on the fourth day that I was there). His name is Yandira, yandira77@yahoo.com, +628123982871, http://www.uniqubalitours.webs.com. Next time I’ll plan to go to Bali: the first thing I’ll do will be to email him to plan what to see, when, transport and even get some help with the accommodation.

A few weeks ago I was in Indonesia: I went to Bali and to Java island. They are very different islands (I didn’t suspect that they would be so different! They are more different than some countries that I’ve been to!).

I spent 6 full days in Bali, the accommodation was in Ubud. I won’t write the full itinerary but I want to write the experience:

  • Day 1 (guided tour): north of the island (temples, hot spring, nice views, rice fields). Typical tourist things.
  • Day 2 (guided tour): south of the island (batik creation, jewellery, cultural dance, temple dance, etc.) More typical tourist things.
  • Day 3 (Ubud): monkey forest, lunch, Campuhan Ridge Walk, relaxing in the villa (actually not that much relaxing because we walked from Campuhan Ridge Walk to the villa and was a long walk).
  • Day 4: Best day in Bali: half day jungle trekking with Yandira.
  • Day 5: cremation ceremony (with Yandira).
  • Day 6: transport to Java (with some nice views, Git Git waterfall, etc.).

Yandira was AMAZING! That day, the half day jungle trekking was amazing… that day I felt “ok, now I can leave Bali and the trip has been worth it, coming only for this is enough!”.

Yandira created a similar feeling as Mustafà from Tour Marruecos did. When I go back to Morocco I’ll contact Mustafà, back to Bali I’ll contact Yandira.

What was so good about it? That day, finally (after 3 full days in Bali) I think that I understood a little bit about Bali. Until then I was a stupid tourist who didn’t understand their culture, problems, traditions, food, superstitions, daily life, houses, religion, their names, how they get married, what they think about reincarnation, why there aren’t as many mosquitoes as I thought, etc.

So in Bali if you want to know all these things: get a guide who is keen to explain them. A guide who lived the experiences if possible (I’d say that a guide from Bali is likely to be better than someone who came from Java, just because they’ll explain their life and traditions which are, I know now, very different to the Javanese traditions).

Yandira’s half day trekking was about 3 Km. of trekking in the jungle (all very easy) full of explanations about rice, cocoa plants, traditions, etc. He used to help his family to cultivate rice, and used to fish in the nearby river.

It finished in a village and then he drove us (part of the tour) to his village where his lovely wife prepared lunch for us. It was the best food that I ate in Bali! Then his daughter and a daughter’s friend danced for us (much better and more authentic than other dances that I saw previously).
Then he showed us his garden, with the cows (they’re for good luck), trees that ferment alcohol, etc. After 3 days in Bali I didn’t even know that they had different kinds of alcohol fermented from the trees.

Yandira has a special touch. Following his reincarnation culture I’m sure that he was a healer in a previous life – or will be in the next life, based on the karma system.

As a quick note when he was driving from the village at the end of trekking to his village (20 minute drive?) he stopped a few times to point out things (cocoa plants, houses, mini-temples on the way, etc.). The other guide/driver that I had were just driving as quickly as possible without sharing any knowledge or commenting.

By the way, Yandira’s main job is driving in the island and not the jungle trekking tour. But I’m sure that being driven by him instead of a standard driver who gets you from point A to B would be amazing. To get some of the introductions to some temples and why they do something must be cool, not being dropped in a temple and the driver saying “meet you in 40 minutes at the exit parking zone B”.

In a nutshell: when planning to go to Bali and if you want to know Balinese culture get in touch with him (yandira77@yahoo.com, +628123982871, http://www.uniqubalitours.webs.com). If you want to go to a beach and get drunk in Kuta then I’m sure that any driver might do.

New horizons: flyover after 9 years, what a pressure!

Because Mendeley was invited to the New Horizons flyover in Washington D.C. I was reflecting a bit more on probes and sending things to the space from the software engineering point of view.

Be aware that I have no much knowledge about space probes, computers in the space, their development methods, etc.

One of the things that I thought is how I would feel if today I wrote code that would only really be used in real (production) 9 years later. Or design a hardware system that would be sent, out of my control (for sure the hardware, maybe not the software) out in the space for 9 years and then it really must work.

In Mendeley (and many other companies) there are different release methods. I would say divide them like:

  • Web/Platform code: a re-deployment should take minutes. Someone could fix a bug and release easily to all the users
  • Desktop (like a Windows, Mac, Linux application): a release can be done but the users must update their applications! The update process can be easy for the user, but we have to think that some users can’t update quickly (for example institutional computers), some users might not accept updates, etc.
  • Mobile apps: after fixing the problem they need to send the app to the store (PlayStore, etc.) and get the app approved again by a third party application. And then they still must handle that some usres might not update everything at once.

For the New Horizons probe: there is only one opportunity for the software to work when it’s flying close to Pluto. Only once, can’t fail! I’m sure that they tested many times, simulated, code reviewed, triple reviewed, unit tested, etc. but still nothing can go wrong at that time or the opportunity is over. In my case I tried our best to not have bugs but if something happens we know that we don’t need to send another probe and wait for 9 years (or even more!) to take the second chance.