Zulu Wikipedia reaches 1000 articles

Just in time for Wikimania, the Zulu Wikipedia has reached the 1000 article milestone. Congratulations to user Njabulo19 who created the 1000th article. Njabulo19 started editing actively in 2017 and has continued into 2018, and has paid particular attention to article categories.

isiZulu 1000

Well done Zulu Wikipedia community for having reached 4 figures – wishing you speedy progress to 5 figures!

Related articles

Better than the Beatles

I’m not sure I’m going to sleep tonight.

I’ve discovered a classic album, one of those new discoveries that sears itself into your consciousness, leaving you forever changed. Kurt Cobain listed this as his fifth favorite album of all time. Frank Zappa apparently called them better than the Beatles. I can’t believe I haven’t heard of them before.

I introduce The Shaggs, with their influential 1969 album, Philosophy of the World.

The Shaggs

Musician Cub Koda writes: “There’s an innocence to these songs and their performances that’s both charming and unsettling. Hacked-at drumbeats, whacked-around chords, songs that seem to have little or no meter to them … being played on out-of-tune, pawn-shop-quality guitars all converge, creating dissonance and beauty, chaos and tranquility, causing any listener coming to this music to rearrange any pre-existing notions about the relationships between talent, originality, and ability. There is no album you might own that sounds remotely like this one.”

Not all reviews were as appreciative. “Like a lobotomized Trapp Family Singers, the Shaggs warble earnest greeting-card lyrics (…) in happy, hapless quasi-unison along ostensible lines of melody while strumming their tinny guitars like someone worrying a zipper. The drummer pounds gamely to the call of a different muse, as if she had to guess which song they were playing – and missed every time.” went a 1980 Rolling Stone review.

A later Rolling Stone review takes it further: “It may stand as the worst album ever recorded.” and the New Yorker called the album “hauntingly bad”.

If you think that’s hyperbole, track 4, My Pal Foot Foot, takes the album to a new level.

The visionary band was formed and promoted thanks to a palm reading given to Austin Wiggins that claimed his daughters would form a popular band. He withdrew his daughters from school, bought them instruments, and arranged lessons for them.

Enjoy.

Image from Wikipedia

June 2018 African language Wikipedia update, 50 000 articles for Afrikaans

African language map

There are only 19 days to go until Wikimania in Cape Town, so it’s a good time to look at the state of the African language Wikipedias again, as always based on the imperfect metric of number of articles.

The following tables show the number of articles for each language on a particular date, as well as the percentage growth between the most recent two dates.

African Language Wikipedias

Language 26/6/2015 24/11/2016 5/9/2017 30/6/2018 % +
Malagasy 79,329 82,799 84,634 84,996 0.43%
Afrikaans 35,856 42,732 46,824 50,275 7.37%
Swahili 29,127 34,613 37,443 42,773 14.23%
Yoruba 31,068 31,483 31,577 31,672 0.30%
Egyptian Arabic 14,192 15,959 17,138 18,605 8.56%
Amharic 12,950 13,279 13,789 14,286 3.60%
Northern Sotho 1,000 7,605 7,823 8,050 2.90%
Somali 3,446 4,322 4,727 4,898 3.62%
Shona 2,321 2,638 2,851 3,630 27.32%
Lingala 2,062 2,777 2,915 3,023 3.70%
Kabyle 2,296 2,847 2,887 2,844 -1.49%
Hausa 1,345 1,400 1,525 1,856 21.70%
Kinyarwanda 1,780 1,799 1,810 1,823 0.72%
Kikuyu 1,349 1,357 0.59%
Igbo 1,019 1,284 1,384 1,320 -4.62%
Kongo 1,173 1,176 1,179 0.26%
Wolof 1,023 1,058 1,157 1,166 0.78%
Luganda 1,082 1,153 1,162 0.78%
Language 26/6/2015 24/11/2016 5/9/2017 30/6/2018 % +

The Malagasy Wikipedia still leads by number of articles, but most of the articles were bot-created. 95% of all edits on that Wikipedia were made by bots, the fourth highest of any Wikipedia, indicating that there’s not much of an actual human community.

Shona, Hausa and Swahili saw good growth, with Swahili particularly impressive coming off a high base. Congratulations too to Afrikaans for reaching the 50,000 article milestone, a target they had set themselves to achieve before Wikimania.

