It's a blog

Author: addshore (page 1 of 10)

Wikidata Map July 2019

It’s been another 9 months since my last blog post covering the Wikidata generated geo location maps that I have been tending to for a few years now. Writing this from a hammock, lets see what has noticeably changed in the last 9 months using a visual diff and my pretty reasonable eyes.

Wikidata “Huge” map generated on the 13th May 2019
Continue reading

Santa Elena (Monteverde, Costa Rica) to Granada (Nicaragua)

I’m writing this post in the hope that someone making the same journey will find it somewhat useful. We were a bit uncertain how our journey was going to pan out, but it ended up working pretty well.

If you want to know what we ended up doing, skip the “Initial research” section, and head straight to “The journey”.

Initial research


We inquired about the prices of shuttles from our hostel and received 2 prices. The first was $100 per person which would only get us to the boarder. The second for $70 per person that would get us all the way to Granada. These options were both over budget, so a shuttle was a no go.

Public bus

The hostel also provided us with some bus options, both leaving from the bus stop / station in the center of the town (Google maps).

Option 1 would take us to a place called Lagartos (Google maps) leaving from the stop at 6am. Option 2 would take us to La Irma (Google maps) leaving from the stop at 4:20am.

Map showing the 2 bus options aa part of the first leg from Monteverde to Grenada

There were also options later in the day, but we wanted to get going as early as possible.

Some posts and comments online mentioned other bus times that our hostel and the bus operators did not seem to know about, so be careful to confirm what you read.

Inter country coaches

Tica Bus, Nica Bus and Central Line all run services from Costa Rica into Nicaragua.

Tica Bus gives you the option to reserve / book online at least 1 day in advance. I never really figured out the websites of the other 2 services.

Screentshot of Tica bus booking options

All of these services will run along the Inter American Highway (Route 1). You may or may not be able to flag one down anywhere along the route (we did, keep reading).

If you’re trying to flag them down it might be worth familiarizing yourself with what the buses look like online first, they can pass you by pretty quickly otherwise.

The journey

The journey ended up being relatively stress free even with nothing booked in advance. Perhaps luck was on our side?

We were planning on booking the Tica Bus online once at La Irma, but then realized that bookings had to be a day in advance.

Public bus to La Irma

Getting up at 03:30 we packed up and headed to the bus stop arriving just after 04:00. There we sat in the car park waiting for the bus to arrive after checking with the security guard of the shopping complex that we were in the right place.

The front of the Monteverde bus shop, which is next to where the bus stops

The bus arrived at 04:20, we paid 1200CRC each to driver and set off at 04:30 with about 4 passengers.

The inside of the bus to La Irma

The bus stopped a few times along the way becoming almost half full, before emptying again a few stops before La Irma, where we arrived at 06:20

Bus from La Irma

We ended up sat at the bus stop for nearly 2 hours, which was part of our vague plan. We were waiting for the Tica Bus that departs San Jose at 06:00, which should pass by La Irma between 08:00 and 09:00, but we ended up getting on something earlier.

If you also end up waiting here for a while then there is a free toilet across the road on the left side of the fuel station.

The bus stop at La Irma

The first bus to pass us after being at the stop for 10 minutes was a local bus to Liberia, which it may have made sense to get on as it is on the route of many of the inter country buses and local buses. However this wasn’t in the plan, and while trying to figure out if it made sense the bus drove off.

Next a Central Line bus drove past us while we were trying to flag them down. Not sure if they were full? Didn’t see us? Didn’t care? Or just generally don’t stop at random stops.

Finally a Nica Bus drove past and pulled in for us. We checked that it was heading to Grenada and hopped on board.

The Nica bus cost us 28USD each for the bus itself, and here we also paid 23 USD for the boarder entry and exit fees. The exit fee is only 7USD and entry 10USD so the conductor got 6USD from each of us for the service.

Side of the Trans Nica bus

Exiting Costa Rica

The Tica bus arrived at the boarder crossing at around 11:05 (there was a crash on the road on route that likely delayed us by 15-30 minutes).

There was no queue to exit Costa Rica, only the people there were on our Bus. Passport stamping only took a few seconds once at the front of the line, then we got back on the bus to drive toward the Nicaraguan checks. At this point we left our passports and one of our paper forms (for entry) with the bus conductor.

Entering Nicaragua

