Seminars

Take your time.

I’ve got a Fujifilm X100s. It runs about $1300. It’s easily the best camera I’ve ever owned. I take care of it as best as I can, but I don’t let taking care of it impact the photography. Let me elaborate on that a bit better. You’ll get better at each section of what we talked about slowly. And while you do, you’ll be amazed at how much easier it all is and how the habit forms. The best way to get better at photography is start by taking your camera everywhere. If you leave your house, your camera leaves with you. The only exception is if you’re planning for a weekend bender — then probably leave it at home. Other than that, always have it slung over your shoulder. It would probably help to get an extra battery to carry in your pocket. I’ve got three batteries. One in my camera, one in my pocket, one in the charger.

When it dies, swap them all.

For me, the most important part of improving at photography has been sharing it. Sign up for an Exposure account, or post regularly to Tumblr, or both. Tell people you’re trying to get better at photography. Talk about it. When you talk about it, other people get excited about it. They’ll come on photo walks with you. They’ll pose for portraits. They’ll buy your prints, zines, whatever.

Clouds come floating into my life, no longer to carry rain or usher storm, but to add color to my sunset sky.

— Rabindranath Tagore

Breathe the world.

I’ve got a Fujifilm X100s. It runs about $1300. It’s easily the best camera I’ve ever owned. I take care of it as best as I can, but I don’t let taking care of it impact the photography. Let me elaborate on that a bit better. You’ll get better at each section of what we talked about slowly. And while you do, you’ll be amazed at how much easier it all is and how the habit forms. The best way to get better at photography is start by taking your camera everywhere. If you leave your house, your camera leaves with you. The only exception is if you’re planning for a weekend bender — then probably leave it at home. Other than that, always have it slung over your shoulder. It would probably help to get an extra battery to carry in your pocket. I’ve got three batteries. One in my camera, one in my pocket, one in the charger. When it dies, swap them all.

For me, the most important part of improving at photography has been sharing it. Sign up for an Exposure account, or post regularly to Tumblr, or both. Tell people you’re trying to get better at photography. Talk about it. When you talk about it, other people get excited about it. They’ll come on photo walks with you. They’ll pose for portraits. They’ll buy your prints, zines, whatever.

Heavy hearts, like heavy clouds in the sky, are best relieved by the letting of a little water.

— Christopher Morley

Enjoy the morning.

The best way to get better at photography is start by taking your camera everywhere. If you leave your house, your camera leaves with you. The only exception is if you’re planning for a weekend bender — then probably leave it at home. Other than that, always have it slung over your shoulder. It would probably help to get an extra battery to carry in your pocket. I’ve got three batteries. One in my camera, one in my pocket, one in the charger. When it dies, swap them all.

For me, the most important part of improving at photography has been sharing it. Sign up for an Exposure account, or post regularly to Tumblr, or both. Tell people you’re trying to get better at photography. Talk about it. When you talk about it, other people get excited about it. They’ll come on photo walks with you. They’ll pose for portraits. They’ll buy your prints, zines, whatever. I’ve got a Fujifilm X100s. It runs about $1300.

It’s easily the best camera I’ve ever owned. I take care of it as best as I can, but I don’t let taking care of it impact the photography. Let me elaborate on that a bit better. You’ll get better at each section of what we talked about slowly. And while you do, you’ll be amazed at how much easier it all is and how the habit forms.

There are no rules of architecture for a castle in the clouds and this is real.

— Gilbert K. Chesterton

Free your mind.

The best way to get better at photography is start by taking your camera everywhere. If you leave your house, your camera leaves with you. The only exception is if you’re planning for a weekend bender — then probably leave it at home. Other than that, always have it slung over your shoulder. It would probably help to get an extra battery to carry in your pocket. I’ve got three batteries. One in my camera, one in my pocket, one in the charger. When it dies, swap them all.

