I'm Alex Kearney, a PhD student studying Computer Science at the University of Alberta. I focus on Artificial Intelligence and Epistemology.





2019 is a wrap Here's what I did last year.

This was a busy academic year. I co-organised a workshop. I took a big leap in my work and submitted some philosophically oriented work to RLDM [1,2], one of which was chosen for a spotlight talk. I received a fellowship from Borealis AI for 2018-2019. I contributed to a few other projects, including a twitterbot for combating online harassment and an exploration of my meta-learning method in a continual learning robotics setting. I ended up presenting.

Most importantly, this year I passed my candidacy exam. The only thing separating me from completing my PhD is my thesis.

I did some career development this year. As I chart out the end of grad-school, I've started queuing up internships to try a few roles out. Oddly, all of the work I've done is research-oriented. I've never had an industrial job before.

I managed to snag a ticket to Grace Hopper Conference. Last year I spent most of GHC managing the group of. While rewarding, I didn't really get to focus on experiencing the conference myself. This year, I got to meet a lot more people, and have a much better idea of how I could fit into different organisations.

I've put off internships mostly because of the interview process. Getting prepped for technical interviews and taking the time to actually sit them means re-directing a significant amount of energy away from the research and projects I'm working on. I can't do everything all the time. I finally bit the bullet this year and did some interviews. Although a small thing, it's a big milestone for me. It's not as scary as I made it out to be. It even paid off: I'm going to be working at Twitter for a few months in the new year and have more interviews queued up.

I worked on more diverse creative projects this year. I tackled projects in some new mediums and some old mediums. I used to be a very active potter in high-school and one of my greatest regrets is not keeping it up. Pottery is one of those meditative arts that takes all of your focus and attention: a good diversion during the crush of grad-school life. This year, Maren and Anna invited me to come join their pottery class. Seven years without practice, but I've still got it.

I tried new crafts including natural dying and embroidery and knitting socks. In the final hours of 2019, I even managed to help Kat spin up a knitting machine. Hopefully the skills from these humble projects will prove useful in 2020.

I got a lot of travelling done this year. There was hardly a month where I wasn't on the move. Some of my trips were big productions, years in the making. I went to Japan for three weeks after my candidacy exam. This was my first trip to Asia and the biggest trip since I went down the Danube in 2016.

Some of my trips were spontaneous. Dylan and Mikayla invited me sea-kayaking around the Johnston Strait, where we saw orcas and waded through the mist.

Most of my trips were tacked onto work-related trips where possible. The workshop in the Barbados had opportunities for me to go diving for the first time in four years. I went to RLDM and spent time meeting up with friends and enjoying the art galleries. I eeked out a chance to see the Tate modern for the first time in ten years during a layover. I presented some of my work in porto and had a chance to explore the city while visiting with a research group. I take the chance to explore where I can get it.

I really improved my photography this year---especially travel photography. I spent a lot more time carrying around a camera, and it shows. Even just slipping my little point-and-shoot in my pocket has provided a lot of opportunities. It helps that Dylan is patient and encouraging: sometimes even joining me to freeze late at night on a quest to get a good shot of the stars.

I picked up development on my indieblog. I started the year off trying to add more social protocols and interface better with federated sites like mastodon. After wrestling with web-specs and confirming, yes, I was implementing them as specified I gave up. I learned a lesson from this: working on more protocols is fun programmings sake. Adding webfingers and trying to doesn't make, nor does it really change the accessibility of my blog.

After learning this lesson, I spent the rest of the year making minor chages to encourage better usability. The bulk of this turned out to be small UI changes to make it more comfortable to post, but I did also add some smaller features.

  1. This year involved a lot travel, and I added a wysiwyg editor to quickly chart out my trips and resolve placenames to geo coordinates.

  2. I wanted to spend more time on academic posts, so I added mathjax for mathematical type-setting on my blog.

  3. I have an impression video is the future, so I added a dead-easy manual way to add videos to my site.

It's these small, quick changes that have proven to be the most useful, but it's had an unexpected consequence...

