ProjectX is heavily involved with Summer of Code and we’ve just release a number of videos on blip tv

The videos are featuring:
John Clegg – Ready, Set Code
Peter Watling – Introduction to iPhone development
Douglas Talbot – Introduction to Agile Programming
Nat Torkington – Somthing I wish people had told me…

Sphere: Related Content

Xlinks is a collection of interesting links as discovered by the ProjectX team.

    Streetview arrives in NZ
    Added on 12/02/2008 at 08:04AM
    How Google’s ear hears
    Added on 12/01/2008 at 07:04PM
    Super happy dev house is on this week
    Added on 12/01/2008 at 06:54PM

    Life magzine photo archive on Google
    Added on 12/01/2008 at 06:47PM

    A more useful 404
    Added on 12/01/2008 at 06:42PM

    The size of Africa
    Added on 12/01/2008 at 06:42PM

    The commoditisation of massive data analysis
    Added on 12/01/2008 at 06:40PM

    Splitting up founders pie
    Added on 12/01/2008 at 06:35PM

    Tech crunchs new search engine powered by Yahoo Boss
    Added on 12/01/2008 at 06:32PM

    Warren Buffet – 10 ways to get rich
    Added on 12/01/2008 at 06:30PM

    NY Times visualisation lab
    Added on 12/01/2008 at 06:28PM

    Mapping the worlds supercomputers
    Added on 12/01/2008 at 06:25PM

    Easing the path from design to development
    Added on 12/01/2008 at 06:24PM

    Amazon’s cloudfront – global load balancing
    Added on 12/01/2008 at 06:23PM

    Silicon Welly HQ
    Added on 11/29/2008 at 04:12PM

    Meer Meer – Cross browser testing through one browser
    Added on 11/26/2008 at 08:36AM

    Billionaire lessons from Malcolm Gladwell
    Added on 11/20/2008 at 09:05AM

    The Food Miles Mistake – Saving the planet by eating New Zealand apples
    Added on 11/20/2008 at 09:00AM

    Web Sequence Diagrams – basic UML: Awesome – Hat tip to David Preece
    Added on 11/18/2008 at 02:52PM

    WPA-TKIP broken almost
    Added on 11/15/2008 at 11:39PM

    iPhone top phone in US 3rd quarter 2008
    Added on 11/12/2008 at 12:25AM

Sphere: Related Content

Here’s  five reasons on why Smaps rocked our world -

  1. Smaps was designed to be simple and intuitive.
  2. Smaps is blazzingly fast. We worked really really hard at making the predictive search fast and it paid off.
  3. Smaps was built to scale. The site has been running off only a few servers and managed to handle peak traffic of over 65K users in one day. (This happened on the day Smaps was mentioned in the Trade Me newsletter.)
  4. Smaps was built on an open source stack – ruby on rails, postgres, apache / lighttpd running on windows and later ubuntu.
  5. Trade Me backed a small team – ProjectX and we prove together could build world class technology from Wellington.
Sphere: Related Content

