+++ /dev/null
-title = Example
-date = october 12 2009
+++ /dev/null
-This is an example project
\ No newline at end of file
#home_arrow { position: absolute; top:11px; left:23px; margin-left:250px; text-decoration:none; }
-#content { margin-left:120px; }
+#content { margin-left:200px; }
#content p { }
ul.inline_content { border-top:10px solid #161616; }
ul.inline_content li { margin:50px 0; padding-bottom:50px; border-bottom:10px solid #161616; }
ul.inline_content li div.content li { padding:0; border:0; margin:0; }
ul.thumbnails { }
ul.thumbnails li { display:inline-block; margin: 0px 60px 60px 0px; }
- ul.thumbnails .thumbnail { width:160px; height:120px; text-align:center; background:#888; }
+ ul.thumbnails .thumbnail { width:160px; height:240px; text-align:center; background:#000; }
ul.thumbnails a:hover img {
- filter:alpha(opacity=75);
- -moz-opacity:0.75;
- -khtml-opacity: 0.75;
- opacity: 0.75;
+ filter:alpha(opacity=60);
+ -moz-opacity:0.60;
+ -khtml-opacity: 0.60;
+ opacity: 0.60;
}
ul.thumbnails a { text-decoration:none; }
ul.thumbnails .title { }
LOCAL_ROOT = /home/quilime/dev.gabrieldunne.com/
CONTENT_DIR = content/
TEMPLATE_DIR = templates/
-SITE_TITLE = plog
+SITE_TITLE = gabriel dunne
--- /dev/null
+<html>
+
+<head>
+
+ <link rel="stylesheet" href="<?php echo get_base_dir(); ?>/style.css" type="text/css">
+ <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
+
+ <title><?php echo SITE_TITLE; ?> - aggregate</title>
+
+</head>
+
+<body>
+
+ <?php include_template('nav.html'); ?>
+
+ <div id="content">
+
+ <h1>aggregate</h1>
+
+ <table border="0" id="agg"><tr>
+
+
+
+ <td valign="top" class="column">
+ <?php $agg = get_rss_feed('http://quilime.com/aggregate/?return=rss'); ?>
+ <h2><a href="http://quilime.com/aggregate">image</a></h2>
+ <ul class="image">
+ <?php
+ $count = 8;
+ foreach($agg->channel->item as $item) :
+ if ($count-- == 0) break;
+ ?>
+ <li title="<?php echo $item->title; ?>">
+ <a href="<?php echo $item->link; ?>">
+ <img src="<?php echo $item->thumb; ?>">
+ </a>
+ </li>
+ <? endforeach; ?>
+ </ul>
+ <p>
+ <a class="more" href="http://quilime.com/aggregate" title="via quilime.com/aggregate">more →</a>
+ </p>
+ </td>
+
+
+
+
+ <td valign="top" class="column">
+ <?php $tube = get_rss_feed('http://gdata.youtube.com/feeds/base/users/kabr/favorites?alt=rss&v=2&orderby=published&client=ytapi-youtube-profile'); ?>
+ <h2><a href="http://www.youtube.com/profile?user=kabr&view=favorites">video </a></h2>
+ <ul class="video">
+ <?php
+ $count = 11;
+ foreach($tube->channel->item as $tube) :
+ if ($count-- == 0) break;
+ ?>
+ <li title="<?php echo str_replace('"', '\'', $tube->title); ?>">
+ <?
+ $url = $tube->link;
+ $pattern = '/v=(.+?)&/';
+ preg_match($pattern, $url, $matches);
+ $id = $matches[1];
+ ?>
+ <a href="<?php echo $tube->link; ?>">
+ <img src="http://i3.ytimg.com/vi/<?=$id?>/default.jpg" />
+ </a>
+ </li>
+ <? endforeach; ?>
+ </ul>
+ <p>
+ <a class="more" href="http://www.youtube.com/profile?user=kabr&view=favorites" title="via youtube">more →</a>
+ </p>
+ </td>
+
+
+
+
+
+ <td valign="top" class="column">
+ <?php $feed = get_rss_feed('http://feeds.delicious.com/v2/rss/quilime?count=20'); ?>
+ <h2><a href="http://delicious.com/quilime/">links </a></h2>
+ <ul class="bookmarks">
+ <?php foreach($feed->channel->item as $item) : ?>
+ <li>
+ <a href="<?=$item->link?>"><?=$item->title?></a>
+ <br/>
+ <span class="desc"><?=$item->description;?></span>
+ </li>
+ <? endforeach; ?>
+ </ul>
+ <p>
+ <a class="more" href="http://delicious.com/quilime/" title="via delicious">more →</a>
+ </p>
+ </td>
+
+ <td valign="top" class="column">
+ <?php $read = get_rss_feed('http://www.google.com/reader/public/atom/user%2F10925293898931913532%2Fstate%2Fcom.google%2Fbroadcast'); ?>
+ <h2><a href="http://www.google.com/reader/shared/10925293898931913532">reader </a></h2>
+ <ul class="reader">
+ <?php foreach($read->entry as $item) : ?>
+ <li>
+ <a href="<?php echo $item->link['href']; ?>"><?php echo $item->title; ?></a>
+ </li>
+ <? endforeach; ?>
+ </ul>
+ <p>
+ <a class="more" href="http://www.google.com/reader/shared/10925293898931913532" title="via google reader">more →</a>
+ </p>
+ </td>
+
+
+
+
+ </tr></table>
+
+ </div>
+
+
+
+</body>
+
+</html>
\ No newline at end of file
<div id="content">
- <h1>about</h1>
+ <h1>contact</h1>
+
+
+ <p>
+ voice: (415) 493-8496 <br/>
+ email: <a href="mailto:gabe@gabrieldunne.com">gabe@gabrieldunne.com</a>
+ </p>
<p>
- built with <a href="http://git.quilime.com/?p=plog.git;a=summary">project log</a> by quilime
- </p>
+ <a href="/cv/">c/v</a>
+ </p>
</div>
--- /dev/null
+<html>
+
+<head>
+
+ <?php include_template('header-src.html'); ?>
+
+ <title><?php echo SITE_TITLE ?> - c/v</title>
+
+ <style>
+ small { color:#aaa; font-weight:bold; }
+ </style>
+
+</head>
+
+<body>
+
+
+ <?php include_template('nav.html'); ?>
+
+ <div id="content">
+
+ <h1>Gabriel Dunne</h1>
+
+ <br/><br/>
+
+
+
+<h3>edu</h3>
+2004 B.A. Design | Media Arts, UCLA
+<br/>
+2002 Pont Avent School of Art, France
+<br/>
+1999 Architecture, Art Foundation, College of Marin
+
+<br/><br/><br/><br/>
+
+<h3>selected exhibitions / conferences</h3>
+
+<small>2008</small><br/>
+
+“Design and the Elastic Mindâ€\9d, MoMA NYC (w/Stamen Design). Permanent Collection.<br/>
+<small>2006</small><br/>
+Interferenze: Naturalis Electronica, Valle Caudina, Italy <br/>
+Japan Media Arts Festival, Tokyo, Japan (collab.) <br/>
+Festival Sonar, Barcelona, Spain <br/>
+SIGGRAPH, Boston<br/>
+<small>2005</small><br/>
+New Wight Gallery MFA Show, UCLA, Los Angeles, CA (collab.)<br/>
+SIGGRAPH, Los Angeles<br/>
+
+<small>2004</small> <br/>
+:Output International Design Competition, Amsterdam, Netherlands <br/>
+CiberArt: International Festival of New Technologies, Bilbao, Spain <br/>
+Traffic, New Wight Gallery, UCLA, Los Angeles, CA (collab.) <br/>
+<small>2003</small> <br/>
+narr@tive: Digital Storytelling, Hammer Museum, Los Angeles<br/>
+Sur(Face), Design Media Arts EDA, Los Angeles, CA <br/>
+Eyberrations Digital Film Festival, Irvine, CA<br/>
+
+<small>2002</small><br/>
+Text + Architecture & Writing in Architecture, SCIARC, Los Angeles, CA <br/>
+Melbourne International Film Festival, Melbourne, Australia<br/>
+Experimental Works On Paper, Paris, France<br/>
+Experimental Works On Paper, Rennes, France<br/>
+Jaquez Gallery Collection, Pont Aven, France. Permanent Collection.<br/>
+
+
+<br/><br/><br/><br/>
+
+<h3>teaching</h3>
+<small>2009</small><br/>
+Creative Coding (series), Gray Area Foundation for the Arts, San Francisco<br/>
+<small>2006</small>
+<br/>
+Programming and Design, UCLA, Los Angeles<br/>
+Video, UCLA Summer Institute, Guest Lecturer, UCLA, Los Angeles<br/>
+<small>2004</small><br/>
+Processing Workshop, Makers Faire, San Jose<br/>
+
+<small>2005</small><br/>
+UCLA, Artist Symposium. Los Angeles<br/>
+<small>2003</small><br/>
+Maya Workshop Series, UCLA, Los Angeles <br/>
+Typography Workshop Series, UCLA, Los Angeles<br/>
+<small>2002</small><br/>
+Adobe Design Workshops, UCLA, Los Angeles<br/>
+<small>2001</small><br/>
+Macromedia Design Student Workshops, UCLA, Los Angeles
+
+
+
+<br/><br/><br/><br/>
+
+<h3>selected projects</h3>
+"Daschtein"<br/>
+The Daschtein Ice Cave Project facilitates a global dialogue about clean energy. The public interacts with the installation by sending messages via SMS, and can view real-time display of the public discourse projected on the inside of the Dachstein Ice Cave in Austria. Created with TheGreenEyl and Club of Pioneers in Berlin. Developed in Processing, C++, Max/MSP.
+
+<br/><br/>
+"Celestial Mechanics"</strong>"<br/>
+A planetarium dome artwork that visualizes statistics, data, and protocols of man-made aerial technologies animated with Processing, Java, Maya/MEL with 5 channel surround sound. Featured in numerous international exhibitions, including Interferense Festival, Italy, Japan Media Arts festival, SIGGRAPH, and :Output Design Competition in the Netherlands.
+
+
+<br/><br/><br/><br/>
+
+
+
+
+
+
+
+
+
+
+<h3>press</h3>
+
+<small>2008</small><br/>
+MIT Aerospace Annual, featuring imagery from Celestial Mechanics<br/>
+<small>2007</small><br/>
+a mÃnima #17, cover image <a href="http://www.flickr.com/photos/44694989@N00/2088945508/" title="view via a minima onflickr">→</a><br/>
+Contemporary Art of Science and Technology, Zhang Yanxiang, ISBN# 978-7-03-020415-8<br/>
+<small>2006</small><br/>
+AD: Architectural Digest, Featuring excerpts from Celestial Mechanic. Sep Issue<br/>
+FOCUS Italia, May Issue<br/>
+Discover Magazine, Imagery from Celestial Mechanics, Apr Issue <br/>
+
+Wired, Interview, March Issue<br/>
+HDRI, Interview, Feb Issue<br/>
+
+<br/><br/><br/> <br/>
+
+<!--
+<h3>awards</h3>
+<small>2005</small><br/>
+Creative Review Best in Show – Beck ‘Girl’ Music Video (w/Motion Theory)<br/>
+Type Directors Award – Nike ‘Golf’ (w/Motion Theory)<br/>
+<small>2004</small><br/>
+AIGA – HP ‘It Consolidates’ (w/Motion Theory)<br/>
+AICP – HP ‘Hands’ (w/Motion Theory)<br/>
+<small>2003</small><br/>
+Screen Network Australia<br/>
+<small>2002</small><br/>
+Shorttakes Film Festival<br/>
+
+
+<br/><br/><br/><br/>
+-->
+
+<h3>professional / residencies</h3>
+
+
+<small>2008 - Current</small>
+<br/>
+<strong>Gray Area Foundation for the Arts</strong>, San Francisco CA (Residency, Studio Director)
+
+<br/>
+
+<small>2004 - Current</small>
+<br/>
+<strong>Tessellated Group</strong>, Napa CA (Partner, Designer)
+<br/>
+Presentation, modeling, and display of material designs and machinery used in creating industrial
+material formations for structure, aerospace, and packaging. Built a variety of tools, processes, and presentation with Maya, Rhino, CAD/CAM, AS3, Processing/Java, C++.
+
+<br/>
+
+<small>2008</small>
+<br/>
+<strong>Stamen Design</strong>, San Francisco CA (Designer, Programmer)
+<br/>
+
+Worked on a variety of data visualization software design projects, ranging in scope from real-time interactive displays for digg.com to architectural media installations for SOM, written in AS3, Java, Processing. Re-engineered a version of Cabspotting: a visualization of GPS locations of taxi activity in San Francisco, acquired by MoMA NYC for the permanent collection.<br/>
+
+<small>2007</small>
+<br/>
+<strong>Google Inc</strong>, Mountain View CA (Designer, Developer)
+<br/>
+Designed and engineered visualizations of Google’s information, such as search, activity, and real time statistics, displayed internally on an international network. Software developed in Python, AS3, Java, C++, PHP.
+
+<br/>
+
+<small>2004 - 2006</small>
+<br/>
+<strong>Motion Theory</strong>, Los Angeles CA (VFX Supervisor, Designer)
+
+<br/>
+Animation, compositing, programmatic animation, R+D, concept development, and proposals for award winning commercials and music videos. Managed teams of designers, animators, and programmers for effects sequences, motion control sequences. Custom visual effects written in C++, Maya/MEL, Processing.
+
+
+
+
+ </div>
+
+
+</body>
+
+</html>
\ No newline at end of file
}
$links = array(
- array('http://quilime.com', 'quilime'),
- array('http://gabrieldunne.com', 'gabriel dunne')
- );
+ array('http://aaronkoblin.com', 'aaron koblin'),
+ array('http://universaloscillation.com', 'aaron meyers'),
+ array('http://ripevessel.com', 'adam roth'),
+ array('http://reas.com/', 'casey reas'),
+ array('http://cenizal.com', 'cj cenizal'),
+ array('http://www.oddsympathy.com/', 'daniel massey'),
+ array('http://davidrager.org', 'david rager'),
+ array('http://fredericeyl.de', 'frédéric eyl'),
+ array('http://dabkitsch.com/jml', 'jeff lubow'),
+ array('http://jtnimoy.net', 'joshua nimoy'),
+ array('http://keithpasko.com', 'keith pasko'),
+ array('http://digitanalog.net', 'marc nimoy'),
+ array('http://makaga.com', 'matthew gale'),
+ array('http://davidmichaeldunne.com', 'michael dunne'),
+ array('http://mike.teczno.com', 'michal migurski'),
+ array('http://mylinhtrieu.com', 'mylinh trieu'),
+ array('http://renataraksha.com', 'renata raksha'),
+ array('http://onecm.com', 'ryan alexander'),
+ array('http://pohflepp.com', 'sascha pohflepp'),
+ array('http://ssherriff.com', 'stephanie sherriff'),
+ array('http://www.thegreeneyl.com/', 'the green eyl'),
+ array('http://tom-carden.co.uk', 'tom carden')
+ );
?>
+
+ <ul>
+ <li>my blog / experiments: <a href="http://quilime.com">quilime.com</a></li>
+ </ul>
+
+ <br/><br/>
<ul style="list-style-type:none;";>
</body>
-</html>
\ No newline at end of file
+</html>
+
+
<br/>
- <h3><a href="/projects/">projects</a></h3>
- <ul>
- <?php echo list_content('projects', array()); ?>
- </ul>
-
- <br/>
-
- <li><a href="/about/">about</a></li>
+ <li><a href="/projects/">projects</a></li>
+ <li><a href="/contact/">contact</a></li>
<li><a href="/links/">links</a></li>
</ul>
+++ /dev/null
-<?php
-
-$img = get_rss_feed('http://api.flickr.com/services/feeds/photos_public.gne?id=28394478@N00&lang=en-us&format=rss_200');
-
-?>
-
-<html>
-
-<head>
-
- <?php include_template('header-src.html'); ?>
-
- <title><?php echo SITE_TITLE; ?> :photo</title>
-
- <style>
-
- ul.image li { float:left; width:240px; height:240px; text-align:center; margin:0 50px 50px 0;}
-
- </style>
-
-</head>
-
-<body>
-
- <?php include_template('nav.html'); ?>
-
- <div id="content">
-
- <h1>images</h1>
-
- <ul class="image">
- <?php foreach($img->channel->item as $item) : ?>
- <li>
- <?
- $subject = $item->description;
- $pattern = '/<a href="http:\/\/www\.flickr\.com\/photos\/quilime\/(.*) \/><\/a><\/p>/';
- preg_match($pattern, substr($subject,3), $matches, PREG_OFFSET_CAPTURE);
- echo $matches[0][0];
- ?>
- </li>
- <?endforeach; ?>
-
- <div style="clear:both;"></div>
-
- <a href="http://www.flickr.com/photos/quilime/" title="via flickr" class="more">more via flickr →</a>
-
- </div>
-
-</body>
-
-</html>
\ No newline at end of file
<li>
<a href="<?php echo $project['href']?>">
<div class="thumbnail" title="<? echo $project['title'] ?>">
- <?php if(isset($project['thumb'])) :?>
- <img src="<?php echo $project['thumb']; ?>" />
- <?php endif; ?>
+ <img src="<?php echo $project['base_dir']; ?>/thumb.png" />
</div>
<div class="title"><? echo $project['title']; ?></div>
</a>
<? endforeach; ?>
</ul>
- <?php endif; ?>
+ <?php endif; ?>
</div>
--- /dev/null
+<?php
+
+ $single = false;
+
+ if (is_dir(CONTENT_DIR . $url_string) && !is_file(CONTENT_DIR . $url_string . '/config') ) {
+ list($log_list, $total) = get_content(basename($url_string), "type=flat");
+ }
+ else {
+ $config = parse_config(CONTENT_DIR . $url_string);
+ $log = $config;
+ $base_dir = $log['base_dir'];
+ $single = true;
+ }
+
+ $list = isset($_GET['list']) ? $_GET['list'] : true;
+
+?>
+<html>
+
+<head>
+
+ <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
+ <link rel="stylesheet" href="<?php echo get_base_dir(); ?>/style.css" type="text/css">
+
+ <title><?php echo SITE_TITLE; ?><?php if ($single) : ?> - <?echo ($log['title']); ?><? else: ?> - text<? endif; ?></title>
+
+ <script src="/js/jquery-1.3.2.min.js"></script>
+
+</head>
+
+<body>
+
+ <?php include_template('nav.html'); ?>
+
+ <div id="content">
+
+ <?php if ($single) : ?>
+
+ <h1><a href="/text/">text</a> / <?=$log['title']?></h1>
+
+
+ <div class="content text">
+ <?php echo $log['inline_content']; ?>
+ </div>
+
+ <p>
+ <a href="/text/" class="back">← back to text</a>
+ </p>
+
+ <?php elseif ($list): ?>
+
+ <h1>text</h1>
+
+ <table class="archive" cellspacing="0" cellpadding="0">
+ <tr>
+ <?php
+ $c = 1;
+ foreach($log_list as $log):
+ ?>
+ <tr>
+ <td>
+ <a href="<?php echo $log['href']?>"><?php echo $log['title']; ?></a>
+ </td>
+ </tr>
+ <? $c++; endforeach; ?>
+ </table>
+
+
+
+
+ <?php endif; ?>
+
+ </div>
+
+
+
+</body>
+
+</html>
\ No newline at end of file