-title = childhoods end
-date = Oct 05 2011, 03:17:57 PM
-tags = india quote
---
-
-> The case of India is particularly instructive. The main difference between us and the British in India was that they had no real motives for going there—no conscious objectives, that is, except such trivial and temporary ones as trade or hostility to other European powers. They found themselves possessors of an empire before they knew what to do with it, and were never really happy until they had got rid of it again.
-
-> —"The Inspector" Overlord. <u>Childhoods End</u>, Arthur C. Clark. p.161
+title = childhoods end\r
+date = Oct 05 2011, 03:17:57 PM\r
+tags = india quote\r
+--\r
+\r
+> The case of India is particularly instructive. The main difference between us and the British in India was that they had no real motives for going there—no conscious objectives, that is, except such trivial and temporary ones as trade or hostility to other European powers. They found themselves possessors of an empire before they knew what to do with it, and were never really happy until they had got rid of it again.\r
+\r
+> —"The Inspector" Overlord. <u>Childhoods End</u>, Arthur C. Clark. p.161\r
--- /dev/null
+--
+Studio
html, body, table {
color: #555555;
- font-family: sans-serif;
- font-size:13px;
- line-height: 1.5em; }
+ font-family: sans-serif, monaco, monospace;
+ font-size: 14px;
+ line-height: 1.6em; }
body {
margin: 2em; }
}
+.edit {
+ margin-left: 160px;
+ padding:20px;
+ box-sizing: border-box;
+ background:#ccf;
+}
+
+.edit textarea {
+ font-family: monaco, monospace;
+ padding:20px;
+ width:100%;
+ font-size:12px;
+ background:#005;
+ color:#eee;
+ height:400px;
+}
+
+
#nav {
position:fixed;
-{"entries":[{"config":{"date":"feb 20 2012","title":"temple","tags":"photo"},"title":"temple","filename":"temple","path":"\/Users\/gdunne\/_code\/plog\/content\/log\/temple","fileInfo":{},"timestamp":"1329724800","tags":["photo"],"content":"<p><a href=\"http:\/\/www.flickr.com\/photos\/quilime\/6914577153\/sizes\/z\/in\/photostream\/\">\n <img src=\"http:\/\/farm8.staticflickr.com\/7053\/6914577153_4c2b7d8a1a_z.jpg\">\n<\/a><\/p>\n","comments_enabled":false,"comments":{"comments":[],"comments_loc":"\/Users\/gdunne\/_code\/plogcomments\/\/Users\/gdunne\/_code\/plog\/content\/log\/temple\/","fileInfo":{},"_recaptcha_resp":null,"_recaptcha_error":null,"_comment_error":null},"cat":{"name":"log","url":"\/log\/"},"media":"media\/\/log\/temple\/","thumb":"media\/\/log\/temple\/thumb.png","url":"\/log\/temple"},{"config":{"title":"Water Is Life","date":"Oct 23 2011 06:04:38 PM","tags":"water photo"},"title":"Water Is Life","filename":"water_is_life","path":"\/Users\/gdunne\/_code\/plog\/content\/log\/water_is_life","fileInfo":{},"timestamp":"1319418278","tags":["water","photo"],"content":"<p><a href=\"http:\/\/www.flickr.com\/photos\/quilime\/6266458764\/sizes\/l\/in\/photostream\/\"><img src=\"http:\/\/farm7.staticflickr.com\/6034\/6266458764_6f71bd0a7e_z.jpg\"><\/a><\/p>\n\n<p>near Quotar Minar in Dadabari.<\/p>\n","comments_enabled":false,"comments":{"comments":[],"comments_loc":"\/Users\/gdunne\/_code\/plogcomments\/\/Users\/gdunne\/_code\/plog\/content\/log\/water_is_life\/","fileInfo":{},"_recaptcha_resp":null,"_recaptcha_error":null,"_comment_error":null},"cat":{"name":"log","url":"\/log\/"},"media":"media\/\/log\/water_is_life\/","thumb":"media\/\/log\/water_is_life\/thumb.png","url":"\/log\/water_is_life"},{"config":{"title":"islands","date":"Oct 05 2011, 03:53:55 PM","tags":"writing quote"},"title":"islands","filename":"islands","path":"\/Users\/gdunne\/_code\/plog\/content\/log\/islands","fileInfo":{},"timestamp":"1317855235","tags":["writing","quote"],"content":"<blockquote>\n <p>Imagine that every man's mind is an island, surrounded by ocean. Each seems isolated, yet in reality all are linked by the bedrock from which they spring. If the ocean were to vanish, that would be the end of the islands. They would all be part of one continent, but their individuality would be gone.<\/p>\n \n <p>—\"The Inspector\" Overlord. <u>Childhoods End<\/u>, Arthur C. Clark. p.176<\/p>\n<\/blockquote>\n","comments_enabled":false,"comments":{"comments":[],"comments_loc":"\/Users\/gdunne\/_code\/plogcomments\/\/Users\/gdunne\/_code\/plog\/content\/log\/islands\/","fileInfo":{},"_recaptcha_resp":null,"_recaptcha_error":null,"_comment_error":null},"cat":{"name":"log","url":"\/log\/"},"media":"media\/\/log\/islands\/","thumb":"media\/\/log\/islands\/thumb.png","url":"\/log\/islands"},{"config":{"title":"childhoods end","date":"Oct 05 2011, 03:17:57 PM","tags":"india quote"},"title":"childhoods end","filename":"overlords","path":"\/Users\/gdunne\/_code\/plog\/content\/log\/overlords","fileInfo":{},"timestamp":"1317853077","tags":["india","quote"],"content":"<blockquote>\n <p>The case of India is particularly instructive. The main difference between us and the British in India was that they had no real motives for going there—no conscious objectives, that is, except such trivial and temporary ones as trade or hostility to other European powers. They found themselves possessors of an empire before they knew what to do with it, and were never really happy until they had got rid of it again.<\/p>\n \n <p>—\"The Inspector\" Overlord. <u>Childhoods End<\/u>, Arthur C. Clark. p.161<\/p>\n<\/blockquote>\n","comments_enabled":false,"comments":{"comments":[],"comments_loc":"\/Users\/gdunne\/_code\/plogcomments\/\/Users\/gdunne\/_code\/plog\/content\/log\/overlords\/","fileInfo":{},"_recaptcha_resp":null,"_recaptcha_error":null,"_comment_error":null},"cat":{"name":"log","url":"\/log\/"},"media":"media\/\/log\/overlords\/","thumb":"media\/\/log\/overlords\/thumb.png","url":"\/log\/overlords"}]}
\ No newline at end of file
+{"entries":[{"config":{"date":"feb 20 2012","title":"temple","tags":"photo"},"title":"temple","filename":"temple","path":"\/Users\/gdunne\/_code\/plog\/content\/log\/temple","fileInfo":{},"timestamp":"1329724800","tags":["photo"],"content":"<p><a href=\"http:\/\/www.flickr.com\/photos\/quilime\/6914577153\/sizes\/z\/in\/photostream\/\">\n <img src=\"http:\/\/farm8.staticflickr.com\/7053\/6914577153_4c2b7d8a1a_z.jpg\">\n<\/a><\/p>\n","comments_enabled":false,"comments":{"comments":[],"comments_loc":"\/Users\/gdunne\/_code\/plogcomments\/\/Users\/gdunne\/_code\/plog\/content\/log\/temple\/","fileInfo":{},"_recaptcha_resp":null,"_recaptcha_error":null,"_comment_error":null},"cat":{"name":"log","url":"\/log\/"},"media":"media\/\/log\/temple\/","thumb":"media\/\/log\/temple\/thumb.png","url":"\/log\/temple"},{"config":{"title":"Water Is Life","date":"Oct 23 2011 06:04:38 PM","tags":"water photo"},"title":"Water Is Life","filename":"water_is_life","path":"\/Users\/gdunne\/_code\/plog\/content\/log\/water_is_life","fileInfo":{},"timestamp":"1319418278","tags":["water","photo"],"content":"<p><a href=\"http:\/\/www.flickr.com\/photos\/quilime\/6266458764\/sizes\/l\/in\/photostream\/\"><img src=\"http:\/\/farm7.staticflickr.com\/6034\/6266458764_6f71bd0a7e_z.jpg\"><\/a><\/p>\n\n<p>near Quotar Minar in Dadabari.<\/p>\n","comments_enabled":false,"comments":{"comments":[],"comments_loc":"\/Users\/gdunne\/_code\/plogcomments\/\/Users\/gdunne\/_code\/plog\/content\/log\/water_is_life\/","fileInfo":{},"_recaptcha_resp":null,"_recaptcha_error":null,"_comment_error":null},"cat":{"name":"log","url":"\/log\/"},"media":"media\/\/log\/water_is_life\/","thumb":"media\/\/log\/water_is_life\/thumb.png","url":"\/log\/water_is_life"},{"config":{"title":"islands","date":"Oct 05 2011, 03:53:55 PM","tags":"writing quote"},"title":"islands","filename":"islands","path":"\/Users\/gdunne\/_code\/plog\/content\/log\/islands","fileInfo":{},"timestamp":"1317855235","tags":["writing","quote"],"content":"<blockquote>\n <p>Imagine that every man's mind is an island, surrounded by ocean. Each seems isolated, yet in reality all are linked by the bedrock from which they spring. If the ocean were to vanish, that would be the end of the islands. They would all be part of one continent, but their individuality would be gone.<\/p>\n \n <p>—\"The Inspector\" Overlord. <u>Childhoods End<\/u>, Arthur C. Clark. p.176<\/p>\n<\/blockquote>\n","comments_enabled":false,"comments":{"comments":[],"comments_loc":"\/Users\/gdunne\/_code\/plogcomments\/\/Users\/gdunne\/_code\/plog\/content\/log\/islands\/","fileInfo":{},"_recaptcha_resp":null,"_recaptcha_error":null,"_comment_error":null},"cat":{"name":"log","url":"\/log\/"},"media":"media\/\/log\/islands\/","thumb":"media\/\/log\/islands\/thumb.png","url":"\/log\/islands"},{"config":{"title":"childhoods end","date":"Oct 05 2011, 03:17:57 PM","tags":"india quote"},"title":"childhoods end","filename":"overlords","path":"\/Users\/gdunne\/_code\/plog\/content\/log\/overlords","fileInfo":{},"timestamp":"1317853077","tags":["india","quote"],"content":"<blockquote>\n <p>The case of India is particularly instructive. The main difference between us and the British in India was that they had no real motives for going there\u2014no conscious objectives, that is, except such trivial and temporary ones as trade or hostility to other European powers. They found themselves possessors of an empire before they knew what to do with it, and were never really happy until they had got rid of it again.<\/p>\n \n <p>\u2014\"The Inspector\" Overlord. <u>Childhoods End<\/u>, Arthur C. Clark. p.161<\/p>\n<\/blockquote>\n","comments_enabled":false,"comments":{"comments":[],"comments_loc":"\/Users\/gdunne\/_code\/plogcomments\/\/Users\/gdunne\/_code\/plog\/content\/log\/overlords\/","fileInfo":{},"_recaptcha_resp":null,"_recaptcha_error":null,"_comment_error":null},"cat":{"name":"log","url":"\/log\/"},"media":"media\/\/log\/overlords\/","thumb":"media\/\/log\/overlords\/thumb.png","url":"\/log\/overlords"}]}
\ No newline at end of file
<?php
-
require 'lib/init.php';
if ($m->is_single() || $m->is_page() || $m->is_multiple())
$v->assign('entry', $m->entry);
+$v->assign('is_edit', $m->is_edit);
header("Content-Type: {$m->response_mime_type}; charset=UTF-8");
$v->render( $m->template, $m->response_format );
exit;
-
[development]
dev = true
+edit = true
+
[settings]
; general settings
if (isset($dir_iterator)) {
foreach ($dir_iterator as $file => $info) {
if (!$info->isDir() && $info->getFilename() != CONFIG_FILE) {
- // dot files
+ // skip dot files
if (substr($info->getFilename(), 0, 1) == '.')
continue;
$entry = parse_entry($info);
$dirs = array();
foreach ($dir_iterator as $dir => $info) {
if ($info->isDir() && $info->getFilename() != '.' && $info->getFilename() != '..') {
+ // skip dot files
+ if (substr($info->getFilename(), 0, 1) == '.')
+ continue;
$d = array();
$d['url'] = WEB_ROOT . str_replace($path, "", $info->getRealPath());
if (!CLEAN_URLS)
$dir_iterator = new DirectoryIterator($path);
$pages = array();
foreach($dir_iterator as $page) {
- if ($page->isDir()) continue;
+
+ // skip folders and dotfiles
+ if ($page->isDir() || substr($page->getFilename(), 0, 1) == '.')
+ continue;
+
$e = parse_entry($page, 1);
$e->is_page = 1;
$pages[] = $e;
fclose($fp);
}
if (!file_exists( $_POST['edited_file'] )) {
- throw new Exception('Error creating tags.json. Permissions?');
+ throw new Exception('Error editing file. Permissions?');
}
} catch (Exception $e) {
echo 'Caught exception: ', $e->getMessage(), "\n";
define ('TITLE_DELIMITER', $_cfg['title_delim']);
define ('ENTRY_DATE_FORMAT', $_cfg['date_format']);
define ('DEV', $_cfg['dev']);
+define ('EDIT', $_cfg['edit']);
$_FILE_IGNORES = $_cfg['file_ignores'];
# recaptcha for comments
-require_once 'recaptchalib.php';
+//require_once 'recaptchalib.php';
// Get a key from https://www.google.com/recaptcha/admin/create
-$captcha_publickey = "6Lek-MkSAAAAAAZknQQGSx9DiCqm_wAiFGytc37d";
-$captcha_privatekey = "6Lek-MkSAAAAAK4FAaPKO0Cwp-iHa0OcUaqipee4";
+//$captcha_publickey = "6Lek-MkSAAAAAAZknQQGSx9DiCqm_wAiFGytc37d";
+//$captcha_privatekey = "6Lek-MkSAAAAAK4FAaPKO0Cwp-iHa0OcUaqipee4";
var $entry = null;
var $config = null;
+ var $is_edit = false;
- function __construct( $request )
+
+ function __construct( $req )
{
- $this->request = $request;
+ $this->request = $req;
+
+ // TODO: clean request to make sure there's no ../'s
+
+ if (EDIT) {
+ $this->is_edit = strpos($this->request['path'], 'edit/') !== false ? true : false;
+ $this->request['dirname'] = str_replace('edit/', '', $this->request['dirname']);
+ $this->request['path'] = str_replace('edit/', '', $this->request['path']);
+ if ($_SERVER['REQUEST_METHOD'] == 'POST')
+ $this->process_edit_post_request();
+ }
+
+
list($this->response_format, $this->response_mime_type) = parse_format($this->request['extension']);
$this->template = 'default.' . $this->response_format . '.tpl';
$this->parse_request( $this->request );
function parse_request( $request )
{
-/*
- $dirs = explode('/', $request['path']);
- switch($dirs[0]) {
- # EDITING
- case 'edit' :
- include 'edit.php';
- break;
- # TAG
- case 'tag' :
- echo 'tag time.';
- exit;
- break;
- }
-
-
- # edit
- if (DEV && isset($edit) && $edit) {
- $this->template = 'edit.html.tpl';
- }
-
-*/
# if multiple (multiple files in CONTENT dir)
if ($this->is_multiple()) {
// post request
if ($_SERVER['REQUEST_METHOD'] == 'POST')
- $this->process_post_request($this->entry);
+ $this->process_post_request( $this->entry );
+
// prev/next
+ /*
$entries = get_entries( $request['dirname'] );
for($i = count($entries)-1; $i>=0; $i--) {
if ($this->entry->url == $entries[$i]->url) {
break;
}
}
+ */
$this->entry->is_single = true;
$this->template = 'single.' . $this->response_format . '.tpl';
}
function process_post_request( &$entry ) {
+
if (isset($entry->comments))
$entry->comments->process_post_request();
}
+ function process_edit_post_request() {
+ if ($this->is_edit && isset($_POST['edited_file_contents'])) {
+ try {
+ if (!is_writable( $this->get_filename() )) {
+ throw new Exception('Error editing file. Permissions?');
+ }
+ $fp = fopen( $this->get_filename(), 'w');
+ if ($fp) {
+ fwrite($fp, $_POST['edited_file_contents']);
+ fclose($fp);
+ }
+ } catch (Exception $e) {
+ echo 'Caught exception: ', $e->getMessage(), "\n";
+ }
+ }
+ }
+
function has_config()
{
- $conf = join(array( LOCAL_ROOT, CONTENT_DIR, $this->request['path'], CONFIG_FILE ), DIRECTORY_SEPARATOR );
+ $conf = join(array( LOCAL_ROOT, CONTENT_DIR, $this->request['path'], CONFIG_FILE ), '/' );
return is_file($conf) ? 1 : 0;
}
function is_multiple()
{
- return is_dir(join(array( LOCAL_ROOT, CONTENT_DIR, $this->request['path'] ), DIRECTORY_SEPARATOR )) ? 1 : 0;
+ return is_dir(join(array( LOCAL_ROOT, CONTENT_DIR, $this->request['path'] ), '/' )) ? 1 : 0;
}
function is_single()
{
- return is_file(join(array( LOCAL_ROOT, CONTENT_DIR, $this->request['path'] ), DIRECTORY_SEPARATOR )) ? 1 : 0;
+ return is_file(join(array( LOCAL_ROOT, CONTENT_DIR, $this->request['path'] ), '/' )) ? 1 : 0;
}
function is_page()
{
- $path = rtrim(join(array( LOCAL_ROOT, PAGE_DIR, $this->request['path'] ), DIRECTORY_SEPARATOR ), '/');
+ $path = rtrim(join(array( LOCAL_ROOT, PAGE_DIR, $this->request['path'] ), '/' ), '/');
return is_file($path) ? 1 : 0;
}
+
+ function get_filename()
+ {
+ if ($this->is_page())
+ return rtrim(join(array( LOCAL_ROOT, PAGE_DIR, $this->request['path'] ), '/' ), '/');
+ else
+ return rtrim(join(array( LOCAL_ROOT, CONTENT_DIR, $this->request['path'] ), '/' ), '/');
+ }
}
var $response_mime_type = 'text/html';
var $_tpl_vars = array();
+
function __construct()
{
public function render( $template, $response_format = 'html' )
{
extract( $this->_tpl_vars );
- if (!is_file($this->template_dir . DIRECTORY_SEPARATOR . $template))
- $template = $this->default_template . '.' . $response_format . '.tpl';
- include( $this->template_dir . DIRECTORY_SEPARATOR . $template );
+ if (!is_file($this->template_dir.'/'.$template))
+ $template = $this->default_template.'.'.$response_format.'.tpl';
+ include( $this->template_dir.'/'.$template );
}
title = about
--
-
-#about
-
-quilime is an archive of my experiments and process
-
-this site is built with <a href="http://git.quilime.com/?p=plog.git;a=summary">plog</a>, a static-file `p`roject`log` engine written in PHP.
-
-<!--add <a href="http://quilime.com/.rss" class="rss">.rss</a>-->
-
-@ 1999—2012 gabriel dunne
-[www](http://gabrieldunne.com), [email](mailto:gdunne@quilime.com)
-
-<br />
-
-## also
-[aggregate](http://media.quilime.com/aggregate/)
-[clmpr](http://clmpr.com/quilime/)
-
-<br />
-
-## elsewhere
-[@quilime](http://twitter.com/quilime/)
-[vimeo](http://vimeo.com/quilime/)
-[github](http://github.com/quilime/)
-[flickr](http://flickr.com/photos/quilime/)
-
-<br />
-
-## feeds
-[rss](http://quilime.com/.rss)
-[feedburner](http://feeds.feedburner.com/quilime)
+Born, lives, and works in the San Francisco Bay Area
--- /dev/null
+
+--
+
+
+Born and lives in the San Francisco Bay Area, works internationally.
+
+<!--
+Gabriel Dunne develops artistic and research focused projects based on space, time, perception. Some key elements of his work are the overlap of physical, visual, and sonic perception. The use of light, sound, projection, and structure are prime mediums for his work.
+-->
+
--- /dev/null
+--
+
+
+1242 Market St, FL 2
+San Francisco, CA USA 94102
+studio@gabrieldunne.com
+\+ 1 415 493 8496
+
+<br />
+
+<form>
+
+<p>
+<lable>name</label><br />
+<input type="text" name="name">
+</p>
+
+<p>
+<lable>email</label><br />
+<input type="text" name="email">
+</p>
+
+<p>
+<lable>message</label><br />
+<textarea style="width:250px;height:100px;"></textarea>
+</p>
+
+<p>
+<input type="submit" value="send">
+</p>
+
+</form>
--- /dev/null
+title = cv
+--
+
+**edu**
+2003 B.A. Design | Media Arts, UCLA
+2001 Pont Aven School of Art, France
+1999 College of Marin, Architecture
+<br />
+<br />
+
+
+**select exhibition + performance**
+2012 CCRMA Show. Live Visuals.
+2012 Creators Project SF, San Francisco. "Audio Shader Toy", Installation (collab).
+2012 India Art Fair, Delhi, India. Collaboration with Vishal K Dar.
+2011 Sepalcure, Shigeto, Simple & Santa, GAFFTA, San Francisco. Live visuals. <a href="http://www.gaffta.org/2011/03/01/sepalcure-shigeto-simple-santa/">→</a>
+2010 Milieux Sonores: Sound and Imaginary Space, GAFFTA, San Francisco. Live A/V performance.
+2010 Biennial of the Americas, Denver. Live A/V performance.
+2010 Prototype, GAFFTA, San Francisco. Installation.
+2010 Powers of Ten, GAFFTA. Installation.
+2008 Design and the Elastic Mind, MoMA NYC Permanent Collection. Collab w/Stamen Design.
+2006 Interferenze: Naturalis Electronica, Valle Caudina, Italy.
+2006 Japan Media Arts Festival, Tokyo, Japan
+2006 Festival Sonar, Barcelona, Spain
+2006 SIGGRAPH, Boston
+2005 New Wight Gallery MFA Show, UCLA, Los Angeles, CA (collab.)
+2005 SIGGRAPH, Los Angeles
+2005 :Output International Design Competition, Amsterdam, Netherlands
+2005 CiberArt: International Festival of New Technologies, Bilbao, Spain
+2004 Traffic, New Wight Gallery, UCLA, Los Angeles, CA. Collab w/Scott Hessels.
+2003 Sur(Face), Design Media Arts EDA, Los Angeles, CA
+2003 Eyberrations Digital Film Festival, Irvine, CA
+2002 Melbourne International Film Festival", Melbourne, Australia
+2002 Experimental Works On Paper, Paris, France
+2002 Experimental Works On Paper, Rennes, France
+2002 Jaquez Gallery Collection, Pont Aven, France. Permanent Collection.
+<br />
+<br />
+
+
+
+**residencies / collaborations**
+2011 Studio Collaboration w/ Studio Vishal K. Dar
+2009—2010 Residency, Gray Area Foundation for the Arts
+<br />
+<br />
+
+
+
+
+
+**public collections**
+New York Museum of Modern Art, NY
+Jaquez Gallery Collection, Pont Aven, France
+<br />
+<br />
+
+
+
+
+**talks**
+2010 "Prototype" Resident Artist Symposium, Gray Area, San Francisco
+2004 Text + Architecture & Writing in Architecture, SCIARC, Los Angeles
+2003 narr@tive: Digital Storytelling, Hammer Museum, Los Angeles
+<br />
+<br />
+
+
+**teaching/advisory**
+2012 Film/Code Remix (Youth Program, BAVC, San Francisco), co-teach with Jonathan McIntosh. 1 yr.
+2011 Creative Code (Youth Program, BAVC, San Francisco), 1 yr.
+2011 Processing 101 Workshop(Certificate Program, Gray Area, San Francisco), 2 wk
+2010 Open Source (Youth Program, BAVC, San Francisco), 1 yr.
+2010 Creative Coding: An Introduction to Processing (Gray Area, San Francisco), 2 wk
+2009 Creative Coding (Gray Area, San Francisco), 2 wek
+2009 Introduction to Processing (Gray Area, San Francisco), weekend
+2007 Processing (Makers Faire, San Mateo), 2 hr
+2005 Programming and Design (UCLA student workshops, Los Angeles), 1 semester
+2004 Maya Workshop Series (UCLA, Los Angeles), 1 semester
+2003 Typography Workshop Series (UCLA, Los Angeles), 1 day
+2003 Adobe Software Workshops, Photoshop/Illustrator/After Effects (UCLA, Los Angeles), Lead Instructor, 1 day each
+2002 Macromedia Design Student Workshops (UCLA, Los Angeles), 1 day
+<br />
+<br />
+
+
+**websites**
+2011 Duran Duran "All You Need Is Now" http://now.gaffta.org
+2010 Seaquence http://seaquence.org
+2007 Motion Theory [link]
+<br />
+<br />
+
+**commercials**
+Budwieser "Superbowl", Motion Theory
+Budwieser "The Game", Motion Theory
+Nike "One", Motion Theory
+<br />
+<br />
+
+
+**shorts**
+RestFest 2003 Opener, Motion Theory
+The Mirror
+<br />
+<br />
+
+
+
+**music videos**
+Beck "Girl", Motion Theory
+Papa Roach "Getting Away With Murder", Motion Theory
+<br />
+<br />
+
+
+
+**print / tv / radio**
+Art College Radio, San Francisco
+MIT Aerospace Annual
+A'minima #17
+FOCUS Italia, May Issue
+Discover Magazine
+Wired
+Adult Swim, Cartoon Network
+Contemporary Art of Science and Technology
+AD: Architectural Digest
+HDRI
+<br />
+<br />
+
+
+**awards**
+Creative Review Best in Show 2005, Beck "Girl"
+Type Directors Award, Nike "Golf"
+AIGA, Hewlett Packard "It Consolidates"
+AICP, Hewlett Packard "Hands"
+Screen Network Australia Best in Show
+Shorttakes Film Festival, Best Visual Effects
+<br />
+<br />
+
+
+**academic honors**
+2002, 2003 UCLA Deans List
+2001 UCLA Merit Scholarship
+<br />
+<br />
+
+**credentials**
+Adobe A.C.E. Certified in Photoshop, Illustrator
+<br />
+<br />
+
+
+
+
+
+
+
+
+**professional activity**
+2012—cur Obscura Digital, Consultant
+2010—cur Bay Area Video Coalition, Youth Instructor
+2005—cur Tessellated Group, Designer
+1999—cur Studio Gabriel Dunne, Owner
+2009—2010 Gray Area Foundation for the Arts, Studio Director/Resident Artist
+2007—2008 Stamen Design, Data Visualization Software Developer
+2007—2008 Google, Inc, Data Visualization Software Developer
+2004—2006 Motion Theory: Animator, Designer, Software,
+<br />
+<br />
+
+**commercial & non/profit clients**
+Ogilvy & Mather
+Goodby, Silverstein & Partners
+Mekanism
+Hewlett Packard
+Nike
+Budweiser
+Cadillac
+Ogilvy & Mather
+The Soup
+Tessellated Group
+Google
+YouTube
+Gray Area Foundation for the Arts
+Bay Area Video Coalition
+Duran Duran
+<br />
+<br />
--- /dev/null
+title = links
+--
+
++ [quilime.com](http://quilime.com) process blog
++ [ssherriff.com](http://ssherriff.com) stephanie sherriff
++ [onecm.com](http://onecm.com) ryan alexander
++ [ripevessel.com](http://ripevessel.com) adam roth
++ [jtnimoy.net](http://jtnimoy.net) joshua nimoy
++ [oddsympathy.com](http://oddsympathy.com) daniel massey
++ [carbonworkshop.com](http://carbonworkshop.com) gustavo huber & shelly brown
++ [keithpasko.com](http://keithpasko.com) keith pasko
++ [dabkitsch.com/jml/](http://dabkitsch.com/jml/) jeff lubow
++ [ghost-hack.com](http://ghost-hack.com) michael chang
++ [flight404.com](http://flight404.com) robert hodgin
++ [pohflepp.com](http://pohflepp.com) sascha pohflep
++ [mylinhtrieu.com](http://mylinhtrieu.com) mylinh ttieu nguyen
++ [fredericeyl.de](http://fredericeyl.de) frédéric eyl
++ [thegreeneyl.com](http://thegreeneyl.com) the green eyl
++ [universaloscillation.com](http://universaloscillation.com) aaron meyers
++ [aaronkoblin.com](http://aaronkoblin.com) aaron koblin
++ [tom-carden.co.uk](http://tom-carden.co.uk) tom carden
++ [mike.teczno.co](http://mike.teczno.com) michal migurski
++ [davidrager.org](http://davidrager.org) david rager
++ [digitanalog.net](http://digitanalog.net) marc nimoy
++ [makaga.com](http://makaga.com) matthew gale
++ [reas.com](http://rea.com/) casey reas
++ [n-e-r-v-o-u-s.com](http://n-e-r-v-o-u-s.com/) nervous system
++ [gaffta.org](http://gaffta.org) gray area foundation for the arts (GAFFTA)
++ [bavc.org](http://bavc.org) bay area video coalition (BAVC)
-<html>
-<head>
-
- <? $this->include_template('head-inc.html.tpl') ?>
-
- <title><?=SITE_TITLE?><?=TITLE_DELIMITER?><?=$entry->title?></title>
-
-</head>
-<body>
-
- <? $this->include_template('nav.html.tpl') ?>
-
-<div id="content" class="edit">
-
+<div class="edit">
<? if ($entry): ?>
<? $fileContents = file_get_contents($entry->fileInfo); ?>
-
<form action="" method="POST">
<textarea name="edited_file_contents"><?=$fileContents?></textarea>
- <input type="hidden" name="edited_file" value="<?=$entry->fileInfo->getPath().DIRECTORY_SEPARATOR.$entry->fileInfo->getFilename();?>">
<input type="button" onClick="window.location = '<?=$entry->url?>'"value="cancel">
<input type="submit" value="save">
</form>
-
<? endif; ?>
-
</div>
-
- <? $this->include_template('footer.html.tpl') ?>
-
-</body>
-</html>
endfor;
?>
</span>
- <?
- endif;
- ?>
+ <? endif; ?>
</div>
<? /*
?>
-<? if (DEV) : ?>
-<a href="<?=WEB_ROOT?>edit<?=$entry->cat->url . $entry->filename?>">edit</a>
+<? if (EDIT) : ?>
+<a href="<?=WEB_ROOT?>edit<?=$entry->cat->url.$entry->filename?>">edit</a>
<? endif; ?>
</div>
<!-- footer -->
-
+<!--
<script src="<?=get_base_dir();?>/js/js.js"></script>
-
+ -->
-
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<? /*
*/ ?>
<link rel="alternate" type="application/rss+xml" title="official quilime RSS Feed" href="<?=get_base_dir();?>/.rss" />
<link rel="stylesheet" href="<?=get_base_dir();?>/css/style.css" type="text/css">
-<link rel="stylesheet" href="<?=get_base_dir();?>/css/comments.css" type="text/css">
-
-<script type="text/javascript" src="/js/prettify/prettify.js"></script>
-<link href="/js/prettify/prettify.css" type="text/css" rel="stylesheet" />
+<!-- <link rel="stylesheet" href="<?=get_base_dir();?>/css/comments.css" type="text/css"> -->
+<!-- <script type="text/javascript" src="/js/prettify/prettify.js"></script> -->
+<!-- <link href="/js/prettify/prettify.css" type="text/css" rel="stylesheet" /> -->
+<!--
<script>
window.onload = function() {
prettyPrint();
}
</script>
-
+ -->
<? $this->include_template('nav.html.tpl') ?>
+ <? if ($is_edit) $this->include_template('edit.html.tpl'); ?>
+
<div id="content" class="single entry">
<div class="entry">
<? $this->include_template('entry.html.tpl', array('entry' => $entry, 'single' => true)); ?>