{"id":15,"date":"2011-06-14T07:25:32","date_gmt":"2011-06-14T07:25:32","guid":{"rendered":"https:\/\/dylanmc.ca\/\/-\/?page_id=15"},"modified":"2019-08-06T13:32:46","modified_gmt":"2019-08-06T20:32:46","slug":"portfolio","status":"publish","type":"page","link":"https:\/\/dylanmc.ca\/\/-\/portfolio\/","title":{"rendered":"Portfolio"},"content":{"rendered":"\n<p>Here are some cool things I&#8217;ve made (that I can share here).  If you are interested in my other work, or if you&#8217;d like to talk, feel free to <a href=\"https:\/\/dylanmc.ca\/\/-\/contact\/\">contact me<\/a>. You can also look me up on <a href=\"https:\/\/www.linkedin.com\/in\/dylan-mccall\">LinkedIn<\/a> or <a href=\"https:\/\/github.com\/DylanMcCall\">Github<\/a>. And, of course, there is always <a href=\"https:\/\/dylanmc.ca\/\/-\/blog\/\">my blog<\/a>.<\/p>\n\n\n\n<hr class=\"wp-block-separator\"\/>\n\n\n\t\t\t\t<div class=\"jetpack-portfolio-shortcode column-2\">\n\t\t\t\t\t\t\t\t\t<div class=\"portfolio-entry portfolio-entry-column-2 portfolio-entry-mobile-first-item-row portfolio-entry-first-item-row\">\n\t\t\t\t\t\t<header class=\"portfolio-entry-header\">\n\t\t\t\t\t\t<a class=\"portfolio-featured-image\" href=\"https:\/\/dylanmc.ca\/\/-\/portfolio\/creative-commons\/\"><img loading=\"lazy\" decoding=\"async\" width=\"525\" height=\"315\" src=\"https:\/\/i0.wp.com\/dylanmc.ca\/wp-content\/uploads\/creative-commons-feature.jpg?fit=525%2C315&amp;ssl=1\" class=\"attachment-large size-large wp-post-image\" alt=\"Screenshot of creativecommons.org\" srcset=\"https:\/\/i0.wp.com\/dylanmc.ca\/wp-content\/uploads\/creative-commons-feature.jpg?w=4320&amp;ssl=1 4320w, https:\/\/i0.wp.com\/dylanmc.ca\/wp-content\/uploads\/creative-commons-feature.jpg?resize=300%2C180&amp;ssl=1 300w, https:\/\/i0.wp.com\/dylanmc.ca\/wp-content\/uploads\/creative-commons-feature.jpg?resize=768%2C461&amp;ssl=1 768w, https:\/\/i0.wp.com\/dylanmc.ca\/wp-content\/uploads\/creative-commons-feature.jpg?resize=750%2C450&amp;ssl=1 750w, https:\/\/i0.wp.com\/dylanmc.ca\/wp-content\/uploads\/creative-commons-feature.jpg?resize=2000%2C1200&amp;ssl=1 2000w, https:\/\/i0.wp.com\/dylanmc.ca\/wp-content\/uploads\/creative-commons-feature.jpg?w=1050&amp;ssl=1 1050w, https:\/\/i0.wp.com\/dylanmc.ca\/wp-content\/uploads\/creative-commons-feature.jpg?w=1575&amp;ssl=1 1575w\" sizes=\"auto, 100vw\" data-attachment-id=\"9403\" data-permalink=\"https:\/\/dylanmc.ca\/\/-\/portfolio\/creative-commons\/creative-commons-feature\/\" data-orig-file=\"https:\/\/i0.wp.com\/dylanmc.ca\/wp-content\/uploads\/creative-commons-feature.jpg?fit=4320%2C2592&amp;ssl=1\" data-orig-size=\"4320,2592\" data-comments-opened=\"0\" data-image-meta=\"{&quot;aperture&quot;:&quot;0&quot;,&quot;credit&quot;:&quot;&quot;,&quot;camera&quot;:&quot;&quot;,&quot;caption&quot;:&quot;&quot;,&quot;created_timestamp&quot;:&quot;0&quot;,&quot;copyright&quot;:&quot;&quot;,&quot;focal_length&quot;:&quot;0&quot;,&quot;iso&quot;:&quot;0&quot;,&quot;shutter_speed&quot;:&quot;0&quot;,&quot;title&quot;:&quot;&quot;,&quot;orientation&quot;:&quot;0&quot;}\" data-image-title=\"creative-commons-feature\" data-image-description=\"\" data-image-caption=\"\" data-medium-file=\"https:\/\/i0.wp.com\/dylanmc.ca\/wp-content\/uploads\/creative-commons-feature.jpg?fit=300%2C180&amp;ssl=1\" data-large-file=\"https:\/\/i0.wp.com\/dylanmc.ca\/wp-content\/uploads\/creative-commons-feature.jpg?fit=525%2C315&amp;ssl=1\" \/><\/a>\n\t\t\t\t\t\t<h2 class=\"portfolio-entry-title\"><a href=\"https:\/\/dylanmc.ca\/\/-\/portfolio\/creative-commons\/\" title=\"Creative Commons\">Creative Commons<\/a><\/h2>\n\n\t\t\t\t\t\t\t<div class=\"portfolio-entry-meta\">\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t<\/div>\n\n\t\t\t\t\t\t<\/header>\n\n\t\t\t\t\t\t\t\t\t\t\t\t<div class=\"portfolio-entry-content\"><ul class=\"dylanmccall-list-plain wp-block-list\">\n<li><strong>Employer:<\/strong> <a href=\"https:\/\/affinitybridge.com\/\">Affinity Bridge<\/a><\/li>\n<\/ul>\n<ul class=\"dylanmccall-list-badges wp-block-list\">\n<li>web<\/li>\n<li>wordpress<\/li>\n<li>php<\/li>\n<\/ul>\n<p>At Affinity Bridge, we worked on a major redesign of <a href=\"https:\/\/creativecommons.org\">creativecommons.org<\/a>. I was able to contribute a small but meaningful detail: an interactive stream of Creative Commons-licensed work which appears at the bottom of certain pages. We designed this component to be lightweight, ready to show hundreds of different creations in an expressive and inviting way&hellip;<\/p>\n<\/div>\n\t\t\t\t\t\t\t\t\t\t\t\t<\/div><!-- close .portfolio-entry -->\n\t\t\t\t\t\t\t\t\t\t<div class=\"portfolio-entry portfolio-entry-column-2 portfolio-entry-mobile-last-item-row portfolio-entry-last-item-row\">\n\t\t\t\t\t\t<header class=\"portfolio-entry-header\">\n\t\t\t\t\t\t<a class=\"portfolio-featured-image\" href=\"https:\/\/dylanmc.ca\/\/-\/portfolio\/the-simons-foundation\/\"><img loading=\"lazy\" decoding=\"async\" width=\"525\" height=\"315\" src=\"https:\/\/i0.wp.com\/dylanmc.ca\/wp-content\/uploads\/simons-foundation-feature.jpg?fit=525%2C315&amp;ssl=1\" class=\"attachment-large size-large wp-post-image\" alt=\"Screenshot of thesimonsfoundation.ca\" srcset=\"https:\/\/i0.wp.com\/dylanmc.ca\/wp-content\/uploads\/simons-foundation-feature.jpg?w=4320&amp;ssl=1 4320w, https:\/\/i0.wp.com\/dylanmc.ca\/wp-content\/uploads\/simons-foundation-feature.jpg?resize=300%2C180&amp;ssl=1 300w, https:\/\/i0.wp.com\/dylanmc.ca\/wp-content\/uploads\/simons-foundation-feature.jpg?resize=768%2C461&amp;ssl=1 768w, https:\/\/i0.wp.com\/dylanmc.ca\/wp-content\/uploads\/simons-foundation-feature.jpg?resize=750%2C450&amp;ssl=1 750w, https:\/\/i0.wp.com\/dylanmc.ca\/wp-content\/uploads\/simons-foundation-feature.jpg?resize=2000%2C1200&amp;ssl=1 2000w, https:\/\/i0.wp.com\/dylanmc.ca\/wp-content\/uploads\/simons-foundation-feature.jpg?w=1050&amp;ssl=1 1050w, https:\/\/i0.wp.com\/dylanmc.ca\/wp-content\/uploads\/simons-foundation-feature.jpg?w=1575&amp;ssl=1 1575w\" sizes=\"auto, 100vw\" data-attachment-id=\"9402\" data-permalink=\"https:\/\/dylanmc.ca\/\/-\/portfolio\/the-simons-foundation\/simons-foundation-feature\/\" data-orig-file=\"https:\/\/i0.wp.com\/dylanmc.ca\/wp-content\/uploads\/simons-foundation-feature.jpg?fit=4320%2C2592&amp;ssl=1\" data-orig-size=\"4320,2592\" data-comments-opened=\"0\" data-image-meta=\"{&quot;aperture&quot;:&quot;0&quot;,&quot;credit&quot;:&quot;&quot;,&quot;camera&quot;:&quot;&quot;,&quot;caption&quot;:&quot;&quot;,&quot;created_timestamp&quot;:&quot;0&quot;,&quot;copyright&quot;:&quot;&quot;,&quot;focal_length&quot;:&quot;0&quot;,&quot;iso&quot;:&quot;0&quot;,&quot;shutter_speed&quot;:&quot;0&quot;,&quot;title&quot;:&quot;&quot;,&quot;orientation&quot;:&quot;0&quot;}\" data-image-title=\"simons-foundation-feature\" data-image-description=\"\" data-image-caption=\"\" data-medium-file=\"https:\/\/i0.wp.com\/dylanmc.ca\/wp-content\/uploads\/simons-foundation-feature.jpg?fit=300%2C180&amp;ssl=1\" data-large-file=\"https:\/\/i0.wp.com\/dylanmc.ca\/wp-content\/uploads\/simons-foundation-feature.jpg?fit=525%2C315&amp;ssl=1\" \/><\/a>\n\t\t\t\t\t\t<h2 class=\"portfolio-entry-title\"><a href=\"https:\/\/dylanmc.ca\/\/-\/portfolio\/the-simons-foundation\/\" title=\"The Simons Foundation\">The Simons Foundation<\/a><\/h2>\n\n\t\t\t\t\t\t\t<div class=\"portfolio-entry-meta\">\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t<\/div>\n\n\t\t\t\t\t\t<\/header>\n\n\t\t\t\t\t\t\t\t\t\t\t\t<div class=\"portfolio-entry-content\"><ul class=\"dylanmccall-list-plain wp-block-list\">\n<li><strong>Employer:<\/strong> <a href=\"https:\/\/affinitybridge.com\/\">Affinity Bridge<\/a><\/li>\n<\/ul>\n<ul class=\"dylanmccall-list-badges wp-block-list\">\n<li>web<\/li>\n<li>drupal<\/li>\n<li>php<\/li>\n<\/ul>\n<p>Affinity Bridge was hired to migrate <a href=\"http:\/\/thesimonsfoundation.ca\/\">thesimonsfoundation.ca<\/a> to Drupal 8, along with a light redesign. I implemented the new site&#8217;s frontend as a custom theme. I enjoyed the opportunity to learn more about Drupal 8, and to take a leading role building the frontend for an active website with a deep library of content&hellip;<\/p>\n<\/div>\n\t\t\t\t\t\t\t\t\t\t\t\t<\/div><!-- close .portfolio-entry -->\n\t\t\t\t\t\t\t\t\t\t<div class=\"portfolio-entry portfolio-entry-column-2 portfolio-entry-mobile-first-item-row portfolio-entry-first-item-row\">\n\t\t\t\t\t\t<header class=\"portfolio-entry-header\">\n\t\t\t\t\t\t<a class=\"portfolio-featured-image\" href=\"https:\/\/dylanmc.ca\/\/-\/portfolio\/north-light-images\/\"><img loading=\"lazy\" decoding=\"async\" width=\"525\" height=\"315\" src=\"https:\/\/i0.wp.com\/dylanmc.ca\/wp-content\/uploads\/stuartmccall-ca-1.png?fit=525%2C315&amp;ssl=1\" class=\"attachment-large size-large wp-post-image\" alt=\"Screenshot of stuartmccall.ca\" srcset=\"https:\/\/i0.wp.com\/dylanmc.ca\/wp-content\/uploads\/stuartmccall-ca-1.png?w=5760&amp;ssl=1 5760w, https:\/\/i0.wp.com\/dylanmc.ca\/wp-content\/uploads\/stuartmccall-ca-1.png?resize=300%2C180&amp;ssl=1 300w, https:\/\/i0.wp.com\/dylanmc.ca\/wp-content\/uploads\/stuartmccall-ca-1.png?resize=768%2C461&amp;ssl=1 768w, https:\/\/i0.wp.com\/dylanmc.ca\/wp-content\/uploads\/stuartmccall-ca-1.png?resize=750%2C450&amp;ssl=1 750w, https:\/\/i0.wp.com\/dylanmc.ca\/wp-content\/uploads\/stuartmccall-ca-1.png?resize=2000%2C1200&amp;ssl=1 2000w, https:\/\/i0.wp.com\/dylanmc.ca\/wp-content\/uploads\/stuartmccall-ca-1.png?w=1050&amp;ssl=1 1050w, https:\/\/i0.wp.com\/dylanmc.ca\/wp-content\/uploads\/stuartmccall-ca-1.png?w=1575&amp;ssl=1 1575w\" sizes=\"auto, 100vw\" data-attachment-id=\"9611\" data-permalink=\"https:\/\/dylanmc.ca\/\/-\/portfolio\/north-light-images\/stuartmccall-ca-1\/\" data-orig-file=\"https:\/\/i0.wp.com\/dylanmc.ca\/wp-content\/uploads\/stuartmccall-ca-1.png?fit=5760%2C3456&amp;ssl=1\" data-orig-size=\"5760,3456\" data-comments-opened=\"0\" data-image-meta=\"{&quot;aperture&quot;:&quot;0&quot;,&quot;credit&quot;:&quot;&quot;,&quot;camera&quot;:&quot;&quot;,&quot;caption&quot;:&quot;&quot;,&quot;created_timestamp&quot;:&quot;0&quot;,&quot;copyright&quot;:&quot;&quot;,&quot;focal_length&quot;:&quot;0&quot;,&quot;iso&quot;:&quot;0&quot;,&quot;shutter_speed&quot;:&quot;0&quot;,&quot;title&quot;:&quot;&quot;,&quot;orientation&quot;:&quot;0&quot;}\" data-image-title=\"stuartmccall-ca-1\" data-image-description=\"\" data-image-caption=\"\" data-medium-file=\"https:\/\/i0.wp.com\/dylanmc.ca\/wp-content\/uploads\/stuartmccall-ca-1.png?fit=300%2C180&amp;ssl=1\" data-large-file=\"https:\/\/i0.wp.com\/dylanmc.ca\/wp-content\/uploads\/stuartmccall-ca-1.png?fit=525%2C315&amp;ssl=1\" \/><\/a>\n\t\t\t\t\t\t<h2 class=\"portfolio-entry-title\"><a href=\"https:\/\/dylanmc.ca\/\/-\/portfolio\/north-light-images\/\" title=\"North Light Images\">North Light Images<\/a><\/h2>\n\n\t\t\t\t\t\t\t<div class=\"portfolio-entry-meta\">\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t<\/div>\n\n\t\t\t\t\t\t<\/header>\n\n\t\t\t\t\t\t\t\t\t\t\t\t<div class=\"portfolio-entry-content\"><ul class=\"dylanmccall-list-plain wp-block-list\">\n<li><em>Personal project<\/em><\/li>\n<\/ul>\n<ul class=\"dylanmccall-list-badges wp-block-list\">\n<li>web<\/li>\n<li>design<\/li>\n<li>django<\/li>\n<li>python<\/li>\n<li>javascript<\/li>\n<\/ul>\n<p>Stuart McCall needed a new website for his photography business, North Light Images (<a href=\"https:\/\/www.northlightimages.com\/\">northlightimages.com<\/a>). And, later, for his art portfolio (<a href=\"https:\/\/www.stuartmccall.ca\/\">stuartmccall.ca<\/a>). I designed both sites to be responsive to a wide range of screen shapes, as well as touch-friendly, accessible, and delightful to interact with&hellip;<\/p>\n<\/div>\n\t\t\t\t\t\t\t\t\t\t\t\t<\/div><!-- close .portfolio-entry -->\n\t\t\t\t\t\t\t\t\t\t<div class=\"portfolio-entry portfolio-entry-column-2 portfolio-entry-mobile-last-item-row portfolio-entry-last-item-row\">\n\t\t\t\t\t\t<header class=\"portfolio-entry-header\">\n\t\t\t\t\t\t<a class=\"portfolio-featured-image\" href=\"https:\/\/dylanmc.ca\/\/-\/portfolio\/ubiquity-slideshow\/\"><img loading=\"lazy\" decoding=\"async\" width=\"525\" height=\"315\" src=\"https:\/\/i0.wp.com\/dylanmc.ca\/wp-content\/uploads\/ubiquity-slideshow-2.png?fit=525%2C315&amp;ssl=1\" class=\"attachment-large size-large wp-post-image\" alt=\"Screenshot of Ubuntu&#039;s installer slideshow\" srcset=\"https:\/\/i0.wp.com\/dylanmc.ca\/wp-content\/uploads\/ubiquity-slideshow-2.png?w=2220&amp;ssl=1 2220w, https:\/\/i0.wp.com\/dylanmc.ca\/wp-content\/uploads\/ubiquity-slideshow-2.png?resize=300%2C180&amp;ssl=1 300w, https:\/\/i0.wp.com\/dylanmc.ca\/wp-content\/uploads\/ubiquity-slideshow-2.png?resize=768%2C461&amp;ssl=1 768w, https:\/\/i0.wp.com\/dylanmc.ca\/wp-content\/uploads\/ubiquity-slideshow-2.png?resize=750%2C450&amp;ssl=1 750w, https:\/\/i0.wp.com\/dylanmc.ca\/wp-content\/uploads\/ubiquity-slideshow-2.png?resize=2000%2C1200&amp;ssl=1 2000w, https:\/\/i0.wp.com\/dylanmc.ca\/wp-content\/uploads\/ubiquity-slideshow-2.png?w=1050&amp;ssl=1 1050w, https:\/\/i0.wp.com\/dylanmc.ca\/wp-content\/uploads\/ubiquity-slideshow-2.png?w=1575&amp;ssl=1 1575w\" sizes=\"auto, 100vw\" data-attachment-id=\"9598\" data-permalink=\"https:\/\/dylanmc.ca\/\/-\/portfolio\/ubiquity-slideshow\/ubiquity-slideshow-2\/\" data-orig-file=\"https:\/\/i0.wp.com\/dylanmc.ca\/wp-content\/uploads\/ubiquity-slideshow-2.png?fit=2220%2C1332&amp;ssl=1\" data-orig-size=\"2220,1332\" data-comments-opened=\"0\" data-image-meta=\"{&quot;aperture&quot;:&quot;0&quot;,&quot;credit&quot;:&quot;&quot;,&quot;camera&quot;:&quot;&quot;,&quot;caption&quot;:&quot;&quot;,&quot;created_timestamp&quot;:&quot;0&quot;,&quot;copyright&quot;:&quot;&quot;,&quot;focal_length&quot;:&quot;0&quot;,&quot;iso&quot;:&quot;0&quot;,&quot;shutter_speed&quot;:&quot;0&quot;,&quot;title&quot;:&quot;&quot;,&quot;orientation&quot;:&quot;0&quot;}\" data-image-title=\"Ubiquity Slideshow (2)\" data-image-description=\"\" data-image-caption=\"\" data-medium-file=\"https:\/\/i0.wp.com\/dylanmc.ca\/wp-content\/uploads\/ubiquity-slideshow-2.png?fit=300%2C180&amp;ssl=1\" data-large-file=\"https:\/\/i0.wp.com\/dylanmc.ca\/wp-content\/uploads\/ubiquity-slideshow-2.png?fit=525%2C315&amp;ssl=1\" \/><\/a>\n\t\t\t\t\t\t<h2 class=\"portfolio-entry-title\"><a href=\"https:\/\/dylanmc.ca\/\/-\/portfolio\/ubiquity-slideshow\/\" title=\"Ubuntu Installer Slideshow\">Ubuntu Installer Slideshow<\/a><\/h2>\n\n\t\t\t\t\t\t\t<div class=\"portfolio-entry-meta\">\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t<\/div>\n\n\t\t\t\t\t\t<\/header>\n\n\t\t\t\t\t\t\t\t\t\t\t\t<div class=\"portfolio-entry-content\"><ul class=\"dylanmccall-list-plain wp-block-list\">\n<li><em>Personal project<\/em><\/li>\n<\/ul>\n<ul class=\"dylanmccall-list-badges wp-block-list\">\n<li>desktop<\/li>\n<li>web<\/li>\n<li>ubuntu<\/li>\n<li>gtk+<\/li>\n<li>webkit<\/li>\n<\/ul>\n<p>Ubiquity Slideshow is a simple presentation that appears while users install the <a href=\"https:\/\/www.ubuntu.com\/\">Ubuntu<\/a> operating system. The project aims to encourage and inspire people so they are more comfortable using the  system. I created it with the help of some talented designers in the Ubuntu community&hellip;<\/p>\n<\/div>\n\t\t\t\t\t\t\t\t\t\t\t\t<\/div><!-- close .portfolio-entry -->\n\t\t\t\t\t\t\t\t\t\t<div class=\"portfolio-entry portfolio-entry-column-2 portfolio-entry-mobile-first-item-row portfolio-entry-first-item-row\">\n\t\t\t\t\t\t<header class=\"portfolio-entry-header\">\n\t\t\t\t\t\t<a class=\"portfolio-featured-image\" href=\"https:\/\/dylanmc.ca\/\/-\/portfolio\/gnome-break-timer\/\"><img loading=\"lazy\" decoding=\"async\" width=\"525\" height=\"305\" src=\"https:\/\/i0.wp.com\/dylanmc.ca\/wp-content\/uploads\/Screenshot-from-2013-09-13-182608.png?fit=525%2C305&amp;ssl=1\" class=\"attachment-large size-large wp-post-image\" alt=\"\" srcset=\"https:\/\/i0.wp.com\/dylanmc.ca\/wp-content\/uploads\/Screenshot-from-2013-09-13-182608.png?w=747&amp;ssl=1 747w, https:\/\/i0.wp.com\/dylanmc.ca\/wp-content\/uploads\/Screenshot-from-2013-09-13-182608.png?resize=300%2C174&amp;ssl=1 300w\" sizes=\"auto, 100vw\" data-attachment-id=\"1555\" data-permalink=\"https:\/\/dylanmc.ca\/\/-\/blog\/2013\/09\/13\/gnome-break-timer-week-13\/screenshot-from-2013-09-13-182608\/\" data-orig-file=\"https:\/\/i0.wp.com\/dylanmc.ca\/wp-content\/uploads\/Screenshot-from-2013-09-13-182608.png?fit=747%2C434&amp;ssl=1\" data-orig-size=\"747,434\" data-comments-opened=\"0\" data-image-meta=\"{&quot;aperture&quot;:&quot;0&quot;,&quot;credit&quot;:&quot;&quot;,&quot;camera&quot;:&quot;&quot;,&quot;caption&quot;:&quot;&quot;,&quot;created_timestamp&quot;:&quot;0&quot;,&quot;copyright&quot;:&quot;&quot;,&quot;focal_length&quot;:&quot;0&quot;,&quot;iso&quot;:&quot;0&quot;,&quot;shutter_speed&quot;:&quot;0&quot;,&quot;title&quot;:&quot;&quot;}\" data-image-title=\"Screenshot from 2013-09-13 18:26:08\" data-image-description=\"\" data-image-caption=\"&lt;p&gt;We show how close a break is like how GNOME Clocks shows a countdown&lt;\/p&gt;\n\" data-medium-file=\"https:\/\/i0.wp.com\/dylanmc.ca\/wp-content\/uploads\/Screenshot-from-2013-09-13-182608.png?fit=300%2C174&amp;ssl=1\" data-large-file=\"https:\/\/i0.wp.com\/dylanmc.ca\/wp-content\/uploads\/Screenshot-from-2013-09-13-182608.png?fit=525%2C305&amp;ssl=1\" \/><\/a>\n\t\t\t\t\t\t<h2 class=\"portfolio-entry-title\"><a href=\"https:\/\/dylanmc.ca\/\/-\/portfolio\/gnome-break-timer\/\" title=\"GNOME Break Timer\">GNOME Break Timer<\/a><\/h2>\n\n\t\t\t\t\t\t\t<div class=\"portfolio-entry-meta\">\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t<\/div>\n\n\t\t\t\t\t\t<\/header>\n\n\t\t\t\t\t\t\t\t\t\t\t\t<div class=\"portfolio-entry-content\"><ul class=\"dylanmccall-list-plain wp-block-list\">\n<li><em>Google Summer of Code 2013<\/em><\/li>\n<\/ul>\n<ul class=\"dylanmccall-list-badges wp-block-list\">\n<li>desktop<\/li>\n<li>gnome<\/li>\n<li>gtk+<\/li>\n<li>vala<\/li>\n<\/ul>\n<p>GNOME Break Timer is a break timer app for the GNOME desktop. It reminds users to take regular short breaks, as well as longer breaks, to encourage healthier computer use. I created it for Google Summer of Code 2013, with the help of <a href=\"http:\/\/blog.mecheye.net\/\">Jasper St. Pierre<\/a> and <a href=\"https:\/\/blogs.gnome.org\/aday\/\">Allan Day<\/a>. It is written in <a href=\"https:\/\/wiki.gnome.org\/Projects\/Vala\">Vala<\/a>&hellip;<\/p>\n<\/div>\n\t\t\t\t\t\t\t\t\t\t\t\t<\/div><!-- close .portfolio-entry -->\n\t\t\t\t\t\t\t\t\t\t<div class=\"portfolio-entry portfolio-entry-column-2 portfolio-entry-mobile-last-item-row portfolio-entry-last-item-row\">\n\t\t\t\t\t\t<header class=\"portfolio-entry-header\">\n\t\t\t\t\t\t<a class=\"portfolio-featured-image\" href=\"https:\/\/dylanmc.ca\/\/-\/portfolio\/the-attack-of-the-crimson-plumber\/\"><img loading=\"lazy\" decoding=\"async\" width=\"525\" height=\"315\" src=\"https:\/\/i0.wp.com\/dylanmc.ca\/wp-content\/uploads\/attack-of-the-crimson-plumber-feature.png?fit=525%2C315&amp;ssl=1\" class=\"attachment-large size-large wp-post-image\" alt=\"\" srcset=\"https:\/\/i0.wp.com\/dylanmc.ca\/wp-content\/uploads\/attack-of-the-crimson-plumber-feature.png?w=2220&amp;ssl=1 2220w, https:\/\/i0.wp.com\/dylanmc.ca\/wp-content\/uploads\/attack-of-the-crimson-plumber-feature.png?resize=300%2C180&amp;ssl=1 300w, https:\/\/i0.wp.com\/dylanmc.ca\/wp-content\/uploads\/attack-of-the-crimson-plumber-feature.png?resize=768%2C461&amp;ssl=1 768w, https:\/\/i0.wp.com\/dylanmc.ca\/wp-content\/uploads\/attack-of-the-crimson-plumber-feature.png?resize=750%2C450&amp;ssl=1 750w, https:\/\/i0.wp.com\/dylanmc.ca\/wp-content\/uploads\/attack-of-the-crimson-plumber-feature.png?resize=2000%2C1200&amp;ssl=1 2000w, https:\/\/i0.wp.com\/dylanmc.ca\/wp-content\/uploads\/attack-of-the-crimson-plumber-feature.png?w=1050&amp;ssl=1 1050w, https:\/\/i0.wp.com\/dylanmc.ca\/wp-content\/uploads\/attack-of-the-crimson-plumber-feature.png?w=1575&amp;ssl=1 1575w\" sizes=\"auto, 100vw\" data-attachment-id=\"9620\" data-permalink=\"https:\/\/dylanmc.ca\/\/-\/portfolio\/the-attack-of-the-crimson-plumber\/attack-of-the-crimson-plumber-feature\/\" data-orig-file=\"https:\/\/i0.wp.com\/dylanmc.ca\/wp-content\/uploads\/attack-of-the-crimson-plumber-feature.png?fit=2220%2C1332&amp;ssl=1\" data-orig-size=\"2220,1332\" data-comments-opened=\"0\" data-image-meta=\"{&quot;aperture&quot;:&quot;0&quot;,&quot;credit&quot;:&quot;&quot;,&quot;camera&quot;:&quot;&quot;,&quot;caption&quot;:&quot;&quot;,&quot;created_timestamp&quot;:&quot;0&quot;,&quot;copyright&quot;:&quot;&quot;,&quot;focal_length&quot;:&quot;0&quot;,&quot;iso&quot;:&quot;0&quot;,&quot;shutter_speed&quot;:&quot;0&quot;,&quot;title&quot;:&quot;&quot;,&quot;orientation&quot;:&quot;0&quot;}\" data-image-title=\"Attack of the Crimson Plumber\" data-image-description=\"\" data-image-caption=\"\" data-medium-file=\"https:\/\/i0.wp.com\/dylanmc.ca\/wp-content\/uploads\/attack-of-the-crimson-plumber-feature.png?fit=300%2C180&amp;ssl=1\" data-large-file=\"https:\/\/i0.wp.com\/dylanmc.ca\/wp-content\/uploads\/attack-of-the-crimson-plumber-feature.png?fit=525%2C315&amp;ssl=1\" \/><\/a>\n\t\t\t\t\t\t<h2 class=\"portfolio-entry-title\"><a href=\"https:\/\/dylanmc.ca\/\/-\/portfolio\/the-attack-of-the-crimson-plumber\/\" title=\"Attack of the Crimson Plumber\">Attack of the Crimson Plumber<\/a><\/h2>\n\n\t\t\t\t\t\t\t<div class=\"portfolio-entry-meta\">\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t<\/div>\n\n\t\t\t\t\t\t<\/header>\n\n\t\t\t\t\t\t\t\t\t\t\t\t<div class=\"portfolio-entry-content\"><ul class=\"dylanmccall-list-plain wp-block-list\">\n<li><em>Personal project<\/em><\/li>\n<\/ul>\n<ul class=\"dylanmccall-list-badges wp-block-list\">\n<li>web<\/li>\n<li>game<\/li>\n<li>canvas<\/li>\n<li>dart<\/li>\n<\/ul>\n<p>If I&#8217;m going to put a 48 hour game jam entry in my portfolio, it has to be this one. This is far from a good video game, but I really enjoyed making it for <a href=\"https:\/\/ldjam.com\/\">Ludum Dare 25<\/a>. It&#8217;s written with Dart, using HTML Canvas. It was a good opportunity to learn both of those under pressure&hellip;<\/p>\n<\/div>\n\t\t\t\t\t\t\t\t\t\t\t\t<\/div><!-- close .portfolio-entry -->\n\t\t\t\t\t\t\t\t\t\t<div class=\"portfolio-entry portfolio-entry-column-2 portfolio-entry-mobile-first-item-row portfolio-entry-first-item-row\">\n\t\t\t\t\t\t<header class=\"portfolio-entry-header\">\n\t\t\t\t\t\t<a class=\"portfolio-featured-image\" href=\"https:\/\/dylanmc.ca\/\/-\/portfolio\/ubuntu-software-updater\/\"><img loading=\"lazy\" decoding=\"async\" width=\"525\" height=\"315\" src=\"https:\/\/i0.wp.com\/dylanmc.ca\/wp-content\/uploads\/ubuntu-software-updater-3.png?fit=525%2C315&amp;ssl=1\" class=\"attachment-large size-large wp-post-image\" alt=\"Screenshot of Ubuntu&#039;s software updater\" srcset=\"https:\/\/i0.wp.com\/dylanmc.ca\/wp-content\/uploads\/ubuntu-software-updater-3.png?w=2220&amp;ssl=1 2220w, https:\/\/i0.wp.com\/dylanmc.ca\/wp-content\/uploads\/ubuntu-software-updater-3.png?resize=300%2C180&amp;ssl=1 300w, https:\/\/i0.wp.com\/dylanmc.ca\/wp-content\/uploads\/ubuntu-software-updater-3.png?resize=768%2C461&amp;ssl=1 768w, https:\/\/i0.wp.com\/dylanmc.ca\/wp-content\/uploads\/ubuntu-software-updater-3.png?resize=750%2C450&amp;ssl=1 750w, https:\/\/i0.wp.com\/dylanmc.ca\/wp-content\/uploads\/ubuntu-software-updater-3.png?resize=2000%2C1200&amp;ssl=1 2000w, https:\/\/i0.wp.com\/dylanmc.ca\/wp-content\/uploads\/ubuntu-software-updater-3.png?w=1050&amp;ssl=1 1050w, https:\/\/i0.wp.com\/dylanmc.ca\/wp-content\/uploads\/ubuntu-software-updater-3.png?w=1575&amp;ssl=1 1575w\" sizes=\"auto, 100vw\" data-attachment-id=\"9605\" data-permalink=\"https:\/\/dylanmc.ca\/\/-\/portfolio\/ubuntu-software-updater\/ubuntu-software-updater-3\/\" data-orig-file=\"https:\/\/i0.wp.com\/dylanmc.ca\/wp-content\/uploads\/ubuntu-software-updater-3.png?fit=2220%2C1332&amp;ssl=1\" data-orig-size=\"2220,1332\" data-comments-opened=\"0\" data-image-meta=\"{&quot;aperture&quot;:&quot;0&quot;,&quot;credit&quot;:&quot;&quot;,&quot;camera&quot;:&quot;&quot;,&quot;caption&quot;:&quot;&quot;,&quot;created_timestamp&quot;:&quot;0&quot;,&quot;copyright&quot;:&quot;&quot;,&quot;focal_length&quot;:&quot;0&quot;,&quot;iso&quot;:&quot;0&quot;,&quot;shutter_speed&quot;:&quot;0&quot;,&quot;title&quot;:&quot;&quot;,&quot;orientation&quot;:&quot;0&quot;}\" data-image-title=\"Ubuntu Software Updater (3)\" data-image-description=\"\" data-image-caption=\"\" data-medium-file=\"https:\/\/i0.wp.com\/dylanmc.ca\/wp-content\/uploads\/ubuntu-software-updater-3.png?fit=300%2C180&amp;ssl=1\" data-large-file=\"https:\/\/i0.wp.com\/dylanmc.ca\/wp-content\/uploads\/ubuntu-software-updater-3.png?fit=525%2C315&amp;ssl=1\" \/><\/a>\n\t\t\t\t\t\t<h2 class=\"portfolio-entry-title\"><a href=\"https:\/\/dylanmc.ca\/\/-\/portfolio\/ubuntu-software-updater\/\" title=\"Ubuntu Software Updater\">Ubuntu Software Updater<\/a><\/h2>\n\n\t\t\t\t\t\t\t<div class=\"portfolio-entry-meta\">\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t<\/div>\n\n\t\t\t\t\t\t<\/header>\n\n\t\t\t\t\t\t\t\t\t\t\t\t<div class=\"portfolio-entry-content\"><ul class=\"dylanmccall-list-plain wp-block-list\">\n<li><em>Personal project<\/em><\/li>\n<\/ul>\n<ul class=\"dylanmccall-list-badges wp-block-list\">\n<li>desktop<\/li>\n<li>ubuntu<\/li>\n<li>gnome<\/li>\n<li>gtk+<\/li>\n<li>python<\/li>\n<\/ul>\n<p>Ubuntu&#8217;s software updater originally presented updates as a long list of Debian package names, which was a source of confusion and worry for many users. After <a href=\"https:\/\/dylanmc.ca\/\/-\/blog\/2012\/05\/16\/home-from-uds-q\/\">a conversation<\/a> at the Ubuntu Developer Summit, I participated in a rewrite of its UI code following <a href=\"https:\/\/wiki.ubuntu.com\/SoftwareUpdates\">a set of wireframes<\/a> designed by <a href=\"https:\/\/launchpad.net\/~mpt\">Matthew Paul Thomas<\/a>&hellip;<\/p>\n<\/div>\n\t\t\t\t\t\t\t\t\t\t\t\t<\/div><!-- close .portfolio-entry -->\n\t\t\t\t\t\t\t\t\t\t<div class=\"portfolio-entry portfolio-entry-column-2 portfolio-entry-mobile-last-item-row portfolio-entry-last-item-row\">\n\t\t\t\t\t\t<header class=\"portfolio-entry-header\">\n\t\t\t\t\t\t<a class=\"portfolio-featured-image\" href=\"https:\/\/dylanmc.ca\/\/-\/portfolio\/where-will-santa-live\/\"><img loading=\"lazy\" decoding=\"async\" width=\"525\" height=\"315\" src=\"https:\/\/i0.wp.com\/dylanmc.ca\/wp-content\/uploads\/where-will-santa-live-feature.png?fit=525%2C315&amp;ssl=1\" class=\"attachment-large size-large wp-post-image\" alt=\"\" srcset=\"https:\/\/i0.wp.com\/dylanmc.ca\/wp-content\/uploads\/where-will-santa-live-feature.png?w=1462&amp;ssl=1 1462w, https:\/\/i0.wp.com\/dylanmc.ca\/wp-content\/uploads\/where-will-santa-live-feature.png?resize=300%2C180&amp;ssl=1 300w, https:\/\/i0.wp.com\/dylanmc.ca\/wp-content\/uploads\/where-will-santa-live-feature.png?resize=768%2C461&amp;ssl=1 768w, https:\/\/i0.wp.com\/dylanmc.ca\/wp-content\/uploads\/where-will-santa-live-feature.png?resize=750%2C450&amp;ssl=1 750w, https:\/\/i0.wp.com\/dylanmc.ca\/wp-content\/uploads\/where-will-santa-live-feature.png?w=1050&amp;ssl=1 1050w\" sizes=\"auto, 100vw\" data-attachment-id=\"9627\" data-permalink=\"https:\/\/dylanmc.ca\/\/-\/portfolio\/where-will-santa-live\/where-will-santa-live-feature\/\" data-orig-file=\"https:\/\/i0.wp.com\/dylanmc.ca\/wp-content\/uploads\/where-will-santa-live-feature.png?fit=1462%2C878&amp;ssl=1\" data-orig-size=\"1462,878\" data-comments-opened=\"0\" data-image-meta=\"{&quot;aperture&quot;:&quot;0&quot;,&quot;credit&quot;:&quot;&quot;,&quot;camera&quot;:&quot;&quot;,&quot;caption&quot;:&quot;&quot;,&quot;created_timestamp&quot;:&quot;0&quot;,&quot;copyright&quot;:&quot;&quot;,&quot;focal_length&quot;:&quot;0&quot;,&quot;iso&quot;:&quot;0&quot;,&quot;shutter_speed&quot;:&quot;0&quot;,&quot;title&quot;:&quot;&quot;,&quot;orientation&quot;:&quot;0&quot;}\" data-image-title=\"Where Will Santa Live\" data-image-description=\"\" data-image-caption=\"\" data-medium-file=\"https:\/\/i0.wp.com\/dylanmc.ca\/wp-content\/uploads\/where-will-santa-live-feature.png?fit=300%2C180&amp;ssl=1\" data-large-file=\"https:\/\/i0.wp.com\/dylanmc.ca\/wp-content\/uploads\/where-will-santa-live-feature.png?fit=525%2C315&amp;ssl=1\" \/><\/a>\n\t\t\t\t\t\t<h2 class=\"portfolio-entry-title\"><a href=\"https:\/\/dylanmc.ca\/\/-\/portfolio\/where-will-santa-live\/\" title=\"Where Will Santa Live?\">Where Will Santa Live?<\/a><\/h2>\n\n\t\t\t\t\t\t\t<div class=\"portfolio-entry-meta\">\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t<\/div>\n\n\t\t\t\t\t\t<\/header>\n\n\t\t\t\t\t\t\t\t\t\t\t\t<div class=\"portfolio-entry-content\"><ul class=\"dylanmccall-list-plain wp-block-list\">\n<li><strong>Employer:<\/strong> <a href=\"https:\/\/davidsuzuki.org\/\">David Suzuki Foundation<\/a><\/li>\n<\/ul>\n<ul class=\"dylanmccall-list-badges wp-block-list\">\n<li>web<\/li>\n<li>jquery<\/li>\n<li>ecommerce<\/li>\n<\/ul>\n<p><em>Where Will Santa Live?<\/em> was the David Suzuki Foundation&#8217;s Christmas fundraising campaign in 2011. It was a simple, whimsical website that inspired talk about climate change and invited people to donate to the foundation by purchasing e-cards as symbolic gifts&hellip;<\/p>\n<\/div>\n\t\t\t\t\t\t\t\t\t\t\t\t<\/div><!-- close .portfolio-entry -->\n\t\t\t\t\t\t\t\t\t\t<div class=\"portfolio-entry portfolio-entry-column-2 portfolio-entry-mobile-first-item-row portfolio-entry-first-item-row\">\n\t\t\t\t\t\t<header class=\"portfolio-entry-header\">\n\t\t\t\t\t\t<a class=\"portfolio-featured-image\" href=\"https:\/\/dylanmc.ca\/\/-\/portfolio\/harvest-ubuntu-com\/\"><img loading=\"lazy\" decoding=\"async\" width=\"525\" height=\"315\" src=\"https:\/\/i0.wp.com\/dylanmc.ca\/wp-content\/uploads\/harvest-ubuntu-com-feature.png?fit=525%2C315&amp;ssl=1\" class=\"attachment-large size-large wp-post-image\" alt=\"\" srcset=\"https:\/\/i0.wp.com\/dylanmc.ca\/wp-content\/uploads\/harvest-ubuntu-com-feature.png?w=3726&amp;ssl=1 3726w, https:\/\/i0.wp.com\/dylanmc.ca\/wp-content\/uploads\/harvest-ubuntu-com-feature.png?resize=300%2C180&amp;ssl=1 300w, https:\/\/i0.wp.com\/dylanmc.ca\/wp-content\/uploads\/harvest-ubuntu-com-feature.png?resize=768%2C461&amp;ssl=1 768w, https:\/\/i0.wp.com\/dylanmc.ca\/wp-content\/uploads\/harvest-ubuntu-com-feature.png?resize=750%2C450&amp;ssl=1 750w, https:\/\/i0.wp.com\/dylanmc.ca\/wp-content\/uploads\/harvest-ubuntu-com-feature.png?resize=2000%2C1200&amp;ssl=1 2000w, https:\/\/i0.wp.com\/dylanmc.ca\/wp-content\/uploads\/harvest-ubuntu-com-feature.png?w=1050&amp;ssl=1 1050w, https:\/\/i0.wp.com\/dylanmc.ca\/wp-content\/uploads\/harvest-ubuntu-com-feature.png?w=1575&amp;ssl=1 1575w\" sizes=\"auto, 100vw\" data-attachment-id=\"9630\" data-permalink=\"https:\/\/dylanmc.ca\/\/-\/portfolio\/harvest-ubuntu-com\/harvest-ubuntu-com-feature\/\" data-orig-file=\"https:\/\/i0.wp.com\/dylanmc.ca\/wp-content\/uploads\/harvest-ubuntu-com-feature.png?fit=3726%2C2235&amp;ssl=1\" data-orig-size=\"3726,2235\" data-comments-opened=\"0\" data-image-meta=\"{&quot;aperture&quot;:&quot;0&quot;,&quot;credit&quot;:&quot;&quot;,&quot;camera&quot;:&quot;&quot;,&quot;caption&quot;:&quot;&quot;,&quot;created_timestamp&quot;:&quot;0&quot;,&quot;copyright&quot;:&quot;&quot;,&quot;focal_length&quot;:&quot;0&quot;,&quot;iso&quot;:&quot;0&quot;,&quot;shutter_speed&quot;:&quot;0&quot;,&quot;title&quot;:&quot;&quot;,&quot;orientation&quot;:&quot;0&quot;}\" data-image-title=\"Harvest\" data-image-description=\"\" data-image-caption=\"\" data-medium-file=\"https:\/\/i0.wp.com\/dylanmc.ca\/wp-content\/uploads\/harvest-ubuntu-com-feature.png?fit=300%2C180&amp;ssl=1\" data-large-file=\"https:\/\/i0.wp.com\/dylanmc.ca\/wp-content\/uploads\/harvest-ubuntu-com-feature.png?fit=525%2C315&amp;ssl=1\" \/><\/a>\n\t\t\t\t\t\t<h2 class=\"portfolio-entry-title\"><a href=\"https:\/\/dylanmc.ca\/\/-\/portfolio\/harvest-ubuntu-com\/\" title=\"Harvest\">Harvest<\/a><\/h2>\n\n\t\t\t\t\t\t\t<div class=\"portfolio-entry-meta\">\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t<\/div>\n\n\t\t\t\t\t\t<\/header>\n\n\t\t\t\t\t\t\t\t\t\t\t\t<div class=\"portfolio-entry-content\"><ul class=\"dylanmccall-list-plain wp-block-list\">\n<li><em>Google Summer of Code 2010<\/em><\/li>\n<\/ul>\n<ul class=\"dylanmccall-list-badges wp-block-list\">\n<li>web<\/li>\n<li>design<\/li>\n<li>ubuntu<\/li>\n<li>django<\/li>\n<li>python<\/li>\n<\/ul>\n<p>Harvest was a web service  to guide people who want to contribute to Ubuntu. It aggregated small bug reports and other quick tasks which could use attention. For <a href=\"http:\/\/code.google.com\/soc\/\">Google Summer of Code<\/a> 2010, I worked with <a href=\"http:\/\/daniel.holba.ch\/blog\/\">Daniel Holbach<\/a> to design and implement its new web frontend&hellip;<\/p>\n<\/div>\n\t\t\t\t\t\t\t\t\t\t\t\t<\/div><!-- close .portfolio-entry -->\n\t\t\t\t\t\t\t\t\t<\/div><!-- close .jetpack-portfolio -->\n\t\t\t\t\n","protected":false},"excerpt":{"rendered":"<ul class=\"dylanmccall-list-plain wp-block-list\">\n<li><em>Google Summer of Code 2010<\/em><\/li>\n<\/ul>\n<ul class=\"dylanmccall-list-badges wp-block-list\">\n<li>web<\/li>\n<li>design<\/li>\n<li>ubuntu<\/li>\n<li>django<\/li>\n<li>python<\/li>\n<\/ul>\n<p>Harvest was a web service  to guide people who want to contribute to Ubuntu. It aggregated small bug reports and other quick tasks which could use attention. For <a href=\"http:\/\/code.google.com\/soc\/\">Google Summer of Code<\/a> 2010, I worked with <a href=\"http:\/\/daniel.holba.ch\/blog\/\">Daniel Holbach<\/a> to design and implement its new web frontend&hellip;<\/p>\n","protected":false},"author":2,"featured_media":0,"parent":0,"menu_order":0,"comment_status":"closed","ping_status":"closed","template":"","meta":{"jetpack_post_was_ever_published":false,"activitypub_content_warning":"","activitypub_content_visibility":"","activitypub_max_image_attachments":3,"activitypub_interaction_policy_quote":"anyone","activitypub_status":"","footnotes":""},"class_list":["post-15","page","type-page","status-publish","hentry"],"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v27.1.1 - https:\/\/yoast.com\/product\/yoast-seo-wordpress\/ -->\n<title>Portfolio - Dylan McCall<\/title>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/dylanmc.ca\/\/-\/portfolio\/\" \/>\n<meta property=\"og:locale\" content=\"en_US\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Portfolio - Dylan McCall\" \/>\n<meta property=\"og:description\" content=\"Google Summer of Code 2010  web design ubuntu django python Harvest was a web service to guide people who want to contribute to Ubuntu. It aggregated small bug reports and other quick tasks which could use attention. For Google Summer of Code 2010, I worked with Daniel Holbach to design and implement its new web frontend&hellip;\" \/>\n<meta property=\"og:url\" content=\"https:\/\/dylanmc.ca\/\/-\/portfolio\/\" \/>\n<meta property=\"og:site_name\" content=\"Dylan McCall\" \/>\n<meta property=\"article:modified_time\" content=\"2019-08-06T20:32:46+00:00\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\/\/schema.org\",\"@graph\":[{\"@type\":\"WebPage\",\"@id\":\"https:\/\/dylanmc.ca\/\/-\/portfolio\/\",\"url\":\"https:\/\/dylanmc.ca\/\/-\/portfolio\/\",\"name\":\"Portfolio - Dylan McCall\",\"isPartOf\":{\"@id\":\"https:\/\/dylanmc.ca\/\/-\/#website\"},\"datePublished\":\"2011-06-14T07:25:32+00:00\",\"dateModified\":\"2019-08-06T20:32:46+00:00\",\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\/\/dylanmc.ca\/\/-\/portfolio\/\"]}]},{\"@type\":\"WebSite\",\"@id\":\"https:\/\/dylanmc.ca\/\/-\/#website\",\"url\":\"https:\/\/dylanmc.ca\/\/-\/\",\"name\":\"Dylan McCall\",\"description\":\"\",\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\/\/dylanmc.ca\/\/-\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"en-US\"}]}<\/script>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"Portfolio - Dylan McCall","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/dylanmc.ca\/\/-\/portfolio\/","og_locale":"en_US","og_type":"article","og_title":"Portfolio - Dylan McCall","og_description":"Google Summer of Code 2010  web design ubuntu django python Harvest was a web service to guide people who want to contribute to Ubuntu. It aggregated small bug reports and other quick tasks which could use attention. For Google Summer of Code 2010, I worked with Daniel Holbach to design and implement its new web frontend&hellip;","og_url":"https:\/\/dylanmc.ca\/\/-\/portfolio\/","og_site_name":"Dylan McCall","article_modified_time":"2019-08-06T20:32:46+00:00","schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"WebPage","@id":"https:\/\/dylanmc.ca\/\/-\/portfolio\/","url":"https:\/\/dylanmc.ca\/\/-\/portfolio\/","name":"Portfolio - Dylan McCall","isPartOf":{"@id":"https:\/\/dylanmc.ca\/\/-\/#website"},"datePublished":"2011-06-14T07:25:32+00:00","dateModified":"2019-08-06T20:32:46+00:00","inLanguage":"en-US","potentialAction":[{"@type":"ReadAction","target":["https:\/\/dylanmc.ca\/\/-\/portfolio\/"]}]},{"@type":"WebSite","@id":"https:\/\/dylanmc.ca\/\/-\/#website","url":"https:\/\/dylanmc.ca\/\/-\/","name":"Dylan McCall","description":"","potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/dylanmc.ca\/\/-\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"en-US"}]}},"jetpack_shortlink":"https:\/\/wp.me\/PcXOQX-f","jetpack_sharing_enabled":false,"_links":{"self":[{"href":"https:\/\/dylanmc.ca\/\/-\/wp-json\/wp\/v2\/pages\/15","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/dylanmc.ca\/\/-\/wp-json\/wp\/v2\/pages"}],"about":[{"href":"https:\/\/dylanmc.ca\/\/-\/wp-json\/wp\/v2\/types\/page"}],"author":[{"embeddable":true,"href":"https:\/\/dylanmc.ca\/\/-\/wp-json\/wp\/v2\/users\/2"}],"replies":[{"embeddable":true,"href":"https:\/\/dylanmc.ca\/\/-\/wp-json\/wp\/v2\/comments?post=15"}],"version-history":[{"count":182,"href":"https:\/\/dylanmc.ca\/\/-\/wp-json\/wp\/v2\/pages\/15\/revisions"}],"predecessor-version":[{"id":11398,"href":"https:\/\/dylanmc.ca\/\/-\/wp-json\/wp\/v2\/pages\/15\/revisions\/11398"}],"wp:attachment":[{"href":"https:\/\/dylanmc.ca\/\/-\/wp-json\/wp\/v2\/media?parent=15"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}