<?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>klog</title>
	<atom:link href="http://verens.com/feed/" rel="self" type="application/rss+xml" />
	<link>http://verens.com</link>
	<description>php, linux, ajax, javascript, kae verens</description>
	<lastBuildDate>Mon, 01 Feb 2010 10:57:06 +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>CMS Design using PHP and jQuery</title>
		<link>http://verens.com/archives/2010/02/01/cms-design-using-php-and-jquery/</link>
		<comments>http://verens.com/archives/2010/02/01/cms-design-using-php-and-jquery/#comments</comments>
		<pubDate>Mon, 01 Feb 2010 10:55:10 +0000</pubDate>
		<dc:creator>Kae Verens</dc:creator>
				<category><![CDATA[book]]></category>
		<category><![CDATA[databases]]></category>
		<category><![CDATA[javascript]]></category>
		<category><![CDATA[jquery]]></category>
		<category><![CDATA[mysql]]></category>
		<category><![CDATA[packt]]></category>
		<category><![CDATA[php]]></category>
		<category><![CDATA[programming]]></category>
		<category><![CDATA[web development]]></category>
		<category><![CDATA[webme]]></category>

		<guid isPermaLink="false">http://verens.com/?p=960</guid>
		<description><![CDATA[<p>I&#8217;m happy this week. Last week, I spent some time and organised myself a bit more. In work, things are going smoothly &#8211; managed to get over a tricky piece of work and the rest is simply a list of small tasks.</p>
<p>For the last few weeks, I&#8217;ve been emailing and messaging Darshana at Packt Publishing, [...]]]></description>
			<content:encoded><![CDATA[<p>I&#8217;m happy this week. Last week, I spent some time and organised myself a bit more. In work, things are going smoothly &#8211; managed to get over a tricky piece of work and the rest is simply a list of small tasks.</p>
<p>For the last few weeks, I&#8217;ve been emailing and messaging Darshana at <a href="http://packtpub.com/">Packt Publishing</a>, about writing a second book (<a href="http://www.packtpub.com/jquery-1-3-with-php/book">jQuery 1.3 with PHP</a> is going very well &#8211; <a href="http://verens.com/archives/2009/12/13/jquery-1-3-with-php-buy-it/">list of reviews</a>).</p>
<p>I initially wanted to write about file management, to explain how <a href="http://kfm.verens.com/">KFM</a> works, and to help force me to improve on it. But there&#8217;s just not enough of an interested market in that &#8211; it&#8217;s too specialised.</p>
<p>So instead, I&#8217;ll be writing about CMS design using PHP and jQuery.</p>
<p><a href="http://webworks.ie/">We (webworks.ie)</a> have a CMS engine which we&#8217;ve written and improved for the last 6 or so years. We&#8217;ve open-sourced it a number of times, but never managed to generate much interest in it. We never had the time to spend on publicising it.</p>
<p>The book will not be specifically about that engine, but rather about the concepts that went into creating it &#8211; how a CMS works, how to manage plugins, administration, user management, and all the other little bits and pieces that every PHP developer needs to eventually address.</p>
<p>By way of explanation, I will be demonstrating various parts of our CMS, and explaining how and why it was built that way. I will be closely examining the other major CMSes as well, and giving alternative methods where good ones exist.</p>
<p>The proposed chapter list is:</p>
<ol>
<li>Introduction</li>
<li>CMS core design</li>
<li>User management and access control</li>
<li>Page creation and Navigation</li>
<li>Template Management</li>
<li>Plugins</li>
<li>Form creation</li>
<li>Image Gallery</li>
<li>Panels</li>
<li>Search and Polls</li>
<li>RSS and News</li>
<li>Online Store</li>
<li>Products</li>
</ol>
<p>I&#8217;m really excited about this project!</p>
]]></content:encoded>
			<wfw:commentRss>http://verens.com/archives/2010/02/01/cms-design-using-php-and-jquery/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>what&#8217;s up!</title>
		<link>http://verens.com/archives/2010/01/27/whats-up/</link>
		<comments>http://verens.com/archives/2010/01/27/whats-up/#comments</comments>
		<pubDate>Wed, 27 Jan 2010 09:35:53 +0000</pubDate>
		<dc:creator>Kae Verens</dc:creator>
				<category><![CDATA[ajax]]></category>
		<category><![CDATA[areyoumad]]></category>
		<category><![CDATA[book]]></category>
		<category><![CDATA[depression]]></category>
		<category><![CDATA[general]]></category>
		<category><![CDATA[kfm]]></category>
		<category><![CDATA[life]]></category>
		<category><![CDATA[music]]></category>
		<category><![CDATA[packt]]></category>
		<category><![CDATA[php]]></category>
		<category><![CDATA[piano]]></category>
		<category><![CDATA[programming]]></category>
		<category><![CDATA[web development]]></category>

		<guid isPermaLink="false">http://verens.com/?p=958</guid>
		<description><![CDATA[<p>Short run-down of what I&#8217;m doing lately: nothing.</p>
<p>Less short: I&#8217;m trying to get work out the door, get a good run at some personal projects, pass grade 2 piano, get organised, and generally improve my lot.</p>
<p>None of this is working. I think the &#8220;get organised&#8221; bit is the most important, as it will help the [...]]]></description>
			<content:encoded><![CDATA[<p>Short run-down of what I&#8217;m doing lately: nothing.</p>
<p>Less short: I&#8217;m trying to get work out the door, get a good run at some personal projects, pass grade 2 piano, get organised, and generally improve my lot.</p>
<p>None of this is working. I think the &#8220;get organised&#8221; bit is the most important, as it will help the rest of it fall into place.</p>
<p>I usually only post about web-development-related topics here, as that&#8217;s the only subject where I feel I can contribute something new and interesting, so I tend to not talk about other stuff. But sometimes, rattling off the current state of the head is good for clearing it.</p>
<p>In work, I can&#8217;t really complain &#8211; we have a number of largish projects which are slowly creeping towards completion. The hardest thing about them is getting information from the clients, and then a week or two later being told that half the information is not required. I guess my main complaint at work is the inexorably slow completion rate.</p>
<p>On the personal projects side:</p>
<p>There are still a number of small bugs in <a href="http://kfm.verens.com/">KFM 1.4</a>, and either I don&#8217;t have the time to get to them, or there is no enough information to recreate the bug and the submitter doesn&#8217;t give me access to their copy so I can&#8217;t see it from their side.</p>
<p>KFM 2 has been halted for a while &#8211; the idea is huge, but I simply don&#8217;t have the time, and no-one is clambering for it. I&#8217;ll get to it when I have time, but I might have to approach it by evolving KFM 1.x into meeting what I wanted, instead of the original goal of building KFM 2 from scratch.</p>
<p>I started a new project, <a href="http://www.oddjobs4locals.com/">OddJobs4Locals</a> two weeks back, and got a good two-day run at it, then time got ahead of me again. I think this will be a good one, when I can complete it. Useful for students, people with a little spare time, or simply people that just want to make a little extra cash. Not yet working, but it will be soon, I hope&#8230; This is doubly interesting to me, as it is done purely through AJAX, so it will be easy to do a smart-phone client or a desktop client when the time comes.</p>
<p>I&#8217;m in the back/forth stage of working with Packt publishing to see if they want me to do a second book (<a href="http://verens.com/archives/2009/12/13/jquery-1-3-with-php-buy-it/">the first one has no bad reviews at all</a>). We&#8217;ve mostly agreed on a table of contents, and I&#8217;m just trying to get the time to combine a few of the smaller chapters together.</p>
<p>On the piano, I&#8217;ve been ready for the grade 2 exam since November, and am still waiting to see if there will be an exam near me any time soon &#8211; I hate the effort that goes into travelling (I have a family, and no car). I was hoping to do a grade every 6 months. It looks like this might not be possible, despite me being ready for it&#8230; The tunes I&#8217;m doing for it are <a href="http://www.youtube.com/watch?v=ASdAX7ws_H8">Beethoven&#8217;s Sonatina in G Major</a>, <a href="http://www.youtube.com/watch?v=FQFRx-y2tJc">a waltz by Bela Bartok</a>, and Boys And Girls Come Out To Samba, by Terence Greaves &#8211; by the way, I don&#8217;t like those videos; there are no dynamics in any of them, and I can hear a number of mistakes as well. No video apparently of the Terence Greaves one.</p>
<p>As for organisation&#8230; well I guess I&#8217;d better start working with Mantis again.</p>
<p>My lot will have to wait &#8211; I&#8217;ve a load of work to get done before it <em>can</em> improve.</p>
<p>Meh. Depression taking hold again.</p>
]]></content:encoded>
			<wfw:commentRss>http://verens.com/archives/2010/01/27/whats-up/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>win a copy of jQuery 1.3 With PHP</title>
		<link>http://verens.com/archives/2010/01/07/win-a-copy-of-jquery-1-3-with-php/</link>
		<comments>http://verens.com/archives/2010/01/07/win-a-copy-of-jquery-1-3-with-php/#comments</comments>
		<pubDate>Thu, 07 Jan 2010 11:16:51 +0000</pubDate>
		<dc:creator>Kae Verens</dc:creator>
				<category><![CDATA[ajax]]></category>
		<category><![CDATA[book]]></category>
		<category><![CDATA[javascript]]></category>
		<category><![CDATA[jquery]]></category>
		<category><![CDATA[packt]]></category>
		<category><![CDATA[php]]></category>
		<category><![CDATA[programming]]></category>
		<category><![CDATA[reviews]]></category>
		<category><![CDATA[web development]]></category>

		<guid isPermaLink="false">http://verens.com/?p=956</guid>
		<description><![CDATA[<p>I&#8217;ve just noticed that a site is running a competition to give away a copy of my book.</p>
<p>competition page</p>
<p>All you need to do is leave a comment explaining how you intend to use jQuery in your next project.</p>
<p>If you want to see reviews of the book, I&#8217;m maintaining a list of reviews here.</p>
]]></description>
			<content:encoded><![CDATA[<p>I&#8217;ve just noticed that a site is running a competition to give away a copy of my book.</p>
<p><a href="http://speckyboy.com/2010/01/06/jquery-1-3-with-php-free-book-giveaway-comment-to-win/">competition page</a></p>
<p>All you need to do is leave a comment explaining how you intend to use jQuery in your next project.</p>
<p>If you want to see reviews of the book, I&#8217;m maintaining <a href="http://verens.com/archives/2009/12/13/jquery-1-3-with-php-buy-it/">a list of reviews here</a>.</p>
]]></content:encoded>
			<wfw:commentRss>http://verens.com/archives/2010/01/07/win-a-copy-of-jquery-1-3-with-php/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>blasphemy!</title>
		<link>http://verens.com/archives/2010/01/02/blasphemy/</link>
		<comments>http://verens.com/archives/2010/01/02/blasphemy/#comments</comments>
		<pubDate>Fri, 01 Jan 2010 23:27:21 +0000</pubDate>
		<dc:creator>Kae Verens</dc:creator>
				<category><![CDATA[areyoumad]]></category>
		<category><![CDATA[life]]></category>
		<category><![CDATA[philosophy]]></category>

		<guid isPermaLink="false">http://verens.com/?p=952</guid>
		<description><![CDATA[<p>&#8220;Jesus is the only son of God, and if you don&#8217;t follow him, you will not be getting through the gates into Heaven&#8221;.</p>
<p>Anything wrong with that? Yes &#8211; it&#8217;s blasphemous, to just about every religion on Earth which is not Christian.</p>
<p>And so, Dermot Ahern, in his infinite wisdom, has just made the central tenet of [...]]]></description>
			<content:encoded><![CDATA[<p>&#8220;Jesus is the only son of God, and if you don&#8217;t follow him, you will not be getting through the gates into Heaven&#8221;.</p>
<p>Anything wrong with that? Yes &#8211; it&#8217;s blasphemous, to just about every religion on Earth which is <em>not</em> Christian.</p>
<p>And so, Dermot Ahern, in his infinite wisdom, has <a href="http://blasphemy.ie/2010/01/01/atheist-ireland-publishes-25-blasphemous-quotes/">just made the central tenet of the religion of one third of the entire planet illegal</a>.</p>
<p>Well done, sir. Fucking genius idea, that.</p>
<p>How about this one then &#8211; &#8220;Jesus is <em>not</em> the son of God&#8221;. Now I&#8217;m blaspheming against Christianity.</p>
<p>There&#8217;s absolutely no way to win against this except to be completely silent and never discuss what you believe with anyone at all. And that means it wasn&#8217;t just Christianity that the idiot has made illegal to speak about, but <em>all</em> religions.</p>
<p>By the way, I&#8217;m an atheist. I believe in thinking about what is &#8220;true&#8221;, and in discussing it with people that are interested, and in not pushing my own beliefs on others.</p>
<p>I hear the door knocking &#8211; the thought police are here to take me away. Pray for me&#8230;</p>
]]></content:encoded>
			<wfw:commentRss>http://verens.com/archives/2010/01/02/blasphemy/feed/</wfw:commentRss>
		<slash:comments>3</slash:comments>
		</item>
		<item>
		<title>multiple file uploads using HTML5</title>
		<link>http://verens.com/archives/2009/12/28/multiple-file-uploads-using-html5/</link>
		<comments>http://verens.com/archives/2009/12/28/multiple-file-uploads-using-html5/#comments</comments>
		<pubDate>Mon, 28 Dec 2009 16:37:38 +0000</pubDate>
		<dc:creator>Kae Verens</dc:creator>
				<category><![CDATA[ajax]]></category>
		<category><![CDATA[javascript]]></category>
		<category><![CDATA[kfm]]></category>
		<category><![CDATA[php]]></category>
		<category><![CDATA[programming]]></category>
		<category><![CDATA[web development]]></category>

		<guid isPermaLink="false">http://verens.com/?p=945</guid>
		<description><![CDATA[<p>As a response to a reported bug where Chrome was taking ages to load up a flash multiple-file uploader, I&#8217;ve updated KFM to use HTML5&#8217;s multiple-file input box where possible.</p>
<p>To do this, first create the element:</p>

  var input=document.createElement('input');
  input.type='file'; // use old-style JavaScript method to make sure all browsers respect it
  input.name='kfm_file';

<p>Notice [...]]]></description>
			<content:encoded><![CDATA[<p>As a response to a reported bug where <a href="http://code.google.com/p/kfm/issues/detail?id=37">Chrome was taking ages</a> to load up a flash multiple-file uploader, I&#8217;ve updated KFM to use HTML5&#8217;s multiple-file input box where possible.</p>
<p>To do this, first create the element:</p>
<pre class="javascript">
  var input=document.createElement('input');
  input.type='file'; // use old-style JavaScript method to make sure all browsers respect it
  input.name='kfm_file';
</pre>
<p>Notice that we&#8217;re not using <code>setAttribute</code> to set the type and name &#8211; that&#8217;s a DOM method which works in most browsers but not (of course&#8230;) in Internet Explorer 6, where it has bugs.</p>
<p>And now, we tell the input to use the multiple-upload method. We use <code>.setAttribute</code> in this case because we only expect newer browsers to succeed with it.</p>
<pre class="javascript">
  input.setAttribute('multiple','multiple');
  if(input.multiple)input.name='kfm_file[]';
</pre>
<p>In the second line, we check to see if the element is now marked as a multiple-uploader (most current browsers will not succeed in this), and if it does, then rename the input element by adding a <code>[]</code> to the end. If this is not done, then the server will only see the first file which is uploaded.</p>
<p>That&#8217;s the client-side done. This will only be visible in newer browsers such as Chrome, Safari 4, Firefox 3.6. I expect Internet Explorer will eventually catch up by 2020 or so.</p>
<p>If you&#8217;re doing this in pure HTML, then I suppose this would be good enough for you:</p>
<pre>
&lt;input type="file" multiple="multiple" name="file[]" /&gt;
</pre>
<p>In this case, you must put the <code>[]</code> in the name in all cases.</p>
<p>On the server-side, you need to write your upload receiver to expect either a single element, or an array.</p>
<p>For some really goddamned stupid reason, when multiple files are uploaded to PHP, the results are interlaced in a really crappy and awkward manner (I don&#8217;t like it).</p>
<p>Instead of something logical and easy to use, like this:</p>
<pre class="php">
array(
  [0] => array(
    'name' =&gt; 'file1.txt',
    'tmp_name' =&gt; '/tmp/abcdef'
    ....
  ),
  [1] => array(
    'name' =&gt; 'file2.txt',
    'tmp_name' =&gt; '/tmp/ghijkl'
    ....
  )
);
</pre>
<p>You get this&#8230;</p>
<pre>
array(
  'name' =&gt; array(
    [0] =&gt; 'file1.txt',
    [1] =&gt; 'file2.txt'
  ),
  'tmp_name' =&gt; array(
    [0] =&gt; '/tmp/abcdef',
    [1] =&gt; '/tmp/ghijkl'
  ),
  ...
);
</pre>
<p>While that looks at first glance to be easy to use, it&#8217;s not. You can&#8217;t do a simple &#8220;<code>foreach($_FILES['kfm_file'] as $file)</code>&#8221; and expect the above to be usable at all&#8230;</p>
<p>So, the first thing I do, is to check for the $_FILES['kfm_file'], and convert it into the first form above, which is very easy to work with:</p>
<pre class="php">
$files=array();
$fdata=$_FILES['kfm_file'];
if(is_array($fdata['name'])){
 for($i=0;$i&lt;count($fdata['name']);++$i){
  $files[]=array(
   'name'    =&gt;$fdata['name'][$i],
   'tmp_name'=&gt;$fdata['tmp_name'][$i],
  );
 }
}
else $files[]=$fdata;
</pre>
<p>In my own case, I&#8217;m only interested in the name and tmp_name variables, so that&#8217;s all I set up.</p>
<p>Now you can do a <code>foreach</code> on <code>$files</code> and treat them all individually.</p>
<pre class="php">
foreach($files as $file){
  // uploaded location of file is $file['tmp_name']
  // original filename of file is $file['file']
}
</pre>
<p>If you want to see this in KFM, have a look at the <a href="http://kfm.verens.com/demo/trunk/index.php?lang=en">nightly-updated demo</a> tomorrow, or <a href="http://code.google.com/p/kfm/source/checkout">download from SVN</a> right now.</p>
<p>oh &#8211; and <a href="http://www.amazon.co.uk/JQuery-1-3-PHP-Kae-Verens/dp/1847196985">buy my book!</a></p>
]]></content:encoded>
			<wfw:commentRss>http://verens.com/archives/2009/12/28/multiple-file-uploads-using-html5/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>novelrank</title>
		<link>http://verens.com/archives/2009/12/17/novelrank/</link>
		<comments>http://verens.com/archives/2009/12/17/novelrank/#comments</comments>
		<pubDate>Thu, 17 Dec 2009 14:00:59 +0000</pubDate>
		<dc:creator>Kae Verens</dc:creator>
				<category><![CDATA[ajax]]></category>
		<category><![CDATA[book]]></category>
		<category><![CDATA[javascript]]></category>
		<category><![CDATA[jquery]]></category>
		<category><![CDATA[packt]]></category>
		<category><![CDATA[php]]></category>
		<category><![CDATA[programming]]></category>
		<category><![CDATA[reviews]]></category>
		<category><![CDATA[web development]]></category>

		<guid isPermaLink="false">http://verens.com/?p=942</guid>
		<description><![CDATA[<p>Because it&#8217;s difficult to know exactly how well my book is doing, I went looking for online apps that might be able to help.</p>
<p>I came across NovelRank a few weeks ago, which keeps track of your Amazon SalesRank and uses the fluctuations in the value to try figure out when a sale happens.</p>
<p>At first I [...]]]></description>
			<content:encoded><![CDATA[<p>Because it&#8217;s difficult to know exactly how well my book is doing, I went looking for online apps that might be able to help.</p>
<p>I came across <a href="http://www.novelrank.com/">NovelRank</a> a few weeks ago, which keeps track of your Amazon SalesRank and uses the fluctuations in the value to try figure out when a sale happens.</p>
<p>At first I was a bit disappointed, as my own ratings should not many sales going on, but I realised that this was because there were no reviews out there so people a) didn&#8217;t know about the book, and b) didn&#8217;t know if it was worth buying.</p>
<p>Since <a href="http://verens.com/archives/2009/12/13/jquery-1-3-with-php-buy-it/">the reviews have started coming in</a>, sales have picked up, as can be seen in the <a href="http://www.novelrank.com/asin/1847196985">NovelRank graph for my book</a>.</p>
<p>I like this application &#8211; it&#8217;s a simple idea, and the author has made it freely available (I assume he makes money from affiliate links).</p>
<p>Want to see it in action? Buy <a href="http://www.amazon.co.uk/gp/product/1847196985?ie=UTF8&#038;tag=klog-21&#038;linkCode=as2&#038;camp=1634&#038;creative=19450&#038;creativeASIN=1847196985">JQuery 1.3 with PHP</a><img src="http://www.assoc-amazon.co.uk/e/ir?t=klog-21&#038;l=as2&#038;o=2&#038;a=1847196985" width="1" height="1" border="0" alt="" style="border:none !important; margin:0px !important;" /> and then view <a href="http://www.novelrank.com/asin/1847196985">NovelRank graph for my book</a> the graph a few hours later to see your very own blip appear on it.</p>
<p>It&#8217;s interesting to see that the book is not selling <em>at all</em> in Canada. What&#8217;s wrong with you Canadians?? <img src='http://verens.com/wp-includes/images/smilies/icon_wink.gif' alt=';-)' class='wp-smiley' /> </p>
<p>On a very related note, I&#8217;m in talks with <a href="http://www.packtpub.com/">Packt</a> to produce another book. More on this later when details are more concrete.</p>
]]></content:encoded>
			<wfw:commentRss>http://verens.com/archives/2009/12/17/novelrank/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>jQuery 1.3 With PHP; buy it!</title>
		<link>http://verens.com/archives/2009/12/13/jquery-1-3-with-php-buy-it/</link>
		<comments>http://verens.com/archives/2009/12/13/jquery-1-3-with-php-buy-it/#comments</comments>
		<pubDate>Sun, 13 Dec 2009 17:35:18 +0000</pubDate>
		<dc:creator>Kae Verens</dc:creator>
				<category><![CDATA[book]]></category>
		<category><![CDATA[javascript]]></category>
		<category><![CDATA[jquery]]></category>
		<category><![CDATA[packt]]></category>
		<category><![CDATA[php]]></category>
		<category><![CDATA[programming]]></category>
		<category><![CDATA[reviews]]></category>
		<category><![CDATA[web development]]></category>

		<guid isPermaLink="false">http://verens.com/?p=929</guid>
		<description><![CDATA[<p></p>
<p>Christmas is coming, as most of us (especially parents and people that have wallets) know, so it&#8217;s time for ye all to dig deep and buy the perfect gift for that favourite web developer in your life.</p>
<p>Not knowing what that perfect gift could possibly be, I&#8217;ll recommend instead that you invest in a copy of [...]]]></description>
			<content:encoded><![CDATA[<p><iframe src="http://rcm-uk.amazon.co.uk/e/cm?lt1=_blank&#038;bc1=000000&#038;IS2=1&#038;bg1=FFFFFF&#038;fc1=000000&#038;lc1=0000FF&#038;t=klog-21&#038;o=2&#038;p=8&#038;l=as1&#038;m=amazon&#038;f=ifr&#038;md=0M5A6TN3AXP2JHJBWT02&#038;asins=1847196985" style="float:left;margin:5px;width:120px;height:240px;" scrolling="no" marginwidth="0" marginheight="0" frameborder="0"></iframe></p>
<p>Christmas is coming, as most of us (especially parents and people that have wallets) know, so it&#8217;s time for ye all to dig deep and buy the perfect gift for that favourite web developer in your life.</p>
<p>Not knowing what that perfect gift could possibly be, I&#8217;ll recommend instead that you invest in a copy of my book, <a href="http://www.amazon.co.uk/gp/product/1847196985?ie=UTF8&#038;tag=klog-21&#038;linkCode=as2&#038;camp=1634&#038;creative=19450&#038;creativeASIN=1847196985">JQuery 1.3 with PHP</a><img src="http://www.assoc-amazon.co.uk/e/ir?t=klog-21&#038;l=as2&#038;o=2&#038;a=1847196985" width="1" height="1" border="0" alt="" style="border:none !important; margin:0px !important;" />.</p>
<p>Reviews are just starting to come in. I only know of two on-line ones so far, my favourite of which is <a href="http://theodin.co.uk/blog/uncategorized/book-review-jquery-13-php.html">this one</a>:</p>
<blockquote style="clear:none"><p>The author does a great job of introducing complicated theories and breaking them down into manageable steps, whilst always taking very thorough considerations for applying jQuery knowledge into CMS ’s and web applications.</p></blockquote>
<p>I noticed that the same reviewer <a href="http://twitter.com/philipbeel/status/6530660818">posted this on Twitter</a>: <q>thoroughly impressed with reading jQuery 1.3 with PHP. writing a review on it, will be available soon!</q></p>
<p>The <a href="http://gafitescu.posterous.com/jquery-13-with-php">other one that I&#8217;m aware of</a> is more of a list of notes than a review. The only thing he says in general about the book is &#8220;Overall a good book.&#8221;</p>
<p>There are a few minor criticisms in the second review that I don&#8217;t agree with &#8211; that I didn&#8217;t use inline functions in all cases, didn&#8217;t use Google&#8217;s functions to load jQuery from its CDN, and used <code>document.getElementById</code> in some cases instead of using jQuery&#8217;s <code>$</code> function.</p>
<p>My reaction to those points are: inline functions are explained later in the book as I didn&#8217;t want to throw the reader head-first into understanding them, there&#8217;s no point in loading three libraries (google, jquery and jquery-ui) when you only need jquery and jquery-ui, and for the purposes of getting an element by its ID, <a href="http://stackoverflow.com/questions/1854859/jquery-performance-wise-what-is-faster-getelementbyid-or-jquery-selector"><code>document.getElementByID</code> is much quicker than <code>$</code></a>.</p>
<p>I think the <em>real</em> problem with my decisions with the above points is that, after having had them pointed out as mistakes, I feel I should really have explained more clearly in the book why I chose to do things in those ways in the first place. Well, that&#8217;s something for edition 2 <img src='http://verens.com/wp-includes/images/smilies/icon_biggrin.gif' alt=':-D' class='wp-smiley' /> </p>
<p>So far, though, the reactions are positive, and I hope this continues &#8211; there haven&#8217;t been any &#8220;this is crap&#8221; reviews so far, which is good.</p>
<p>I know of a few other people that are writing reviews, and can&#8217;t wait to see them. So reviewers, please do criticise it &#8211; it makes the end-product better.</p>
<p>And christmas shoppers, it&#8217;s a <em>great</em> book <img src='http://verens.com/wp-includes/images/smilies/icon_wink.gif' alt=';-)' class='wp-smiley' /> </p>
]]></content:encoded>
			<wfw:commentRss>http://verens.com/archives/2009/12/13/jquery-1-3-with-php-buy-it/feed/</wfw:commentRss>
		<slash:comments>9</slash:comments>
		</item>
		<item>
		<title>php.ie slowly upgrading</title>
		<link>http://verens.com/archives/2009/12/07/php-ie-slowly-upgrading/</link>
		<comments>http://verens.com/archives/2009/12/07/php-ie-slowly-upgrading/#comments</comments>
		<pubDate>Mon, 07 Dec 2009 21:49:24 +0000</pubDate>
		<dc:creator>Kae Verens</dc:creator>
				<category><![CDATA[book]]></category>
		<category><![CDATA[linux]]></category>
		<category><![CDATA[php]]></category>
		<category><![CDATA[programming]]></category>
		<category><![CDATA[web development]]></category>
		<category><![CDATA[webme]]></category>
		<category><![CDATA[webworks]]></category>

		<guid isPermaLink="false">http://verens.com/?p=926</guid>
		<description><![CDATA[<p>It&#8217;s been a while since I wrote anything vaguely technical. I guess it&#8217;s because I like to write only when there&#8217;s something new to say, and usually only if I have some new code to give away.</p>
<p>No new code today, but I can describe the recent work on php.ie (I&#8217;m the secretary of the Irish [...]]]></description>
			<content:encoded><![CDATA[<p>It&#8217;s been a while since I wrote anything vaguely technical. I guess it&#8217;s because I like to write only when there&#8217;s something new to say, and usually only if I have some new code to give away.</p>
<p>No new code today, but I can describe the recent work on <a href="http://www.php.ie/">php.ie</a> (I&#8217;m the secretary of the Irish PHP Users&#8217; Group).</p>
<p>So firstly, it was basically a static/brochure site for about a year, until we installed <a href="http://code.google.com/p/webworks-webme/">WebME</a> (written by <a href="http://www.webworks.ie/">me</a>!) as the CMS and created a skin for it so there&#8217;s only a tiny design difference. If you want to try out WebME, then download the SVN version from the google code site, or create a test site <a href="http://webme.eu/Free-Website">here</a> (uses a really old version of WebME &#8211; you&#8217;re better off using the SVN version).</p>
<p>Then, I started rewriting the right panel. Beforehand, it displayed recent <a href="http://twitter.com/">twitter</a> messages, but they&#8217;re not often put out so it was a bit of a wasted space.</p>
<p>The panel now uses a WebME widget which displays recent Twitter messages, emails from the <a href="http://php.ie/About-Us/Mailinglist">mailing list</a>, and posts from the <a href="http://forum.php.ie/">forum</a>.</p>
<p>Over the next few days, I&#8217;ll be adding a new News section to the site, and the message widget will be able to show new articles from <a href="http://planet.php.ie/">planet php.ie</a> and new jobs from the <a href="http://php.ie/Jobs">jobs</a> page.</p>
<p>I&#8217;m currently reading through Ken&#8217;s <a href="http://wiki.linux.ie/index.php/Website_TODO_list">linux.ie todo list</a> to see what I can appropriate for php.ie for its ongoing development.</p>
<p>Big thanks go to Michele and the team at <a href="http://www.blacknight.ie/">blacknight</a> for hosting the site.</p>
<p>Oh! Just a reminder, buy my book! <a href="http://www.amazon.co.uk/gp/product/1847196985?ie=UTF8&#038;tag=klog-21&#038;linkCode=as2&#038;camp=1634&#038;creative=19450&#038;creativeASIN=1847196985">JQuery 1.3 with PHP</a><img src="http://www.assoc-amazon.co.uk/e/ir?t=klog-21&#038;l=as2&#038;o=2&#038;a=1847196985" width="1" height="1" border="0" alt="" style="border:none !important; margin:0px !important;" /> &#8211; hasn&#8217;t been reviewed by anyone yet, as far as I know, but my own opinion is that it is worth having on your shelf if you are a PHP developer that wants to step into jQuery.</p>
]]></content:encoded>
			<wfw:commentRss>http://verens.com/archives/2009/12/07/php-ie-slowly-upgrading/feed/</wfw:commentRss>
		<slash:comments>3</slash:comments>
		</item>
		<item>
		<title>Graham Coxon at the Barbican</title>
		<link>http://verens.com/archives/2009/12/01/graham-coxon-at-the-barbican/</link>
		<comments>http://verens.com/archives/2009/12/01/graham-coxon-at-the-barbican/#comments</comments>
		<pubDate>Tue, 01 Dec 2009 11:54:18 +0000</pubDate>
		<dc:creator>Kae Verens</dc:creator>
				<category><![CDATA[bronwyn]]></category>
		<category><![CDATA[guitar]]></category>
		<category><![CDATA[music]]></category>

		<guid isPermaLink="false">http://verens.com/?p=916</guid>
		<description><![CDATA[<p></p>
<p>Bronwyn and myself went to the Barbican, London, on Saturday to watch Graham Coxon perform.</p>
<p>We both enjoyed the event. Bronwyn was excited to meet friends she had only spoken to online. Well, she&#8217;s been excited for the whole of the last week, but it&#8217;s all related!</p>
<p>London is big.</p>
<p>The weather was ok for the Friday and [...]]]></description>
			<content:encoded><![CDATA[<p><iframe src="http://rcm-uk.amazon.co.uk/e/cm?lt1=_blank&#038;bc1=000000&#038;IS2=1&#038;bg1=FFFFFF&#038;fc1=000000&#038;lc1=0000FF&#038;t=klog-21&#038;o=2&#038;p=8&#038;l=as1&#038;m=amazon&#038;f=ifr&#038;md=0M5A6TN3AXP2JHJBWT02&#038;asins=B0022NHJCK" style="width:120px;height:240px;float:left;margin:5px;" scrolling="no" marginwidth="0" marginheight="0" frameborder="0"></iframe></p>
<p>Bronwyn and myself went to the Barbican, London, on Saturday to watch Graham Coxon perform.</p>
<p>We both enjoyed the event. Bronwyn was excited to meet friends she had only spoken to online. Well, she&#8217;s been excited for the whole of the last week, but it&#8217;s all related!</p>
<p>London is big.</p>
<p>The weather was ok for the Friday and Saturday while we were wandering around taking in sights and sounds. We visited the National Gallery, and were handed a sheet saying a candle-lit baroque concert would be happening later, but it clashed with our previous plans.</p>
<p>Arrived at the Barbican. Bronwyn didn&#8217;t see any of her friends. We said we&#8217;d meet up around the bar, so that&#8217;s where we went, and sat opposite it.</p>
<p>We were there about five minutes when I spotted a huge amazing monstrosity of a drum-machine, <a href="http://www.felixsmachines.com/">Felix&#8217;s Machines</a>. You <em>have</em> to see the videos of that thing!</p>
<p>As I stood there, Simon from <a href="http://www.resignedband.com/">Resigned</a> (also the admin of the <a href="http://forums.grahamcoxon.co.uk/">Graham Coxon forum</a>) noticed me and waved to get my attention &#8211; ah, that&#8217;s where they are! We joined a group of Coxon fans.</p>
<p>We had two hours, so we gently infused ourselves thanks to the bar, with some opting for chips and complaining that you shouldn&#8217;t need to buy fish&amp;chips just to get some chips (as a vegetarian, I agree wholeheartedly with this, and not just through a hatred of waste).</p>
<p>The show was to start at 8, so we headed down and got our seats.</p>
<p>Simon had thoughtfully gotten us row G (haha &#8211; G for Graham. very good. ahem&#8230;), which had a walk-space directly in front of us, meaning we could stretch our legs and walk to the toilets without stepping on people&#8217;s heads.</p>
<p>Bronwyn decided a new piece of policy was to be created henceforth: when purchasing tickets, people should be measured for height, and really tall people should be confined to the back of the auditorium.</p>
<p>The band came out and the place became loud with cheers.</p>
<p>The sound engineers didn&#8217;t do the best job in the world. The band played brilliantly apart from a few minor hiccups, but some of the sound problems were distracting.</p>
<p>When Graham spoke, it was difficult to hear. I was afraid that his singing would be the same, but when he sings, he crouches close to the microphone, and when he talks, it&#8217;s like he&#8217;s unaware the mic is there.</p>
<p>Some of the songs were technical, involving a lot of finger-picking. An example is <a href="http://www.youtube.com/watch?v=0c-oNirk4zA">Sorrow&#8217;s Army</a>. Graham started out on that one, then Robyn Hitchcock joined in a few bars later. Robyn&#8217;s guitar, though, was louder, so it drowned out Graham&#8217;s playing. This was pointed out independently to me by Simon later on, so it wasn&#8217;t just my ears playing tricks.</p>
<p>There was a feedback problem later on at the beginning of one tune, which was quickly and cheerfully quelled and restarted.</p>
<p>One of the three female singers was <em>very</em> loud at points. I didn&#8217;t like that &#8211; it was like she was stealing the spotlight.</p>
<p>On the far left of the stage, Max Eastley was playing the Arc. At most points in the concert I couldn&#8217;t hear anything of what he was doing. Only in quiet songs with only one or two other instruments.</p>
<p>When the songs got loud, they got <i>very</i> loud. Graham was unintelligible at some points as he tried to sing above the sound of the other instruments.</p>
<p>Apart from these gripes (and they&#8217;re minor &#8211; Bronwyn doesn&#8217;t agree with any of the above points), I enjoyed the concert.</p>
<p>I think the only tune I didn&#8217;t like was the ending of Caspian Sea, where the band appeared to get stuck in a rut, repeating the same bar over and over and over.</p>
<p>I liked how the music was not perfectly in-tune or perfectly rhythmic, but was just a little off here and there. This gave the music a more natural and &#8220;used&#8221; feel, like an old rickety piano which is played when the pianist is surrounded by friends &#8211; you feel like he&#8217;s playing personally to you and it&#8217;s not a surgical procedure.</p>
<p>The concert was basically Graham&#8217;s latest album, <a href="http://www.amazon.co.uk/gp/product/B0022NHJCK?ie=UTF8&#038;tag=klog-21&#038;linkCode=as2&#038;camp=1634&#038;creative=19450&#038;creativeASIN=B0022NHJCK">The Spinning Top</a><img src="http://www.assoc-amazon.co.uk/e/ir?t=klog-21&#038;l=as2&#038;o=2&#038;a=B0022NHJCK" width="1" height="1" border="0" alt="" style="border:none !important; margin:0px !important;" />, with a few extra old songs played at the end.</p>
<p>One of the things I like about this album is the finger-picking. Graham has recently been trying to increase his finger-picking skills, inspired by his love of old blues and folk. His interest in <a href="http://www.amazon.co.uk/gp/redirect.html?ie=UTF8&#038;location=http%3A%2F%2Fwww.amazon.co.uk%2Fs%3Fie%3DUTF8%26x%3D0%26ref_%3Dnb%255Fss%26y%3D0%26field-keywords%3Dnick%2520drake%26url%3Dsearch-alias%253Dpopular&#038;tag=klog-21&#038;linkCode=ur2&#038;camp=1634&#038;creative=19450">Nick Drake</a><img src="https://www.assoc-amazon.co.uk/e/ir?t=klog-21&#038;l=ur2&#038;o=2" width="1" height="1" border="0" alt="" style="border:none !important; margin:0px !important;" /> really shines through in the singing, and <a href="http://www.amazon.co.uk/gp/redirect.html?ie=UTF8&#038;location=http%3A%2F%2Fwww.amazon.co.uk%2Fs%3Fie%3DUTF8%26x%3D0%26ref_%3Dnb%255Fss%26y%3D0%26field-keywords%3Dbert%2520jansch%26url%3Dsearch-alias%253Daps&#038;tag=klog-21&#038;linkCode=ur2&#038;camp=1634&#038;creative=19450">Bert Jansch</a><img src="https://www.assoc-amazon.co.uk/e/ir?t=klog-21&#038;l=ur2&#038;o=2" width="1" height="1" border="0" alt="" style="border:none !important; margin:0px !important;" /> (of <a href="http://www.amazon.co.uk/gp/redirect.html?ie=UTF8&#038;location=http%3A%2F%2Fwww.amazon.co.uk%2Fs%3Fie%3DUTF8%26x%3D0%26ref_%3Dnb%255Fss%26y%3D0%26field-keywords%3Dpentangle%26url%3Dsearch-alias%253Daps&#038;tag=klog-21&#038;linkCode=ur2&#038;camp=1634&#038;creative=19450">Pentangle</a><img src="https://www.assoc-amazon.co.uk/e/ir?t=klog-21&#038;l=ur2&#038;o=2" width="1" height="1" border="0" alt="" style="border:none !important; margin:0px !important;" />) in the playing.</p>
<p>In a lot of the songs, there is not just one finger-picking &#8220;voice&#8221;, but two. This could be seen obviously at the concert where Graham was playing one finger-picking riff and Robyn was playing another, yet they meshed nicely.</p>
<p>Overall, I enjoyed this concert and if he does it again with another album, I&#8217;m sure we&#8217;ll be going over again.</p>
]]></content:encoded>
			<wfw:commentRss>http://verens.com/archives/2009/12/01/graham-coxon-at-the-barbican/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>resigned &#8211; the band</title>
		<link>http://verens.com/archives/2009/11/28/resigned-the-band/</link>
		<comments>http://verens.com/archives/2009/11/28/resigned-the-band/#comments</comments>
		<pubDate>Sat, 28 Nov 2009 02:52:52 +0000</pubDate>
		<dc:creator>Kae Verens</dc:creator>
				<category><![CDATA[bronwyn]]></category>
		<category><![CDATA[life]]></category>
		<category><![CDATA[music]]></category>

		<guid isPermaLink="false">http://verens.com/?p=914</guid>
		<description><![CDATA[<p>We were sent an invite to come see Resigned play (interesting name &#8211; does it mean &#8220;gave up&#8221;, or &#8220;was signed again&#8221;? I&#8217;ll ask them tomorrow) at the Water Rats Theatre.</p>
<p>Bronwyn commented, on seeing the dance-floor, that it was &#8220;very like Fibbers, except for the smell&#8221;.   Fibbers (Parnell st) has a bit of [...]]]></description>
			<content:encoded><![CDATA[<p>We were sent an invite to come see <a href="http://resignedband.wordpress.com/">Resigned</a> play (interesting name &#8211; does it mean &#8220;gave up&#8221;, or &#8220;was signed again&#8221;? I&#8217;ll ask them tomorrow) at <a href="http://www.themonto.com/">the Water Rats Theatre</a>.</p>
<p>Bronwyn commented, on seeing the dance-floor, that it was &#8220;very like Fibbers, except for the smell&#8221;. <img src='http://verens.com/wp-includes/images/smilies/icon_wink.gif' alt=';-)' class='wp-smiley' />  Fibbers (Parnell st) has a bit of a reputation &#8211; especially among those of us that have been frequenting the place more than 15 years.</p>
<p>I visited the toilet at one point there and can confirm that it out-fibbers&#8217;s fibbers. It was <em>rank</em>.</p>
<p>Having said that, the people that were there were eclectic. There were punks, industrials, grungers, rockers &#8211; hard to put a label on the place when everyone is so different!</p>
<p>Anyway &#8211; back to the band &#8211; I enjoyed it. I was expecting some hard punk, as &#8220;resigned&#8221; is a very serious name, but the music was actually quite interesting and not as harsh as I expected. There were interesting rhythms (listen to their track &#8220;Hangover&#8221;) that make you feel like you need to dance or at least admire it, and at no point did I feel they were copying anyone.</p>
<p>Their last track was dedicated to &#8220;someone in the audience&#8221;, and they played &#8220;Advert&#8221; by Blur. It was aimed at Bronwyn and a few other <a href="http://forums.grahamcoxon.co.uk/">Coxon fans</a>.</p>
<p>We spoke to Simon, Gary and John. The playing was perfect &#8211; no sign of effort from anyone; everything was &#8220;to a tee&#8221;. For example, while playing some tunes, I noticed Simon fiddling around with his effect pedals /at the same time/ as playing his part. Very cool. Not a beat dropped &#8211; I liked it.</p>
<p>John said that there was a bad gig a few weeks back where there wasn&#8217;t enough practice beforehand and it all fell apart, but it didn&#8217;t show tonight at all. Solid playing, and I&#8217;d love to see them play again.</p>
<p>We were handed a CD of their album which they refused to accept payment for, for reasons which agree almost with my own philosophy.</p>
<p>My belief is that people should be paid for what they do. Royalties are a bonus, but should not be considered as &#8220;earned&#8221;.</p>
<p>As an author of a book, this might fly in the face of reason, but the thing is &#8211; I wrote my book because I wanted to, and I enjoyed the act of its creation. Anything afterwards that I get paid is a bonus, but I don&#8217;t feel I&#8217;ve earned it (Yes, I&#8217;m very grateful for it (thank you!!), but I don&#8217;t feel I should demand people pay me if they accidently find my words online).</p>
<p>I suggested this to Simon, in the case that musicians should be paid for the gigs they play, and everything else is a bonus.</p>
<p>This appears to be the same model that large bands such as Nine Inch Nails and Radiohead are following recently &#8211; basically, it&#8217;s all free, but there&#8217;s really nothing that compares to seeing it live.</p>
<p>We haven&#8217;t gotten to listen to the CD yet, as this laptop does not have a CD drive, but I&#8217;m sure Bronwyn will have it on repeat for the next few weeks.</p>
<p>Well done, <a href="http://resignedband.wordpress.com/">Resigned</a>, on providing a very good night out, and we&#8217;ll talk to you tomorrow before Graham&#8217;s gig!</p>
]]></content:encoded>
			<wfw:commentRss>http://verens.com/archives/2009/11/28/resigned-the-band/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>