I didn't do a lot of programming this year and it's a shame. One of the greatest joys in (my) life is programming. There's a clear---and positive---reason why I've done less programming this year: my indieblog is stable. Much of the external programming projects were small incremental additions to my blog. There's not much more I feel like adding. I have all the bells and whistles I need to sustain myself for the time being (although there's always maintenance and refactoring to do). Most of the changes I would want to make would require lots of effort. I started this project midway through university. There's a lot of cruft, cowboy code, and naivete to clear out. I don't have the gumption to do it.

I think it's time for a new big project.


2019 is a wrap Here's what I did last year.

This was a busy academic year. I co-organised a workshop. I took a big leap in my work and submitted some philosophically oriented work to RLDM [1,2], one of which was chosen for a spotlight talk. I received a fellowship from Borealis AI for 2018-2019. I contributed to a few other projects, including a twitterbot for combating online harassment and an exploration of my meta-learning method in a continual learning robotics setting. I ended up presenting.

Most importantly, this year I passed my candidacy exam. The only thing separating me from completing my PhD is my thesis.

I did some career development this year. As I chart out the end of grad-school, I've started queuing up internships to try a few roles out. Oddly, all of the work I've done is research-oriented. I've never had an industrial job before.

I managed to snag a ticket to Grace Hopper Conference. Last year I spent most of GHC managing the group of. While rewarding, I didn't really get to focus on experiencing the conference myself. This year, I got to meet a lot more people, and have a much better idea of how I could fit into different organisations.

I've put off internships mostly because of the interview process. Getting prepped for technical interviews and taking the time to actually sit them means re-directing a significant amount of energy away from the research and projects I'm working on. I can't do everything all the time. I finally bit the bullet this year and did some interviews. Although a small thing, it's a big milestone for me. It's not as scary as I made it out to be. It even paid off: I'm going to be working at Twitter for a few months in the new year and have more interviews queued up.

I worked on more diverse creative projects this year. I tackled projects in some new mediums and some old mediums. I used to be a very active potter in high-school and one of my greatest regrets is not keeping it up. Pottery is one of those meditative arts that takes all of your focus and attention: a good diversion during the crush of grad-school life. This year, Maren and Anna invited me to come join their pottery class. Seven years without practice, but I've still got it.

I tried new crafts including natural dying and embroidery and knitting socks. In the final hours of 2019, I even managed to help Kat spin up a knitting machine. Hopefully the skills from these humble projects will prove useful in 2020.

I got a lot of travelling done this year. There was hardly a month where I wasn't on the move. Some of my trips were big productions, years in the making. I went to Japan for three weeks after my candidacy exam. This was my first trip to Asia and the biggest trip since I went down the Danube in 2016.

Some of my trips were spontaneous. Dylan and Mikayla invited me sea-kayaking around the Johnston Strait, where we saw orcas and waded through the mist.

Most of my trips were tacked onto work-related trips where possible. The workshop in the Barbados had opportunities for me to go diving for the first time in four years. I went to RLDM and spent time meeting up with friends and enjoying the art galleries. I eeked out a chance to see the Tate modern for the first time in ten years during a layover. I presented some of my work in porto and had a chance to explore the city while visiting with a research group. I take the chance to explore where I can get it.

I really improved my photography this year---especially travel photography. I spent a lot more time carrying around a camera, and it shows. Even just slipping my little point-and-shoot in my pocket has provided a lot of opportunities. It helps that Dylan is patient and encouraging: sometimes even joining me to freeze late at night on a quest to get a good shot of the stars.

I picked up development on my indieblog. I started the year off trying to add more social protocols and interface better with federated sites like mastodon. After wrestling with web-specs and confirming, yes, I was implementing them as specified I gave up. I learned a lesson from this: working on more protocols is fun programmings sake. Adding webfingers and trying to doesn't make, nor does it really change the accessibility of my blog.

After learning this lesson, I spent the rest of the year making minor chages to encourage better usability. The bulk of this turned out to be small UI changes to make it more comfortable to post, but I did also add some smaller features.

  1. This year involved a lot travel, and I added a wysiwyg editor to quickly chart out my trips and resolve placenames to geo coordinates.

  2. I wanted to spend more time on academic posts, so I added mathjax for mathematical type-setting on my blog.

  3. I have an impression video is the future, so I added a dead-easy manual way to add videos to my site.

