Tag Archive | "PHP"

Tags: , , ,

OS X and Visual Diffs

Posted on 29 April 2008 by Demian Turner

What are people using as a visual diff tool on OS X?  Since my move to the Mac just over 1 year ago this is the one tool I have been unable to replace.

On the linux desktop I used meld for years and miss it greatly.  It’s simple and effective and doesn’t do any more than is required.  I also spent a record amount of time trying to get this package to compile on OS X, something like 2 days once.  Would love to see a screenshot of someone who has it running 🙂  Current solution is to launch Parallels and run meld in Fedora, very painful ..

And please don’t suggest FileMerge.app, this program is really anemic compared to meld.

Comments (25)

Tags: ,

PHPkitchen switches to WordPress

Posted on 14 April 2008 by Demian Turner

Despite giving Matt and the boys some flack recently I must admit I’ve really been enjoying the user experience of WordPress while experimenting with it on a non-technical blog.  One thing led to another, and finally the s9y backend used to run PHPkitchen became too painful to use.

The main problem was a typical one for Mac users, the wysiwyg in s9y has no support for Safari and using Firefox is just too painful.  Things like listing the plugins would frequently crash the browser when one page consisted of 50 plugins, each associated with a combobox of 700 users.  

I’d like to blame my paltry blog output over the last couple of years to a whole host of technical problems, but the bottom line is things have been kinda busy with Kindo and a few other projects.

So last weekend I finally switched over to WordPress, and really the blogging experience is way smoother, I anticipate the posting frequency here will improve favourably.  From auto-save to great HTML support to customisable SEO URLs – there are a lot of features that simply blow away the competition.

Ping notifications are way better organised in WP, and the automatic generation of a sitemap.xml for 7 years worth of content is just fantastic.  Have also been playing with the stats plugin, interesting because after being brainwashed into thinking Google Analytics was the holy grail of web stats, I’ve found the WP stats considerably more meaningful, succinct and relavant.

The URLs at PHPkitchen have changed a bit with the migration so until Google and Yahoo update their indexes you’ll probably have to use the site search to find the article you’re looking for.  Please let me know if you find any glitches with the content, 404s or any other problems.

Comments (2)

Tags: ,

PHP London Conference ’08 on Friday 29th Feb

Posted on 19 February 2008 by Demian Turner

UPDATE: the conference is now sold out. See you there if you’re coming, I’ll be helping out on registration this year.

There are still a few tickets left so if you want to check out this year’s great lineup of speakers you’ll have to act quickly.

The conference is in an exciting new venue this year and will have 2 tracks. Speakers include:

  • Ivo Jansch: Enterprise PHP
  • Scott MacVicar & Mike Sullivan
    Lessons Learned: Experience from the front line
  • Stefan Esser
    PHP Binary Analysis
  • Marcus Bointon
    Mail(); & Life after Mail();
  • Scott MacVicar
    SQLite 3
  • Rob Allen, Toby Beresford & Ian.P.Christian
    My Framework is better than yours?
  • Zoe Slattery
    __Testing PHP (Test || Die)
  • Derick Rethans
    Closing Keynote

or see the PHP London Conference 2008 site for more details.

Comments (0)

Tags: , ,

You don’t need to be secure to be successful

Posted on 30 January 2008 by Demian Turner

Philipp is absolutely right, guessing a photo from among 250,000,000 is easier than guessing a photo from a GUID. It’s still very difficult. I wish I’d done GUIDs when we first started, but to be honest, I just didn’t know what they were. That’s my fault. As I explained to Philipp, we’re willing to overhaul our system to use GUIDs – a very expensive proposition – except that no-one has ever asked for them, to my knowledge, in the 5 years we’ve been in business.

That’s from Don MacAskill, the CEO of smugmug, in response to this article via Chris Shiflett.

Comments (1)

Tags: , ,

Seagull 0.6.3 Remote File Disclosure Vulnerability – Please Upgrade

Posted on 25 January 2008 by Demian Turner

Well the title says it all, but I don’t think this is a reason for anyone to have a heart attack, aside from me but I’m recovered now 😉

Please download Seagull 0.6.4 which includes the small fix required to solve the file disclosure problem.  0.6.3 is no longer available.

As the release has only been out <24 hours I doubt there are many production sites running on the vulnerable code, but if you were svn updating a live site, a very bad practice by the way, then svn up again 😉

