Archive | Programming

Tags: ,

PHP on Rails

Posted on 27 September 2008 by Demian Turner

This is well-known stuff but funny nevertheless 😉

Comments (3)

Tags: , , ,

Kindo Acquired by MyHeritage

Posted on 23 September 2008 by Demian Turner

I didn’t get a chance yet to blog about our last TechCrunching, but Kindo, the startup I co-founded in March 2007, today announced its sale to MyHeritage, the biggest player in the family tree space.

Kindo is a PHP social net app built on the Seagull framework and other open source software.  At peak popularity our users were building 38k profiles/day and we acquired more than 1m profiles in our first 10 weeks.  More details on my CV.

Hats off to the Kindo team and to the Kindo devs who don’t appear in the TC photo.

Comments (5)

Tags: ,

What’s your killer iPhone Idea?

Posted on 27 August 2008 by Demian Turner

Been so busy lately I haven’t had much time to think about the wonderful new 3g iPhone, however reading the comments on Dave Troy’s blog got the ball rolling again 😉

I’m quite happy with the latest iPhone, but it certainly has quite a few problems.  Most of the complaints I’ve bumped into on the web has been overhyped, but what I would consider real issues are as follows:

  • poor 3g reception
  • inability to recognise that a trusted wifi network won’t authenticate, and the need to manually “forget the network” in order to connect
  • instability of even core software: what’s up with address book, even after firmware update 2.0.2 it constantly freezes … am restarting the phone a lot to try and get around it
  • what’s up with the New York Times? I love this app but it’s a frequent crasher and mostly can’t retrieve data, even on wifi I get endless spinning wheels
  • inability to run programs in the background: if you can run music behind any program, why not any other program?  I recently tried out http://www.instamapper.com and it’s great, but totally impractical as you can’t use the phone for anything else while it’s tracking ..

Two apps I’d love to see asap, not listed in aforementioned comments:

  • ability to use the iPhone as a 3g wifi router: free wifi connectivity outside your home/office in the UK is absolutely horrendous and I often find myself stuck because either Starbucks data rates are unreasonable or more likely because Joe Bloggs wifi service is out of order
  • verbose feedback for network activity: like the verbose output on an ssh connection.  There’s so much wheel-spinning I think it would greatly relieve frustration to know what exact problem the iPhone is having connecting
  • loopt: I wrote those guys to see when their app would be released in the UK, no answer …

So what’s your great iPhone idea?  Any interesting experiences to relate using PHP as a backend?

Comments (2)

Tags: ,

Seagull 0.6.5 Released

Posted on 08 August 2008 by Demian Turner

I’m happy to announce 0.6.5 was released last week, the code is available in the usual place:

http://seagullproject.org/download/

According to Trac this release contains 13 enhancements and fixes for  
26 defects, although there was also a lot of internal cleanup and small  
features added.

The wysiwg library has been updated from tinyFCK to FCKeditor  
following the security alert discussed here:

http://groups.google.com/group/seagull_general/browse_thread/thread/534ae6d5ccca995a?hl=en

I’ve had one developer contact me reporting a security compromise to  
one of his servers following the publication of the tinyFCK exploit,  
so please take care and upgrade to 0.6.5 or at least remove tinyfck to  
be on the safe side.  As mentioned before, being vulnerable to the  
exploit depends on a number of conditions existing however you are  
advised to update in all cases.

The main new features and improvements in this release are:

  • Added ability to rebuild single modules
  • New modules: comment2, emailqueue, simplesite, siteexporter
  • New/improved libs: SGL_Emailer2, SGL_AjaxProvider2,
  • Added ability to synchonise prefs for all members
  • Improved preference handling
  • CSS handling more flexible

Or for a detailed list see the changelog:
http://trac.seagullproject.org/browser/tags/0.6.5/CHANGELOG.txt

Work has also started on trunk again which is now 0.9, it will be a  
greatly slimmed down version of 0.6.x with no modules required by  
default, php5 only, and no libs bundled in the distro.

Thanks as always to everyone who sent in comments and helped us fix  
problems with their patches and/or feedback.

Comments (1)

Tags: , , , , ,

Resetting the password in Open X

Posted on 03 July 2008 by Demian Turner

OpenXEvery time I need to reset the admin password in Open X it takes me ages to scan through all the tables, thinking “which bloody table would contain the admin password”, remembering from the last time it’s the one you least expect …

For future reference, it’s the preference table, record 0 and where the agency_id = 0.  Imagine, who ever would have thought of a password as a preference.  I suppose it’s getting better, in phpAdsNew it was in the config table!

This is where logical thinking can cause you to waste hours of time: an application has many users, each user has a password …

Comments (6)

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: , ,

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)

Categories

Books

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

Facebook