<?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-4895277743519325459</id><updated>2011-09-27T10:36:40.085+02:00</updated><category term='.biz'/><category term='PHP'/><category term='dev'/><category term='Zend'/><category term='news'/><title type='text'>Think Open Software - PHP Development Blog</title><subtitle type='html'></subtitle><link rel='http://schemas.google.com/g/2005#feed' type='application/atom+xml' href='http://thinkopensoftware.blogspot.com/feeds/posts/default'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4895277743519325459/posts/default?max-results=100'/><link rel='alternate' type='text/html' href='http://thinkopensoftware.blogspot.com/'/><link rel='hub' href='http://pubsubhubbub.appspot.com/'/><author><name>Christian J. Burger</name><uri>http://www.blogger.com/profile/06079289344503185280</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>21</openSearch:totalResults><openSearch:startIndex>1</openSearch:startIndex><openSearch:itemsPerPage>100</openSearch:itemsPerPage><entry><id>tag:blogger.com,1999:blog-4895277743519325459.post-2915186331928425422</id><published>2008-09-03T15:47:00.002+02:00</published><updated>2008-09-03T16:06:28.241+02:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='PHP'/><category scheme='http://www.blogger.com/atom/ns#' term='dev'/><category scheme='http://www.blogger.com/atom/ns#' term='news'/><category scheme='http://www.blogger.com/atom/ns#' term='Zend'/><title type='text'>Zend Framework 1.6 stable</title><content type='html'>&lt;a href="http://andigutmans.blogspot.com/2008/09/zend-framework-16-featuring-dojo-soap.html"&gt;ZF 1.6 has been released&lt;/a&gt;. Its distributed with Dojo now and includes a SOAP server/client, paginator, captcha form element. A &lt;a href="http://www.zend.com/en/webinar/Framework/webinar-zf16-20080813.flv"&gt;webinar&lt;/a&gt; was held a while ago, for further insight into this releas.&lt;br /&gt;&lt;br /&gt;This post also has a link to a very interesting project called &lt;a href="http://recaptcha.net/learnmore.html"&gt;reCaptcha&lt;/a&gt;, which just shows how the little mundane things we do can actually be turned into something useful.&lt;br /&gt;&lt;br /&gt;The Ruby-on-Rails style &lt;a href="http://devzone.zend.com/article/3811-Using-Zend_Tool-to-start-up-your-ZF-Project"&gt;tooling component&lt;/a&gt; is also quite interesting.&lt;br /&gt;&lt;br /&gt;There is a &lt;a href="http://www.zend.com/en/company/news/event/webinar-zend-framework-and-dojo-integration"&gt;Zend Framework and Dojo Integration webinar&lt;/a&gt; later today.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4895277743519325459-2915186331928425422?l=thinkopensoftware.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://thinkopensoftware.blogspot.com/feeds/2915186331928425422/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=4895277743519325459&amp;postID=2915186331928425422' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4895277743519325459/posts/default/2915186331928425422'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4895277743519325459/posts/default/2915186331928425422'/><link rel='alternate' type='text/html' href='http://thinkopensoftware.blogspot.com/2008/09/zend-framework-16-stable.html' title='Zend Framework 1.6 stable'/><author><name>Christian J. Burger</name><uri>http://www.blogger.com/profile/06079289344503185280</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-4895277743519325459.post-8126467218662394807</id><published>2008-05-22T08:45:00.004+02:00</published><updated>2008-05-22T09:08:41.144+02:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='PHP'/><category scheme='http://www.blogger.com/atom/ns#' term='dev'/><category scheme='http://www.blogger.com/atom/ns#' term='Zend'/><title type='text'>Dojo and ZF ties a knot</title><content type='html'>I've been eagerly awaiting some indication of which Ajax direction Zend Framework will take and was very excited to read Andi Gutmans' &lt;a href="http://andigutmans.blogspot.com/2008/05/zend-framework-may-update.html"&gt;post&lt;/a&gt; that would be speaking about it at php|tek.&lt;br /&gt;&lt;br /&gt;And finally yesterday the &lt;a href="http://andigutmans.blogspot.com/2008/05/dojo-and-zend-framework-partnership.html"&gt;announcement&lt;/a&gt; was made that Dojo and ZF have entered into a partnership.&lt;br /&gt;&lt;br /&gt;It seems the partnership will have an immediate impact on Zend_Form, which is great. ZF will also be shipped with Dojo, which always makes things easier. The only question now, is when will the implementations start coming through?&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4895277743519325459-8126467218662394807?l=thinkopensoftware.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://thinkopensoftware.blogspot.com/feeds/8126467218662394807/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=4895277743519325459&amp;postID=8126467218662394807' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4895277743519325459/posts/default/8126467218662394807'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4895277743519325459/posts/default/8126467218662394807'/><link rel='alternate' type='text/html' href='http://thinkopensoftware.blogspot.com/2008/05/dojo-and-zf-ties-knot.html' title='Dojo and ZF ties a knot'/><author><name>Christian J. Burger</name><uri>http://www.blogger.com/profile/06079289344503185280</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-4895277743519325459.post-1127701729629259609</id><published>2008-04-02T08:56:00.003+02:00</published><updated>2008-05-22T09:08:41.145+02:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='PHP'/><title type='text'>Mahara 1.0 Released</title><content type='html'>"Mahara 1.0.0 (Stable) by Mahara - Tue, Apr 1st 2008 22:35 PDT  &lt;br /&gt;&lt;br /&gt;About: Mahara is fully featured electronic portfolio, weblog, resume builder, and social networking system for connecting users and creating online communities.&lt;br /&gt;&lt;br /&gt;Changes: Devolved administration allows each institution to have their own administrators, leaving the site admin free to run the site. Group forums allow group members to interact and discuss with each other. The social networking side has been improved; it's now easier to find friends and groups, and all users have improved profile pages. Usability has been greatly improved throughout the system. There have been many smaller bugfixes and improvements. "&lt;br /&gt;&lt;br /&gt;Mahara can be visited and demoed at http://www.mahara.org/ and the community is online at #mahara on irc.freenode.net&lt;br /&gt;&lt;br /&gt;Think Open recently wrote a single sign on plug-in for Drupal users to browse seamlessly to a Mahara server. User data is pulled from Drupal and Mahara logs the user in auto-magically. Think Open is awaiting a Drupal CVS account, and soon the module will be uploaded to http://www.drual.org/&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4895277743519325459-1127701729629259609?l=thinkopensoftware.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://thinkopensoftware.blogspot.com/feeds/1127701729629259609/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=4895277743519325459&amp;postID=1127701729629259609' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4895277743519325459/posts/default/1127701729629259609'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4895277743519325459/posts/default/1127701729629259609'/><link rel='alternate' type='text/html' href='http://thinkopensoftware.blogspot.com/2008/04/mahara-10-released.html' title='Mahara 1.0 Released'/><author><name>Bryan Gruneberg</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='26' src='http://1.bp.blogspot.com/_IucibYVmO3w/Se4iD_bxB3I/AAAAAAAAAAw/IoyWRVr83QI/S220/n664331259_7519.jpg'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4895277743519325459.post-4862522397116110745</id><published>2008-03-18T12:14:00.004+02:00</published><updated>2008-05-22T09:08:41.145+02:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='PHP'/><category scheme='http://www.blogger.com/atom/ns#' term='dev'/><category scheme='http://www.blogger.com/atom/ns#' term='Zend'/><title type='text'>Zend Framework 1.5 released</title><content type='html'>Zend Framework 1.5 was released yesterday. It succeeds v1.0.4, so it quite a big jump in evolution.&lt;br /&gt;&lt;br /&gt;apart from the new Zend_Form component with support for AJAX-enabled form elements, other additions are:&lt;br /&gt;&lt;br /&gt;* New action and view helpers for automating and facilitating AJAX&lt;br /&gt;requests and alternate response formats&lt;br /&gt;* Infocard, OpenID, and LDAP authentication adapters&lt;br /&gt;* Support for complex Lucene searches, including fuzzy, date-range, and&lt;br /&gt;wildcard queries&lt;br /&gt;* Support for Lucene 2.1 index file format&lt;br /&gt;* Partial, Placeholder, Action, and Header view helpers for advanced&lt;br /&gt;view composition and rendering&lt;br /&gt;* New Zend_Layout component for automating and facilitating site layouts &lt;br /&gt;&lt;br /&gt;&lt;a href="http://devzone.zend.com/article/3270-Zend-Technologies-Releases-Zend-Framework-1.5"&gt;Read the announcement here&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4895277743519325459-4862522397116110745?l=thinkopensoftware.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://thinkopensoftware.blogspot.com/feeds/4862522397116110745/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=4895277743519325459&amp;postID=4862522397116110745' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4895277743519325459/posts/default/4862522397116110745'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4895277743519325459/posts/default/4862522397116110745'/><link rel='alternate' type='text/html' href='http://thinkopensoftware.blogspot.com/2008/03/zend-framework-15-released.html' title='Zend Framework 1.5 released'/><author><name>Christian J. Burger</name><uri>http://www.blogger.com/profile/06079289344503185280</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-4895277743519325459.post-2509364250483275341</id><published>2008-02-13T19:44:00.002+02:00</published><updated>2008-05-22T09:08:41.146+02:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='PHP'/><category scheme='http://www.blogger.com/atom/ns#' term='dev'/><category scheme='http://www.blogger.com/atom/ns#' term='news'/><category scheme='http://www.blogger.com/atom/ns#' term='.biz'/><title type='text'>PHP on your mobile phone</title><content type='html'>PAMP, Personal Apache MySQL and PHP Released for Symbians&lt;br /&gt;&lt;br /&gt;&lt;a href="http://mobile.phpmagazine.net/2008/01/pamp_personal_apache_mysql_and.html"&gt;http://mobile.phpmagazine.net/2008/01/pamp_personal_apache_mysql_and.html&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4895277743519325459-2509364250483275341?l=thinkopensoftware.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://thinkopensoftware.blogspot.com/feeds/2509364250483275341/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=4895277743519325459&amp;postID=2509364250483275341' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4895277743519325459/posts/default/2509364250483275341'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4895277743519325459/posts/default/2509364250483275341'/><link rel='alternate' type='text/html' href='http://thinkopensoftware.blogspot.com/2008/02/php-on-your-mobile-phone.html' title='PHP on your mobile phone'/><author><name>Christian J. Burger</name><uri>http://www.blogger.com/profile/06079289344503185280</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-4895277743519325459.post-3164301386670172334</id><published>2008-02-06T14:16:00.000+02:00</published><updated>2008-05-22T09:08:41.147+02:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='PHP'/><category scheme='http://www.blogger.com/atom/ns#' term='dev'/><category scheme='http://www.blogger.com/atom/ns#' term='Zend'/><title type='text'>Exciting new Zend releases</title><content type='html'>There are many new product updates released already this year:&lt;br /&gt;&lt;br /&gt;Zend Platform v3.6&lt;br /&gt;&lt;a href="http://www.zend.com/en/products/platform/whats-new"&gt;http://www.zend.com/en/products/platform/whats-new&lt;br /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;Zend Framework 1.5 beta&lt;br /&gt;&lt;a href="http://framework.zend.com/download"&gt;http://framework.zend.com/download&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;Zend Studio for Eclipse&lt;br /&gt;&lt;a href="http://www.zend.com/en/products/studio/"&gt;http://www.zend.com/en/products/studio/&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4895277743519325459-3164301386670172334?l=thinkopensoftware.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://thinkopensoftware.blogspot.com/feeds/3164301386670172334/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=4895277743519325459&amp;postID=3164301386670172334' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4895277743519325459/posts/default/3164301386670172334'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4895277743519325459/posts/default/3164301386670172334'/><link rel='alternate' type='text/html' href='http://thinkopensoftware.blogspot.com/2008/02/exciting-new-zend-releases.html' title='Exciting new Zend releases'/><author><name>Christian J. Burger</name><uri>http://www.blogger.com/profile/06079289344503185280</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-4895277743519325459.post-1631700112053758862</id><published>2007-12-27T20:33:00.000+02:00</published><updated>2008-05-22T09:08:41.147+02:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='PHP'/><category scheme='http://www.blogger.com/atom/ns#' term='dev'/><category scheme='http://www.blogger.com/atom/ns#' term='news'/><category scheme='http://www.blogger.com/atom/ns#' term='Zend'/><title type='text'>Zend Framework 1.5: a sneak preview</title><content type='html'>Seems the next release of ZF will be more radical than planned. the release candidate has even changed from 1.1 to 1.5. Here are some posts giving us a few clues of whats coming:&lt;br /&gt;&lt;br /&gt;&lt;a href="http://devzone.zend.com/article/2856-Zend-Framework--Coming-soon-to-a-Command-Line-near-You"&gt;Zend Framework- Coming soon to a Command Line near You!&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;a href="http://blogs.zend.com/2007/12/08/whats-in-a-name/"&gt;What’s in a name?&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;a href="http://blogs.zend.com/2007/11/22/zend-framework-launch-zendcon-roadmap-and-zf-11/"&gt;Zend Framework: Launch, ZendCon, Roadmap, and ZF 1.5&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;a href="http://framework.zend.com/wiki/display/ZFPROP/Home"&gt;The ZF proposal WIKI&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;a href="http://framework.zend.com/whyzf/future/"&gt;The high level ZF roadmap&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4895277743519325459-1631700112053758862?l=thinkopensoftware.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://thinkopensoftware.blogspot.com/feeds/1631700112053758862/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=4895277743519325459&amp;postID=1631700112053758862' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4895277743519325459/posts/default/1631700112053758862'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4895277743519325459/posts/default/1631700112053758862'/><link rel='alternate' type='text/html' href='http://thinkopensoftware.blogspot.com/2007/12/zend-framework-15-sneak-preview.html' title='Zend Framework 1.5: a sneak preview'/><author><name>Christian J. Burger</name><uri>http://www.blogger.com/profile/06079289344503185280</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-4895277743519325459.post-3370698307102872591</id><published>2007-12-12T09:47:00.000+02:00</published><updated>2007-12-12T09:48:20.008+02:00</updated><title type='text'>9/36 of McConnel's project mistakes</title><content type='html'>* People Related Mistakes&lt;br /&gt;          o Heroics&lt;br /&gt;          o Adding people to a late project&lt;br /&gt;          o Politics placed over substance (etc.) &lt;br /&gt;&lt;br /&gt;    * Process Related Mistakes&lt;br /&gt;          o Abandonment of planning under pressure&lt;br /&gt;          o Planning to catch up later&lt;br /&gt;          o "Code-like-hell" programming (etc.) &lt;br /&gt;&lt;br /&gt;    * Technology Related Mistakes&lt;br /&gt;          o Silver-Bullet syndrome&lt;br /&gt;          o Overestimating savings from new tools or methods&lt;br /&gt;          o Switching tools in the middle of a project (etc.)&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4895277743519325459-3370698307102872591?l=thinkopensoftware.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://thinkopensoftware.blogspot.com/feeds/3370698307102872591/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=4895277743519325459&amp;postID=3370698307102872591' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4895277743519325459/posts/default/3370698307102872591'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4895277743519325459/posts/default/3370698307102872591'/><link rel='alternate' type='text/html' href='http://thinkopensoftware.blogspot.com/2007/12/936-of-mcconnels-project-mistakes.html' title='9/36 of McConnel&apos;s project mistakes'/><author><name>Bryan Gruneberg</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='26' src='http://1.bp.blogspot.com/_IucibYVmO3w/Se4iD_bxB3I/AAAAAAAAAAw/IoyWRVr83QI/S220/n664331259_7519.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4895277743519325459.post-5811699894381261145</id><published>2007-12-11T06:43:00.000+02:00</published><updated>2008-12-09T05:34:32.908+02:00</updated><title type='text'>Dilbert of the day</title><content type='html'>&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://3.bp.blogspot.com/_IucibYVmO3w/R14WPr94JzI/AAAAAAAAAAU/R1FBRLRmUYs/s1600-h/dilbert200712087309.jpg"&gt;&lt;img style="display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;" src="http://3.bp.blogspot.com/_IucibYVmO3w/R14WPr94JzI/AAAAAAAAAAU/R1FBRLRmUYs/s400/dilbert200712087309.jpg" border="0" alt=""id="BLOGGER_PHOTO_ID_5142572283259791154" /&gt;&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4895277743519325459-5811699894381261145?l=thinkopensoftware.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://thinkopensoftware.blogspot.com/feeds/5811699894381261145/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=4895277743519325459&amp;postID=5811699894381261145' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4895277743519325459/posts/default/5811699894381261145'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4895277743519325459/posts/default/5811699894381261145'/><link rel='alternate' type='text/html' href='http://thinkopensoftware.blogspot.com/2007/12/dilbert-of-day.html' title='Dilbert of the day'/><author><name>Bryan Gruneberg</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='26' src='http://1.bp.blogspot.com/_IucibYVmO3w/Se4iD_bxB3I/AAAAAAAAAAw/IoyWRVr83QI/S220/n664331259_7519.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://3.bp.blogspot.com/_IucibYVmO3w/R14WPr94JzI/AAAAAAAAAAU/R1FBRLRmUYs/s72-c/dilbert200712087309.jpg' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4895277743519325459.post-7035431435519688305</id><published>2007-12-04T22:22:00.000+02:00</published><updated>2007-12-04T22:27:06.750+02:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='dev'/><title type='text'>Functional specs</title><content type='html'>Found some cool opinions on functional specs:&lt;br /&gt;&lt;br /&gt;&lt;a href="http://www.joelonsoftware.com/articles/fog0000000036.html"&gt;Painless Functional Specifications - Part 1: Why Bother?&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;a href="http://www.mojofat.com/tutorial/index.html"&gt;Tutorial: Functional specifcation&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4895277743519325459-7035431435519688305?l=thinkopensoftware.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://thinkopensoftware.blogspot.com/feeds/7035431435519688305/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=4895277743519325459&amp;postID=7035431435519688305' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4895277743519325459/posts/default/7035431435519688305'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4895277743519325459/posts/default/7035431435519688305'/><link rel='alternate' type='text/html' href='http://thinkopensoftware.blogspot.com/2007/12/functional-specs.html' title='Functional specs'/><author><name>Christian J. Burger</name><uri>http://www.blogger.com/profile/06079289344503185280</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-4895277743519325459.post-1371023813616220053</id><published>2007-11-22T09:54:00.000+02:00</published><updated>2008-05-22T09:08:41.147+02:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='PHP'/><title type='text'>VUMA! Portal initiative launched</title><content type='html'>Over the last few months Think Open Software has been implementing, modifying and developing a portal for Neil Butcher and Associates. The portal is for use by students and staff of the FOTIM group of universities in South Africa. The portal site is called VUMA!, which is a Zulu word. Finding an accurate translation without any cultural context is always challenging. Professor Chris Van Der Walt, who spoke at the portal launch event at Wits University on 22nd November 2007, noted that a colleague of his had pointed out that VUMA! means to say "YES!". Webster's on-line translates &lt;a href="http://www.websters-online-dictionary.org/translation/Nguungulu/vuma"&gt;vuma&lt;/a&gt; as "agree, approve". This along with Professor Van Der Walt's input should provide the non-Zulu person with a semi-contextual understanding of the word.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;"Spearheaded by FOTIM, the VUMA Portal is a vibrant on-line space where students, prospective students, parents, teachers and university staff can join collaborative university communities in sharing information, ideas and resources. The VUMA! Portal launched in October 2007 and is constantly under construction. New services will be introduced monthly, so feel free to visit any time. Your contributions will help the VUMA! Portal grow into a vibrant on-line community."  --  &lt;a href="http://www.vuma.ac.za/drupal/"&gt;www.vuma.ac.za&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;Think Open Software is responsible for implementing the Vuma portal using Drupal 5. In conjunction and collaboration with Neil Butcher and Associates and Radical Technologies, Think Open customized Drupal to integrate with Media Wiki, using "folksonomy tagging" to suggest relevant Drupal content for tagged Media Wiki entries. Think Open also developed a Resource Lab which is designed to allow students and staff to share resources and links.&lt;br /&gt;&lt;br /&gt;It is hoped that these tools will foster a greater collaborative effort amongst teachers and students alike.&lt;br /&gt;&lt;br /&gt;At the VUMA! launch event, Neil Butcher spoke to the use of technology to effect social change. Think Open truly hopes that FOTIM and its members drive the use of the portal, and that Neil Butcher and Associates are successful in bringing large parts of Africa and the developing world into collaboration with each other. Think Open will continue to technically support the initiative , and stand behind the attempt to harness the power of the collaborative tools which open source software can provide, and to ultimately effect a social change from within the developing world, rather than from without.&lt;br /&gt;&lt;br /&gt;Bryan Gruneberg&lt;br /&gt;CTO&lt;br /&gt;Think Open Software&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4895277743519325459-1371023813616220053?l=thinkopensoftware.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://thinkopensoftware.blogspot.com/feeds/1371023813616220053/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=4895277743519325459&amp;postID=1371023813616220053' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4895277743519325459/posts/default/1371023813616220053'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4895277743519325459/posts/default/1371023813616220053'/><link rel='alternate' type='text/html' href='http://thinkopensoftware.blogspot.com/2007/11/vuma-portal-initiative-launched.html' title='VUMA! Portal initiative launched'/><author><name>Bryan Gruneberg</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='26' src='http://1.bp.blogspot.com/_IucibYVmO3w/Se4iD_bxB3I/AAAAAAAAAAw/IoyWRVr83QI/S220/n664331259_7519.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4895277743519325459.post-6773126688734540442</id><published>2007-11-19T13:25:00.000+02:00</published><updated>2008-05-22T09:08:41.148+02:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='PHP'/><title type='text'>Thinkopen Software coding standards (ver 0.1) released</title><content type='html'>Think Open has released its coding standards that all developers and consultants will be required to adhere to.&lt;br /&gt;&lt;br /&gt;&lt;h2&gt;   Thinkopen Software coding standards &lt;/h2&gt; &lt;p&gt;   &lt;i&gt;&lt;b&gt;version 0.1&lt;/b&gt;&lt;/i&gt;&lt;br /&gt;&lt;/p&gt;&lt;br /&gt;&lt;u&gt;Class organization&lt;/u&gt;&lt;br /&gt;&lt;br /&gt;All classes are to be organized according to the following template.&lt;br /&gt;&lt;br /&gt;class myClass&lt;br /&gt;{&lt;br /&gt;    //public static functions&lt;br /&gt;&lt;br /&gt;    //public constructors&lt;br /&gt;&lt;br /&gt;    //publicly defined interface&lt;br /&gt;&lt;br /&gt;    // non-public methods and fields&lt;br /&gt;&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;u&gt;Class documentation&lt;/u&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;We are using phpDocumetor, all developers are to be familiar with the basic documentation tags.&lt;br /&gt;&lt;br /&gt;At the file level we use the Zend Framework's template with slight modifications&lt;br /&gt;&lt;br /&gt;&lt;pre class="programlisting"&gt;&lt;code&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;/**&lt;br /&gt; * Short description for file&lt;br /&gt; *&lt;br /&gt; * Long description for file (if any)...&lt;br /&gt; *&lt;br /&gt; * LICENSE: Some license information&lt;br /&gt; *&lt;br /&gt; * @copyright  2007 Thinkopen Software&lt;br /&gt; * @version    m.n.o&lt;br /&gt; * @since      File available since Release 1.2.0&lt;br /&gt;*/&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt; At the class level we use the Zend Framework's template with slight modifications&lt;br /&gt;&lt;br /&gt;&lt;pre class="programlisting"&gt;&lt;code&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;/**&lt;br /&gt; * Short description for class&lt;br /&gt; *&lt;br /&gt; * Long description for class (if any)...&lt;br /&gt; *&lt;br /&gt; * @copyright  &lt;/span&gt;&lt;/code&gt;&lt;code&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;2007 Thinkopen Software&lt;/span&gt;&lt;/code&gt;&lt;code&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;&lt;br /&gt; * @version    &lt;/span&gt;&lt;/code&gt;&lt;code&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;m.n.o&lt;/span&gt;&lt;/code&gt;&lt;code&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;&lt;br /&gt; * @since      Class available since Release 1.2.0&lt;br /&gt; * @deprecated Class deprecated in Release 2.0.0&lt;br /&gt; */&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;br /&gt;More importantly, every single public function must minimally document it's arguments and return types. This is vitally important for enforcing type safety in our php code, as well as making exposing the classes as, for example, SOAP objects way easier.&lt;br /&gt;&lt;b&gt;&lt;i&gt;Wherever possible use type hinting.&lt;/i&gt;&lt;/b&gt;&lt;br /&gt;The following tags HAVE to be implemented on any class marked as public or protected.&lt;br /&gt;&lt;br /&gt;@param --&lt;br /&gt;&lt;ol&gt;&lt;li&gt;     if the type is not a basic type, use class name   &lt;/li&gt;&lt;li&gt;     if the class being accepted is not in the project, provide a @see and/or and     @example for class&lt;br /&gt;  &lt;/li&gt;&lt;/ol&gt; @return --&lt;br /&gt;&lt;ol&gt;&lt;li&gt;     if the type is not a basic type, use class name   &lt;/li&gt;&lt;li&gt;     if the class being accepted is not in the project, provide a @see and/or and     @example for class&lt;br /&gt;  &lt;/li&gt;&lt;/ol&gt;&lt;br /&gt;&lt;br /&gt;http://pear.php.net/package/PhpDocumentor/docs/1.4.0/phpDocumentor/tutorial_tags.pkg.html&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;u&gt;Naming conventions&lt;br /&gt;&lt;br /&gt;&lt;/u&gt;Since we are running PHP (weakly typed), it's recommended that we use a modified Camel Casing with a bit of Hungarian notation thrown in.&lt;br /&gt;That is, variable look like the following,&lt;br /&gt;$xNameOfVariable&lt;br /&gt;Where x is a letter(/s) representing the type of the variable.&lt;br /&gt;i - integer&lt;br /&gt;f - foating point or double (if applicable)&lt;br /&gt;s - string&lt;br /&gt;o - representing an instance of some class.&lt;br /&gt;&lt;br /&gt;we also use an 'axNameOfArray' to represent an array of the type indicated by x.&lt;br /&gt;&lt;br /&gt;Examples :&lt;br /&gt;$iMyNumber - integer&lt;br /&gt;$aiMyNumbers - array of integers&lt;br /&gt;$oSomeObject - instance of some class&lt;br /&gt;$aoSomeObjects - array of objects&lt;br /&gt;&lt;br /&gt;&lt;u&gt;Coding standard generally&lt;/u&gt;&lt;br /&gt;&lt;br /&gt;All code is to conform to the standards set in the Zend Framework's coding standard as the default, &lt;b&gt;&lt;i&gt;except where the Thinkopen internal standard differs above&lt;/i&gt;&lt;/b&gt;&lt;br /&gt;&lt;br /&gt;http://framework.zend.com/manual/en/coding-standard.html&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4895277743519325459-6773126688734540442?l=thinkopensoftware.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://thinkopensoftware.blogspot.com/feeds/6773126688734540442/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=4895277743519325459&amp;postID=6773126688734540442' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4895277743519325459/posts/default/6773126688734540442'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4895277743519325459/posts/default/6773126688734540442'/><link rel='alternate' type='text/html' href='http://thinkopensoftware.blogspot.com/2007/11/thinkopen-software-coding-standards-ver.html' title='Thinkopen Software coding standards (ver 0.1) released'/><author><name>Bryan Gruneberg</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='26' src='http://1.bp.blogspot.com/_IucibYVmO3w/Se4iD_bxB3I/AAAAAAAAAAw/IoyWRVr83QI/S220/n664331259_7519.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4895277743519325459.post-4092851838388494844</id><published>2007-10-27T20:42:00.001+02:00</published><updated>2008-05-22T09:08:41.148+02:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='PHP'/><category scheme='http://www.blogger.com/atom/ns#' term='dev'/><title type='text'>Quick review: Zend Studio Neon Beta</title><content type='html'>Just managed to download the Neon Beta. I've never used eclipse before, so I was quite excited (and tore off the christmas wrapping vigorously). Spent a couple of minutes playing and was quite impressed. It seems to do everything &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_0"&gt;Zend&lt;/span&gt; Studio does and more. Its not &lt;span class="blsp-spelling-corrected" id="SPELLING_ERROR_1"&gt;kludgy&lt;/span&gt; as I expected, once loaded the menu and tools are very responsive.&lt;blockquote&gt;&lt;/blockquote&gt;Much tighter integration with &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_2"&gt;Zend&lt;/span&gt; Framework. For instance choosing a "new &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_3"&gt;zend&lt;/span&gt; framework project" creates the entire &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_4"&gt;MVC&lt;/span&gt; file structure for you, plus Index and Error controllers. Click new controller/model/view from the menu and you are prompted for the name and the new file is created for you in the correct location.&lt;br /&gt;&lt;br /&gt;Same type of integration is provided for &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_5"&gt;PHP&lt;/span&gt; Unit test cases and suits. The other extra features:&lt;br /&gt;&lt;br /&gt;- more advanced HTML editor with pane to set element properties&lt;br /&gt;- &lt;span class="blsp-spelling-corrected" id="SPELLING_ERROR_6"&gt;refactoring&lt;/span&gt;, ofcourse&lt;br /&gt;- ability to set tasks for active pages&lt;br /&gt;- complete log of change history per page&lt;br /&gt;&lt;br /&gt;The standard &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_7"&gt;Zend&lt;/span&gt; Studio Pro features are also included:&lt;br /&gt;- Remote debugging&lt;br /&gt;- &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_8"&gt;Zend&lt;/span&gt; Platform events&lt;br /&gt;- &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_9"&gt;SQL&lt;/span&gt; and FTP integration&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4895277743519325459-4092851838388494844?l=thinkopensoftware.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://thinkopensoftware.blogspot.com/feeds/4092851838388494844/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=4895277743519325459&amp;postID=4092851838388494844' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4895277743519325459/posts/default/4092851838388494844'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4895277743519325459/posts/default/4092851838388494844'/><link rel='alternate' type='text/html' href='http://thinkopensoftware.blogspot.com/2007/10/quick-review-zend-studio-neon-beta.html' title='Quick review: Zend Studio Neon Beta'/><author><name>Christian J. Burger</name><uri>http://www.blogger.com/profile/06079289344503185280</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-4895277743519325459.post-917264387181437022</id><published>2007-10-23T08:03:00.000+02:00</published><updated>2008-05-22T09:08:41.148+02:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='PHP'/><category scheme='http://www.blogger.com/atom/ns#' term='dev'/><title type='text'>PHP/FI 2.0</title><content type='html'>was surprised to see you can still find the &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_0"&gt;PHP&lt;/span&gt;/&lt;span class="blsp-spelling-error" id="SPELLING_ERROR_1"&gt;FI&lt;/span&gt; documentation. This is for v2.0, the predecessor to the famous &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_2"&gt;PHP&lt;/span&gt;3&lt;br /&gt;&lt;br /&gt;&lt;a href="http://www.php.net/manual/phpfi2.php#history"&gt;http://www.php.net/manual/phpfi2.php#history&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;Also tracked down old &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_3"&gt;Rasmus&lt;/span&gt; &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_4"&gt;Lerdorf&lt;/span&gt;, the original creator of &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_5"&gt;PHP&lt;/span&gt;/&lt;span class="blsp-spelling-error" id="SPELLING_ERROR_6"&gt;FI&lt;/span&gt;. His resume is very interesting reading:&lt;br /&gt;&lt;br /&gt;&lt;a href="http://www.lerdorf.on.ca/"&gt;http://www.lerdorf.on.ca/&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4895277743519325459-917264387181437022?l=thinkopensoftware.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://thinkopensoftware.blogspot.com/feeds/917264387181437022/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=4895277743519325459&amp;postID=917264387181437022' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4895277743519325459/posts/default/917264387181437022'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4895277743519325459/posts/default/917264387181437022'/><link rel='alternate' type='text/html' href='http://thinkopensoftware.blogspot.com/2007/10/phpfi-20.html' title='PHP/FI 2.0'/><author><name>Christian J. Burger</name><uri>http://www.blogger.com/profile/06079289344503185280</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-4895277743519325459.post-4734296963106451198</id><published>2007-10-19T19:44:00.000+02:00</published><updated>2008-05-22T09:08:41.149+02:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='PHP'/><category scheme='http://www.blogger.com/atom/ns#' term='dev'/><category scheme='http://www.blogger.com/atom/ns#' term='.biz'/><title type='text'>Watefall software development model</title><content type='html'>Very informative account of the "Waterfall model" the history, the flaws and improvements.&lt;br /&gt;&lt;br /&gt;http://en.wikipedia.org/wiki/Waterfall_model&lt;br /&gt;&lt;br /&gt;also list of other documented models:&lt;br /&gt;&lt;br /&gt;http://en.wikipedia.org/wiki/Waterfall_model#See_also&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4895277743519325459-4734296963106451198?l=thinkopensoftware.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://thinkopensoftware.blogspot.com/feeds/4734296963106451198/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=4895277743519325459&amp;postID=4734296963106451198' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4895277743519325459/posts/default/4734296963106451198'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4895277743519325459/posts/default/4734296963106451198'/><link rel='alternate' type='text/html' href='http://thinkopensoftware.blogspot.com/2007/10/watefall-software-development-model.html' title='Watefall software development model'/><author><name>Christian J. Burger</name><uri>http://www.blogger.com/profile/06079289344503185280</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-4895277743519325459.post-1745352591283000240</id><published>2007-09-28T22:58:00.001+02:00</published><updated>2008-12-09T05:34:33.267+02:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='news'/><title type='text'>Bush breakaway</title><content type='html'>photo from recent company strategy break away. We drove out to the rock where there is cellular reception, to e-mail the outsurance proposal.&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://3.bp.blogspot.com/_31ZqXLuZ0bU/Rv1rlq95olI/AAAAAAAAAcE/ESq9Ih0LXAc/s1600-h/dsc01074.jpg"&gt;&lt;img style="margin: 0pt 10px 10px 0pt; float: left; cursor: pointer; width: 213px; height: 160px;" src="http://3.bp.blogspot.com/_31ZqXLuZ0bU/Rv1rlq95olI/AAAAAAAAAcE/ESq9Ih0LXAc/s200/dsc01074.jpg" alt="" id="BLOGGER_PHOTO_ID_5115363046696002130" border="0" /&gt;&lt;/a&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://4.bp.blogspot.com/_31ZqXLuZ0bU/Rv5zCq95omI/AAAAAAAAAcM/ne8NDdYt7ro/s1600-h/IMAGE_029.jpg"&gt;&lt;img style="margin: 0pt 10px 10px 0pt; float: left; cursor: pointer;" src="http://4.bp.blogspot.com/_31ZqXLuZ0bU/Rv5zCq95omI/AAAAAAAAAcM/ne8NDdYt7ro/s200/IMAGE_029.jpg" alt="" id="BLOGGER_PHOTO_ID_5115652716470313570" border="0" /&gt;&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4895277743519325459-1745352591283000240?l=thinkopensoftware.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://thinkopensoftware.blogspot.com/feeds/1745352591283000240/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=4895277743519325459&amp;postID=1745352591283000240' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4895277743519325459/posts/default/1745352591283000240'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4895277743519325459/posts/default/1745352591283000240'/><link rel='alternate' type='text/html' href='http://thinkopensoftware.blogspot.com/2007/09/bush-breakaway.html' title='Bush breakaway'/><author><name>Christian J. Burger</name><uri>http://www.blogger.com/profile/06079289344503185280</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://3.bp.blogspot.com/_31ZqXLuZ0bU/Rv1rlq95olI/AAAAAAAAAcE/ESq9Ih0LXAc/s72-c/dsc01074.jpg' height='72' width='72'/><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4895277743519325459.post-7131871049363816436</id><published>2007-09-15T08:27:00.000+02:00</published><updated>2007-09-15T08:55:55.289+02:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='news'/><title type='text'>Think Open Software and Obsidian enters into a strategic partnership</title><content type='html'>We are very excited to announce a new strategic partnership between Think Open Software and the Obsidian Group. As part of this new relationship Obsidian Switch will take over all Linux server support and maintenance currently being performed by Think Open. &lt;br /&gt;&lt;br /&gt;Think Open Software will take over all web based software development projects currently maintained by Obsidian.&lt;br /&gt;&lt;br /&gt;This partnership allows both companies to focus on their respective strengths. The combined expertise and experience will be of great value to our customers going forward.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4895277743519325459-7131871049363816436?l=thinkopensoftware.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://thinkopensoftware.blogspot.com/feeds/7131871049363816436/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=4895277743519325459&amp;postID=7131871049363816436' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4895277743519325459/posts/default/7131871049363816436'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4895277743519325459/posts/default/7131871049363816436'/><link rel='alternate' type='text/html' href='http://thinkopensoftware.blogspot.com/2007/09/think-open-software-and-obsidian-enters.html' title='Think Open Software and Obsidian enters into a strategic partnership'/><author><name>Christian J. Burger</name><uri>http://www.blogger.com/profile/06079289344503185280</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-4895277743519325459.post-7307449830620271490</id><published>2007-08-30T12:38:00.000+02:00</published><updated>2008-05-22T09:08:41.149+02:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='PHP'/><category scheme='http://www.blogger.com/atom/ns#' term='.biz'/><title type='text'>Reducing software development time with Zend</title><content type='html'>If you are already familiar with Zend Studio, you will know about the various time saving features, such as code completion, integrated ftp/mysql/cvs/svn, internal debuging and syntax checking. In my opinion its real claim to fame is its integration with the debugging server shipped with Zend Platform or Zend Core. Typically this is used in conjunction with the browser plugins that are available, this allows you to navigate your application and at any given page start debugging with all the GET, POST or session data that were set within your browser session. It executes the code on the server but sends the debugging to Zend Studio allowing you to step through (in and over) the code, included files, etc. Debugging this way is a great time saver. In addition profiling the execution time of your scripts and finding out where the bottle necks are, is really quick to do. &lt;br /&gt;&lt;br /&gt;In addition to debugging, Zend Platform also monitors all PHP execution on the server. It has standard event triggers that can let you know when things go wrong. It also allows one to specify your own triggers. Using monitoring you know exactly when and how your application is breaking, running slower than usual, running under high load, etc. Again this saves time in problem solving and debugging and money in reduced down time. &lt;br /&gt;&lt;br /&gt;Zend Platform can also save time in improving your applications performance. It provides various performance enhancement features that work "out of the box". So less time is spent on rewriting code in order to improve performance.&lt;br /&gt;&lt;br /&gt;In my own words &lt;a href="http://framework.zend.com"&gt;Zend Framework&lt;/a&gt; is an open source library of best practices. It allows a developer to draw on years and years of PHP development trial and error. Implementing your applications correctly within the framework immediately provides scalability, security that would otherwise take days or weeks to write. A lot of this is "black box" stuff under the hood and customers don’t normally appreciate its value, because they don’t see or understand it. This level of coding is therefor ommitted by developers, because "we'll worry about it when we get there", which is really not a good approach. As soon as they are under SQL injection attacks or high load, they enjoy great benefit. In addition Zend Framework improves reusing of code... A big time saver. Lastly Zend Framework makes implementing common things such as access control, XML reading/writing, PDF writing, interfacing with common API's such as those from Google, etc. a LOT quicker and easier. This list is growing, and I really believe it will become very difficult to stay comptetive as developer without basing your application on it. AND its FREE and &lt;br /&gt;&lt;br /&gt;Another aspect that can speed up development dramatically is skill. A skilled developer is a fast developer and Zend offers various training including PHP Certification training and Zend Framework training. Both of these are very good investments in a development business. &lt;br /&gt;&lt;br /&gt;Then as a developer you might want to implement license control or protect your code from reverse engineering. Especially if its hosted on an ISP's server or at a client. Zend Guard allows you to encode your app so that it is protected. It also provides license key generation to help control use of your application. Simple, easy and quick.&lt;br /&gt;&lt;br /&gt;If you've never heard of Zend, &lt;a href='http://www.thinkopen.biz/zend'&gt;find out more here&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4895277743519325459-7307449830620271490?l=thinkopensoftware.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://thinkopensoftware.blogspot.com/feeds/7307449830620271490/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=4895277743519325459&amp;postID=7307449830620271490' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4895277743519325459/posts/default/7307449830620271490'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4895277743519325459/posts/default/7307449830620271490'/><link rel='alternate' type='text/html' href='http://thinkopensoftware.blogspot.com/2007/08/reduce-software-development-time-with.html' title='Reducing software development time with Zend'/><author><name>Christian J. Burger</name><uri>http://www.blogger.com/profile/06079289344503185280</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-4895277743519325459.post-179979187799857529</id><published>2007-08-23T19:33:00.000+02:00</published><updated>2007-09-15T08:16:08.036+02:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='dev'/><title type='text'>Fixing yui menu.js error in IE (Internet Explorer)</title><content type='html'>While developing an application for a client that employs the YUI (Yahoo User Interface - http://developer.yahoo.com/yui/) tools, I found that the menu I built that runs in Firefox caused an IE script error.&lt;br /&gt;&lt;br /&gt;After going through the mission of trying to find how to debug IE javascript (because IE lacks a decent built in debugger), I eventually got Visual Studio to debug the error.&lt;br /&gt;&lt;br /&gt;The actual error returned is "Error: Object required".&lt;br /&gt;&lt;br /&gt;To fix this, take the following steps.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;ol&gt;&lt;li&gt;Open yui/build/menu/menu.js&lt;/li&gt;&lt;li&gt;Goto line 1482 (or the line that says  while((oNode = oNode.nextSibling));&lt;br /&gt;&lt;/li&gt;&lt;li&gt;change the line to: while(oNode &amp;&amp;amp; (oNode = oNode.nextSibling));&lt;/li&gt;&lt;/ol&gt;This should get rid of the error !&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4895277743519325459-179979187799857529?l=thinkopensoftware.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://thinkopensoftware.blogspot.com/feeds/179979187799857529/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=4895277743519325459&amp;postID=179979187799857529' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4895277743519325459/posts/default/179979187799857529'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4895277743519325459/posts/default/179979187799857529'/><link rel='alternate' type='text/html' href='http://thinkopensoftware.blogspot.com/2007/08/fixing-yui-menujs-error-in-ie-internet.html' title='Fixing yui menu.js error in IE (Internet Explorer)'/><author><name>Bryan Gruneberg</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='26' src='http://1.bp.blogspot.com/_IucibYVmO3w/Se4iD_bxB3I/AAAAAAAAAAw/IoyWRVr83QI/S220/n664331259_7519.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4895277743519325459.post-1665316516092093461</id><published>2007-07-28T20:13:00.000+02:00</published><updated>2008-12-09T05:34:33.467+02:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='news'/><title type='text'>The team</title><content type='html'>&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://1.bp.blogspot.com/_31ZqXLuZ0bU/Rv1IBK95okI/AAAAAAAAAb8/mFADbRSU-zw/s1600-h/DSC00625.JPG"&gt;&lt;img style="margin: 0pt 10px 10px 0pt; float: left; cursor: pointer;" src="http://1.bp.blogspot.com/_31ZqXLuZ0bU/Rv1IBK95okI/AAAAAAAAAb8/mFADbRSU-zw/s200/DSC00625.JPG" alt="" id="BLOGGER_PHOTO_ID_5115323936723804738" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;The guys&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4895277743519325459-1665316516092093461?l=thinkopensoftware.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://thinkopensoftware.blogspot.com/feeds/1665316516092093461/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=4895277743519325459&amp;postID=1665316516092093461' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4895277743519325459/posts/default/1665316516092093461'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4895277743519325459/posts/default/1665316516092093461'/><link rel='alternate' type='text/html' href='http://thinkopensoftware.blogspot.com/2007/07/team.html' title='The team'/><author><name>Christian J. Burger</name><uri>http://www.blogger.com/profile/06079289344503185280</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://1.bp.blogspot.com/_31ZqXLuZ0bU/Rv1IBK95okI/AAAAAAAAAb8/mFADbRSU-zw/s72-c/DSC00625.JPG' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4895277743519325459.post-4680032968789773230</id><published>2007-07-02T19:44:00.000+02:00</published><updated>2008-12-09T05:34:33.853+02:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='news'/><category scheme='http://www.blogger.com/atom/ns#' term='Zend'/><title type='text'>Visit to Zend</title><content type='html'>&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://2.bp.blogspot.com/_31ZqXLuZ0bU/Rv0_La95ohI/AAAAAAAAAbk/Mwt2ui5L74E/s1600-h/DSC00657.JPG"&gt;&lt;img style="margin: 0pt 10px 10px 0pt; float: left; cursor: pointer;" src="http://2.bp.blogspot.com/_31ZqXLuZ0bU/Rv0_La95ohI/AAAAAAAAAbk/Mwt2ui5L74E/s200/DSC00657.JPG" alt="" id="BLOGGER_PHOTO_ID_5115314217212813842" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;Discovered some photo's of the visit to Zend Technologies in Israel, earlier this year.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://2.bp.blogspot.com/_31ZqXLuZ0bU/Rv1BWa95oiI/AAAAAAAAAbs/vpTo_XeLbyA/s1600-h/DSC00654.JPG"&gt;&lt;img style="margin: 0pt 10px 10px 0pt; float: left; cursor: pointer;" src="http://2.bp.blogspot.com/_31ZqXLuZ0bU/Rv1BWa95oiI/AAAAAAAAAbs/vpTo_XeLbyA/s200/DSC00654.JPG" alt="" id="BLOGGER_PHOTO_ID_5115316605214630434" border="0" /&gt;&lt;/a&gt;It was a great experience, met some good people and learned a lot. Uval and Idan, the sales engine...&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://3.bp.blogspot.com/_31ZqXLuZ0bU/Rv1Dkq95ojI/AAAAAAAAAb0/FRyIjdFDoeQ/s1600-h/DSC00658.JPG"&gt;&lt;img style="margin: 0pt 10px 10px 0pt; float: left; cursor: pointer;" src="http://3.bp.blogspot.com/_31ZqXLuZ0bU/Rv1Dkq95ojI/AAAAAAAAAb0/FRyIjdFDoeQ/s200/DSC00658.JPG" alt="" id="BLOGGER_PHOTO_ID_5115319049051021874" border="0" /&gt;&lt;/a&gt;Wonderful country. The SA of the middle east, i think. Only a little time for siteseeing though.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4895277743519325459-4680032968789773230?l=thinkopensoftware.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://thinkopensoftware.blogspot.com/feeds/4680032968789773230/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=4895277743519325459&amp;postID=4680032968789773230' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4895277743519325459/posts/default/4680032968789773230'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4895277743519325459/posts/default/4680032968789773230'/><link rel='alternate' type='text/html' href='http://thinkopensoftware.blogspot.com/2007/09/visit-to-zend.html' title='Visit to Zend'/><author><name>Christian J. Burger</name><uri>http://www.blogger.com/profile/06079289344503185280</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://2.bp.blogspot.com/_31ZqXLuZ0bU/Rv0_La95ohI/AAAAAAAAAbk/Mwt2ui5L74E/s72-c/DSC00657.JPG' height='72' width='72'/><thr:total>0</thr:total></entry></feed>
