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


People who live in northern climes enjoy faking the sun. Some people get spray-tans. I made my plants a new home: a box full of sunshine.

Using household materials, I made a tiny greenhouse. Even during the winter, I can cultivate finicky plants and experiment with automated gardening.

The greenhouse has a small footprint---it can easily slot into the corner of a closet. When deconstructed, it is the size of a single rubbermaid container.

0. Materials

I started this project before I had proper tools, so I designed something that I could construct using only a dremel and a power drill.

I also wanted my project to be fairly simple to put together: I didn't want to have to get a ride to the local hardware store and get pieces pre-cut. As a result, my materials are all things that are common-place: either things that you probably have at home, or things that would be easy to find online. For my build, only needed to purchase the light, fan, and mylar---it was something I could throw together.

materials and parts:

  • Two rubbermaid stackable containers
  • One LED light suitable for plants
  • One standard PC fan w/ grates
  • Mylar sheets
  • Screw-in hooks + washers & nuts
  • Duct tape
  • 4 inch flange
  • Glue
  • One Four inch inline fan (optional)

1. Remove the bottom

So you have the tools and you have the materials. The first step is to turn the two separate stacked boxes into one mega-box. To do this, cut the bottom out of the top box so that the two boxes form one.

To do this, I glued the top box to the bottom box and used a dremel tool with a saw attachment to cut both the bottom of the box and the lid at the same time.

Cutting both at the same time ensures a good fit between the lid and the upper box, and makes it stack nicely.

2. Make it shine

You have a big box now. We're going to shine a light in the box to give the plant what it needs to survive. If we have a single source of light, we want it to be dispersed in the box as efficiently as possible to feed the plant. To disperse the light, I made the walls of the box reflective with mylar.

First, I spread glue on the interior of the box. With the surface of the box primed, I carefully cut and laid sheets of mylar that were sized to perfectly wrap around one layer of the box.

By applying mylar the inside of both boxes becomes a reflective chamber, efficiently making use of whatever lighting you choose.

3. Tape the lip

The lip of the bottom box might be a little rough around the mylar. Since you may want to lift the lid from the bottom box to get at your plants, you'll want to tidy it up---you don't want the mylar to tear from the sides when lifting the lid.

To clean up the edges and protect the reflective coating, I applied duct tape all around the edge of the box.

4. Add a fan

Plants need air circulation. I used a PC Fan for air intake. In most cases, this is all you'll need.

To get a good fit, hold the fan up to the box and trace a square outline of the fan. Inside the square, trace a circle with a diameter that equals the fan. To cut the circular hole, I used a dremel. In each corner of the square, drill out holes. Using screws, attach the fan to the holes drilled.

I chose to get protective plates to attach to either side of the fan. This adds a little extra protection and makes sure that anything your growing doesn't get in the fans, and that anything next to the box doesn't get caught.

Because I used a 4 inch inline fan for out-take, this wasn't strictly necessary. I knew I was going to probably want to build something bigger later, so I got myself a bigger fan.

5. Add hooks for your lighting (and cut a hole for power cables)

My light hangs from the top of the box to give my little plants some sunshine. I drilled four holes into the boxes lid and attached four hooks around the box. These hooks have screws so that you can attach nuts to the end of them. I placed washers between the screw and the nut on either side of the plastic to add some stability and prevent stress from tearing the plastic lid around the drilled holes.

Using a box cutter and the dremel, I made a little hole for the light's power cable to thread through. After attaching the light, you can pull the power cable through the hole and plug it in outside of the box.

Most lights come with clips and metal cables. I looped these through the hooks and clipped my light in. The draw-back of this is that the light is at a fixed height. For some plants, you need to adjust the height of the light to maintain a correct distance from the plant as it grows. Nothing I plan to grow is that sensitive, so a fixed height is fine for me.

6. Add an outtake fan (optional)