The problem: very simple, some recent code we introduced to merge, compress and cache CSS and js files was accepting arbitrary paths from GET – ouch.  The checking is now much more stringent.

Thanks to the gentleman over at milw0rm.com who posted the flaw less than 24hrs after the release went out. While he didn’t inform me or anyone I know of, Google alerts notified me of his announcement. In my view this is open source (with a little help from Google) working at its best.

Finally, please note that the title of the exploit article is inaccurate, it claims versions <= 0.6.3 are affected, this is not true, the affected optimizer.php file was only introduced in 0.6.3.

Comments (3)

Tags: ,

New Release of the Seagull framework – 0.6.3

Posted on 23 January 2008 by Demian Turner

Well it took a bit of time but after quite a few months a new release of Seagull is finally out, 0.6.3. Things have been keeping pretty busy with the startup I’m working on, but it’s been a great opportunity to refine some features of the framework and optimise the performance.

The early indications are good, after less than 10 weeks of going live Kindo users are creating up to 20k profiles/day and the server load is staying comfortably below 0.5.

The latest Seagull release has a long list of improvements and new features, now it’s just a case of bringing the wiki documentation up to date to reflect this 😉 Should happen in next few weeks.

Here’s an overview of what’s new:

  • CSS and JavaScript reorganization and optimization
  • emails can now be stored in a queue managed by the db
  • caching support has been extended to include javascript, css, PHP libraries and method calls
  • we integrated Horde_Routes, imo one of the better PHP routes libs available
  • Zend_Cache, which had clearly overtaken Cache_Lite is now wrapped by SGL_Cache, so devs have easy access to a memcached backend
  • Dmitri developed an alternative array-based navigation driver, same flexibility as former driver but lightning fast
  • out-of-the-box RTL support thanks to our work on the Arabic translation of http://kindo.com/
  • the test suite now runs end-to-end in CLI
  • the translation module has been greatly enhanced and was key in allowing us to release 14 languages in 10 weeks, including Arabic, Chinese and Russian
  • full support for stored proc multiple resultsets in the SGL MySQL db driver and for storing DDLs for procs, views, functions, triggers and default or test data in your modules
  • many performance improvements
  • support for multiple attachments in SGL_Emailer

See the CHANGELOG for full details.

Comments (0)

Tags: , ,

Startups powered by Seagull: Podcast.de

Posted on 22 January 2008 by Demian Turner

Thanks to Fabio Bacigalupo for the following article, part of an upcoming mini-series about successful startups built on the Seagull platform.

Running a successful website is a constant balancing act between achieving good performance and scaling smoothly. Read how we have used the Seagull framework to build our portal podcast.de. As a start-up we provide a web-based service to find, comment, play and recommend audio and video podcasts. At the moment the service is intended for a German speaking audience only but we are prepared for internationalisation thanks to Seagull.

Comments (1)

Tags: ,

PHP Welcomed into IBM’s Stable of Emerging Technologies

Posted on 26 February 2005 by Demian Turner

As part of the Zend Core for IBM strategy, PHP – fresh with an enhanced feature set in version 5 – is to be welcomed into the stable of emerging technologies at IBM. This is the most exciting news I’ve heard for PHP in years, there are definitely good things in store for developers who have toughed it out with PHP’s sometimes-awkward development quirks. From the ugly duckling of PHP3 (earliest I saw) to the sleek beast of current version 5, PHP seems guaranteed a comfortable place on the entreprise application stage.

Read the IBM doc carefully, announced by Andi Gutmans yesterday, obviously a lot of work has been going on under the covers at IBM and Zend. Also check out IBM’s Service Data Object spec which proposes not only an elegant model for object-relational mapping, a sadly weak area for PHP that has no Hibernate, but a web service driven abstraction layer for any data source, be it db, xml, web service, etc.

Some of the main points covered by the IBM announcement:

  • services oriented architecture
  • moving LAMP to the next level
  • PHP 5’s strong web service/XML support
  • PDO’s role
  • service data objects for PHP

If you’re not running PHP 5 yet, get on the case – if you’re parsing XML but haven’t experienced WSDL’s discovery approach, try it out with native SOAP support in PHP5. And if you find bugs, report them or better yet, send in a patch!

Comments (0)

Tags: ,

Using curl with PHP Tutorial

Posted on 18 February 2005 by Demian Turner

Thanks for this anonymous submission

