All posts by Chris

Community Engagement Assignment

Locate an organization that is working on one or more of the issues highlighted in this class. Interview the people at this organization: What is the name of the group? What is its mission or goal? How does it carry out its work? What is your sense of the effectiveness of the group? Include a personal comment about your visit.
Write a short report of 4-5 thoughtful paragraphs about the organization.

Having lived in both Canada and Iraq, the organization that I have chosen is the Shaghaf team, working in partnership with Iraqi Al-Amal Association with funding received by the Norwegian Embassy of Amman. The two organizations are currently running a campaign of volunteers across Iraq to promote women’s rights and combat gender-based violence and domestic violence. I interviewed a woman named Shayan K., co-founder of Shaghaf team. We discussed an upcoming event they’re hosting to raise awareness about domestic violence in Kirkuk and to grow support for upcoming legislation that combats domestic violence.

As it stands right now, passing legislation to combat domestic violence has been challenging. The Iraqi parliament in 2019 and 2020 attempted to pass anti-domestic violence laws; however, the legislation was blocked due to the substantial presence of elected ultra-conservatives who oppose it. The members that blocked the legislation believe that perpetrators of domestic violence should not be punished by the state, including those who have committed gruesome acts of so-called “honour” killings. In fact, presently, the Iraqi penal code legalizes domestic violence through Article 41, granting men the power to punish their wives and children. Even more, (dis)honour killings are virtually legal under Article 128(I), which stipulates “honour crimes” to be mitigating circumstances for sentencing and punishment. Unfortunately, there are significant differences in East vs. West perceptions of human rights, with many Eastern religious conservatives attacking human rights advances as Western imperialism(HRW), arguing it is trampling local culture. Nonetheless, this argument and others put forward by opponents often water down to patriarchal beliefs that uphold an unfair system favouring men.

In my chat with Shayan, I learned she is working on a brochure for Shaghaf Team/Al-Amal. This brochure briefly outlines basic statistics concerning domestic violence and very modestly defines it. It provides a basic, cursory overview of the fundamentals of domestic violence; however, if you can read Arabic, you’ll notice that it is relatively sparse in details. There is a reason for this, for there is a real fear that local men may take opposition, leading to protest and potentially harming the chance of passing legislation to combat domestic violence. Shayan tells me that NGOs and rights activists walk a fine line in disseminating information while trying not to provoke backlash.

My sense of the effectiveness of the group is that there are tremendous roadblocks that make it extraordinarily challenging to change minds. Merely talking about gender-based violence issues like marital rape is extremely difficult due to the taboo nature of such topics compounded with many men feeling it is their religious right to perform such acts. These beliefs about domestic violence are normalized to such a scale that many local men and women struggle to comprehend even the basics of women’s rights. Sadly, men often feel it is their right to commit abuses, often with no comprehension that certain acts are abuse at all.

As I chatted with Shayan, she discussed how men often dictate a woman’s life. Many men often instruct their partners on what to wear, either directly or implicitly through coercive and manipulative language. Likewise, often a woman’s privacy is invaded, where even in younger relationships, men may randomly appear at their partner’s engagements to ensure their wife is where she said she would be. There is no understanding that these behaviours are psychologically abusive and harmful to women. Polygamy is also relatively common, and many men maintain multiple marriages, particularly in more conservative regions of the country. Women are frequently kept economically dependent on men through a lack of job opportunities, and socially enforced conservative gender roles that keep women in the home as caregivers. With that in mind, Shayan tells me that it is a struggle to obtain basic rights, as many men also do not want to lose their privilege to dictate the lives of their wives, but also, fear reprisal for abuses committed.

Shayan and I also discussed the major hurdle of having no shelters for women trying to escape domestic violence. The anti-domestic violence legislation of 2019 and 2020 would have compelled the government to build women’s shelters across the country. This is particularly important because families and police in Iraq often take a conciliatory approach, where they try to negotiate a rejoining of partners rather than helping women escape violence. Unfortunately, such an approach places women directly back into harm’s way of violent and abusive partners. Thus, until such legislation passes, women hoping to escape domestic violence lack the means to go anywhere safe. For Shayan, she noted this is the sad reality, that they may be advising women about domestic violence, but at the same time, cannot provide immediate relief for women currently facing these problems.

