May 31st, 2010
Here are the first sketches I’ve made on my iPad! I used a program called Sketchbook Pro, and drew with my finger.


I read the reviews comparing Brushes and Sketchbook Pro, and settled on the latter. I like it, and afterward I saw Jim Lee has been using it, which removed any doubt in my mind.
I’m working on an idea for a comic, but I don’t want to say too much about it yet. I hope it’ll make a good summer project — a comic all drawn on the iPad!
Posted in Comics | No Comments »
May 21st, 2010
Hello! I posted previously about a simple jQuery slideshow I created for accessing sets on Flickr. To use it at work, where we’re running ModX CMS, I turned it into an easily-reusable “snippet.” You can see it in action here.
Here’s what you do:
- Call jQuery in the head of your template. As of this writing I’m using 1.3;
- Upload the Flickr API library to your server and call it something like “flickr_api.inc.php”. It is a very slightly modified version of Rasmus Lerdorf’s PHP5 Flickr_API;
- Upload the jQuery slideshow to your server and call it something like “flickrslideshow.js”. An explination of the jQuery can be found in a previous post;
- Create a new snippet called “flickr-slideshow”. The contents of that snippet is bellow;
- And finally, call the snippet like so: [[flickr-slideshow? &photoset=`XXXXXXXXXXXXXXXXX`]], replacing, of course, the XXXs with the ID of the Flickr set.
The contents of the “flickr-slideshow” snippet:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
| <?php
// Get the photoset from the snippet call
$photoset = isset($photoset) ? $photoset : '';
// Your path to to the Flickr API library
include_once("pathto/flickr_api.inc.php");
// Your API key
$secrets = array('api_key'=>'XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX','api_secret'=>'XXXXXXXXXXXXXXXX');
// Create an instance of the Flickr class, using your credentials
$flickr = new Flickr($secrets);
// Load the set we're looking for into an array
$photos = $flickr->photosetsGetPhotos($photoset);
// Start a counter
$counter = 1;
// Get the total number of photos in the set
$photocount = count($photos['photos']);
// A wrapper div, used by the jQuery
echo '<div class="flickrslideshow">';
// Now to loop through the photos in the set...
foreach($photos['photos'] as $photo) {
// Get the path to the image
$url = $flickr->getPhotoURL($photo,'');
// Get the image info
$info = $flickr->photosGetInfo($photo['id']);
// Another div for the jQuery
echo '<div>';
// Output the image tag, with the title as the alt
echo '<span class="image"><img src="'.$url.'" alt="'.$info['title'].'" /></span>';
echo '<p class="caption">';
// If the photo has a title, output that...
if ($info['title'] != ""){ echo '<strong>'.$info['title'].'.</strong> '; }
// and ditto for the descrition.
if ($info['description'] != ""){ echo ' '.$info['description'].' '; }
echo '</p>';
// Output the count
echo '<p class="controls">Image '.$counter.' of '.$photocount.' | ';
// Set up some numbers to use for the prev/next controls
$counterprev = $counter - 1;
$counternext = $counter + 1;
// Output the "previous" control
if ($counterprev > 0) { echo '<a href="#'.$counterprev.'" class="prev">Prev</a>'; }
// Output a separator, if needed
if ($counterprev > 0 && $counternext <= $photocount) { echo ' / '; }
// Output the "next" control
if ($counternext <= $photocount) { echo ' <a href="#'.$counternext.'" class="next">Next</a>'; }
echo '</p></div>';
// Iterate the counter
$counter++;
}
// Include the jQuery slideshow code (change to match the path on your server, of course)
echo '<script type="text/javascript" src="/pathto/flickrslideshow.js"></script>';
echo '</div>';
?> |
This could be improved in a myriad of ways. For instance, the presentation layer could be abstracted out into ModX chunks and the jQuery could be made to insert the markup which is essentially redundant in the no-script view.
If you notice any errors please post in the comments. As always, I hope that seeing this helps you in your own coding!
Posted in Development | No Comments »
May 15th, 2010

As an employee of the Art Gallery of Ontario, I am a member of OPSEU Local 535. I got involved this year as part of the communication committee, designing the Local’s newsletter and, recently, website. Check it out!
Posted in Websites | No Comments »
May 15th, 2010

