-title = time
-date = Tue May 24 21:43:54 2011
---
-
-
-honest schedule:
-
-<pre>
- 6
- 7
- 8
- 9 (if lucky) wake, lay around
-10 rushed coffee with love
-11 studio
-12
- 1
- 2 small break (outside), food
- 3 work
- 4
- 5
- 6
- 7
- 8 dinner (take out)
- 9 work
-10
-11
-12 home
- 1 work
- 2
- 3 sleep
- 4
- 5
-</pre>
-
-
-ideal schedule:
-
-<pre>
- 6
- 7 wake
- 8 breakfast with love
- 9 get to studio
-10
-11 work
-12
- 1 break (outside)
- 2 work
- 3
- 4
- 5
- 6 dinner with love
- 7
- 8 work wrap up
- 9 relax
-10
-11 sleep
-12
- 1
- 2
- 3
- 4
- 5
+title = time\r
+date = Tue May 24 21:43:54 2011\r
+--\r
+\r
+honest schedule:\r
+\r
+<pre> \r
+ 6\r
+ 7 \r
+ 8 \r
+ 9 (if lucky) wake, lay around\r
+10 rushed coffee with love\r
+11 studio\r
+12\r
+ 1 \r
+ 2 small break (outside), food\r
+ 3 work\r
+ 4 \r
+ 5 \r
+ 6 \r
+ 7 \r
+ 8 dinner (take out)\r
+ 9 work\r
+10 \r
+11 \r
+12 home\r
+ 1 work\r
+ 2\r
+ 3 sleep\r
+ 4\r
+ 5\r
+</pre>\r
+\r
+\r
+ideal schedule:\r
+\r
+<pre> \r
+ 6\r
+ 7 wake\r
+ 8 breakfast with love\r
+ 9 get to studio\r
+10 \r
+11 work\r
+12\r
+ 1 break (outside)\r
+ 2 work\r
+ 3 \r
+ 4 \r
+ 5\r
+ 6 dinner with love\r
+ 7 \r
+ 8 work wrap up\r
+ 9 relax\r
+10\r
+11 sleep\r
+12\r
+ 1\r
+ 2\r
+ 3\r
+ 4\r
+ 5\r
</pre>
\ No newline at end of file
\r
Alpha release of [Seaquence: A experimental web-based musical ecosystem](http://seaquence.org). \r
\r
-[http://seaquence.org](http://seaquence.org)\r
+[link](http://seaquence.org)\r
html, body, table {
color: #555555;
font-family: sans-serif;
- font-size: 12px;
+ font-size:13px;
line-height: 1.5em; }
body {
- margin: 20px; }
+ margin: 2em; }
a {
border: 0pt none;
--- /dev/null
+{"entries":[{"config":{"date":"2009"},"title":"synonymovement","filename":"synonymovement","path":"\/Users\/gdunne\/_portfolio\/www\/content\/projects\/synonymovement","fileInfo":{},"timestamp":"1346641740","tags":null,"content":"<p><?\n$w = 640;\n$h = 496;\n?><\/p>\n\n<p><object classid=\"clsid:02bf25d5-8c17-4b23-bc80-d3488abddc6b\" id=\"qt_object\" width=\"<?=$w?>\" height=\"<?=$h?>\" codebase=\"http:\/\/www.apple.com\/qtactivex\/qtplugin.cab#version=6,0,2,0\">\n<param name=\"type\" value=\"video\/quicktime\">\n<param name=\"name\" value=\"qt_object\">\n<param name=\"nocache\" value=\"true\">\n<param name=\"autoplay\" value=\"false\">\n<param name=\"kioskmode\" value=\"true\">\n<param name=\"controller\" value=\"true\">\n<param name=\"loop\" value=\"true\">\n<param name=\"bgcolor\" value=\"#000000\">\n<param name=\"src\" value=\"<?=$data['media']?>\/synonymovement.mov.mov\">\n<param name=\"pluginspage\" value=\"http:\/\/www.apple.com\/quicktime\/download\/indext.html\"><br \/>\n<embed name = \"qt_object\" width=\"<?=$w?>\" height=\"<?=$h?>\" controller=\"true\" loop=\"true\" autoplay=\"false\" src=\"<?=$data['media']?>\/synonymovement.mov.mov\" kioskmode=\"true\" nocache=\"true\" type=\"video\/quicktime\" bgcolor=\"#000000\" border=\"0\" pluginspage=\"http:\/\/www.apple.com\/quicktime\/download\/indext.html\" enablejavascript=\"true\">\n<\/embed>\n<\/object><\/p>\n\n<p><br \/>\n<span class=\"caption\">\naudio\/visual software, video installation<br \/>\nc++, openGL, ableton live, max\/msp\n<\/span><\/p>\n","cat":{"name":"projects","url":"\/projects\/"},"media":"http:\/\/p\/media\/projects\/synonymovement\/","thumb":"http:\/\/p\/media\/projects\/synonymovement\/thumb.png","url":"http:\/\/p\/projects\/synonymovement"},{"config":{"title":"Stars","date":"2009"},"title":"Stars","filename":"stars","path":"\/Users\/gdunne\/_portfolio\/www\/content\/projects\/stars","fileInfo":{},"timestamp":"1346641740","tags":null,"content":"<p><img src=\"<?=$data['media']?>\/stars.jpg\" \/><\/p>\n\n<h2>Stars<\/h2>\n\n<p><em>projection, visual software (c++), audio (ableton live, max\/msp)<\/em><\/p>\n\n<p>An exploration of infinite\/finite space. The viewer transitions between macro and micro environments of mathematically infinite scale. As the viewer moves through multiple spaces, their scope and perspective widens and transcends while space becomes infinitely big and infinitely small simultaneously.<\/p>\n\n<p><br \/><\/p>\n\n<p><img src=\"<?=$data['media']?>\/47_roof.jpg\"\/><\/p>\n\n<h3>video<\/h3>\n\n<p><br \/><\/p>\n\n<p><object classid=\"clsid:02bf25d5-8c17-4b23-bc80-d3488abddc6b\" id=\"qt_object\" width=\"640\" height=\"496\" codebase=\"http:\/\/www.apple.com\/qtactivex\/qtplugin.cab#version=6,0,2,0\">\n<param name=\"type\" value=\"video\/quicktime\">\n<param name=\"name\" value=\"qt_object\"><\/p>\n\n<p><param name=\"nocache\" value=\"true\">\n<param name=\"autoplay\" value=\"false\">\n<param name=\"kioskmode\" value=\"true\">\n<param name=\"controller\" value=\"true\">\n<param name=\"loop\" value=\"true\">\n<param name=\"bgcolor\" value=\"#000000\">\n<param name=\"src\" value=\"<?=$data['media']?>\/stars.mov\">\n<param name=\"pluginspage\" value=\"http:\/\/www.apple.com\/quicktime\/download\/indext.html\">\n<embed name = \"qt_object\" width=\"640\" height=\"496\" controller=\"true\" loop=\"true\" autoplay=\"false\" src=\"<?=$data['media']?>\/stars.mov\" kioskmode=\"true\" nocache=\"true\" type=\"video\/quicktime\" bgcolor=\"#000000\" border=\"0\" pluginspage=\"http:\/\/www.apple.com\/quicktime\/download\/indext.html\" enablejavascript=\"true\">\n<\/embed>\n<\/object><\/p>\n","cat":{"name":"projects","url":"\/projects\/"},"media":"http:\/\/p\/media\/projects\/stars\/","thumb":"http:\/\/p\/media\/projects\/stars\/thumb.png","url":"http:\/\/p\/projects\/stars"},{"config":{"title":"rattle","date":"2009"},"title":"rattle","filename":"rattle","path":"\/Users\/gdunne\/_portfolio\/www\/content\/projects\/rattle","fileInfo":{},"timestamp":"1346641740","tags":null,"content":"<p><?\n$w = 640;\n$h = 496;\n?><\/p>\n\n<p><object classid=\"clsid:02bf25d5-8c17-4b23-bc80-d3488abddc6b\" id=\"qt_object\" width=\"<?=$w?>\" height=\"<?=$h?>\" codebase=\"http:\/\/www.apple.com\/qtactivex\/qtplugin.cab#version=6,0,2,0\">\n<param name=\"type\" value=\"video\/quicktime\">\n<param name=\"name\" value=\"qt_object\">\n<param name=\"nocache\" value=\"true\">\n<param name=\"autoplay\" value=\"false\">\n<param name=\"kioskmode\" value=\"true\">\n<param name=\"controller\" value=\"true\">\n<param name=\"loop\" value=\"true\">\n<param name=\"bgcolor\" value=\"#000000\">\n<param name=\"src\" value=\"<?=$data['media']?>\/rattle.mov\">\n<param name=\"pluginspage\" value=\"http:\/\/www.apple.com\/quicktime\/download\/indext.html\"><br \/>\n<embed name = \"qt_object\" width=\"<?=$w?>\" height=\"<?=$h?>\" controller=\"true\" loop=\"true\" autoplay=\"false\" src=\"<?=$data['media']?>\/rattle.mov\" kioskmode=\"true\" nocache=\"true\" type=\"video\/quicktime\" bgcolor=\"#000000\" border=\"0\" pluginspage=\"http:\/\/www.apple.com\/quicktime\/download\/indext.html\" enablejavascript=\"true\">\n<\/embed>\n<\/object><\/p>\n\n<p><br \/>\n<span class=\"caption\">\ninteractive software, synthesiser \n<br \/>\nbuilt with Processing, ChucK\n<\/span><\/p>\n","cat":{"name":"projects","url":"\/projects\/"},"media":"http:\/\/p\/media\/projects\/rattle\/","thumb":"http:\/\/p\/media\/projects\/rattle\/thumb.png","url":"http:\/\/p\/projects\/rattle"},{"config":{"title":"cabspotting","date":"2009","tags":"datavis software stamen"},"title":"cabspotting","filename":"cabspotting","path":"\/Users\/gdunne\/_portfolio\/www\/content\/projects\/cabspotting","fileInfo":{},"timestamp":"1346641740","tags":["datavis","software","stamen"],"content":"<p><?\n $w = 800;\n $h = 516;\n?><\/p>\n\n<p><object classid=\"clsid:02bf25d5-8c17-4b23-bc80-d3488abddc6b\" id=\"qt_object\" width=\"<?=$w?>\" height=\"<?=$h?>\" codebase=\"http:\/\/www.apple.com\/qtactivex\/qtplugin.cab#version=6,0,2,0\">\n<param name=\"type\" value=\"video\/quicktime\">\n<param name=\"name\" value=\"qt_object\">\n<param name=\"nocache\" value=\"true\">\n<param name=\"autoplay\" value=\"false\">\n<param name=\"kioskmode\" value=\"true\">\n<param name=\"controller\" value=\"true\">\n<param name=\"loop\" value=\"true\">\n<param name=\"bgcolor\" value=\"#000000\">\n<param name=\"src\" value=\"<?=$data['media']?>\/cabspotting_web.mov\">\n<param name=\"pluginspage\" value=\"http:\/\/www.apple.com\/quicktime\/download\/indext.html\">\n<embed name = \"qt_object\" width=\"<?=$w?>\" height=\"<?=$h?>\" controller=\"true\" loop=\"true\" autoplay=\"false\" src=\"<?=$data['media']?>\/cabspotting_web.mov\" kioskmode=\"true\" nocache=\"true\" type=\"video\/quicktime\" bgcolor=\"#000000\" border=\"0\" pluginspage=\"http:\/\/www.apple.com\/quicktime\/download\/indext.html\" enablejavascript=\"true\">\n<\/embed>\n<\/object><\/p>\n\n<p><br \/>\n<span class=\"caption\">\nSF taxi visualization <br \/>\nbuilt with Java\/Processing\n<\/span><\/p>\n\n<p>part of the NY MOMA permenant collection<\/p>\n","cat":{"name":"projects","url":"\/projects\/"},"media":"http:\/\/p\/media\/projects\/cabspotting\/","thumb":"http:\/\/p\/media\/projects\/cabspotting\/thumb.png","url":"http:\/\/p\/projects\/cabspotting"},{"config":{"title":"obsession","date":"2003","thumb":"\/media\/projects\/obsession\/thumb.png"},"title":"obsession","filename":"obsession","path":"\/Users\/gdunne\/_portfolio\/www\/content\/projects\/obsession","fileInfo":{},"timestamp":"1346641380","tags":null,"content":"<p><img src=\"<?=MEDIA_ROOT?>\/projects\/obsession\/detail.jpg\"><br \/>\n<span class=\"caption\">copper wire, masonite. 3.5' x 4.5'<\/span><\/p>\n","cat":{"name":"projects","url":"\/projects\/"},"media":"http:\/\/p\/media\/projects\/obsession\/","thumb":"\/media\/projects\/obsession\/thumb.png","url":"http:\/\/p\/projects\/obsession"},{"config":{"title":"Bodyneg","date":"2002","tags":"print installation","thumb":"\/media\/projects\/bodyneg\/thumb.png"},"title":"Bodyneg","filename":"bodyneg","path":"\/Users\/gdunne\/_portfolio\/www\/content\/projects\/bodyneg","fileInfo":{},"timestamp":"1346641320","tags":["print","installation"],"content":"<p><img src=\"\/media\/projects\/bodyneg\/BODYNEG.jpg\" \/>\n<br \/>\n<em>ink press, 5 wall-mounted panels. 8' x 4' x 2'<\/em><\/p>\n","cat":{"name":"projects","url":"\/projects\/"},"media":"http:\/\/p\/media\/projects\/bodyneg\/","thumb":"\/media\/projects\/bodyneg\/thumb.png","url":"http:\/\/p\/projects\/bodyneg"},{"config":{"title":"Film\/Code remix","date":null},"title":"Film\/Code remix","filename":"bavc_2013","path":"\/Users\/gdunne\/_portfolio\/www\/content\/news\/bavc_2013","fileInfo":{},"timestamp":1346635956,"tags":null,"content":"<p>Co-teaching a Youth Film\/Code Remix class at BAVC, starting in October.<br \/>\n<a href=\"http:\/\/bavc.org\">link<\/a><\/p>\n","cat":{"name":"news","url":"\/news\/"},"media":"http:\/\/p\/media\/news\/bavc_2013\/","thumb":"http:\/\/p\/media\/news\/bavc_2013\/thumb.png","url":"http:\/\/p\/news\/bavc_2013"},{"config":{"date":"Tue May 24 22:00:58 2011","hide_title":"1"},"title":"permenant","filename":"permenant","path":"\/Users\/gdunne\/_portfolio\/www\/content\/process\/permenant","fileInfo":{},"timestamp":"1306299658","tags":null,"content":"<p><img src=\"<?=MEDIA_ROOT?>\/img\/perm.png\" \/><\/p>\n","cat":{"name":"process","url":"\/process\/"},"media":"http:\/\/p\/media\/process\/permenant\/","thumb":"http:\/\/p\/media\/process\/permenant\/thumb.png","url":"http:\/\/p\/process\/permenant"},{"config":{"title":"time","date":"Tue May 24 21:43:54 2011"},"title":"time","filename":"schedule","path":"\/Users\/gdunne\/_portfolio\/www\/content\/process\/schedule","fileInfo":{},"timestamp":"1306298634","tags":null,"content":"<p>honest schedule:<\/p>\n\n<pre> \n 6\n 7 \n 8 \n 9 (if lucky) wake, lay around\n10 rushed coffee with love\n11 studio\n12\n 1 \n 2 small break (outside), food\n 3 work\n 4 \n 5 \n 6 \n 7 \n 8 dinner (take out)\n 9 work\n10 \n11 \n12 home\n 1 work\n 2\n 3 sleep\n 4\n 5\n<\/pre>\n\n<p>ideal schedule:<\/p>\n\n<pre> \n 6\n 7 wake\n 8 breakfast with love\n 9 get to studio\n10 \n11 work\n12\n 1 break (outside)\n 2 work\n 3 \n 4 \n 5\n 6 dinner with love\n 7 \n 8 work wrap up\n 9 relax\n10\n11 sleep\n12\n 1\n 2\n 3\n 4\n 5\n<\/pre>\n","cat":{"name":"process","url":"\/process\/"},"media":"http:\/\/p\/media\/process\/schedule\/","thumb":"http:\/\/p\/media\/process\/schedule\/thumb.png","url":"http:\/\/p\/process\/schedule"},{"config":{"title":"clmpr.com","date":"may 24 2011","tags":"code www opensource"},"title":"clmpr.com","filename":"clmpr","path":"\/Users\/gdunne\/_portfolio\/www\/content\/process\/clmpr","fileInfo":{},"timestamp":"1306220400","tags":["code","www","opensource"],"content":"<p><a href=\"http:\/\/clmpr.com\">\n<img src=\"<?=MEDIA_ROOT?>\/img\/clmpr.png\" \/>\n<\/a><\/p>\n\n<p>clmpr is a minimal open-source bookmarking engine.<\/p>\n","cat":{"name":"process","url":"\/process\/"},"media":"http:\/\/p\/media\/process\/clmpr\/","thumb":"http:\/\/p\/media\/process\/clmpr\/thumb.png","url":"http:\/\/p\/process\/clmpr"},{"config":{"title":"ICOSI Performance at Gray Area Foundation for the Arts","date":"2010-11-05","tags":"projection-mapping performance audiovisual"},"title":"ICOSI Performance at Gray Area Foundation for the Arts","filename":"icosi_gaffta","path":"\/Users\/gdunne\/_portfolio\/www\/content\/news\/icosi_gaffta","fileInfo":{},"timestamp":"1288940400","tags":["projection-mapping","performance","audiovisual"],"content":"<p>ICOSI Performance at Gray Area Foundation for the Arts<br \/>\nDate\/Time: 06 Nov 2010 from 7:00 PM to 11:00 PM<br \/>\nLocation: Gray Area Foundation for the Arts \u2013 55 Taylor Street, San Francisco<br \/>\nICOSI by Gabriel Dunne in collaboration with Jeff Lubow (Audio)<br \/>\n<a href=\"http:\/\/www.gaffta.org\/2010\/11\/03\/takes-on-sound-space-symposium-performances-this-saturday\/\">link<\/a><\/p>\n","cat":{"name":"news","url":"\/news\/"},"media":"http:\/\/p\/media\/news\/icosi_gaffta\/","thumb":"http:\/\/p\/media\/news\/icosi_gaffta\/thumb.png","url":"http:\/\/p\/news\/icosi_gaffta"},{"config":{"title":"Seaquence","tags":"audio www","date":"2010-10-04"},"title":"Seaquence","filename":"seaquence","path":"\/Users\/gdunne\/_portfolio\/www\/content\/projects\/seaquence","fileInfo":{},"timestamp":"1286175600","tags":["audio","www"],"content":"<p>Alpha release of <a href=\"http:\/\/seaquence.org\">Seaquence: A experimental web-based musical ecosystem<\/a>. <\/p>\n\n<p><a href=\"http:\/\/seaquence.org\">link<\/a><\/p>\n","cat":{"name":"projects","url":"\/projects\/"},"media":"http:\/\/p\/media\/projects\/seaquence\/","thumb":"http:\/\/p\/media\/projects\/seaquence\/thumb.png","url":"http:\/\/p\/projects\/seaquence"},{"config":{"title":"ICOS Performance @ Biennial of the Americas, CO","tags":"performance installation projection visual audio","notes":"this might need to be split up into a few posts","date":"2010-07-29"},"title":"ICOS Performance @ Biennial of the Americas, CO","filename":"icosi_biennial","path":"\/Users\/gdunne\/_portfolio\/www\/content\/process\/icosi_biennial","fileInfo":{},"timestamp":"1280386800","tags":["performance","installation","projection","visual","audio"],"content":"<p><img src=\"http:\/\/farm5.static.flickr.com\/4110\/4847387674_5419f0b672.jpg\" \/><\/p>\n\n<p><em>ICOSI<\/em> is an audio\/visual sculptural performance which was shown at the Biennial of the Americas, Denver CO, Jul 29 2010.<\/p>\n\n<p>audio synthesis created with Ablton Live\/Max\/MSP, custom software (OPENGL, Processing). Custom surface fabrication\ndimensions: 230cm x 230 cm (7.9' x 7.9')<\/p>\n\n<p>The software and audio toolset was developed over three weeks leading up to the performance. The performance dramatically split my focus into two places (music and visuals), which was a juggle that I didn't fully anticipate as I was developing the visual software on one split-screen before the performance. Inspired to continue pursuing interfaces and controllers to overcome the separation of creating audio and visuals simultaneously.<\/p>\n\n<p>The multiple mediums (sculpture, sound, visual media) of this particular project was fascinating. Each iteration represents a process of my own curiosities in technology, consciousness, spirituality, design, and fabrication.<\/p>\n\n<p>The piece represents my practice and experiences in regards to my own spiritual growth and experience. Geometrically, the form is inspired by sacred polyhedra that represent forms of transition. The choice of an <a href=\"http:\/\/en.wikipedia.org\/wiki\/Icosidodecahedron\">icosidodecahedron<\/a> represents transition of two frequencies, represented by an <a href=\"http:\/\/en.wikipedia.org\/wiki\/Icosahedron\">icosahedron<\/a> and its dual polyhedron, a <a href=\"http:\/\/en.wikipedia.org\/wiki\/Dodecahedron\">dodecahedron<\/a>.<\/p>\n\n<p>The form is composed of 7 panels trimmed and scaled from a full icosidodecahedron. The visuals follow the structure of the form nearly explicitly, with the exception of textural elements.<\/p>\n\n<p>The inclusion of the Merkaba\/Star Tetrahedron represents an inspiration for the visuals. The Merkaba, a dual spinning pyramid, represents a spiritual light vehicle used by the ancients to transcend to and contact spiritual realms. \"Mer\" means Light. \"Ka\" means Spirit. \"Ba\" means Body. Mer-Ka-Ba means the spirit\/body surrounded by counter-rotating fields of light, (wheels within wheels), spirals of energy as in DNA, which transports spirit\/body from one dimension to another. <a href=\"http:\/\/www.crystalinks.com\/merkaba.html\">[1]<\/a><\/p>\n\n<p><a href=\"http:\/\/www.flickr.com\/photos\/quilime\/sets\/72157624499344281\/with\/4847387648\/\">more photos via flickr →<\/a><\/p>\n","cat":{"name":"process","url":"\/process\/"},"media":"http:\/\/p\/media\/process\/icosi_biennial\/","thumb":"http:\/\/p\/media\/process\/icosi_biennial\/thumb.png","url":"http:\/\/p\/process\/icosi_biennial"},{"config":{"title":"icosi fabrication 2","date":"2010-07-07","tags":"icosi fabrication"},"title":"icosi fabrication 2","filename":"icosi2","path":"\/Users\/gdunne\/_portfolio\/www\/content\/process\/icosi2","fileInfo":{},"timestamp":"1278486000","tags":["icosi","fabrication"],"content":"<p><a href=\"http:\/\/www.flickr.com\/photos\/quilime\/4773799092\/\"><img src=\"http:\/\/farm5.static.flickr.com\/4140\/4773799092_75e68e4e66.jpg\" alt=\"img\" \/><\/a><br \/>\nAssembly test w\/stretched panels in the studio (just hanging).<\/p>\n\n<p><a href=\"http:\/\/www.flickr.com\/photos\/quilime\/4773722288\/in\/photostream\/\"><img src=\"http:\/\/farm5.static.flickr.com\/4123\/4773722288_dd579b9956.jpg\" alt=\"\" \/><\/a><br \/>\nAssembly test.<\/p>\n","cat":{"name":"process","url":"\/process\/"},"media":"http:\/\/p\/media\/process\/icosi2\/","thumb":"http:\/\/p\/media\/process\/icosi2\/thumb.png","url":"http:\/\/p\/process\/icosi2"},{"config":{"title":"icosi fabrication","date":"2010-07-01","tags":"fabrication icosi design sculpture mapping"},"title":"icosi fabrication","filename":"icosi","path":"\/Users\/gdunne\/_portfolio\/www\/content\/process\/icosi","fileInfo":{},"timestamp":"1277967600","tags":["fabrication","icosi","design","sculpture","mapping"],"content":"<p>Fabrication process for ICOSI projection surface. The form is a section of an icosidodecahedron (scaled on the z-axis by 0.5).<\/p>\n\n<p><a href=\"http:\/\/www.flickr.com\/photos\/quilime\/4743498955\/\" title=\"view on flickr\">\n<img src=\"http:\/\/farm5.static.flickr.com\/4077\/4743498955_d8d524bd27.jpg\" \/><\/a>\n<br \/>\nA laser-cut a small working model.<\/p>\n\n<p><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 \/>\nCustom jig for slicing the angles.<\/p>\n\n<p><a href=\"http:\/\/www.flickr.com\/photos\/quilime\/4769443639\/in\/photostream\/\"><img src=\"http:\/\/farm5.static.flickr.com\/4076\/4769443639_728b077b3a.jpg\" \/><\/a><br \/>\nPriming the panels, readying them to be stretched with screen-fabric.<\/p>\n","cat":{"name":"process","url":"\/process\/"},"media":"http:\/\/p\/media\/process\/icosi\/","thumb":"http:\/\/p\/media\/process\/icosi\/thumb.png","url":"http:\/\/p\/process\/icosi"},{"config":{"title":"ICOSI Tech Rider","date":"2010-06-10"},"title":"ICOSI Tech Rider","filename":"icosi_rider","path":"\/Users\/gdunne\/_portfolio\/www\/content\/process\/icosi_rider","fileInfo":{},"timestamp":"1276153200","tags":null,"content":"<p>Tech rider developed for new project:<\/p>\n\n<p><a href=\"\/media\/projects\/icosi\/rider_02.png\"><img src=\"\/media\/projects\/icosi\/rider_02_t.png\" alt=\"\" \/><\/a> \n<a href=\"\/media\/projects\/icosi\/rider_01.png\"><img src=\"\/media\/projects\/icosi\/rider_01_t.png\" alt=\"\" \/><\/a><\/p>\n\n<p><a href=\"http:\/\/media.quilime.com\/files\/projects\/icosi\/gdunne_rider_diag.pdf\">pdf<\/a><\/p>\n","cat":{"name":"process","url":"\/process\/"},"media":"http:\/\/p\/media\/process\/icosi_rider\/","thumb":"http:\/\/p\/media\/process\/icosi_rider\/thumb.png","url":"http:\/\/p\/process\/icosi_rider"},{"config":{"title":"Boat","date":"2007-07-10","tags":"timelapse photography","thumb":"\/media\/projects\/boat\/thumb.png"},"title":"Boat","filename":"boat","path":"\/Users\/gdunne\/_portfolio\/www\/content\/projects\/boat","fileInfo":{},"timestamp":"1184050800","tags":["timelapse","photography"],"content":"<p><object classid=\"clsid:02bf25d5-8c17-4b23-bc80-d3488abddc6b\" id=\"qt_object\" width=\"535\" height=\"374\" codebase=\"http:\/\/www.apple.com\/qtactivex\/qtplugin.cab#version=6,0,2,0\">\n<param name=\"type\" value=\"video\/quicktime\">\n<param name=\"name\" value=\"qt_object\">\n<param name=\"nocache\" value=\"true\">\n<param name=\"autoplay\" value=\"true\">\n<param name=\"kioskmode\" value=\"true\">\n<param name=\"controller\" value=\"true\">\n<param name=\"loop\" value=\"true\">\n<param name=\"bgcolor\" value=\"#000000\">\n<param name=\"src\" value=\"\/media\/projects\/boat\/boat.mov\">\n<param name=\"pluginspage\" value=\"http:\/\/www.apple.com\/quicktime\/download\/indext.html\"><br \/>\n<embed name = \"qt_object\" width=\"535\" height=\"374\" controller=\"true\" loop=\"true\" autoplay=\"true\" src=\"\/media\/projects\/boat\/boat.mov\" kioskmode=\"true\" nocache=\"true\" type=\"video\/quicktime\" bgcolor=\"#000000\" border=\"0\" pluginspage=\"http:\/\/www.apple.com\/quicktime\/download\/indext.html\" enablejavascript=\"true\">\n<\/embed>\n<\/object><\/p>\n\n<p><em>photo timelapse<\/em><\/p>\n","cat":{"name":"projects","url":"\/projects\/"},"media":"http:\/\/p\/media\/projects\/boat\/","thumb":"\/media\/projects\/boat\/thumb.png","url":"http:\/\/p\/projects\/boat"},{"config":{"date":"2003-05-01"},"title":"egg","filename":"egg","path":"\/Users\/gdunne\/_portfolio\/www\/content\/process\/egg","fileInfo":{},"timestamp":"1051772400","tags":null,"content":"<p><img src=\"<?=MEDIA_ROOT?>\/projects\/egg\/egg.jpg\">\n<span class=\"caption\">marker, wire. 4\" x 2.5\"<\/span><\/p>\n","cat":{"name":"process","url":"\/process\/"},"media":"http:\/\/p\/media\/process\/egg\/","thumb":"http:\/\/p\/media\/process\/egg\/thumb.png","url":"http:\/\/p\/process\/egg"}]}
\ No newline at end of file
--- /dev/null
+{"entries":[{"config":{"title":"Film\/Code remix","date":null},"title":"Film\/Code remix","filename":"bavc_2013","path":"\/Users\/gdunne\/_portfolio\/www\/content\/news\/bavc_2013","fileInfo":{},"timestamp":1346635956,"tags":null,"content":"<p>Co-teaching a Youth Film\/Code Remix class at BAVC, starting in October.<br \/>\n<a href=\"http:\/\/bavc.org\">link<\/a><\/p>\n","cat":{"name":".\/news","url":"\/.\/news\/"},"media":"http:\/\/p\/media\/.\/news\/bavc_2013\/","thumb":"http:\/\/p\/media\/.\/news\/bavc_2013\/thumb.png","url":"http:\/\/p\/.\/news\/bavc_2013"},{"config":{"title":"ICOSI Performance at Gray Area Foundation for the Arts","date":"2010-11-05","tags":"projection-mapping performance audiovisual"},"title":"ICOSI Performance at Gray Area Foundation for the Arts","filename":"icosi_gaffta","path":"\/Users\/gdunne\/_portfolio\/www\/content\/news\/icosi_gaffta","fileInfo":{},"timestamp":"1288940400","tags":["projection-mapping","performance","audiovisual"],"content":"<p>ICOSI Performance at Gray Area Foundation for the Arts<br \/>\nDate\/Time: 06 Nov 2010 from 7:00 PM to 11:00 PM<br \/>\nLocation: Gray Area Foundation for the Arts \u2013 55 Taylor Street, San Francisco<br \/>\nICOSI by Gabriel Dunne in collaboration with Jeff Lubow (Audio)<br \/>\n<a href=\"http:\/\/www.gaffta.org\/2010\/11\/03\/takes-on-sound-space-symposium-performances-this-saturday\/\">link<\/a><\/p>\n","cat":{"name":".\/news","url":"\/.\/news\/"},"media":"http:\/\/p\/media\/.\/news\/icosi_gaffta\/","thumb":"http:\/\/p\/media\/.\/news\/icosi_gaffta\/thumb.png","url":"http:\/\/p\/.\/news\/icosi_gaffta"}]}
\ No newline at end of file
--- /dev/null
+{"entries":[{"config":{"date":"Tue May 24 22:00:58 2011","hide_title":"1"},"title":"permenant","filename":"permenant","path":"\/Users\/gdunne\/_portfolio\/www\/content\/process\/permenant","fileInfo":{},"timestamp":"1306299658","tags":null,"content":"<p><img src=\"<?=MEDIA_ROOT?>\/img\/perm.png\" \/><\/p>\n","cat":{"name":".\/process","url":"\/.\/process\/"},"media":"http:\/\/p\/media\/.\/process\/permenant\/","thumb":"http:\/\/p\/media\/.\/process\/permenant\/thumb.png","url":"http:\/\/p\/.\/process\/permenant"},{"config":{"title":"time","date":"Tue May 24 21:43:54 2011"},"title":"time","filename":"schedule","path":"\/Users\/gdunne\/_portfolio\/www\/content\/process\/schedule","fileInfo":{},"timestamp":"1306298634","tags":null,"content":"<p>honest schedule:<\/p>\n\n<pre> \n 6\n 7 \n 8 \n 9 (if lucky) wake, lay around\n10 rushed coffee with love\n11 studio\n12\n 1 \n 2 small break (outside), food\n 3 work\n 4 \n 5 \n 6 \n 7 \n 8 dinner (take out)\n 9 work\n10 \n11 \n12 home\n 1 work\n 2\n 3 sleep\n 4\n 5\n<\/pre>\n\n<p>ideal schedule:<\/p>\n\n<pre> \n 6\n 7 wake\n 8 breakfast with love\n 9 get to studio\n10 \n11 work\n12\n 1 break (outside)\n 2 work\n 3 \n 4 \n 5\n 6 dinner with love\n 7 \n 8 work wrap up\n 9 relax\n10\n11 sleep\n12\n 1\n 2\n 3\n 4\n 5\n<\/pre>\n","cat":{"name":".\/process","url":"\/.\/process\/"},"media":"http:\/\/p\/media\/.\/process\/schedule\/","thumb":"http:\/\/p\/media\/.\/process\/schedule\/thumb.png","url":"http:\/\/p\/.\/process\/schedule"},{"config":{"title":"clmpr.com","date":"may 24 2011","tags":"code www opensource"},"title":"clmpr.com","filename":"clmpr","path":"\/Users\/gdunne\/_portfolio\/www\/content\/process\/clmpr","fileInfo":{},"timestamp":"1306220400","tags":["code","www","opensource"],"content":"<p><a href=\"http:\/\/clmpr.com\">\n<img src=\"<?=MEDIA_ROOT?>\/img\/clmpr.png\" \/>\n<\/a><\/p>\n\n<p>clmpr is a minimal open-source bookmarking engine.<\/p>\n","cat":{"name":".\/process","url":"\/.\/process\/"},"media":"http:\/\/p\/media\/.\/process\/clmpr\/","thumb":"http:\/\/p\/media\/.\/process\/clmpr\/thumb.png","url":"http:\/\/p\/.\/process\/clmpr"},{"config":{"title":"ICOS Performance @ Biennial of the Americas, CO","tags":"performance installation projection visual audio","notes":"this might need to be split up into a few posts","date":"2010-07-29"},"title":"ICOS Performance @ Biennial of the Americas, CO","filename":"icosi_biennial","path":"\/Users\/gdunne\/_portfolio\/www\/content\/process\/icosi_biennial","fileInfo":{},"timestamp":"1280386800","tags":["performance","installation","projection","visual","audio"],"content":"<p><img src=\"http:\/\/farm5.static.flickr.com\/4110\/4847387674_5419f0b672.jpg\" \/><\/p>\n\n<p><em>ICOSI<\/em> is an audio\/visual sculptural performance which was shown at the Biennial of the Americas, Denver CO, Jul 29 2010.<\/p>\n\n<p>audio synthesis created with Ablton Live\/Max\/MSP, custom software (OPENGL, Processing). Custom surface fabrication\ndimensions: 230cm x 230 cm (7.9' x 7.9')<\/p>\n\n<p>The software and audio toolset was developed over three weeks leading up to the performance. The performance dramatically split my focus into two places (music and visuals), which was a juggle that I didn't fully anticipate as I was developing the visual software on one split-screen before the performance. Inspired to continue pursuing interfaces and controllers to overcome the separation of creating audio and visuals simultaneously.<\/p>\n\n<p>The multiple mediums (sculpture, sound, visual media) of this particular project was fascinating. Each iteration represents a process of my own curiosities in technology, consciousness, spirituality, design, and fabrication.<\/p>\n\n<p>The piece represents my practice and experiences in regards to my own spiritual growth and experience. Geometrically, the form is inspired by sacred polyhedra that represent forms of transition. The choice of an <a href=\"http:\/\/en.wikipedia.org\/wiki\/Icosidodecahedron\">icosidodecahedron<\/a> represents transition of two frequencies, represented by an <a href=\"http:\/\/en.wikipedia.org\/wiki\/Icosahedron\">icosahedron<\/a> and its dual polyhedron, a <a href=\"http:\/\/en.wikipedia.org\/wiki\/Dodecahedron\">dodecahedron<\/a>.<\/p>\n\n<p>The form is composed of 7 panels trimmed and scaled from a full icosidodecahedron. The visuals follow the structure of the form nearly explicitly, with the exception of textural elements.<\/p>\n\n<p>The inclusion of the Merkaba\/Star Tetrahedron represents an inspiration for the visuals. The Merkaba, a dual spinning pyramid, represents a spiritual light vehicle used by the ancients to transcend to and contact spiritual realms. \"Mer\" means Light. \"Ka\" means Spirit. \"Ba\" means Body. Mer-Ka-Ba means the spirit\/body surrounded by counter-rotating fields of light, (wheels within wheels), spirals of energy as in DNA, which transports spirit\/body from one dimension to another. <a href=\"http:\/\/www.crystalinks.com\/merkaba.html\">[1]<\/a><\/p>\n\n<p><a href=\"http:\/\/www.flickr.com\/photos\/quilime\/sets\/72157624499344281\/with\/4847387648\/\">more photos via flickr →<\/a><\/p>\n","cat":{"name":".\/process","url":"\/.\/process\/"},"media":"http:\/\/p\/media\/.\/process\/icosi_biennial\/","thumb":"http:\/\/p\/media\/.\/process\/icosi_biennial\/thumb.png","url":"http:\/\/p\/.\/process\/icosi_biennial"},{"config":{"title":"icosi fabrication 2","date":"2010-07-07","tags":"icosi fabrication"},"title":"icosi fabrication 2","filename":"icosi2","path":"\/Users\/gdunne\/_portfolio\/www\/content\/process\/icosi2","fileInfo":{},"timestamp":"1278486000","tags":["icosi","fabrication"],"content":"<p><a href=\"http:\/\/www.flickr.com\/photos\/quilime\/4773799092\/\"><img src=\"http:\/\/farm5.static.flickr.com\/4140\/4773799092_75e68e4e66.jpg\" alt=\"img\" \/><\/a><br \/>\nAssembly test w\/stretched panels in the studio (just hanging).<\/p>\n\n<p><a href=\"http:\/\/www.flickr.com\/photos\/quilime\/4773722288\/in\/photostream\/\"><img src=\"http:\/\/farm5.static.flickr.com\/4123\/4773722288_dd579b9956.jpg\" alt=\"\" \/><\/a><br \/>\nAssembly test.<\/p>\n","cat":{"name":".\/process","url":"\/.\/process\/"},"media":"http:\/\/p\/media\/.\/process\/icosi2\/","thumb":"http:\/\/p\/media\/.\/process\/icosi2\/thumb.png","url":"http:\/\/p\/.\/process\/icosi2"},{"config":{"title":"icosi fabrication","date":"2010-07-01","tags":"fabrication icosi design sculpture mapping"},"title":"icosi fabrication","filename":"icosi","path":"\/Users\/gdunne\/_portfolio\/www\/content\/process\/icosi","fileInfo":{},"timestamp":"1277967600","tags":["fabrication","icosi","design","sculpture","mapping"],"content":"<p>Fabrication process for ICOSI projection surface. The form is a section of an icosidodecahedron (scaled on the z-axis by 0.5).<\/p>\n\n<p><a href=\"http:\/\/www.flickr.com\/photos\/quilime\/4743498955\/\" title=\"view on flickr\">\n<img src=\"http:\/\/farm5.static.flickr.com\/4077\/4743498955_d8d524bd27.jpg\" \/><\/a>\n<br \/>\nA laser-cut a small working model.<\/p>\n\n<p><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 \/>\nCustom jig for slicing the angles.<\/p>\n\n<p><a href=\"http:\/\/www.flickr.com\/photos\/quilime\/4769443639\/in\/photostream\/\"><img src=\"http:\/\/farm5.static.flickr.com\/4076\/4769443639_728b077b3a.jpg\" \/><\/a><br \/>\nPriming the panels, readying them to be stretched with screen-fabric.<\/p>\n","cat":{"name":".\/process","url":"\/.\/process\/"},"media":"http:\/\/p\/media\/.\/process\/icosi\/","thumb":"http:\/\/p\/media\/.\/process\/icosi\/thumb.png","url":"http:\/\/p\/.\/process\/icosi"},{"config":{"title":"ICOSI Tech Rider","date":"2010-06-10"},"title":"ICOSI Tech Rider","filename":"icosi_rider","path":"\/Users\/gdunne\/_portfolio\/www\/content\/process\/icosi_rider","fileInfo":{},"timestamp":"1276153200","tags":null,"content":"<p>Tech rider developed for new project:<\/p>\n\n<p><a href=\"\/media\/projects\/icosi\/rider_02.png\"><img src=\"\/media\/projects\/icosi\/rider_02_t.png\" alt=\"\" \/><\/a> \n<a href=\"\/media\/projects\/icosi\/rider_01.png\"><img src=\"\/media\/projects\/icosi\/rider_01_t.png\" alt=\"\" \/><\/a><\/p>\n\n<p><a href=\"http:\/\/media.quilime.com\/files\/projects\/icosi\/gdunne_rider_diag.pdf\">pdf<\/a><\/p>\n","cat":{"name":".\/process","url":"\/.\/process\/"},"media":"http:\/\/p\/media\/.\/process\/icosi_rider\/","thumb":"http:\/\/p\/media\/.\/process\/icosi_rider\/thumb.png","url":"http:\/\/p\/.\/process\/icosi_rider"},{"config":{"date":"2003-05-01"},"title":"egg","filename":"egg","path":"\/Users\/gdunne\/_portfolio\/www\/content\/process\/egg","fileInfo":{},"timestamp":"1051772400","tags":null,"content":"<p><img src=\"<?=MEDIA_ROOT?>\/projects\/egg\/egg.jpg\">\n<span class=\"caption\">marker, wire. 4\" x 2.5\"<\/span><\/p>\n","cat":{"name":".\/process","url":"\/.\/process\/"},"media":"http:\/\/p\/media\/.\/process\/egg\/","thumb":"http:\/\/p\/media\/.\/process\/egg\/thumb.png","url":"http:\/\/p\/.\/process\/egg"}]}
\ No newline at end of file
--- /dev/null
+{"entries":[{"config":{"date":"2009"},"title":"synonymovement","filename":"synonymovement","path":"\/Users\/gdunne\/_portfolio\/www\/content\/projects\/synonymovement","fileInfo":{},"timestamp":"1346641740","tags":null,"content":"<p><?\n$w = 640;\n$h = 496;\n?><\/p>\n\n<p><object classid=\"clsid:02bf25d5-8c17-4b23-bc80-d3488abddc6b\" id=\"qt_object\" width=\"<?=$w?>\" height=\"<?=$h?>\" codebase=\"http:\/\/www.apple.com\/qtactivex\/qtplugin.cab#version=6,0,2,0\">\n<param name=\"type\" value=\"video\/quicktime\">\n<param name=\"name\" value=\"qt_object\">\n<param name=\"nocache\" value=\"true\">\n<param name=\"autoplay\" value=\"false\">\n<param name=\"kioskmode\" value=\"true\">\n<param name=\"controller\" value=\"true\">\n<param name=\"loop\" value=\"true\">\n<param name=\"bgcolor\" value=\"#000000\">\n<param name=\"src\" value=\"<?=$data['media']?>\/synonymovement.mov.mov\">\n<param name=\"pluginspage\" value=\"http:\/\/www.apple.com\/quicktime\/download\/indext.html\"><br \/>\n<embed name = \"qt_object\" width=\"<?=$w?>\" height=\"<?=$h?>\" controller=\"true\" loop=\"true\" autoplay=\"false\" src=\"<?=$data['media']?>\/synonymovement.mov.mov\" kioskmode=\"true\" nocache=\"true\" type=\"video\/quicktime\" bgcolor=\"#000000\" border=\"0\" pluginspage=\"http:\/\/www.apple.com\/quicktime\/download\/indext.html\" enablejavascript=\"true\">\n<\/embed>\n<\/object><\/p>\n\n<p><br \/>\n<span class=\"caption\">\naudio\/visual software, video installation<br \/>\nc++, openGL, ableton live, max\/msp\n<\/span><\/p>\n","cat":{"name":".\/projects","url":"\/.\/projects\/"},"media":"http:\/\/p\/media\/.\/projects\/synonymovement\/","thumb":"http:\/\/p\/media\/.\/projects\/synonymovement\/thumb.png","url":"http:\/\/p\/.\/projects\/synonymovement"},{"config":{"title":"Stars","date":"2009"},"title":"Stars","filename":"stars","path":"\/Users\/gdunne\/_portfolio\/www\/content\/projects\/stars","fileInfo":{},"timestamp":"1346641740","tags":null,"content":"<p><img src=\"<?=$data['media']?>\/stars.jpg\" \/><\/p>\n\n<h2>Stars<\/h2>\n\n<p><em>projection, visual software (c++), audio (ableton live, max\/msp)<\/em><\/p>\n\n<p>An exploration of infinite\/finite space. The viewer transitions between macro and micro environments of mathematically infinite scale. As the viewer moves through multiple spaces, their scope and perspective widens and transcends while space becomes infinitely big and infinitely small simultaneously.<\/p>\n\n<p><br \/><\/p>\n\n<p><img src=\"<?=$data['media']?>\/47_roof.jpg\"\/><\/p>\n\n<h3>video<\/h3>\n\n<p><br \/><\/p>\n\n<p><object classid=\"clsid:02bf25d5-8c17-4b23-bc80-d3488abddc6b\" id=\"qt_object\" width=\"640\" height=\"496\" codebase=\"http:\/\/www.apple.com\/qtactivex\/qtplugin.cab#version=6,0,2,0\">\n<param name=\"type\" value=\"video\/quicktime\">\n<param name=\"name\" value=\"qt_object\"><\/p>\n\n<p><param name=\"nocache\" value=\"true\">\n<param name=\"autoplay\" value=\"false\">\n<param name=\"kioskmode\" value=\"true\">\n<param name=\"controller\" value=\"true\">\n<param name=\"loop\" value=\"true\">\n<param name=\"bgcolor\" value=\"#000000\">\n<param name=\"src\" value=\"<?=$data['media']?>\/stars.mov\">\n<param name=\"pluginspage\" value=\"http:\/\/www.apple.com\/quicktime\/download\/indext.html\">\n<embed name = \"qt_object\" width=\"640\" height=\"496\" controller=\"true\" loop=\"true\" autoplay=\"false\" src=\"<?=$data['media']?>\/stars.mov\" kioskmode=\"true\" nocache=\"true\" type=\"video\/quicktime\" bgcolor=\"#000000\" border=\"0\" pluginspage=\"http:\/\/www.apple.com\/quicktime\/download\/indext.html\" enablejavascript=\"true\">\n<\/embed>\n<\/object><\/p>\n","cat":{"name":".\/projects","url":"\/.\/projects\/"},"media":"http:\/\/p\/media\/.\/projects\/stars\/","thumb":"http:\/\/p\/media\/.\/projects\/stars\/thumb.png","url":"http:\/\/p\/.\/projects\/stars"},{"config":{"title":"rattle","date":"2009"},"title":"rattle","filename":"rattle","path":"\/Users\/gdunne\/_portfolio\/www\/content\/projects\/rattle","fileInfo":{},"timestamp":"1346641740","tags":null,"content":"<p><?\n$w = 640;\n$h = 496;\n?><\/p>\n\n<p><object classid=\"clsid:02bf25d5-8c17-4b23-bc80-d3488abddc6b\" id=\"qt_object\" width=\"<?=$w?>\" height=\"<?=$h?>\" codebase=\"http:\/\/www.apple.com\/qtactivex\/qtplugin.cab#version=6,0,2,0\">\n<param name=\"type\" value=\"video\/quicktime\">\n<param name=\"name\" value=\"qt_object\">\n<param name=\"nocache\" value=\"true\">\n<param name=\"autoplay\" value=\"false\">\n<param name=\"kioskmode\" value=\"true\">\n<param name=\"controller\" value=\"true\">\n<param name=\"loop\" value=\"true\">\n<param name=\"bgcolor\" value=\"#000000\">\n<param name=\"src\" value=\"<?=$data['media']?>\/rattle.mov\">\n<param name=\"pluginspage\" value=\"http:\/\/www.apple.com\/quicktime\/download\/indext.html\"><br \/>\n<embed name = \"qt_object\" width=\"<?=$w?>\" height=\"<?=$h?>\" controller=\"true\" loop=\"true\" autoplay=\"false\" src=\"<?=$data['media']?>\/rattle.mov\" kioskmode=\"true\" nocache=\"true\" type=\"video\/quicktime\" bgcolor=\"#000000\" border=\"0\" pluginspage=\"http:\/\/www.apple.com\/quicktime\/download\/indext.html\" enablejavascript=\"true\">\n<\/embed>\n<\/object><\/p>\n\n<p><br \/>\n<span class=\"caption\">\ninteractive software, synthesiser \n<br \/>\nbuilt with Processing, ChucK\n<\/span><\/p>\n","cat":{"name":".\/projects","url":"\/.\/projects\/"},"media":"http:\/\/p\/media\/.\/projects\/rattle\/","thumb":"http:\/\/p\/media\/.\/projects\/rattle\/thumb.png","url":"http:\/\/p\/.\/projects\/rattle"},{"config":{"title":"cabspotting","date":"2009","tags":"datavis software stamen"},"title":"cabspotting","filename":"cabspotting","path":"\/Users\/gdunne\/_portfolio\/www\/content\/projects\/cabspotting","fileInfo":{},"timestamp":"1346641740","tags":["datavis","software","stamen"],"content":"<p><?\n $w = 800;\n $h = 516;\n?><\/p>\n\n<p><object classid=\"clsid:02bf25d5-8c17-4b23-bc80-d3488abddc6b\" id=\"qt_object\" width=\"<?=$w?>\" height=\"<?=$h?>\" codebase=\"http:\/\/www.apple.com\/qtactivex\/qtplugin.cab#version=6,0,2,0\">\n<param name=\"type\" value=\"video\/quicktime\">\n<param name=\"name\" value=\"qt_object\">\n<param name=\"nocache\" value=\"true\">\n<param name=\"autoplay\" value=\"false\">\n<param name=\"kioskmode\" value=\"true\">\n<param name=\"controller\" value=\"true\">\n<param name=\"loop\" value=\"true\">\n<param name=\"bgcolor\" value=\"#000000\">\n<param name=\"src\" value=\"<?=$data['media']?>\/cabspotting_web.mov\">\n<param name=\"pluginspage\" value=\"http:\/\/www.apple.com\/quicktime\/download\/indext.html\">\n<embed name = \"qt_object\" width=\"<?=$w?>\" height=\"<?=$h?>\" controller=\"true\" loop=\"true\" autoplay=\"false\" src=\"<?=$data['media']?>\/cabspotting_web.mov\" kioskmode=\"true\" nocache=\"true\" type=\"video\/quicktime\" bgcolor=\"#000000\" border=\"0\" pluginspage=\"http:\/\/www.apple.com\/quicktime\/download\/indext.html\" enablejavascript=\"true\">\n<\/embed>\n<\/object><\/p>\n\n<p><br \/>\n<span class=\"caption\">\nSF taxi visualization <br \/>\nbuilt with Java\/Processing\n<\/span><\/p>\n\n<p>part of the NY MOMA permenant collection<\/p>\n","cat":{"name":".\/projects","url":"\/.\/projects\/"},"media":"http:\/\/p\/media\/.\/projects\/cabspotting\/","thumb":"http:\/\/p\/media\/.\/projects\/cabspotting\/thumb.png","url":"http:\/\/p\/.\/projects\/cabspotting"},{"config":{"title":"obsession","date":"2003","thumb":"\/media\/projects\/obsession\/thumb.png"},"title":"obsession","filename":"obsession","path":"\/Users\/gdunne\/_portfolio\/www\/content\/projects\/obsession","fileInfo":{},"timestamp":"1346641380","tags":null,"content":"<p><img src=\"<?=MEDIA_ROOT?>\/projects\/obsession\/detail.jpg\"><br \/>\n<span class=\"caption\">copper wire, masonite. 3.5' x 4.5'<\/span><\/p>\n","cat":{"name":".\/projects","url":"\/.\/projects\/"},"media":"http:\/\/p\/media\/.\/projects\/obsession\/","thumb":"\/media\/projects\/obsession\/thumb.png","url":"http:\/\/p\/.\/projects\/obsession"},{"config":{"title":"Bodyneg","date":"2002","tags":"print installation","thumb":"\/media\/projects\/bodyneg\/thumb.png"},"title":"Bodyneg","filename":"bodyneg","path":"\/Users\/gdunne\/_portfolio\/www\/content\/projects\/bodyneg","fileInfo":{},"timestamp":"1346641320","tags":["print","installation"],"content":"<p><img src=\"\/media\/projects\/bodyneg\/BODYNEG.jpg\" \/>\n<br \/>\n<em>ink press, 5 wall-mounted panels. 8' x 4' x 2'<\/em><\/p>\n","cat":{"name":".\/projects","url":"\/.\/projects\/"},"media":"http:\/\/p\/media\/.\/projects\/bodyneg\/","thumb":"\/media\/projects\/bodyneg\/thumb.png","url":"http:\/\/p\/.\/projects\/bodyneg"},{"config":{"title":"Seaquence","tags":"audio www","date":"2010-10-04"},"title":"Seaquence","filename":"seaquence","path":"\/Users\/gdunne\/_portfolio\/www\/content\/projects\/seaquence","fileInfo":{},"timestamp":"1286175600","tags":["audio","www"],"content":"<p>Alpha release of <a href=\"http:\/\/seaquence.org\">Seaquence: A experimental web-based musical ecosystem<\/a>. <\/p>\n\n<p><a href=\"http:\/\/seaquence.org\">link<\/a><\/p>\n","cat":{"name":".\/projects","url":"\/.\/projects\/"},"media":"http:\/\/p\/media\/.\/projects\/seaquence\/","thumb":"http:\/\/p\/media\/.\/projects\/seaquence\/thumb.png","url":"http:\/\/p\/.\/projects\/seaquence"},{"config":{"title":"Boat","date":"2007-07-10","tags":"timelapse photography","thumb":"\/media\/projects\/boat\/thumb.png"},"title":"Boat","filename":"boat","path":"\/Users\/gdunne\/_portfolio\/www\/content\/projects\/boat","fileInfo":{},"timestamp":"1184050800","tags":["timelapse","photography"],"content":"<p><object classid=\"clsid:02bf25d5-8c17-4b23-bc80-d3488abddc6b\" id=\"qt_object\" width=\"535\" height=\"374\" codebase=\"http:\/\/www.apple.com\/qtactivex\/qtplugin.cab#version=6,0,2,0\">\n<param name=\"type\" value=\"video\/quicktime\">\n<param name=\"name\" value=\"qt_object\">\n<param name=\"nocache\" value=\"true\">\n<param name=\"autoplay\" value=\"true\">\n<param name=\"kioskmode\" value=\"true\">\n<param name=\"controller\" value=\"true\">\n<param name=\"loop\" value=\"true\">\n<param name=\"bgcolor\" value=\"#000000\">\n<param name=\"src\" value=\"\/media\/projects\/boat\/boat.mov\">\n<param name=\"pluginspage\" value=\"http:\/\/www.apple.com\/quicktime\/download\/indext.html\"><br \/>\n<embed name = \"qt_object\" width=\"535\" height=\"374\" controller=\"true\" loop=\"true\" autoplay=\"true\" src=\"\/media\/projects\/boat\/boat.mov\" kioskmode=\"true\" nocache=\"true\" type=\"video\/quicktime\" bgcolor=\"#000000\" border=\"0\" pluginspage=\"http:\/\/www.apple.com\/quicktime\/download\/indext.html\" enablejavascript=\"true\">\n<\/embed>\n<\/object><\/p>\n\n<p><em>photo timelapse<\/em><\/p>\n","cat":{"name":".\/projects","url":"\/.\/projects\/"},"media":"http:\/\/p\/media\/.\/projects\/boat\/","thumb":"\/media\/projects\/boat\/thumb.png","url":"http:\/\/p\/.\/projects\/boat"}]}
\ No newline at end of file
--- /dev/null
+{"entries":[{"config":{"title":"Seaquence","tags":"audio www","date":"2010-10-04"},"title":"Seaquence","filename":"seaquence","path":"\/Users\/gdunne\/_portfolio\/www\/content\/projects\/seaquence","fileInfo":{},"timestamp":"1286175600","tags":["audio","www"],"content":"<p>Alpha release of <a href=\"http:\/\/seaquence.org\">Seaquence: A experimental web-based musical ecosystem<\/a>. <\/p>\n\n<p><a href=\"http:\/\/seaquence.org\">link<\/a><\/p>\n","cat":{"name":"projects","url":"\/projects\/"},"media":"http:\/\/p\/media\/projects\/seaquence\/","thumb":"http:\/\/p\/media\/projects\/seaquence\/thumb.png","url":"http:\/\/p\/projects\/seaquence"},{"config":{"title":"ICOS Performance @ Biennial of the Americas, CO","tags":"performance installation projection visual audio","notes":"this might need to be split up into a few posts","date":"2010-07-29"},"title":"ICOS Performance @ Biennial of the Americas, CO","filename":"icosi_biennial","path":"\/Users\/gdunne\/_portfolio\/www\/content\/process\/icosi_biennial","fileInfo":{},"timestamp":"1280386800","tags":["performance","installation","projection","visual","audio"],"content":"<p><img src=\"http:\/\/farm5.static.flickr.com\/4110\/4847387674_5419f0b672.jpg\" \/><\/p>\n\n<p><em>ICOSI<\/em> is an audio\/visual sculptural performance which was shown at the Biennial of the Americas, Denver CO, Jul 29 2010.<\/p>\n\n<p>audio synthesis created with Ablton Live\/Max\/MSP, custom software (OPENGL, Processing). Custom surface fabrication\ndimensions: 230cm x 230 cm (7.9' x 7.9')<\/p>\n\n<p>The software and audio toolset was developed over three weeks leading up to the performance. The performance dramatically split my focus into two places (music and visuals), which was a juggle that I didn't fully anticipate as I was developing the visual software on one split-screen before the performance. Inspired to continue pursuing interfaces and controllers to overcome the separation of creating audio and visuals simultaneously.<\/p>\n\n<p>The multiple mediums (sculpture, sound, visual media) of this particular project was fascinating. Each iteration represents a process of my own curiosities in technology, consciousness, spirituality, design, and fabrication.<\/p>\n\n<p>The piece represents my practice and experiences in regards to my own spiritual growth and experience. Geometrically, the form is inspired by sacred polyhedra that represent forms of transition. The choice of an <a href=\"http:\/\/en.wikipedia.org\/wiki\/Icosidodecahedron\">icosidodecahedron<\/a> represents transition of two frequencies, represented by an <a href=\"http:\/\/en.wikipedia.org\/wiki\/Icosahedron\">icosahedron<\/a> and its dual polyhedron, a <a href=\"http:\/\/en.wikipedia.org\/wiki\/Dodecahedron\">dodecahedron<\/a>.<\/p>\n\n<p>The form is composed of 7 panels trimmed and scaled from a full icosidodecahedron. The visuals follow the structure of the form nearly explicitly, with the exception of textural elements.<\/p>\n\n<p>The inclusion of the Merkaba\/Star Tetrahedron represents an inspiration for the visuals. The Merkaba, a dual spinning pyramid, represents a spiritual light vehicle used by the ancients to transcend to and contact spiritual realms. \"Mer\" means Light. \"Ka\" means Spirit. \"Ba\" means Body. Mer-Ka-Ba means the spirit\/body surrounded by counter-rotating fields of light, (wheels within wheels), spirals of energy as in DNA, which transports spirit\/body from one dimension to another. <a href=\"http:\/\/www.crystalinks.com\/merkaba.html\">[1]<\/a><\/p>\n\n<p><a href=\"http:\/\/www.flickr.com\/photos\/quilime\/sets\/72157624499344281\/with\/4847387648\/\">more photos via flickr →<\/a><\/p>\n","cat":{"name":"process","url":"\/process\/"},"media":"http:\/\/p\/media\/process\/icosi_biennial\/","thumb":"http:\/\/p\/media\/process\/icosi_biennial\/thumb.png","url":"http:\/\/p\/process\/icosi_biennial"}]}
\ No newline at end of file
--- /dev/null
+{"entries":[{"config":{"title":"Bodyneg","date":"2002","tags":"print installation","thumb":"\/media\/projects\/bodyneg\/thumb.png"},"title":"Bodyneg","filename":"bodyneg","path":"\/Users\/gdunne\/_portfolio\/www\/content\/projects\/bodyneg","fileInfo":{},"timestamp":"1346641320","tags":["print","installation"],"content":"<p><img src=\"\/media\/projects\/bodyneg\/BODYNEG.jpg\" \/>\n<br \/>\n<em>ink press, 5 wall-mounted panels. 8' x 4' x 2'<\/em><\/p>\n","cat":{"name":"projects","url":"\/projects\/"},"media":"http:\/\/p\/media\/projects\/bodyneg\/","thumb":"\/media\/projects\/bodyneg\/thumb.png","url":"http:\/\/p\/projects\/bodyneg"},{"config":{"title":"ICOS Performance @ Biennial of the Americas, CO","tags":"performance installation projection visual audio","notes":"this might need to be split up into a few posts","date":"2010-07-29"},"title":"ICOS Performance @ Biennial of the Americas, CO","filename":"icosi_biennial","path":"\/Users\/gdunne\/_portfolio\/www\/content\/process\/icosi_biennial","fileInfo":{},"timestamp":"1280386800","tags":["performance","installation","projection","visual","audio"],"content":"<p><img src=\"http:\/\/farm5.static.flickr.com\/4110\/4847387674_5419f0b672.jpg\" \/><\/p>\n\n<p><em>ICOSI<\/em> is an audio\/visual sculptural performance which was shown at the Biennial of the Americas, Denver CO, Jul 29 2010.<\/p>\n\n<p>audio synthesis created with Ablton Live\/Max\/MSP, custom software (OPENGL, Processing). Custom surface fabrication\ndimensions: 230cm x 230 cm (7.9' x 7.9')<\/p>\n\n<p>The software and audio toolset was developed over three weeks leading up to the performance. The performance dramatically split my focus into two places (music and visuals), which was a juggle that I didn't fully anticipate as I was developing the visual software on one split-screen before the performance. Inspired to continue pursuing interfaces and controllers to overcome the separation of creating audio and visuals simultaneously.<\/p>\n\n<p>The multiple mediums (sculpture, sound, visual media) of this particular project was fascinating. Each iteration represents a process of my own curiosities in technology, consciousness, spirituality, design, and fabrication.<\/p>\n\n<p>The piece represents my practice and experiences in regards to my own spiritual growth and experience. Geometrically, the form is inspired by sacred polyhedra that represent forms of transition. The choice of an <a href=\"http:\/\/en.wikipedia.org\/wiki\/Icosidodecahedron\">icosidodecahedron<\/a> represents transition of two frequencies, represented by an <a href=\"http:\/\/en.wikipedia.org\/wiki\/Icosahedron\">icosahedron<\/a> and its dual polyhedron, a <a href=\"http:\/\/en.wikipedia.org\/wiki\/Dodecahedron\">dodecahedron<\/a>.<\/p>\n\n<p>The form is composed of 7 panels trimmed and scaled from a full icosidodecahedron. The visuals follow the structure of the form nearly explicitly, with the exception of textural elements.<\/p>\n\n<p>The inclusion of the Merkaba\/Star Tetrahedron represents an inspiration for the visuals. The Merkaba, a dual spinning pyramid, represents a spiritual light vehicle used by the ancients to transcend to and contact spiritual realms. \"Mer\" means Light. \"Ka\" means Spirit. \"Ba\" means Body. Mer-Ka-Ba means the spirit\/body surrounded by counter-rotating fields of light, (wheels within wheels), spirals of energy as in DNA, which transports spirit\/body from one dimension to another. <a href=\"http:\/\/www.crystalinks.com\/merkaba.html\">[1]<\/a><\/p>\n\n<p><a href=\"http:\/\/www.flickr.com\/photos\/quilime\/sets\/72157624499344281\/with\/4847387648\/\">more photos via flickr →<\/a><\/p>\n","cat":{"name":"process","url":"\/process\/"},"media":"http:\/\/p\/media\/process\/icosi_biennial\/","thumb":"http:\/\/p\/media\/process\/icosi_biennial\/thumb.png","url":"http:\/\/p\/process\/icosi_biennial"}]}
\ No newline at end of file
--- /dev/null
+{"entries":[{"config":{"title":"ICOSI Performance at Gray Area Foundation for the Arts","date":"2010-11-05","tags":"projection-mapping performance audiovisual"},"title":"ICOSI Performance at Gray Area Foundation for the Arts","filename":"icosi_gaffta","path":"\/Users\/gdunne\/_portfolio\/www\/content\/news\/icosi_gaffta","fileInfo":{},"timestamp":"1288940400","tags":["projection-mapping","performance","audiovisual"],"content":"<p>ICOSI Performance at Gray Area Foundation for the Arts<br \/>\nDate\/Time: 06 Nov 2010 from 7:00 PM to 11:00 PM<br \/>\nLocation: Gray Area Foundation for the Arts \u2013 55 Taylor Street, San Francisco<br \/>\nICOSI by Gabriel Dunne in collaboration with Jeff Lubow (Audio)<br \/>\n<a href=\"http:\/\/www.gaffta.org\/2010\/11\/03\/takes-on-sound-space-symposium-performances-this-saturday\/\">link<\/a><\/p>\n","cat":{"name":"news","url":"\/news\/"},"media":"http:\/\/p\/media\/news\/icosi_gaffta\/","thumb":"http:\/\/p\/media\/news\/icosi_gaffta\/thumb.png","url":"http:\/\/p\/news\/icosi_gaffta"},{"config":{"title":"ICOS Performance @ Biennial of the Americas, CO","tags":"performance installation projection visual audio","notes":"this might need to be split up into a few posts","date":"2010-07-29"},"title":"ICOS Performance @ Biennial of the Americas, CO","filename":"icosi_biennial","path":"\/Users\/gdunne\/_portfolio\/www\/content\/process\/icosi_biennial","fileInfo":{},"timestamp":"1280386800","tags":["performance","installation","projection","visual","audio"],"content":"<p><img src=\"http:\/\/farm5.static.flickr.com\/4110\/4847387674_5419f0b672.jpg\" \/><\/p>\n\n<p><em>ICOSI<\/em> is an audio\/visual sculptural performance which was shown at the Biennial of the Americas, Denver CO, Jul 29 2010.<\/p>\n\n<p>audio synthesis created with Ablton Live\/Max\/MSP, custom software (OPENGL, Processing). Custom surface fabrication\ndimensions: 230cm x 230 cm (7.9' x 7.9')<\/p>\n\n<p>The software and audio toolset was developed over three weeks leading up to the performance. The performance dramatically split my focus into two places (music and visuals), which was a juggle that I didn't fully anticipate as I was developing the visual software on one split-screen before the performance. Inspired to continue pursuing interfaces and controllers to overcome the separation of creating audio and visuals simultaneously.<\/p>\n\n<p>The multiple mediums (sculpture, sound, visual media) of this particular project was fascinating. Each iteration represents a process of my own curiosities in technology, consciousness, spirituality, design, and fabrication.<\/p>\n\n<p>The piece represents my practice and experiences in regards to my own spiritual growth and experience. Geometrically, the form is inspired by sacred polyhedra that represent forms of transition. The choice of an <a href=\"http:\/\/en.wikipedia.org\/wiki\/Icosidodecahedron\">icosidodecahedron<\/a> represents transition of two frequencies, represented by an <a href=\"http:\/\/en.wikipedia.org\/wiki\/Icosahedron\">icosahedron<\/a> and its dual polyhedron, a <a href=\"http:\/\/en.wikipedia.org\/wiki\/Dodecahedron\">dodecahedron<\/a>.<\/p>\n\n<p>The form is composed of 7 panels trimmed and scaled from a full icosidodecahedron. The visuals follow the structure of the form nearly explicitly, with the exception of textural elements.<\/p>\n\n<p>The inclusion of the Merkaba\/Star Tetrahedron represents an inspiration for the visuals. The Merkaba, a dual spinning pyramid, represents a spiritual light vehicle used by the ancients to transcend to and contact spiritual realms. \"Mer\" means Light. \"Ka\" means Spirit. \"Ba\" means Body. Mer-Ka-Ba means the spirit\/body surrounded by counter-rotating fields of light, (wheels within wheels), spirals of energy as in DNA, which transports spirit\/body from one dimension to another. <a href=\"http:\/\/www.crystalinks.com\/merkaba.html\">[1]<\/a><\/p>\n\n<p><a href=\"http:\/\/www.flickr.com\/photos\/quilime\/sets\/72157624499344281\/with\/4847387648\/\">more photos via flickr →<\/a><\/p>\n","cat":{"name":"process","url":"\/process\/"},"media":"http:\/\/p\/media\/process\/icosi_biennial\/","thumb":"http:\/\/p\/media\/process\/icosi_biennial\/thumb.png","url":"http:\/\/p\/process\/icosi_biennial"}]}
\ No newline at end of file
--- /dev/null
+{"entries":[{"config":{"title":"ICOS Performance @ Biennial of the Americas, CO","tags":"performance installation projection visual audio","notes":"this might need to be split up into a few posts","date":"2010-07-29"},"title":"ICOS Performance @ Biennial of the Americas, CO","filename":"icosi_biennial","path":"\/Users\/gdunne\/_portfolio\/www\/content\/process\/icosi_biennial","fileInfo":{},"timestamp":"1280386800","tags":["performance","installation","projection","visual","audio"],"content":"<p><img src=\"http:\/\/farm5.static.flickr.com\/4110\/4847387674_5419f0b672.jpg\" \/><\/p>\n\n<p><em>ICOSI<\/em> is an audio\/visual sculptural performance which was shown at the Biennial of the Americas, Denver CO, Jul 29 2010.<\/p>\n\n<p>audio synthesis created with Ablton Live\/Max\/MSP, custom software (OPENGL, Processing). Custom surface fabrication\ndimensions: 230cm x 230 cm (7.9' x 7.9')<\/p>\n\n<p>The software and audio toolset was developed over three weeks leading up to the performance. The performance dramatically split my focus into two places (music and visuals), which was a juggle that I didn't fully anticipate as I was developing the visual software on one split-screen before the performance. Inspired to continue pursuing interfaces and controllers to overcome the separation of creating audio and visuals simultaneously.<\/p>\n\n<p>The multiple mediums (sculpture, sound, visual media) of this particular project was fascinating. Each iteration represents a process of my own curiosities in technology, consciousness, spirituality, design, and fabrication.<\/p>\n\n<p>The piece represents my practice and experiences in regards to my own spiritual growth and experience. Geometrically, the form is inspired by sacred polyhedra that represent forms of transition. The choice of an <a href=\"http:\/\/en.wikipedia.org\/wiki\/Icosidodecahedron\">icosidodecahedron<\/a> represents transition of two frequencies, represented by an <a href=\"http:\/\/en.wikipedia.org\/wiki\/Icosahedron\">icosahedron<\/a> and its dual polyhedron, a <a href=\"http:\/\/en.wikipedia.org\/wiki\/Dodecahedron\">dodecahedron<\/a>.<\/p>\n\n<p>The form is composed of 7 panels trimmed and scaled from a full icosidodecahedron. The visuals follow the structure of the form nearly explicitly, with the exception of textural elements.<\/p>\n\n<p>The inclusion of the Merkaba\/Star Tetrahedron represents an inspiration for the visuals. The Merkaba, a dual spinning pyramid, represents a spiritual light vehicle used by the ancients to transcend to and contact spiritual realms. \"Mer\" means Light. \"Ka\" means Spirit. \"Ba\" means Body. Mer-Ka-Ba means the spirit\/body surrounded by counter-rotating fields of light, (wheels within wheels), spirals of energy as in DNA, which transports spirit\/body from one dimension to another. <a href=\"http:\/\/www.crystalinks.com\/merkaba.html\">[1]<\/a><\/p>\n\n<p><a href=\"http:\/\/www.flickr.com\/photos\/quilime\/sets\/72157624499344281\/with\/4847387648\/\">more photos via flickr →<\/a><\/p>\n","cat":{"name":"process","url":"\/process\/"},"media":"http:\/\/p\/media\/process\/icosi_biennial\/","thumb":"http:\/\/p\/media\/process\/icosi_biennial\/thumb.png","url":"http:\/\/p\/process\/icosi_biennial"}]}
\ No newline at end of file
--- /dev/null
+{"entries":[{"config":{"title":"ICOS Performance @ Biennial of the Americas, CO","tags":"performance installation projection visual audio","notes":"this might need to be split up into a few posts","date":"2010-07-29"},"title":"ICOS Performance @ Biennial of the Americas, CO","filename":"icosi_biennial","path":"\/Users\/gdunne\/_portfolio\/www\/content\/process\/icosi_biennial","fileInfo":{},"timestamp":"1280386800","tags":["performance","installation","projection","visual","audio"],"content":"<p><img src=\"http:\/\/farm5.static.flickr.com\/4110\/4847387674_5419f0b672.jpg\" \/><\/p>\n\n<p><em>ICOSI<\/em> is an audio\/visual sculptural performance which was shown at the Biennial of the Americas, Denver CO, Jul 29 2010.<\/p>\n\n<p>audio synthesis created with Ablton Live\/Max\/MSP, custom software (OPENGL, Processing). Custom surface fabrication\ndimensions: 230cm x 230 cm (7.9' x 7.9')<\/p>\n\n<p>The software and audio toolset was developed over three weeks leading up to the performance. The performance dramatically split my focus into two places (music and visuals), which was a juggle that I didn't fully anticipate as I was developing the visual software on one split-screen before the performance. Inspired to continue pursuing interfaces and controllers to overcome the separation of creating audio and visuals simultaneously.<\/p>\n\n<p>The multiple mediums (sculpture, sound, visual media) of this particular project was fascinating. Each iteration represents a process of my own curiosities in technology, consciousness, spirituality, design, and fabrication.<\/p>\n\n<p>The piece represents my practice and experiences in regards to my own spiritual growth and experience. Geometrically, the form is inspired by sacred polyhedra that represent forms of transition. The choice of an <a href=\"http:\/\/en.wikipedia.org\/wiki\/Icosidodecahedron\">icosidodecahedron<\/a> represents transition of two frequencies, represented by an <a href=\"http:\/\/en.wikipedia.org\/wiki\/Icosahedron\">icosahedron<\/a> and its dual polyhedron, a <a href=\"http:\/\/en.wikipedia.org\/wiki\/Dodecahedron\">dodecahedron<\/a>.<\/p>\n\n<p>The form is composed of 7 panels trimmed and scaled from a full icosidodecahedron. The visuals follow the structure of the form nearly explicitly, with the exception of textural elements.<\/p>\n\n<p>The inclusion of the Merkaba\/Star Tetrahedron represents an inspiration for the visuals. The Merkaba, a dual spinning pyramid, represents a spiritual light vehicle used by the ancients to transcend to and contact spiritual realms. \"Mer\" means Light. \"Ka\" means Spirit. \"Ba\" means Body. Mer-Ka-Ba means the spirit\/body surrounded by counter-rotating fields of light, (wheels within wheels), spirals of energy as in DNA, which transports spirit\/body from one dimension to another. <a href=\"http:\/\/www.crystalinks.com\/merkaba.html\">[1]<\/a><\/p>\n\n<p><a href=\"http:\/\/www.flickr.com\/photos\/quilime\/sets\/72157624499344281\/with\/4847387648\/\">more photos via flickr →<\/a><\/p>\n","cat":{"name":"process","url":"\/process\/"},"media":"http:\/\/p\/media\/process\/icosi_biennial\/","thumb":"http:\/\/p\/media\/process\/icosi_biennial\/thumb.png","url":"http:\/\/p\/process\/icosi_biennial"}]}
\ No newline at end of file
--- /dev/null
+{"entries":[{"config":{"title":"clmpr.com","date":"may 24 2011","tags":"code www opensource"},"title":"clmpr.com","filename":"clmpr","path":"\/Users\/gdunne\/_portfolio\/www\/content\/process\/clmpr","fileInfo":{},"timestamp":"1306220400","tags":["code","www","opensource"],"content":"<p><a href=\"http:\/\/clmpr.com\">\n<img src=\"<?=MEDIA_ROOT?>\/img\/clmpr.png\" \/>\n<\/a><\/p>\n\n<p>clmpr is a minimal open-source bookmarking engine.<\/p>\n","cat":{"name":"process","url":"\/process\/"},"media":"http:\/\/p\/media\/process\/clmpr\/","thumb":"http:\/\/p\/media\/process\/clmpr\/thumb.png","url":"http:\/\/p\/process\/clmpr"},{"config":{"title":"Seaquence","tags":"audio www","date":"2010-10-04"},"title":"Seaquence","filename":"seaquence","path":"\/Users\/gdunne\/_portfolio\/www\/content\/projects\/seaquence","fileInfo":{},"timestamp":"1286175600","tags":["audio","www"],"content":"<p>Alpha release of <a href=\"http:\/\/seaquence.org\">Seaquence: A experimental web-based musical ecosystem<\/a>. <\/p>\n\n<p><a href=\"http:\/\/seaquence.org\">link<\/a><\/p>\n","cat":{"name":"projects","url":"\/projects\/"},"media":"http:\/\/p\/media\/projects\/seaquence\/","thumb":"http:\/\/p\/media\/projects\/seaquence\/thumb.png","url":"http:\/\/p\/projects\/seaquence"}]}
\ No newline at end of file
-{"tags":{"datavis":1,"software":1,"stamen":1,"print":1,"installation":2,"code":2,"www":2,"opensource":1,"projection-mapping":1,"performance":2,"audiovisual":1,"audio":2,"projection":1,"visual":1,"icosi":2,"fabrication":2,"design":1,"sculpture":1,"mapping":1,"timelapse":1,"photography":1}}
\ No newline at end of file
+{"tags":{"datavis":1,"software":1,"stamen":1,"print":1,"installation":2,"code":1,"www":2,"opensource":1,"projection-mapping":1,"performance":2,"audiovisual":1,"audio":2,"projection":1,"visual":1,"icosi":2,"fabrication":2,"design":1,"sculpture":1,"mapping":1,"timelapse":1,"photography":1}}
\ No newline at end of file
$content_req = LOCAL_ROOT . CONTENT_DIR . DIRECTORY_SEPARATOR . $url['url'];
$page_req = LOCAL_ROOT . PAGE_DIR . DIRECTORY_SEPARATOR . $url['url'];
$total = 0;
+$tag = false;
# setup template
$template = 'default.html.tpl';
# special endpoints
$dirs = explode('/', $url['url']);
switch($dirs[0]) {
+
case 'tag' :
- $page_req = LOCAL_ROOT . PAGE_DIR . DIRECTORY_SEPARATOR . $dirs[0];
- if (isset($dirs[1]))
- $t->assign('tag', $dirs[1]);
+ if (isset($dirs[1])) {
+ $content_req = LOCAL_ROOT . CONTENT_DIR . DIRECTORY_SEPARATOR;
+ $tag = isset($dirs[1]) ? $dirs[1] : false;
+ } else {
+ $content_req = "";
+ $page_req = LOCAL_ROOT . PAGE_DIR . DIRECTORY_SEPARATOR . $url['url'];
+ }
break;
+
+ # EDITING
case 'edit' :
if (!DEV)
} else {
$edit = true;
}
+ # END EDITING
}
# content exists, and is a folder
# get config in folder, if exists
if (is_file($content_req . '/' . CONFIG_FILE )) {
$config = parse_entry(new SplFileInfo($content_req . '/' . CONFIG_FILE));
- $template = $config['config']['template'] . '.' . $response_format . '.tpl' ;
+ if (!$tag)
+ $template = $config->config->template . '.' . $response_format . '.tpl' ;
$t->assign('data', $config);
}
- list($entries, $total) = get_entries($url['dirname'] . '/' . $url['filename']);
+ $entries = get_entries($url['dirname'] . '/' . $url['filename'], $args = array('tag' => $tag));
$t->assign('entries', $entries);
$t->assign('page_title', preg_replace('{^/|/$}', '', $url['url']));
}
# content exists, and is a page
else if (is_file($page_req)) {
+
$config = parse_entry(new SplFileInfo($page_req), 1);
- $t->assign('data', $config);
- $template = isset($config['config']['template']) ? $config['config']['template'] .
+ $t->assign('entry', $config);
+ $template = isset($config->config->template) ? $config->config->template .
'.' . $response_format . '.tpl' : 'page.' . $response_format . '.tpl';
}
<?php
/**
- * return entries of a folder
- * @param path: the path to search. defaults to the CONTENT_DIR
- * @param args array
+ * return entries of a folder
+ * @param path: the path to search. defaults to the CONTENT_DIR
+ * @param args array
*/
function get_entries( $path = "", $args = array() )
{
- $recursive = isset($args['recursive']) ? $args['recursive'] : 1;
- $order_by = empty($args['order_by']) ? null : $args['order_by'];
- $order = empty($args['order']) ? SORT_DESC : $args['order'];
- $tag = empty($args['tag']) ? null : $args['tag'];
- $path = LOCAL_ROOT . CONTENT_DIR . DIRECTORY_SEPARATOR . $path;
-
- if ($recursive) {
- $iterator = new RecursiveDirectoryIterator($path, RecursiveDirectoryIterator::KEY_AS_PATHNAME);
- $dir_iterator = new RecursiveIteratorIterator($iterator, RecursiveIteratorIterator::SELF_FIRST);
- }
- else {
- $dir_iterator = new DirectoryIterator($path);
- }
- $entries = array();
- foreach ($dir_iterator as $file => $info) {
- if (!$info->isDir() && $info->getFilename() != CONFIG_FILE) {
- $entry = parse_entry($info);
- if (!isset($tag)) {
- $entries[] = $entry;
- }
- else if ($tag && in_array($tag, is_array($entry['tags']) ? $entry['tags'] : array())) {
- $entries[] = $entry;
- }
- }
- }
- switch ($order_by)
- {
- default :
- foreach ($entries as $key => $row)
- $time[$key] = $row['timestamp'];
- if ($time)
- array_multisort($time, $order, $entries);
- }
-
- return array($entries, sizeof($entries));
+ $recursive = isset($args['recursive']) ? $args['recursive'] : 1;
+ $order_by = empty($args['order_by']) ? null : $args['order_by'];
+ $order = empty($args['order']) ? SORT_DESC : $args['order'];
+ $tag = empty($args['tag']) ? null : $args['tag'];
+
+ $data_file = DATA_DIR . DIRECTORY_SEPARATOR . $path . '.json';
+ $path = LOCAL_ROOT . CONTENT_DIR . DIRECTORY_SEPARATOR . $path;
+
+ if ($tag) {
+
+ $data_dir = $data_file = DATA_DIR . DIRECTORY_SEPARATOR . 'tag/';
+
+ if (!is_dir($data_dir))
+ mkdir($data_dir);
+
+ $data_file = DATA_DIR . DIRECTORY_SEPARATOR . 'tag/' . $tag . '.json';
+ $path = LOCAL_ROOT . CONTENT_DIR . DIRECTORY_SEPARATOR;
+ }
+
+ if (DEV || !file_exists($data_file)) {
+
+ $create_datafile_conditions = true; //!$tag;
+
+ if ($recursive) {
+ $iterator = new RecursiveDirectoryIterator($path, RecursiveDirectoryIterator::KEY_AS_PATHNAME);
+ $dir_iterator = new RecursiveIteratorIterator($iterator, RecursiveIteratorIterator::SELF_FIRST);
+ }
+ else {
+ $dir_iterator = new DirectoryIterator($path);
+ }
+ $entries = array();
+ foreach ($dir_iterator as $file => $info) {
+ if (!$info->isDir() && $info->getFilename() != CONFIG_FILE) {
+ $entry = parse_entry($info);
+ if (!isset($tag)) {
+ $entries[] = $entry;
+ }
+ else if ($tag && in_array($tag, isset($entry->tags) && is_array($entry->tags) ? $entry->tags : array())) {
+ $entries[] = $entry;
+ }
+ }
+ }
+ switch ($order_by)
+ {
+ default :
+ foreach ($entries as $key => $row)
+ $time[$key] = $row->timestamp;
+ if ($time)
+ array_multisort($time, $order, $entries);
+ }
+
+ if ($create_datafile_conditions) {
+ try {
+ $fp = fopen( $data_file, 'w');
+ fwrite($fp, json_encode(array( 'entries' => $entries )));
+ fclose($fp);
+ if (!file_exists( $data_file )) {
+ throw new Exception('Error creating tags.json. Permissions?');
+ }
+ } catch (Exception $e) {
+ echo 'Caught exception: ', $e->getMessage(), "\n";
+ }
+ }
+ }
+
+ $json = json_decode(file_get_contents($data_file));
+ return $json->entries;
}
*/
function get_pages()
{
- $path = LOCAL_ROOT . PAGE_DIR;
- $dir_iterator = new DirectoryIterator($path);
- $pages = array();
- foreach($dir_iterator as $page) {
- if ($page->isDir()) continue;
- $arr = parse_entry($page, 1);
- $arr['is_page'] = 1;
- $pages[] = $arr;
- }
- return $pages;
+ $path = LOCAL_ROOT . PAGE_DIR;
+ $dir_iterator = new DirectoryIterator($path);
+ $pages = array();
+ foreach($dir_iterator as $page) {
+ if ($page->isDir()) continue;
+ $e = parse_entry($page, 1);
+ $e->is_page = 1;
+ $pages[] = $e;
+ }
+ return $pages;
}
*/
function get_tags($path = "", $args = array() )
{
- $tags_json = DATA_DIR . '/tags.json';
-
- if (DEV || !file_exists($tags_json)) {
- $entries = get_entries($path, $args);
- $tags = array();
-
- foreach($entries[0] as $entry) {
- $entry_tags = is_array($entry['tags']) ? $entry['tags'] : array();
- $tags = array_merge($tags, $entry_tags);
- }
-
- $tags = array_count_values($tags);
-
- try {
- $fp = fopen( $tags_json, 'w');
- fwrite($fp, json_encode(array( 'tags' => $tags )));
- fclose($fp);
- if (!file_exists( $tags_json)) {
- throw new Exception('Error creating tags.json. Permissions?');
- }
- } catch (Exception $e) {
- echo 'Caught exception: ', $e->getMessage(), "\n";
- }
- }
-
- $json = json_decode(file_get_contents($tags_json));
- return get_object_vars($json->tags);
+ $data_file = DATA_DIR . '/tags.json';
+
+ if (DEV || !file_exists($data_file)) {
+ $entries = get_entries($path, $args);
+ $tags = array();
+
+ foreach($entries as $entry) {
+ $entry_tags = isset($entry->tags) && is_array($entry->tags) ? $entry->tags : array();
+ $tags = array_merge($tags, $entry_tags);
+ }
+
+ $tags = array_count_values($tags);
+
+ try {
+ $fp = fopen( $data_file, 'w');
+ fwrite($fp, json_encode(array( 'tags' => $tags )));
+ fclose($fp);
+ if (!file_exists( $data_file)) {
+ throw new Exception('Error creating tags.json. Permissions?');
+ }
+ } catch (Exception $e) {
+ echo 'Caught exception: ', $e->getMessage(), "\n";
+ }
+ }
+
+ $json = json_decode(file_get_contents($data_file));
+ return get_object_vars($json->tags);
}
/*
- * returns directories of a folder
- * @param path the path to search. defaults to the CONTENT_DIR
- * @param args array
+ * returns directories of a folder
+ * @param path the path to search. defaults to the CONTENT_DIR
+ * @param args array
*/
function get_dirs( $path = "", $args = array() )
{
- $recursive = isset($args['recursive']) ? $args['recursive'] : 1;
- $path = LOCAL_ROOT . CONTENT_DIR . '/' . $path;
-
- if ($recursive) {
- $iterator = new RecursiveDirectoryIterator($path, RecursiveDirectoryIterator::KEY_AS_PATHNAME);
- $dir_iterator = new RecursiveIteratorIterator($iterator, RecursiveIteratorIterator::SELF_FIRST);
- }
- else {
- $dir_iterator = new DirectoryIterator($path);
- }
- $dirs = array();
- foreach ($dir_iterator as $fileInfo) {
- if ($fileInfo->isDir() && $fileInfo->getFilename() != '.' && $fileInfo->getFilename() != '..') {
+ $recursive = isset($args['recursive']) ? $args['recursive'] : 1;
+ $path = LOCAL_ROOT . CONTENT_DIR . '/' . $path;
+
+ if ($recursive) {
+ $iterator = new RecursiveDirectoryIterator($path, RecursiveDirectoryIterator::KEY_AS_PATHNAME);
+ $dir_iterator = new RecursiveIteratorIterator($iterator, RecursiveIteratorIterator::SELF_FIRST);
+ }
+ else {
+ $dir_iterator = new DirectoryIterator($path);
+ }
+ $dirs = array();
+ foreach ($dir_iterator as $fileInfo) {
+ if ($fileInfo->isDir() && $fileInfo->getFilename() != '.' && $fileInfo->getFilename() != '..') {
$d = array();
$d['cat'] = clean_slashes(str_replace(LOCAL_ROOT . CONTENT_DIR, "", $fileInfo->getPath()));
$d['name'] = substr(str_replace($path, "", $fileInfo->getRealPath()), 0);
$d['url'] = $d['cat'] . '/' . $d['name'];
- $dirs[] = $d;
- }
- }
- return $dirs;
+ $dirs[] = (object) $d;
+ }
+ }
+ return $dirs;
}
/**
* @param splFileInfo SPLFileInfo Object
- * @param page default is false
+ * @param page default is false
*/
function parse_entry($fileInfo, $page = 0)
{
- $config = "";
- $content = "";
+ $config = "";
+ $content = "";
$content_short = "";
$passed_more = false;
- $passed_config = false;
- $file_contents = file($fileInfo->getRealPath(), FILE_USE_INCLUDE_PATH);
- foreach ( $file_contents as $line ) {
- if (trim($line) == CONFIG_DELIMITER) {
- $passed_config = true;
- continue;
- }
- if (!$passed_config) {
- $config .= $line;
- continue;
- }
- if (trim($line) == MORE_DELIM) {
+ $passed_config = false;
+ $file_contents = file($fileInfo->getRealPath(), FILE_USE_INCLUDE_PATH);
+ foreach ( $file_contents as $line ) {
+ if (trim($line) == CONFIG_DELIMITER) {
+ $passed_config = true;
+ continue;
+ }
+ if (!$passed_config) {
+ $config .= $line;
+ continue;
+ }
+ if (trim($line) == MORE_DELIM) {
$passed_more = true;
}
if (!$passed_more) {
$content_short .= $line;
}
- $content .= $line;
- }
-
- #eval content
-
- $file = array();
- $file['config'] = parse_ini_string($config);
- $file['title'] = isset($file['config']['title']) ? $file['config']['title'] : $fileInfo->getFilename();
- $file['filename'] = $fileInfo->getFilename();
- $file['path'] = $fileInfo->getPath();
- $file['fileInfo'] = $fileInfo;
- $file['config']['date'] = isset($file['config']['date']) ? $file['config']['date'] : null;
- $file['timestamp'] = $file['config']['date'] ? date('U', strtotime( $file['config']['date'])) : $fileInfo->getCTime();
- $file['tags'] = isset($file['config']['tags']) ? explode(" ", $file['config']['tags']) : null;
- $file['content'] = Markdown($content);
+ $content .= $line;
+ }
+
+ #eval content
+
+ $entry = array();
+ $file['config'] = parse_ini_string($config);
+ $file['title'] = isset($file['config']['title']) ? $file['config']['title'] : $fileInfo->getFilename();
+ $file['filename'] = $fileInfo->getFilename();
+ $file['path'] = $fileInfo->getPath();
+ $file['fileInfo'] = $fileInfo;
+ $file['config']['date'] = isset($file['config']['date']) ? $file['config']['date'] : null;
+ $file['timestamp'] = $file['config']['date'] ? date('U', strtotime( $file['config']['date'])) : $fileInfo->getCTime();
+ $file['tags'] = isset($file['config']['tags']) ? explode(" ", $file['config']['tags']) : null;
+ $file['content'] = Markdown($content);
if ($passed_more)
$file['content_short'] = Markdown($content_short);
- $cat = clean_slashes(str_replace(LOCAL_ROOT . CONTENT_DIR, "", $fileInfo->getPath()));
- $file['cat'] = $page ? null : array('name' => substr($cat, 1), 'url' => $cat.'/' );
- $file['path'] = $fileInfo->getRealPath();
- $file['media'] = MEDIA_ROOT . '/' . ($page ? '' : substr($file['cat']['url'],1)) . $fileInfo->getFilename() . '/';
- $file['thumb'] = isset($file['config']['thumb']) ? $file['config']['thumb'] : MEDIA_ROOT . '/' . substr($file['cat']['url'],1) . $fileInfo->getFilename() . '/thumb.png';
- $file['url'] = WEB_ROOT . ($page ? '' : substr($file['cat']['url'],1)) . $fileInfo->getFilename();
-
- return $file;
+ $cat = clean_slashes(str_replace(LOCAL_ROOT . CONTENT_DIR, "", $fileInfo->getPath()));
+ $file['cat'] = $page ? null : array('name' => substr($cat, 1), 'url' => $cat.'/' );
+ $file['path'] = $fileInfo->getRealPath();
+ $file['media'] = MEDIA_ROOT . '/' . ($page ? '' : substr($file['cat']['url'],1)) . $fileInfo->getFilename() . '/';
+ $file['thumb'] = isset($file['config']['thumb']) ? $file['config']['thumb'] : MEDIA_ROOT . '/' . substr($file['cat']['url'],1) . $fileInfo->getFilename() . '/thumb.png';
+ $file['url'] = WEB_ROOT . ($page ? '' : substr($file['cat']['url'],1)) . $fileInfo->getFilename();
+
+ $file['cat'] = (object) $file['cat'];
+ $file['config'] = (object) $file['config'];
+
+ return (object) $file;
}
define ('TITLE_DELIMITER', ': ');
define ('CONFIG_FILE', 'config');
-define ('DEV', false);
+define ('DEV', true);
+//define ('CACHE', false);
if (DEV) {
error_reporting(E_ALL);
-->
-Gabriel Labov Dunne
-
1242 Market Street, FL 2
San Francisco, CA 94102
<? if (isset($tag)): ?>
-<? list($entries, $total) = get_entries('/', $args = array('tag' => $tag)); ?>
+<? $entries = get_entries('/', $args = array('tag' => $tag)); ?>
<? foreach($entries as $entry): ?>
<?
-if (isset($entry['content_short']))
-$entry['content'] = $entry['content_short'] .
-'<br /><a class="more" href="' . $entry['url'] . '">more →</a><br /><br />';
+if (isset($entry->content_short))
+$entry->content = $entry->content_short .
+'<br /><a class="more" href="' . $entry->url . '">more →</a><br /><br />';
?>
<div class="entry">
<? foreach($entries as $entry): ?>
<div class="entry">
<?
- if (isset($entry['content_short']))
- $entry['content'] = $entry['content_short'] . '<br /><a class="more" href="'.$entry['url'].'">more →</a><br /><br />';
+ if (isset($entry->content_short))
+ $entry->content = $entry->content_short . '<br /><a class="more" href="'.$entry->url.'">more →</a><br /><br />';
$this->include_template('entry.html.tpl', array('entry' => $entry));
?>
<? $this->include_template('head-inc.html.tpl') ?>
- <title><?=SITE_TITLE?><?=TITLE_DELIMITER?><?=$entry['title']?></title>
+ <title><?=SITE_TITLE?><?=TITLE_DELIMITER?><?=$entry->title?></title>
</head>
<body>
<div id="content" class="edit">
<? if ($entry): ?>
- <? $fileContents = file_get_contents($entry['fileInfo']); ?>
+ <? $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="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>
-<? if(!isset($entry['config']['hide_title'])) : ?>
- <h2 class="title"><a href="<?=$entry['url']?>"><?=$entry['title']?></a></h2>
+<? if(!isset($entry->config->hide_title)) : ?>
+ <h2 class="title"><a href="<?=$entry->url?>"><?=$entry->title?></a></h2>
<? endif; ?>
<div class="content">
- <? eval('?>' . $entry['content']); ?>
+ <? eval('?>' . $entry->content); ?>
</div>
<div class="metadata">
- <div class="date" title="<?=get_relative_time($entry['timestamp']);?>"><?=date("Y/m/d", $entry['timestamp'])?></div>
- <? if ($entry['tags']) : ?>
+ <div class="date" title="<?=get_relative_time($entry->timestamp);?>"><?=date("Y/m/d", $entry->timestamp)?></div>
+ <? if ($entry->tags) : ?>
tagged <span class="tags">
<?
- for($i = 0; $i < sizeof($entry['tags']); $i++) :
- $tag = $entry['tags'][$i];
+ for($i = 0; $i < sizeof($entry->tags); $i++) :
+ $tag = $entry->tags[$i];
$li = '<a href="'.WEB_ROOT . 'tag/' . $tag . '">' . $tag . '</a>';
if ($i !== 0)
$li = ', ' . $li;
</div>
<? if (isset($single) && $single) : ?>
- <div class="arrow" title="<?=$entry['cat']['entry']?>">
- <a href="<?=$entry['cat']['url']?>">←</a>
+ <div class="arrow" title="<?=$entry->cat->entry?>">
+ <a href="<?=$entry->cat->url?>">←</a>
</div>
<? else : ?>
- <div class="arrow" title="<?=$entry['title']?> - <?=date("Y-m-d", $entry['timestamp'])?>">
- <a href="<?=$entry['url']?>">→</a>
+ <div class="arrow" title="<?=$entry->title?> - <?=date("Y-m-d", $entry->timestamp)?>">
+ <a href="<?=$entry->url?>">→</a>
</div>
<? endif; ?>
<? if (DEV) : ?>
-<a href="<?=WEB_ROOT?>edit<?=$entry['cat']['url'] . $entry['filename']?>">edit</a>
+<a href="<?=WEB_ROOT?>edit<?=$entry->cat->url . $entry->filename?>">edit</a>
<? endif; ?>
<div class="metadata">
- <div class="date" title="<?=get_relative_time($data['timestamp']);?>">— <?=date("Y / m / d", $data['timestamp'])?></div>
+ <div class="date" title="<?=get_relative_time($data->timestamp);?>">— <?=date("Y / m / d", $data->timestamp)?></div>
</div>
<div class="content">
- <? eval('?>' . $data['content']); ?>
+ <? eval('?>' . $data->content); ?>
</div>
<? $dirs = get_dirs('', $args = array('recursive' => false) ); ?>
<? foreach($dirs as $dir) : ?>
- <li><a href="<?=$dir['url']?>"><?=$dir['name']?></a></li>
+ <li><a href="<?=$dir->url?>"><?=$dir->name?></a></li>
<? endforeach; ?>
<? $pages = get_pages('', $args = array('recursive' => false) ); ?>
<? foreach($pages as $page) :
- if (isset($page['config']['hidden']) && $page['config']['hidden'])
+ if (isset($page->config->hidden) && $page->config->hidden)
continue;
?>
- <li><a href="<?=$page['url']?>"><?=$page['title']?></a></li>
+ <li><a href="<?=$page->url?>"><?=$page->title?></a></li>
<? endforeach; ?>
-
-
-
-
-<!--
- <br /><br />
-
- <li><a href="/"><em>recent</em></a></li>
-
- <br />
- <? list($entries, $total) = get_entries('/'); ?>
- <? $c = 0; foreach($entries as $p) : $c++; ?>
- <li><a href="<?=$p['url']?>"><?=$p['title']?></a></li>
- <? if ($c > 10) break; endforeach; ?>
-
-<br /><br />
-
- <li><a href="/archive/"><em>archive</em></a></li>
-
- <br />
- <? $dirs = get_dirs('projects/'); ?>
- <? foreach($dirs as $dir) : ?>
- <li><a href="<?=$dir['url']?>"><?=$dir['name']?></a></li>
- <? endforeach; ?>
-
-
- <br /><br/>
-
-
- <li><a href="/projects/">projects</a></li>
-
- <? list($entries, $total) = get_entries('/projects/'); ?>
- <? foreach($entries as $p) : ?>
- <li><a href="<?=$p['url']?>"><?=$p['title']?></a></li>
- <? endforeach; ?>
- <br /><br/>
- -->
-
-
</ul>
<div id="content" class="news">
- <? eval('?>' . $data['content']); ?>
+ <? eval('?>' . $data->content); ?>
<br />
<br />
<? foreach($entries as $entry): ?>
<div class="entry">
<?
- if (isset($entry['content_short']))
- $entry['content'] = $entry['content_short'] . '<br /><a class="more" href="'.$entry['url'].'">more →</a><br /><br />';
+ if (isset($entry->content_short))
+ $entry->content = $entry->content_short . '<br /><a class="more" href="'.$entry->url.'">more →</a><br /><br />';
$this->include_template('entry.news.html.tpl', array('data' => $entry));
?>
</div>
<? $this->include_template('head-inc.html.tpl') ?>
- <title><?=SITE_TITLE?><?=TITLE_DELIMITER?> <?=$data['title']?></title>
+ <title><?=SITE_TITLE?><?=TITLE_DELIMITER?> <?=$entry->title?></title>
</head>
<body>
<div id="content" class="page">
- <? eval('?>' . $data['content']); ?>
+ <? eval('?>' . $entry->content); ?>
</div>
<? $this->include_template('head-inc.html.tpl') ?>
- <title><?=SITE_TITLE?>, <?=$data['title'];?></title>
+ <title><?=SITE_TITLE?>, <?=$data->title;?></title>
</head>
<body>
<div class="entry">
<div class="content">
- <?=$data['content']?>
+ <?=$data->content?>
</div>
<div class="metadata">
<ul class="tags">
- <? if (sizeof($data['tags']) > 0) foreach($data['tags'] as $tag) : ?>
+ <? if (sizeof($data->tags) > 0) foreach($data->tags as $tag) : ?>
<li>#<?=$tag?></li>
<? endforeach; ?>
</ul>
+++ /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 class="thumbs">
- <? foreach($data as $entry): ?>
- <li>
- <a href="<?=$entry['url']?>" class="thumb">
- <img src="<?=$entry['thumb']?>" /><br/>
- </a>
- <a href="<?=$entry['url']?>"><?=$entry['title']?></a>
- </li>
- <? endforeach; ?>
- </ul>
-
-</div>
-
- <? $this->include_template('footer.html.tpl') ?>
-
-</body>
-</html>
<ul class="projects">
<? foreach($entries as $entry): ?>
<li>
- <a href="<?=$entry['url']?>" class="thumb">
- <img src="<?=$entry['thumb']?>" /><br/>
+ <a href="<?=$entry->url?>" class="thumb">
+ <img src="<?=$entry->thumb?>" /><br/>
</a>
- <a href="<?=$entry['url']?>"><?=$entry['title']?></a>
+ <a href="<?=$entry->url?>"><?=$entry->title?></a>
</li>
<? endforeach; ?>
</ul>
<? $this->include_template('head-inc.html.tpl') ?>
- <title><?=$entry['title'];?></title>
+ <title><?=$entry->title;?></title>
</head>
<body>
<ul class="tags">
- <? $tags = get_tags('/'); ksort($tags); ?>
+ <? $tags = get_tags('/'); ksort($tags);
+ print_r($tags);
+ ?>
<? foreach($tags as $tag => $count) : ?>
<li><a href="/tag/<?=$tag?>"><?=$tag?></a> × <?=$count?></li>
<? endforeach; ?>