HRW. (2020, October 28). Iraq: Urgent need for domestic violence law. Human Rights Watch. Retrieved February 23, 2022, from

Thought Question: Structural Violence, HIV/AIDS

Dr. Gene Richardson introduced the idea of structural violence in this unit. He also speaks about how reliance on medical technology can undermine the introduction of social interventions that may be relevant for preventing or treating HIV/AIDS.

Please describe the idea of structural violence.

Next, describe one or two social (i.e. non-pharmaceutical) interventions that you think could be effective in preventing or treating diseases such as HIV/AIDS or other infectious diseases.

Write 4-5 thoughtful paragraphs about possible interventions and the role they could play in improving public health. Be sure to save a copy of your writing on your computer so you can access it.

As discussed by Dr. Richardson, structural violence comes from institutionalized racism, gender inequality, lack of access to clean water, and lack of access to housing. To expand on this, it is how socioeconomic and political systems may endanger the lives of a minority group, increasing the risk of morbidity and mortality (CHER). It perpetuates inequality in health and well-being through social forces that harm a minority group.

In the context of women’s rights, often structural violence is woven into the fabric of society where institutions at all levels may treat women differently than men. We see this with lack of access to healthcare, education, and prioritizing the needs of male family members over women in many impoverished nations.

Regarding HIV/AIDS, social intervention is an effective method for preventing and treating the disease. Data shows that when young girls are educated about the disease, taught about prevention, and provided with instruction on contraception, then rate of disease lowers. Likewise, when women are empowered through education that informs them of their rights, particularly regarding bodily autonomy, the rate of HIV/AIDS is reduced as women realize it is their right to decide and negotiate sexual encounters with others.

Furthermore, raising the economic outlook for women, once again through education that empowers girls and women, is critical. Through appropriate education, girls are empowered with skills to enter the workforce that may provide opportunities for economic independence. In doing so, young women move away from relying on family and marriage, where men often become the sole source of income and forces women into dependency.

When considering marriage is the primary risk factor for obtaining HIV/AIDS in many developing nations (Murray), economic independence becomes critical. Often young women marry older men out of necessity to eat and survive, however, commonly men will take part in unsafe sexual behaviour with others, in-turn, infecting their partner (Murray). Therefore, women who are economically empowered are more capable of providing for themselves, and better able to negotiate relationships and marriage, breaking out of the patriarchal cycle of economic dependency.  


CHER – What is structural violence? Center For Health Equity Research Chicago. n.d. 11 February 2022. <>.

Murray, A. F. (2013). Adolescence: Change and Vulnerability. In From outrage to courage: The unjust and unhealthy situation of women in poorer countries and what they are doing about it (pp. 75–101). essay, Common Courage Press.

Thought Question on Female Genital Mutilation


Consider the different terminologies used for the cutting of female genitalia, as discussed in the text, “From Outrage to Courage.” Discuss the implications of using these different terminologies:

  • Female Genital Cutting
  • Female Genital Mutilation
  • Female Circumcision

Based on the experience in Sierra Leone and other countries, explain how and why you believe different cultural practices are maintained in a community. Is there any possibility of shifting cultural practices?

Please write 4-5 thoughtful paragraphs. Be sure to save a copy of your writing on your computer so you can access it.


The implications of these terminologies directly affect how someone interprets the meaning of the procedure, whether it is linguistically negative, positive, or neutral. The term Female Genital Mutilation sets a tone that such a practice is harmful with debilitating consequences, and this explicitly indicates that such a practice is injurious and destructive. By comparison, the terms Female Genital Cutting and Female Circumcision imply a medicalization of the procedure, and such terminology may sound neutral or even provide a positive connotation.

Furthermore, Female Circumcision, as a term, creates a false equivalence by implying the procedure is comparable to male circumcision. While both involve cutting of genitalia, male circumcision does not impair sexual function. In contrast, female circumcision involves partial or total removal of the clitoris, a process termed clitoridectomy, and this procedure commonly carries debilitating outcomes for girls and women (Murray). It cannot be understated how damaging FGM may be; a few of many immediate complications may include hemorrhage, infection, urinary problems, shock, and death, as often the practice is performed in unsanitary conditions by non-medical professionals. Long-term complications often include painful urination, menstrual problems, sexual problems, increased risk during childbirth, depression, anxiety, PTSD, and need for later surgeries, among other severe and life-altering complications (WHO). There is no doubt that FGM is highly destructive and damaging.