The bus continued down the road for a few hundred meters before reaching the rather chaotic Nicaragua entrance.

Everyone got off the bus with all of their belongings and entry form (but no passport). There were lots of people offering money exchange and selling food and trinkets, so prepare to be a bit bombarded! We entered the building, walked straight past a set of desks to an x-ray machine for our bags. Here they took our entry paper, our bags took a quick trip through the x-ray machine and then we walked back around the outside of the building to the bus.

Here we waited for our passports to re appear with someone that worked at the boarder, where they were handed back to us as we got back on the bus. I guess this is where they check your documents against your appearance, although they have already given the stamp and visa at this point.

Entering Nicaragua took us roughly 35 minutes. We did not need any proof of onward travel, but did have to write down where we would be staying on the entry forms.

Continuing to Grenada

The rest of the travel was pain free, the bus stopped in Grenada at around 13:45 at the intersection of Calle Elena Arellano and Calle Arroyo Carita (Google maps).

From there we just walked to our Hostel. You can also get taxis to anywhere in the town for roughly 0.50 USD per person (15 NIO currently).

Notes & Links

While sat at the La Irma bus stop I found a very good blog post talking about going from Monteverde to Nicaragua. It was part of my inspiration for writing this post.

The Tica Bus route that we were aiming for. It seems to split in 2, I’m not sure which buses take which route.

Local bus times, if you can decode them.

A trip advisor post talking about getting a bus back to San Jose and possible getting off along the main road to catch one of the inter country buses.

Add Exif data back to Facebook images – 0.1

Screenshot of the Facebook Exif tool

In 2016 I wrote a blog post with this exact title when moving all of my pictures from Facebook to Google photos. I wrote a hacky little script which met my needs and added exif data from a HTML Facebook data dump back to the images that came along with it.

A few months ago I took another look at the script and made it slightly easier to run, but it still fell short on the usability side of things.

Since then more and more people have and been commenting and messaging me wanting to do exactly the same thing, and so I finally made a more usable version of my little tool.

Continue reading

Creating a Dockerfile for the Wikibase Registry

Currently the Wikibase Registry(setup post) is deployed using the shoehorning approach described in one of my earlier posts. After continued discussion on the Wikibase User Group Telegram chat about different setups and upgrade woes I have decided to convert the Wikibase Registry to use the prefered approach of a custom Dockerfile building a layer on top of one of the wikibase images.

I recently updated updated the Wikibase registry from Mediawiki version 1.30 to 1.31 and described the process in a recent post, so if you want to see what the current setup and docker-compose file looks like, head there.

As a summary the Wikibase Registry uses:

  • The wikibase/wikibase:1.31-bundle image from docker hub
  • Mediawiki extensions:
    • ConfirmEdit
    • Nuke
Continue reading

wikibase-docker, Mediawiki & Wikibase update

Today on the Wikibase Community User Group Telegram chat I noticed some people discussing issues with upgrading Mediawiki and Wikibase using the docker images provided for Wikibase.

As the wikibase-registry is currently only running Mediawiki 1.30 I should probably update it to 1.31, which is the next long term stable release.

This blog post was written as I performed the update and is yet to be proofread, so expect some typos. I hope it can help those that were chatting on Telegram today.

Starting state


There is a small amount of documentation in the wikibase docker image README file that talks about upgrading, but this simply tells you to run update.php.

Update.php has its own documentation on
None of this helps you piece everything together for the docker world.


The installation creation process is documented in this blog post, and some customization regarding LocalSettings and extensions was covered here.
The current state of the docker-compose file can be seen below with private details redacted.

This docker-compose files is found in /root/wikibase-registry on the server hosting the installation. (Yes I know that’s a dumb place, but that’s not the point of this post)

Continue reading

A firewall is blocking sharing between Windows and the containers – Docker

I recently encountered this error while trying to run one of my docker setups.

I have encountered errors like this before and it has always ended up being related to docker and sharing my drives to the linux VM that actually runs my containers.

Checking the shared drives menu of the docker UI everything seemed to be fine.

However when removing the drive share and re sharing the drive I got an error message saying that there was a “Firewall detected” and that “A firewall is blocking file Sharing between Windows and the containers. See documentation for more info”.

