aadil

  • Attending a public hearing for the Environmental Impact Assessment of the Karachi Circular Railway. The KCR project is implicated in large-scale demolitions and forced displacement, primarily impacting informal settlements bordering the railway tracks.

    For context, read more about the stories of KCR affectees here.



    You can read the (inaccessibly long) EIA report below:

    To contextualize the report, you can pair it with this article.

  • Listening to Radio Alhara – The Sonic Liberation Front

    “The Sonic Liberation Front – الجبهة الصوتية is arts programming committed to express protest against the occupation’s state, stand up for Palestinian’s lives, dignity and liberation.”

  • Today I went with some friends to the Gujjar Nala for a door-to-door survey activity. Our goal was to interview resident and document the legal status and condition of the homes before their imminent demolition.

    The operation is being carried out in response to catastrophic flooding that took place in August 2020. The government believes the flooding was caused by informal settlements “encroaching” on Karachi’s storm water drains.



    Children jumping on a trampoline in front of the wreckage of their homes

    An elderly Gujjar nala resident questions where he is supposed to relocate to in his old age, and asks why he and his family are being displaced after he has faithfully paid his bills for years?

    For anyone who’s seen the nala in person, it’s immediately clear that the cause of the flooding is the garbage choking it and not the homes adjacent to it.
  • Practicing p5.js

    JavaScript
    function setup() {
      createCanvas(650, 400);
      frameRate(8); // slows down the animation to reduce eye strain
    }
    
    
    function draw() {
      background(0);
      for (let x = 0; x <= width; x+= 50) { 
        for (y = 0; y <= height; y+=50) {
          fill(random(255));
          ellipse(x, y, 25, 25);
        }
      }
    }
  • Continuing to practice p5.js

    JavaScript
    let dot = {
      x: 100,
      y: 50
    }
    
    let col = {
      r: 237,
      g: 34,
      b: 93
    } 
    
    function setup() {
      createCanvas(650, 400);
      background(250)
    }
    
    function draw() {
      noStroke();
      dot.x = random(0, width);
      dot.y = random(0, height)
      fill(col.r, col.g, col.b, 20);
      ellipse(dot.x, dot.y, 24, 24);
    }
  • Learning how to make generative art with p5.js

    JavaScript
    function setup() {
      createCanvas(400, 400);
    }
    
    function draw() {
      background(0, 0, 50);
    
      fill(200, 120, 100);
      noStroke();
      rect(20, 25, 200, 200);
     
      stroke(255, 255, 255, 200);
      strokeWeight(5)
      line(0, 0, 360, 400)
    }
  • Made a qutebrowser inspired theme for Firefox with CSS

  • Doodling at 4AM with the Solarpunk Magic Computer Club 👾