<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>P'unk Avenue Window &#187; Conferences</title>
	<atom:link href="http://window.punkave.com/category/conference/feed/" rel="self" type="application/rss+xml" />
	<link>http://window.punkave.com</link>
	<description></description>
	<lastBuildDate>Sat, 24 Jul 2010 01:15:00 +0000</lastBuildDate>
	<generator>http://wordpress.org/?v=2.9.1</generator>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
			<item>
		<title>#slive2010 Liveblogging: Fabien Potencier: Symfony 2.0</title>
		<link>http://window.punkave.com/2010/02/17/slive2010-liveblogging-fabien-potencier-symfony-2-0/</link>
		<comments>http://window.punkave.com/2010/02/17/slive2010-liveblogging-fabien-potencier-symfony-2-0/#comments</comments>
		<pubDate>Wed, 17 Feb 2010 17:16:32 +0000</pubDate>
		<dc:creator>Tom</dc:creator>
				<category><![CDATA[Conferences]]></category>
		<category><![CDATA[Development]]></category>

		<guid isPermaLink="false">http://window.punkave.com/?p=991</guid>
		<description><![CDATA[I am liveblogging Fabien Potencier&#8217;s Symfony 2.0 presentation. Bear with me and my editorial errors, simplifications and bare-faced libels.
My own opinions are in parentheses.
They are setting up now.
&#8220;Symfony 2.0 Reloaded&#8221; Preview Release
&#8220;I&#8217;ve decided to do the session in French&#8221; heh
In 10 minutes you will discover the shiny new version of Symfony, Symfony 2.0. Symfony 2 [...]]]></description>
			<content:encoded><![CDATA[<p>I am liveblogging Fabien Potencier&#8217;s Symfony 2.0 presentation. Bear with me and my editorial errors, simplifications and bare-faced libels.</p>
<p>My own opinions are in parentheses.</p>
<p>They are setting up now.</p>
<p>&#8220;Symfony 2.0 Reloaded&#8221; Preview Release</p>
<p>&#8220;I&#8217;ve decided to do the session in French&#8221; heh</p>
<p>In 10 minutes you will discover the shiny new version of Symfony, Symfony 2.0. Symfony 2 is just awesome. But first a bit of history.</p>
<p>Symfony 1.0 released in January 2007. Started as glue between existing libraries: Mojavi, Propel, Pardo i18n, &#8230;</p>
<p>&#8220;How many of you are still using 1.0?&#8221; [Some hands go up] &#8220;Ohhhhh!&#8221; [Hey, I raised my hand too, I have to support existing projects after all, heh. Our new stuff is all 1.4]</p>
<p>With Symfony 1.2 in November 2008, decoupled but cohesive components wre rolled out: forms, routing cache, YAML, ORMs&#8230; but still the same core.</p>
<p>Symfony 1.4 &#8211; November 2009. Added polish on existing features. Removed the support for deprecated features. Current LTS released, maintained until late 2012.</p>
<p>What is Symfony 2.0? The next version of course&#8230; except Symfony now takes an &#8216;S&#8217; instead of an &#8217;s&#8217;. That&#8217;s the big difference!</p>
<p>Talk about Symfony 2 with a capital S please! Symfony 1 (uppercase) does not make any sense, symfony 2 does not make sense! It&#8217;s all about Symfony 2. &#8220;I&#8217;m quite picky.&#8221;</p>
<p>&#8220;Same philosophy, just better.&#8221; We&#8217;ve learned a lot from our mistakes. We&#8217;ve learned a lot&#8230; we have problems with Symfony 1, but not all are fixable. It requires breaking backwards compatibility. So we need to go forward.</p>
<p>Symfony 2 is still an MVC framework.</p>
<p>It&#8217;s probably more of a Fabien-style framework than anything else (his words not mine (: ).</p>
<p>MTV: Model, Template and View?</p>
<p>Highly configurable and extensible. Same Symfony Components (DI, events, request, etc), same great developer tools, full featured. </p>
<p>Everything is upgraded to PHP 5.3. (Great, I hope they debug PHP 5.3 by the time Symfony 2.0 is complete!)</p>
<p>OK, but why a major version # change then?<br />
<span id="more-991"></span><br />
Because it has a brand new low-level architecture to fix some of the deeper issues with Symfony 1.x. </p>
<p>New best practices and concepts, built with speed and flexibility in mind. Based on dependency injection container, a new plugin system. </p>
<p>Namespaces and anonymous functions will be used.</p>
<p>A Quick Tour</p>
<pre>
namespace Application\HelloBundle\Controller;
use Symfony\Framework\WeBundle\Controller;

class HelloControlelr extends Controller
{
  public function indexAction($name)
  {
    return $this->render('HelloBundle:Hello:index', array('name' => $name));
  }
}

&#038;lt!-- No magic for layouts this is an explicit layout extension in the template -->
&lt;?php $view->extend('HelloBundle::layout') ?>

Hello &lt;?php echo $name ?>!

Layout:

&lt;html>
&lt;head>....</head>
&lt;body>
&lt;?php $view->slots->output('_content') ?>
&lt;/body>
&lt;/html>
</pre>
<p>Helpers are objects</p>
<pre>
hello:
  pattern: /hello/:name
  defaults:
    _bundle: HelloBundle
    _controller: Hello
   _action: index
</pre>
<p>:name becomes the first argument to the action.  If you have more in the route, they become additional arguments to the action. No $request parameter.</p>
<p>Extremely Configurable</p>
<p>Why? Because it is all managed by a Dependency Injection Container. &#8220;I won&#8217;t talk about the DI container today&#8221; (aw, I wish someone had explained it this week; it was taken as a given by an earlier presentation today; I&#8217;ve read about it but many haven&#8217;t had a chance yet I&#8217;m sure).</p>
<p>The DI Container replaces &#8220;a lot of symfony 1 things:&#8221;</p>
<p>sfConfig<br />
All config handlers<br />
sfProjectConfiguration<br />
sfContext (no singleton anymore!)<br />
The configuration cache system (!!)<br />
And some more</p>
<p>In one easy-to-master, unified, and cohesive package.</p>
<p>databases.yml can be renamed. You can create just one big config file if you want, or have several small ones. </p>
<p>Name your configuration files any way you want. Use PHP, XML, YAML or even INI format.</p>
<p>You can do raw PHP rather well:</p>
<pre>
$configuration = new BuilderConfiguration();
$configuration->addResource(new FileResource(__FILE__));

$configuration->mergeExtension('web.user', array('default_culture' => 'fr', 'session' => array('name => 'SYMFONY')...); etc
</pre>
<p>Same thing shown in YAML and XML. XML syntax is rather consistent, not much more verbose than YAML anymore.</p>
<pre>
$configuration->mergeExtension('swift.mailer', array('transport' => 'gmail', 'username' -=> 'fabien.potencier', 'password' => 'xxxxxx', ... ));
</pre>
<p>XMLNS schema definitions for lots of things</p>
<p>Autocompletion based on schemas demonstrated in NetBeans IDE</p>
<p>Inherit configuration as much as you want</p>
<p>You can have a master configuration and then configurations for each environment for instance. Symfony 1 had several defined levels. Framework, project, application, module. </p>
<p>In Symfony 2 it&#8217;s up to you. You can have as many as you want, and mix and match config files written in different formats, which is useful when using third-party plugins. </p>
<pre>
&lt;imports>
&lt;import resource="parent.xml" />
&lt;import resource="config.yml" />
&lt;import resource="parameters.ini" />
&lt;/imports>

&lt;zend:logger
priority="debug"
/>

&lt;web:debug
toolbar="%kernel.debug"
ide="textmate"
/>
</pre>
<p>Which format to use? Internally they only use XML because it has autocomplete, validation, help etc. etc. due to schemas. Fabien endorses XML.</p>
<p>Store Sensitive Settings Outside Of Your Project (database passwords&#8230; clever rsync_exclude tricks go away?)</p>
<p>Old way (in 2 syntax):</p>
<pre>
&lt;doctrine:dbal
dbname="sfweb"
username="root"
password="HeyThisIsTotallyPublic"
/>
</pre>
<p>New way:</p>
<p>password=%SYMFONY_DOCTRINE_DBAL_PASSWORD%</p>
<p>And set:</p>
<p>SetEnv SYMFONY_DOCTRINE_DBAL_PASSWORD &#8220;foobar&#8221;</p>
<p>(is that literally a shell thing?)</p>
<p>Creating DIC Extensions Is Insanely Simple</p>
<p>Very fast thanks to a smart caching mechanism &#8211; always knows when to flush the cache (!)</p>
<p>Whenever you do something that requires creating the cache, Symfony knows it must flush and recreate the cache.</p>
<p>The code in the cache is PHPDoc, seriously readable code</p>
<p>The code to fetch something from the DIC is as fast as the code you&#8217;d write yourself (he showed us; there are no unnecessary layers of cruft)</p>
<p>The DIC can manage any PHP object: POPO (?)</p>
<p>&#8220;Plugins&#8230;&#8221;</p>
<p>Good in 1.x, better in 2.0</p>
<p>&#8220;So much better we need a new name.&#8221; They are now called Bundles.</p>
<p>Why? Because they are first class citizens in Symfony 2.0. In Symfony 1, they added the plugin system late in the game. They had applications and plugins and there was a question as to what should be what. In 2.0 everything is a bundle. Core features, third-party code, application code. The framework itself is made up of bundles. Doctrine is a bundle, etc. </p>
<p>Default directory structure:</p>
<p>app/<br />
src/<br />
web/</p>
<p>You don&#8217;t have to adhere to it.</p>
<pre>
app/
  AppKernel.php
  cache/
  config/
  console
  logs/

src/
  autoload.php
  Application/
  Bundle/
  vendor/
    doctrine/
    swiftmailer/
    symfony/
    zend/
</pre>
<p>Note that Zend is on the shortlist, but in &#8220;vendor&#8221; (and so is symfony).</p>
<pre>
web/
  index.php
  index_dev.php
</pre>
<p>Controllers.</p>
<p>A bundle dir looks like this:</p>
<pre>
.../
  SomeBundle/
  Bundle.php
  Controller/
  Model/
  Resources/
    config/
    views/
</pre>
<p>Templates, data, views, configuration, js, etc. live in Resources.</p>
<pre>
public function registerBundleDirs()
{
  return array(
    'Application' => __DIR__ . '/../src/Application',
    same for bundle
    similar for Symfony Framework pointing to its bundle dir, giving it a prettier name on the left, using namespaces
}

$this->render('SomeBundle:Hello:index', $params)
</pre>
<p>SomeBundle is the bundle&#8217;s declared name, not something based on position in the filesystem. Looks for a matching bundle (much as it now looks for modules in plugins and the app).</p>
<p>Could be in:</p>
<p>Applciation\SomeBundle<br />
Bundle\SomeBundle<br />
Symfony\Framework\SomeBundle</p>
<p>Extend things by making one that appears earlier on that list.</p>
<p>In Symfony 1 to extend a plugin you must muck about with a BaseaActions class to make aActions extensible. In Symfony 2 it is natural. Just create another bundle. (? How does a bundle extend a bundle exactly? Is it about the order you register them in? Are you extending classes or is this a DI trick?)</p>
<p>&#8220;Less concepts&#8230; but more powerful ones&#8221;</p>
<p>Symfony 1 View Layer</p>
<p>A layout is just another tempalte with __content as a special slot</p>
<p>A partial is just at emplate you embed in another one</p>
<p>A component is just another action</p>
<pre>
&lt;?php $view->output('BlogBundle:Post:list', array('posts' => $posts)) ?>

&lt;?php $view->actions->output('BlogBundle:Post:list', array('limit' => 2)) ?>
</pre>
<p>So back to the layout&#8230; _content is just a slot now, not something special.</p>
<p>Big and small  improvements.</p>
<p>Multiple levels of layouts. You can extend the template, but you can also extend the layout as much as you want&#8230; partials can be decorated too. Better logging. </p>
<p>INFO: Matched route &#8220;blog_home&#8221; (parameters: array(&#8216;_bundle&#8217; => &#8216;BlogBundle&#8217; &#8230;.))</p>
<p>Errors are called out better with an ERR prefix (there were supposed to be multiple levels in 1.x right?)</p>
<pre>
&lt;zend:logger priority="debug" />
</pre>
<p>Great exception error pages</p>
<p>They integrate with your editor if you have the symfony firebug bar, very nice</p>
<p>&#8220;Content of the Output&#8221; available in the event of an error! Big improvement over 1.x. You can see the var_dumps before the error etc.</p>
<p>&#8220;An Even Better Web Debug Toolbar&#8221; (oops it was &#8220;Event Better&#8221; I was very puzzled (: )</p>
<p>The web debug toolbar is at the bottom of the page. You can look at it when you want to, otherwise out of your way.</p>
<p>&#8220;Everythign you need is at the bottom of the screen.&#8221;</p>
<p>symfony 2.0.0-DEV php 5.3.1/xdebug/accel blog/dev/debug default/html/200/text/html 6ms 1280kb [db] 0</p>
<p>&#8220;default&#8221; is the route that matched.</p>
<hr />
<a href="http://www.apostrophenow.com">Check out Apostrophe, our Symfony-based Content Management System!</a></p>
<p>2.x is web designer &#8220;friendly.&#8221; No more apps/frontend/modules/foobar/templates before you can find what you are working on. You can have one templates folder.</p>
<pre>
app/
  views/
    BlogBundle/
    Post/
      index.php
 And then other bundles with their subfolders
</pre>
<p>(That looks familiar actually&#8230;? But he&#8217;s saying there is one templates dir&#8230;? Ah because a bundle is equivalent to a plugin not just a module. All templates for a plugin-scale thing are now in one folder)</p>
<p>Symfony 2 Is A Lazy Framework</p>
<pre>
use Symfony\Foundation\UniveralClassLoader;

$loader = new UniversalClassLoader();
$loader->registerNamespaces(Symfony, Application, Bundle, Doctrine with their root paths in a hash));
$loader->registerPrefixes(array('Swift_' ... ));
</pre>
<p>Lazy-loading of services</p>
<p>In 1.x factories are created by default. No choice. In 2.x, if you don&#8217;t use a user object, you won&#8217;t get one. If you don&#8217;t need request, you don&#8217;t get it. </p>
<p>Lazy-loading of listeners</p>
<p>A bunch of events, a lot of different listeners. In Symfony 2 we only create listeners if an event is notified. You can register as many listeners as you want, the overhead is small. </p>
<p>Lazy-loading of helpers</p>
<pre>
&lt;?php echo $view->router->generate('blog_post', array('id' => $post->getId())) ?>
</pre>
<p>The router helper doesn&#8217;t get created unless I use it.</p>
<p>(Note that $view is a new variable present in view layer code like partials and templates. Helpers are objects, and view itself is an object. No more pretending you don&#8217;t need -> in templates (we all used it anyway with the model).)</p>
<p>Symfony 2 routing system has similar features but the implementation is very different. Compiles down to plain PHP code.</p>
<p>You can use Apache for Routing matching for extreme speed (!).</p>
<p>A Very Fast Development Environment</p>
<p>Again, no more clear cache, it&#8217;s automatic in dev environment. A metafile references the files that are relevant to the cache, and when they get touched Symfony can check very quickly whether it must clear the cache.</p>
<p>You can also stash routes in a db, and Symfony also knows if it needs to rebuild based on that.</p>
<p>And that&#8217;s Symfony 2, &#8220;we have barely scratched the face&#8221; of Symfony 2.0. </p>
<p>Easy to learn<br />
Easy to use<br />
Extensible at will</p>
<p>&#8220;People will tell you that Symfony 1 is slow, hard to learn, complex. I think they are wrong. But I think Symfony 2 is easy to learn, easy to use, and extensible at will. I want to lower the barrier to entry of Symfony 2.0. I want it to be usable for very small websites and very big ones. I want people to be able to grasp Symfony 2.0 in a matter of minutes. Probably 20 minutes. I want people to be able to understand and be fluent in a matter of hours. Perhaps a day, not more. Everything is more explicit. Less what-the-fuck effects&#8221; (borrowing Jon Wage&#8217;s line from yesterday heh). &#8220;You can change everything in Symfony 2.0. If something is not tasty enough for you, you can swap the component and use something else. You can change the whole directory structure if you want, create a whole application in one file if you want. You should be able to guess new concepts without reading the documentation, guess the thing you don&#8217;t know. That&#8217;s possible because we have fewer concepts. Done with two or three concepts, easier to guess how it works and how it would work for your specific case. </p>
<p>Of course we have all of the great features of Symfony 1&#8230;</p>
<p>But Symfony 2 should be slow right? No. It is</p>
<h1>Fast as hell</h1>
<p>This is the fastest framework ever created. It can be seven times faster than any other framework for a simple hello world application but I don&#8217;t care. The last time a customer asked for a hello world application was in the early nineties so that benchmark does not make sense. So I created a benchmark with a more typical application using all the layers of a typical framework. Models, views, controller, routing. I did benchmarks on a simple application. It&#8217;s a hello &#8216;name&#8217; application, so there is a route, /hello/someone. There is a layout with 15 links and a menu with 15 routes&#8230; there are partials.</p>
<p>So we use templates and partials (setTemplate()), links for the routing, layout, but no session or database in this case. We are trying to measure the speed of the framework itself.</p>
<p>If you do this, Symfony 2.0 is 2x faster than Solar 1.0.0, the fastest framework for simple applications. So that&#8217;s great. </p>
<p>Symfony 2.0 is 2x faster than Symfony 1.2, 2.5x faster than Zend, 4x faster than Lithium, 6x faster than CakePHP 1.2.6. 60x faster than Flow3 (and by the way notice that this means Symfony 1.x is pretty fast relative to most of these).</p>
<p>Symfony 2.0 uses half the memory needed by both Symfony 1 and Zend Framework. Scales better than any other framework.</p>
<p>Stuff still missing:</p>
<p>Controller&#8217;s nice default pages. Cache via ZF &#8211; DI extension coming soon. Form/Validation/Widget: can use 1.4 version for now. Admin generator, ditto. Doctrine 2.0 needs its upper layers but the DBAL layer is already impressive. There is no handy bundle installer yet. </p>
<p>Not for production projects yet, quite stable but he needs to be able to change his mind and make big changes for now. Final release date 2010. </p>
<p>For bleeding edge news (ha!) follow @fabpot, and also on Github, github.com/fabpot.</p>
<p>He&#8217;s going to release the code (pull a copy?) live.</p>
<p>He&#8217;s on a Mac too small for him to access the usual VPN icon so he&#8217;s asked the audience for help finding it through system preferences hee! Good he found it. We&#8217;ll see if the network works for him&#8230;</p>
<p>He&#8217;s going through the ugly validation of the wifi here&#8230; &#8220;what-a-fuck?&#8221;</p>
<p>&#8220;Okay so you won&#8217;t have the code today&#8230; Sorry about that. No, I&#8217;ll do my best to push the code in about an hour. I will also deploy <a href="http://symfony-reloaded.org/">symfony-reloaded.org</a>, a temporary website about Symfony 2.0. </p>
<p>I can tell you that at the end of the tutorial, you will be able to create great applications with Symfony 2.0. I am a bit frustrated now because I have so many things to tell you. I really think Symfony 2.0 is awesome. So if you have any good questions&#8230;&#8221;</p>
<p>Standing Ovation</p>
<p>Q. &#8220;Are you trying to reinvent Zend Framework 1.0?&#8221; Heh. This is a reference to a dumb question asked of Jon Wage yesterday. If I heard right.</p>
<p>Q. &#8220;How can we balance future development on 1.x and the new 2.0? What should we do [now] as community working on Symfony framework?&#8221;</p>
<p>A. If you start a new project today use 1.4. If you respect best practices and separate model view and controllers and controllers are thin and model is fat and well-coupled templates it will be easier to migrate to 2.0. Don&#8217;t try to use 2.0 for a site deploying before end of the year. It&#8217;s too early. But Symfony 2 is so flexible. We will find ways to ease the upgrade path.  You can also move to PHP 5.3 today.</p>
<p>Q. About bundle loading: one of the targets is less magic but you first look at the application bundle and things like that. Why keep that sort of magic?</p>
<p>A. It&#8217;s not magic at all.</p>
<p>Q. It&#8217;s not exclusive.</p>
<p>A. It is. You need&#8230; a small amount of magic. Just a small amount. But you can change the directories, the name of the namespaces, you can have just one namespace if you want. </p>
<p>Q. Can you have sub-bundles without the project level having to know about them explicitly? Can you put a bundle into another bundle?</p>
<p>A. Doesn&#8217;t make sense. Too complex. You can&#8230; yeah why not? Not a big deal&#8230; doesn&#8217;t feel right.</p>
<p>Q. (Me): If I write a bundle, and someone wants to extend an action in my bundle, how do they do that?</p>
<p>A. They just extend your class, and make sure their bundle loads first. (I think I get it: now that we get to declare functional names for our stuff, independent of class names, there&#8217;s no barrier to extending someone else&#8217;s class and using the same functional name so it replaces it. As for loading order, you can have more than one bundles folder and call one of them &#8216;overrides&#8217; and put it first, or similar.)</p>
<p>Q. Will there be documentation or support soon to help us create bundles that will work for both 1.4 and 2.0?</p>
<p>A. No. Controllers are too different. No more actions.class.php. Very different, with namespaces. You can create a plugin that is also a bundle but there&#8217;d be a lot of duplicate code.</p>
<p>Q. But what about the impact on migration of existing code?</p>
<p>A. It&#8217;s too early to say but there will be great news to announce re: new bundles. One of the problems with Symfony 1 plugins is the quality. We have a lot of plugins for 1.x but a lot of them are just not really usable, to say the least. This will be better. I can&#8217;t say more right now.</p>
<p>Q. Do we have to enable bundles? Is it possible to set up dependencies between different bundles?</p>
<p>[Fabien opens his sandbox in textmate]</p>
<p>[Points out the registerBundles method seen above]</p>
<p>You need to register bundles. </p>
<pre>
class Hellokernel extends Kernel
</pre>
<p>Symfony is now an operating system! Okay no.</p>
<p>Fabien: &#8220;if you want, if you want, if you really want&#8230;&#8221; somebody remix this please (:</p>
<p>&#8230; And that&#8217;s it! Great stuff. Symfony 2.0 will be a big improvement. My next step is to wrestle DI all the way to the ground (:</p>
]]></content:encoded>
			<wfw:commentRss>http://window.punkave.com/2010/02/17/slive2010-liveblogging-fabien-potencier-symfony-2-0/feed/</wfw:commentRss>
		<slash:comments>7</slash:comments>
		</item>
		<item>
		<title>Slides from MAMPCamp: testing websites on your own Mac</title>
		<link>http://window.punkave.com/2009/11/14/slides-from-mampcamp-testing-websites-on-your-own-mac/</link>
		<comments>http://window.punkave.com/2009/11/14/slides-from-mampcamp-testing-websites-on-your-own-mac/#comments</comments>
		<pubDate>Sat, 14 Nov 2009 21:31:35 +0000</pubDate>
		<dc:creator>Tom</dc:creator>
				<category><![CDATA[Community]]></category>
		<category><![CDATA[Conferences]]></category>
		<category><![CDATA[Development]]></category>
		<category><![CDATA[mac]]></category>
		<category><![CDATA[software]]></category>

		<guid isPermaLink="false">http://window.punkave.com/2009/11/14/slides-from-mampcamp-testing-websites-on-your-own-mac/</guid>
		<description><![CDATA[I led a barcamp philly session today titled MAMPCamp: testing websites on your own Mac. You can find considerably expanded slides, notes and links here. 
I&#8217;ve also promised to deliver a complete writeup on how to use dnsmasq to let coworkers easily view each others&#8217; test sites. More importantly, I&#8217;ve promised to deliver Z-CAMP (Zero-Configuration [...]]]></description>
			<content:encoded><![CDATA[<p>I led a <a href="http://barcampphilly.org/">barcamp philly session</a> today titled <a href="http://www.boutell.com/boutell/mampcamp.pdf">MAMPCamp: testing websites on your own Mac</a>. You can find <a href="http://www.boutell.com/boutell/mampcamp.pdf">considerably expanded slides, notes and links here</a>. </p>
<p>I&#8217;ve also promised to deliver a complete writeup on how to use dnsmasq to let coworkers easily view each others&#8217; test sites. More importantly, I&#8217;ve promised to deliver Z-CAMP (Zero-Configuration Apache MySQL PHP), a really <i>really</i> easy way to set up and test sites on your Mac. That should be along in a few weeks.</p>
]]></content:encoded>
			<wfw:commentRss>http://window.punkave.com/2009/11/14/slides-from-mampcamp-testing-websites-on-your-own-mac/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>SXSW!</title>
		<link>http://window.punkave.com/2009/03/11/sxsw/</link>
		<comments>http://window.punkave.com/2009/03/11/sxsw/#comments</comments>
		<pubDate>Wed, 11 Mar 2009 19:59:57 +0000</pubDate>
		<dc:creator>Geoff</dc:creator>
				<category><![CDATA[Conferences]]></category>
		<category><![CDATA[Events]]></category>

		<guid isPermaLink="false">http://window.punkave.com/?p=508</guid>
		<description><![CDATA[
This Friday, Tom and I will be heading to Austin, Texas for SXSW Interactive. As hard as it is to pull myself away from my family, this conference is time well spent. We have started to use it as a milestone for our work at P&#8217;unk Avenue and in the Philadelphia tech/geek scene. As in&#8230; [...]]]></description>
			<content:encoded><![CDATA[<p><a href="http://www.flickr.com/photos/punkavenue/3347608186/" title="Coming off the plane in Philadelphia by P'unk Ave, on Flickr"><img src="http://farm4.static.flickr.com/3470/3347608186_d34d5afc8a.jpg" width="500" height="375" alt="Coming off the plane in Philadelphia" /></a></p>
<p>This Friday, Tom and I will be heading to Austin, Texas for <a href="http://sxsw.com/interactive/">SXSW Interactive</a>. As hard as it is to pull myself away from my family, this conference is time well spent. We have started to use it as a milestone for our work at P&#8217;unk Avenue and in the Philadelphia tech/geek scene. As in&#8230; imagine how many cool things we will do by the time SXSW rolls around next year.</p>
<p>Well, this year has rolled around and I am happy to report that <a href="http://technicallyphilly.com/news/third-ignitephilly-event-turns-to-community-for-presentation-suggestions">many</a> <a href="http://www.barcampphilly.org/">very</a> <a href="http://technicallyphilly.com/news/indy-hall-to-expand-add-educational-element">cool</a> <a href="http://junto.org/2009/02/06/shhhhhhhhhhhhhhhhhhhhhhhh/">things</a> have <a href="http://labs.indyhall.org/">happened</a>. I am also happy to report that Tom and I are heading down with clear missions. Mine is to do a good job on the <a href=" http://sxsw.com/interactive/talks/panels?action=show&#038;id=IAP0900393">Regional Whuffie Building: Attracting Innovation to Your City</a> panel. I am looking forward to talking about how Philadelphia is a kick ass place to be right now. </p>
<p>More importantly, though, <a href="http://www.cogaoke.com/contestants/tommy-b-goode">Tom</a> is looking to bring home the <a href="http://www.cogaoke.com/">OK Happy Cog&#8217;aoke</a> trophy. Some of you may not realize that Tom&#8217;s karaoke roots go deep. He has tracked the <a href="http://www.boutell.com/philly/karaoke/">Philly Karaoke scene</a> for a long time. This will not be an easy task since he will up against competitors from around the world. However, <a href="http://www.cogaoke.com/contestants/alexknowshowtorock">Alex Hillman</a> and <a href="http://www.cogaoke.com/contestants/haveboard">Jonathan Finnegan</a>  also from Philadelphia could serve to be some of his toughest competition. </p>
<p>If you are going to be there&#8230; drop us a line so we can hang out.</p>
<p>And, wish us luck!</p>
]]></content:encoded>
			<wfw:commentRss>http://window.punkave.com/2009/03/11/sxsw/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>BarCamp Philadelphia</title>
		<link>http://window.punkave.com/2008/11/05/barcamp-philadelphia/</link>
		<comments>http://window.punkave.com/2008/11/05/barcamp-philadelphia/#comments</comments>
		<pubDate>Wed, 05 Nov 2008 16:33:37 +0000</pubDate>
		<dc:creator>Geoff</dc:creator>
				<category><![CDATA[Community]]></category>
		<category><![CDATA[Conferences]]></category>
		<category><![CDATA[Events]]></category>

		<guid isPermaLink="false">http://window.punkave.com/2008/11/05/barcamp-philadelphia/</guid>
		<description><![CDATA[
This Saturday, BarCamp is coming to Philadelphia, and we are hosting the pre-party on Friday!
BarCamp does not happen in a bar or even a tavern. In fact, we helped to bring it to UArts, a place that P&#8217;unk Avenue has a deep history with since four of us are graduates and this company grew out [...]]]></description>
			<content:encoded><![CDATA[<p><a href="http://www.barcampphilly.org/"><img src='http://window.punkave.com/wp-content/uploads/2008/11/barcampphilly.png' width=500 alt='BarCamp Philadelphia' /></a></p>
<p>This Saturday, <a href="http://barcamp.org/">BarCamp</a> is coming to Philadelphia, and we are hosting the <a href="http://www.barcampphilly.org/about/">pre-party</a> on Friday!</p>
<p>BarCamp does not happen in a bar or even a tavern. In fact, we helped to bring it to <a href="http://www.uarts.edu/">UArts</a>, a place that P&#8217;unk Avenue has a deep history with since four of us are graduates and this company grew out of relationships that began when I was a Multimedia professor there. </p>
<blockquote><p><a href="http://www.barcampphilly.org/">BarCamp Philly</a> will take place at The University of the Arts, located in the heart of Center City. The <a href="http://www.uartsgd.com/">Graphic Design</a> and <a href="http://cmacweb.org/dept.cfm?sec=m">Multimedia</a> departments have generously donated their classroom space which is equipped with state of the art technology, projectors and in some areas, an intentional focus on openness and collaborative learning. This venue is ideal for the participatory nature of BarCamp.</p></blockquote>
<p>So what is BarCamp? According to <a href="http://en.wikipedia.org/wiki/BarCamp">Wikipedia</a>:</p>
<blockquote><p>…an international network of user generated conferences — open, participatory workshop-events, whose content is provided by participants — often focusing on early-stage web applications, and related open source technologies, social protocols, and open data formats.</p></blockquote>
<p>In simplest terms, it is a bottom up conference. Anyone that attends can lead a session on any topic. It allows for the topics to emerge during the course of the event and to take on a life of their own.</p>
<p>We look forward to seeing you at the party.</p>
<p>BarCamp Philadelphia Pre-Party<br />
at P&#8217;unk Avenue<br />
1168 E. Passyunk Avenue, Philadelphia, PA 19147</p>
<p>November 7, 2008 from 7 to 10 pm.</p>
]]></content:encoded>
			<wfw:commentRss>http://window.punkave.com/2008/11/05/barcamp-philadelphia/feed/</wfw:commentRss>
		<slash:comments>3</slash:comments>
		</item>
		<item>
		<title>Video from the Pre-Blog Philadelphia party</title>
		<link>http://window.punkave.com/2007/08/03/video-from-the-pre-blog-philadelphia-party/</link>
		<comments>http://window.punkave.com/2007/08/03/video-from-the-pre-blog-philadelphia-party/#comments</comments>
		<pubDate>Fri, 03 Aug 2007 18:59:19 +0000</pubDate>
		<dc:creator>Alex</dc:creator>
				<category><![CDATA[BlogPhiladelphia]]></category>
		<category><![CDATA[Conferences]]></category>
		<category><![CDATA[Events]]></category>
		<category><![CDATA[Videos]]></category>

		<guid isPermaLink="false">http://window.punkave.com/2007/08/03/video-from-the-pre-blog-philadelphia-party/</guid>
		<description><![CDATA[My brother, Kerry, was hiding in the wings of the Pre-Blog Philadelphia party with his camera. He recently finished everything together into a great little piece.

Good times had by all.
]]></description>
			<content:encoded><![CDATA[<p>My brother, Kerry, was hiding in the wings of the Pre-<a href="http://window.punkave.com/2007/07/17/blogphiladelphia-heck-yeah/">Blog Philadelphia</a> party with his camera. He recently finished everything together into a great little piece.</p>
<p><object classid="clsid:D27CDB6E-AE6D-11cf-96B8-444553540000" width="437" height="370" id="viddler"><param name="movie" value="http://www.viddler.com/player/8dae8b26/" /><param name="allowScriptAccess" value="always" /><param name="allowFullScreen" value="true" /><embed src="http://www.viddler.com/player/8dae8b26/" width="437" height="370" type="application/x-shockwave-flash" allowScriptAccess="always" allowFullScreen="true" name="viddler" ></embed></object></p>
<p>Good times had by all.</p>
]]></content:encoded>
			<wfw:commentRss>http://window.punkave.com/2007/08/03/video-from-the-pre-blog-philadelphia-party/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>BlogPhiladelphia &#8211; heck yeah</title>
		<link>http://window.punkave.com/2007/07/17/blogphiladelphia-heck-yeah/</link>
		<comments>http://window.punkave.com/2007/07/17/blogphiladelphia-heck-yeah/#comments</comments>
		<pubDate>Wed, 18 Jul 2007 03:44:46 +0000</pubDate>
		<dc:creator>Geoff</dc:creator>
				<category><![CDATA[BlogPhiladelphia]]></category>
		<category><![CDATA[Conferences]]></category>

		<guid isPermaLink="false">http://window.punkave.com/?p=16</guid>
		<description><![CDATA[
There has been a lot of fantastic coverage of the BlogPhiladelphia (un)conference that just went down last thursday and friday. It almost feels unnecessary to add another. But, here goes&#8230;
We had a blast attending this conference. We met some new people, deepened relationships with others, and in general had a great time. There was so [...]]]></description>
			<content:encoded><![CDATA[<p><a href="http://www.flickr.com/photos/stellargirl/782232587/" title="photo sharing"><img src="http://farm2.static.flickr.com/1215/782232587_7f239c2a4f.jpg" class="flickr-photo" /></a><br />
There has been a lot of fantastic coverage of the <a href="http://blogphiladelphia.net/">BlogPhiladelphia</a> (un)conference that just went down last thursday and friday. It almost feels unnecessary to add another. But, here goes&#8230;</p>
<p>We had a blast attending this conference. We met some new people, deepened relationships with others, and in general had a great time. There was so much positive energy flowing at the conference and there is even more flowing now as this gathering reverberates through the internet waves.</p>
<p>Philadelphia deserves this attention. As a sincere lover of Philadelphia, I could not be any happier.</p>
<p>Many of us have been preparing for this conference, since we had every intention of making this a special event. We wanted to show off our city, our community and our geekiness, if you will. I think we <a href="http://www.robertsandie.com/2007/07/15/blog-philadelphia-recap-why-i-must-move-to-philadelphia/">did a pretty good job of that</a> as Rob Sandie of <a href="http://www.viddler.com/">Viddler</a> made pretty clear.</p>
<p>We are not done. We are going to continue to build this interactive community. Collectively we intend to support innovation and entrepreneurial activity in this region by growing things like <a href="http://independentshall.org/">Independents Hall</a>. <a href="http://junto.org">Junto</a>, and <a href="http://likemind.us/">LikeMind</a>. There are so many other things going on, it is getting hard to keep up.</p>
<p>A lot of great connections have been made, collaborative projects have started, and most importantly, we are having a lot of fun right now.</p>
<p>At the conference, I had a lot of really sincere and meaningful conversations. At an event like this, you are lucky to have a couple good conversations mixed in with general schmoozing and superficial interactions. This was not the case for me at BlogPhiladelphia. The quality of the banter was just so great. I didn&#8217;t feel like I was being sold to or fleeced. There was a sense of sharing the pervaded.</p>
<p>For next year, we would love to see more break-out rooms so there can be even more of this type of activity. We would also love to expand the format to so we can legitimately talk about more than blogs. The open grid sessions opened up the conversation a bit, let&#8217;s do that even more next year. We are doing some cool new/social media in Philadelphia and it is not all blogs.</p>
<p>It might be nice to have some keynote type of presenations to compliment the discussions, as well.</p>
<p>I want to thank <a href="http://pikpr.blogspot.com/">Annie Heckenberger</a> of <a href="http://www.gophila.com/">GPTMC</a> to have the foresight to get this whole thing rolling and for running a <a href="http://flickr.com/groups/blogphilly/">fantastic event</a>. Much kudos to <a href="http://www.dangerouslyawesome.com/">Alex Hillman</a> for being a believer in the Philadelphia media community.</p>
<p>P.S. The pre-BlogPhiladelphia Party  at our <a href="http://flickr.com/photos/punkavenue/sets/72157600876428008/">studio</a> was a <a href="http://flickr.com/photos/stellargirl/sets/72157600772790931/">blast</a>.</p>
<p><a href="http://www.flickr.com/photos/punkavenue/839998732/" title="Photo Sharing"><img src="http://farm2.static.flickr.com/1093/839998732_effdc6868c.jpg" alt="blogphillypunk" height="500" width="323" /></a></p>
]]></content:encoded>
			<wfw:commentRss>http://window.punkave.com/2007/07/17/blogphiladelphia-heck-yeah/feed/</wfw:commentRss>
		<slash:comments>6</slash:comments>
		</item>
	</channel>
</rss>