Moving to answer the second part of the question: in the context of Sierra Leone, there is an argument by some groups that Western imperial nations are invoking cultural hegemony upon developing nations. This argument would take a cultural relativist position insofar as believing no culture is superior to another (Danial). They assert there are no universal moral principles and that moral views are relative to the individual and society of a particular culture (2). Conversely, the UN, through various conventions, including UDHR and CEDAW, takes a global feminist or universalist approach that asserts that all humans are inextricably linked within a global community and that human rights are universal (3).

With that in mind, proponents of the practice have argued that due to local cultures linking a woman’s femininity to having undergone FGM, girls and women who do not complete this procedure may be alienated from their community and disadvantaged. Nonetheless, this does not remove from the equation that the practice is harmful and dangerous and may leave women unable to participate in the community if they are injured or die during the procedure. In addition, there is a strong argument that cultural relativism is fundamentally flawed as a philosophical principle.

Dominic Wilkinson, Director of Medical Ethics at the University of Oxford, succinctly addresses cultural relativists. He iterates over James Rachel’s assertion against cultural relativism, where Rachel demonstrates that the approach is flawed and the conclusions do not follow the premises. Citing examples, he shows that cultural relativism would justify the holocaust in Nazi Germany. Societies make moral progress over time, such as banning slavery, which must be considered. Furthermore, he examines how much weight should be given to the cultural value of a particular practice and suggests that no weight to cultural value should be considered in ethical debates. Culture is not immutable – it is possible to change coming-of-age rituals so that they do not harm girls or women.

Finally, in the video discussion with Isha Daramy regarding FGM in Sierre Leone and the so-called “secret societies,” she suggests a solution. She believes the practise would die out naturally when girls and women are educated on the consequences of FGM. She proposes a middle ground, where neither condoning nor condemning the practice, but rather making available the correct information about its implications and history may lead to a decline and FGM (Baer and Brysk). Given that many women and men are not aware of its impact, compounded with a fundamental misconception about its historical associations, it is argued that education may be the best tool for ending this harmful practice in countries where the culture has resisted change. While this argument has strong merits, it needs to be considered that +4 million girls undergo FGM each year (UNICEF); therefore, many do not have the luxury of waiting for it to “naturally” die out as a cultural practice. We must, instead, be forever proactive.


Ameyaw, Edward Kwabena , et al. “Female genital mutilation/cutting in Sierra Leone: are educated women intending to circumcise their daughters?” BMC International Health and Human Rights (2020).

Baer, Madeline and Alison Brysk. “New rights for private wrongs: Female genital mutilation and global framing dialogues.” The International Struggle for New Human Rights (2010): 93-107.

Danial, Sandra. “Cultural Relativism vs. Universalism: Female Genital Mutilation, Pragmatic Remedies.” Prandium – The Journal of Historical Studies (2013): 1-10. <>.

Daramy, Isha. Isha Daramy on FGM in Sierra Leone. 2013. Digital. Murray, Anne Firth. “Chapter 3 – Childhood: the Hope of Education and the Persistence of Discrimination.” Murray, Anne Firth. Outrage to Courage. 2013. 37-72.

UNICEF. “Female genital mutilation <>

WHO. “Female genital mutilation key facts” (21 Jan 2022) <>

Wilkinson, Dominic. “Cultural relativism and female genital mutilation” (7 Feb 2014) <>

Visa on Arrival and renewal guide for tourists in Iraqi-Kurdistan

View from the south-west side of Mount Korek, October 2021.

This past autumn I spent three wonderful months in the beautiful region of Iraqi-Kurdistan. It changed my life forever and I hope to return as soon as possible. The people of the region are the friendliest group I’ve ever met, the mountainous landscapes are gorgeous, and I thoroughly enjoyed visiting some of the oldest historical sites in the world. Now that I’ve returned home, I want to document some of my experiences and publish, what I think, will be a series of helpful guides for others who wish to visit Kurdistan.