Egyptian Arabic, Lingala, Amharic, Somali and Northern Sotho all saw moderate growth.

Otherwise, the other African languages are mostly static, with Yoruba having barely moved since 2013 (and 79% of all edits made by bots).

Igbo and Kabyle have actually shrunk, which is possible due to the cleaning up and removing non-notable articles.

South African Language Wikipedias

Language 26/6/2015 24/11/2016 5/9/2017 30/6/2018 % +
Afrikaans 35,856 42,732 46,824 50,275 7.37%
Northern Sotho 1,000 7,605 7,823 8,050 2.90%
Zulu 683 777 942 959 1.80%
Xhosa 356 576 708 738 4.24%
Tswana 503 615 639 641 0.31%
Tsonga 266 390 526 562 6.84%
Sotho 223 341 523 539 3.05%
Swati 410 419 432 439 1.62%
Venda 151 238 256 256 0.00%
Ndebele (incubator) 12 12 12 0.00%
Language 26/6/2015 24/11/2016 5/9/2017 30/6/2018 % +

Onto the South African languages. In spite of being far ahead in terms of number of articles, Afrikaans is also growing at by far the fastest rate, even off this high base. It wouldn’t take much to get, say Ndebele to grow quickly – just the addition of one new article would see its percentage growth outstrip Afrikaans, but sadly it’s been static since its early days in the Incubator (the Incubator being a staging area until a project can show it has enough to survive as a stable project).

Tsonga has been growing steadily. User:Thuvack, who was previously president of Wikimedia South Africa, but now works for the Wikimedia Foundation, has personally created 293 of them, the most recent being in April.

Xhosa, Sotho and Northern Sotho have seen moderate growth, while there’s some life in Zulu and Swati. Tswana, Venda and Ndebele have all been static recently.

User:Aliwal2012 continues to be a standout contributor in a number of South African languages, in particular Afrikaans, Northern Sotho and Sotho, and has edits in most of the South African languages.

With so many African languages still in the startup stages, one to two regular editors can make a huge difference. All it takes is clicking “Edit” and getting started.

With Wikimania coming to sub-Saharan Africa for the first time, it’s a great opportunity to meet and interact with others in the project. The preconference to Wikimania starts in Cape Town on July 18, and the main event starts on July 20. There’s still time to register!

Picture from Wikimedia Commons.

Related articles

Birthday parties

Rumour has it I turned 57 today. Last night, I had a combined birthday party with someone turning 44, and according to their calculations during the cake speech, our combined age was 101. Since most of the people at the party didn’t know me, and no one pointed out the mistake at the time, I got to enjoy a few minutes of “wow, you don’t look more than 50” style compliments, and sharing my health tips – eating midnight slabs of cheese and slumping all day in front of the computer – before my real age emerged.

It was the best birthday party of my life.

OK, so it was only my second birthday party as an adult, but still.

I’ve rarely been inspired to organise a birthday party. As a child, birthdays involved some last-minute studying for the next days mid-year exams. The most memorable one was me crying on the bed, I don’t remember why, but thinking “it’s supposed to be my birthday!”

As an adult, I organised one – a sedate dinner at home, and my memory of that is people sitting around the table arguing, and me finding it all pointless and wishing I could just go to bed.

I’ve always preferred meeting people one one one, or in very small groups, so the idea of putting lots of people I know together and then not getting to spend much time with them each wasn’t too exciting.

But still, I usually enjoy other’s parties, and it’s about time I had one. After agreeing to pitch up if someone else organised it, three friends got together to form an organising committee.

Thinking my part was done, and I could just make a brief appearance at the actual event, was wishful thinking. I soon had to intervene to untangle some organisational gridlock. The committee had creative differences, and ideas for a vodka slushie machine, magic mushrooms, a night in the mountains, dancing in town and dinner at home weren’t fitting together well.

Dancing took priority, and even if the party had turned into a disaster, putting together the playlists, including a 90’s trance hour, reliving 90’s anthems like Sandstorm, Madagascar, For an Angel, made it all worth it.

90’s trance hour lasted for 4 and a half hours. I’m surprised I can walk today.

So while others (re)forged connections, had intense talks about flat earth(s) and the like, tried to throw Buddha statues in the pond, struggled to get the playlist they had spent ages on working, and whatever else went on behind the trees, I mostly just danced.

Even if it was more like the first minute of the video below, rather than the last:

