--- /dev/null
+title = icosi tech rider
+date = 2010-06-10
+--
+Tech rider for installation.
+
+[![](/media/blog/rider_02_t.png)](/media/blog/rider_02.png) [![](/media/blog/rider_01_t.png)](/media/blog/rider_01.png)
+
+[pdf](http://media.quilime.com/files/projects/3.5/gdunne_rider_diag.pdf)
+
+Slight adjustments have been made to the scale. The sides of the center equilateral are now 29', resulting in a shape that's ~7.4' in diameter.
\ No newline at end of file
--- /dev/null
+tags = fabrication, construction, icosi, installation, design
+title = icosi fabrication
+date = 2010-07-01
+--
+Fabrication progress for an audiovisual installation. The form is a based on section of a squished icosidodecahedron (scaled on the z-axis by 0.5). The form will act as a projection surface for visual software, which will be produced after fabrication is complete.
+
+<a href="http://www.flickr.com/photos/quilime/4743498955/" title="view on flickr">
+<img src="http://farm5.static.flickr.com/4077/4743498955_d8d524bd27.jpg" /></a>
+<br />
+A laser-cut a small working model.
+
+<a href="http://www.flickr.com/photos/quilime/4744981890/" title="view on flickr"><img src="http://farm5.static.flickr.com/4142/4744981890_2a41c9f374.jpg" /></a><br />
+Custom jig for slicing the angles.
+
+<a href="http://www.flickr.com/photos/quilime/4769443639/in/photostream/"><img src="http://farm5.static.flickr.com/4076/4769443639_728b077b3a.jpg" /></a><br />
+Priming the panels, readying them to be stretched with screen-fabric.
--- /dev/null
+title = icosi fabrication 2
+date = 2010-07-07
+tags = icosi fabrication
+--
+[![img](http://farm5.static.flickr.com/4140/4773799092_75e68e4e66.jpg)](http://www.flickr.com/photos/quilime/4773799092/)
+Assembly test w/stretched panels in the studio.
+
+[![](http://farm5.static.flickr.com/4123/4773722288_dd579b9956.jpg)](http://www.flickr.com/photos/quilime/4773722288/in/photostream/)
+Assembly test.
\ No newline at end of file
+++ /dev/null
-title = icosi fabrication
-tags = fabrication design installation
-date = 2010-07-07
---
-icosi fabrication
\ No newline at end of file
--- /dev/null
+title = Chapter and Verse
+date = 2010-06-01
+--
+I will be [performing](http://www.biennialoftheamericas.org/artists/gabriel-dunne) an audiovisual installation July 29th in [Chapter and Verse](http://www.biennialoftheamericas.org/events/month/7/day/29) as part of the venue "Nature of Things", a part of the Biennial of the Americas in Denver, CO.
\ No newline at end of file
--- /dev/null
+title = bay area transit
+desc = data visualization
+date = 08/03/2007
+thumb = media/projects/bay_area_transit/thumb.png
+--
+
+A conceptual route-map display proposal for the San Francisco Transbay Terminal project, developed with <a href="http://www,stamen.com">Stamen</a> for <a href="http://www.som.com/">Skidmore, Owings & Merill</a>.
+Bay Area transit are visualized from routes and station locations.
+Each route is represented as its geographic path, extruded upwards in 3D space by time. Early
+morning routes are closer to the map base, later routes are higher. Bart routes are
+colored blue, SFMTA/MUNI routes are colored in red.
+
+Created with <a href="http://processing.org">Processing</a>.
+
+[![Eastbay](http://dev.gabrieldunne.com/media/projects/bay_area_transit/images/thumbs/bart_eastbay_sf.png)](
+http://dev.gabrieldunne.com/media/projects/bay_area_transit/images/thumbs_lg/bart_eastbay_sf.png)
+<div class="caption">
+Eastbay BART route
+</div>
+
+<br />
+
+
+[![Dublin/Pleasanton](http://dev.gabrieldunne.com/media/projects/bay_area_transit/images/thumbs/bart_baypoint.png)](
+http://dev.gabrieldunne.com/media/projects/bay_area_transit/images/thumbs_lg/bart_baypoint.png)
+<div class="caption">
+Pittsburg/Bay Point Station Daily BART Route
+</div>
+
+
+<br />
+
+
+[![BART sf](http://dev.gabrieldunne.com/media/projects/bay_area_transit/images/thumbs/bart_sf.png)](
+http://dev.gabrieldunne.com/media/projects/bay_area_transit/images/thumbs_lg/bart_sf.png)
+<div class="caption">
+Richmond Station BART
+</div>
+
+
+<br />
+
+
+[![BART sf](http://dev.gabrieldunne.com/media/projects/bay_area_transit/images/thumbs/muni_route10.png)](
+http://dev.gabrieldunne.com/media/projects/bay_area_transit/images/thumbs_lg/muni_route10.png)
+<div class="caption">
+SF MUNI <a href="http://www.sfmta.com/cms/asystem/routedesc.php?rted=10">Route 10</a>
+</div>
+
+
+<br />
+
+
+[![BART sf](http://dev.gabrieldunne.com/media/projects/bay_area_transit/images/thumbs/muni_route22.png)](
+http://dev.gabrieldunne.com/media/projects/bay_area_transit/images/thumbs_lg/muni_route22.png)
+<div class="caption">
+SF MUNI <a href="http://www.sfmta.com/cms/asystem/routedesc.php?rted=22">Route 22</a>
+</div>
+
+
+<br />
+
+
+[![BART sf](http://dev.gabrieldunne.com/media/projects/bay_area_transit/images/thumbs/some_muni_and_bart.png)](
+http://dev.gabrieldunne.com/media/projects/bay_area_transit/images/thumbs_lg/some_muni_and_bart.png)
+<div class="caption">
+All San Francisco BART and MUNI routes layered additively.
+</div>
+
+<br />
+<br />
+
+Stop Frequency
+==
+
+Transit route frequency is represented by station scale.
+
+[![BART sf](http://dev.gabrieldunne.com/media/projects/bay_area_transit/images/thumbs/stop_frequency_bay_area.png)](
+http://dev.gabrieldunne.com/media/projects/bay_area_transit/images/thumbs_lg/stop_frequency_bay_area.png)<div class="caption">
+Bay Area stop frequency (BART and MUNI, daily)
+</div>
+
+<br />
+
+<?php qt(array('file' => $base_dir . "/movies/frequency_bayarea.mov", 'width' => 700, 'height' => 415)); ?>
+<div class="caption">
+[video/mov] The bay area represented by transit stop frequency over a 24 hour period. Busier stops are downtown on Market street and transit depots.
+</div>
+
+
+<br />
+
+
+[![BART sf](http://dev.gabrieldunne.com/media/projects/bay_area_transit/images/thumbs/stop_frequency_sf.png)](
+http://dev.gabrieldunne.com/media/projects/bay_area_transit/images/thumbs_lg/stop_frequency_sf.png)<div class="caption">
+<div class="caption">
+San Francisco stop frequency (BART and MUNI, daily).
+</div>
+
+
+<br/><br/><br/>
+
+
+<?php qt(array('file' => $base_dir . "/movies/stop_frequency_sf.mov", 'width' => 700, 'height' => 415)); ?>
+
+<div class="caption">
+[video/mov] The shape of San Francisco is instantly recognizable, represented by transit station stop frequency in one day.
+</div>
+
+
+[more, via Stamen . . .](http://content.stamen.com/som_transbay_tower)
+++ /dev/null
-title = placeholder project
-date = 2010-07-07
---
-test project
\ No newline at end of file
email: studio@gabrieldunne.com
phone: +1 415 493 8496
loc: san francisco, ca
-
-also: [quilime.com](http://quilime.com)
+other: [quilime.com](http://quilime.com)
body { margin:80px 100px 50px 40px; }
-html, body, table { font-family: helvetica; font-size:15px; line-height:1.5em; color:#ccc; background:#121212; }
+html, body, table { font-family: helvetica; font-size:14px; line-height:1.5em; color:#ccc; background:#121212; }
.nav { position:absolute; z-index:1; top:20px; left:30px; }
.nav ul { margin-left:1em; }
.nav h1 { margin-bottom:50px;}
+.nav { position:fixed; top: 20px; left: 20px; }
+
-#head { position:absolute; top: 20px; left: 160px; }
/*selection*/
::-moz-selection {background: #08f !important; color:#fff;}
ol li { list-style-type:decimal; }
+img { margin-bottom:0.25em; }
+
blockquote { font-family:times; background:#000; color:#aaa;
margin:0; font-size:15px; line-height:1.4em; padding:2em 4em; font-style:italic; line-height:1.45em; max-width:600px;}
p { max-width:720px; }
ul, li { margin:0; padding:0; list-style-type:none; }
-table { margin:0; padding:0; border:0; }
-table .column { padding-right:100px; min-width:120px; max-width:400px; }
-table .column h2 a { text-decoration:none; }
-table h2, table h3 { margin-bottom:2em;}
-table .video li, table .image li { margin-bottom:2em; }
-table .reader li, table .bookmarks li { margin-bottom:1em; padding-bottom:1em; border-bottom:1px dotted #ddd; }
-.reader_links li, .bookmark_links li { padding-top:.75em; margin-bottom:.75em; }
-.bookmark_links li a { display:block; }
-.bookmark_links li span { font-style: italic; color:#444; }
-.image li a { background:none;}
-
-table.archive td {padding-right:20px; }
-
-.c_pop { position:absolute; background:#fff; display:none; border:5px outset #000; padding:1em 2em; z-index:5; }
-.func { font-weight:bold; color:#444; }
+.nav a {font-weight:bold;}
-#home_arrow { position: absolute; top:11px; left:23px; margin-left:250px; text-decoration:none; }
-
-#content { margin-left:180px; min-width:500px; position:absolute; top:20px; padding-bottom:200px; z-index:10;}
- #content p { }
- ul.inline_content {}
- ul.inline_content li .content { }
- ul.inline_content li { margin:0 0 150px 0; }
- ul.inline_content li h3 { margin-bottom:1em; border-bottom:1px solid #ddd; padding-bottom:4px; }
- ul.inline_content ol li { margin:0; padding:0; border: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 a:hover img {
- filter:alpha(opacity=75);
- -moz-opacity:0.75;
- -khtml-opacity: 0.75;
- opacity: 0.75;
- }
- ul.thumbnails a { text-decoration:none; }
- ul.thumbnails .title { }
-
- .date { color:#ccc;}
- .func { margin-bottom:2em; }
- .func a { background:#daa; padding:0.2em 1em 0.02em 1em; font-size:9px; text-transform:uppercase;}
-
- .text { font-family:serif; font-size:15px; line-height:2.2em; margin-top:80px;}
- .indent { text-indent:3em; }
-
-.entry { margin-bottom:100px; }
-.entry h2 { border-bottom:1px solid #333; padding-bottom:4px; }
-.entry h2 .title-date { font-weight:normal; color:#bbb; }
-.entry .metadata { margin-top:20px; font-style:italic; color:#aaa; }
+#content { margin-left:180px; min-width:500px; position:absolute; top:20px; padding-bottom:200px; z-index:10; }
+.entry { margin-bottom:50px; padding-bottom:50px; border-bottom:1px dotted #232323; }
+.entry h2 { padding-bottom:4px; }
+.entry h2 .title-date { font-weight:normal; color:#555; font-style:italic; font-size:0.75em; }
+.entry .metadata { font-size:0.75em; margin-top:20px; font-style:italic; color:#555; line-height:1.3em; }
+.entry .metadata a { color:#555; text-decoration:underline; }
+.entry .metadata a:hover { color:#d15; }
.entry .metadata .tags li { display:inline-block; margin-right:0.2em; }
.caption { font-style:italic; margin-top:5px; color:#444; }
-.more, .home { text-decoration:none; color:#000; font-weight:bold; }
#footer { margin-top:120px; }
#footer .copy a { text-decoration:none; }
if (is_dir(LOCAL_ROOT . CONTENT_DIR . $url_parts['url']) && $url_parts['url'] != "/") {
list($data, $total) = get_entries($url_parts['url']);
$t->assign('page_title', preg_replace('{^/|/$}', '', $url_parts['url']));
- $t->assign('data', $data);
+ $t->assign('data', $data);
+
+ if ($url_parts['url'] == '/projects/')
+ $template = 'projects.' . $response_format . '.tpl';
}
# is file
else if (is_file( LOCAL_ROOT . CONTENT_DIR . $url_parts['url'])) {
$t->assign('single', true);
- $t->assign('data', parse_entry(new SplFileInfo(LOCAL_ROOT . CONTENT_DIR . $url_parts['url'])));
- $template = 'single.'.$response_format.'.tpl';
+ $entry = parse_entry(new SplFileInfo(LOCAL_ROOT . CONTENT_DIR . $url_parts['url']));
+ $t->assign('data', $entry);
+
+
+ if ($entry['cat'] == 'projects')
+ $template = 'project.'.$response_format.'.tpl';
+ else
+ $template = 'single.'.$response_format.'.tpl';
}
# is page
else if (is_file( LOCAL_ROOT . PAGE_DIR . DIRECTORY_SEPARATOR . $url_parts['filename'])) {
$t->assign('data', $page);
$template = $page['config']['template'] ? $page['config']['template'] . '.' . $response_format . '.tpl' : 'page.' . $response_format . '.tpl';
}
- # default (all entries)
+ # default
else {
list($data, $total) = get_entries();
$t->assign('data', $data);
+ $template = 'index.html.tpl';
}
# render
<? $this->include_template('head-inc.html.tpl') ?>
- <title><?=SITE_TITLE?>, <?=$page_title?></title>
+ <title><?=SITE_TITLE?>: <?=$page_title?></title>
</head>
<body>
<?=$data['content']?>
</div>
- <? if ($single) :?>
+ <? //if ($single) :?>
<div class="metadata">
posted <?=date("F d, Y", $data['timestamp'])?> in <a href="<?=get_base_dir();?>/<?=$data['cat'];?>"><?=$data['cat'];?></a><br/>
<ul class="tags">
<? endforeach; ?>
</ul>
</div>
- <? endif; ?>
+ <? //endif; ?>
</div>
--- /dev/null
+<html>
+<head>
+
+ <? $this->include_template('head-inc.html.tpl') ?>
+
+ <title><?=SITE_TITLE?></title>
+
+</head>
+<body>
+
+ <? $this->include_template('nav.html.tpl') ?>
+
+<div id="content">
+
+ <img src="<?=get_base_dir();?>/media/splash/wawa.jpg" />
+
+</div>
+
+ <? $this->include_template('footer.html.tpl') ?>
+
+</body>
+</html>
<li><a href="/projects/">projects</a></li>
<li><a href="/contact/">contact</a></li>
- <li><a href="/blog/">blog</a></li>
<li><a href="/cv/">cv</a></li>
+ <br />
+
+ <li><a href="/blog/">blog</a></li>
+
<? /*
<? $dirs = get_dirs("/", array('recursive' => 0)); ?>
<? foreach($dirs as $d) : ?>
--- /dev/null
+<html>
+<head>
+
+ <? $this->include_template('head-inc.html.tpl') ?>
+
+ <title><?=SITE_TITLE?>, <?=$data['title'];?></title>
+
+</head>
+<body>
+
+ <? $this->include_template('nav.html.tpl') ?>
+
+ <div id="content">
+ <div class="entry">
+
+ <div class="content">
+ <?=$data['content']?>
+ </div>
+
+ <div class="metadata">
+ <ul class="tags">
+ <? if (sizeof($data['tags']) > 0) foreach($data['tags'] as $tag) : ?>
+ <li>#<?=$tag?></li>
+ <? endforeach; ?>
+ </ul>
+ </div>
+ </div>
+ </div>
+
+ <? $this->include_template('footer.html.tpl') ?>
+
+</body>
+</html>
--- /dev/null
+<html>
+<head>
+
+ <? $this->include_template('head-inc.html.tpl') ?>
+
+ <title><?=SITE_TITLE?>, <?=$page_title?></title>
+
+</head>
+<body>
+
+ <? $this->include_template('nav.html.tpl') ?>
+
+<div id="content">
+
+ <ul>
+ <? foreach($data as $entry): ?>
+ <li><a href="<?=$entry['url']?>"><?=$entry['title']?></a></li>
+ <? endforeach; ?>
+ </ul>
+
+</div>
+
+ <? $this->include_template('footer.html.tpl') ?>
+
+</body>
+</html>
<? $this->include_template('head-inc.html.tpl') ?>
- <title><?=SITE_TITLE?>, <?=$data['title'];?></title>
+ <title><?=SITE_TITLE?>: <?=$data['title'];?></title>
</head>
<body>