AnthillHacks 2022

You might like to read all parts of this series on a single page.

Day 6 (21st)

Today's session was the PGSOC hackathon, but the thought of attending did not exactly appeal to me. Besides, I had a project that needed tending to.

Project XMPP

Throughout the event, I had seen Matrix and Telegram being used for communication, but I strongly prefer to replace them with XMPP in almost all conceivable cases. For one, the resources an XMPP server consumes are an order of magnitude lower than Matrix, from what I've heard (e.g. a Raspberry Pi to serve thousands of users). Secondly, Element (the client everybody was using) did not support multiple accounts, whereas just about every XMPP client did. Lastly, Telegram has centralized and proprietary servers, which makes them unworthy of being entrusted with anybody's communication.

Thus, I thought of setting up an XMPP server on the COWMesh. Rām, Sanketh, and Amudhan were all very supportive of the idea, which was heartening.1 Rām had an account on Quicksy already! My first XMPP contact from the event. 🙂 (Unless we can count Vivek.) Sanketh directed me to Shālinī for a Raspberry Pi. I spent a lot of time going through resources about the Raspberry Pi, trying to figure out how to do a headless install, and borrowing Amudhan's card reader to format the microSD card2 I discovered at this point that my fairly pricey Lenovo Legion 5 did not have a card reader. How odd for a laptop which I chose for its otherwise-impressive array of I/O! …only to realize that the microSD card was already flashed with Debian and I had toiled for naught. Oops.

Eventually, I realized that my self-hosted XMPP server wasn't going to run the way I expected it to - I wanted people to be able to use the account I set up for them to both communicate within the village (without being connected to the Internet) as well as with the wider global XMPP network. But Amudhan and Rām patiently explained what I later realized was pretty obvious - the COWmesh was less like an ISP, and more like a residential WiFi mesh network spread across a really large area (i.e. a few villages instead of a single residence or building). Simply put, the network did not have a static external IP - I would have to set up a dynamic DNS for it. I kind of lost motivation at that point. Still, it was my first time having a Raspberry Pi at hand, and it was valuable experience in networking and administration. I also never had a friend working with me on something like this in person, which was another first.

I really appreciate Amudhan's patience. Given how much demand there was for him (in both personal and professional capacities), I always admired how he never once cracked, lashed out, or showed a hint of exhasperation to my sometimes-silly queries.3 Or perhaps he was always exhasperated…? He always sounded tired. 😁 He ended up setting up his own XMPP server, so I guess my project wasn't entirely fruitless 😄

Provisioning the Bamboo Tower

The consequence of this XMPP server project was that I started spending a lot more time around the Red Cottage. That was where I learned of today's plan to go down to the Bamboo Tower and install a LibreRouter on it. I'm not sure if I volunteered to help or if Amudhan requested it, but I headed down on Sanketh's bicycle, being tasked to take photographs using Amudhan's frighteningly expensive camera.

I didn't dare climb the tower (it had no ladder, for one), so my photographs were all taken from the ground. Admittedly, that restricted the possible angles a bit.

Figure 1:
Figure 2: Max and Ms. Sarbani.†
Figure 3: Tanya and Hiuré.†
Figure 4:
Figure 5:

Triple Agent

In the Gazebo, Rām introduced us to a game called Triple Agent. It's implemented as a proprietary Android application, but only one phone is required to play it. In essence, it was similar to the game I know from theater workshops as "Killer" - players are secretly assigned to certain teams, and you have to figure out which team they are part of.

We played a few rounds, and for that duration the air was thick with (playful) accusations, deceptions, and laughter. The game is not too complex from the perspective of implementation - the complexity arises from human interaction instead. That makes it a suitable candidate for someone looking to make a simple Android application.

Afterward, Ruchikā held a session on gender and assumptions. This was more fun than I expected it to be - we wrote down some ways in which assumptions were made about our identity. For her, it was people assuming she was a boy because of her short hair; for me, it was people assuming I was a girl because of my long hair. Michael spoke about people assuming his nationality from his facial features, and Sanaj, I think, about people assuming his religion from his beard. It was followed by some improvisations (AKA roleplaying) by the participants, depicting their experiences of gender stereotypes affecting their lives.

A school in Timmanayakanahallī

In the evening I went to a school in Timmanayakanahallī with a few others, where some of the participants helped kids with their schoolwork. It was a tiny, noisy room. I tried to do some singing exercises, and later tried going over some basic English with some students.