Thanks to all who helped organise and to all who came, even if I never got to meet you, or spend much time with you. Here’s to another 47 years of dancing.

Related Posts:

Cape Town wiki meetup with Wikimedia Foundation’s Asaf Bartov

Cape Town was very lucky to host Wikimedia Foundation’s Senior Program Officer Asaf Bartov at the end of his Africa tour. We held a meetup, and it proved particularly inspiring to those attending.

Asaf spoke about Wikidata, discussed projects using the data, and demonstrated a number of tools that were new to most of us, such as https://query.wikidata.org, which uses the SPARQL query language to query Wikidata content.

Cape Town Wiki Meetup May 2018

Wikidata adds structure to the content which makes pulling out all kinds of related information possible. Wikipedia data is fairly unstructured. Numerous categories exist, so if you’re looking for, say, a list of South African politicians, there’s both a list page and a category page. However, if you want something more detailed, such as a list of South African politicians that have a father that was a politician, without lots of manual slogging, Wikipedia alone won’t be much help. That’s where https://query.wikidata.org comes in, and once familiar with SPARQL, such questions are easy to answer.

Even more exciting to me was Quarry. Years ago I remember toying with the idea of downloading a Wikipedia database dump, but at the time the massive download would probably have ground South Africa’s internet to a halt. Quarry is an interface for running SQL queries directly on the Wikimedia Foundation’s backend MariaDB databases. The bar to getting something useful is a little higher than on https://query.wikidata.org, as to use it effectively requires getting to know the data structure, but since access is direct, it’s a tremendously powerful tool to extract almost anything you want.

The easiest way to get started is to take someone else’s query and modify it. For example, here is a query listing pages from the Afrikaans Wikipedia that don’t have an Afrikaans label on Wikidata, which I forked from Asaf’s demo run during the meetup: https://quarry.wmflabs.org/query/27283

I can already see myself diving in and automating and expanding the (semi) regular African language updates I do, or getting automatic notifications of activity in some of the small South African language Wikipedias.

And if those listed above are not enough, Asaf has a tool section on his user page listing yet more wonderful tools you’ve probably never heard of.

Thanks Asaf for taking the initiative to pay a visit to some of the African Wikimedia communities, and leaving a trail of inspiration in your wake.

Black Panther

Tonight was the opening night of Black Panther. It’s been getting heavy publicity for being the first of eighteen Marvel superhero films to feature a black lead, and features a predominantly black cast.

For some this is just tokenism, an attempt to find a new angle to sell yet more movie tickets. So was there more to it than this? Mild spoilers ahead.

All I can say is, you should have been there.

It started with a mostly black audience (unusual in the southern suburbs of Cape Town), many dressed up for the event.

From the first appearance of Black Panther, in a trailer, the crowd was shouting and cheering. As the first isiXhosa words were heard, the crowd again broke into prolonged cheering and applause.

The script was great and hit all the right notes. The audience howled at “Great, another broken white boy for us to fix.”, and perhaps the line with the wildest audience reaction was, “Don’t scare me like that, colonizer!” From then on, every time that character spoke out of turn, the crowd shouted him down with cries of “Colonizer!”, and the movie was an interactive experience with the crowd shouting out encouragement and quips all the way through.

Later, when the “colonizer” was forced to stop talking by the guard’s gorilla grunting, the crowd was again shouting in encouragement, with years of racist monkey chanting being reversed to shut up the white guy.

I am certain the EFF will be co-opting some of the themes next time they want to make a symblolic statement in parliament. Who needs miner’s hats and red overalls when you have gorilla chants?

As the movie ended, the crowd broke into applause, with some getting up and dancing. The cinema stayed full for well after the credits started, and the cleaning staff had their hands full getting things ready in time for the next show.

The audience left, breaking into song, dance and gorilla chanting, and many of the the crowd waiting for the next show had cellphones filming the audience reaction.

It’s a euphoric time in Southern Africa, with Mugabe and Zuma both being booted out recently. Both tried to talk the talk, but steered their countries in exactly the opposite direction of the utopian Wakanda featured in the movie. Black Panther came at the perfect time in this part of the world. Someone commented that you could almost feel centuries of oppression being lifted.

Quite a feat for just another superhero movie.

Related posts:

Videos from Bearet.

Patreon meltdown

Patreon just made one of those decisions that look good when explained to investors in the boardroom, but are utterly suicidal when rolled out.

Patreon image

