Java: Mt. Bromo, Ijen Crater, Madakaripura Waterfall

The holidays in Indonesia were quite clear: 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, 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. We had some problem for the money transfer but was not a problem and they accommodated our requests.

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 has 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.

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 – better than a driver that will drop you off to places and send with local guides without knowing what’s there or what you might need.

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,, +628123982871, 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 (, +628123982871, 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.

Workshops and tutorials in a conference

Months ago I went to the ACCU 2015. I already mentioned ACCU 2015 here in How to name things.

One of the sessions that got my attention was “Talking to the suits”. I planned to go. Then I realized that was a workshop and not a talk… and, deep inside me, I thought… “oh no!”. Sometimes I feel more comfortable with a talk, where I can sit and listen (a bit passive).

Anyway, I thought to go there… and is one of the most interesting sessions that I went! Being a workshop made me much more engaged. Next time, instead of avoiding workshops I’ll even prioritize workshops.

Following my own thoughts I went to some more workshops with great success… I was more engaged and used my time even better.

At the ACCU 2015 conference I only went to one tutorial and I didn’t really enjoy it (many other people didn’t like either). I’m not sure if it was the technologies used, the presenter or the session format (tutorial). I think that the last 2 caused the that I felt disengaged and that I could have just followed a Youtube tutorial and have the same knowledge… and the presenter way of talking was boring.

Thinking more about it: a tutorial could be replaced with videos quite easily. And a workshop can’t be replaced at all (needs interaction in a team or with the presenter). And a normal talk is a bit in-between.

Trip to Washington, D.C.: not too usual things

Recently I went to Washington, D.C. as part of the Mendeley team for the New Horizons flyover. If you are interested in the Mendeley activities there you might want to read New Horizons: from Research Papers to Pluto.

I extended the Mendeley trip with some extra days for a bit of tourism. I did some things that were not known by some of my colleagues and some are not mentioned in the guided book so I’m trying to summarize them here.

Washington monument
It’s possible to go to the top of Washington monument (the white monument). There are two options:

  • Get a free same day ticket: they open the box office at 8:30. I arrived there around 6am and I was the fifth on the queue. Each person could get 6 tickets and when getting the ticket the person can choose the time (if available).
  • I didn’t know that was possible to book in advance! See the National Service Park webpage. It cost $1.50 and then it’s not needed to get up so early.

It’s possible to visit the Pentagon inside. It’s needed to request it between 2 weeks and 6 weeks in advance. The tour shows the Pentagon building inside: corridors and a 2001 memorial. It’s free.

Crystal City Restaurant – Double Tree Hilton
The restaurant Crystal City: it’s about 15 min. walk from Pentagon City underground station and I think that there are shuttle buses. The restaurant is a revolving restaurant with views to the Pentagon building, Washington memorial, etc.

Baseball match
I went to a baseball match. Washington Nationals team played against L.A. Dogers (it was the best team from the East Coast Vs. best of from the West Coast). I bought my ticket just 1h30min before the match, paid $42 and I liked the experience. Even though they canceled the match because a bank of lights got broken… three times!

It seems that it’s usually easy to get tickets for the same day. Ah! and they have a very good WiFi connection everywhere, which was helpful to read the baseball rules as I didn’t know them and never watched any baseball match before that one.

Kennedy Centre: J Dilla
This is quite popular: the Kennedy Centre has a free performance everyday at 6pm. I went from the airport to the hotel and I thought to go there: free performance, cafeteria, views, etc.

I queued, got my ticket and then I realized that it wasn’t a normal performance (dance, music) but a panel of 10 experts of J Dilla: a DJ that passed away 9 years ago. I’m not into hip hop but I listened for a while… but usually the performances are different. See the webpage.

Air and space museum: Udvar Hazy Center
I enjoyed (3 times!) the Smithsonian air and space museum in Washington DC (I recommend to do the guided tour and then visit some of the exhibitions in more detail). But near the airport there is the Udvar Hazy Center: it’s an extension of the Air and Space museum near the Dulles airport. It can be reached by a regular bus and it takes about 10 minutes.

My plane departing time was 6pm so I went there in the morning. In that museum they have things that don’t fit in the Washington DC museum. It specially got my attention the Discovery (it has been in the space many times), a Concorde, some satellites and capsules. And many, many planes.

How to name things – thesaurus tip

I’m not particularly good at naming things (variables, methods, functions, classes, modules, etc.). Long time ago George (a colleague) and I were trying to think with “a better name” for a class but none of us had any good ideas. He suggested to use a thesaurus to check for synonyms, related words, etc. and start thinking which of the words would match it or not.

I thought that was a great idea! And actually it was mentioned very briefly at the talk “How to name things” from Peter Hilton (I saw it at ACCU 2015). If I were the presenter I would have explained the thesaurus method for naming things a bit more than he did.

One of the public results of the thesaurus method is my Github repository named potpourri (my first thought was “miscellaneous). Actually, the inspiration to have a github repository for small scripts and not named miscellaneous came when I saw mandrawer from Robert, another Mendeley colleague.

Wattpad story scraper

I wanted to read a story available on Wattpad.. Sadly Wattpad makes people read from phone devices (Android or iOS) instead of giving an epub file. And I really dislike reading from my mobile phone, I wanted to use my e-reader.

I searched on the Internet and I found quite a few videos on Youtube with complicated instructions to download a .jar and find the epub inside (it didn’t work for me, maybe they changed the website). Or to download the book into the mobile and then get the file (which is not easy anymore with Android 5.x, or at least I couldn’t do it easily. I think that I had to root my phone which I haven’t done it yet).

Finally I found the solution: a fantastic Python script! Called wattpad-ebook-scraper.

I know that people without handy Python (Window users) might have problems to use it… but for many other people it’s a very convenient way to create an epub file from Wattpad.

OpenVPN traffic measurement

After setting up the OpenVPN server I wanted to measure how much data the clients were using. I didn’t want to limit it but have an idea of how many MB they used.

I searched quite a lot on the Internet but I didn’t find a good solution. I’ll present my solution here.

In the /etc/openvpn/server.conf (or similar file for your server configuration) add the lines:

script-security 2
client-connect /etc/openvpn/scripts/
client-disconnect /etc/openvpn/scripts/

Then create the files and specially

Using this will log the number of bytes used by a connection like:

Apr 14 23:18:31 localhost openvpn: Session $Client TX: 592794812 bytes RX: 42195316 bytes Duration: 11679 seconds HostIP: $IP

Then we might want an easy way to show the number of MB to make it easier to read. For example, using this script in Python:
Apr 14 23:18:31 $Client TX: 565.333187 MB RX: 40.240589 MB 194 min. $IP

So doing this finally I had the information that I wanted.

OpenVPN configuration for Android

For different reasons I wanted to setup an OpenVPN connection so my Android phone could connect to my Debian Wheezy VPS and from there to the Internet.

I followed this tutorial and was very good (I failed with another tutorial). And I generated the .ovpn that is needed for Android using the script that I wrote.

So the steps in a nutshell:
* Follow
* Find the configuration for the server side and the configuration for the client side (Android or other clients like Windows or Linux)
* Generate the .ovpn
* Use OpenVPN Connect Android app
* Open the generated .ovpn file with the OpenVPN connect: connect!


How to generate OpenVPN .ovpn configuration file

I followed this amazing tutorial and I had a working OpenVPN server.

One thing that I wanted to do is to create .ovpn files. So instead of having the configuration, certificate, private key, etc. in different files I wanted to have everything in the same file.

I found on the Internet how to do this manually, but I wanted to generate different .ovpn for different clients, so I wrote a small Python script.

Feel free to use it, it’s available in the potpourri github repository.