The Archive and Everyday Life Conference, held May 6–8, 2010 at McMaster University, examined how fields of archive intersect with everyday life. The conference program includes panel discussions, screenings, and visual art.
Midi Onodera’s year-long 2009 video project A Movie A Week was on view in the accompanying group exhibition held at Hamilton Artists Inc. from May 1–15. Her collection of 52 mini-movies “focus the lens on daily, un-monumental occurrences fit for the small screen.”
A long-time collaborator of Midi’s, I developed her site and online-presentation of A Movie A Week. For this exhibition, Ruby Pajares and I created a stand-alone version of the project (image above) that could be run off a lap-top.
Posted in Websites | No Comments »
May 9th, 2010
Hi there. I’m learning jQuery and finding it super easy and fun to work with!
Here’s a simple fade-in/out slideshow I wrote for a friend’s website. I knew there were already plug-ins out there for achieving this sort of thing, but I decided to write my own in order to become more familiar with some of the basic concepts.
See it in action. Here’s the HTML we’re outputting:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
| <div class="slideshow">
<div>
<img src="1.jpg" alt="Image One" />
<p class="controls"><a href="#2" class="next">Next</a></p>
</div>
<div>
<img src="2.jpg" alt="Image Two" />
<p class="controls"><a href="#1" class="prev">Prev</a> /
<a href="#3" class="next">Next</a></p>
</div>
<div>
<img src="3.jpg" alt="Image Three" />
<p class="controls"><a href="#2" class="prev">Prev</a></p>
</div>
</div> |
And here’s the jQuery:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
| $(document).ready(function(){
// Set the initial state: Hide all but the first slide
$('.slideshow').find('> div:eq(0)').nextAll().css({'opacity':'0','display':'none'});
// On click of a controller link...
$('.controls > a').click(function(event) {
event.preventDefault();
// Get the div containing the clicked link...
var currentslide = $(this).parents('div:first');
// ... and get the index of that div
var currentposition = $('.slideshow div').index(currentslide);
// Use that index to get the slide we'll be fading to
var nextposition = ($(this).attr('class')=='next') ? currentposition+1 : currentposition-1;
// Fade the current slide out...
$('.slideshow div:eq('+currentposition+')').animate({opacity: 0}, 250, function() {
// ... and hide it.
$('.slideshow div:eq('+currentposition+')').css('display','none');
// Show the next slide...
$('.slideshow div:eq('+nextposition+')').css('display','block');
// ... and fade it in.
$('.slideshow div:eq('+nextposition+')').animate({opacity: 100}, 1500);
}
);
});
}); |
As you can see, it’s pretty basic. There’s a number of improvements that could be made, such as having the jQuery insert the control links as they’re somewhat redundant for the non-JS user. Also, it’s a bit fussy about divs — you might want to have some inside your slides but, as written, that would confuse it. I’ll post again if I get around to addressing that.
As always, best wishes to you in your coding!
Tags: JavaScript, jQuery
Posted in Development | No Comments »
May 8th, 2010

Half Empty is a www posse my friends and I created — first in 1998 as a website, then in 2003 as a newsprint magazine. The project was active for about nine years, and generated tons of content. To ensure it stays available I’ve been migrating that archive into a WordPress implementation. It is still very much a work-in-progress, with a lot still to do on the site and a lot of content yet to move.
That said, I am pleased to report that the material from the third paper issue, Half Empty #3, is now online! There’s contributions by James Paterson, Luke Painter, Liz Cowie, Ryan Solski, Jeremy Bailey, Nicholas Di Genova, Above, Tiffany Malakooti and Nathaniel G. Moore; as well as pieces on the TEST performance collective, video artist Daniel Cockburn, educator Elana Langer, V tape’s Curatorial Incubator and an interview with comic book artist Paul Pope. This is all stuff that was previously unavailable in digital form.
In addition to the HTML posts, a PDF of the entire issue is can be downloaded from the Half Empty #3 page.
Posted in Websites | No Comments »
May 1st, 2010

Jaime Leblanc is a photographer based in Montreal, and a contributor to Half Empty. Since the winter we’ve been working together on a new site for her professional portfolio, which is now up at jaimeleblancphotography.com
It’s simple. A few notes:
- It uses Flickr to manage the images, which is something I’ve wanted to try for a while. I used Rasmus Lerdorf’s PHP5 Flickr_API, with only a few slight modifications.
- Wrote a bit of jQuery for the fades.
I’ll post that soon. It’s posted here.
- Typekit: It was really fun to let Jaime pick out a font she liked. Finally!
In addition, I upgraded the WordPress installation for maquina.ws, the personal portfolio site I created for her in 2007.
Posted in Websites | No Comments »