They changed their fee structure, so that instead of the finance fees being charged to creators, they are now charged to patrons. The motivation is sound. Previously, the actual amount paid to a creator was not clear. The patron is charged whatever they pledged. Patreon takes 5%. And then whatever finance charges there were would be passed on to the creators. Patreon saved fees by only charging the patron once, for all of their pledges. So a single $1 pledge would see a chunk taken taken off, but if the patron makes, say, 10 $1 pledges, the fees would be relatively lower.

All of this means that creators were never sure what their income would be. Patrons would change other pledges, and this would affect the amount the creators made. All in all, a bit messy.

After the change, finance charges will be added to the patron’s account. So a single pledge of $1 will now have finance fees added on top of it. What really makes the whole idea a disaster is that the full finance charges are added on to EACH $1 pledge. For those making multiple small pledges, it’s a noticeable increase.

I am still following all the threads, but it appears Patreon are doing this, not to gouge extra money for themselves (by keeping the savings on the finance fees when they batch them), but so that creators no longer get ripped off, with patrons pledging money, getting access to various tiers of rewards that many creators offer, and then cancelling their pledge before it goes off.

I can see the motivation. But the result is that far more of my donations would go towards finance charges. I’m happy to support artists. I’m happy to support Patreon as a platform. But if there’s anyone I would not like to be offering needless money to, it’s multinational financial institutions.

The results have obviously come as a surprise to Patreon – huge numbers of pledges being cancelled, especially those, like myself, that make multiple small pledges, and now see more of this being gouged by a middleman.

Many artists are alarmed, reporting on disappearing patrons, anxious as they see incomes they’ve worked hard to build now under threat, disappointed that Patreon would do something like this.

In March 2015, I started a series 30 Artists in 30 Days, experimenting with Patreon. It was fairly new to me then, and I loved the concept, the ability to support artists almost directly, with the actual artist receiving most of the donations.

It’s sad to see Patreon going the other way, and to see artists losing out.

I had consolidated some of the list since March 2015, but after this recent announcement will cancel most, if not all, of my pledges. I like to see my donations being well-used.

But I’d still like to support many of the artists.

I’m probably not the average patron. I support multiple creators for small amounts simply to support them in their art. Many artists have complicated tiers offering all sorts of rewards. I understand why they do that, and I’m sure most people like to feel they are getting something extra for their support. I am just happy to contribute something to reward artists that I appreciate. I listen to their music on SoundCloud, watch videos on Youtube, all for free. In this way I can give a little bit back. I don’t particularly care that I get to listen to their new release a few days earlier, or have an opportunity to appear on their album.

So what are the alternatives? There are many Patreon-like platforms, but one that appeals is Liberapay. They’re a non-profit organization, and the code is entirely open source. They don’t take a cut of the pledges.

That’s right. Nothing. 0%.

So that leaves just the payment processing fees. These look a little higher than Patreon’s, at least for credit cards, but overall the cut is still far lower, and payments are batched like Patreon’s used to be. There’s also the advantage for artists of free withdrawals to a bank account in the Single Euro Payments Area. So overall, a far higher percentage of the donation goes to the artist.

With no commission, how does Liberapay sustain itself? Liberapay relies on donations, and one can support the Liberapay project through the Liberapay platform. I still have concerns about sustainability, as Liberapay currently earns very little, but hopefully it can build itself up to be sustainable.

Liberapay logo

Liberapay is not Patreon. It’s missing many features, has an interface that could be greatly improved, and is also set up as a donations platform, rather than one to provide rewards and tiers. So it may not appeal to all artists. But it’s open-source, meaning that you anyone can contribute to the development of the project.

It’s a distressing time for many artists as they lose substantial numbers of small-scale supporters.

But as I said, I’d still like to support some of the artists. So here’s my commitment. To any artists that I used to support on Patreon, if you come across to Liberapay, I’ll match my old pledge to you there.

Hope to see you on Liberapay!

Related posts:

Observatory energised

Democracy, ideally, represents rule by the people, but in a world with powerful centralised nation states, antiquated voting systems, and social media quickly spreading misinformation about remote events, in practice, it’s far from that. Just look at the state of most so-called democracies.

Obs Special General Meeting

But democracy in its current incarnation can work reasonably well at the local level. Individuals feel their participation is valued and makes a difference, and are mostly informed about the issues.