The docs seem to suggest that my firewall rule had vanished somehow. I spent a few minutes digging around and tinkering with firewall rules before determining the rule itself was not the issue. The next suggestion was to “reinstall the File and Print sharing service on the Hyper-V virtual network card

Opening PowerShell as administrator and running the commands suggested on stackoverflow (switching the DockerNAT network) seemed to do the trick.

I still have no idea why this happened. Did I accidently set the DockerNAT network to be public? Could the Docker UI really not check the firewall rule itself and propose the fix?

2018 Year Review

  • 12,374 page views (up from 7992)
  • 8,578 visitors (up from 5250)
  • 24 posts (up from 4)
  • 28 comments (up from 13)

Top 5 posts by page views in 2018:

  1. Guzzle 6 retry middleware, (still #1)
  2. Add Exif data back to Facebook images, (up from #4)
  3. Mislead by PHPUnit at() method, (down from #2)
  4. From 0 to kubernetes cluster with Ingress on custom VMs, (new 2018)
  5. gitgraph.js and for git visualization, (new 2018)

Retrieved from stats.

Wikidata Architecture Overview (diagrams)

Over the years diagrams have appeared in a variety of forms covering various areas of the architecture of Wikidata. Now, as the current tech lead for Wikidata it is my turn.

Wikidata has slowly become a more and more complex system, including multiple extensions, services and storage backends. Those of us that work with it on a day to day basis have a pretty good idea of the full system, but it can be challenging for others to get up to speed. Hence, diagrams!

All diagrams can currently be found on Wikimedia Commons using this search, and are released under CC-BY-SA 4.0. The layout of the diagrams with extra whitespace is intended to allow easy comparison of diagrams that feature the same elements.

High level overview

High level overview of the Wikidata architecture

This overview shows the Wikidata website, running Mediawiki with the Wikibase extension in the left blue box. Various other extensions are also run such as WikibaseLexeme, WikibaseQualityConstraints, and PropertySuggester.

Wikidata is accessed through a Varnish caching and load balancing layer provided by the WMF. Users, tools and any 3rd parties interact with Wikidata through this layer.

Off to the right are various other external services provided by the WMF. Hadoop, Hive, Ooozie and Spark make up part of the WMF analytics cluster for creating pageview datasets. Graphite and Grafana provide live monitoring. There are many other general WMF services that are not listed in the diagram.

Finally we have our semi persistent and persistent storages which are used directly by Mediawiki and Wikibase. These include Memcached and Redis for caching, SQL(mariadb) for primary meta data, Blazegraph for triples, Swift for files and ElasticSearch for search indexing.

Continue reading

Hacking vs Editing, Wikipedia & Declan Donnelly

On the 18th of November 2018 the Wikipedia article for Declan Donnelly was edited and vandalised. Vandalism isn’t new on Wikipedia, it happens to all sorts of articles throughout every day. A few minutes after the vandalism the change made its way to Twitter and from there on to some media outlets such as and the following day, with another headline scaremongering and misleading using the word “hack”.

“I’m A Celebrity fans hack Declan Donnelly by changing his height on Wikipedia after Holly Willoughby mocks him”

Hacking has nothing to do with it. One of the definitions of hacking is to “gain unauthorized access to data in a system or computer”. What actually happened is someone, somewhere, edited the article, which everyone is able and authorized  to do. Editing is a feature, and its the main action that happens on Wikipedia.

The word ‘hack’ used to mean something, and hackers were known for their technical brilliance and creativity. Now, literally anything is a hack — anything — to the point where the term is meaningless, and should be retired.

The word ‘hack’ is meaningless and should be retired – 15 June 2018 by MATTHEW HUGHES
Continue reading

freenode #live – Bristol 2018

freenode #live is a “community-focused live event designed to build and strengthen relationships between Free and Open Source Software (FOSS) developers and users”. The 2018 event was held in Bristol, United Kingdom at We the curious with roughly 100-200 people attending (from my guesswork).

The event essentially had a single track of talks. The old IMAX theatre above the Aquarium was used as an auditorium with various stalls for organizations set up outside. These stalls included KDE, Kiwi IRC, Private internet access and more.

Most of the talks were recorded and can be found on this YouTube playlist. Now for some of my main takeaways or points of note, most of which are IRC related, which might make sense as the conferences is called freenode #live…

Continue reading
« Older posts

© 2019 Addshore

Theme by Anders NorénUp ↑