<?xml version="1.0" encoding="utf-8"?>
<feed xmlns="http://www.w3.org/2005/Atom">

  <title><![CDATA[walkah]]></title>
  <link href="http://walkah.net/atom.xml" rel="self"/>
  <link href="http://walkah.net/"/>
  <updated>2012-04-13T16:54:16-04:00</updated>
  <id>http://walkah.net/</id>
  <author>
    <name><![CDATA[James Walker]]></name>
    
  </author>

  
  <entry>
    <title type="html"><![CDATA[PHP Xdebug with Vagrant]]></title>
    <link href="http://walkah.net/blog/debugging-php-with-vagrant"/>
    <updated>2012-01-12T00:00:00-05:00</updated>
    <id>http://walkah.net/blog/debugging-php-with-vagrant</id>
    <content type="html"><![CDATA[<p>I've been asked a few times about getting <a href="http://xdebug.org/">Xdebug</a> for PHP working in a <a href="http://vagrantup.com/">Vagrant</a> environment. Most people tend to use Xdebug on localhost and IDEs are often able to configure themselves to work without much hassle in that environment. However, putting PHP in a virtual machine makes the setup a little trickier.</p>

<p>Xdebug works by using a protocol known as <a href="http://xdebug.org/docs-dbgp.php">DBGP</a> over TCP. What makes it slightly confusing, however, is the protocol flow happens in <em>reverse</em> from how most developers are used working: the server makes connections to your "client" (e.g. your IDE). Your debugger actually listens on a port (9000 by default), and Xdebug connects to that. Understanding that makes the setup make a little more sense.</p>

<p>Vagrant generally uses "Host-Only Networking" with an IP for the virtual machine of "33.33.33.10" (see the <a href="http://vagrantup.com/docs/host_only_networking.html">documentation</a>). In this scenario, your host machine (i.e. where your debugger will be listening on port 9000) is accessible from the VM at 33.33.33.1. That means, we need to tell Xdebug to make it's connections to 33.33.33.1 on port 9000. This can be handled by the following php configuration:</p>

<pre>
xdebug.default_enable=1
xdebug.remote_enable=1
xdebug.remote_handler=dbgp
xdebug.remote_host=33.33.33.1
xdebug.remote_port=9000
xdebug.remote_autostart=0
</pre>


<p>I handle this configuration with this <a href="https://github.com/walkah/chef-repo/blob/master/site-cookbooks/drupal/templates/default/xdebug.ini.erb">xdebug.ini.erb</a> template in my <a href="https://github.com/walkah/chef-repo">chef-repo</a>.</p>

<p>I have found that this works quite well with my Emacs setup using <a href="http://code.google.com/p/geben-on-emacs/">geben</a>, but I've not yet tested it with other IDEs.</p>
]]></content>
  </entry>
  
  <entry>
    <title type="html"><![CDATA[PHUG Free Drupal Workshop!]]></title>
    <link href="http://walkah.net/blog/walkah/phug-free-drupal-workshop"/>
    <updated>2008-04-01T00:00:00-04:00</updated>
    <id>http://walkah.net/blog/walkah/phug-free-drupal-workshop</id>
    <content type="html"><![CDATA[<p><a href="http://phug.ca/index.php/drupal-basics/"><img src="http://walkah.net/sites/walkah.net/files/phug-workshops.png" alt="PHUG + RMI Drupal Workshop" /></a>I know it's late notice, but I'll be hosting a free workshop tomorrow night, <strong>April 2nd at 7pm</strong> as part of the <a href="http://phug.ca/index.php/rmi/">PHUG + RMI</a> free workshops.</p>


<p>For those of you here in Toronto that are unaware, <a href="http://phug.ca/">PHUG</a> is the new local PHP User Group. They have a lot of momentum and are an exciting group - I look forward to more collaboration in the future betweeh PHUG and <a href="http://groups.drupal.org/toronto">DUG-TO</a>.</p>


<p>The workshop will be <a href="http://phug.ca/index.php/drupal-basics/">Drupal Basics</a> - a crash course in everyone's favourite CMS. We'll look at the core Drupal concepts, how building sites in Drupal works, and some basic theming tricks.</p>


<p>It's a free event, but space is limited so please <a href="http://phug.ca/workshops/register_form.php">register</a>. Looking forward to meeting some new faces!</p>


<p><strong>UPDATE:</strong> P.S. this isn't an April Fool's joke ;)</p>

]]></content>
  </entry>
  
  <entry>
    <title type="html"><![CDATA[Komodo IDE take two]]></title>
    <link href="http://walkah.net/blog/walkah/komodo-ide-take-two"/>
    <updated>2007-08-02T00:00:00-04:00</updated>
    <id>http://walkah.net/blog/walkah/komodo-ide-take-two</id>
    <content type="html"><![CDATA[<p>I blogged a while back about <a href="http://walkah.net/blog/walkah/komodo-4-0-im-trying">trying out komodo 4.0</a>, the development IDE from <a href="http://www.activestate.com/">ActiveState</a>. In the end, to be honest, I just couldn't really get into it. One of my biggest reasons for not sticking with it was performance: it's tough to learn a new app if it's routinely slow and unresponsive. However, <a href="http://walkah.net/blog/walkah/komodo-4-0-im-trying#comment-30892">JeffG pointed out</a> in a comment that Komodo worked much better on Intel Macs than PPC. So, I thought I'd give it a whirl on the new macbook pro.</p>


<p>The difference in performance is <em>amazing</em>. I can actually use this tool now as it was meant to be used! With apologies to <a href="http://sachachua.com/">Sacha</a> and all the <a href="http://www.gnu.org/software/emacs/">emacs people</a>, I've been using Komodo IDE for all of my Drupal development for the past 2 weeks and I like it. I know it's some sort of lost geek cred, but function name completion (not just for PHP functions, but Drupal internal functions as well!), integrated debugging and all that stuff really can make your life easier when it's working well.</p>


<p>But, naturally, wouldn't be a blog post if I didn't have a gripe or two - although these ones are minimal. So dear lazyweb:</p>


<p>I love the 'open/find toolbar' - but I can't for the life of me find a keyboard shortcut to focus the open file box there. (i.e. ctrl-i works for the find part, but what's the equivalent for the "open" box?). The one adjustment in moving from emacs is actually having to use a mouse. :(</p>


<p>The other one I actually <a href="http://community.activestate.com/forum-topic/svn-and-cvs-metafiles-con">asked in the support forum</a> (which runs drupal, of course), but the issue is for all of my client work I have drupal checkouts from CVS managed in subversion repositories. I actually, in these cases, would like Komodo to ignore the CVS meta-files and treat the project as using SVN. Any hints?</p>


<p>Anyway, Shane, Jeff and the whole Komodo crew: I just might be a convert. Congrats on your great work :)</p>

]]></content>
  </entry>
  
  <entry>
    <title type="html"><![CDATA[Komodo 4.0 : I'm trying]]></title>
    <link href="http://walkah.net/blog/walkah/komodo-4-0-im-trying"/>
    <updated>2007-03-05T00:00:00-05:00</updated>
    <id>http://walkah.net/blog/walkah/komodo-4-0-im-trying</id>
    <content type="html"><![CDATA[<p>One of the nice side effects of speaking last month at the <a href="http://vancouver.php.net/">Vancouver PHP conference</a>, was that one of the sponsors, <a href="http://www.activestate.com/">ActiveState</a>, gave out licenses for the latest version of <a href="http://www.activestate.com/products/komodo_ide/">Komodo</a> - their IDE. Now, traditionally, I've had a really hard time using anything other than <a href="http://www.gnu.org/software/emacs/">emacs</a> for software development. I started using emacs in university 10 or so years ago, and it's just comfortable now. But, <a href="http://www.lullabot.com/">some</a> drupal <a href="http://www.drupal4hu.com/node/33">developers</a> I know love it, so I'm giving it the ol' college try with Komodo. Here's how it's going:</p>


<p><strong>The Good</strong></p>


<ul>
<li>Komodo is built on <a href="http://www.mozilla.org/">Mozilla</a> technology. Why is that important? Well, it's a platform I believe in - that has to count for something, right? It also means that both projects can benefit each other, and Komodo is inherently cross-platform (something I still believe is important).</li>
<li>"Just works" debugging for PHP. Komodo works natively with <a href="http://xdebug.org/">xdebug</a> for PHP debugging, and it works - and works well. As someone who writes a lot of "web services" type software,  I see the value in being able to debug things when tools like <a href="http://php.net/var_dump">var_dump()</a> aren't readily accessible.</li>
<li>Some nice <a href="http://support.activestate.com/forum-topic/drupal-cix-replacement-ci">drupal-specific features</a> as well as using drupal for their <a href="http://support.activestate.com/">support site</a> - that's got to win them something ;)</a></li>
<li>Emacs key-bindings</li>
</ul>


<p><strong>The less good</strong></p>


<ul>
<li>Performance. I don't know how Firefox does it, but it's the one XUL application on my G4 Powerbook that isn't dog slow (even Thunderbird struggles a bit). I probably just need a faster computer, really.</li>
<li>Emacs keybindings: there's just lots I can't seem to do from the keyboard. Mice and I have never gotten along, and my powerbook's trackpad is even worse. I try to avoid them as much as possible. For example, I like to periodically CVS/SVN update my working copy. Yes, there is a keybinding for this action, but as far as I can tell, I have to click on the project in the left hand side to make sure the update happens for the whole project (otherwise it only happens on the current file). Region selection is another example.</li>
<li>Komodo is not free. Again, this is personal belief (religion?), but as much as I appreciate Komodo for using Mozilla, I don't like the fact that the useful version of Komodo is not free. Had I not received a license for free, I'm not sure I could justify the cost.</li>
</ul>


<p>All that said, I don't know that I've fully made up my mind yet. Because it's built on mozilla, Komodo is fully extensible - perhaps I could write extensions to make it just how I want it. Right now, however, I feel slow and clumsy in Komodo.</p>


<p>I'm going to keep trying - there is part of me that really wants to like it - but I'm not sold yet.</p>

]]></content>
  </entry>
  
  <entry>
    <title type="html"><![CDATA[Vancouver PHP Conference Wrapup]]></title>
    <link href="http://walkah.net/blog/walkah/vancouver-php-conference-wrapup"/>
    <updated>2007-02-14T00:00:00-05:00</updated>
    <id>http://walkah.net/blog/walkah/vancouver-php-conference-wrapup</id>
    <content type="html"><![CDATA[<p>Yesterday marked the end of the <a href="http://vancouver.php.net/">Vancouver PHP conference</a>, which was a lot of fun and went quite well (I thought). I led two sessions : one on <a href="http://openid.net/">OpenID</a> (with Johnny Bufu from <a href="http://www.sxip.com/">SXIP</a>). For those who don't know, I've been working a lot lately on getting OpenID support into Drupal - and it was nice to demo some of that work. I also covered how to use <a href="http://janrain.com/">JanRain's</a> <a href="http://www.openidenabled.com/openid/libraries/php">PHP Library</a> to OpenID-enable your PHP app (check out the <a href="http://walkah.net/files/vancouver-php-openid.pdf">slides here</a>).</p>


<p>I also led a session on beginning <a href="http://drupal.org/">Drupal</a> module development. Those of you who attended the DrupalCon in Brussels may remember this as the infamous <a href="http://drupal.org/node/86528">pants talk</a> - always a crowd pleaser ;)</p>


<p>Thanks a lot to the organizers and sponsors from Vancouver PHP, I had a great time. Oh, and a special thank to Shane from <a href="http://activestate.com">ActiveState</a> - part of the speaker shwag package was a license to <a href="http://www.activestate.com/products/komodo_ide/">Komodo IDE</a>. I've heard good things about the latest Komodo, can't wait to check it out.</p>

]]></content>
  </entry>
  
  <entry>
    <title type="html"><![CDATA[Vancouver PHP Conference 2007]]></title>
    <link href="http://walkah.net/blog/walkah/vancouver-php-conference-2007"/>
    <updated>2007-01-31T00:00:00-05:00</updated>
    <id>http://walkah.net/blog/walkah/vancouver-php-conference-2007</id>
    <content type="html"><![CDATA[<p>I've been meaning to post about this for a while, but in a couple weeks I'm headed back to Vancouver to present at the <a href="http://vancouver.php.net/php_conference">Vancouver PHP Conference</a>, February 12th and 13th. I'll actually be giving two talks (back to back even): the first will be a joint presentation with <a href="http://www.sxip.com/">SXIP</a> on <a href="http://openid.net/">OpenID</a> going through background and explanation and also looking at PHP code for openid (maybe even some <a href="http://drupal.org/project/openid">drupal code</a> ;). The second presentation - just me, sorry - will be an introduction to drupal development. Not to give anything away, but there may just be pants involved.</p>


<p>I should also note that fellow <a href="http://www.bryght.com/">bryght guy</a> and drupal ninja, <a href="http://www.acko.net/">Steven Wittens</a>, will be presenting. But, if that's not enough, there will also be some other PHP developers you may have heard of giving talks like <a href="http://lerdorf.com/bio.php">Rasmus</a>, <a href="http://derickrethans.nl/">Derick Rethans</a> and more - check the <a href="http://vancouver.php.net/confschedule">schedule</a> for the complete list. Now, go <a href="http://vancouver.php.net/register">register</a>.</p>

]]></content>
  </entry>
  
  <entry>
    <title type="html"><![CDATA[PHP 5.2 is out]]></title>
    <link href="http://walkah.net/blog/walkah/php-5-2-out"/>
    <updated>2006-11-03T00:00:00-05:00</updated>
    <id>http://walkah.net/blog/walkah/php-5-2-is-out</id>
    <content type="html"><![CDATA[<p>I don't usually blog much... and certainly not about things like releases of new PHP versions. However, I think it's worth noting that <a href="http://www.php.net/releases/5_2_0.php">php 5.2</a> has been released. From the <a href="http://ilia.ws/archives/142-PHP-5.2.0-is-finally-out!.html">sounds of things</a>, and certainly from my minimal experiments with it, it seems that php 5 may have finally arrived.</p>


<p>Anyone out there running php5 in heavy (large scale) production? Is it time to move beyond the safe "known entity" comforts of php4?</p>

]]></content>
  </entry>
  
</feed>