I lived in Observatory, a suburb of Cape Town, for much of my adult life, only moving out late last year to be closer to my son’s high school.

Named after the location of the astronomical observatory built there in 1820, Observatory was at the time a distant outpost, remote from the bright lights of Cape Town. As the city grew, Observatory become an urban suburb, close to the city centre. During the apartheid era it remained one of the few ‘grey’ (mixed race) areas to survive the ravages of the Group Areas Act, which ripped up much of the fabric of the city and divided people by race.

The turbulent end of apartheid saw the Heidelberg Massacre, when a number of APLA operatives opened fire in the packed Heidelberg tavern. A few years later, I was sitting in Diva’s in Lower Main Road as a bomb went off just down the road, courtesy of PAGAD (an anti-gangster and drug vigilante group), who presumably targeted Obs thanks to the then-constant cloud of marijuana smoke usually hanging above the suburb. And of course, Observatory has had its fair share of crime and grime.

Like much of Cape Town, the area has been changing, more high-rises have been making their appearance, and all sorts of developments have been proposed, leading to scraps between developers and community groups.

And so we come to the present.

The Observatory Civic Association (a body open to all that reside in Obs, and which has been a thorn in the sides of many developers wanting to rush their plans through) recently held their AGM. Attendance was surprisingly high, and a number of new faces were elected onto the committee. But all was not as it seemed. A large block of new members signed up on the day, voting en masse for a number of candidates, including a new chairman, who turned out to be an architect with interests in a number of developments in the area. It turned out that many of the new members were ineligible, having given false phone numbers, fake addresses, and in one case, listing their residence as a vacant development owned by the new chairman. So, results of the AGM were annulled, and a new AGM called.

Immediately, the management committee member sending the correspondence was sent a threatening legal letter. The usual bullying, lots of dubious legalese, followed by a threat that if she didn’t back down, the costs of any further actions would be for her account.

This kind of intimidation is nothing new to citizens groups across the world. Individuals often don’t have the resources to stand up to the threats, and the intimidatory tactics work. In this case, the person stood down, handing over to an interim chair, who the next day received the same threatening letter.

However, Observatory is not easily intimidated. Old members rushed to renew their memberships, new members rushed to sign up, and word of the attempted takeover spread quickly. A special general meeting, held under the thread of an interdict, saw a record attendance, and the community voted to render the previous election null and void, that the previous OCA management committee continue to hold their posts until a new election is held, and that a new AGM be called within two months.

It’s great to see the Observatory community energised and working together. Hopefully it won’t take another attempted takeover to see this happen again.

Articles and Videos

Image courtesy of Maxwell Roeland and GroundUp

Firefox Quantum and too many tabs

I’ve been running Firefox Quantum as a browser since it came out, and there’s been a noticeable improvement in all areas. Rendering speed, CPU, memory – it lives up to all the hype.

Quantum

I’ve used Firefox as my primary browser for ages, but often used Chrome and Chromium as alternatives for certain sites, or when Firefox was creaking under the load of too many open tabs. I’ve moved most of them to Firefox now, and only use those browsers for easily running multiple sessions (logging in to Twitter with an alternative account, or to quickly test how something looks when I’m not logged in).

I can see this all backfiring though when it comes to the number of tabs I have open. I already spend way too much of my time scrolling through tabs trying to find a specific tab. In the past, I used to vigorously close tabs, as Firefox collapsed under the load when it reached a few hundred. I may not need to do this so much, which means my open tab count could grow drastically. To keep tabs (ha) on this, and since I’ve more than once tried to manually count my number of open tabs, I’ve installed the Tab Counter plugin, which does the tallying up for you.

Right now I’m at a measly 80 open tabs, so I’m feeling light and fresh. Let’s see how high it goes…

Image from Wikimedia Commons

Have you been inside a wild animal?

I arrive in Shenzhen, China, about 26 hours after leaving my house at 5am. I’m a little worse for wear, and have a mild headache.

Unfortunately, I’ve made a serious mistake, and besides taking a headache tablet, I’ve refused to accept any of the delightful airline food offerings I was presented with. Highly suspicious.

“Passenger in seat M15 please report to immigration staff on landing” Nervous looks from fellow passengers, and some check their bags to see I haven’t snuck any drugs into their unsecured hand luggage.

My first thought was that I’m getting a red carpet welcome and a limo to my hotel. It’s soon clear that the airline staff has reported my dubious culinary behaviour and I’ve been fingered for having the plague.