Learn to use curl with php to query remote webservers for data. This can be done to automate form submission, process credit cards, and more. Topics covered include SSL, cookie handling, and more.

Read the full article here

Comments (10)

Tags: , ,

PEAR Tutorials

Posted on 20 January 2005 by Demian Turner


PEAR manual
PEAR overview
Getting started with PEAR
Introduction to PEAR
PEAR based Deployment
Inside PHP and PEAR Development
PEAR and PECL Packaging
Web installer
Web installer (*)
* works with PHP 4.2.3

Package Tutorials

Archive_Tar http://www.melonfire.com
Archive_Tar http://www.contentmanager.de (German)
Cache http://www.onlamp.com
Cache http://www.ulf-wendel.de (German)
Cache_Lite http://www.melonfire.com
Config http://www.devshed.com
Config http://www.phpkitchen.com
Console_* http://www.phpkitchen.com
Console_Getopt http://www.sitepoint.com
Crypt_HMAC http://php-mag.net
Date_Holidays http://blog.php-tools.de
DB (improvements) http://www.php-mag.net
DB http://www.devshed.com
DB http://evolt.org
DB http://www.nusphere.com [pdf]
DB http://www.onlamp.com
DB http://www.phpbuilder.com
DB http://www.devshed.com
DB (portability) http://www.php-mag.net
DB_DataObject http://www.phpkitchen.com
DB_DataObject http://www.sitepoint.com
Error http://conf.php.net
Error http://www.php-mag.net
File_Archive http://poocl.la-grotte.org
HTML_AJAX http://blog.joshuaeichorn.com
HTML_Menu with DB_NestedSet http://trac.seagullproject.org
HTML_Progress http://pear.laurent-laville.org
HTML_Template_Flexy plugins http://trac.seagullproject.org
HTML_Quickform http://www.devarticles.com
HTML_Quickform http://www.devarticles.com
HTML_Quickform http://www.thelinuxconsultancy.co.uk
HTML_Quickform http://www.devarticles.com
HTML_Quickform http://www.onlamp.com
HTML_Quickform http://www.pookey.co.uk
HTML_Table http://dev.obliquid.com
HTML_Table http://www.phpbuilder.com
HTML_Table http://pear.php.net
HTML_Template_ITX http://codewalkers.com
HTML_TreeMenu http://www.phpkitchen.com
HTTP_Upload (multiple files) http://zarski.com
Image_Graph http://pear.veggerby.dk
LiveUser http://www.backendmedia.com
LiveUser http://pear.limbourg.com
Log http://www.indelible.org
Log http://www.phpbuilder.com
Mail http://www.zend.com
Mail http://pear.php.net
Mail_Mime http://www.contentmanager.de
Mail_Queue http://pear.php.net
MDB http://php-mag.net
Net_Dict http://freedomink.org
Numbers_Words http://builder.com.com
Pager vs. Pager_Sliding http://pear.php.net
PHPdocumentor http://builder.com.com
PHPdocumentor http://phpdoc.org
PHPdocumentor http://talks.php.net (mozilla only)
PHPUnit http://www.phpunit.de
SOAP http://www.oikoyama.net
SOAP http://www.onlamp.com
SOAP http://www.phppatterns.com
SOAP http://www.devchannel.org
Spreadsheet_Excel_Writer http://www.phpmag.net (bottom of page)
Spreadsheet_Excel_Writer http://pear.php.net
Spreadsheet_Excel_Writer http://www.sitepoint.com
Spreadsheet_Excel_Writer http://www.akademie.de (German)
Structures_DataGrid http://www.samalyse.com
Text_Captcha http://phpsec.org
Text_Statistics http://www.phpkitchen.com
Translation2 http://pear.php.net
Translation2 http://www.alberton.info
Translation2 http://www.alberton.info
Tree http://www.phpkitchen.com
XML_Parser http://www.schst.net
XML_RPC http://codewalkers.com
XML_RSS http://freedomink.org
XML_Serializer http://www.devshed.com
XML_Serializer http://freedomink.org
XML_Serializer http://www.sitepoint.com
XML_sql2xml http://php.chregu.tv
XML_Statistics http://builder.com.com
XML_Transformer http://www.xml.com
XML_Tree http://www.melonfire.com

Comments (18)



Demian Turner's currently-reading book recommendations, reviews, favorite quotes, book clubs, book trivia, book lists