I’ve got a Fujifilm X100s. It runs about $1300. It’s easily the best camera I’ve ever owned. I take care of it as best as I can, but I don’t let taking care of it impact the photography. Let me elaborate on that a bit better. You’ll get better at each section of what we talked about slowly. And while you do, you’ll be amazed at how much easier it all is and how the habit forms.

For me, the most important part of improving at photography has been sharing it. Sign up for an Exposure account, or post regularly to Tumblr, or both. Tell people you’re trying to get better at photography. Talk about it. When you talk about it, other people get excited about it. They’ll come on photo walks with you. They’ll pose for portraits. They’ll buy your prints, zines, whatever.

Photography is better shared.


Nature

Join us on our ecological adventures where we hike and explore different areas of the GTA and beyond and investigate the diverse habitats and wildlife that make up our beautiful neighborhoods, with a dose of current ecological projects that are popping up. These are all ages and family friendly events!

 


Art Workshop

CSS selectors all exist within the same global scope. Anyone who has worked with CSS long enough has had to come to terms with its aggressively global nature — a model clearly designed in the age of documents, now struggling to offer a sane working environment for today’s modern web applications. Every selector has the potential to have unintended side effects by targeting unwanted elements or clashing with other selectors. More surprisingly, our selectors may even lose out in the global specificity war, ultimately having little or no effect on the page at all.

Any time we make a change to a CSS file, we need to carefully consider the global environment in which our styles will sit. No other front end technology requires so much discipline just to keep the code at a minimum level of maintainability. But it doesn’t have to be this way. It’s time to leave the era of global style sheets behind.

It’s time for local CSS.

In other languages, it’s accepted that modifying the global environment is something to be done rarely, if ever.

In the JavaScript community, thanks to tools like Browserify, Webpack and JSPM, it’s now expected that our code will consist of small modules, each encapsulating their explicit dependencies, exporting a minimal API.

Yet, somehow, CSS still seems to be getting a free pass.

Many of us — myself included, until recently — have been working with CSS so long that we don’t see the lack of local scope as a problem that we can solve without significant help from browser vendors. Even then, we’d still need to wait for the majority of our users to be using a browser with proper Shadow DOM support.

We’ve worked around the issues of global scope with a series of naming conventions like OOCSS, SMACSS, BEM and SUIT, each providing a way for us to avoid naming collisions and emulate sane scoping rules.

We no longer need to add lengthy prefixes to all of our selectors to simulate scoping. More components could define their own foo and bar identifiers which — unlike the traditional global selector model—wouldn’t produce any naming collisions.

import styles from './MyComponent.css';
import React, { Component } from 'react';
export default class MyComponent extends Component {
 render() {
    return (
      <div>
        <div className={styles.foo}>Foo</div>
        <div className={styles.bar}>Bar</div>
      </div>
    );
  }

The benefits of global CSS — style re-use between components via utility classes, etc. — are still achievable with this model. The key difference is that, just like when we work in other technologies, we need to explicitly import the classes that we depend on. Our code can’t make many, if any, assumptions about the global environment.

Writing maintainable CSS is now encouraged, not by careful adherence to a naming convention, but by style encapsulation during development.

Once you’ve tried working with local CSS, there’s really no going back. Experiencing true local scope in our style sheets — in a way that works across all browsers— is not something to be easily ignored.

Introducing local scope has had a significant ripple effect on how we approach our CSS. Naming conventions, patterns of re-use, and the potential extraction of styles into separate packages are all directly affected by this shift, and we’re only at the beginning of this new era of local CSS.

process.env.NODE_ENV === 'development' ?
    '[name]__[local]___[hash:base64:5]' :
    '[hash:base64:5]'
)

Understanding the ramifications of this shift is something that we’re still working through. With your valuable input and experimentation, I’m hoping that this is a conversation we can have together as a larger community.

Note: Automatically optimising style re-use between components would be an amazing step forward, but it definitely requires help from people a lot smarter than me.