There are lots of questions. I answer yes to the headache question, but no to whether I have symptoms of vomiting, nausea, diarrhea.

Then they go up a level. Have I butchered an animal, or been around an animal being butchered in the last 10 days? Happily, no I haven’t.

The interrogator doesn’t speak English, but has a handy flipchart of badly-translated English questions. I get to shake my head vigorously to each question while she glares at me suspiciously. Shenzhen is grey – I’m not sure if it’s rain or smog. Well, it is rain, but there may be some smog involved too. I desperately hope I don’t start sneezing.

Smog or rain
Rain or smog?

Next question. Have you been inside a wild animal in the last 30 days? I’m tempted to answer yes, but immigration officials don’t always have a sense of humour, especially when protecting their country from African plague-bearers, so I shake vigorously again. I’m fairly sure that in China nodding and shaking have the same meaning as in English. But if not, that could explain some of the later treatment.

The flipchart wasn’t enough. She dials a number and gets me to answer more questions from a voice prompt. I try to put on my strongest South African accent, but the voice recognition is surprisingly good and get’s it right each time. Nothing about wild animals though. But a lot of questions about which countries in Africa I’ve visited recently, and which part of South Africa I come from.

I’ve only answered yes to the mild headache, and happily have no other symptoms. Luckily I landed quite early, about 10h50, but I would like to finish up soon. She puts on some rubber gloves. This is not looking good. She grabs what looks like a needle and leans over to me. She has quite a stretch as I seem to have lurched backwards when I saw the gloves.

It’s a thermometer, and she gets to see whether she can add fever to the list. I wonder how accurate a temperature reading is going to be when you’re groping at someone with rubber gloves, but can only wait and see.

After lots of what I hope is only smalltalk between her and a colleague, and not a back and forth about which quarantine committee to call, she removes the thermometer.

I have no idea what the reading indicated, but she grabs a needle. A real one with a point this time. Now I’m protesting, and she calls in a colleague who can speak some English.

“We have to take some of your blood”. I know how these things go. Don’t co-operate and I’ll spend the week in quarantine, or end up being grilled in another little room, so I reluctantly agree. I’m happy my temperature has already been taken as it’s just gone up a notch.

I presume passing out when I see the needle start filling with blood will only further arouse their suspicion, so I look as far away as possible.

Next, my blood pressure is taken. I’m sure it’s high.

Finally they let me go, and escort me to passport control. Everyone else has long gone, and the lone official has to get out of his chair to open the lane. He has seen me being escorted out of the immigration room, and has a glint in his eye. Today’s the day his training gets put to good use.

He flips through the pages, looking at each one carefully. And back again. He rubs his fingers over the visa and passport picture page, and then rubs them both with another piece of paper, presumably seeing if the forgery would rub off. He looks disappointed. Then he takes out a magnifying glass. By this time another plane has arrived, and a queue is forming. He’s still the lone official on duty. He examines each character through the magnifying glass. Then he flips through the passport some more. He calls a supervisor. The supervisor doesn’t entertain his wild theories about how I’ve undoubtedly forged the passport, and quickly goes back to snoozing on his own chair.

The crowd behind me is grumbling. I’m leaning against the counter rolling my eyes, wondering if the metro will still be open by the time I get out of there.

He takes out the magnifying glass again. My sense of humour is failing, but I manage to resist the temptation to make a break for it.

He finishes re-examining every character. He folds and prods the pages. He tries to slide something under the passport photo to see if it can be lifted. What was a fairly new passport is starting to look like it’s been in the wash.

Aha! He’s found something! “When you arrive America?” I tell him April. As is stamped in the passport… “When you leave America?!” April again.

Now he’s got me. “IS THIS WHEN YOU LEAVE AMERICA?” He shows me a stamp from yesterday, 11 November. No, that was yesterday, when I left South Africa. He looks confused. He calls the supervisor again.

This time the supervisor snaps at him, with one eye on the now large queue behind me, and the official sadly concedes defeat, stamps my passport and let’s me go.

I’m not sure whether to break into hallelujahs, but I fear they’ll think it’s a symptom of the plague, and haul me back again. I think I spent less time driving across Luxembourg than I did stuck in Shenzhen airport. I try to look like I haven’t been inside any wild animals as I prance out of the airport.

Related Posts:

  • No Lady
  • Bumbling Round Bergen