Skip to main content

Voting impartially for fun and profit a.k.a Mozilla Reps Council Voting

I am part of a program called Mozilla Reps. Though I am involved as a volunteer contributor with Mozilla for quite some time now, I am relatively new to the Mozilla Reps program and hardly know anything about the program apart from my scope of work in it.
Apparently, this is the Election time for voting the nominated candidates for the Council who will spearhead the program for the next session. Since I am new to the program reading about everyone's election campaign and hearing about what they will do for the program was not giving me any clear motivation to vote for anyone specific. Though this wasn't anything super important, I still thought since I have a bit of time in my hand why not do something interesting about it.

This is my own impartial way of voting for those candidates.

How the voting works:

Each of the candidates was asked a specific number of questions and they all answered in a public forum for all of us to read and evaluate those answers. We are supposed to vote for the person whose answers resonates well with what we want from the program. You can read more about the process here.
The Q&A was put on public discourse for us to evaluate.

What I did:

Since I realized quite a few people I know are also running for candidacy and have answered questions there. I first collected all their Q&A text and then anonymized them (keeping a map for myself so that I know who to vote for at the end).
Then I analyzed all their answers to look for personality traits. The need for anonymization was so that I cannot let my personal knowledge of the candidates bias me towards the output I was getting at this stage.

The "voodoo" behind it

What I tried to achieve was a Frankenstein effect between what psychologists say and what modern NLP can do. An accepted theory of psychology is that language reflects the personality, thinking style and emotional states. Usage of certain words can provide clues to these (Fast & Funder, Yarkoni).
Also if we are able to find these markers from the text that will lead is to perceived facts like people who score high on excitement seeking are more likely to respond to queries than those who scored more as cautious (Mahmud et al). Which essentially for me translates if I have someone with high excitement marker, he is more likely to respond to various queries by others.

Armed with this I started scoring our Reps.
For this blogpost I will anonymize the names (so that nobody else gets influenced by this).

Rep 1: mal

Rep 2: vja
Rep 3: mli
Rep 4: mle
Rep 5: yan
Rep 6: pan

Casting my Vote:

Once I had a base matrix ready for everyone, I started looking into them to figure out what I want to see in my ideal candidate.
The interesting part if you look at their personality traits is that form the given text what I could find had a lot of similarity between them. So that is probably a good thing.
The first thing I started to look for is co-operation since the council will work a lot with reps. And almost everyone scores high on it. So I decided to take everyone who is more than 80% on it. I also someone who will take a risk and be adventurous, along with challenging authority. Both of the traits are prevalent among everyone. Since this is essentially a campaign pitch and how the system works, I knew Cautiousness will be high among everybody, so I did not look for it. However, I did look for sympathy, trust and openness to change. 
And after considering everyone (and my own subconscious mind nitpicking on other traits) I decide on Rep 1: mal

Rep 1 has 97% sympathy and trust, 82% co-operation, 98% adventurous,100% authority-challenge (oops) and 72% chance to embrace openness. The other traits are also comparable. -> 6 in voting
Next will be Rep5: yan with again high degree of co-operation, sympathy and trust. Followed by Rep4: mle, Rep3:mli,Rep2:vja and Rep6:pan

Once that is out of the way now we can delve into the more technical parts.

Shut up and just show me the code!

Before I point you to github.
What we wanted to do here is very similar to what these guys did on twitter . Essentially here we first tokenize the input text to develop a representation in an n-dimensional space. Then we use GLoVe to get the vector representation for the words in the input text. Then it uses bigfive and needs  to determine value characteristics. 

I am still cleaning up the code, but since it's almost 5:05 am here, I'll probably clean the code little later and remove all hard referencing. And then post the code and tweet it out maybe.

Disclaimer: This is in no way probably a good or even sane way to vote. Just something I came up with since I was clueless. Also probably it's horribly wrong to profile (or even try) somebody from their writing. So please do not take this as an ideal or even inspiring way.

With that out of the way. Do let me know what you think :)


Update: After almost 16 hours since this was first published. We now have our council members/winners. And I am super freaked out to say that somehow Rep1 won the election and Rep5 got the second highest vote (exactly how I cast my votes). Even though it's by pure coincidence it's curious to see others voters also went with a similar selection. I was careful enough to not divulge the names of this blogpost. Now I can though. So the names were constructed with the first letter of the first name and last two letter of last name concatinated.

And you can see the winners here (if you have access to reps portal)


Comments

Popular posts from this blog

Curious case of Cisco AnyConnect and WSL2

One thing Covid has taught me is the importance of VPN. Also one other thing COVID has taught me while I work from home  is that your Windows Machine can be brilliant  as long as you have WSL2 configured in it. So imagine my dismay when I realized I cannot access my University resources while being inside the University provided VPN client. Both of the institutions I have affiliation with, requires me to use VPN software which messes up WSL2 configuration (which of course I realized at 1:30 AM). Don't get me wrong, I have faced this multiple times last two years (when I was stuck in India), and mostly I have been lazy and bypassed the actual problem by side-stepping with my not-so-noble  alternatives, which mostly include one of the following: Connect to a physical machine exposed to the internet and do an ssh tunnel from there (not so reliable since this is my actual box sitting at lab desk, also not secure enough) Create a poor man's socks proxy in that same box to have...

My Google I/O 2024 Adventure: A GDE's Front-Row Seat to the Gemini Era

Hey tech enthusiasts! Rabimba Karanjai here, your friendly neighborhood Google Developer Expert (GDE), back from an exhilarating whirlwind tour of Google I/O 2024. Let me tell you, this wasn't just your average tech conference – it was an AI-infused extravaganza that left me utterly mind-blown! And you know what made it even sweeter? I had front-row seats, baby! Huge shoutout to the GDE program for this incredible opportunity. Feeling grateful and a tad spoiled, I must admit. 😉 Gemini: The AI Marvel That's Stealing the Show Now, let's dive into the star of the show: Gemini . This ain't your grandpa's AI model – it's the multimodal powerhouse that's set to redefine how we interact with technology. Imagine an AI that doesn't just understand text, but images, videos, code, and even your wacky doodles. Yep, that's Gemini for you! Google's been cooking up this AI masterpiece, and boy, did they deliver! The keynote demo had us all gawk...

MovieBuff: Dive Deeper into Movies with Generative AI

MovieBuff: Dive Deeper into Movies Before You Watch MovieBuff: Dive Deeper into Movies Before You Watch Have you ever spent two hours watching a movie only to be disappointed? MovieBuff is here to help! This Streamlit application leverages the power of Google's Generative AI, specifically the Gemini-Pro model, to provide you with detailed information about movies and TV series before you invest your precious time. Motivation Choosing a movie can be overwhelming. With countless options available, it's hard to know which ones are worth watching. MovieBuff aims to solve this problem by offering a quick and easy way to explore movies based on your interests. How it Works MovieBuff is incredibly user-friendly. You can either: Enter the movie title and year: Simply type the name of the movie you're interested in, and MovieBuff will fetch relevant information like plot summaries, directors, genres, themes, main conflicts, settings, character descriptions, tr...