<?xml version='1.0' encoding='UTF-8'?><?xml-stylesheet href="http://www.blogger.com/styles/atom.css" type="text/css"?><feed xmlns='http://www.w3.org/2005/Atom' xmlns:openSearch='http://a9.com/-/spec/opensearchrss/1.0/' xmlns:georss='http://www.georss.org/georss' xmlns:gd='http://schemas.google.com/g/2005' xmlns:thr='http://purl.org/syndication/thread/1.0'><id>tag:blogger.com,1999:blog-37343329</id><updated>2011-11-26T18:01:58.219Z</updated><category term='php namespaces'/><category term='festival photos'/><category term='regeneration'/><category term='php-gtk php6'/><title type='text'>Leon Pegg</title><subtitle type='html'>What a strange world we live in</subtitle><link rel='http://schemas.google.com/g/2005#feed' type='application/atom+xml' href='http://leonpegg.blogspot.com/feeds/posts/default'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/37343329/posts/default?max-results=100'/><link rel='alternate' type='text/html' href='http://leonpegg.blogspot.com/'/><link rel='hub' href='http://pubsubhubbub.appspot.com/'/><author><name>Leon Pegg</name><uri>http://www.blogger.com/profile/15994831504678948186</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><generator version='7.00' uri='http://www.blogger.com'>Blogger</generator><openSearch:totalResults>31</openSearch:totalResults><openSearch:startIndex>1</openSearch:startIndex><openSearch:itemsPerPage>100</openSearch:itemsPerPage><entry><id>tag:blogger.com,1999:blog-37343329.post-3393492530357484118</id><published>2008-05-23T09:13:00.000Z</published><updated>2008-05-23T09:15:28.054Z</updated><title type='text'>Blog Moved</title><content type='html'>I have moved over to my new site &lt;a href="http://leonpegg.com"&gt;LeonPegg.com&lt;/a&gt;.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/37343329-3393492530357484118?l=leonpegg.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://leonpegg.blogspot.com/feeds/3393492530357484118/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=37343329&amp;postID=3393492530357484118' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/37343329/posts/default/3393492530357484118'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/37343329/posts/default/3393492530357484118'/><link rel='alternate' type='text/html' href='http://leonpegg.blogspot.com/2008/05/blog-moved.html' title='Blog Moved'/><author><name>Leon Pegg</name><uri>http://www.blogger.com/profile/15994831504678948186</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-37343329.post-4279574712333991301</id><published>2007-08-10T17:40:00.000Z</published><updated>2007-08-10T17:52:07.089Z</updated><category scheme='http://www.blogger.com/atom/ns#' term='php-gtk php6'/><title type='text'>php6-gtk2 working</title><content type='html'>&lt;div style="text-align: center;"&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://bp2.blogger.com/_2vz_GtN9rF8/Rryk6Ua3hgI/AAAAAAAAAFk/lPa_rLT3WSU/s1600-h/Screenshot-3.png"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer;" src="http://bp2.blogger.com/_2vz_GtN9rF8/Rryk6Ua3hgI/AAAAAAAAAFk/lPa_rLT3WSU/s320/Screenshot-3.png" alt="" id="BLOGGER_PHOTO_ID_5097130200097326594" border="0" /&gt;&lt;/a&gt;&lt;span style="font-weight: bold;font-size:85%;" &gt;OpenChat client running with on php6 + php-gtk&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;/div&gt;Instead of rewriting the generator I spent the day fixing all the php-gtk code to work with php6.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;stage 1&lt;/span&gt;&lt;br /&gt;./buildconf --with-phpize=phpize6&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;stage 2&lt;/span&gt;&lt;br /&gt;edit the configure file and replace line 3910 with&lt;br /&gt;PHP_PREFIX=`php-config6 --prefix`&lt;br /&gt;and line 3914 with&lt;br /&gt;PHP_VERSION=`php-config6 --version`&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;stage 3&lt;/span&gt;&lt;br /&gt;./configure&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;stage 4&lt;/span&gt;&lt;br /&gt;edit Makefile so that the generator is run with php5 not 6. This means I dont have to fix the generator YET.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;stage 5&lt;/span&gt;&lt;br /&gt;make&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;stage 6&lt;/span&gt;&lt;br /&gt;sudo make install&lt;br /&gt;&lt;br /&gt;Using my edited source code php-gtk builds and runs with php6 with this method.&lt;br /&gt;&lt;br /&gt;I still have much more to do with the php-gtk source to get it running perfect but this is a huge step forward to what we were 3 days ago when I started.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/37343329-4279574712333991301?l=leonpegg.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://leonpegg.blogspot.com/feeds/4279574712333991301/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=37343329&amp;postID=4279574712333991301' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/37343329/posts/default/4279574712333991301'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/37343329/posts/default/4279574712333991301'/><link rel='alternate' type='text/html' href='http://leonpegg.blogspot.com/2007/08/php6-gtk2-working.html' title='php6-gtk2 working'/><author><name>Leon Pegg</name><uri>http://www.blogger.com/profile/15994831504678948186</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://bp2.blogger.com/_2vz_GtN9rF8/Rryk6Ua3hgI/AAAAAAAAAFk/lPa_rLT3WSU/s72-c/Screenshot-3.png' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-37343329.post-2738492498628852222</id><published>2007-08-10T12:01:00.000Z</published><updated>2007-08-10T12:04:03.410Z</updated><category scheme='http://www.blogger.com/atom/ns#' term='php-gtk php6'/><title type='text'>php6-gtk2 screenshot</title><content type='html'>&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://bp0.blogger.com/_2vz_GtN9rF8/RrxT-0a3hfI/AAAAAAAAAFc/en387VgwEuk/s1600-h/Screenshot-2.png"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer;" src="http://bp0.blogger.com/_2vz_GtN9rF8/RrxT-0a3hfI/AAAAAAAAAFc/en387VgwEuk/s320/Screenshot-2.png" alt="" id="BLOGGER_PHOTO_ID_5097041216964888050" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;screenshot showing a widget in a window and the php version as title.&lt;br /&gt;&lt;br /&gt;I have found a few more bugs in the generator but I'll fix these&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/37343329-2738492498628852222?l=leonpegg.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://leonpegg.blogspot.com/feeds/2738492498628852222/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=37343329&amp;postID=2738492498628852222' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/37343329/posts/default/2738492498628852222'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/37343329/posts/default/2738492498628852222'/><link rel='alternate' type='text/html' href='http://leonpegg.blogspot.com/2007/08/php6-gtk2-screenshot.html' title='php6-gtk2 screenshot'/><author><name>Leon Pegg</name><uri>http://www.blogger.com/profile/15994831504678948186</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://bp0.blogger.com/_2vz_GtN9rF8/RrxT-0a3hfI/AAAAAAAAAFc/en387VgwEuk/s72-c/Screenshot-2.png' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-37343329.post-5886285912479876228</id><published>2007-08-10T11:19:00.000Z</published><updated>2007-08-10T11:21:40.084Z</updated><category scheme='http://www.blogger.com/atom/ns#' term='php-gtk php6'/><title type='text'>php-gtk generator fixed</title><content type='html'>Well I decided I could not be bothered to rewrite the generator at present seen as the code is so bad it would take me days, so instead I fixed the problems php6 was having.&lt;br /&gt;after recompiling php-gtk now runs far better then it did before I can add widgets to windows and other stuff only problem is connecting to a signal sigfault (I'll fix this).&lt;br /&gt;I'll post screen shots later.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/37343329-5886285912479876228?l=leonpegg.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://leonpegg.blogspot.com/feeds/5886285912479876228/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=37343329&amp;postID=5886285912479876228' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/37343329/posts/default/5886285912479876228'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/37343329/posts/default/5886285912479876228'/><link rel='alternate' type='text/html' href='http://leonpegg.blogspot.com/2007/08/php-gtk-generator-fixed.html' title='php-gtk generator fixed'/><author><name>Leon Pegg</name><uri>http://www.blogger.com/profile/15994831504678948186</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-37343329.post-4806825351490513339</id><published>2007-08-09T16:47:00.001Z</published><updated>2007-08-09T16:53:44.404Z</updated><category scheme='http://www.blogger.com/atom/ns#' term='php-gtk php6'/><title type='text'>php6-gtk2 todo</title><content type='html'>&lt;ul&gt;&lt;li&gt;Rewrite the php-gtk generator&lt;/li&gt;&lt;li&gt;make php-gtk unicode safe (not sure what this will require)&lt;/li&gt;&lt;/ul&gt; I will add more as I find out what needs doing, Rewriting the generator is the most important right now as php6 hates it also it seems like it was just the php-gtk1 generator modifyed for php-gtk2&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/37343329-4806825351490513339?l=leonpegg.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://leonpegg.blogspot.com/feeds/4806825351490513339/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=37343329&amp;postID=4806825351490513339' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/37343329/posts/default/4806825351490513339'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/37343329/posts/default/4806825351490513339'/><link rel='alternate' type='text/html' href='http://leonpegg.blogspot.com/2007/08/php6-gtk2-todo_09.html' title='php6-gtk2 todo'/><author><name>Leon Pegg</name><uri>http://www.blogger.com/profile/15994831504678948186</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-37343329.post-7992920169019674830</id><published>2007-08-09T16:47:00.000Z</published><updated>2007-08-09T16:53:33.468Z</updated><category scheme='http://www.blogger.com/atom/ns#' term='php-gtk php6'/><title type='text'>php6-gtk2 todo</title><content type='html'>&lt;ul&gt;&lt;li&gt;Rewrite the php-gtk generator&lt;/li&gt;&lt;li&gt;make php-gtk unicode safe (not sure what this will require)&lt;/li&gt;&lt;/ul&gt; I will add more as I find out what needs doing, Rewriting the generator is the most important right now as php6 hates it also it seems like it was just the php-gtk1 generator modifyed for php-gtk2&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/37343329-7992920169019674830?l=leonpegg.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://leonpegg.blogspot.com/feeds/7992920169019674830/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=37343329&amp;postID=7992920169019674830' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/37343329/posts/default/7992920169019674830'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/37343329/posts/default/7992920169019674830'/><link rel='alternate' type='text/html' href='http://leonpegg.blogspot.com/2007/08/php6-gtk2-todo.html' title='php6-gtk2 todo'/><author><name>Leon Pegg</name><uri>http://www.blogger.com/profile/15994831504678948186</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-37343329.post-353225630757310437</id><published>2007-08-08T17:16:00.000Z</published><updated>2007-08-08T17:20:59.630Z</updated><category scheme='http://www.blogger.com/atom/ns#' term='php-gtk php6'/><title type='text'>php-gtk on php6</title><content type='html'>I have not really contributed much in the source code side of php-gtk because I am not the confidaent in my C skills but over the last few days I have been hacking at the source trying to get it to run with php6-dev.&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://bp3.blogger.com/_2vz_GtN9rF8/Rrn7HUa3heI/AAAAAAAAAFU/zW9d-k1tL7w/s1600-h/Screenshot.png"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer;" src="http://bp3.blogger.com/_2vz_GtN9rF8/Rrn7HUa3heI/AAAAAAAAAFU/zW9d-k1tL7w/s320/Screenshot.png" alt="" id="BLOGGER_PHOTO_ID_5096380556505482722" border="0" /&gt;&lt;/a&gt;Now this is only the first step I am sure I have not done everything right but now it runs I may have more people want to help with development.&lt;br /&gt;&lt;br /&gt;Today I had a brake throgh and got php-gtk compiling and running on php6&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/37343329-353225630757310437?l=leonpegg.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://leonpegg.blogspot.com/feeds/353225630757310437/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=37343329&amp;postID=353225630757310437' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/37343329/posts/default/353225630757310437'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/37343329/posts/default/353225630757310437'/><link rel='alternate' type='text/html' href='http://leonpegg.blogspot.com/2007/08/php-gtk-on-php6.html' title='php-gtk on php6'/><author><name>Leon Pegg</name><uri>http://www.blogger.com/profile/15994831504678948186</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://bp3.blogger.com/_2vz_GtN9rF8/Rrn7HUa3heI/AAAAAAAAAFU/zW9d-k1tL7w/s72-c/Screenshot.png' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-37343329.post-4222904165026932603</id><published>2007-08-07T18:40:00.000Z</published><updated>2007-08-07T18:48:47.187Z</updated><title type='text'>Firefox, Internet Explorer and Safari</title><content type='html'>Well while keeping track of seamlessRDP there has been some development, You can now run multiple programs through the same RDP connection, so no more Windows Startbar YAY. also icons are now displayed which is a bonus I also realized I can redirect sound so I can now use windows media player and iTunes.&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://bp0.blogger.com/_2vz_GtN9rF8/Rri-E0a3hdI/AAAAAAAAAFM/dvfc6pxL-sE/s1600-h/laptop-006.png"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer;" src="http://bp0.blogger.com/_2vz_GtN9rF8/Rri-E0a3hdI/AAAAAAAAAFM/dvfc6pxL-sE/s320/laptop-006.png" alt="" id="BLOGGER_PHOTO_ID_5096031968369804754" border="0" /&gt;&lt;/a&gt;&lt;div style="text-align: left;"&gt;Its a shame safari skips the tasklist but this could be because its BETA.&lt;br /&gt;I am now just waiting for darg'n'drop and copy paste of things other then text&lt;br /&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/37343329-4222904165026932603?l=leonpegg.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://leonpegg.blogspot.com/feeds/4222904165026932603/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=37343329&amp;postID=4222904165026932603' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/37343329/posts/default/4222904165026932603'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/37343329/posts/default/4222904165026932603'/><link rel='alternate' type='text/html' href='http://leonpegg.blogspot.com/2007/08/firefox-internet-explorer-and-safari.html' title='Firefox, Internet Explorer and Safari'/><author><name>Leon Pegg</name><uri>http://www.blogger.com/profile/15994831504678948186</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://bp0.blogger.com/_2vz_GtN9rF8/Rri-E0a3hdI/AAAAAAAAAFM/dvfc6pxL-sE/s72-c/laptop-006.png' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-37343329.post-812825353094925671</id><published>2007-08-06T15:22:00.000Z</published><updated>2007-08-06T15:36:42.613Z</updated><category scheme='http://www.blogger.com/atom/ns#' term='php namespaces'/><title type='text'>namespaces in php 5.2</title><content type='html'>As we all know namespaces were thrown out in php5, which for some was a disappointment. For me it was not a big thing and I was not that bothered.&lt;br /&gt;&lt;br /&gt;While writing some programs auroraeosrose on irc://chat.freenode.net/#php-gtk suggested I waited for namespaces so I could remove some nasty code I used to preform some tasks, after she mentioned this to me I went and searched about php namespaces and found a backport of php6 namespaces to php 5.2, I downloaded and applied the patch.&lt;br /&gt;&lt;br /&gt;Namespaces are a very nice feature and has cleaned these programs up nicely, So to save people searching for the php namespaces patch I have uploaded a patched php 5.2.3 source package (&lt;a href="http://www.box.net/shared/kdlkr7yqsj"&gt;Box.net folder&lt;/a&gt;) the source file is called php-5.3.2+namespaces.tar.gz&lt;br /&gt;&lt;br /&gt;auroraeosrose has kindly agreed to compile a windows version of this which I will also upload when ready.&lt;br /&gt;&lt;br /&gt;As a side note php-Unity will require namespaces to work, after I have finished the updating php-Unity code to use namespaces I'll upload a pre-alpha version for everyone to look and play with.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/37343329-812825353094925671?l=leonpegg.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://leonpegg.blogspot.com/feeds/812825353094925671/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=37343329&amp;postID=812825353094925671' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/37343329/posts/default/812825353094925671'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/37343329/posts/default/812825353094925671'/><link rel='alternate' type='text/html' href='http://leonpegg.blogspot.com/2007/08/namespaces-in-php-52.html' title='namespaces in php 5.2'/><author><name>Leon Pegg</name><uri>http://www.blogger.com/profile/15994831504678948186</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-37343329.post-169501991992739269</id><published>2007-08-04T21:43:00.000Z</published><updated>2007-08-05T14:52:38.206Z</updated><title type='text'>Drink, Sleep and Work</title><content type='html'>Since I last posted I have not really been up to much, Went to a mate b'day party and got extremely drunk, worked over the weekends and slept.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;php-Unity Framework&lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;&lt;span style="font-weight: bold;"&gt;&lt;span style="font-weight: bold;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;During the development of one of my applications I realized much of the code would easily work as a framework, so I have been busy creating php-Unity a php-gtk2 framework.&lt;br /&gt;&lt;br /&gt;currently there is already a framework for php-gtk2 called Callicore, Callicore is constantly being developed and improved by Elizabeth Smith, Callicore has a leg up over php-Unity due to the fact the core developer Elizabeth is one of the current php-gtk2 dev team. This means if there is a php-gtk feature thats not implemented she does it.&lt;br /&gt;&lt;br /&gt;Regardless this I will be developing php-Unity along side CyCle IDE, In the hope I will eventually be a viable php-gtk application framework&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/37343329-169501991992739269?l=leonpegg.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://leonpegg.blogspot.com/feeds/169501991992739269/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=37343329&amp;postID=169501991992739269' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/37343329/posts/default/169501991992739269'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/37343329/posts/default/169501991992739269'/><link rel='alternate' type='text/html' href='http://leonpegg.blogspot.com/2007/08/drink-sleep-and-work.html' title='Drink, Sleep and Work'/><author><name>Leon Pegg</name><uri>http://www.blogger.com/profile/15994831504678948186</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-37343329.post-7552560548599637869</id><published>2007-07-26T15:05:00.000Z</published><updated>2007-07-26T23:04:55.055Z</updated><title type='text'>The best of both worlds</title><content type='html'>For a long time now I have been using Linux but there are somethings that still require me to use windows and I had two options reboot into windows XP or open VMware and use it there, both these options are a pain the last week I came across seamlessRDP and found the answer to my problems.&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://bp0.blogger.com/_2vz_GtN9rF8/Rqkoaka3hcI/AAAAAAAAAFE/VwheZgOsKek/s1600-h/laptop-002.png"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer;" src="http://bp0.blogger.com/_2vz_GtN9rF8/Rqkoaka3hcI/AAAAAAAAAFE/VwheZgOsKek/s320/laptop-002.png" alt="" id="BLOGGER_PHOTO_ID_5091645290637133250" border="0" /&gt;&lt;/a&gt;So now using this cool little application I can run Windows apps and linux apps side by side, I now have the best of both worlds no or rebooting or opening VMware&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/37343329-7552560548599637869?l=leonpegg.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://leonpegg.blogspot.com/feeds/7552560548599637869/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=37343329&amp;postID=7552560548599637869' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/37343329/posts/default/7552560548599637869'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/37343329/posts/default/7552560548599637869'/><link rel='alternate' type='text/html' href='http://leonpegg.blogspot.com/2007/07/best-of-both-worlds.html' title='The best of both worlds'/><author><name>Leon Pegg</name><uri>http://www.blogger.com/profile/15994831504678948186</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://bp0.blogger.com/_2vz_GtN9rF8/Rqkoaka3hcI/AAAAAAAAAFE/VwheZgOsKek/s72-c/laptop-002.png' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-37343329.post-5793230508650994316</id><published>2007-07-25T13:12:00.000Z</published><updated>2007-07-25T15:29:50.591Z</updated><category scheme='http://www.blogger.com/atom/ns#' term='festival photos'/><title type='text'>Photos Away (Music on the Moor)</title><content type='html'>&lt;div style="text-align: center;"&gt;&lt;span style="font-weight: bold;"&gt;The Stage&lt;/span&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://bp3.blogger.com/_2vz_GtN9rF8/RqdUx0a3haI/AAAAAAAAAE0/vEKBL-tAgyU/s1600-h/moor-001.jpg"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer;" src="http://bp3.blogger.com/_2vz_GtN9rF8/RqdUx0a3haI/AAAAAAAAAE0/vEKBL-tAgyU/s320/moor-001.jpg" alt="" id="BLOGGER_PHOTO_ID_5091131118627292578" border="0" /&gt;&lt;/a&gt;One of the stages I don't know why we took this one the band was really crap&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;The Group&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://bp3.blogger.com/_2vz_GtN9rF8/RqdUs0a3hZI/AAAAAAAAAEs/uSvpn0hWVEk/s1600-h/group-001.jpg"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer;" src="http://bp3.blogger.com/_2vz_GtN9rF8/RqdUs0a3hZI/AAAAAAAAAEs/uSvpn0hWVEk/s320/group-001.jpg" alt="" id="BLOGGER_PHOTO_ID_5091131032727946642" border="0" /&gt;&lt;/a&gt;Ah my friends what an odd bunch&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://bp0.blogger.com/_2vz_GtN9rF8/RqdUoEa3hYI/AAAAAAAAAEk/11OeAHgrDn0/s1600-h/group-002.jpg"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer;" src="http://bp0.blogger.com/_2vz_GtN9rF8/RqdUoEa3hYI/AAAAAAAAAEk/11OeAHgrDn0/s320/group-002.jpg" alt="" id="BLOGGER_PHOTO_ID_5091130951123568002" border="0" /&gt;&lt;/a&gt;Oh dear I must have drunk a bit I am smoking&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://bp2.blogger.com/_2vz_GtN9rF8/RqdUkka3hXI/AAAAAAAAAEc/SCdVSfkVcpY/s1600-h/group-003.jpg"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer;" src="http://bp2.blogger.com/_2vz_GtN9rF8/RqdUkka3hXI/AAAAAAAAAEc/SCdVSfkVcpY/s320/group-003.jpg" alt="" id="BLOGGER_PHOTO_ID_5091130890994025842" border="0" /&gt;&lt;/a&gt;Get the big guy when you can't see&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://bp1.blogger.com/_2vz_GtN9rF8/RqdUhUa3hWI/AAAAAAAAAEU/4dnGoeDAvRA/s1600-h/group-004.jpg"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer;" src="http://bp1.blogger.com/_2vz_GtN9rF8/RqdUhUa3hWI/AAAAAAAAAEU/4dnGoeDAvRA/s320/group-004.jpg" alt="" id="BLOGGER_PHOTO_ID_5091130835159450978" border="0" /&gt;&lt;/a&gt;francesca drums on a tub&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://bp2.blogger.com/_2vz_GtN9rF8/RqdUYka3hVI/AAAAAAAAAEM/waNDnxnWEr4/s1600-h/advert-001.jpg"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer;" src="http://bp2.blogger.com/_2vz_GtN9rF8/RqdUYka3hVI/AAAAAAAAAEM/waNDnxnWEr4/s320/advert-001.jpg" alt="" id="BLOGGER_PHOTO_ID_5091130684835595602" border="0" /&gt;&lt;/a&gt;Wonder if he gets paid for that&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;The Strangeness Begins&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://bp3.blogger.com/_2vz_GtN9rF8/RqdUU0a3hUI/AAAAAAAAAEE/rXJBU9542RY/s1600-h/king-carling.jpg"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer;" src="http://bp3.blogger.com/_2vz_GtN9rF8/RqdUU0a3hUI/AAAAAAAAAEE/rXJBU9542RY/s320/king-carling.jpg" alt="" id="BLOGGER_PHOTO_ID_5091130620411086146" border="0" /&gt;&lt;/a&gt;King Carling&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://bp1.blogger.com/_2vz_GtN9rF8/RqdUQUa3hTI/AAAAAAAAAD8/T_bvVLtxTnI/s1600-h/duke-carling.jpg"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer;" src="http://bp1.blogger.com/_2vz_GtN9rF8/RqdUQUa3hTI/AAAAAAAAAD8/T_bvVLtxTnI/s320/duke-carling.jpg" alt="" id="BLOGGER_PHOTO_ID_5091130543101674802" border="0" /&gt;&lt;/a&gt;Duke Carling&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://bp2.blogger.com/_2vz_GtN9rF8/RqdULka3hSI/AAAAAAAAAD0/lv55kHp06fg/s1600-h/muzzled.jpg"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer;" src="http://bp2.blogger.com/_2vz_GtN9rF8/RqdULka3hSI/AAAAAAAAAD0/lv55kHp06fg/s320/muzzled.jpg" alt="" id="BLOGGER_PHOTO_ID_5091130461497296162" border="0" /&gt;&lt;/a&gt;Muzzle the Beast&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://bp0.blogger.com/_2vz_GtN9rF8/RqdUBEa3hRI/AAAAAAAAADs/8IhNtH-KXgQ/s1600-h/wtf.jpg"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer;" src="http://bp0.blogger.com/_2vz_GtN9rF8/RqdUBEa3hRI/AAAAAAAAADs/8IhNtH-KXgQ/s320/wtf.jpg" alt="" id="BLOGGER_PHOTO_ID_5091130281108669714" border="0" /&gt;&lt;/a&gt;WTF why oh why a bottle of beer in my hair (a full one at that)&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;The Journey of the Sock&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://bp0.blogger.com/_2vz_GtN9rF8/RqdT8Ea3hQI/AAAAAAAAADk/R7RiYPa_WRg/s1600-h/sock-001.jpg"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer;" src="http://bp0.blogger.com/_2vz_GtN9rF8/RqdT8Ea3hQI/AAAAAAAAADk/R7RiYPa_WRg/s320/sock-001.jpg" alt="" id="BLOGGER_PHOTO_ID_5091130195209323778" border="0" /&gt;&lt;/a&gt;I nicked my mates socks and used the as beer holders&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://bp2.blogger.com/_2vz_GtN9rF8/RqdR_ka3hPI/AAAAAAAAADc/UY8FGh3TRYc/s1600-h/sock-002.jpg"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer;" src="http://bp2.blogger.com/_2vz_GtN9rF8/RqdR_ka3hPI/AAAAAAAAADc/UY8FGh3TRYc/s320/sock-002.jpg" alt="" id="BLOGGER_PHOTO_ID_5091128056315610354" border="0" /&gt;&lt;/a&gt;Then I wanted to see if it would fit as a hat... it did&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://bp3.blogger.com/_2vz_GtN9rF8/RqdR70a3hOI/AAAAAAAAADU/AWFh2dgsZgE/s1600-h/sock-003.jpg"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer;" src="http://bp3.blogger.com/_2vz_GtN9rF8/RqdR70a3hOI/AAAAAAAAADU/AWFh2dgsZgE/s320/sock-003.jpg" alt="" id="BLOGGER_PHOTO_ID_5091127991891100898" border="0" /&gt;&lt;/a&gt;Don't I look like an idiot&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://bp3.blogger.com/_2vz_GtN9rF8/RqdR30a3hNI/AAAAAAAAADM/c1KP-7Ech5I/s1600-h/sock-004.jpg"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer;" src="http://bp3.blogger.com/_2vz_GtN9rF8/RqdR30a3hNI/AAAAAAAAADM/c1KP-7Ech5I/s320/sock-004.jpg" alt="" id="BLOGGER_PHOTO_ID_5091127923171624146" border="0" /&gt;&lt;/a&gt;I wonder how far over my head it will go...&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://bp0.blogger.com/_2vz_GtN9rF8/RqdR0Ea3hMI/AAAAAAAAADE/j6X6ILohX54/s1600-h/sock-005.jpg"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer;" src="http://bp0.blogger.com/_2vz_GtN9rF8/RqdR0Ea3hMI/AAAAAAAAADE/j6X6ILohX54/s320/sock-005.jpg" alt="" id="BLOGGER_PHOTO_ID_5091127858747114690" border="0" /&gt;&lt;/a&gt;aww so thats how far (my face hurt in the morning)&lt;br /&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/37343329-5793230508650994316?l=leonpegg.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://leonpegg.blogspot.com/feeds/5793230508650994316/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=37343329&amp;postID=5793230508650994316' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/37343329/posts/default/5793230508650994316'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/37343329/posts/default/5793230508650994316'/><link rel='alternate' type='text/html' href='http://leonpegg.blogspot.com/2007/07/photos-away-music-on-moor.html' title='Photos Away (Music on the Moor)'/><author><name>Leon Pegg</name><uri>http://www.blogger.com/profile/15994831504678948186</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://bp3.blogger.com/_2vz_GtN9rF8/RqdUx0a3haI/AAAAAAAAAE0/vEKBL-tAgyU/s72-c/moor-001.jpg' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-37343329.post-3107134526663538593</id><published>2007-07-25T11:53:00.000Z</published><updated>2007-07-25T12:30:19.967Z</updated><category scheme='http://www.blogger.com/atom/ns#' term='regeneration'/><title type='text'>Time to return</title><content type='html'>&lt;span style="font-weight: bold;"&gt;Whats this all about?&lt;/span&gt;&lt;br /&gt;&lt;br /&gt; Since first setting up my blog on November 08, 2006 I have not really done any consistent posting its been patchy at best. So in light of this and the recent freeing up of a lot of my time I have decided to try and do this blog right.&lt;br /&gt;&lt;span style="font-weight: bold;font-size:100%;" &gt;&lt;br /&gt;New lease of life for my blog&lt;/span&gt;&lt;br /&gt;&lt;br /&gt; As with any new start a new image is needed so I decided this time to use a template I did not create, after searching the web I found a template called 'empire' which I am now using, also I have decided that my blog will not only cover what I am doing in the programming world but will also follow my real-life world (how dull), and anything relating to my life on the internet.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;In the real-world&lt;/span&gt;&lt;br /&gt;&lt;br /&gt; Over the last few months I lost my job due to the company going bankrupt, found new work that frees up a lot of time during the week (does not pay as well), Went to a free festival called 'Music on the moor' (Hemel Hempstead, UK) which is a rock festival, I'll be uploading some pictures at some point soon.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;Computers and the internet&lt;/span&gt;&lt;br /&gt;&lt;br /&gt; Well most of my time on the internet is still spent working with php-gtk and supporting the project by providing online &lt;a href="http://php-gtk.cynix.info/"&gt;Ubuntu repository's&lt;/a&gt;  and hanging about on IRC in #php-gtk and #php-gtk.ubuntu on freenode.net, as for my other projects most I have dropped and I am now concentrating my my efforts on one project CyCle IDE which is a PHP IDE developed using php-gtk.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;And in closing&lt;/span&gt;&lt;br /&gt;&lt;br /&gt; Well I guess all I have to say in here is thanks for reading and keep watching for more dull and uninteresting posts&lt;br /&gt;&lt;br /&gt;oh and stay safe and have fun&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/37343329-3107134526663538593?l=leonpegg.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://leonpegg.blogspot.com/feeds/3107134526663538593/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=37343329&amp;postID=3107134526663538593' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/37343329/posts/default/3107134526663538593'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/37343329/posts/default/3107134526663538593'/><link rel='alternate' type='text/html' href='http://leonpegg.blogspot.com/2007/07/time-to-return.html' title='Time to return'/><author><name>Leon Pegg</name><uri>http://www.blogger.com/profile/15994831504678948186</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-37343329.post-117017727201243765</id><published>2007-01-30T17:07:00.000Z</published><updated>2007-01-30T17:14:32.976Z</updated><title type='text'>php-gtk Tcp client/server classes</title><content type='html'>I have just finished writing a set of classes for php-gtk to allow client server applications in php-gtk.&lt;br /&gt;The classes allow you to implment client and server programs in a non blocking fashion.&lt;br /&gt;A very simple server can be implmented in 25 lines of code below is the code for the TCP classes and a demo server and client&lt;br /&gt;no more need for stream switches and nasty loops&lt;br /&gt;&lt;tcp&gt;&lt;br /&gt;&lt;?php&lt;br /&gt;&lt;br /&gt;class Tcp {&lt;br /&gt;&lt;br /&gt;    protected function __construct(){&lt;br /&gt;       &lt;br /&gt;    }&lt;br /&gt;&lt;br /&gt;    static public function server($ip, $port){&lt;br /&gt;        echo "Tcp::server\n";&lt;br /&gt;        $sock = stream_socket_server("tcp://$ip:$port");&lt;br /&gt;        if ($sock) {&lt;br /&gt;            return new TcpServer($sock);&lt;br /&gt;        }else{&lt;br /&gt;            return null;&lt;br /&gt;        }&lt;br /&gt;    }&lt;br /&gt;&lt;br /&gt;    static public function client($ip, $port){&lt;br /&gt;        echo "Tcp::client\n";&lt;br /&gt;        $sock = stream_socket_client("tcp://$ip:$port");&lt;br /&gt;        if ($sock) {&lt;br /&gt;            return new TcpConnection($sock);&lt;br /&gt;        } else {&lt;br /&gt;            return null;&lt;br /&gt;        }&lt;br /&gt;    }&lt;br /&gt;&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;class TcpServer {&lt;br /&gt;&lt;br /&gt;    protected $hook = null;&lt;br /&gt;    protected $connected = false;&lt;br /&gt;    protected $sock = null;&lt;br /&gt;&lt;br /&gt;    public function __construct($sock){&lt;br /&gt;        echo "TcpServer::__construct\n";&lt;br /&gt;        $this-&gt;connected = true;&lt;br /&gt;        Gtk::io_add_watch($sock,Gtk::IO_IN,array($this,"socket_accept"));&lt;br /&gt;    }&lt;br /&gt;&lt;br /&gt;    public function socket_accept($sock, $conditions){&lt;br /&gt;        echo "TcpServer::socket_accept\n";&lt;br /&gt;        $connection = new TcpConnection(stream_socket_accept($sock));&lt;br /&gt;        $this-&gt;trigger_hook($connection);&lt;br /&gt;        return $this-&gt;connected;&lt;br /&gt;    }&lt;br /&gt;   &lt;br /&gt;    public function set_accept_hook($hook){&lt;br /&gt;        echo "TcpServer::set_accept_hook\n";&lt;br /&gt;        $oldhook = $this-&gt;hook;&lt;br /&gt;        $this-&gt;hook = $hook;&lt;br /&gt;        return $oldhook;&lt;br /&gt;    }&lt;br /&gt;   &lt;br /&gt;    public function get_accept_hook(){&lt;br /&gt;        echo "TcpServer::get_accept_hook\n";&lt;br /&gt;        return $this-&gt;hook;&lt;br /&gt;    }&lt;br /&gt;&lt;br /&gt;    protected function trigger_hook($connection){&lt;br /&gt;        echo "TcpServer::trigger_hook\n";&lt;br /&gt;        if ($this-&gt;hook) {&lt;br /&gt;            call_user_func_array($this-&gt;hook,array($connection));&lt;br /&gt;        }&lt;br /&gt;    }&lt;br /&gt;   &lt;br /&gt;    protected function __clone(){&lt;br /&gt;&lt;br /&gt;    }&lt;br /&gt;&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;class TcpConnection {&lt;br /&gt;   &lt;br /&gt;    protected $hook = null;&lt;br /&gt;    protected $sock = null;&lt;br /&gt;    protected $connected = false;&lt;br /&gt;&lt;br /&gt;    public function __construct($sock){&lt;br /&gt;        echo "TcpConnection::__construct\n";&lt;br /&gt;        $this-&gt;connected = true;&lt;br /&gt;        $this-&gt;sock = $sock;&lt;br /&gt;        Gtk::io_add_watch($sock,Gtk::IO_IN,array($this,"data_in"));&lt;br /&gt;    }&lt;br /&gt;   &lt;br /&gt;    public function data_in($sock, $conditions){&lt;br /&gt;        echo "TcpConnection::data_in\n";&lt;br /&gt;        if ($this-&gt;hook) {&lt;br /&gt;            call_user_func_array($this-&gt;hook, array($this-&gt;sock,$this));&lt;br /&gt;        }&lt;br /&gt;        return $this-&gt;connected;&lt;br /&gt;    }&lt;br /&gt;   &lt;br /&gt;    public function write($data){&lt;br /&gt;        echo "TcpConnection::write\n";&lt;br /&gt;        return fwrite($this-&gt;sock, $data, strlen($data));&lt;br /&gt;    }&lt;br /&gt;   &lt;br /&gt;    public function set_receive_hook($hook){&lt;br /&gt;        echo "TcpConnection::set_receive_hook\n";&lt;br /&gt;        $oldhook = $this-&gt;hook;&lt;br /&gt;        $this-&gt;hook = $hook;&lt;br /&gt;        return $oldhook;&lt;br /&gt;    }&lt;br /&gt;   &lt;br /&gt;    public function __destruct(){&lt;br /&gt;        echo "TcpConnection::__destruct\n";&lt;br /&gt;        fclose($this-&gt;sock);&lt;br /&gt;    }&lt;br /&gt;   &lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;?&gt;&lt;br /&gt;&lt;client.php&gt;&lt;br /&gt;&lt;?php&lt;br /&gt;include('tcp.php');&lt;br /&gt;$client = Tcp::client('127.0.0.1',1111);&lt;br /&gt;$client-&gt;write(".1.1.1.\n.2.2.2.\n.3.3.3.\n.4.4.4.\n");&lt;br /&gt;$client-&gt;set_receive_hook('receive');&lt;br /&gt;gtk::main();&lt;br /&gt;function receive($sock,$connection){&lt;br /&gt;    $data = fgets($sock,1024);&lt;br /&gt;    echo "from - ".stream_socket_get_name($sock,true)." - $data";&lt;br /&gt;    $connection-&gt;write($data);&lt;br /&gt;}&lt;br /&gt;?&gt;&lt;br /&gt;&lt;server.php&gt;&lt;br /&gt;&lt;?php&lt;br /&gt;include('tcp.php');&lt;br /&gt;class server {&lt;br /&gt;    protected $connections = array();&lt;br /&gt;    protected $server = null;&lt;br /&gt;    public function __construct(){&lt;br /&gt;        $this-&gt;server = Tcp::server('127.0.0.1',1111);&lt;br /&gt;        $this-&gt;server-&gt;set_accept_hook(array($this,'accept'));&lt;br /&gt;    }&lt;br /&gt;    public function accept($connection){&lt;br /&gt;        $this-&gt;connections[] = $connection;&lt;br /&gt;        $connection-&gt;set_receive_hook(array($this,'receive'));&lt;br /&gt;    }&lt;br /&gt;    public function receive($sock,$connection){&lt;br /&gt;        echo "server::recieve\n";&lt;br /&gt;        echo "from - ".stream_socket_get_name($sock,true)." - $data";&lt;br /&gt;        $data = fgets($sock);&lt;br /&gt;        echo $data;&lt;br /&gt;        $connection-&gt;write($data);&lt;br /&gt;    }&lt;br /&gt;}&lt;br /&gt;$server = new server();&lt;br /&gt;gtk::main();&lt;br /&gt;?&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/37343329-117017727201243765?l=leonpegg.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://leonpegg.blogspot.com/feeds/117017727201243765/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=37343329&amp;postID=117017727201243765' title='4 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/37343329/posts/default/117017727201243765'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/37343329/posts/default/117017727201243765'/><link rel='alternate' type='text/html' href='http://leonpegg.blogspot.com/2007/01/php-gtk-tcp-clientserver-classes.html' title='php-gtk Tcp client/server classes'/><author><name>Leon Pegg</name><uri>http://www.blogger.com/profile/15994831504678948186</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>4</thr:total></entry><entry><id>tag:blogger.com,1999:blog-37343329.post-116981807218813351</id><published>2007-01-26T13:20:00.000Z</published><updated>2007-01-26T13:32:13.920Z</updated><title type='text'>phpthrowdown</title><content type='html'>&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://www.boxstor.com/lab/gtkmerrywizards.png"&gt;&lt;img style="margin: 0pt 0pt 10px 10px; float: right; cursor: pointer; width: 393px; height: 160px;" src="http://www.boxstor.com/lab/gtkmerrywizards.png" alt="" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;I have not posted in a while but there is a buzz of competition on irc about phpthrowdown there are two teams from #php-gtk there is The GtkMerryWizards and Mistress (also merry) which consists of Me, &lt;font&gt;auroraeosrose, bob and fjace are &lt;a href="http://gtkmw.blogture.com"&gt;phpthrowdown blog&lt;/a&gt; and there is the other team consisting of cweiske and killerx.&lt;br /&gt;&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/37343329-116981807218813351?l=leonpegg.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://leonpegg.blogspot.com/feeds/116981807218813351/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=37343329&amp;postID=116981807218813351' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/37343329/posts/default/116981807218813351'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/37343329/posts/default/116981807218813351'/><link rel='alternate' type='text/html' href='http://leonpegg.blogspot.com/2007/01/phpthrowdown.html' title='phpthrowdown'/><author><name>Leon Pegg</name><uri>http://www.blogger.com/profile/15994831504678948186</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-37343329.post-116558265979464193</id><published>2006-12-08T12:53:00.000Z</published><updated>2006-12-08T12:57:40.896Z</updated><title type='text'>Mapping widget</title><content type='html'>&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://photos1.blogger.com/x/blogger/921/4193/1600/985446/mapper.png"&gt;&lt;img style="margin: 0pt 0pt 10px 10px; float: right; cursor: pointer;" src="http://photos1.blogger.com/x/blogger/921/4193/320/987972/mapper.png" alt="" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;Even with my busy work load I have found time to build a basic Mapping widget for php gtk see screenshot&lt;br /&gt;&lt;br /&gt;The code is avalible on request you can genrally find me hanging about in the #php-gtk IRC channel on chat.freenode.net&lt;br /&gt;&lt;br /&gt;Theres many more widgets to come&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/37343329-116558265979464193?l=leonpegg.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://leonpegg.blogspot.com/feeds/116558265979464193/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=37343329&amp;postID=116558265979464193' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/37343329/posts/default/116558265979464193'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/37343329/posts/default/116558265979464193'/><link rel='alternate' type='text/html' href='http://leonpegg.blogspot.com/2006/12/mapping-widget.html' title='Mapping widget'/><author><name>Leon Pegg</name><uri>http://www.blogger.com/profile/15994831504678948186</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-37343329.post-116475240740144806</id><published>2006-11-28T22:19:00.000Z</published><updated>2006-11-29T11:51:19.763Z</updated><title type='text'>whats happening</title><content type='html'>have been realy busy with work (guess things are back to normal).&lt;br /&gt;&lt;br /&gt;On IRC  chat.freenode.net #php-gtk lots of new people  faces.&lt;br /&gt;&lt;span class="submitted"&gt;&lt;br /&gt;Marc Quinton seems to be on a mission adding lots of pages to the php-gtk community website &lt;a href="http://www.php-gtk.eu"&gt;http://www.php-gtk.eu&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;cant think of much else at present so good night&lt;br /&gt;&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/37343329-116475240740144806?l=leonpegg.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://leonpegg.blogspot.com/feeds/116475240740144806/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=37343329&amp;postID=116475240740144806' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/37343329/posts/default/116475240740144806'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/37343329/posts/default/116475240740144806'/><link rel='alternate' type='text/html' href='http://leonpegg.blogspot.com/2006/11/whats-happening.html' title='whats happening'/><author><name>Leon Pegg</name><uri>http://www.blogger.com/profile/15994831504678948186</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-37343329.post-116448975983515733</id><published>2006-11-25T21:12:00.000Z</published><updated>2006-11-25T21:22:44.780Z</updated><title type='text'>Current Projects</title><content type='html'>&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://photos1.blogger.com/x/blogger/921/4193/1600/295734/spreadsheet.png"&gt;&lt;img style="margin: 0pt 0pt 10px 10px; float: right; cursor: pointer;" src="http://photos1.blogger.com/x/blogger/921/4193/320/817715/spreadsheet.png" alt="" border="0" /&gt;&lt;/a&gt;I have been busy at work lately, and thought I would post a list of projects i have been working on none have been completed yet but here goes.&lt;br /&gt;&lt;br /&gt;GtkSpreadsheet is a widget that implements basic spreadsheet.&lt;br /&gt;&lt;br /&gt;GtkIO_IRC is an implementaton of the IRC protocol an based on the GtkIO and GtkIO_Socket classes available at http://www.gnope.org/p/GtkIO .&lt;br /&gt;&lt;br /&gt;Will post code for all widgets and classes when fully working examples are done.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/37343329-116448975983515733?l=leonpegg.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://leonpegg.blogspot.com/feeds/116448975983515733/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=37343329&amp;postID=116448975983515733' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/37343329/posts/default/116448975983515733'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/37343329/posts/default/116448975983515733'/><link rel='alternate' type='text/html' href='http://leonpegg.blogspot.com/2006/11/current-projects.html' title='Current Projects'/><author><name>Leon Pegg</name><uri>http://www.blogger.com/profile/15994831504678948186</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-37343329.post-116403380933393050</id><published>2006-11-20T14:32:00.000Z</published><updated>2006-11-20T14:43:29.776Z</updated><title type='text'>Busy times</title><content type='html'>Its been a very busy weekend for me following into a busy week (sigh).&lt;br /&gt;Lots of work at work :( , not much time for outside projects till next month but still squeezing in work on the irc client ( powered by beer and pizza ) New code structure on the IRC client alowing easy packaging with PHP_Archive, the structure is still young but so far it gives nice code separation (forms as php classes or glade XML files) highly OO structure.&lt;br /&gt;&lt;br /&gt;Thats all i for now (i'll try and post more if and when i get chance).&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/37343329-116403380933393050?l=leonpegg.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://leonpegg.blogspot.com/feeds/116403380933393050/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=37343329&amp;postID=116403380933393050' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/37343329/posts/default/116403380933393050'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/37343329/posts/default/116403380933393050'/><link rel='alternate' type='text/html' href='http://leonpegg.blogspot.com/2006/11/busy-times.html' title='Busy times'/><author><name>Leon Pegg</name><uri>http://www.blogger.com/profile/15994831504678948186</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-37343329.post-116364179886730806</id><published>2006-11-16T01:46:00.000Z</published><updated>2006-11-16T01:49:59.060Z</updated><title type='text'>Embed server in php-gtk2 app</title><content type='html'>on Irc the other day somone asked how to embed a server in php-gtk2 app well i thort i would try heres what i got&lt;br /&gt;&lt;?php&lt;br /&gt;&lt;br /&gt;$socket = stream_socket_server("tcp://192.168.1.2:8008", $errno, $errstr);&lt;br /&gt;&lt;br /&gt;Gtk::io_add_watch(stream_socket_accept($socket,-1),Gtk::IO_IN,'socket_recive');&lt;br /&gt;&lt;br /&gt;function socket_recive($stream, $io_type){&lt;br /&gt;    global $socket;&lt;br /&gt;    static $count = 0;&lt;br /&gt;    $count++;&lt;br /&gt;    if (is_resource($stream)) {&lt;br /&gt;        $recived = fgets($stream);&lt;br /&gt;        echo "Request : $count\nIn      : ".stream_socket_get_name($stream,true)."\nOut     : ".stream_socket_get_name($stream,false)."\nRecived : $recived\n";&lt;br /&gt;        fwrite($stream, 'The server time is ' . date('n/j/Y g:i a') . "\nTotal Requests : $count\nRequest : $recived");&lt;br /&gt;        fclose($stream);&lt;br /&gt;    }&lt;br /&gt;    Gtk::io_add_watch(stream_socket_accept($socket,-1),Gtk::IO_IN,'socket_recive');&lt;br /&gt;    return false;&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;gtk::main();&lt;br /&gt;&lt;br /&gt;?&gt; &lt;br /&gt;&lt;br /&gt;no gui but why would a server need one&lt;br /&gt;&lt;br /&gt;enjoy the code&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/37343329-116364179886730806?l=leonpegg.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://leonpegg.blogspot.com/feeds/116364179886730806/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=37343329&amp;postID=116364179886730806' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/37343329/posts/default/116364179886730806'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/37343329/posts/default/116364179886730806'/><link rel='alternate' type='text/html' href='http://leonpegg.blogspot.com/2006/11/embed-server-in-php-gtk2-app.html' title='Embed server in php-gtk2 app'/><author><name>Leon Pegg</name><uri>http://www.blogger.com/profile/15994831504678948186</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-37343329.post-116349611765591220</id><published>2006-11-14T09:06:00.000Z</published><updated>2006-11-14T09:21:59.170Z</updated><title type='text'>Gnope.org Pear</title><content type='html'>Yesterday marked the release  of the GtkIO and GtkSocketIO classes in to the gnope pear repositrory.&lt;br /&gt;As of the release of the GtkIO Package, i have started work on the GtkIrcSocket this class opens a non-blocking irc connection with multi channel support (no release at present).&lt;br /&gt;currently supported incoming incomming irc commands&lt;br /&gt;&lt;ul&gt;&lt;li&gt;PRIVMSG&lt;/li&gt;&lt;li&gt;NOTICE&lt;/li&gt;&lt;li&gt;JOIN&lt;/li&gt;&lt;li&gt;MODE&lt;/li&gt;&lt;li&gt;PART&lt;/li&gt;&lt;li&gt;QUIT&lt;/li&gt;&lt;li&gt;KICK&lt;/li&gt;&lt;li&gt;NICK&lt;/li&gt;&lt;li&gt;TOPIC&lt;/li&gt;&lt;li&gt;KILL&lt;/li&gt;&lt;li&gt;PING&lt;/li&gt;&lt;li&gt;CLIENTINFO&lt;/li&gt;&lt;li&gt;TIME&lt;/li&gt;&lt;li&gt;VERSION&lt;/li&gt;&lt;li&gt;ACTION&lt;/li&gt;&lt;/ul&gt;I won't be working on the code for the next few days as work has given me a realy heavy workload. but anything i do, i will keep you all informed.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/37343329-116349611765591220?l=leonpegg.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://leonpegg.blogspot.com/feeds/116349611765591220/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=37343329&amp;postID=116349611765591220' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/37343329/posts/default/116349611765591220'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/37343329/posts/default/116349611765591220'/><link rel='alternate' type='text/html' href='http://leonpegg.blogspot.com/2006/11/gnopeorg-pear.html' title='Gnope.org Pear'/><author><name>Leon Pegg</name><uri>http://www.blogger.com/profile/15994831504678948186</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-37343329.post-116337525909011190</id><published>2006-11-12T23:43:00.000Z</published><updated>2006-11-12T23:47:39.466Z</updated><title type='text'>php5 Gtk IRC Protocol implementation</title><content type='html'>After i have writen and documented the GtkIO class and GtkSocketIO class i am going to attempet to implement a multi-channel multi server irc client this is not as easy as it might seem as i am not completely knowlageable about the irc protocol .&lt;br /&gt;that said i have found some good material to study.&lt;br /&gt;&lt;br /&gt;well night all and good coding&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/37343329-116337525909011190?l=leonpegg.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://leonpegg.blogspot.com/feeds/116337525909011190/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=37343329&amp;postID=116337525909011190' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/37343329/posts/default/116337525909011190'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/37343329/posts/default/116337525909011190'/><link rel='alternate' type='text/html' href='http://leonpegg.blogspot.com/2006/11/php5-gtk-irc-protocol-implementation.html' title='php5 Gtk IRC Protocol implementation'/><author><name>Leon Pegg</name><uri>http://www.blogger.com/profile/15994831504678948186</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-37343329.post-116320410148086443</id><published>2006-11-11T00:14:00.000Z</published><updated>2006-11-11T00:15:03.586Z</updated><title type='text'>php-gtk irc client</title><content type='html'>Well now my POC application works i have started a rewrite with more error checking adding multi channel support private messaging suppot and much much more a brand new UI as well, will be working on the over the weekend so should ah a stable release by monday.&lt;br /&gt;have to say thanks to all the guys on IRC for helping with testing, ideas and of course the keep up the good work comments&lt;br /&gt;&lt;br /&gt;right i am off to bed :)&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/37343329-116320410148086443?l=leonpegg.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://leonpegg.blogspot.com/feeds/116320410148086443/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=37343329&amp;postID=116320410148086443' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/37343329/posts/default/116320410148086443'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/37343329/posts/default/116320410148086443'/><link rel='alternate' type='text/html' href='http://leonpegg.blogspot.com/2006/11/php-gtk-irc-client_11.html' title='php-gtk irc client'/><author><name>Leon Pegg</name><uri>http://www.blogger.com/profile/15994831504678948186</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-37343329.post-116310593207512251</id><published>2006-11-09T20:48:00.000Z</published><updated>2006-11-09T23:20:34.546Z</updated><title type='text'>php-gtk irc client update</title><content type='html'>With help from the guys on #php-gtk irc channel i have a working prototype that dose not use forking,  have to add interface to select nick host, also got the program down to 254 LOC (hoping to get it down more)&lt;br /&gt;also you can send multiline messages by pressing shift-return to goto next line&lt;br /&gt;source and phar archive &lt;a href="http://btarchives.com/gnope/irc-254.zip"&gt;http://btarchives.com/gnope/irc-254.zip&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/37343329-116310593207512251?l=leonpegg.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://leonpegg.blogspot.com/feeds/116310593207512251/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=37343329&amp;postID=116310593207512251' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/37343329/posts/default/116310593207512251'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/37343329/posts/default/116310593207512251'/><link rel='alternate' type='text/html' href='http://leonpegg.blogspot.com/2006/11/php-gtk-irc-client-update_09.html' title='php-gtk irc client update'/><author><name>Leon Pegg</name><uri>http://www.blogger.com/profile/15994831504678948186</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-37343329.post-116308407915907225</id><published>2006-11-09T14:50:00.000Z</published><updated>2006-11-09T14:54:39.733Z</updated><title type='text'>php-gtk irc client update</title><content type='html'>Well just been on irc and had great results with tests of the client.&lt;br /&gt;there are still quite a few bugs but runs on linux and windows.&lt;br /&gt;now i am going to add linux forking, do code cleanup and debugging.&lt;br /&gt;for a copy of the currect codebase visit &lt;a href="http://btarchives.com/gnope/irc.zip"&gt;http://btarchives.com/gnope/irc.zip&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;please note this software is still in dev state.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/37343329-116308407915907225?l=leonpegg.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://leonpegg.blogspot.com/feeds/116308407915907225/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=37343329&amp;postID=116308407915907225' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/37343329/posts/default/116308407915907225'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/37343329/posts/default/116308407915907225'/><link rel='alternate' type='text/html' href='http://leonpegg.blogspot.com/2006/11/php-gtk-irc-client-update.html' title='php-gtk irc client update'/><author><name>Leon Pegg</name><uri>http://www.blogger.com/profile/15994831504678948186</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-37343329.post-116307176980993576</id><published>2006-11-09T11:23:00.000Z</published><updated>2006-11-09T11:50:39.603Z</updated><title type='text'>PHP_Archive</title><content type='html'>Exploring more of php_archive there are only a few things that bug me you cant write to files in the archive this is not a major issue and i did expect that, require_once does not seem to work althoght there could be somthing i a missing.&lt;br /&gt;&lt;br /&gt;I have not studyed the code to php_archive in great detail but i am quite certain that it would be possible to implement stream_write (I don not intend on implementing this)&lt;br /&gt;&lt;br /&gt;bye for now&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/37343329-116307176980993576?l=leonpegg.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://leonpegg.blogspot.com/feeds/116307176980993576/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=37343329&amp;postID=116307176980993576' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/37343329/posts/default/116307176980993576'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/37343329/posts/default/116307176980993576'/><link rel='alternate' type='text/html' href='http://leonpegg.blogspot.com/2006/11/phparchive.html' title='PHP_Archive'/><author><name>Leon Pegg</name><uri>http://www.blogger.com/profile/15994831504678948186</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-37343329.post-116306545938499057</id><published>2006-11-09T09:37:00.000Z</published><updated>2006-11-09T09:55:46.743Z</updated><title type='text'>Download php_archive demo</title><content type='html'>I have uploaded the demo of php-gtk and archive tar&lt;br /&gt;&lt;a href="http://btarchives.com/gnope/GameOfLife.zip"&gt;http://btarchives.com/gnope/GameOfLife.zip&lt;/a&gt;&lt;br /&gt;To run GameofLife.phpw you need a copy of php-gtk installed.&lt;br /&gt;Windows users i segest Gnope (instrctions avalible from site for linux and mac users)&lt;br /&gt;to rebuild the archive you need the pear package PHP_Archive.&lt;br /&gt;Please note i did not write the actual game just modifyed it to work with PHP_Archive.&lt;br /&gt;I will be posting more detailed infomation on modifications needed to php-gtk apps to work with php_archive&lt;br /&gt;Enjoy&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/37343329-116306545938499057?l=leonpegg.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://leonpegg.blogspot.com/feeds/116306545938499057/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=37343329&amp;postID=116306545938499057' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/37343329/posts/default/116306545938499057'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/37343329/posts/default/116306545938499057'/><link rel='alternate' type='text/html' href='http://leonpegg.blogspot.com/2006/11/download-phparchive-demo.html' title='Download php_archive demo'/><author><name>Leon Pegg</name><uri>http://www.blogger.com/profile/15994831504678948186</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-37343329.post-116303616442083402</id><published>2006-11-09T01:34:00.000Z</published><updated>2006-11-09T09:45:46.216Z</updated><title type='text'>php-gtk IRC client</title><content type='html'>Started working on a php-gtk Irc Client have had some sucsses but the main probblem is the slow user interface, think i have a sollution but will write about it in the mornning its very late and i am getting sleepy&lt;br /&gt;Good Night all&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/37343329-116303616442083402?l=leonpegg.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://leonpegg.blogspot.com/feeds/116303616442083402/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=37343329&amp;postID=116303616442083402' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/37343329/posts/default/116303616442083402'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/37343329/posts/default/116303616442083402'/><link rel='alternate' type='text/html' href='http://leonpegg.blogspot.com/2006/11/php-gtk-irc-client.html' title='php-gtk IRC client'/><author><name>Leon Pegg</name><uri>http://www.blogger.com/profile/15994831504678948186</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-37343329.post-116300005003311090</id><published>2006-11-08T15:33:00.000Z</published><updated>2006-11-08T15:35:07.576Z</updated><title type='text'>php-gtk &amp; php_archive</title><content type='html'>PHP-GTK is a very active subject in the PHP community at the moment getting alot of attention at PHP Confrences and my local php Group. The thing that i find most intresting about it is the ability to write applications in one language that run on windows, linux and mac plus the abilty that you can share code with your web applications.&lt;br /&gt;&lt;br /&gt;One thing that could be looked at as an advantage or a disadvantage is that a all code is spearated in diffrent files this is fine if your user know what there doing when thay install your program but would it not be great if you could just give them one file and if thay had php-gtk installed be able to drop it anywere and run it, well there may be hope.&lt;br /&gt;php_archive : php_archive is a pear package that enables you to package multiple php files into a single file that runs just like any other php file, its is comparable to javas Jar files.&lt;br /&gt;&lt;br /&gt;Well after talking on the php-gtk IRC channel and finding no one had tryed php-gtk and php_archive together i decided to give it a go.&lt;br /&gt;&lt;br /&gt;My inital results were very encoraging the simple php-gtk program packaged using php_archive worked without a hitch, the only problem i encounterd was when trying to package pear packages with the program you have to go throught manualy and make changes to get them to work corectly. What was more encoraging was that there seemed to me no visable change in run speed. I will be playing more with this combination so expect to hear more on this subject.&lt;br /&gt;&lt;br /&gt;If anyone would like copys of the code just ask.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/37343329-116300005003311090?l=leonpegg.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://leonpegg.blogspot.com/feeds/116300005003311090/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=37343329&amp;postID=116300005003311090' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/37343329/posts/default/116300005003311090'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/37343329/posts/default/116300005003311090'/><link rel='alternate' type='text/html' href='http://leonpegg.blogspot.com/2006/11/php-gtk-phparchive.html' title='php-gtk &amp; php_archive'/><author><name>Leon Pegg</name><uri>http://www.blogger.com/profile/15994831504678948186</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-37343329.post-116299225721616900</id><published>2006-11-08T13:22:00.000Z</published><updated>2006-11-08T13:24:17.396Z</updated><title type='text'>New Blog Template</title><content type='html'>Just created a new temple for my blog based on the php-gtk site &lt;a href="http://gtk.php.net"&gt;http://gtk.php.net&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/37343329-116299225721616900?l=leonpegg.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://leonpegg.blogspot.com/feeds/116299225721616900/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=37343329&amp;postID=116299225721616900' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/37343329/posts/default/116299225721616900'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/37343329/posts/default/116299225721616900'/><link rel='alternate' type='text/html' href='http://leonpegg.blogspot.com/2006/11/new-blog-template.html' title='New Blog Template'/><author><name>Leon Pegg</name><uri>http://www.blogger.com/profile/15994831504678948186</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-37343329.post-116298315367703988</id><published>2006-11-08T10:42:00.000Z</published><updated>2006-11-08T13:51:03.783Z</updated><title type='text'>My First Bolg Post</title><content type='html'>I thought it was about time i set myself up a blog so here it is.&lt;br /&gt;Guess i should say a bit about myself i am a 21year old british male, work for a document archive company in the software development department headding work on a Web-based archive managment system.&lt;br /&gt;Have worked with PHP for the last 2.5 year C, C++ for 4 years.&lt;br /&gt;contributed to seal GUI http://sealsystem.sf.net in the past and many other projects.&lt;br /&gt;enjoy charity work and in my spare time i try to contribute to the php-gtk community:&lt;br /&gt;&lt;a href="http://gtk.php.net"&gt;http://gtk.php.net&lt;/a&gt;&lt;br /&gt;spend time working on a php-gtk ide (writen in php-gtk) : Extensive Planning Stage&lt;br /&gt;write articles and plan speaches for the hemel hempstead (UK) php group&lt;br /&gt;&lt;br /&gt;Well thats all for now Bye&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/37343329-116298315367703988?l=leonpegg.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://leonpegg.blogspot.com/feeds/116298315367703988/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=37343329&amp;postID=116298315367703988' title='2 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/37343329/posts/default/116298315367703988'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/37343329/posts/default/116298315367703988'/><link rel='alternate' type='text/html' href='http://leonpegg.blogspot.com/2006/11/my-first-bolg-post.html' title='My First Bolg Post'/><author><name>Leon Pegg</name><uri>http://www.blogger.com/profile/15994831504678948186</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>2</thr:total></entry></feed>