It's these small, quick changes that have proven to be the most useful, but it's had an unexpected consequence...

I didn't do a lot of programming this year and it's a shame. One of the greatest joys in (my) life is programming. There's a clear---and positive---reason why I've done less programming this year: my indieblog is stable. Much of the external programming projects were small incremental additions to my blog. There's not much more I feel like adding. I have all the bells and whistles I need to sustain myself for the time being (although there's always maintenance and refactoring to do). Most of the changes I would want to make would require lots of effort. I started this project midway through university. There's a lot of cruft, cowboy code, and naivete to clear out. I don't have the gumption to do it.

I think it's time for a new big project.


Recently, I was invited to give a talk at a philosophy workshop co-located with one of the conferences on interdisciplinary science in Porto. I spent close to two weeks in town. While I was mostly focused on work, I did have a chance to dip out and explore the city. Here's my thoughts after walking around town. Here's a list of some of the places that stood out:

My Favourite Places to Visit in Porto:

Serralves is a contemporary art museum and one of the best galleries I've ever visited. The curation is fantastic; it gives visitors enough context to understand what the artist and the gallery are trying to communicate, without hand-holding the guests. Even if you're not a fan of modern art, Serralves is worth visiting: there's something for everyone.

The gardens surrounding the gallery are lush, and marked with several installations. In the center of the gardens is a fantastic example of art deco architecture: a house with a fountain leading from a cliff up to the main house.

Centro Portugues de Fotografia isn't a place highlighted by travel guides. It's close to all the tourist hot-spots, but receives much less attention.

It's worth a visit.

The centre for photography is a free museum located in a repurposed prison dating back to 1582. They didn't change much. The inner courtyard is a small square with iron bars for windows. The entrance to many exhibits is through heavy doors and bars.

Not all of the exhibits were worth writing home about, but several were exceptional. locating the gallery in a historic jailhouse gives it quirky charm. On the whole, it's a well curated gem close to where most people will be anyways. What's to lose by stopping by?

The Waterfront in Porto is a great place to wander and explore the city. There's an abundance of colourful buildings and neat narrow streets to explore. If you're willing to step off the tourist track, good, cheap food is abundant.

There's a number of wine houses along the shore of the river: a great place to grab a drink while watching the sun set flanked by Porto's iconic bridges.

A great way to get to the waterfront is to walk behind the Center for Photography to a look-out point of the river. From there, you can take steps that carve into the side of the hill down narrow streets that are decorated with the traditional ceramic tiles found in porto and a smattering of street art.

My Favourite Cafes in Porto

Epoca Porto is a great place for brunch. I had indescribably great eggs on sodabread toast. What was in them? I don't know.

early is a little cafe that seems to be built into an old bank. If you look into the back room, there's an old vault door that's mirrored on the inside. Dylan and I grabbed a bunch of plates to share as nibblies. Their roast cauliflower is the best I've had.

My Favourite Restaurants in Porto

O Calcua is a nice little place close to the centre of town. A group of us went here after the conference I attended, and it was memorably tasty---served family style.

O Comercial is a treasure hidden away in Palacio da Bolsa: a historic stock exchange in the center of town. There's only a handful of tables, so it's a quiet little getaway.

The Overrated

Taylor's Port is the oldest port firm, but it's not worth the trek. If you're interested in boozy drinks, chances are you're probably familiar with winery tours, or have at some point wandered through a distillery. The joy of these tours is getting to see where your favourite libations are made: getting to walk through the process.

You'd think that port--a fortified wine--would be the best of both worlds. Unfortunately, it's little more than a walking tour through one of the historic storehouses. Save yourself the time and drink port at any number of other places in town.

Livraria Lello is a breathtakingly beautiful bookstore. If you are at all interested in visiting, make sure you're one of the first 20 people through the door at the beginning of the day. At any other point in time, it is unbearably packed. It can take two or three minutes to descend the stairs as you weave through all the visitors taking selfies.

While the craftsmanship is excellent, it's near impossible to enjoy when peering through the crowds. It hardly seems safe; I can't imagine how deadly a fire would be with the way they pack tourists in.


I went to another workshop at Fern's school of craft! Ash Alberg from the pembina fiber-shed taught to courses focused on using natural materials to dye and print on fabric.