An outtake fan isn't really necessary for a small box. I had a feeling when I started this project that I would get more invested in indoor gardening, so I picked up an inline fan. I knew the fan would be useful for a bigger iteration of the project.

If you're not using an outtake fan, you can simply cut a hole in the top of the box. If you're feeling special, an extra grill to protect the hole would be a nice addition.

7. Enjoy your tiny greenhouse

You now have a fully functional indoor greenhouse. Slot it into a closet and wait for the fruits of your labour.


I recently had a chat with a couple of friends about style; it inspired me to take a project off the back-burner and turn it into code.

A couple of friends posed a question: is artistic style something that is innate, or cultivated? We spent a few hours digging into art we had created throughout adolescence and into adulthood, picking apart what remained consistent throughout. We sifted through sketchbooks thinking about what may have influenced changes.

To some degree, each of us kept track of inspiration. Katryna went as far as to keep collages and document each of them. I've always admired collages: there's something about collecting, organising, and drawing inspiration from unexpected places.

When I travel, I often take pictures of scenes I find interesting: details that catch my eye. A memorable example: to shelter from the rain in Vienna, I ducked into a chapel. The dreary light diffused through the windows to create a high-contrast baroque scene. Typically overwhelming colours and ornamentation became subdued. I collected the moment for later.

It's not just scenes that I collect. Occasionally I'll find a striking design element or detail and save it for later. A bar I was dining at during a layover in the Houston airport was tiled with mahjong pieces.

In spite of my aesthetic hoarding, I don't really have a method for collecting these images in a sensible way. They sit on my phone, my computer, and my desktop: apocalyptically poor organisation. I'm always on the hunt for inspiration, but don't have a place to enjoy the fruits of this collecting.

So I made an indie-pinboard.

aether is a small flask-app with hints of javascript that take a folder on your server and transform it into an infinite scroll of images that are slowly loaded as you cruise by. In my head, these scenes and images were being collected to make some wild reference art-book collage. By making a tiled album, I'm conveying the sense of purpose that I originally intended.

You can find the code in a repo here.

These images are displayed in a haphazard way: the only unifying trait is that each represents something that I liked. In the future I hope to add a more contentful display. I'm thinking that by employing some simple computer vision, I can partition the images by theme and sort them by feel.


1. Make a copy of the DHCP configuration file

Always make a copy of system files that you are editing. If your changes don't work the way you expect, you can always roll back to the safe, stable, starting state you began at. This allows you to try again without creating a number of inter-dependant changes.

sudo cp /etc/dhcpcd.conf /etc/dhcpcd.conf.save

2. Find the current IP address of your device

On unix devices (Macs, Raspberry pis, etc.) you can check your current IP with Hostname -I.

3. Find the IP address of your router and your Domain Name Server

To find the router's address:

ip r | grep default.

To find the Domain Name Server's address:

grep "nameserver" /etc/resolv.conf

These are typically the same address for a home network.

Why add /24? Check out this discussion on subnet masks

4. Edit the DHCP configuration file

At the end of the file add a block where each of the variables are replaced with the values we previously found:

interface wlan0
    static ip_address=<device_ip>/24
    static routers=<router_ip>
    static domain_name_servers=<domain_name_server_ip>

This sets a static IP for the wireless lan, or wlan0 interface on your device. If you want to also set the ethernet interface, add the exact same block again, but change wlan0 to eth0 . 5. Reboot!

sudo reboot

And you're done!


If it didn't work out, you can always revert your changes by running:

sudo cp /etc/dhcpcd.conf.save /etc/dhcpcd.conf


Found two old pentax SLRs from the 1950s-60s abandoned in the garage by previous owners. Decided to open them up and get them going again. It's a marvel looking inside them. These cameras are operated by entirely mechanical systems: with a little bit of love and care, even their timing systems still work.

Debugging mechanical issues by looking through manuals and watching gears and levers whirl is a nice break from spelunking through code.