Xlinks is a collection of links as discovered by the ProjectX Team

    “Mr CSS” Eric Meyer – Javascript will save us all
    Added on 11/04/2008 at 12:22AM
    Why start-up pitches fail
    Added on 11/04/2008 at 12:16AM

    The road to R.o.Me: Insightful analysis on investing in your employees
    Added on 11/03/2008 at 01:12PM

    Rubyist on Twitter
    Added on 10/30/2008 at 06:24PM

    Malcolm Gladwell – Late Bloomers
    Added on 10/28/2008 at 06:15PM

    Paul Graham on a New Attitude for Startup Acquisitions
    Added on 10/28/2008 at 06:14PM

    Paul Graham – Why start a company in a bad economy
    Added on 10/28/2008 at 06:14PM

    Freemium is not a business model
    Added on 10/28/2008 at 06:13PM

    Recession Proof your startup
    Added on 10/28/2008 at 06:12PM

    Everything that you know about CSS is wrong
    Added on 10/28/2008 at 06:11PM

    Wario Shake Wii Ad on Youtube : AWESOME
    Added on 10/22/2008 at 06:56PM

    “When they first come to me I thought, that’s the most ridicolous thing I’ve heard in my life! But I’m in, and I’m with you”
    Temeura Morrison – Made from New Zealand
    Added on 10/21/2008 at 05:31PM

    Made from New Zealand – Awesome
    Added on 10/21/2008 at 05:25PM

    Reality is surviving is always hard for startups
    Added on 10/16/2008 at 04:37PM

    Computer error causes Qantas mishap: Very worrying
    Added on 10/15/2008 at 09:35PM

    “Hands on” with Microsoft’s touchless SDK
    Added on 10/13/2008 at 08:33PM

    Sequoia Slide Presentation of Doom
    Added on 10/13/2008 at 08:32PM

    Mark Shuttleworth: Its a solvency problem not a liquidity problem
    Added on 10/13/2008 at 08:31PM

    Protect yourself from clickjacking
    Added on 10/13/2008 at 08:30PM

    Two things that Design experts do that novices dont
    Added on 10/13/2008 at 08:30PM

Sphere: Related Content

In a recent project for the New Zealand business community, we were required to have some really custom routes. An example of such routes would be geographical routes, e.g. /china, or /china/beijing.

We could try something like this:

map.country ':country', :controller => :locations, :action => :show,
  :country => Regexp.new(Country.all.map(&:name).join('|'))
map.region ':country/:region', :controller => :locations, :action => :show,
  :country => Regexp.new(Country.all.each{|c| "^#{c.name}" }.join('|'))

However we get this error “Regexp anchor characters are not allowed in routing requirements”. So we can’t use requirements. However, we can use route conditions instead. With inspiration from Jamis Buck’s route monkeypatch :

# /lib/routing_extensions.rb
module ThongKuah
module Routing

  module RouteExtensions
    def self.included(base)
      base.alias_method_chain :recognition_conditions, :path_regexp
    end

    # allows recognition for paths only matching the given regexp (conditions[:path])
    # allows recognition for paths not matching the given regexp (conditions[:not_path])
    def recognition_conditions_with_path_regexp
      result = recognition_conditions_without_path_regexp
      result << "conditions[:path] =~ path" if conditions[:path]
      result << "(conditions[:not_path]=~path).nil?" if conditions[:not_path]
      result
    end
  end

end
end

# /config.environment.rb
require 'route_extension'
ActionController::Routing::Route.send :include, ThongKuah::Routing::RouteExtensions

So now we can go :

map.country ':country', :controller => :locations, :action => :show,
  :conditions => {:path => Regexp.new(Country.all.map(&:name).join('|'))}
map.region ':country/:region', :controller => :locations, :action => :show,
  :conditions => {:path => Regexp.new(Country.all.each{|c| "^#{c.name}" }.join('|')) }

Note we can have negative matches as well. I’m sure the Regular expressions gods can do a negative match use Regexp only, but hey.

We found this rails idiom to be quite useful as this allows us full customisation of routing, if we need it. We have used it successfully for Made from New Zealand, so you check it out on pages such as www.madefromnewzealand.com/new-zealand and www.madefromnewzealand.com/new-zealand/auckland.

Pastie of the code here.

Sphere: Related Content



ZoomIn is 3 years today ! October 29th in 2005, ZoomIn was launched to the world. Currently we have 78734 places and 11558 users on ZoomIn ! Thanks to everyone who has contributed to ZoomIn.

ZoomIn has come a long way since that date, here’s a look at some the changes that have happened over the last 3 years.






Sphere: Related Content

The ProjectX team have been busy bees… We’ve been working on the Made from New Zealand project. Its launching soon…

Want to know more ??? Be watching NZ TV any channel at 8:20pm – all will be revealed.

We’re helping take New Zealand to the World!

Sphere: Related Content