Blog

Class Based Wordpress: Using Object Oriented Programming in Wordpress... and why!

I use WordPress a lot. It's definitely one of the easiest ways to create a site. Yet, programming in WordPress can also be a pain. The way it's structured promotes a lot of bad habits and its procedural nature forces you to write the same code over and over again, even though most sites share a lot of similar functionality. There are many advantages to using WordPress and there's a lot of really good reasons to use it as a web framework. Some of these are: Best admin experience out of any CMS or web framework Easy extensibility with plugins (although a plugin is rarely the solution!) Good Basic API for creating websites (Posts, Pages, Taxonomies, Custom Post Types) Some of the WordPress weaknesses are: Procedural Programming A framework based on templates rather than models and views A lot of repeated code, not following DRY principal. No separation of data and presentation (even in the functions.php file!) Lead to spaghetti code These problems are all inter-related and are Recently, after using some MVCs like Django, I've started try to MVCfy WordPress. You can see a repo with a sample theme here. The idea behind all this is to make my code more reusable by creating 'models' for posts, pages, custom post types and images (maybe I'll include taxonomies in the future). These models take in an id or a post object as a parameter and then created a new object. This new object extends the default WordPress object by adding things like permalink, featured image, HTML title, custom meta, excerpt, template... etc. These are given to you for free, so there is no need to go in a call another function to get the permalink. These can also be extended to include even more data and can include methods by which custom meta (especially fields with ACF) can be cleaned and parsed. For example, compare this: $post = get_post(get_the_ID()) $post_thumbnail_id = get_post_thumbnail_id( get_the_ID() ); $post_thumbnail_url = wp_get_attachment_url($post_thumbnail_id); $permalink = get_permalink( get_the_ID() ); $custom_meta_1 = get_post_meta(get_the_ID(), 'custom_meta_1'); // Array $custom_meta_2 = get_post_meta(get_the_ID(), 'custom_meta_2'); // String echo $post->post_title; echo '<img src="' . $post_thumbnail_url . '">'; echo '<a href="' . $permalink . '">'; echo 'Field #1: ' . $custom_meta_1[0]; echo 'Field #2: ' . $custom_meta_2->property; With this: $post = new Post(get_the_ID()); echo $post->post_title; echo '<img src="' . $post->featured_image->url . '">'; echo '<a href="' . $post->permalink . '">'; echo 'Field #1: ' . $post->fields['custom_meta_1'][0]; echo 'Field #2: ' . $post->fields['custom_meta_2']->property; Not only is the second one much shorter and easier to write, but it's more readable and more consistent. By creating classes, you can create your own API that is consistent through out the whole site. This keeps your code DRY and makes it easier to read. It also makes your code easier to maintain and extend, since every time you need to make a change, you only have to make it once. How does this `Post` model look like and how can I extend it? These models are declared as PHP Classes and they usually extend a `Single` class which does most of the work of getting and $id or $object and turning that into it's own extended post object. To declare your model/PHP class, you only need to do this: <?php class Post extends Single {         // Custom Meta Tags will get queried just by declaring them in this array         // These can be set with ACF         public $field_names = array('custom_meta_1', 'custom_meta_2');         const CLASS_NAME = 'post';          public function __construct($post_id_or_object) {                 parent::__construct($post_id_or_object); $this->string = $this->parseCustomMetaData();        }         // Extend your model by creating a method         public function parseCustomMetaData () {          $string = "";          foreach($this->fields['custom_meta_1'] as $custom) {          $string += $custom;          }          return $custom;         } } Now that you have your models setup, you can go on to your views. These can be very complex, or they can be very simple. Since most of your data is already structured, most of your views will be quite simple since they will just query a Post or Page. It's important to know that views should only contain code that prepares your data for presentation, looks for data that is specific to that view, or parse the relationship between different models. It should not deal with model data directly. For a simple post page, this would look something like this: <?php class PostView extends View { const NAME = 'PostView'; public function __construct($post_id_or_object) { parent::__construct($post_id_or_object); $this->post = new Post($post_id_or_object); } } Basically, you just create a post object using your $post_id and you're done. For querying a page with multiple posts (all posts with custom post type `image-post` in this case), your view might look something like this: <?php class ImagePostArchiveView extends ArchiveView { const NAME = 'ImagePostArchiveView'; public function __construct($post_id_or_object = false) { parent::__construct($post_id_or_object); if ($post_id_or_object) { $this->post = new Page($post_id_or_object); } $this->posts = $this->get_posts('ImagePost'); } } This uses a `get_posts` function declared in the `View` class where you can pass the name of your class as an argument and it returns an array of `ImagePost`s. Now we're only missing our template. This is by far the best part, because our template will be short, clean, and will only have our HTML. In `archive-image-post` we use the following code: <?php $view = new ImagePostArchiveView(); ?> <?php get_header(); ?> <?php foreach($view->posts as $post): ?> <div class="row"> <div class="small-12 columns"> <h1><?php echo $post->post_title; ?></h1> </div> </div> <div class="row"> <div class="small-4 columns entry-content"> <img src='<?php echo $post->image->url; ?>' /> </div> <div class="small-8 columns entry-content"> <?php echo $post->post_content; ?> </div> </div> <?php endforeach; ?> <?php get_footer(); ?> As you can see, this is not that different from a regular WordPress template. We still use `get_header` and `get_footer` and we loop through some of our PHP variables. But we don't call any PHP functions here and we have no logic and no data fetching in our templates. This is only our presentation layer.    

Improv: How To Approach The Stage

Having recently finished my 201 Improv class, I wanted to take the time to write down things I learned. In this class, I started to feel more comfortable about how to approach the stage. It was kind of liberating. I now have a foundation on which to think about what I'm doing on stage. Obviously, improv is all about having fun, but these 'rules'/'guidelines' have helped me in enjoying the experience and making me feel as if I'm actually getting better at it! (who would have thought...). 1. Feel Something About Something When you start performing on stage, you're often tempted to try to say something witty or funny. Isn't that what improviser do after all? This usually doesn't work. It's forced and unnatural. Rather, one should always try to feel something about something. It can be anything! When you do this, emotion (and not your wittiness) becomes the driving force of what you're doing. You might start the scene by feeling a deep hatred about the chocolate cake you happen to be eating (notice that this chocolate cake is right in front of you). Hearing you talk about how much you hate this chocolate cake you're eating is already funny and interesting. We can watch that happen and wait for that feeling move the scene forward. 2. Decided How You Feel About Yourself And Your Scene Partner When you get up on stage, you shouldn't plan what you're going to do or what's going to happen. That should emerge from the emotion. That's what improv is all about! At the same time, if you come with absolutely nothing, you'll have a hard time moving the scene forward. So after you're 'feeling something about something', you should always know how you feel about yourself and how you feel about your scene partner(s). For example, you might enter the stage feeling a deep hatred for chocolate cake, because you also feel a deep hatred towards yourself (notice how this happens before entering the scene). You might contrast this an inexplicable attraction for your stage partner. Now, rather than having a script to re-enact, you've created characters that can actually interact with each other and make something happen. 3. Always Heighten The Emotion And Repeat, Repeat, Repeat You know 'feel something about something' and you have started developing your character on stage. You're reacting to what the other person does based on emotion. What happens next? For the most part, you'll be tempted to come up with a story, to try to take it somewhere. Avoid that. Instead, just repeat whatever you're doing and heighten the emotion. If you hate your chocolate cake, don't try to figure out why you hate your chocolate cake. Instead hate your chocolate cake even more! Instead of trying to come up with some witty, funny reason to hate your cake, just take that hatred to the next level! You might mell me why you hate your cake (that might move the scene forward), but that should come from your emotion! After that, keep heighten the emotion even more! Take it to 11! 12! 13! It'll work out. I promise! 4. Avoid Figuring it Out and Jump Off the Ledge! Closely related to the previous point, you should always try to avoid 'figuring stuff out'. Don't try to rationalize or explain what is going on. Don't try to create a story around it in order for it to make sense. Maybe it makes sense, maybe it doesn't. It doesn't really matter. If someone wants to jump of a ledge, let them do it! Encourage it! Don't try to 'figure out' why that person feels that way. Don't start interrogating them about it. Remember, you already know how you feel about them. Let the emotion drive your scene and let your emotion about your stage partner determine how you will react to what is happening. If you hate chocolate cake, don't try figure out why you hate it. Instead, just hate it as much as you possibly can. That will be much more entertaining to watch and it will help drive the scene forward. 5. Commit, Commit, and Commit You're in the middle of the scene. You've kept heightening the emotion and letting your emotions drive your scene. Now you're starting to doubt yourself. Was this the right way to go? Is the crowd getting bored? Should I think of something witty to say? Don't. Instead, just commit to whatever you're doing. Invest in what you have. This is where confidence kicks in. You need that confidence to commit to whatever it is that you're doing. If you keep hating that chocolate cake to the absolute best of your abilities, the crowd will buy it and they will enjoy it. Once again, that commitment will drive your scene forward. After that, it'll be smooth sailing! (See how I just committed to that...) I'm certainly not an expert an all this, so if you have any feedback or thought, don't hesitate to leave some comments below. &darr; &darr; &darr; &darr; &darr; &darr;  

5 Reasons to Use Foundation and 5 Things You Need To Know About It

Zurb Foundaiton is a great front-end framework, but it's also a massive framework with a lot of features. Instead of going through the whole thing, I'm going to write about the top 5 things you should know about Foundation to start using it in your next project and decrease development time, improve code quality, and reduce debugging time. 5 Reasons For Why You Should Use  Foundation 1. Faster development time With Foundation, you don't have to write any boilerplate code like grids, buttons, typography, etc. This means you spend less time in development! 2. Responsive Out Of The box Most of the time you spend adapting a responsive site is spent writing proper CSS for layouts. With grids, you don't even have to think about wether your code will work in a responsive layout. It's responsive out of the box. Any changes in the responsive layout are only a couple of class name changes away. 3. Less Debugging Time Since most of your boilerplate code (like grids) is already written, tested for different browsers, and is already responsive you spend less time debugging your site in different browsers. They'll be bugs, but those will probably go away as you learn the framework. 4. Helps in Making Your Frontend Code DRY By providing variables and default styles out of the box, you end up repeating yourself a lot less. Rather than trying to write styles for every single element, you end up trying to write sensible defaults that will work for the whole site. In this way, you are creating a framework by which other people can extend your site. 5. Foundation Forces You To Work With Modern Technologies If you use Foundation's CLI (Command Line Interface), your project comes with a grunt, bower and sass already integrated into your project. You only have to used one command to use foundation, sass, grunt and bower in your project, making it that much more faster to get your project up and running. Bonus: 6. None Of The Code Is in  UPPERCASE The technical advantages of lowercase and capitalized comments are obvious and well-documented, so I don't need to go too much into this. 5 Most Useful Features In Foundation 1. Installation Installing foundation is very simply and surprisingly useful. Installing Foundation through foundation's CLI will install grunt and bower, and will create the necessary scss, css, and javascript files. It will even add a default .gitignore. If you have never installed Foundation on your computer, just run the following commands: [sudo] npm install -g bower grunt-cli gem install foundation This will install all the necessary requirements to run Foundation. Now you can create a project by typing: foundation new project_name --libsass If you don't want Foundation to create a a project, you can just import foundation into your Compass project, by adding it to your config.rb: require "zurb-foundation" http_path = '/' css_dir = 'css' sass_dir = 'scss' images_dir = 'images' javascripts_dir = 'js' relative_assets = true line_comments = true output_style = :expanded https://github.com/thejsj/jsj-9/blob/master/config.rb Now Codekit, bundler, and or grunt, will automatically import any Foundation dependencies (since your gem is already installed). 2. Modules Like Bootstrap, Foundation is very modular. If you only want to use a specific part of Foundation, you can do so by only importing some of the requirements you need. Foundation requires only two modules ('settings' and 'foundation'). All other modules come commented out in the default installation and can be included or excluded at will. @import "settings"; @import "foundation"; // Or selectively include components // @import // "foundation/components/accordion", // "foundation/components/alert-boxes", // "foundation/components/block-grid", // "foundation/components/breadcrumbs", // "foundation/components/button-groups", // "foundation/components/buttons", // "foundation/components/clearing", // "foundation/components/dropdown", // "foundation/components/dropdown-buttons", // "foundation/components/flex-video", // "foundation/components/forms", // "foundation/components/grid", // "foundation/components/inline-lists", // "foundation/components/joyride", // "foundation/components/keystrokes", // "foundation/components/labels", // "foundation/components/magellan", // "foundation/components/orbit", // "foundation/components/pagination", // "foundation/components/panels", // "foundation/components/pricing-tables", // "foundation/components/progress-bars", // "foundation/components/reveal", // "foundation/components/side-nav", // "foundation/components/split-buttons", // "foundation/components/sub-nav", // "foundation/components/switch", // "foundation/components/tables", // "foundation/components/tabs", // "foundation/components/thumbs", // "foundation/components/tooltips", // "foundation/components/top-bar", // "foundation/components/type", // "foundation/components/offcanvas", // "foundation/components/visibility"; As you can see, this is a lot of modules! Rarely will you need all of these, so delete at will! In my recent portfolio site redesign, I included only a couple of modules: /* Theme Name: thejsj9 Theme URI: http://thejsj.com Author: Jorge Silva-Jetter Author URI: http://thejsj.com Description: Version: 1.0 License: GNU General Public License v2 or later License URI: http://www.gnu.org/licenses/gpl-2.0.html */ @import "compass/reset"; @import "compass/css3"; @import "modules/icons"; @import "settings"; @import "foundation/components/global"; @import "foundation/components/visibility"; @import "foundation/components/grid"; @import "foundation/components/buttons"; @import "foundation/components/type"; @import "foundation/components/inline-lists"; @import "modules/mixins"; @import "modules/global"; @import "modules/header"; @import "modules/footer"; @import "modules/front-page"; @import "modules/content"; @import "modules/blog"; @import "modules/forms"; https://github.com/thejsj/jsj-9/blob/master/static/scss/style.scss As you can see, I'm importing this modules along with a couple of compass modules and I'm also including them along with my own custom site modules, just to have all SCSS dependencies in the same places. My sass compiler will include them as if they were regular sass files. 3. Overwriting Globals As with any framework,  Foundation comes with a lot of defaults. These defaults are often quite sensible, but rules are meant to be broken. Often times you want to overwrite those defaults and that's totally fine. There are two main ways of doing this: 1. changing sass variables 2. including mixins and 3. writing you own custom sass. For simple customizations, you often only need to change default variables (base font-family, primary color, etc). For elements, such as buttons, you would use mixins, and for more complex behavior you'll probably just need to write custom sass (which is would you would do anyways). For example, default buttons look something like this:   If I just want to change the color of the blue buttons I only need to change one variables in my Foundation/global settings: // We use these as default colors throughout $primary-color: #FE00E4; // Magenta // $secondary-color: #e7e7e7; // $alert-color: #f04124; // $success-color: #43AC6A; // $warning-color: #f08a24; // $info-color: #a0d3e8; Now that I change my primary color to magenta, my buttons look like this:   Since the variable $primary-color is also used elsewhere, the colors in my page change quite dramatically.   This changes the default color, but it still doesn't change the default behavior of all buttons. .button { @include button( 1rem, // padding rgba(50,50,255,0.7), // background-color 0.1rem, // radius false, // full-width false, // disabled true // is-input ); } Now, our buttons looks something like this (throughout the whole site):   Sometimes, though, you will need to write specific behavior into your elements that are not part of the Foundation framework... and that's totally fine! Say, for example, you want to make your background a gradient and add some text shadow to your button text. You can just write some sass for that: // UGLINESS ALERT - FOR DEMONSTRATION PURPOSES ONLY! DO NOT USE UNDER ANY CIRCUMSTANCES .button { @include button(1rem, rgba(50,50,255,0.7), 5rem, false, false, true); box-shadow: 0px 0px 3px rgba(0, 0, 0, 1); text-shadow: 1px 1px 1px rgba(0, 0, 0, 0.79); background: radial-gradient(#00009C, rgb(10,10,200)); letter-spacing: 0.3em; text-transform: uppercase; font-size: 0.4em; } Which end up looking something like this: 4. Grids My All Time, Hands Down, Million Dollar feature is definitely grids. Grids make it easy to give your website a responsive layout. This is done through css classes, added to the HTML of you code. This might seem a bit weird, since you're not doing everything in your css/sass, but the effect is that it makes your frontend development that much faster! Having your layout in your html, means it's much easier to experiment and make changes, since you don't have to go through your CSS to find where those changes need to be made. Grids in Foundation are very similar to grids in bootstrap (although not exactly the same) and are based on the same system of 'rows' and 'columns'. So some html like this: <div class="row"> <div class="large-12 columns"> <h1>Welcome to Foundation</h1> </div> </div> <div class="row"> <div class="large-6 columns"> <h2>I really Like Grid</h2> <p>Lorem ip... ac leo mollis, sed volutpat libero rhoncus. Nullam adipiscing convallis nisi id faucibus.</p> </div> <div class="large-6 columns"> <h2>I Really Like Buttons</h2> <p>Lorem...d faucibus.</p> </div> </div> Will look something like this: and in smaller screen, it would look something like this: These grids can be as complex or as simple as you want to make them. Grids can be nested inside of each other ad-infinitum. 5. Top Bar Responsive Menus I'm tired. I'm going to sleep. You can google this one! http://foundation.zurb.com/docs/components/topbar.html

In Development: New Wordpress Plugin for Code

New plugin for WordPress. It's a code highlighter. See it in action: // Be polite console.log("Hello Mr. World"); function getMrWorld(){ // This is SO hard! return window.jQuery('#mrworld'); } var found = true, times 10, count = 99; // Let's do it var $world = getMrWorld();

How to get around New York Times' monthly article limit

In the past, I wrote a chrome extension that bypassed NYT's monthly article limit. That extension no longer works, and I haven't really tried this because I found an easier way to get around this limit. Maybe someone else might find this useful! In the future, I might try to re-write that extension again, but in the meantime, you can try this: How to Go Around NYT's Monthly Article Limit Without A Plugin! Whenever you reach your monthly article limit, just reset your cache and app data in your browser. In chrome you can do that the following way: 1. Close all NYT tabs or windows. It won't work if any NYT related content is open. 2. Go to Tools > Settings > Clear Cache and Browsing Data. 3. Select "Empty the cache" and "Delete cookies and other site and plug-in data". I suggest selecting from "the beginning of time" too, just to be safe.   4. Click "Clear Browsing Data". 5. Close your browser and re-open it. If this doesn't work, try again!

Conversations with a Robot?

So a few days ago, a person I didn't know added me on gchat. Here's the conversation: Naturally, at that point, I did what any normal person would do: Turn on my webcam... Just kidding. After immediately deleting poor Virginia from my gchat I realized something. Virginia was probably a computer. I was probably talking to some server. After that, I got really depressed because I didn't test out the program, see how smart it was, see what it would respond back. And today... a miracle happened: When she said the "bot???" I started to think that maybe she wasn't a computer. She responded to my questions. She's real! ... what a disappointment. The spam comment was pretty hilarious and pretty smart, but it was all downhill form there... At this point, anyone would be pretty convinced. I'm ashamed it took me so long. She never responded back... Maybe someday Juliet will talk to me again....

Calculating GDP Annual Growth Rate (for Europe)

A little python script to calculate GDP Growth. There are multiple ways to do it; this is just one of them. By this standard, Spain had the 3rd highest GDP growth in the original eurozone (11 countries) from the first quarter 1999 to the last quarter of 2007.

Wordpress Plugin: JSJ Gallery Slideshow!!!!

Description: JSJ Gallery Slideshow is a  Wordpress plugin that substitutes the default gallery an turns into a much nicer slideshow. It does this completely automatically (really, it's that easy!). You only have to install the plugin and all your slideshows will be automatically converted to something like this. You can change almost all the options allowed by Jquery Cycle (it's based on this Jquery plugin) such as: transition time, transition effect, timeout between transition (or no timeout), slide class, ...etc. This plugin is inspired by Cargo Collective's slideshow feature and uses Jquery Cycle and Jquery Easing as the basis for the plugin. List of available options: Active Pager Class - Class name used for the active pager element. No Spaces. Auto Stop - True to end slideshow after X transitions (where X == slide count. Auto Stop Count - number of transitions (optionally used with autostop to define X. Start Backwards - true to start slideshow at last slide and move backwards through the stac. Clear Type No Background - Set to true to disable extra cleartype fixing (leave false to force background color setting on slides. Container Resize - Resize container to fit largest slide. 0:False / 1: Tru. Delay - Additional delay (in ms) for first transition (hint: can be negative). FastOn Event - Force fast transitions when triggered manually (via pager or prev/next); value == time in ms. Fit Slides - Force slides to fit container. Transition Effect - Name of transition effect. Slide Height - Container height (if the 'fit' option is true, the slides will be set to this height as well). Manual Trump - Causes manual transition to stop an active transition instead of being ignored. Data Attribute - data-attribute that holds the option data for the slideshow. No Wrapping - True(1) to prevent slideshow from wrapping. Pause Slidehow - True(1) to enable "pause on hover". Pause On Pager Hover - True(1) to pause when hovering over pager link. Random Slides - True(1) for random, false for sequence (not applicable to shuffle fx). Requeue OnImageNotLoaded - Requeue the slideshow if any image slides are not yet loaded . Requeue Timeout - Ms delay for requeue. Reverse Animation - Causes animations to transition in reverse (for effects that support it such as scrollHorz/scrollVert/shuffle). Slide Resize - Force slide width/height to fixed size before every transition). Speed - speed of the transition (any valid fx speed value). Starting Slide # - Zero-based index of the first slide to be displayed. Synchronize Slides - True if in/out transitions should occur simultaneously. Transition Time - Milliseconds between slide transitions (0 to disable auto advance). Width - Container width (if the 'fit' option is true, the slides will be set to this width as well). Installation: Upload the entire jsjGallerySlideshow folder to the /wp-content/plugins/ directory. Activate the plugin through the 'Plugins' menu in WordPress. At that moment, all your slideshows will be automatically converted into JSJ gallery / slideshows. Optional: If you want to change any of the options for the plugin, go to Settings -> JSJ · Gallery & Slideshow. FAQ: If you have any questions, email me at jorge dot silva at thejsj dot com. This plugin is spanking new, so it's bound to have some bugs. I'd be happy to fix them! Some Examples: http://thejsj.com/#/uncategorized/jsj-%C2%B7-gallery-slideshow-example/  http://thejsj.com/#/pieces/anything-worth-saying-exhibition/ http://npossibleroutes.info/gallery-example/ http://thisisyourscript.thejsj.com/hello-world/ Screenshots: Options Page: Donate If you find this plugin useful, don't hesitate to make a donation.

Email Sender - Wordpress Plugin

With this plugin, you can send anything a multitude of users with their emails in the second column. I used this to send out grades to my students. Tables would be structured the following way: Name Email Grade for This Project Grade for the class Jorge jorge.silva@thejsj.com ... ... Jorge jorge.silva@gmail.com ... ... Jorge jorge@hotmail.com ... ... ... ... ... ... I would then upload my CSV and it would tell me if it send out the emails or not. Pretty useful. Maybe not.

NYT Chrome Extension (Read Forever and go over the Paywall!)

Update I know a lot of people come here looking for this extension. It no longer works because NYT changed the way they handle user article count. But you can still get around this problem. How to Go Around This Without A Plugin! Whenever you reach your monthly article limit, just reset your cache and app data in your browser. In chrome you can do that the following way: 1. Close all NYT tabs or windows. It won't work if any NYT related content is open. 2. Go to Tools > Settings > Clear Cache and Browsing Data. 3. Select "Empty the cache" and "Delete cookies and other site and plug-in data". I suggest selecting from "the beginning of time" too, just to be safe.   4. Click "Clear Browsing Data". 5. Close your browser and re-open it. If this doesn't work, try again! The Extension (that no longer works): I don't know about you, but it's pretty annoying not being able to read NYT as much as you want... 10 articles a month? Really? ... Being a broke graduate student, I did what any other smart student would do... I created a Chrome Extension to bypass the PayWall! Hooray! Use it if you like! Download: NYT Deleter Chrome Extension.crx If this link doesn't work try downloading the file directly by putting this in your url box: http://thejsj.com/2013/NYTDeleterChromeExtension.crx.zip What it does? This extension basically sniffs out NYT links and rewrites the url in order to trick the site into delivering the page. It's actually pretty simple. How to Install this? Go to your Extensions Page (Just type in: chrome://extensions/ in your url box) Unzip the file. Drag and Drop the .crx file into the Extensions page. Here are some links on how to do it: http://www.howtogeek.com/120743/how-to-install-extensions-from-outside-the-chrome-web-store/ http://www.youtube.com/watch?v=ZTHZlmAbFV4 (View after 1:00) Problems? Email me at: jorge.silva at thejsj.com if you have any problems or find any bugs...

I Got Published? I Got Published!

Today, I found my first publication. It's a paper titled “Design through the loop: Creating through programing in the field of graphic design”, talking about the intersections of design and programming.

Thesis: Preliminary Introduction and Problem Statement

Introduction It's four in the afternoon and I'm standing in the middle of downtown Richmond. I lock up my bike and start walking around a bit, looking for a good spot. This is probably the hardest moment in my project. Doubt creeps in and part of me wants to come up with a good reason not to do any of this. I take my out my tripod and put on the camera and microphone. I start trying to set a good frame and with some white chalk put a mark on the sidewalk in order to let people know where they should stand. I take out my sign. It reads "Do you have anything worth saying?" in orange Futura Bold. It's a very open question, meant to be interpreted in many ways, but it is (at least for me) a very meaningful question. I start approaching people with my sign, asking them if they have 'anything worth saying'. Most people ignore me. I'm used to it. A lot of them tell me they're late for something. It's incredible how unpunctual people are these days. When they do answer, their answers are sometimes unsurprising and fall into a couple of categories: pseudo self-help, basic human values and humor. I'm not at all disappointed in these answers. I try to respect each individual's own narrative. Sometimes, someone is able to surprise me. They are able to show their human depth and their authenticity through their sincerity to the camera. Those are the ones that seem to satisfy me the most. In these projects, my intentions are many, I want to start talking to people. I want them to surprise me. I want to question them and challenge them. I want to have a conversation with my surroundings, a conversation that can lead me to find the unexpected. I have no pre-conceived purpose. I have some ideas about how this might all end up, but they are not important. I wish for my project to reveal themselves to me. Strangely enough, I feel i'm somehow well-suited to do all this. Not everyone is willing to stand in the middle of the street to be constantly rejected by people. I've been told the only reason I can pull it off is because I'm so unthreatening. My background in Psychology has led me to believe in the intricacies and complexities of the individual, while understanding its inherent complexities. At the same time, I'm a programmer interested in the language of computation. This interest has led me to appreciate the richness of my surroundings and its inherent narratives, specially in contrast with the computational realm. I think my projects show this appreciation. Problem Statement I believe that making can be a process of encountering the unexpected. In the search for the unexpected, I am able to create work that is outside the limits of my own imagination. By setting processes in motion, by which I surrender control over a final outcome, I can expand the possibilities of my own work. At the same time, I can challenge my own role as the initiator of the work which becomes a lens that enables a conversation with the world. My work encompasses a variety of processes that lead me to this conversation. Most start with a set of instructions that I carry out. "Walk down to Pony Pastures Park and take 1 picture every minute of your walk". Sometimes they are based on people giving me instructions. "Act like a gorilla for two minutes". Yet for others, I write instructions to be executed by other individuals or by a machine. "Do you have anything Worth Saying?". These instructional catalysts are based on my own desire to question rather than to answer and are not intended to provide a final work. Rather, they aim to provide a journey, a wandering by which I arrive at somewhere I wasn't expecting. In this way, I am able to take more holistic approach to making. Of particular importance is encouraging narratives to arise by themselves as a direct result of my process. Many times, these take the form of a set of instructions or a question. The results are often unscripted and unforeseen, an integral part of my search for the unexpected. ( A more extensive definition of narrative is needed here) These ideas are increasingly relevant to graphic design. Design, as a discipline, focuses on answering, rather than questioning. Through my work, I propose a certain distance between the designer's work and the designer. I attempt to renounce control over a final outcome and renounce control over a narrative. While seeing the expectation of my own instructions, I attempt to exert control over the instructions, not the final result. Through this way of working, I position myself as an initiator. This might be contrasted to the idea of the 'maker', who continually exerts control throughout the process and is the main channel by which a design process is executed. As an initiator, I see my role as a catalyst for the process that is channeled through other entities. Initially, my work was very influenced by generative design, design in which the output is determined by an algorithm. I felt that the idea of creating systems to produce design seemed very powerful. Initially, I attempted to create such systems, but I grew increasingly disillusioned with these ideas. I started trying to go back to the physical world. After some time, I started to question the role of chance in my work and started researching the work of John Cage who turned out to be the most influential precedent in the latter part of my thesis. In his own work, Cage was not very interested in what he created, but what he got from the process of making. A way to explain these ideas is what he called "purposeful purposelessness". The purpose of his pieces was precisely the lack of purpose, which lead him to his artistic wanderings. His prepared piano, for example, made him relinquish control over his instrument in order to make sound that was both unexpected, but a result of his own process. His most famous piece, 4'33", was a way to let his surroundings dictate his music, rather than the other way around.

Videos: People On the Street

If anything could happend at the end of the day, what would it be? Fifty People, One Question: New York from Fifty People, One Question on Vimeo. Where do you wish to wake up? Fifty People, One Question: London from Fifty People, One Question on Vimeo.

A Bus Ride

The time was 6:45 pm. The date was November, 8, 2012. I was waiting in a sleazy, sketchy, old Greyhound station waiting to take the Richmond to New York City bus. The trip took eight hours. In these eight hours to New York and in the eight hours back, I decided to write my thoughts. The following pages contain some of the things I wrote sitting on this bus. I fin them to be all mutually related. I hope you do too. #1 7:30 PM Fredericksburg, Springfield, D.C, Baltimore I just got on the bus. On my way to New York City. I want to, first of all, say what I want these writings to be and the way in which I want them to be written. I don’t want it to be a stream of consciousness type thing. Bada bing, bada boom! I don’t want to just write anything that comes to mind. That has been done. That would not be fair to my readers, perhaps? This book is not about my trip. This book is not about a place. Sitting on a bus for 8 hours is perhaps one of the most boring and monotonous experiences a human being can experience. While I love trying to find out where I am (that’s one of the reasons I decided to include a map as the cover for my chapters) and while I like seeing the cities and spaces I pass, the goal, the point, the intention of this seat in this bus is the attempt to look inwards. It isn’t a travel to a geographical location but rather an elimination of space as an excuse to look inwards. #2 I like looking inwards. You might say I like talking to myself quite a bit. Does this make me sound as if I was mentally unstable? Who can tell the difference anyway. I find that whenever I am able to eliminate space, to close myself down, to lock myself in, I learn something new about myself. What better joy in life than learning something new about yourself. At the expense of sounding cliché, “The life not examined is not worth living.” What I have recently found out is that I don’t really ‘talk to myself’ as the expression usually goes. Rather, I have a conversation with myself, a conversation in the second person. There is Jorge, the talker. As the name suggests, he’s the one doing the talking. At the same time, there’s Jorge, the listener. He’s mute. The first Jorge, on the other hand, is completely deaf. As you can imagine, they get along quite well. Actually, deaf Jorge is the one writing this paper. Deaf Jorge is quite the talker and, because he loves hearing the sound of his own voice, he often overdoes it. At that point, mute Jorge gives him a stern, cold look. Deaf Jorge knows what this means and proceeds to re-think whatever absurdity just left his mouth. My life consists on the conversation between these two individuals. I am both and I am neither. Silence does not exists for me, since silence is the moment when I get to hear what they have to say. What would life be like without them? #3 7:50 “Next stop is Fredericksburg, VA” The Annihilation of Space Monotony is a way in which space is eliminated. When  you repeat, repeat, repeat, repeat, repeat, repeat the iterations of that repetition become meaningless. The 1,000th tree I’ll see on this trip won’t be different enough from the 1377th tree. At that time I’ll be thinking about something else. #4 The nature of this trip, in its very nature, goes against any pragmatic purpose. Sixteen hours on a bus for the pure joy of it is entirely anti-pragmatic. My favorite kind of trips are precisely the anti-pragmatic ones. I love moving for movement’s sake. I love moving so I can have time to myself. Sometimes, on a Thursday or Friday night, I bike through the streets of Richmond. I bike through the Fan or downtown without trying to go anywhere in particular, trying to drift through the city while perhaps learning a few new street names. Lombardy, Rowland, Meadow, Vine, Allen, and Strawberry. I always remember N. Meadow because it’s the only street with a traffic light. I would always do the same, late at night, in the street of San Juan. I would drive around the more urban neighborhoods: Hato Rey, Santurce, Río Piedras, Condado. I would try to find absolutely nothing in particular. Sometimes, I might, perhaps, try to find new ways to get around. Others I would try to find new ways to try to understand my city. Yet, at the end, there was no real point to it, besides forgetting where I was. Being able to do nothing for an hour, only to bike around and think about nothing in particular is a great blessing. Being able to do nothing for a couple of hours, only to drive and think about nothing in particular is a great blessing. Being able to do nothing for 8 hours, only to sit and think about nothing in particular is an immense blessing. #5 My favorite trip is perhaps the most unpragmatic. I was in Wrocław, Poland and wanted to go Belgrade, Serbia. I was broke and couldn’t go through the European Union because my Schengen visa had expired, which meant I couldn’t go through Czech Republic, Slovakia or Hungary and almost every train passed through Hungary. These two conditions created an opportunity for a feat that, while necessary, seemed almost ridiculous. My good friend from Ukraine, Yenia found instructions on how to go through Ukraine and Romania to Belgrade, rather than through other EU countries. Needless to say, he found it on Yandex (the Russian equivalent to google) and the instructions were in Russian, so he had to carefully explain each step of the trip to me. I understood about half of it. This trip would take more than 48 hours at a distance that, in a plane, might take less than two hours. I would have to cross 3 borders in 4 countries with 4 different languages (none of which I spoke). It involved taking 3 trains, 3 bus rides, a 3 kilometer walk and an unexpected hitch-hike. I was afraid, but happy at the same time. This trip would be a challenge. #8 Canada My first time travelling was the time I went to a summer camp in Canada. I was probably about 10 years old and my dad wanted me to go to his camp in Barry’s Bay, Ontario. I wanted to go because of the excitement of travelling, for having a new experience. He wanted me to go because it was organized by the local church group. It was, very creatively, called Leadership Summer Camp and it was intended as a way to build ‘character’ among young teenage boys. There are many things I remember from this summer camp, but perhaps one of the most memorable were the long bus rides. At the summer camp, we would make a trip to the Niagara Falls. That was almost 6 hours away. We would wake up at 3:00 am, go to mass, have breakfast and hop on a big, yellow school bus. I could never sleep on these bus trips, or at least not much. So, while everyone else was sleeping, I would look at the majestic pines trees of Ontario I had never seen before, look out for deer and read the bilingual road signs to try to figure out where I was. I still remember names like Peterborough, Hamilton, Combermere and Pembroke. I can’t remember if these trips bothered me and I can’t recall complaining about them. I don’t know if this was because of the excitement of going somewhere or because of the long time on the bus. The other thing I would do is just think about whatever came to mind. What I wanted to do when I ‘grew up’, who I was going to be in the future, things like music and movies, and, of course, the all-important love interests of a 6th grader. Not much has changed since then. Yet, I think it was since this very young age that I knew I liked travelling and that what I wanted to keep on doing it. There was nothing like the excitement of going to these new places. For some reason, since this very tender age I somehow knew that all this wandering around would really define who I was and who I wanted to be. I also think that it was through these early travels that I eventually figured out something very important. Who you were, as a person, was not predefined but rather, it was something that had to be realized. You had to act as the person who you wanted to be. Life was something that could be acted upon. I have yet to find a better way to define yourself than through travelling, moving, and wandering around. Well, to be honest, I probably didn’t think this when I was ten, but this was a start. #10 9:24 Woodbridge Bus Stories I owed her 4 thousand dollars in child support so she took me to court. I didn’t have the money. When we were in court, she said she wanted the money that same day. My lawyer argued with her “How is he going to get the money if he’s in jail? Give him some time to come up with the money”. After some time, she finally agreed. The judge gave me a week to come up with the money. I was in deep shit. I was going to go to jail. The next day, with the last couple of dollars I had, I went to Dunkin Donuts and I bought myself a cup of coffee. Then I crossed the street to the gas station and bought a lottery ticket. I won 20 thousand dollars and I cashed that check the same day! I paid her the 4 thousand dollars. “Here, bitch, here’s your money!” It was a goddamn miracle. #11 10:42  Washington D.C. A lot of people I know and a lot of I see on the street seem to tend to be as connected as possible. I normally see people spending their spare moments trying to call someone up, hearing some music or playing a game on their phones. I try to avoid these things... and the machines that facilitate them. I have an old phone, fortunately, that can’t do any of these things. The reason I avoid these all-in-one technological marvels because I find the to be them enemy of silence. They are the way in which we avoid silence at absolutely any moment during the day. We live in a society that now escapes silence at all costs. Maybe this is a good thing. Progress might be nothing more than the ability to continually avoid confronting ourselves. The fact that we don’t experience silence is only an indication of how much we have accomplished. Why would we ever be in silence if we have Angry Birds and Spotiffy? One of these is obviously less engaging. Weirdly enough, I see a very strong relationship between religion, silence, and the contemporary lack of it (Am I just imagining things?). It seems to me that it is not coincidence the continual technological development of our societies goes along with the disappearance of religion (at least in more recent generations). We certainly don’t deify the iPhone, but it’s too entertaining! We choose not to have time to stop and think about the questions that religion tries to respond to in the first place. Who would ever do a thing like that? #15 2:22 Am Holy shit, it’s snowing! There’s snow in the grand. It has to be so cold. I might freeze to death! Soon, I’ll be there. #16 Nov 10, 3:10 PM Newark, NJ I just got stuck in the bathroom of the bus. 10 minutes stuck in a 4 square foot bathroom seems like a lot more that ten minutes. I hesitated pushing the “In case of emergency” button, but the claustrophobia of the whole thing was getting to me. I know that 10 more minutes in the make-believe bathroom would make me feel desperate, dizzy and horrible. It’s funny seeing how a simple situation can seem so bad. Normally, in a sticky situation like this one, I try to think of what is the worst possible thing that could happen. I could get so dizzy and disoriented, I might have nausea and have to vomit somewhere. I apologize for the mental picture that has just appeared into your head. Really, I apologize. They might have to stop the bus in order for the driver to come and rescue me. Everyone would get pissed off at the 23 year old kid who delayed the bus. Maybe, the employees on the bus won’t be able to open the door for me, and I might be obliged to spend 8 hours on a 4 square feet, no windows, smelly bathroom on my way to Richmond, VA. At some point, I might start seeing my life in a flash and the light at the end of the tunnel. Jorge Silva Jetter. 1989-2012. Died in the Greyhound bathroom. The headlines on the newspaper would tell the tragic story of a young (good looking, I might add) 23 year old who died in the bathroom of a greyhound bus. Lawsuits would be made. Careers would be ruined. Greyhound, the 98 year old company would go bankrupt due to the damage of its public image. All because I couldn’t get out of the bathroom. After some time, the employee came to my rescue from the torture of the make-believe bathroom. He started trying to open the door, but he was only trying to open the bottom lock “It’s the one on the top!”, I shouted. “I know what’s wrong” he answered back to me, as if he was the one stuck in the bathroom and had been trying to open the damn door. A few moments later, I made my triumphant exit out of the tiny bathroom. The three people sitting close by started laughing when they saw me, laughing at my little near-death experience. I also laughed a bit at myself, knowing that everything was okay, even do a few moments earlier I wasn’t sure I was ever going to get out of there. At the end, things are never as bad as my creative worst case scenarios, which makes the experience seem a lot lighter. #20 4:59 PM Delaware The night is now falling. the nature of my trip has changed. The view of nature, of my surroundings are now impossible. I shall have to look inwards. #21 I am already disappointed in this trip. I’m starting to find that my expectations were, perhaps, a bit too high. It is strange to say, but I do have to admit that I thought I would fine a lot more on this bus ride. How naive of me to think that a simple bus ride might provide the answers to the universe. How naive am I to think that a bus ride may provide with any answers at all. That, in a way, is the nature of reflection. You always find as many questions as you find answers. You find that there are no correct answers to life, there are only hypothesis. You find that, no matter how you live your life, there will always be regrets, there will always be unanswered questions, there will always remain doubt.   You can also see this document in PDF form: A Bus Ride - Jorge Silva-Jetter    

Purpose and Surrender of Control in the Work of John Cage

You can also see this document in PDF with citations and Images John Cage was one of the 20th Century’s most important composers. His attitude towards music was profoundly avant-garde and his work changed the limits and definitions of what experimental music could be. These views developed over many decades, as they become more and more profound. His famous compositions like 4’33” are well known, yet readily understood. This paper aims to address not only his music, but the ideas behind his compositions, and his views on life. 4’33” and Composing with Noise A lot of Cage’s ideas are exemplified in one of his most famous pieces: 4’33”. In this composition, the performer is instructed not to play a single note for 4 minutes and 33 seconds. The audience hears only the sounds of the surroundings and this is precisely what is intended of the piece. “4’33” is not a negation of music but an affirmation of its omnipresence.” Cage made no distinction between music and noise, ultimately believing that there was no such thing as noise. Music is everywhere. When he talked about music, he used the term ‘music’ to mean all sounds, including noise, and even silence. Cage, for example, talked about the ‘noise’ of traffic as music. He found this music to be much more interesting than Beethoven’s, or any other composer’s music, because traffic is different every time. It cannot be repeated. This is in contrast to the way in which music and composing are traditionally seen and heard, as fixed pieces that don’t change. As a composer, he believed that his role was to consider these sounds as the basis of his music. His intent was to compose with sounds as they were, rather than to shape them to his own will. As a composer he lived by the mantra of “Let Sounds be Sounds”. His compositions did not impose a specific order on sounds and noise, but rather took them as they were. His compositions aspired to find ways in which unexpected noises/sounds/music could emerge. As an extension of his views on music, Cage also talked about how silence does not exist. Cage heard music everywhere and could not foresee an instance in which there was a lack of music. At every moment, he argued, we can hear something. At every moment, there is music. Cage became specially convinced of this after visiting an anechoic chamber, a chamber that is completely sound proof. Even in this chamber he found there was no absence of sounds. “Being able to hear, in a soundproof room, sounds from this blood circulation and from his nervous system, Cage proved to himself that silence could not be an absence of sounds.” It is this experience that most profoundly shaped his view on silence and it is this experience that made 4’33” conceptually possible. Without this overwhelming belief in music, 4’33” and its underlying ideas would have never come to fruition. In this composition, the lack of an intentional, pre-defined set of sounds performed by a series of musicians is not an impediment for the audience to hear music. 4’33” affirmed Cage’s strong belief in the omnipresence of music. The Prepared Piano An earlier example of Cage’s philosophy in relation to music and his role as a composer, was the creation and use of the prepared piano. In a prepared piano, objects are placed between or on top the instrument’s strings. In this way, the sounds created by the instrument are different from those normally expected. Since a great variety of objects can be placed inside the piano, the possibilities of music are almost limitless. More importantly, the performer opens himself or herself to the unexpected, thus making each instance of a piece unique in its own way. The prepared piano came to be out of necessity. In the early 1940’s, Cage was working mostly on composing for percussion, since this was instrumentation that was closest to his conceptual interests. In 1942, Cage moved from Chicago to New York and he did not have the money to bring his percussion instruments with him. When he received a commission for a piece, he started trying to recreate the conditions of percussion in a piano. That’s when Cage started placing objects (mostly pieces of rubber and screws) into the strings of the piano. The instructions by which the piano was prepared would become an explicit part of his compositions. He would instruct the performer where these pieces were to be located, what pieces to use, and even, what specific Steinway pianos could be used (since different pianos resulted in different sounds). An example of this type of composition is Sonatas and Interludes, a set of 20 pieces inspired by his emerging interest in Indian philosophy. In Sonata V, the sounds of the piano are completely transformed. The keys that have been altered (not all keys are) now sound like individual instruments each with a sound that is completely different from the original sound of a piano. The result was music that sounded as if a complete ensemble was playing. The use of this instrument can be seen as a beginning to Cage’s later questioning of the role of control in his own compositions. At this point, Cage exerted a lot of control over the sounds emitted by the prepared piano giving detailed instructions about its preparation, yet there is an openness the unpredictability and lack of control of the sounds made by this instrument, at least in relation to the more common intent of making all notes in a piano sound as expected. There is still a great distance in these works from what would eventually become 4’33” and similar pieces, but their origins can be seen in the prepared piano and in the Sonatas and Interludes. Intentions and Work as Question Through many of his pieces (including 4’33”), there is an underlying desire in Cage to question the role of intention in a musical work. “Cage’s most important compositions of the past three decades have been conceived to deny his intentional desires as completely as possible.” It is this feature that what makes his work radically different from so many before him. Cage constantly tried to surrender as much intention as possible form his work. He used the term “purposeful purposelessness” as a way to describe what he saw as the ‘purpose’ of his art. He did have a purpose in the creation of his music and his art, but the purpose was based on the generation of questions rather than on providing answers. To a certain extent, his purpose might be interpreted as the purpose to find a purpose. This might seem a contradictory tautology, but through his work Cage intended to find something deeper than his intentions. He wanted to have a conversation with his work that would lead to a process of discovery. Art, to Cage, was not a way to communicate his ideas, but rather, a way in which these ideas could be communicated to him (and to his audience). “If, from the Renaissance on, art has been regarded as a means of communication, Cage instead defined art as self-alteration, a means to sober up the mind.” For Cage, the lack of intention in his work (or his ‘purposeful purposefulness’) explains something much deeper about his views on art. The work of the artist (in Cage’s view) is a process of questioning, rather than of providing answers. It is because of this, that Cage utilized chance operations (to name one of his many processes). “Most people who believe that I’m interested in chance don’t realize that I use chance as discipline. They think I use it - I don’t know as a way of giving up making choices. But my choices constitute what questions to ask.” His use of chance operations were a way in which Cage could ask questions of nature and to have nature respond back. His interest was not in a lack of control for its own sake, but rather as an expression of a deep humility towards admitting an incomplete knowledge about nature, and the desire and curiosity to find out. “That there is an overriding harmony in everything he created accords with Cage’s belief in the essential, if unknowable, order in nature, as revealed by his chance operations.” Unpredictable Outcomes Through most of Cage’s work, we find a desire to create compositions in which the outcome is unpredictable and all performances are unique. For Cage, the lack of clear and direct intentions in his work was a way to ensure that the outcome of his work could become unpredictable. The result of his chance operations would be as much of a surprise to him as it would be to his audience. “For Cage, the outcome of a fully structured piece is predictable and therefore occludes the act of performing with memories of definitive readings.” In other words, there is no point in performing a piece if the outcome is already known. In Cage’s compositions, the performance is the moment in which that particular instance of a piece is created. Music then becomes and endeavor that, in and of itself, has no predictable outcome, but speaks to us at a much more deeper level. Music begins to mirror unpredictability of life itself. An example of this type of work is Imaginary Landscapes #4, a piece for 24 musicians in which the musicians split up in to 12 pairs, each pair holding on radio. For each radio, one performer controls the tuner while the other controls the volume. The tuning and volume are dictated by the score of the piece, yet the performers have no control about what is actually coming out of the radio. While certain variables of the piece are determined by the score, most of the piece is unpredictable. Since the music depends on what is being transmitted by the radio at that specific moment, the location (the city or region in which it is performed) and time of day are important factors on the final performance. Also, because of the nature of the radio, it is impossible to completely replicate an instance of the performance, even if it’s performed in the same place and at the same time. The Role of the Audience, The Role of the Artist and Views on Art One of Cage’s main preoccupations was the audience and its role in relation to the performer. In Cage’s work, as in 4’33”, the traditional role of the audience is deeply challenged. “The listener does not stand outside the experience in order to describe it, analyze and understand it, but co-creates and undergoes it.” The audience is not a passive entity who is privileged to witness the genius of the artist, but rather a group that performs with the performer, and composes with the composer. The composer, in Cages view, should not attempt to impose a particular meaning or understanding of a particular piece on the listener, but should instead require the listener to understand and appreciate the piece on their own terms. “The emptiness of 4’33” is filled by the listeners, whose focus must be open, free-flowing and capable of supplying his or her own meaning.” In this way, the listeners form an integral part of the piece they are experiencing. The composition is completed the moment the audience gets to experience it. Through this new type of work and through this new relationship to the audience, Cage dramatically challenged our understanding of the role of the artist. While, typically, the artist assumes a role of informing its audience by delivering a particular message through their work, Cage had no intention of doing this. He once said , perhaps half-jokingly, “I don’t want to spend my life being pushed around by a bunch of artists”. Rather, he regarded his art as a process of discovery. Art is a praxis by which he could learn about nature. Through this exploration of nature, the artist and the audience share, not so much an experience of acquisition of knowledge, but of “sobering up the mind.” Communication from the artist to the audience was is secondary, if important at all. “If art has been regarded as a giver of truth through the ‘self-expressed individuality of the artist’ Cage saw it rather as an exploration of how nature itself functions as a means to open the mind and spirit to the beauty of life with a minimum of expression or interpretation.” Connections with Eastern Understandings of Art and Spirituality Throughout most of Cage’s work and his ideas on art, there is a very strong influence of Eastern philosophy, spirituality and the aesthetic ideas of Wabi-sabi. In the book, “Wabi-sabi for Artists, Designers, Poets & Philosophers” Leonard Koren provides a comparison between Wabi-sabi (An ancient Japanese philosophy of life and art) and Middle Modernism (the minimalist style in architecture and product design that surged after the Second World War). Koren contends that Wabi-sabi was very influenced by Zen Buddhism.”The initial inspiration for Wabi-sabi’s metaphysical, spiritual and moral principles come from ideas about simplicity, naturalness, and acceptance of reality found in Taoism and Chinese Zen Buddhism.” These ideas shared by both, Wabi-sabi and Zen Buddhism, are also very clear in Cage’s work. Koren explains that Wabi-sabi “believes in the fundamental uncontrollability of nature”, is “one-of-a-kind”, and implies “people adapting to nature”. On the other hand, Middle Modernism “believes in the control of nature”, is “mass-produced, and implies “people adapting to machines”. In Cage’s piece, 4’33” almost all of these ideas related to Wabi-sabi are demonstrated. First of all, there is no control of what that final piece is. When the performer plays the piece, the outcome is totally dependent on nature and the environment. The performer does not seek control of what is happening and cannot control nature. Second, because each performance of the piece depends on the state of the environment at a particular time and place. Each instance of 4’33” is inherently different. Finally, since the performer just lets the sounds of the environment be, the performance is a collaboration between the performer and the audience to adapt to nature and adapt to the circumstances of the environment at one particular moment. The similarities between Eastern aesthetics (using Koren’s description of Wabi-sabi) and Cage’s work are very clear, but Cage’s connection to Eastern thought goes much deeper than the formal aspects of his work. His whole conception of what music is and what it should do is founded on Eastern principles. More specifically, it is based on Gita Sarabhai’s (An Indian composer and contemporary to Cage) conception of music. “The view of art as a form of spiritual discipline reflected in Cage’s new formulation of the purpose of music, given to him by Sarabhai: ‘To sober and quiet the mind, thus rendering it susceptible to divine influences’.” Art then becomes a spiritual journey by which an individual is able to shorten the distance between himself/herself and nature. Music, for Cage, is an attempt to become one with nature. Conclusion Cage’s work and ideas changed the way we view music and the possibilities of music. His life and career show an exceptional development and constant questioning. While at first glance, Cage’s ideas seem related to music, they embody a much more profound meaning. Cage was involved, not only in the process of questioning how music is created, but questioning the role of the performer and the audience, the connection of art and life and, ultimately, view on life itself. For Cage, All these thing are interconnected.   Bibliography Cage, John. Composition in Retrospect. Cambridge: Exact Change, 1993. Clarkson, Austin. “The Intent of the Musical Moment.” In Writings through John Cage’s Music Poetry, and Art, edited by David W. Bernstein and Christopher Hatch, 62-112. Chicago:  The University of Chicago Press, 2001. De Visscher, Eric. ““There is no such thing as silence...”: John Cage’s Petics of Silence (1991).” In Writings about John Cage, edited by Richard Kostelanetz,  117-133. Ann Arbor, The University of Michigan Press, 1993. Koren, Leonard. Wabi-Sabi for Artists, Designers, Poets & Philosophers. Berkely, California: Stone Bridge Press, 1994. Kostelanetz, Richard. W“Beginining with Cage (1979).” In Writings about John Cage, edited by Richard Kostelanetz, 8-12. Ann Arbor, The University of Michigan Press, 1993. Constance LeWallen, “Cage and the Structure of Chance.” In Writings through John Cage’s Music Poetry, and Art, ed. David W. Bernstein and Christopher Hatch. Chicago:  The University of Chicago Press, 2001. James Pritchett, The Music of John Cage. Cambridge: Cambridge University Press, 1993.

This is Your Script

  Questioning the idea of authorship in the creation of narrative and questioning the computer human relationship (typically based on the human ordering a computer to execute certain events and the computer following these instructions), I asked many individuals to submit to me differente things that I could do on my video, ways in which it could be shot and other 'wildcards' concerning how these scenes would be executed. I then created a script that generated  my script for the film. I, as the actor, would execute the instructions the computer has given me. The actor becomes an agent in service of the algorithm. Through these executions a narrative is created, not so much from the script itself, but from the process of executing these interactions  The execution of the instructions become the narrative, rather than the script itself, but the script serves as that starting point on which the narrative of the video is based. "I don't want to spend my life being pushed around by a bunch of artists." - John Cage One of the main ideas of this video is the distance between the maker and the final result. While the whole process is initiated and ideated through the maker, the maker does not have complete control over the final piece. The final piece is intended to incorporate and show the unexpected. It is intended to be an exercise in which the make learns, rather than teaches. One of the most interesting aspect about this project is how it forced me to have these chance encounters with a lot of people around the area. I met and talked to people who were curious about what I was doing, people I had to interact with because of my instructions, or just people who wanted to get some attention from the camera. These encounters with the people out on the street provide much of the richness of this video.

4 opening sequences and a Helvetica clip

Presentaiton Type Presentaiton 4  opening sequences http://youtu.be/Tek8QmKRODw http://youtu.be/gaLDyrun_Cc http://youtu.be/SEZK7mJoPLY http://youtu.be/7jK-jZo6xjY and a Helvetica clip... http://youtu.be/Bw7bVD-V8rs In Video:

7 Weeks W/O Meds

The last couple of months, I have been constantly looking for stories, looking for things with their own narratives, with meaning. Walking down the street the other day, I found a planner. In it, an unknown stranger had written down her whole life. Dinners, doctor's appointments, camping trips, meetings. Initially, I thought I would  try to return it back and took it to my studio, but very quickly I figured out that the best chance for this person to find this planner would be for me to leave where I found out. I quickly went to my studio and scanned every single page in it. Half of the months on the planner were clipped. On one of those pages was the phrase "7 weeks w/o meds", which I decided to use as my title, because of what I thought it said about the owner of this planner. The rest, I decided to keep between the planner and its owner. I went back and put it where I found it. If its owner ever found it, I will never know. The book is a reframing of these findings. As the author, I present these pages to the reader for/her to make his/her own conclusions and stories. Rather than providing one single story, I try to provide as many as possible in which you are able to meet the character of my story through reading the pages of this book, but my own narrative is never imposed on the reader. him

Shattering: Self Made Poster

Taking the remains from my shattering explorations, I decided to put them to some use. I grabbed a nice sheet of thick off-white paper and sprayed some glue on it. Afterwards I layed out all the broken glass on top of the sheet of paper. After about an hour, I lifted the paper. The resulting forms are a result of chance and gravity. They are a combination of the glass, broken by gravity and the adhesive power/lack of in the glue.

Shatterings

Taking on the idea of chance as an ignitor of making, I set up a process in which I would paint glass plates (conveniently bought at the nearest dollar store) and let them fall from about 8 feet up in the air. I would record the coalition with the floor and let gravity decided the form the pictures would take. In this way, natural forces, and not me dictate the form of the piece.   Here are some stills from the process:   Here is a video (parts of it are severely color 'corrected'):   Taking those as a starting point I started putting these sequence of images together to form new compositions.