The first course was on eco-printing. Unlike dying, eco-printing is creating a surface print of some source materials--typically plants--on a target material. It's like using a printing press, but involves a chemical transfer between plants and some protein or cellulose based material. For this course, we worked with cotton tea-towels and silk scarves, however, you can print on all sorts of materials, including wood, wool, and leather.

This post is a collection of my notes from the class.

Before You Print: Scouring and Mordanting

Before you can begin dying or printing, the material must be prepared. Oils and debris accumulate on fabrics. These oils can be on both new fabric as result of initial processing of the materials, or on second-hand materials from use. It's important to remove the oils, as they create a resist--- a section in the fabric where dyes and prints cannot transfer. We remove the oils by scouring the material.

Ash mentioned two detergents for scouring:

  1. Synthrapol (Cotton, Silk)
  2. Orvus Paste (wool)

For textiles, it's best to throw the material in the wash on the cycle you expect to use to clean the end-product.

Once the materials have been scoured, we pre-mordant them. A mordant is a substance used to cure and fix dye or stain to a textile. For cellulose-based materials we use sources of tannins as our pre-mordant; for protein-based materials we use metal-ion based mordants.

Tannins can be found in rhubarb leaves; however, rhubarb leaves are toxic. If you're extracting tannins from rhubarb, make sure your workspace is well ventilated!

To pre-mordant, we weigh an appropriate amount of mordant based on the weight of the material we are treating, place it in a pot with our material on low heat, and leave it for an hour or two.

Alum is one of the most common pre-mordant to use with protein-based materials, and it's safe to use. You should use 15-20% of the fibre weight in alum for mordant.

Printing With Plants

After your materials as scoured and mordanted, it's time to print!

At the workshop there were a few bouquets for us to dismember and scatter onto our projects. One thing to remember when eco-printing: just because a plant has a particular colour, doesn't mean that it's going to imprint in that particular colour.

Although eucalyptus is a pretty teal-green, it leaves behind a purple impression. Similarly, the rose petals and leaves left behind colours ranging from black-brown to green.

Once the pieces are in place, there's a number of different ways to leave an impression.

You have to wrap your bundles really tight. No, seriously. If you want your impression to come out, you need to apply substantial pressure. The way you do that is by tightening your bundle and tying it down. It's easy to think that you're bundle is tight enough. You can be oh-so wrong. One of the issues during the workshop was that few people got substantial impressions onto their work. A few people had barely any impression on their work.

This could have been for two reasons: 1) the bundles weren't left in the pots long enough due to time-constraints, or 2) the people's bundles weren't tight enough. Given everyone's bundles were on the stove for roughly the same amount of time, and some of us got striking impressions, my money is on 2).

After the bundles are snug, it's time to give them a bath. Bundles need to be simmered at a medium heat below boiling for a few hours. To give my prints a little extra kick, I brought them home and put them in a slow cooker over-night.

Never use anything to store or cook food that you use for dying and printing. It's important to keep your food-prep and dye-related tools separated. Just because it came from a plant, doesn't mean that it's healthy to consume.

I was happy with how my scarf turned out after a little extra time cooking, but I felt that I could improve it a little bit more. by adding a little bit more pressure to my bundle, and by giving it a little bit more time. Because eco-printing is transfer, not a dye, you can keep re-printing on the fabric to experiment.

Foraging Responsibly
  1. Wear appropriate gear and use appropriate tools to collect from plants.
  2. Know what poisonous plants look like
  3. If you don't know what it is, don't take it.
  4. Don't take plants from unhealthy patches
  5. Take no more than one-six of the plants
  6. Don't forage rare or at-risk plants
  7. Don't take flowers (including weeds) when they first start blooming. The bees need them more than you!

Online Suppliers: Maiwa: for natural dyes and fabric. Richter's Seeds: for seeds.

At: Eco Printing Workshop

From 2019-03-09T14:00 To 2019-03-09T17:00


I went to another workshop at Fern's school of craft! Ash Alberg from the pembina fiber-shed taught to courses focused on using natural materials to dye and print on fabric.