A quick note – I wrote this article in December, 2021. It should be accurate for now, however, things within the KRG change frequently – so keep that in mind.

Obtaining Visa on Arrival in Erbil:

Many Western countries may obtain Visa on Arrival (VOA) in Iraqi-Kurdistan (list of countries here) and up to two tourist visa renewals for a total of 90 days (30 day visa-on-arrival , 2 x 30 day visa extensions). If your country is on the list, the VOA process is simple – upon arrival at Erbil International Airport, you will make your way to the visa and customs desk. There, you’ll present your passport and pay a $75 USD visa fee. They’ll take your photo, complete some paperwork, and then stamp your passport. Make sure you have money ready ahead of time because there won’t be an ATM available to you. Likewise, have extra cash for the airport taxi before you arrive. Iraqi-Kurdistan is not a western country, they operate primarily with cash – finding an ATM can be difficult if you don’t know where to look (I’ll be making a post about this soon).

Tip: Some airlines have outdated documentation that isn’t wholly accurate on Iraqi-Kurdistan. Both in Toronto and Dubai, I had to patiently explain to Emirates that the KRG provides VOA for Canadians. I would recommend you print out this list here and highlight your country, so you can present it to the flight attendant if they question you. To be honest, the hardest part about my journey was convincing the Emirates attendant at the Toronto check-in desk that I’d be granted VOA in Erbil.

Renewing your tourist visa:

If you want to stay longer than thirty days on a tourist visa, you’ll require a visa extension from the KRG Residency office. Many people opt to pay a lawyer to handle this, which is likely easier; however, finding a real lawyer and not someone trying to scam you on Facebook can be difficult if you don’t have any local connections. If you want to avoid paying lawyer fees, you may renew your tourist visa on your own by following the guide I’ve prepared below. I should note that paying a lawyer likely won’t cost you too much, so it may be easier to go that route.

In addition, if you don’t speak Sorani or Arabic, you’re going to want to follow these instructions closely otherwise you’ll end up lost and frustrated. It took me three attempts to finally have my visa renewed, partially because of misinformation provided by people trying to be helpful, but also because there are very few resources available explaining this process and I had to use the trial-and-error method to figure it out.

How early may a tourist visa be extended?

Based on my experience, the KRG officers would only extend my visa on the day it expired with the only exception being if the expiry date fell on a weekend. I tried twice to renew in advance, and both times they turned me away and told me to come back on the day of expiry. This leaves things very tight, and if you go beyond the date on your visa then you may be hit with a fine. If the expiry date is on the weekend, they will renew it on the last day of the week. Weekends in Iraq are Friday and Saturday, NOT Saturday and Sunday.

Where are visas extended?

The KRG Residency office is located here on Abdulkaleq Sarsam Street, near Life Towers . Right now, Google Maps will give you the incorrect address if you search it and you’ll end up at the wrong building. Make sure you arrive by 8:30am, and once they open, make your way into the security station (the second one past the gate). You’ll have to leave all electronics with security, including your phone. In exchange, they’ll give you a tag with a number and you’ll use this to collect your electronics when you leave.

This satellite image is a little old, the parking lot is now paved – however, you get the jist of where to go. This is accurate as of December, 2021.

Important note: If you arrive before they open but during a busy time of year, you may have to line up outside first, and they will separate you by gender. I highly recommend you arrive early, or you may be turned away. When I was there in September 2021, there were at least a hundred people waiting to get in. It was mostly Iranian and Turkish citizens renewing their visas (Salam salam!).

Finding your way through the KRG Residency building:

Continuing, after you make it past security, walk towards the main building. Upon entering, head up the stairs to the second floor and once at the second floor, turn right and walk down to the end of the hallway. You’re looking for room 12, located at the very end of the corridor. When you enter room 12, approach the first desk directly in front (sometimes it has a #2 on it) and show your passport visa page. You’ll be given a form to fill out with your name, address, and contact number of someone local. You can write your hotel telephone number.

Tip: Before you arrive at the residency office, write down a local contact number and address on a piece of paper and keep it in your pocket. Also, bring a pen (you’ll need it). You won’t have your phone with you since it is held by security while in the residency building, so you can instead refer to your pocket note when filling out the visa renewal form.

Payment for visa extension:

After filling out the form, you’ll return it to the same desk, and the desk agent will fill out the bottom with the visa fee price. At the time of writing this, the price is 110,000 IQD ($75 USD). I’d recommend bringing dinars to pay, and bring extra in case the price has increased. You’ll then have to head down one floor to room 10. There, you’ll pay the fee, they’ll stamp your renewal form to indicate payment was completed, and then you may return to the second-floor, room 12.

Important note if you visit during the tourist season: If it’s a busy time of year for visa renewals, they may have a desk within room 12 where you will pay the visa fee. If that’s the case, then you won’t have to go down to room 10. When I renewed in October 2021, they added a desk on the left by the entry to room 12. However, when I renewed again in November 2021, during off-season, this desk was removed and I had to pay on the first floor (not ground floor), room 10.

Visa extension processing:

After payment (and returning back to room 12 if you had to leave), drop off the form along with your passport at desk #4 (the one in the corner on the right). Within 10 to 20 minutes, the agent will likely have processed your passport and then you’ll bring it to the first office (on the left side of the room). Inside you’ll find a KRG officer who will stamp your passport and write a date on it.

Once this is complete, bring your passport to the next room attached to room 12 on the right. In this second room are female KRG agents along with a higher ranking KRG officer sitting by the entrance. In there, they’ll give your documents a final lookover and press some buttons on a computer. After that, you’re ready to go, and they’ll say “Welcome to Kurdistan” – even if it’s your second visa extension. 🙂

Tilemap bitmasking

As a game developer, bitmasks are useful when it comes to representing a set of data with single digit in both 3d and 2d games. An illustration of this in use in three dimensions can be found within the well known voxel game minecraft. The current status of a block may be represented with a bitmask value to indicate whether it is open or closed when considering blocks adjacent to it. For a given voxel if one (or however many) side(s) is open but surrounding sides closed, perhaps you wish to show a grass texture or only render one side – that voxel would have a bitmask value based on what surrounds it and we can use that to determine how it should render.  If the voxel is completely surrounded, it has a different bitmask value and perhaps you wish not to even render voxels with a bitmask value that indicates it should not be visible. In this usage scenario, what this bitmask value tells you is whether the voxels on each side are open or closed – and this is all saved with a single bit. In other words, through a single bit you are storing a set of data that would otherwise require more memory!

In a 2d game this has all sorts of usage scenario’s too. For example, when it comes to tilemaps and placing tiles there is a huge benefit to storing data represented as a bitmask value. For example, a fence – having a single fence tile may have a stand alone sprite to display, however, placing two fence pieces beside each other may require two different tiles drawn to line up. This means that an algorithm will have to determine the surrounding sides to decide which fence piece should be rendered (i.e. an end piece, middle piece, L shape, etc). We can use a simple calculation to determine this for a 2d tilemap:

With this simple equation, we will then know which tile to display. Below you can see it in action in my game Attack of the Dead – I’ve replaced the wall tiles with some dummy tiles to show the bitmask value for illustration. The variables left, down, right, and up are simple boolean values to indicate whether there is a tile at these positions surrounding the tile you are calculating for.

The textures to display the tile may be named according to the bitmask value for easy organization, or alternatively, you may assign a tile to display based on the bitmask value of that tile and organize your atlas based on the bitmask value.

If you need a quick 4 tile bitmask chart, I’ve thrown one together on JSFiddle below. You can easily modify this for using 8 tiles or whatever suits your needs.

RijndaelManaged, AesManaged, and AesCryptoServiceProvider – SimpleAccountLocker App

I recently wanted to write a small app to become more familiar with .NET encryption/decryption libraries. As a result, I created a quick little account locker app which stores manually entered account data locally. Sure, there are great services available which do this already and automate the process, i.e. last pass, for saving passwords securely across multiple devices – however, SimpleAccountLocker is an extremely minimal app which provides the basis to store data locally if you do not wish to save off-site; likewise, it was a fun little way to play with some security libraries.

You can view the app on my GitHub:

To begin, .NET offers many different encryption classes, however, for this app’s purpose, the main AES classes I tested out include:

– RijndaelManaged
– AesManaged
– AesCryptoServiceProvider

All three of these are based on AES – a specification for encryption created by the US National Institute of Standards and Technology (NIST) in 2001. This method of encryption is symmetric and allows data to be encrypted and later decrypted with a key and initialization vector. This is helpful when you have data you wish to store securely but have a later need to decrypt and read it – for example, an instant message. Nonetheless, within the aforementioned classes are a few differences. For instance, RijndaelManaged allows you to set a different block size whereas AesManaged maintains the same fixed blocksize of 128 so-as not to compromise security. However, AesManaged is actually based on RijndaelManaged.

In terms of compliance, AesCryptoServiceProvider uses a library which is FIPS compliant1 whereas RijndaelManaged and AesManaged do not.  If you are not familiar with FIPS, you might be wondering – what is it? The Federal Information Processing Standard is a set of rules which sets the requirements on approving cryptographic modules. Although this is a US government standard, here in Canada the Communications Security Establishment (CSE) uses FIPS 140-1 and 2 as part of its certification2.

In code, all three of these can be used to encrypt data with an ICryptoTransform transformation, CryptoStream decorator, and using a key and Initialization Vector (IV). Below is a  comparison of AesCryptoServiceProvider vs RijndaelManaged within SimpleAccountLocker.


Boids – 2D Unity Approach

Boid's model was created in 1986 by Craig Reynolds to simulate the behaviour of birds as they group together in a flock. The model has three key methods to mimic real life bird flock behaviour. These methods include: a) Maintaining a heading based on the averaged direction of surrounding boids. b) Maintaining a separation so boids do not overlap. c) The boids must maintain a cohesiveness with the flock by steering towards the centre position of surrounding flockmates. The behaviour also operates similar to schools of fish or other wildlife. As a game developer, this can be useful when implementing enemy mob behaviour and in my case, I used this approach to simulate flocks of zombies in 2d space as seen in the mp4 above. The concept isn't too difficult, below I've posted two implementations. I've implemented it using rigidbody2d but I've also included the code for using it without rigidbody force.
  1. Boid Class for use with Rigidbody2D
  1. Boid Class for use with kinematic

Simple Unity Android VR controller setup for Xbox 360 Controllers

It is no longer required to download the Android VR SDK to build a mobile VR game or application for Unity. Instead, you can set your game up in the Unity build settings and make use of UnityEngine.VR.

Creating a simple player controller may be a bit tricky and so I hope this post will save some developers a head ache when it comes to moving a player around with a gamepad in Android based VR projects.

In this setup, I’m using the following:
1 x Android 6.0 Phone
1 x XBOX 360 Wired USB Controller (but you can use any Android VR controller)
1 x Generic Android VR Headset

To begin, it’s important to understand that you have to create a parent and child arrangement of GameObject’s to control a VR player. Whereas generally a simple FPS controller might be arranged with a Camera as a child to a Capsule, with Unity VR you’ll have to child the Camera to a Camera parent Transform and that Camera parent will be a child to your main player. Even more, the Body of the player will have to be a separate child Transform of the parenting Main Player GameObject if your player has a body. Why? This is done to control the movement of the Camera since moving the Camera Transform directly in VR seems to result in odd behaviour/non-functioning movement at the time of this post.

Here is how your basic Main Player hierarchy should look:

Step 2:
Attach a camera to the Camera GameObject.

Step 3:
In your input settings, add two new axes. For the two different Android phones I tested, the Xbox 360 controller I had seemed to map to these axis:

Step 4:

Create a new script and call it SimpleVRController.cs Use the code below then assign the proper transforms in the inspector.

Unity 2D Target Scanner

Target scanners are essential for any game where you have an enemy mob that actively looks for prey. One way to scan for targets is to cast a circular physics ray based on the radius area you would like to scan.

Below is a quick and helpful intro I’ve put together for anyone who needs a quick and easy target scanner to notify another script via event subscription. It searches for targets based on the tags set through the Unity Inspector.

How to use from another script:


Final notes:

This is a simple solution if you only require a few dozen scanners running at a time or less. If you have many more running concurrently then using tags may be slower and I would recommend scanning based on Unity Layers. You can set which layer to RayCast2D on or alternatively, you can set in Project Settings -> Physics 2D and set which physics layers interact with one another.