The first course was on eco-printing. Unlike dying, eco-printing is creating a surface print of some source materials--typically plants--on a target material. It's like using a printing press, but involves a chemical transfer between plants and some protein or cellulose based material. For this course, we worked with cotton tea-towels and silk scarves, however, you can print on all sorts of materials, including wood, wool, and leather.

This post is a collection of my notes from the class.

Before You Print: Scouring and Mordanting

Before you can begin dying or printing, the material must be prepared. Oils and debris accumulate on fabrics. These oils can be on both new fabric as result of initial processing of the materials, or on second-hand materials from use. It's important to remove the oils, as they create a resist--- a section in the fabric where dyes and prints cannot transfer. We remove the oils by scouring the material.

Ash mentioned two detergents for scouring:

  1. Synthrapol (Cotton, Silk)
  2. Orvus Paste (wool)

For textiles, it's best to throw the material in the wash on the cycle you expect to use to clean the end-product.

Once the materials have been scoured, we pre-mordant them. A mordant is a substance used to cure and fix dye or stain to a textile. For cellulose-based materials we use sources of tannins as our pre-mordant; for protein-based materials we use metal-ion based mordants.

Tannins can be found in rhubarb leaves; however, rhubarb leaves are toxic. If you're extracting tannins from rhubarb, make sure your workspace is well ventilated!

To pre-mordant, we weigh an appropriate amount of mordant based on the weight of the material we are treating, place it in a pot with our material on low heat, and leave it for an hour or two.

Alum is one of the most common pre-mordant to use with protein-based materials, and it's safe to use. You should use 15-20% of the fibre weight in alum for mordant.

Printing With Plants

After your materials as scoured and mordanted, it's time to print!

At the workshop there were a few bouquets for us to dismember and scatter onto our projects. One thing to remember when eco-printing: just because a plant has a particular colour, doesn't mean that it's going to imprint in that particular colour.

Although eucalyptus is a pretty teal-green, it leaves behind a purple impression. Similarly, the rose petals and leaves left behind colours ranging from black-brown to green.

Once the pieces are in place, there's a number of different ways to leave an impression.

You have to wrap your bundles really tight. No, seriously. If you want your impression to come out, you need to apply substantial pressure. The way you do that is by tightening your bundle and tying it down. It's easy to think that you're bundle is tight enough. You can be oh-so wrong. One of the issues during the workshop was that few people got substantial impressions onto their work. A few people had barely any impression on their work.

This could have been for two reasons: 1) the bundles weren't left in the pots long enough due to time-constraints, or 2) the people's bundles weren't tight enough. Given everyone's bundles were on the stove for roughly the same amount of time, and some of us got striking impressions, my money is on 2).

After the bundles are snug, it's time to give them a bath. Bundles need to be simmered at a medium heat below boiling for a few hours. To give my prints a little extra kick, I brought them home and put them in a slow cooker over-night.

Never use anything to store or cook food that you use for dying and printing. It's important to keep your food-prep and dye-related tools separated. Just because it came from a plant, doesn't mean that it's healthy to consume.

I was happy with how my scarf turned out after a little extra time cooking, but I felt that I could improve it a little bit more. by adding a little bit more pressure to my bundle, and by giving it a little bit more time. Because eco-printing is transfer, not a dye, you can keep re-printing on the fabric to experiment.

Foraging Responsibly
  1. Wear appropriate gear and use appropriate tools to collect from plants.
  2. Know what poisonous plants look like
  3. If you don't know what it is, don't take it.
  4. Don't take plants from unhealthy patches
  5. Take no more than one-six of the plants
  6. Don't forage rare or at-risk plants
  7. Don't take flowers (including weeds) when they first start blooming. The bees need them more than you!

Online Suppliers: Maiwa: for natural dyes and fabric. Richter's Seeds: for seeds.

At: Eco Printing Workshop

From 2019-03-09T14:00 To 2019-03-09T17:00


I recently made a hat for Matt. I used some super-soft alpaca yarn that I picked up from an industrial-revolution era wool spinner located in Alberta. I managed to find a colour which was close to the alpaca logo they use on their site to keep it on-brand.

The pattern I ended up using was a free japanese pattern. I wasn't quite sure how to read the ribbing section, so I used a slip-stick to give it a slightly elongated stitch to match the faux cabling.